/* =========================================================
   Rental (YITH Booking) product page — Proteo-style layout
   ========================================================= */
.trurose-booking-product { position: relative; }

/* Photo grid */
.trurose-bk-gallery {
    position: relative;
    display: grid;
    gap: 10px;
    grid-template-columns: 2fr 1fr 1fr;
    grid-template-rows: 220px 220px;
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 40px;
}
.trurose-bk-gallery__item { display: block; overflow: hidden; background: #f7f6f3; }
.trurose-bk-gallery__item--hidden { display: none; }
.trurose-bk-gallery__item img,
.trurose-bk-gallery > img {
    width: 100%; height: 100%; object-fit: contain; display: block;
    transition: transform .4s ease;
}
.trurose-bk-gallery__item:hover img { transform: scale(1.03); }
.trurose-bk-gallery__item:first-child { grid-row: 1 / span 2; }
.trurose-bk-gallery--count-1 { grid-template-columns: 1fr; grid-template-rows: 480px; }
.trurose-bk-gallery--count-1 .trurose-bk-gallery__item:first-child { grid-row: auto; }
.trurose-bk-gallery--count-2 { grid-template-columns: 1fr 1fr; grid-template-rows: 440px; }
.trurose-bk-gallery--count-2 .trurose-bk-gallery__item:first-child { grid-row: auto; }
.trurose-bk-gallery--count-3 { grid-template-columns: 2fr 1fr; }
.trurose-bk-gallery--count-4 .trurose-bk-gallery__item:nth-child(4) { grid-column: 2 / span 2; }
.trurose-bk-gallery__all {
    position: absolute; right: 16px; bottom: 16px;
    background: #fff; color: #1f1f25; font-size: 14px; font-weight: 600;
    padding: 8px 16px; border-radius: 8px; cursor: pointer;
    box-shadow: 0 4px 14px rgba(0,0,0,.12);
}

/* Two columns: details + booking card */
.trurose-bk-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 50px;
    align-items: start;
    margin-bottom: 50px;
}
.woocommerce div.product .trurose-bk-main.summary {
    width: 100%; float: none; margin: 0; padding: 0;
}
.trurose-bk-main .product_title { margin-bottom: 10px; }
.trurose-bk-main .woocommerce-product-details__short-description { font-size: 18px; line-height: 1.7; }
.trurose-bk-heading { font-size: 24px; margin: 35px 0 15px; }
.trurose-bk-description { font-size: 16px; line-height: 1.8; border-top: 1px solid rgba(0,0,0,.08); padding-top: 5px; }
.trurose-bk-description ul { padding-left: 20px; margin-bottom: 20px; }
.trurose-bk-description li { margin-bottom: 6px; }
.trurose-bk-details { border-top: 1px solid rgba(0,0,0,.08); padding-top: 5px; }

/* Booking card */
.trurose-bk-card { position: sticky; top: 110px; }
.trurose-bk-card__inner {
    background: #fff;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 14px;
    padding: 28px;
    box-shadow: 0 10px 35px rgba(0,0,0,.08);
}
.trurose-bk-card__price .price { font-size: 26px !important; font-weight: 600; margin: 0 0 18px; color: #1f1f25; }
.trurose-bk-card form.cart { margin: 0 !important; }
.trurose-bk-card .yith-wcbk-booking-form { width: 100%; }
.trurose-bk-card .single_add_to_cart_button { width: 100%; margin-top: 12px; }

/* Tablet / phone */
@media (max-width: 991px) {
    .trurose-bk-layout { grid-template-columns: 1fr; gap: 30px; }
    .trurose-bk-card { position: static; }
    .trurose-bk-gallery { grid-template-columns: 1fr 1fr; grid-template-rows: 260px 140px; }
    .trurose-bk-gallery__item:first-child { grid-column: 1 / span 2; grid-row: auto; }
    .trurose-bk-gallery__item:nth-child(n+4) { display: none; }
    .trurose-bk-gallery--count-1, .trurose-bk-gallery--count-2 { grid-template-rows: 300px; }
}
@media (max-width: 575px) {
    .trurose-bk-gallery { grid-template-rows: 220px 110px; border-radius: 10px; }
    .trurose-bk-card__inner { padding: 20px; }
}


/* Keep the natural order in the details column: the site's custom CSS
   reorders product summaries (flex "order"), which pushed the title down. */
.woocommerce div.product .trurose-bk-main.summary,
.trurose-bk-main.summary {
    display: block !important;
    flex-direction: initial !important;
}
.trurose-bk-main.summary > * { order: 0 !important; float: none !important; }
.trurose-bk-main .product_title { margin-top: 0; }
.trurose-bk-card .yith-wcbk-booking-form,
.trurose-bk-card form.cart { display: block !important; }
.trurose-bk-card form.cart > * { order: 0 !important; }

@media (max-width: 991px) {
    .trurose-bk-gallery--count-2 { grid-template-columns: 1fr 1fr; grid-template-rows: 260px; }
    .trurose-bk-gallery--count-2 .trurose-bk-gallery__item:first-child { grid-column: auto; }
}
