/* The hero is the first screen below the sticky header on every device. home-maison.js
   measures the space above it into --home-hero-offset; the fallbacks are the header heights. */
body.home-maison[data-page="home"] .home-hero { height:calc(100vh - var(--home-hero-offset,142px)); height:calc(100svh - var(--home-hero-offset,142px)); min-height:460px; grid-template-rows:minmax(0,1fr); }
body.home-maison[data-page="home"] .home-hero .brand-hero__logo { width:clamp(180px,20vw,300px); margin:0; }
body.home-maison[data-page="home"] .home-hero .brand-hero__title { font-size:clamp(36px,3.2vw,48px); margin-top:22px; }
body.home-maison[data-page="home"] .home-hero .brand-hero__sub { margin-top:16px; }
body.home-maison[data-page="home"] .home-hero__actions { margin-top:24px; flex-wrap:wrap; }
body.home-maison[data-page="home"] .home-hero__actions .home-button { padding:16px 20px; letter-spacing:.15em; }
body.home-maison[data-page="home"] .home-hero-poster { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 28%; }
body.home-maison[data-page="home"] .home-hero .brand-hero__video { background:transparent; }
body.home-maison[data-page="home"] #homeCategories { padding-block:40px; }
body.home-maison[data-page="home"] #homeCategories .section-head { margin-bottom:24px; }
body.home-maison[data-page="home"] #homeCategories .cat-card { aspect-ratio:auto; }
body.home-maison[data-page="home"] #homeCategories .cat-card .media { aspect-ratio:1 / 1; height:auto; }
body.home-maison[data-page="home"] #homeCategories .cat-card img { height:100%; width:100%; object-fit:cover; }
/* Portrait photos in square tiles: anchor each crop (and the hover zoom) on its subject, not the centre. */
body.home-maison[data-page="home"] #homeCategories .cat-card img[src*="charms-cluster"] { object-position:50% 5%; transform-origin:50% 5%; }
body.home-maison[data-page="home"] #homeCategories .cat-card img[src*="basket-lilac-fan"] { object-position:50% 10%; transform-origin:50% 10%; }
body.home-maison[data-page="home"] #homeCategories .cat-card img[src*="basket-grey-beach"] { object-position:50% 40%; transform-origin:50% 25%; }
body.home-maison[data-page="home"] #homeCategories .cat-card img[src*="jawhara-palazzo-white"] { object-position:50% 6%; transform-origin:50% 6%; }
body.home-maison[data-page="home"] #homeCategories .cat-card img[src*="earrings-lilac-grape"] { object-position:50% 0%; transform-origin:50% 0%; }
body.home-maison[data-page="home"] #bestSellers { padding-top:40px !important; }
body.home-maison[data-page="home"] [data-instant-content],body.home-maison[data-page="home"] [data-instant-content] .product-card { opacity:1 !important; visibility:visible !important; transform:none !important; }
@media(max-width:1100px){
 body.home-maison[data-page="home"] .home-hero .brand-hero__cap { padding:28px 24px; }
 body.home-maison[data-page="home"] .home-hero .brand-hero__logo { width:190px; margin:0; }
 body.home-maison[data-page="home"] .home-hero .brand-hero__title { font-size:36px; margin-top:16px; }
 body.home-maison[data-page="home"] .home-hero .brand-hero__sub { font-size:17px; }
 body.home-maison[data-page="home"] .home-hero .brand-hero__media { height:100%; min-height:0; aspect-ratio:auto; }
}
/* Stacked (text over film): the film takes whatever the screen leaves, never less than a
   third of it, so short phones scroll a little rather than get a sliver of video. */
@media(max-width:860px){
 body.home-maison[data-page="home"] .home-hero { height:auto; min-height:calc(100vh - var(--home-hero-offset,102px)); min-height:calc(100svh - var(--home-hero-offset,102px)); grid-template-rows:auto minmax(max(220px,34vh),1fr); grid-template-rows:auto minmax(max(220px,34svh),1fr); }
 body.home-maison[data-page="home"] .home-hero .brand-hero__media { height:auto; }
}
@media(max-width:480px){
 body.home-maison[data-page="home"] .home-hero .brand-hero__cap { padding:22px 20px 24px; }
 body.home-maison[data-page="home"] .home-hero .brand-hero__logo { width:150px; }
 body.home-maison[data-page="home"] .home-hero .brand-hero__title { font-size:32px !important; margin-top:14px; }
 body.home-maison[data-page="home"] .home-hero .brand-hero__sub { font-size:16px; margin-top:10px; }
 body.home-maison[data-page="home"] .home-hero__actions { margin-top:18px; gap:10px; }
 body.home-maison[data-page="home"] .home-hero__actions .home-button { padding:14px 16px; }
}
/* Landscape phones and short windows: side by side and compact, or the header and text
   would leave no room for the film. */
@media(orientation:landscape) and (max-height:520px){
 body.home-maison[data-page="home"] .home-hero { grid-template-columns:minmax(0,1fr) 42%; grid-template-rows:minmax(0,1fr); min-height:300px; }
 body.home-maison[data-page="home"] .home-hero .brand-hero__cap { grid-column:1; grid-row:1; padding:18px 24px; }
 body.home-maison[data-page="home"] .home-hero .brand-hero__media { grid-column:2; grid-row:1; }
 body.home-maison[data-page="home"] .home-hero .brand-hero__logo { width:120px; }
 body.home-maison[data-page="home"] .home-hero .brand-hero__title { font-size:28px !important; margin-top:10px; }
 body.home-maison[data-page="home"] .home-hero .brand-hero__sub { font-size:15px; margin-top:6px; }
 body.home-maison[data-page="home"] .home-hero__actions { margin-top:14px; }
 body.home-maison[data-page="home"] .home-hero__actions .home-button { width:auto; padding:12px 14px; }
}

body.home-maison[data-page="home"] .home-hero .brand-hero__media { max-height:none; max-width:none; padding:0; margin:0; overflow:hidden; }
body.home-maison[data-page="home"] .home-hero .brand-hero__video { display:block; width:100%; height:100%; max-height:none; margin:0; object-fit:cover; }
/* Pause sits on the film's top-right: the chat launcher and the preview badge own the
   bottom corners of the screen, and the hero now ends exactly there. */
body.home-maison[data-page="home"] .home-hero .brand-hero__media > .home-film-toggle { top:16px; right:16px; bottom:auto; left:auto; }

/* Phones and portrait tablets: the live storefront's overlay hero (owner's choice, 2026-09-30)
   instead of the stacked orange panel — the film fills the width, a dark gradient rises from
   the bottom, and the white lockup, title, subline and links sit on it. Same measures as
   yza-shop.com (gradient, 21.6px title, 10.9px subline, underlined links). Landscape phones
   keep their compact side-by-side layout; desktop is untouched. */
@media (max-width:860px) and (min-height:521px){
 body.home-maison[data-page="home"] .home-hero { display:block; position:relative; height:auto; min-height:0; background:#16130f; }
 /* Stops ~64px short of the screen's bottom, as on live: the next section peeks in, and the
    chat launcher and preview badge sit over it instead of over the hero's links. */
 body.home-maison[data-page="home"] .home-hero .brand-hero__media { position:relative; width:100%; height:min(calc(100vh - var(--home-hero-offset,102px) - 64px), 156vw); height:min(calc(100svh - var(--home-hero-offset,102px) - 64px), 156vw); min-height:420px; }
 body.home-maison[data-page="home"] .home-hero .brand-hero__media::after { content:""; display:block; position:absolute; left:0; right:0; bottom:0; height:62%; z-index:1; pointer-events:none; background:linear-gradient(to top, rgba(15,12,9,.80) 0%, rgba(15,12,9,.52) 26%, rgba(15,12,9,.24) 54%, rgba(15,12,9,0) 100%); }
 body.home-maison[data-page="home"] .home-hero .brand-hero__media > .home-film-toggle { z-index:3; }
 body.home-maison[data-page="home"] .home-hero .brand-hero__cap { position:absolute; left:0; right:0; bottom:0; z-index:2; width:100%; max-width:none; align-items:center; justify-content:flex-end; text-align:center; gap:0; padding:40px 24px 32px; background:none; color:#fff; pointer-events:none; }
 body.home-maison[data-page="home"] .home-hero .brand-hero__cap a { pointer-events:auto; }
 body.home-maison[data-page="home"] .home-hero .brand-hero__logo { width:clamp(200px, 62vw, 300px); margin:0 auto 14px; filter:brightness(0) invert(1); }
 body.home-maison[data-page="home"] .home-hero .brand-hero__title { font:400 clamp(1.35rem, 5.76vw, 2.2rem)/1.08 'Fraunces',Georgia,serif !important; letter-spacing:.012em; color:#fff; max-width:none; margin:0; }
 body.home-maison[data-page="home"] .home-hero .brand-hero__title br { display:none; }
 body.home-maison[data-page="home"] .home-hero .brand-hero__sub { font:400 10.9px/1.6 var(--font-body); font-style:normal; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.85); margin:8px 0 0; }
 body.home-maison[data-page="home"] .home-hero__actions { display:flex; flex-wrap:wrap; justify-content:center; gap:10px 26px; width:auto; margin:14px 0 0; }
 body.home-maison[data-page="home"] .home-hero__actions .home-button { width:auto; min-height:0; padding:0 0 3px; background:none !important; border:0; border-bottom:1px solid currentColor; border-radius:0; color:#fff !important; font:400 11.5px/1.6 var(--font-body); letter-spacing:.1em; text-transform:uppercase; }
 body.home-maison[data-page="home"] .home-hero__actions .home-button:hover { color:rgba(255,255,255,.72) !important; }
}

body.home-maison[data-page="home"] #bestSellers .home-best-heading { display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin-bottom:28px; }
body.home-maison[data-page="home"] #bestSellers .home-best-heading h2 { margin:0; }
body.home-maison[data-page="home"] #bestSellers .home-best-heading a { align-self:auto; white-space:nowrap; }

/* Compact three-promise band matching the approved homepage reference. */
body.home-maison[data-page="home"] .service-strip-section { padding:48px 0 !important; background:#fff; border-block:1px solid var(--home-line, #e6e6e6); }
body.home-maison[data-page="home"] .service-strip-section .section-head:empty { display:none; }
body.home-maison[data-page="home"] .service-strip-section .container-wide { max-width:1280px; margin-inline:auto; }
body.home-maison[data-page="home"] .service-strip-section .service-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:64px; padding:0; align-items:start; }
body.home-maison[data-page="home"] .service-strip-section .service-card { gap:14px; }
body.home-maison[data-page="home"] .service-strip-section .service-card__icon { min-height:72px; }
body.home-maison[data-page="home"] .service-strip-section .service-card p { max-width:34ch; margin:0 auto; line-height:1.7; }
/* Tablets keep three columns: a tighter gap gives each two-line promise room to breathe. */
@media (min-width:768px) and (max-width:1100px) { body.home-maison[data-page="home"] .service-strip-section .service-strip { gap:32px; } }
@media (max-width:767px) {
 body.home-maison[data-page="home"] .service-strip-section { padding:32px 0 !important; }
 body.home-maison[data-page="home"] .service-strip-section .service-strip { grid-template-columns:1fr; gap:32px; }
 body.home-maison[data-page="home"] .service-strip-section .service-card__icon { min-height:52px; }
}

/* Reviews fill complete rows; every saved review is available through Show all. */
body.home-maison[data-page="home"] #testimonialsGrid { width:100%; max-width:none; }
body.home-maison[data-page="home"] #testimonialsGrid .reviews-trio { width:100%; max-width:none; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; background:transparent; border:0; }
body.home-maison[data-page="home"] #avis .review-card { min-width:0; border:1px solid var(--home-line,#e2e2e2); margin:0 -1px -1px 0; }
body.home-maison[data-page="home"] #avis .reviews-more-wrap { flex-direction:column; align-items:center; }
body.home-maison[data-page="home"] #avis .reviews-visible-count { margin:0 0 12px; font-size:12px; color:#767676; }
@media (max-width:900px) { body.home-maison[data-page="home"] #testimonialsGrid .reviews-trio { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:480px) { body.home-maison[data-page="home"] #testimonialsGrid .reviews-trio { grid-template-columns:1fr; } }

body.home-maison[data-page="home"] #avis .review-card { scroll-margin-top:150px; }
