/* ==========================================================================
   LE BLEND PREMIUM — v4.0.0
   Editorial luxury design system shared with the homepage sections:
   Cormorant Garamond (display) + Jost (UI), warm ivory/white surfaces,
   brass-gold accent, corner-frame hover detail on imagery.
   ========================================================================== */

:root {
    --lb-white:        #FFFFFF;
    --lb-cream:        #FDFBF7;
    --lb-ink:          #1B1D18;
    --lb-ink-soft:     #4A4C44;
    --lb-stone:        #7C7C71;
    --lb-gold:         #BB9257;
    --lb-gold-deep:    #9C7A44;
    --lb-gold-pale:    #F7F1E6;
    --lb-hairline:     #E7E3D8;

    --lb-font-display: 'Cormorant Garamond', Georgia, serif;
    --lb-font-ui:      'Jost', -apple-system, sans-serif;
}

/* ── Container ── */
body .leblend-container {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
}

/* ── Room Grid ── */
body .leblend-room-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)) !important;
    gap: 32px !important;
    padding: 20px 0 !important;
}

/* ── Room Card ── */
body .lb-room-card {
    background: var(--lb-white) !important;
    border-radius: 10px !important;
    box-shadow: 0 10px 30px rgba(27,29,24,0.06) !important;
    transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1) !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    border: 1px solid var(--lb-hairline) !important;
    height: 100% !important;
    font-family: var(--lb-font-ui) !important;
}

body .lb-room-card:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 26px 50px -18px rgba(27,29,24,0.18) !important;
}

body .lb-card-img-link {
    display: block !important;
    text-decoration: none !important;
}

body .lb-card-img {
    position: relative !important;
    padding: 0 !important;
    background: none !important;
    overflow: hidden !important;
    aspect-ratio: 4 / 3 !important;
}

body .lb-card-img img {
    width: 100% !important;
    height: 100% !important;
    border-radius: 0 !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

body .lb-room-card:hover .lb-card-img img {
    transform: scale(1.07) !important;
}

/* Gold badge, top-left of the image */
body .lb-card-badge {
    position: absolute !important;
    top: 16px !important;
    left: 16px !important;
    z-index: 2 !important;
    background: var(--lb-gold) !important;
    color: var(--lb-ink) !important;
    font-family: var(--lb-font-ui) !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    padding: 7px 14px !important;
    border-radius: 999px !important;
    line-height: 1 !important;
}

/* Corner-frame accent — appears on card hover, echoes a key-card edge */
body .lb-card-corner {
    position: absolute !important;
    width: 22px !important;
    height: 22px !important;
    border: 1px solid var(--lb-white) !important;
    opacity: 0 !important;
    transition: opacity 0.6s ease, transform 0.6s ease !important;
    pointer-events: none !important;
    z-index: 2 !important;
}
body .lb-card-corner--tl {
    top: 12px !important; left: 12px !important;
    border-right: none !important; border-bottom: none !important;
    transform: translate(5px, 5px) !important;
}
body .lb-card-corner--br {
    bottom: 12px !important; right: 12px !important;
    border-left: none !important; border-top: none !important;
    transform: translate(-5px, -5px) !important;
}
body .lb-room-card:hover .lb-card-corner { opacity: 0.85 !important; transform: translate(0, 0) !important; }

body .lb-card-body {
    padding: 22px 22px 24px !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    background: none !important;
}

body .lb-card-body h3 {
    font-family: var(--lb-font-display) !important;
    font-size: 23px !important;
    font-style: normal !important;
    margin: 0 0 12px 0 !important;
    color: var(--lb-ink) !important;
    font-weight: 500 !important;
    text-transform: none !important;
    line-height: 1.28 !important;
}

body .lb-card-body h3 a {
    color: inherit !important;
    text-decoration: none !important;
}

body .lb-card-body h3 a:hover {
    color: var(--lb-gold-deep) !important;
}

/* Meta details — horizontal editorial row with dot dividers */
body .lb-card-meta {
    list-style: none !important;
    margin: 0 0 14px 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    row-gap: 6px !important;
}

body .lb-card-meta li {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 12.5px !important;
    color: var(--lb-stone) !important;
    line-height: 1.3 !important;
}

body .lb-card-meta li:not(:last-child)::after {
    content: '' !important;
    display: inline-block !important;
    width: 3px !important;
    height: 3px !important;
    border-radius: 50% !important;
    background: var(--lb-hairline) !important;
    margin: 0 10px !important;
}

body .lb-card-meta li i {
    color: var(--lb-gold-deep) !important;
    font-size: 13px !important;
    flex-shrink: 0 !important;
}

body .lb-card-meta li span {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

/* Amenity tags */
body .lb-card-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin-bottom: 18px !important;
}

body .lb-card-tags .lb-tag {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    color: var(--lb-gold-deep) !important;
    background: var(--lb-gold-pale) !important;
    border: 1px solid var(--lb-hairline) !important;
    padding: 5px 12px !important;
    border-radius: 999px !important;
}

body .lb-card-tags .lb-tag i {
    font-size: 11px !important;
    color: var(--lb-gold-deep) !important;
}

/* Dual action buttons */
body .lb-card-actions {
    margin-top: auto !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
}

body .lb-btn-full {
    display: block !important;
    width: 100% !important;
    background: var(--lb-gold) !important;
    color: var(--lb-ink) !important;
    text-align: center !important;
    padding: 12px 8px !important;
    border-radius: 999px !important;
    font-weight: 600 !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    text-decoration: none !important;
    border: 1px solid var(--lb-gold) !important;
    transition: background 0.35s ease, color 0.35s ease, transform 0.35s ease !important;
    box-sizing: border-box !important;
    font-family: var(--lb-font-ui) !important;
}

body .lb-btn-full:hover {
    background: var(--lb-gold-deep) !important;
    border-color: var(--lb-gold-deep) !important;
    color: var(--lb-white) !important;
}

body .lb-btn-outline {
    display: block !important;
    width: 100% !important;
    background: transparent !important;
    color: var(--lb-ink) !important;
    text-align: center !important;
    padding: 12px 8px !important;
    border-radius: 999px !important;
    font-weight: 600 !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    text-decoration: none !important;
    border: 1px solid var(--lb-gold) !important;
    transition: all 0.35s ease !important;
    box-sizing: border-box !important;
    font-family: var(--lb-font-ui) !important;
}

body .lb-btn-outline:hover {
    background: var(--lb-gold) !important;
    color: var(--lb-ink) !important;
}

/* Carousel */
body .lb-carousel-item {
    padding: 8px 6px 16px !important;
    height: 100% !important;
}

body .lb-premium-carousel .lb-room-card {
    margin: 0 !important;
}

/* ══════════════════════════════════════
   SINGLE ROOM PAGE
   ══════════════════════════════════════ */

body .lb-single-room {
    background: var(--lb-cream) !important;
    padding-bottom: 60px !important;
    font-family: var(--lb-font-ui) !important;
}

/* Hero */
body .lb-single-hero {
    width: 100% !important;
    max-height: 520px !important;
    overflow: hidden !important;
    background: var(--lb-ink) !important;
}

body .lb-single-hero img,
body .lb-single-hero .owl-carousel .item img {
    width: 100% !important;
    height: 480px !important;
    object-fit: cover !important;
    display: block !important;
}

body .lb-single-hero .owl-nav button {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: rgba(255,255,255,0.9) !important;
    border-radius: 50% !important;
    width: 44px !important;
    height: 44px !important;
    color: var(--lb-ink) !important;
    font-size: 20px !important;
    z-index: 5 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body .lb-single-hero .owl-prev { left: 20px !important; }
body .lb-single-hero .owl-next { right: 20px !important; }

/* Two-column main layout */
body .lb-single-main-card {
    display: grid !important;
    grid-template-columns: 1fr 340px !important;
    gap: 40px !important;
    align-items: start !important;
    padding: 48px 0 20px !important;
}

body .lb-main-info {
    background: var(--lb-white) !important;
    border-radius: 12px !important;
    padding: 40px 40px 36px !important;
    box-shadow: 0 8px 30px rgba(27,29,24,0.04) !important;
    border: 1px solid var(--lb-hairline) !important;
}

body .lb-room-title {
    font-family: var(--lb-font-display) !important;
    font-size: 38px !important;
    color: var(--lb-ink) !important;
    margin: 0 0 16px 0 !important;
    font-weight: 500 !important;
    line-height: 1.22 !important;
}

body .lb-room-desc {
    font-size: 16px !important;
    line-height: 1.8 !important;
    color: var(--lb-ink-soft) !important;
}

body .lb-room-desc p {
    margin-bottom: 1em !important;
}

/* Facilities */
body .lb-facilities-wrap {
    margin-top: 36px !important;
    padding-top: 28px !important;
    border-top: 1px solid var(--lb-hairline) !important;
}

body .lb-facilities-wrap h3 {
    font-family: var(--lb-font-display) !important;
    font-size: 23px !important;
    font-weight: 500 !important;
    margin: 0 0 18px 0 !important;
    color: var(--lb-ink) !important;
}

body .lb-facilities-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}

body .lb-facility-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 13.5px !important;
    color: var(--lb-ink-soft) !important;
    background: var(--lb-gold-pale) !important;
    border: 1px solid var(--lb-hairline) !important;
    padding: 8px 14px !important;
    border-radius: 999px !important;
    line-height: 1.3 !important;
}

body .lb-facility-item i {
    color: var(--lb-gold-deep) !important;
    font-size: 15px !important;
    margin: 0 !important;
}

/* Sidebar */
body .lb-sidebar {
    position: sticky !important;
    top: 100px !important;
}

body .lb-sidebar-card {
    background: var(--lb-white) !important;
    padding: 32px 28px !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 30px rgba(27,29,24,0.06) !important;
    border: 1px solid var(--lb-hairline) !important;
}

body .lb-sidebar-card h4 {
    font-family: var(--lb-font-display) !important;
    font-weight: 500 !important;
    margin: 0 0 20px 0 !important;
    font-size: 21px !important;
    color: var(--lb-ink) !important;
}

body .lb-specs-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 28px 0 !important;
    background: transparent !important;
}

body .lb-specs-list li {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    padding: 11px 0 !important;
    border-bottom: 1px solid var(--lb-hairline) !important;
    font-size: 14px !important;
    gap: 12px !important;
}

body .lb-specs-list li:last-child {
    border-bottom: none !important;
}

body .lb-specs-list li span {
    color: var(--lb-stone) !important;
    flex-shrink: 0 !important;
}

body .lb-specs-list li strong {
    color: var(--lb-ink) !important;
    font-weight: 600 !important;
    text-align: right !important;
}

body .lb-sidebar-card .lb-btn-full {
    padding: 16px 10px !important;
    font-size: 12.5px !important;
}

body .lb-sidebar-note {
    text-align: center !important;
    font-size: 12px !important;
    color: var(--lb-stone) !important;
    margin: 14px 0 0 0 !important;
}

/* Booking engine section */
body .lb-booking-engine-section {
    background: var(--lb-white) !important;
    padding: 60px 0 40px !important;
    margin-top: 40px !important;
    border-top: 1px solid var(--lb-hairline) !important;
}

body .lb-booking-engine-section h2 {
    font-family: var(--lb-font-display) !important;
    font-weight: 500 !important;
    font-size: 30px !important;
    margin: 0 0 8px 0 !important;
    color: var(--lb-ink) !important;
}

body .lb-booking-engine-section iframe {
    border-radius: 12px !important;
    border: 1px solid var(--lb-hairline) !important;
    box-shadow: 0 4px 20px rgba(27,29,24,0.04) !important;
}

/* ── Responsive ── */
@media (max-width: 900px) {
    body .lb-single-main-card {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
        padding: 32px 0 10px !important;
    }

    body .lb-sidebar {
        position: static !important;
    }

    body .lb-main-info {
        padding: 28px 24px !important;
    }

    body .lb-room-title {
        font-size: 29px !important;
    }

    body .lb-single-hero img,
    body .lb-single-hero .owl-carousel .item img {
        height: 280px !important;
    }
}

@media (max-width: 768px) {
    body .leblend-room-grid {
        grid-template-columns: 1fr !important;
    }

    body .lb-card-actions {
        grid-template-columns: 1fr 1fr !important;
    }
}

/* ── Owl Carousel nav arrows ── */
body .lb-premium-carousel,
body .lb-hero-slider {
    position: relative !important;
}

body .lb-premium-carousel .owl-nav,
body .lb-hero-slider .owl-nav {
    position: absolute !important;
    top: 40% !important;
    width: 100% !important;
    margin: 0 !important;
    pointer-events: none !important;
    display: block !important;
}

body .lb-premium-carousel .owl-nav button.owl-prev,
body .lb-premium-carousel .owl-nav button.owl-next,
body .lb-hero-slider .owl-nav button.owl-prev,
body .lb-hero-slider .owl-nav button.owl-next {
    pointer-events: auto !important;
    position: absolute !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    background: var(--lb-white) !important;
    color: var(--lb-ink) !important;
    box-shadow: 0 4px 14px rgba(27,29,24,0.14) !important;
    border: 1px solid var(--lb-hairline) !important;
    font-size: 18px !important;
    line-height: 42px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 1 !important;
    transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease !important;
}

body .lb-premium-carousel .owl-nav button.owl-prev,
body .lb-hero-slider .owl-nav button.owl-prev {
    left: 6px !important;
}

body .lb-premium-carousel .owl-nav button.owl-next,
body .lb-hero-slider .owl-nav button.owl-next {
    right: 6px !important;
}

body .lb-premium-carousel .owl-nav button:hover,
body .lb-hero-slider .owl-nav button:hover {
    background: var(--lb-gold) !important;
    border-color: var(--lb-gold) !important;
    color: var(--lb-ink) !important;
}

body .lb-premium-carousel .owl-dots,
body .lb-hero-slider .owl-dots {
    text-align: center !important;
    margin-top: 14px !important;
}

body .lb-premium-carousel .owl-dots button.owl-dot span,
body .lb-hero-slider .owl-dots button.owl-dot span {
    width: 7px !important;
    height: 7px !important;
    background: var(--lb-hairline) !important;
    border-radius: 50% !important;
    display: block !important;
    margin: 4px !important;
    transition: background 0.3s ease, width 0.3s ease !important;
}

body .lb-premium-carousel .owl-dots button.owl-dot.active span,
body .lb-hero-slider .owl-dots button.owl-dot.active span {
    background: var(--lb-gold-deep) !important;
    width: 20px !important;
    border-radius: 4px !important;
}

/* ══════════════════════════════════════
   GUEST REVIEWS — glass/ivory editorial cards
   ══════════════════════════════════════ */

body .leblend-review-section {
    padding: 20px 0 !important;
    font-family: var(--lb-font-ui) !important;
}

body .leblend-review-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
    gap: 28px !important;
}

body .lb-review-card {
    position: relative !important;
    background: var(--lb-cream) !important;
    border: 1px solid var(--lb-hairline) !important;
    border-radius: 12px !important;
    padding: 40px 32px 30px !important;
    display: flex !important;
    flex-direction: column !important;
    transition: box-shadow 0.5s ease, border-color 0.5s ease, transform 0.5s ease !important;
}

body .lb-review-card:hover {
    transform: translateY(-4px) !important;
    border-color: var(--lb-gold) !important;
    box-shadow: 0 26px 50px -22px rgba(27,29,24,0.16) !important;
}

body .lb-review-card__quote {
    display: block !important;
    font-family: var(--lb-font-display) !important;
    font-size: 64px !important;
    line-height: 1 !important;
    color: var(--lb-gold) !important;
    opacity: 0.6 !important;
    margin-bottom: 2px !important;
}

body .lb-review-card__category {
    font-family: var(--lb-font-ui) !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: var(--lb-gold-deep) !important;
    margin: 0 0 14px !important;
}

body .lb-review-card__text {
    font-family: var(--lb-font-display) !important;
    font-style: italic !important;
    font-size: 20px !important;
    line-height: 1.55 !important;
    color: var(--lb-ink) !important;
    margin-bottom: 20px !important;
}

body .lb-review-card__text p {
    margin: 0 0 0.6em !important;
}

body .lb-review-card__stars {
    color: var(--lb-gold) !important;
    font-size: 12px !important;
    letter-spacing: 3px !important;
    margin-bottom: 20px !important;
}

body .lb-review-card__footer {
    margin-top: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    padding-top: 18px !important;
    border-top: 1px solid var(--lb-hairline) !important;
}

body .lb-review-card__author {
    display: flex !important;
    flex-direction: column !important;
    font-size: 13.5px !important;
}

body .lb-review-card__author strong {
    color: var(--lb-ink) !important;
    font-weight: 600 !important;
}

body .lb-review-card__author span {
    color: var(--lb-stone) !important;
    font-size: 12px !important;
}

body .lb-review-card__badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    color: var(--lb-gold-deep) !important;
    background: var(--lb-gold-pale) !important;
    border: 1px solid var(--lb-hairline) !important;
    padding: 6px 12px !important;
    border-radius: 999px !important;
}

body .lb-review-card__badge i { font-size: 11px !important; }

/* ══════════════════════════════════════
   GALLERY WIDGET — filter + lightbox
   ══════════════════════════════════════ */

body .lb-gallery {
    font-family: var(--lb-font-ui) !important;
    padding: 20px 0 !important;
}

/* Filter pills */
body .lb-gallery-filters {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 10px !important;
    margin-bottom: 32px !important;
}

body .lb-gallery-filter {
    font-family: var(--lb-font-ui) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: var(--lb-ink-soft) !important;
    background: transparent !important;
    border: 1px solid var(--lb-hairline) !important;
    padding: 10px 20px !important;
    border-radius: 999px !important;
    cursor: pointer !important;
    transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease !important;
}

body .lb-gallery-filter:hover {
    border-color: var(--lb-gold) !important;
    color: var(--lb-gold-deep) !important;
}

body .lb-gallery-filter.is-active {
    background: var(--lb-gold) !important;
    border-color: var(--lb-gold) !important;
    color: var(--lb-ink) !important;
}

/* Grid */
body .lb-gallery-grid {
    display: grid !important;
    gap: 20px !important;
}

body .lb-gallery-grid--cols-3 { grid-template-columns: repeat(3, 1fr) !important; }
body .lb-gallery-grid--cols-4 { grid-template-columns: repeat(4, 1fr) !important; }

body .lb-gallery-item {
    margin: 0 !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    aspect-ratio: 1 / 1 !important;
    transition: opacity 0.4s ease, transform 0.4s ease !important;
}

body .lb-gallery-item.is-hidden {
    display: none !important;
}

body .lb-gallery-item__btn {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: none !important;
    cursor: pointer !important;
    overflow: hidden !important;
}

body .lb-gallery-item__btn img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

body .lb-gallery-item__btn:hover img {
    transform: scale(1.08) !important;
}

body .lb-gallery-item__overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(180deg, rgba(27,29,24,0) 45%, rgba(27,29,24,0.55) 100%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0 !important;
    transition: opacity 0.4s ease !important;
    color: var(--lb-white) !important;
    font-size: 20px !important;
}

body .lb-gallery-item__btn:hover .lb-gallery-item__overlay {
    opacity: 1 !important;
}

body .lb-gallery-item__caption {
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 12px !important;
    text-align: left !important;
    font-size: 12.5px !important;
    color: var(--lb-white) !important;
    font-weight: 500 !important;
    opacity: 0 !important;
    transform: translateY(6px) !important;
    transition: opacity 0.4s ease, transform 0.4s ease !important;
}

body .lb-gallery-item__btn:hover .lb-gallery-item__caption {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* Lightbox */
body .lb-lightbox {
    position: fixed !important;
    inset: 0 !important;
    background: rgba(20,21,17,0.94) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.35s ease !important;
    z-index: 9999 !important;
    padding: 24px !important;
}

body .lb-lightbox.is-open {
    opacity: 1 !important;
    visibility: visible !important;
}

body .lb-lightbox__figure {
    max-width: 1100px !important;
    max-height: 88vh !important;
    margin: 0 !important;
    text-align: center !important;
}

body .lb-lightbox__img {
    max-width: 100% !important;
    max-height: 80vh !important;
    border-radius: 8px !important;
    display: block !important;
    margin: 0 auto !important;
    box-shadow: 0 30px 70px rgba(0,0,0,0.5) !important;
}

body .lb-lightbox__caption {
    color: var(--lb-cream) !important;
    font-family: var(--lb-font-display) !important;
    font-style: italic !important;
    font-size: 16px !important;
    margin-top: 16px !important;
}

body .lb-lightbox__close,
body .lb-lightbox__nav {
    position: absolute !important;
    background: rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(255,255,255,0.2) !important;
    color: var(--lb-white) !important;
    border-radius: 50% !important;
    width: 46px !important;
    height: 46px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
    cursor: pointer !important;
    transition: background 0.3s ease, border-color 0.3s ease !important;
}

body .lb-lightbox__close:hover,
body .lb-lightbox__nav:hover {
    background: var(--lb-gold) !important;
    border-color: var(--lb-gold) !important;
    color: var(--lb-ink) !important;
}

body .lb-lightbox__close { top: 24px !important; right: 24px !important; }
body .lb-lightbox__nav--prev { left: 24px !important; top: 50% !important; transform: translateY(-50%) !important; }
body .lb-lightbox__nav--next { right: 24px !important; top: 50% !important; transform: translateY(-50%) !important; }

/* ── Responsive: gallery + reviews ── */
@media (max-width: 900px) {
    body .lb-gallery-grid--cols-3,
    body .lb-gallery-grid--cols-4 {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    body .lb-lightbox__nav { width: 40px !important; height: 40px !important; font-size: 16px !important; }
    body .lb-lightbox__nav--prev { left: 10px !important; }
    body .lb-lightbox__nav--next { right: 10px !important; }
}

@media (max-width: 560px) {
    body .lb-gallery-grid--cols-3,
    body .lb-gallery-grid--cols-4 {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
    }
    body .leblend-review-grid {
        grid-template-columns: 1fr !important;
    }
}
