.fij {
    display: flex;
    justify-content: center;
    align-items: center;
}

.header-logo, .header-cart {
    width: 20%;
}

.header-cart {
    flex-grow: unset;
}

.search-header-bar {
    height: 100px;
}

.search-header-bar > * {
    height: 100%;
}

.search-input > div {
    width: 100%;
}

.search-input-icon {
    position: absolute;
    font-size: 22px;
    top: 8px;
    left: 4px;
}


.rtl .search-input-icon {
    left: unset;
    right: 4px;
    top: 9px;
}

.search-input-input {
    padding-left: 30px;
    min-height: 40px;
    max-height: 40px;
}

.rtl .search-input-input {
    padding-left: inherit;
    padding-right: 30px;
}


.icon-shopping_cart_black_36dp-1-1, .sm-search-icon > span {
    font-size: 32px;
}

.icon-shopping_cart_black_36dp-1-1 .path1:before {
    color: unset;
}

.icon-shopping_cart_black_36dp-1-1 .path2:before {
    color: unset;
}

.icon-language_black_24dp .path1:before {
    color: unset;
}

.cart-badge {
    position: absolute;
    right: 20px;
    top: -8px;
    width: 18px;
    height: 18px;
    line-height: 18px;
    font-size: 10px;
    color: #fff;
    text-align: center;
    border-radius: 50%;
    background-color: #AB0000;
}

.rtl .cart-badge {
    right: unset;
    left: 20px;
}

.top-main-menu-wrapper {
    margin-right: -22px;
    margin-left: -22px;
}

.ic.menu{
    text-align: left;
    position: relative;
    right: 4px;
}

.rtl .ic.menu{
    text-align: right;
    right: unset;
    left: 4px;
}

.ic.menu, .sm-search-icon {
    margin-right: 20px;
}

.icon-menu-top {
    margin-right: 10px !important;
}

.rtl .ic.menu, .sm-search-icon {
    margin-right: unset;
    margin-left: 20px;
}

.rtl .icon-menu-top {
    margin-right: unset !important;
    margin-left: 10px !important;
}

.icon-menu-top > span {
    font-size: 32px;
}

.icon-menu_open_black_24dp-1:before {
    color: unset;
}


.sm-search-div {
    display: none;
    visibility: hidden;
    position: absolute;
    left: 0;
    padding: 0px 15px 20px 15px;
    width: 100%;
    background-color: var(--header-primary-color, var(--primary-color));
    transform: translateY(-100%);
    transition: all .3s ease;
    z-index: 1;
}

.sm-search-div.show {
    visibility: visible;
    transform: translateY(0%);
    -webkit-transform:translate3d(0,0,0);
}

.slick-dotted.slick-slider {
    margin-bottom: 0px;
}

.main-slider .slick-dots {
    bottom: 12px;
}

.main-slider .slick-dots li button:before {
    font-size: 14px;
}

.features-section-img {
    max-height: 90px;
    max-width: 90px;
}

.slick-next.slick-arrow > span, .slick-prev.slick-arrow > span {
    color: var( --primary-color);
    font-size: 3.3rem;
}

.category-item a, .category-item img, .card-item a, .card-item img {
    display: block;
    text-align: center;
    width: 100%;
}

.category-item img, .card-item img {
    margin: 0 auto;
    max-width: 100%;
    height: auto;
}

.category-item h3, .card-item h3 {
    margin-top: 15px;
    font-size: 1.6rem;
    font-weight: 400;
    text-align: center;
    color: var( --primary-color);
    white-space: break-spaces;
}

.category-page-slider .category-item h3 {
    font-size: 1.2rem;
}

.categories-slider .category-item,
.cards-slider .card-item {
    width: 100%;
    max-width: 200px;
}

.slider-container {
    padding-left: 15px;
    padding-right: 15px;
}
.main-slider .slider-item {

}

.section-title {
    padding-left: 0px;
    padding-right: 0px;
}

.products-slider .prod-col, .categories-slider .cat-col, .cards-slider .card-col {
    padding-left: 15px;
    padding-right: 15px;
    display: block;
    width: auto;
}

.category-page-slider .categories-slider.s-slider {
    margin-right: -15px;
    margin-left: -15px;
}

.category-page-slider .home-categories-section .section-title {
    margin-right: -15px;
    margin-left: -15px;
}

.category-page-slider .products-slider .prod-col, .categories-slider .cat-col, .cards-slider .card-col {
    padding-left: 15px;
    padding-right: 15px;
}

.categories-slider-wrapper, .products-slider-wrapper, .cards-slider-wrapper, .testimonials-slider-wrapper, .partners-slider-wrapper  {
    margin-right: -15px;
    margin-left: -15px;
}

.products-list .prod-col, .bundle-offer-products .prod-col{
    width: 20%;
    padding: 15px;
}

.products-list .prod-col-attr{
    width: 25%;
}

.sort-block-width {
    margin-left: 30px;
}

.rtl .sort-block-width {
    margin-left: 0px;
    margin-right: 30px;
}

.select-dropdown .dropdown-item {
    padding-bottom: 7.5px;
    padding-top: 7.5px;
}

#products-list-filter-form-close {
    width: 44px;
    height: 44px;
    position: absolute;
    right: 0;
    top:0;
}

.rtl #products-list-filter-form-close {
    right: unset;
    left: 0;
}

.products-pagination {
    margin-bottom: 24px;
    padding: 0 15px;
}

.products-pagination ul  {
    padding: 0px;
}

.products-pagination .page-link {
    color: var( --primary-color);
    font-size: 1.2rem;
}

.products-pagination .page-link.active {
    color: #ffffff;
    background-color: var( --primary-color);
}

.rtl .products-pagination .page-item:first-child .page-link {
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
}


.rtl .products-pagination .page-item:last-child .page-link {
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
}

.products-container .products-list {
    margin-bottom: 24px;
}

.cart-header-total {
    margin-right: 10px;
    font-size: 1.6rem;
    color: var(--header-text-color-primary-bg, var(--text-color-primary-bg));
}

.rtl .cart-header-total {
    margin-right: unset;
    margin-left: 10px;
}

.form-control {
    border-radius: 3px;
}


.box-1-1 {
    position: relative;
    width:    100%;
}

.box-1-1:before {
    content:     "";
    display:     block;
    padding-top: 100%; /* initial ratio of 1:1*/
}

.box-1-1 .content {
    position: absolute;
    top:      0;
    left:     0;
    bottom:   0;
    right:    0;
}

/* Other ratios - just apply the desired class to the "box" element */
.box-1-1.ratio2_1:before{
    padding-top: 50%;
}
.box-1-1.ratio1_2:before{
    padding-top: 200%;
}
.box-1-1.ratio4_3:before{
    padding-top: 75%;
}
.box-1-1.ratio16_9:before{
    padding-top: 56.25%;
}

.box-1-1.ratio21_9:before{
    padding-top: 42.85%;
}

.product-item-out-of-stock {
    filter: grayscale(1);
}


.sm-search-div .autocomplete-items, .lg-search-div .autocomplete-items{
    position: absolute;
    border: 1px solid #d4d4d4;
    border-bottom: none;
    border-top: none;
    z-index: 99;
    /*position the autocomplete items to be the same width as the container:*/
    top: 100%;
    left: 0;
    right: 0;
}

.sm-search-div .autocomplete-items div, .lg-search-div .autocomplete-items div {
    background-color: #fff;
    border-bottom: 1px solid #d4d4d4;
}

/*when hovering an item:*/
.sm-search-div .autocomplete-items div:hover, .lg-search-div .autocomplete-items div:hover {
    background-color: #e9e9e9;
}

.sm-search-div .autocomplete-items div a, .lg-search-div .autocomplete-items div a {
    padding: 10px;
    cursor: pointer;
    color: inherit;
    display: block;
}

.gallery-section + .gallery-section {
    padding-top: 0px;
}

.ic-menu-back {
    font-size: 22px;
    margin-right: 16px;
    font-weight: bold;
}

.rtl .ic-menu-back {
    margin-right: unset;
    margin-left: 16px;
}

@media (max-width: 768px) {
    .header-cart {
        flex-grow: 1;
        width: 30%;
    }

    .header-logo {
        width: 70%;
    }

    .search-header-bar {
        height: 64px;
    }

    .category-page-slider .categories-slider {
        height: 225px;
    }

    .categories-slider .category-item, .cards-slider .card-item {
        width: 190px;
    }

    .category-page-slider .categories-slider .category-item {
        width: 165px;
    }

    .category-page-slider .categories-slider.s-slider {
        margin-right: -7.5px;
        margin-left: -7.5px;
    }

    .category-page-slider .products-slider .prod-col, .categories-slider .cat-col, .cards-slider .card-col {
        padding-left: 7.5px;
        padding-right: 7.5px;
    }

    .products-slider .prod-col, .categories-slider .cat-col, .cards-slider .card-col, .testimonials-slider .testimonials-customer-card , .partners-slider .partners-item {
        display: inline-block;
        vertical-align: top;
    }

    .partners-slider .partners-item {
        vertical-align: middle;
    }

    .categories-slider, .products-slider, .cards-slider, .testimonials-slider , .partners-slider {
        overflow-y: hidden;
        overflow-x: scroll;
        white-space: nowrap;
    }
    .product-crd-spec small {
        white-space: break-spaces;
    }

    .testimonials-slider::-webkit-scrollbar { width: 0 !important }


    .categories-slider-wrapper, .products-slider-wrapper, .cards-slider-wrapper, .testimonials-slider-wrapper, .partners-slider-wrapper  {
        overflow-x: hidden;
        margin-right: 0px;
        margin-left: 0px;
    }

    .slider-container {
        padding-left: 0px;
        padding-right: 0px;
    }

    .main-slider, .main-slider .slider-item {

    }

    .main-slider .slick-dots li button:before {
        font-size: 10px;
    }


    .main-slider .slick-dots {
        bottom: 4px;
    }

    .section-title {
        padding-right: 15px;
        padding-left: 15px;
    }

    .products-list .prod-col, .bundle-offer-products .prod-col {
        margin: 0 auto;
        width: auto;
    }

    .products-list .prod-col, .products-list .prod-col-attr{
        width: 50%;
    }

    .products-list .prod-col .product-item {
        width: 100%;
    }

    .sm-search-div {
        display: block;
    }

    .icon-shopping_cart_black_36dp-1-1, .sm-search-icon > span {
        font-size: 28px;
    }

    .icon-menu-top {
        width: 32px;
    }

}


.btn:focus,.btn:active, .page-link:focus, .page-link:active {
    outline: none !important;
    box-shadow: none;
}

.gift-popover-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-evenly;
    width: 115px;
    height: 140px;
    max-width: 100%;
}
.popover {
    top: 40px;
}
.popover .arrow {
    top: -0.5rem;
    left: 5px;
}
.popover .arrow::before {
    top: 0;
    border-width: 0 0.5rem 0.5rem;
    border-bottom-color: #fff;
}
.popover .arrow ::after {
    top: 1px;
    border-width: 0 0.5rem 0.5rem;
    border-bottom-color: #fff;
}

.btn-product-card-out-of-stock {
  width: max-content;
}

.add-to-wishlist {
  position: absolute;
  right: 0;
  z-index: 1;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}

.rtl .add-to-wishlist {
  right: unset;
  left: 0;
}

.icon-heart-mask {
    display: inline-block;
    width: 25px;
    height: 20px;
    mask-size: 100%;
    mask-position: center;
    mask-repeat: no-repeat;
    mask-image: url('./wishlist.svg');
    background-color: var(--secondary, #A1A0A9);
}

.icon-heart-mask.filled {
    mask-image: var(--heart-filled-icon);
    background-color: #a42325;
}

form#product-form .form-group, form#product-form .form-group * {
    font-family: 'LamaSans', sans-serif !important;
    max-width: 100%;
}

/* ================================================================
   BADR HARQAN — DARK LUXURY FOUNDATION  (v2 / approved design)
   Editorial gallery-noir identity. Latin = Jost, Arabic = LamaSans.
   Stage 1 of the Zid port: global identity + header + footer + cards.
   Remove this whole block to revert.
   ================================================================ */
:root {
    --bh-black:#070506; --bh-black-2:#0d0b0a; --bh-cream:#F5EFE3;
    --bh-gold:#B59E73; --bh-gold-deep:#9a7e45;
    --bh-ivory:#F1EADC; --bh-ivory-2:#E7DCC8; --bh-ink:#2B2420; --bh-muted-ink:#6E6354;
    --bh-muted:rgba(245,239,227,0.6); --bh-line:rgba(181,158,115,0.2); --bh-line-l:rgba(43,36,32,0.14);
    --bh-font:'Jost','LamaSans','Segoe UI',sans-serif; --bh-ease:cubic-bezier(0.22,1,0.36,1);
}

/* --- Type: Jost for Latin, LamaSans falls in for Arabic. Icons untouched. --- */
body, h1,h2,h3,h4,h5,h6, p, a, button, input, textarea, select, .btn, label, li, td, th, blockquote {
    font-family: var(--bh-font) !important;
}
[class^="icon-"], [class*=" icon-"], .icomoon, i[class*="icon"] { font-family:'icomoon' !important; }

/* --- Base canvas --- */
html, body, .home { background: var(--bh-black) !important; color: var(--bh-cream) !important; }
body { font-weight: 300; letter-spacing: .01em; }
h1,h2,h3,h4,h5,.section-title { color: var(--bh-cream) !important; font-weight: 300; letter-spacing: .005em; line-height: 1.14; }

/* --- Header / navigation --- */
header, .header-sticky, .cart-search-logo, .top-main-menu-wrapper { background: var(--bh-black) !important; }
header a, nav a { color: var(--bh-cream) !important; letter-spacing: .12em; }
header a:hover, nav a:hover { color: var(--bh-gold) !important; }

/* --- Buttons: gold, square-ish, tracked --- */
.btn { border-radius: 0 !important; letter-spacing: .18em; text-transform: uppercase; font-weight: 500; font-size: 12px; }
.btn.bg-white.text-black, .btn-primary, button[type=submit].btn, .add-to-cart-btn, .buy-now-btn {
    background: var(--bh-gold) !important; color: var(--bh-black) !important; border: none !important;
    padding: 15px 34px !important; transition: background-color .35s var(--bh-ease);
}
.btn.bg-white.text-black:hover, .btn-primary:hover { background: #cdb585 !important; }
.btn-outline-primary { border:1px solid var(--bh-line) !important; color: var(--bh-cream) !important; background: transparent !important; }
.btn-outline-primary:hover { border-color: var(--bh-gold) !important; background: rgba(181,158,115,.06) !important; }

/* --- Section helpers (dark default / light to breathe) --- */
.bh-light { background: var(--bh-ivory) !important; color: var(--bh-ink) !important; }
.bh-light h1,.bh-light h2,.bh-light h3 { color: var(--bh-ink) !important; }
.bh-light .eyebrow { color: var(--bh-gold-deep) !important; }

/* --- Full-screen video / gallery banners: cinematic darkening (until hero is rebuilt) --- */
.gallery-section { position: relative; background: var(--bh-black) !important; }
.gallery-section::after { content:""; position:absolute; inset:0; z-index:2; pointer-events:none;
    background: linear-gradient(180deg, rgba(7,5,6,.4) 0%, rgba(7,5,6,.22) 40%, rgba(7,5,6,.93) 100%); }
.gallery-section video, .gallery-section img { filter: brightness(.68) saturate(1.05); }
.gallery-section .section-title { color: var(--bh-cream) !important; text-shadow: 0 2px 40px rgba(0,0,0,.55); }
.gallery-section > div:first-child, .gallery-section .btn, .gallery-section .wrapper-video-control { position: relative; z-index: 4; }

/* --- Store description band --- */
.store-description { background: var(--bh-black) !important; }
.store-description * { color: var(--bh-cream) !important; }

/* --- Footer --- */
footer { background: var(--bh-black) !important; border-top: 1px solid var(--bh-line) !important; }
footer, footer * { color: var(--bh-cream) !important; background-color: transparent !important; }
footer a:hover { color: var(--bh-gold) !important; }

/* --- Sliders: gold accents --- */
.slick-next.slick-arrow > span, .slick-prev.slick-arrow > span { color: var(--bh-gold) !important; }
.slick-next.slick-arrow, .slick-prev.slick-arrow { width: 46px; height: 46px; }
.swiper-pagination-bullet { background: rgba(255,255,255,.34); }
.swiper-pagination-bullet-active { background: var(--bh-gold); }

/* --- Form controls --- */
.form-control, input[type=text], input[type=email], input[type=tel], textarea, select.form-select {
    background: var(--bh-black-2) !important; border: 1px solid rgba(245,239,227,.18) !important;
    color: var(--bh-cream) !important; border-radius: 0 !important;
}

/* --- Editorial product card (bh-card) — used by product-card.jinja --- */
.bh-card { display: block; text-decoration: none; color: inherit; }
.bh-card-media { position: relative; width: 100%; aspect-ratio: 4 / 5; overflow: hidden;
    border-radius: 12px; background: var(--bh-black-2); border: 1px solid rgba(181,158,115,.14); }
.bh-card-img, .bh-card-img-hover { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.bh-card-img { transition: transform 1.2s var(--bh-ease); }
.bh-card:hover .bh-card-img { transform: scale(1.06); }
.bh-card-img-hover { opacity: 0; transition: opacity .7s ease; }
.bh-card:hover .bh-card-img-hover { opacity: 1; }
.bh-card-sheen { position: absolute; inset: 0; pointer-events: none; opacity: 0; transition: opacity .6s var(--bh-ease);
    background: radial-gradient(120% 80% at 50% 115%, rgba(181,158,115,.26), transparent 60%); }
.bh-card:hover .bh-card-sheen { opacity: 1; }
.bh-card-soldout { position: absolute; top: 12px; inset-inline-start: 12px; z-index: 2;
    background: rgba(7,5,6,.6); color: var(--bh-cream); font-size: 10px; letter-spacing: .16em;
    text-transform: uppercase; padding: 5px 12px; border-radius: 50px; backdrop-filter: blur(4px); }
.bh-card-info { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; padding: 15px 2px 0; }
.bh-card-name { margin: 0; font-size: 1.18rem; font-weight: 300; line-height: 1.2; letter-spacing: .03em; color: var(--bh-cream) !important; }
.bh-card-meta { font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: var(--bh-muted); margin-top: 3px; }
.bh-card-price { flex-shrink: 0; font-size: 13px; font-weight: 400; color: var(--bh-gold); white-space: nowrap; }
.bh-card-price-old { color: rgba(245,239,227,.4); margin-inline-start: 6px; }
/* cards inside a light section invert */
.bh-light .bh-card-media { background: var(--bh-ivory-2); border-color: var(--bh-line-l); }
.bh-light .bh-card-name { color: var(--bh-ink) !important; }
.bh-light .bh-card-meta { color: var(--bh-muted-ink); }
.bh-light .bh-card-price { color: var(--bh-gold-deep); }

/* --- Products listing page: editorial grid --- */
#products-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 36px 22px; padding: 8px 15px 0; }
@media (max-width: 1100px){ #products-list { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 760px){ #products-list { grid-template-columns: repeat(2, 1fr); gap: 24px 14px; } }

/* --- Slider polish --- */
.home-products-section .section-title { margin-bottom: 28px; letter-spacing: .04em; }
.products-slider .prod-col { padding-inline: 11px; }
/* ===================== END DARK LUXURY FOUNDATION ===================== */

/* ================================================================
   BADR HARQAN — HOMEPAGE (Stage 4)
   ================================================================ */
.bh-wrap{max-width:1320px;margin:0 auto;padding-inline:var(--gut,clamp(20px,5vw,64px))}
.bh-eyebrow{font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--bh-gold);font-weight:400}
.bh-h2{font-size:clamp(1.9rem,3.6vw,3rem);font-weight:300;color:var(--bh-cream)}
.bh-light .bh-h2,.bh-light h3{color:var(--bh-ink)}
.bh-btn{display:inline-block;background:var(--bh-gold);color:var(--bh-black);padding:15px 38px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;transition:background-color .4s var(--bh-ease)}
.bh-btn:hover{background:#cdb585}
.bh-sec{padding-block:clamp(72px,11vw,150px)}
.bh-sec-head{margin-bottom:clamp(34px,5vw,54px)}
.bh-sec-head .bh-eyebrow{display:block;margin-bottom:16px}
.bh-reveal{opacity:0;transform:translateY(22px);transition:opacity 1s var(--bh-ease),transform 1s var(--bh-ease)}
.bh-reveal.in{opacity:1;transform:none}

/* hero */
.bh-hero{position:relative;height:100vh;min-height:620px;overflow:hidden;background:var(--bh-black)}
.bh-hero-media{position:absolute;inset:0}
.bh-hv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.8s ease}
.bh-hv.on{opacity:1}
.bh-hero-scrim{position:absolute;inset:0;z-index:1;background:
   linear-gradient(to right,rgba(7,5,6,.9) 0%,rgba(7,5,6,.5) 40%,rgba(7,5,6,.08) 70%,transparent 86%),
   linear-gradient(to top,rgba(7,5,6,.66),transparent 42%)}
[dir=rtl] .bh-hero-scrim{background:
   linear-gradient(to left,rgba(7,5,6,.9) 0%,rgba(7,5,6,.5) 40%,rgba(7,5,6,.08) 70%,transparent 86%),
   linear-gradient(to top,rgba(7,5,6,.66),transparent 42%)}
.bh-hero-content{position:absolute;z-index:2;inset-block:0;inset-inline-start:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:start;width:min(620px,60%);padding-inline:var(--gut,clamp(20px,5vw,64px))}
.bh-hero-content .bh-eyebrow{margin-bottom:20px}
.bh-hero-h1{font-size:clamp(2.5rem,5.2vw,4.6rem);font-weight:200;line-height:1.06;color:var(--bh-cream)}
.bh-hero-h1 em{font-style:normal;color:var(--bh-gold)}
.bh-hero-sub{max-width:400px;margin-top:22px;color:var(--bh-muted);line-height:1.7;font-size:15px}
.bh-hero-cta{margin-top:34px}
.bh-scroll{position:absolute;z-index:2;bottom:24px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:7px}
.bh-scroll span{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:rgba(245,239,227,.45)}
.bh-scroll i{width:1px;height:40px;background:linear-gradient(var(--bh-gold),transparent)}

/* idea strip */
.bh-idea{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;border-block:1px solid var(--bh-line);padding:26px var(--gut,40px);font-size:clamp(1rem,2.2vw,1.4rem);font-weight:200;letter-spacing:.18em;text-transform:uppercase;color:var(--bh-cream);background:var(--bh-black)}
.bh-dot{width:4px;height:4px;border-radius:50%;background:var(--bh-gold);display:inline-block}

/* the house */
.bh-house{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,6vw,80px);align-items:center}
.bh-statement{font-size:clamp(1.6rem,3.1vw,2.5rem);font-weight:200;line-height:1.32;color:var(--bh-ink)}
.bh-statement em{font-style:normal;color:var(--bh-gold-deep)}
.bh-lead{color:var(--bh-muted-ink);line-height:1.85;font-size:16px;max-width:560px}

/* categories */
.bh-cats{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,1.8vw,24px)}
.bh-cat{display:block;text-decoration:none}
.bh-cat-media{position:relative;aspect-ratio:3/4;border-radius:14px;overflow:hidden;background:var(--bh-black-2);border:1px solid var(--bh-line)}
.bh-cat-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.3s var(--bh-ease)}
.bh-cat:hover .bh-cat-media img{transform:scale(1.06)}
.bh-cat-veil{position:absolute;inset:0;background:linear-gradient(to top,rgba(7,5,6,.9),rgba(7,5,6,.1) 55%,transparent)}
.bh-cat-name{position:absolute;left:20px;right:20px;bottom:20px;z-index:2;font-size:1.4rem;font-weight:300;color:#fff;letter-spacing:.02em}

/* locations */
.bh-locs{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--bh-line-l);border:1px solid var(--bh-line-l)}
.bh-loc{background:var(--bh-ivory);padding:clamp(28px,2.6vw,40px) clamp(20px,2vw,28px);color:var(--bh-ink)}
.bh-loc .bh-k{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--bh-gold-deep)}
.bh-loc h3{font-size:1.35rem;font-weight:300;margin:12px 0 8px;color:var(--bh-ink)}
.bh-loc p{color:var(--bh-muted-ink);font-size:13px;line-height:1.7}

/* closing */
.bh-closing{text-align:center}
.bh-closing-h{font-size:clamp(2rem,4.6vw,3.4rem);font-weight:200;line-height:1.2;color:var(--bh-cream)}
.bh-closing-h em{font-style:normal;color:var(--bh-gold)}

/* newsletter */
.bh-news{text-align:center}
.bh-news h3{font-size:clamp(1.5rem,2.8vw,2.2rem);font-weight:300;color:var(--bh-ink)}
.bh-news p{color:var(--bh-muted-ink);margin:14px auto 26px;max-width:420px;line-height:1.7;font-size:14.5px}
.bh-news form{display:flex;max-width:440px;margin:0 auto;border:1px solid var(--bh-line-l)}
.bh-news input{flex:1;background:transparent;border:0;color:var(--bh-ink);padding:15px 18px;font-size:14px;outline:none}
.bh-news input::placeholder{color:rgba(43,36,32,.45)}
.bh-news button{background:var(--bh-gold);color:var(--bh-black);border:0;padding:0 26px;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;cursor:pointer}

@media(max-width:900px){
  .bh-hero-content{width:100%;justify-content:flex-end;padding-bottom:90px;text-align:center;align-items:center}
  .bh-hero-scrim{background:linear-gradient(to top,rgba(7,5,6,.95) 6%,rgba(7,5,6,.4) 48%,rgba(7,5,6,.2))}
  .bh-hero-sub{margin-inline:auto}
  .bh-house{grid-template-columns:1fr;gap:24px}
  .bh-cats{grid-template-columns:repeat(2,1fr)}
  .bh-locs{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){.bh-cats{grid-template-columns:1fr 1fr;gap:12px}.bh-locs{grid-template-columns:1fr}}
/* ===================== END HOMEPAGE ===================== */