/* Responsive fit: compact screens, tablets, landscape and large displays. */
.light-home .header,.light-home main,.light-home footer{min-width:0}
.light-home #loja .store-details .phone{white-space:nowrap}
.light-home #loja .store-details .store-instagram{max-width:100%;overflow-wrap:anywhere}
#xp-dialog .xp-scroll{overscroll-behavior:contain}
#xp-dialog .xp-purchase-info{min-width:0}
#xp-dialog .xp-buy{flex-shrink:0}
@media(max-width:900px){
 .light-home #loja.store.section{grid-template-columns:1fr;gap:32px}
 .light-home #loja .store-details{grid-template-columns:1fr 1fr}
 .light-home #loja .map-frame,.light-home #loja .map-frame iframe{height:320px;min-height:320px}
 .light-home #loja .store-address{flex-direction:row;align-items:center}
}
@media(max-width:680px){
 .light-home .header nav{top:100%;max-height:calc(100dvh - 140px);overflow-y:auto}
 .light-home .filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;max-width:100%;gap:2px;padding:4px}
 .light-home .filters button{min-width:0;min-height:44px;padding:8px 4px;font-size:12px}
 .light-home .campaign-live .campaign-scenes{height:clamp(160px,calc(100svh - 520px),360px)}
 .light-home .charge-visual{min-width:0;gap:clamp(16px,5vw,28px)}
 .light-home .charge-reading{min-width:0;flex:0 1 auto}
 .light-home .charge-bottom{flex-wrap:wrap;gap:8px 16px}
 .light-home #loja .map-frame,.light-home #loja .map-frame iframe{height:260px;min-height:260px}
 .light-home #loja .store-address{flex-direction:column;align-items:flex-start}
 #xp-dialog .xp-purchase{padding-bottom:calc(12px + env(safe-area-inset-bottom))}
}
@media(max-width:440px){
 .light-home #loja .store-details{grid-template-columns:1fr;gap:20px}
 .light-home #loja .store-details p,.light-home #loja .store-details a{font-size:14px}
 .light-home #loja .store-details .phone{font-size:18px}
 .light-home #loja .store-details .store-instagram{font-size:13px}
}
@media(max-width:360px){
 .light-home .filters button{font-size:11px;padding-inline:2px}
 .light-home .campaign-live .campaign-selection{padding-inline:18px}
 #xp-dialog .xp-purchase{padding-inline:14px;gap:10px}
 #xp-dialog .xp-buy{padding-inline:16px}
}
@media(max-height:500px) and (min-width:601px){
 #xp-dialog .xp-topbar{min-height:60px;padding-block:8px}
 #xp-dialog .xp-stage{min-height:0;height:auto;grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto;padding:24px;gap:14px 28px}
 #xp-dialog .xp-intro{grid-column:1;grid-row:1;align-self:end}
 #xp-dialog .xp-hero-object{grid-column:2;grid-row:1/4;height:220px;min-height:0;max-height:none;width:100%;margin:0}
 #xp-dialog .xp-hero-object .grounded-photo{height:200px;width:300px;max-width:100%;margin:0}
 #xp-dialog .xp-hero-object .grounded-photo img{height:100%;max-height:100%;width:100%;object-fit:contain}
 #xp-dialog .xp-scene-features{grid-column:1;grid-row:2}
 #xp-dialog .xp-explore{grid-column:1;grid-row:3}
 #xp-dialog .xp-purchase{padding-block:8px;min-height:64px}
 #xp-dialog .xp-purchase-info .offer-method,#xp-dialog .xp-purchase-info .offer-cash{display:none}
 .light-home .charge-composition{grid-template-columns:1fr;margin-block:24px}
 .light-home .charge-stories{width:100%;max-width:620px;margin-inline:auto}
}

/* Keep the headline, purchase offer and model selector in one visual group. */
@media(min-width:901px){
 .light-home .campaign-live{display:grid;grid-template-columns:minmax(0,46%) minmax(0,1fr);grid-template-rows:auto auto auto;align-content:center;justify-items:start;column-gap:0;row-gap:14px;height:min(calc(100svh - 72px),max(600px,57vw),820px);min-height:560px;max-height:none;padding:32px 7%;isolation:isolate}
 .light-home .campaign-live .campaign-scenes{position:absolute;inset:0;z-index:0}
 .light-home .campaign-live .campaign-copy{grid-column:1;grid-row:1;position:relative;width:100%;max-width:520px;height:auto;padding:0;margin:0 0 20px;z-index:2}
 .light-home .campaign-live .campaign-location{font-size:14px;line-height:1.4;margin:0 0 18px}
 .light-home .campaign-live .campaign-copy h1{font-size:clamp(64px,6.2vw,96px);line-height:.98;margin:0 0 22px}
 .light-home .campaign-live .campaign-intro{font-size:clamp(18px,1.65vw,23px);line-height:1.45;margin:0 0 24px}
 .light-home .campaign-live .campaign-actions{gap:22px;flex-wrap:wrap}
 .light-home .campaign-live .campaign-selection{grid-column:1;grid-row:2;position:relative;inset:auto;width:min(100%,405px);padding:16px 20px;margin:0;z-index:2;align-self:start;border-radius:16px}
 .light-home .campaign-live .campaign-controls{grid-column:1;grid-row:3;position:relative;inset:auto;transform:none;align-self:start;justify-self:start;margin:0;z-index:2}
 .light-home .campaign-live .campaign-offer{grid-template-columns:1fr auto 36px;gap:14px}
 .light-home .campaign-live .campaign-model-name{font-size:28px}
 .light-home .campaign-live .campaign-model-price strong{font-size:19px}
 .light-home .campaign-live .campaign-model-price>span{font-size:12px}
}
@media(min-width:901px) and (max-width:1100px){
 .light-home .campaign-live{padding-inline:5%;grid-template-columns:minmax(0,47%) minmax(0,1fr)}
 .light-home .campaign-live .campaign-actions{gap:15px}
 .light-home .campaign-live .campaign-actions .button{font-size:14px;padding-inline:16px}
 .light-home .campaign-live .campaign-test{font-size:14px}
 .light-home .campaign-live .campaign-selection{padding:14px 16px}
 .light-home .campaign-live .campaign-offer{gap:10px}
 .light-home .campaign-live .campaign-model-price strong{font-size:18px}
}
@media(min-width:901px) and (max-height:740px){
 .light-home .campaign-live{height:calc(100svh - 64px);min-height:540px;padding-block:24px;row-gap:12px}
 .light-home .campaign-live .campaign-copy{margin-bottom:10px}
 .light-home .campaign-live .campaign-location{margin-bottom:12px;font-size:12px}
 .light-home .campaign-live .campaign-copy h1{font-size:64px;margin-bottom:16px}
 .light-home .campaign-live .campaign-intro{font-size:18px;margin-bottom:20px}
 .light-home .campaign-live .campaign-selection{padding-block:12px}
}
/* A narrow desktop gets the tablet composition, keeping the wide Sydney clear of the offer. */
@media(min-width:901px) and (max-width:1100px){
 .light-home .campaign-live{display:flex;flex-direction:column;height:auto;min-height:0;padding:0;gap:0;background:#fff}
 .light-home .campaign-live .campaign-copy{order:1;width:100%;max-width:none;padding:28px 6%;margin:0;background:#fff}
 .light-home .campaign-live .campaign-copy h1{font-size:56px;line-height:1.04;margin-bottom:16px}
 .light-home .campaign-live .campaign-copy h1 br{display:none}
 .light-home .campaign-live .campaign-intro{font-size:19px;margin-bottom:18px}
 .light-home .campaign-live .campaign-intro br{display:none}
 .light-home .campaign-live .campaign-location{margin-bottom:12px}
 .light-home .campaign-live .campaign-scenes{order:2;position:relative;inset:auto;width:100%;height:340px;flex:none;background:#e6e2d7}
 .light-home .campaign-live .campaign-scenes:after{display:none}
 .light-home .campaign-live .campaign-controls{order:3;align-self:center;margin:14px auto 0;background:#eeeeea;border-color:#e1e1dc;box-shadow:none}
 .light-home .campaign-live .campaign-selection{order:4;width:100%;padding:16px 6% 24px;border:0;border-radius:0;background:#fff;box-shadow:none;backdrop-filter:none}
 .light-home .campaign-live .campaign-offer{max-width:620px;margin:auto}
}

/* Let charging content define its height instead of compressing the story into the controls. */
.light-home .charge-scene{height:auto;min-height:165svh}
.light-home .charge-sticky{height:auto;min-height:min(100svh,960px);max-height:none}
.light-home .charge-sticky>*,.light-home .charge-composition>*{flex-shrink:0}
.light-home .charge-stories{min-width:0}
.light-home .charge-stories li{min-width:0}
.light-home .charge-bottom{position:relative}
.light-home .charge-scene.charge-static{min-height:0}
.light-home .charge-static .charge-sticky{min-height:0}
@media(max-width:680px){
 .light-home .charge-scene{min-height:145svh}
 .light-home .charge-heading h2{font-size:clamp(32px,8.7vw,39px);line-height:1.08}
 .light-home .charge-heading h2 br{display:none}
 .light-home .charge-navigation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:440px;gap:3px}
 .light-home .charge-navigation button{min-width:0;min-height:46px;padding:8px 6px;white-space:normal;font-size:12px;line-height:1.3}
 .light-home .charge-static .charge-navigation{display:none}
}
@media(max-height:700px){
 .light-home .charge-scene,.light-home .charge-sticky{min-height:0}
 .light-home .charge-navigation{display:none}
}

/* The floating contact invites a conversation after five seconds outside the hero. */
.light-home .desktop-whatsapp .whatsapp-invite{position:absolute;right:calc(100% + 14px);top:50%;width:max-content;max-width:calc(100vw - 118px);padding:13px 18px;border:1px solid #193e3214;border-radius:16px;background:#fffdf9;color:#193e32;box-shadow:0 8px 28px #12271e20;font-size:15px;font-weight:600;line-height:1.45;text-align:left;opacity:0;visibility:hidden;transform:translate(8px,-50%);pointer-events:none}
.light-home .desktop-whatsapp .whatsapp-invite>span{display:block;color:#59675f;font-size:13px;font-weight:400}
.light-home .desktop-whatsapp .whatsapp-invite:after{content:"";position:absolute;right:-5px;top:calc(50% - 5px);width:10px;height:10px;background:#fffdf9;transform:rotate(45deg);border-top:1px solid #193e3214;border-right:1px solid #193e3214}
@media(min-width:681px){
 .light-home:not(.hero-in-view) .desktop-whatsapp .whatsapp-invite{animation:contact-invite-in .35s ease-out 5s forwards}
 .light-home:not(.hero-in-view) .desktop-whatsapp:is(:hover,:focus-visible) .whatsapp-invite{animation-delay:0s}
}
@keyframes contact-invite-in{to{opacity:1;visibility:visible;transform:translate(0,-50%);pointer-events:auto}}
@media(prefers-reduced-motion:reduce){.light-home:not(.hero-in-view) .desktop-whatsapp .whatsapp-invite{animation-duration:.01ms}}
