/* V18.4.15.3 — menu + builder UI */
.drawer{display:none; position:fixed; inset:0; z-index:9000}
.drawer.isOpen{display:block}
.drawerBackdrop{position:absolute; inset:0; background:rgba(11,18,32,.40)}
.drawerPanel{position:absolute; right:10px; top:10px; width:min(560px,94vw); background:#fff; border:1px solid rgba(0,0,0,.10); border-radius:22px; box-shadow:0 14px 34px rgba(8,24,48,.12); max-height:calc(100vh - 20px); overflow:auto}
@media (max-width:560px){.drawerPanel{left:10px; right:10px; width:auto}}
.drawerTop{display:flex; align-items:center; gap:10px; padding:12px 12px 8px}
.drawerBrand img{height:28px; width:auto}
.drawerLang{margin-left:auto; display:flex; gap:8px}
.drawerClose{border:1px solid rgba(0,0,0,.12); background:#fff; border-radius:12px; padding:8px 10px; font-weight:900; cursor:pointer}
.drawerCtas{display:grid; grid-template-columns:1fr; gap:10px; padding:0 12px 12px}
.drawerBody{padding:0 12px 14px}
.drawerGroup{border:1px solid rgba(0,0,0,.12); border-radius:18px; background:#fff; margin:10px 0}
.drawerGroup summary{list-style:none; cursor:pointer; padding:12px 14px; font-weight:950; position:relative}
.drawerGroup summary::-webkit-details-marker{display:none}
.drawerGroup summary::after{content:"+"; position:absolute; right:14px; top:50%; transform:translateY(-50%); font-size:20px; color:#334155}
.drawerGroup[open] summary::after{content:"−"; color:#0b1220}
.drawerLinks{display:grid; grid-template-columns:1fr; gap:10px; padding:12px 14px}
.navItem{display:block; padding:12px 12px; border:1px solid rgba(11,43,74,.10); border-radius:16px; background:#fff; text-decoration:none}
.navItem b{display:block; font-weight:950; line-height:1.15; color:#0b1220}
.navItem small{display:block; margin-top:4px; color:#334155; line-height:1.35}
.chipRow{display:flex; flex-wrap:wrap; gap:8px; padding:12px 14px}
.chip{display:inline-flex; align-items:center; padding:8px 12px; border:1px solid rgba(0,0,0,.12); border-radius:999px; background:#fff; font-weight:850; color:#0b1220; text-decoration:none}
.navToggle{background:#fff !important; border:1px solid rgba(0,0,0,.12) !important; border-radius:14px; padding:10px 12px; cursor:pointer; z-index:50}
.navToggle span{display:block; width:24px; height:2px; background:#0b1220; margin:5px 0}
body.navOpen .stickyCta, body.navOpen .nextBar, body.navOpen #nextBar, body.navOpen .bottomBar{display:none !important}

/* Build checkout */
.buildProgress{margin:12px 0 6px}
.buildProgressBar{height:10px;border-radius:999px;background:rgba(11,43,74,.10);overflow:hidden}
.buildProgressBar > div{height:100%;width:10%;background:rgba(14,165,164,.85)}
.buildMobileBar{position:fixed; left:10px; right:10px; bottom:10px; z-index:8500; background:#fff; border:1px solid rgba(0,0,0,.12); border-radius:18px; box-shadow:0 14px 34px rgba(8,24,48,.10); padding:10px; display:none}
.buildMobileBar .row{display:flex; gap:10px; align-items:center}
.buildMobileBar .row .btn{flex:1; justify-content:center}
@media (max-width:900px){ .buildMobileBar{display:block} }


/* V22 fixes — desktop nav, builder layout, language switch, footer collision */
.topbar .langSwitch{display:flex;gap:8px;align-items:center}
.topbar .langPill.is-current,.drawerLang .chip.is-current{background:rgba(14,165,164,.16);border-color:rgba(14,165,164,.35)}
@media (min-width:901px){
  .topbar .nav{justify-content:space-between;gap:18px}
  .topbar .brand{flex:0 0 auto;margin-right:4px}
  .topbar .modePill{display:flex !important;flex:0 0 auto}
  .topbar .menu{display:flex !important;align-items:center;gap:10px;flex-wrap:wrap}
  .topbar .menuGuides,.topbar .menuPackages{margin-left:auto}
  .topbar .menu a{white-space:nowrap}
  .topbar .navToggle{display:none !important}
  .topbar .container{max-width:1240px}
}
@media (max-width:900px){
  .topbar .modePill{display:none !important}
  .topbar .menu{display:none !important}
  .topbar .navToggle{display:inline-flex !important}
}
.builderGrid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:24px;align-items:start}
.builderCard{background:#fff;border:1px solid rgba(11,43,74,.12);border-radius:22px;box-shadow:0 14px 34px rgba(8,24,48,.08);padding:18px}
.builderSteps{min-width:0}
.stickySummary{position:sticky;top:92px}
.badgeRow{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.badge{display:inline-flex;align-items:center;padding:10px 14px;border:1px solid rgba(11,43,74,.12);border-radius:999px;background:#f7fbff;font-weight:900;color:#0b1220}
.stepBody{padding:0 14px 14px}
.optGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.opt{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;padding:12px;border:1px solid rgba(11,43,74,.10);border-radius:16px;background:#fff}
.opt input{margin-top:4px}
.opt .meta b{display:block;line-height:1.2}
.opt .meta small{display:block;margin-top:4px;color:#475569;line-height:1.35}
.opt .price{font-weight:900;white-space:nowrap}
.sumLine{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(11,43,74,.08)}
.sumLine span:last-child,.sumLine small:last-child{white-space:nowrap;text-align:right}
.sumTotal{font-size:18px;font-weight:950;border-bottom:none;padding-top:14px}
#priceSummary{margin-top:8px}
body.buildPage{padding-bottom:104px}
body.footerInView .buildMobileBar,body.navOpen .buildMobileBar,body.cookieOpen .buildMobileBar{display:none !important}
@media (max-width:900px){
  .builderGrid{grid-template-columns:1fr;gap:16px}
  .stickySummary{position:static}
  .optGrid{grid-template-columns:1fr}
  .builderCard{padding:14px;border-radius:18px}
  .buildMobileBar{display:block}
  .footer{padding-bottom:118px}
}
@media (max-width:780px){
  .footerLinks{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .footerCtaInner{align-items:flex-start}
  .footerCta .btnRow{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .footerCta .btnRow .btn{width:100%}
}

/* V23 booking flexibility + admin catalog */
.builderIntro{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 18px}
.modeCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.modeCard{display:block;cursor:pointer;position:relative}
.modeCard input{position:absolute;opacity:0;pointer-events:none}
.modeCardText{display:block;padding:16px;border:1px solid rgba(11,43,74,.12);border-radius:18px;background:#fff;min-height:118px;transition:.2s ease}
.modeCardText b{display:block;font-size:18px;line-height:1.2;color:#0b1220}
.modeCardText small{display:block;margin-top:8px;color:#475569;line-height:1.45}
.modeCard input:checked + .modeCardText{border-color:rgba(14,165,164,.45);background:linear-gradient(180deg,rgba(14,165,164,.08),rgba(255,196,0,.08));box-shadow:0 10px 24px rgba(8,24,48,.08)}
.packageIncludes{margin:8px 0 0 18px;padding:0}
.packageIncludes li{margin:4px 0;color:#334155}
.sumGroupTitle{margin:12px 0 4px;font-weight:900;color:#0b1220}
details.fold.is-step-hidden{display:none !important}
@media (min-width:901px){
  .builderGrid{grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr)}
  .builderSteps{padding:22px}
}
@media (max-width:900px){
  .builderIntro{grid-template-columns:1fr}
  .modeCards{grid-template-columns:1fr}
  .modeCardText{min-height:auto}
}
.adminCards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.adminCard{background:#fff;border:1px solid rgba(11,43,74,.12);border-radius:18px;padding:16px;box-shadow:0 8px 24px rgba(8,24,48,.06)}


/* V24 booking operations + live widget */
.builderIntroV24{grid-template-columns:repeat(3,minmax(0,1fr))}
.buildUtilityBar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 16px}
.buildUtilityBar .notice{margin:0;padding:12px 14px;border:1px solid rgba(11,43,74,.10);border-radius:16px;background:#f7fbff}
.builderGridV24 .builderCard{padding:20px}
.optGridWide{grid-template-columns:repeat(4,minmax(0,1fr))}
.twoColBlocks{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.buildInfoStrip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.buildInfoStrip > div{padding:12px 14px;border:1px solid rgba(11,43,74,.10);border-radius:16px;background:#f8fafc}
.buildInfoStrip b{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#475569}
.buildInfoStrip span{display:block;margin-top:4px;font-weight:900;color:#0b1220}
.packageRateNotice{margin-top:10px;padding:10px 12px;border:1px solid rgba(14,165,164,.22);border-radius:14px;background:rgba(14,165,164,.06)}
.sumNotice{margin-top:8px;padding:10px 12px;border-radius:14px;background:#fff7e6;border:1px solid rgba(255,166,0,.18)}
.siteLiveWidget{position:fixed;right:14px;bottom:14px;z-index:8200;max-width:min(360px,calc(100vw - 28px))}
.siteLiveWidgetToggle{display:inline-flex;align-items:center;gap:8px;padding:12px 16px;border-radius:999px;border:1px solid rgba(11,43,74,.12);background:#0b1220;color:#fff;font-weight:900;box-shadow:0 14px 34px rgba(8,24,48,.18);cursor:pointer}
.siteLiveWidgetPanel{margin-top:10px;background:#fff;border:1px solid rgba(11,43,74,.12);border-radius:22px;box-shadow:0 16px 42px rgba(8,24,48,.16);overflow:hidden}
.siteLiveWidgetHead{padding:14px 14px 10px;border-bottom:1px solid rgba(11,43,74,.08)}
.siteLiveWidgetTabs{display:flex;gap:8px;margin-top:10px}
.siteLiveWidgetTabs button{padding:8px 12px;border-radius:999px;border:1px solid rgba(11,43,74,.12);background:#fff;font-weight:800;cursor:pointer}
.siteLiveWidgetTabs button.is-active{background:#0b1220;color:#fff;border-color:#0b1220}
.siteLiveWidgetBody{padding:14px}
.siteLiveWidgetPane{display:none}
.siteLiveWidgetPane.is-active{display:block}
.miniGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.miniStat{padding:12px;border:1px solid rgba(11,43,74,.10);border-radius:16px;background:#f8fafc}
.miniStat b{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#475569}
.miniStat span{display:block;margin-top:6px;font-weight:900;color:#0b1220}
.siteLiveWidgetActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.btn.small{padding:10px 12px;font-size:13px}
@media (min-width:901px){
  .builderGridV24{grid-template-columns:minmax(0,1.2fr) minmax(380px,.8fr)}
}
@media (max-width:900px){
  .optGridWide,.twoColBlocks,.buildInfoStrip,.builderIntroV24{grid-template-columns:1fr}
  .siteLiveWidget{right:10px;left:10px;max-width:none}
  .miniGrid{grid-template-columns:1fr 1fr 1fr}
}
@media (max-width:640px){
  .miniGrid{grid-template-columns:1fr}
}
body.footerInView .siteLiveWidget, body.navOpen .siteLiveWidget, body.cookieOpen .siteLiveWidget{display:none !important}


/* V26 full — smart live widget + richer mobile builder UX */
.siteLiveWidget{position:fixed;right:16px;bottom:86px;z-index:7200;width:min(380px,calc(100vw - 24px))}
.siteLiveWidgetToggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid rgba(11,43,74,.12);border-radius:18px;background:#fff;box-shadow:0 18px 42px rgba(8,24,48,.15);font-weight:950}
.siteLiveWidgetToggle small{display:block;color:#64748b;font-weight:700}
.siteLiveWidgetPanel{margin-top:10px;border:1px solid rgba(11,43,74,.12);border-radius:20px;background:#fff;box-shadow:0 18px 42px rgba(8,24,48,.15);overflow:hidden}
.siteLiveWidgetHead{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:14px 14px 10px;border-bottom:1px solid rgba(11,43,74,.08)}
.siteLiveWidgetHead small{display:block;color:#64748b;margin-top:4px}
.siteLiveWidgetTabs{display:flex;gap:8px;flex-wrap:wrap}
.siteLiveWidgetTabs button,.siteLiveSpotChips .chip{border:1px solid rgba(11,43,74,.12);background:#fff;border-radius:999px;padding:8px 10px;font-weight:850}
.siteLiveWidgetTabs button.is-active,.siteLiveSpotChips .chip.is-active{background:rgba(14,165,164,.12)}
.siteLiveSpotChips{display:flex;gap:8px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid rgba(11,43,74,.08)}
.siteLiveWidgetBody{padding:14px}
.siteLiveWidgetPane{display:none}
.siteLiveWidgetPane.is-active{display:block}
.miniGridWide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.miniStat{border:1px solid rgba(11,43,74,.08);border-radius:16px;background:#f8fafc;padding:12px}
.miniStat b{display:block;font-size:12px;color:#64748b;margin-bottom:4px}
.miniStat span{font-size:16px;font-weight:950;color:#0f172a}
.siteLiveWidgetMeta{margin-top:12px;padding-top:12px;border-top:1px solid rgba(11,43,74,.08);color:#475569;font-size:13px}
.siteLiveCtaBox{display:grid;gap:12px}
.siteLiveWidgetActions{display:flex;gap:8px;flex-wrap:wrap}
.siteLiveWidgetActions .btn{justify-content:center}
.buildMobileBar .buildEstimateBtn{min-width:120px}
.buildSummarySheet{position:fixed;inset:0;z-index:8600}
.buildSummaryBackdrop{position:absolute;inset:0;background:rgba(15,23,42,.38);border:none;padding:0;margin:0}
.buildSummaryPanel{position:absolute;left:10px;right:10px;bottom:10px;max-height:78vh;overflow:auto;background:#fff;border:1px solid rgba(11,43,74,.12);border-radius:22px;box-shadow:0 20px 44px rgba(8,24,48,.22);padding:14px}
.buildSummaryHead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid rgba(11,43,74,.08)}
.buildSummaryClose{border:1px solid rgba(11,43,74,.12);background:#fff;border-radius:12px;padding:8px 10px}
.buildSummaryMeta{display:flex;gap:8px;flex-wrap:wrap;padding:10px 0}
.buildSummaryMeta .chip{background:#f8fafc}
.buildSummaryBody .sumLine{padding:12px 0}
.fold summary{display:flex;align-items:center;justify-content:space-between;gap:10px}
.fold .foldMeta{display:block;font-size:12px;color:#64748b;font-weight:700;max-width:70%;text-align:right;padding-right:18px}
.fold .foldTitle{display:block}
.fold summary::after{top:18px}
.modeCard{transition:transform .14s ease, box-shadow .14s ease}
.modeCard:hover{transform:translateY(-2px)}
@media (max-width:900px){
  .siteLiveWidget{right:10px;left:10px;bottom:84px;width:auto}
  .siteLiveWidgetToggle{padding:12px}
  .miniGridWide{grid-template-columns:1fr 1fr}
  .stickySummary{display:none}
}
@media (max-width:560px){
  .miniGridWide{grid-template-columns:1fr}
  .siteLiveWidgetActions{display:grid;grid-template-columns:1fr}
}
body.footerInView .siteLiveWidget,body.cookieOpen .siteLiveWidget,body.navOpen .siteLiveWidget{display:none!important}


/* V26.1 hotfixes: real live widget, robust build estimate, stronger mobile UX */
.buildInlineEstimate{display:none}
@media (max-width:900px){
  .buildInlineEstimate{display:block;position:sticky;top:72px;z-index:35;background:#fff;border:1px solid rgba(11,43,74,.12);border-radius:16px;padding:12px;margin:12px 0 14px;box-shadow:0 12px 28px rgba(8,24,48,.10)}
  .buildInlineEstimateTop{display:flex;justify-content:space-between;gap:12px;align-items:center;font-weight:950}
  .buildInlineEstimateMeta{margin-top:6px;color:#475569;font-size:13px}
  .buildInlineEstimateLines{margin-top:6px;font-size:13px;color:#0f172a;line-height:1.45}
}
.stepNextWrap{margin-top:14px;display:flex;justify-content:flex-end}
.stepNextBtn{font-weight:900}
.siteLiveWidget{right:12px;bottom:84px;z-index:7800;width:min(392px,calc(100vw - 24px))}
.siteLiveWidgetToggle{cursor:pointer}
.siteLiveWidgetPanel{display:block}
.siteLiveWidget:not(.is-open) .siteLiveWidgetPanel{display:none}
.siteLiveWidget.is-open .siteLiveWidgetToggle{border-bottom-left-radius:14px;border-bottom-right-radius:14px}
.siteLiveSpotChips{display:flex;gap:8px;flex-wrap:wrap;padding:0 14px 14px}
.liveSwitchRow .btn{margin-bottom:8px}
@media (max-width:900px){
  .siteLiveWidget{left:10px;right:10px;bottom:84px;width:auto}
  .siteLiveWidgetToggle{padding:12px 14px}
}
body.cookieOpen .siteLiveWidget, body.navOpen .siteLiveWidget{display:none!important}
