/* V31.7 — Agadir base clarity + weather hero refresh + smart range calendar + mobile cleanup */

:root{
  --v317-navy:#16324d;
  --v317-navy-2:#10253b;
  --v317-gold:#c89a3c;
  --v317-stone:#fbf8f2;
  --v317-line:rgba(16,37,59,.12);
}

/* Brand system */
.topbar .brandText strong,
.footerBrandText strong{
  color:var(--v317-navy);
  letter-spacing:-.04em;
}
.topbar .brandText small,
.footerBrandText small{
  color:#876323;
  font-weight:800;
}
.drawerBrandIconOnly{display:flex;align-items:center;justify-content:flex-start;min-width:48px}
.drawerBrandIconOnly .drawerBrandMark{width:54px}
.drawerBrandIconOnly .drawerBrandText{display:none !important}

@media (max-width:780px){
  .topbar .brandText{display:none !important}
  .topbar .brandMark{width:54px}
  .topbar .nav{padding:12px 0}
}

/* Weather hero / stats */
.liveHeroStats .v29Metric{
  background:#fff !important;
  color:var(--v317-navy) !important;
  border:1px solid var(--v317-line) !important;
  box-shadow:0 12px 28px rgba(16,37,59,.06) !important;
}
.liveHeroStats .v29Metric b,
.liveHeroStats .v29Metric strong,
.liveHeroStats .v29Metric small{color:inherit !important}
.weatherPage .heroWrap .heroImg,
body:has(#weatherPageTitle) .heroWrap .heroImg{object-position:center center}

/* Shared premium chips */
.v29Price,
.heroPill,
.v29Tag,
.buildTrustStrip span,
.bookHeroCompactRail .v29Tag,
.visitorChip,
.liveSwitchPills .btn,
.buildInfoStrip > div,
.smartRangeTrigger,
.smartRangeNavBtn{
  border-radius:999px;
}
.v29Price{min-width:116px;justify-content:center;text-align:center}

/* Build spacing cleanup */
.buildPage .buildHelpBubble{display:none !important}
.buildPage .buildHeroQuickRow{margin-bottom:4px !important}
.buildPage .bookHeroCompactRail{margin-top:8px !important}
.buildPage .buildTrustStrip{margin-top:8px !important;gap:8px !important}
.buildPage .buildTrustStrip span{padding:9px 12px !important}
.buildPage .compactReceipt{margin-bottom:10px !important}
.buildPage .buildInlineEstimateButton{padding:12px 14px !important}
.buildPage .stepHintRow{margin-bottom:8px !important}
.buildPage .inlineHelpBubble{position:relative}
.buildPage .inlineHelpBubble summary{
  width:30px;height:30px;font-size:15px;
  background:linear-gradient(180deg,var(--v317-stone),#fff) !important;
  color:var(--v317-navy) !important;
}
.buildPage .inlineHelpBubble>div{
  right:0;left:auto;max-width:min(260px,calc(100vw - 42px));
}
.buildPage .modeLeadGrid .modeLeadCopy{min-width:0}
.buildPage .modeLeadText{margin-bottom:0}
.buildPage .packageInsights,
.buildPage .buildModeSummary,
.buildPage #packageIncludeBox{margin-top:10px !important}
.buildPage .buildValidationBox,
.buildPage #buildSummaryHint{display:none !important}

.buildPage .fold{overflow:visible}
.buildPage .stepHintRow{position:relative}
.buildPage .inlineHelpBubble{margin-left:auto;z-index:8}
.buildPage .inlineHelpBubble>div{right:0 !important;left:auto !important;transform:none !important}

/* Smart range calendar */
.smartDateCardRange{padding:16px;border:1px solid var(--v317-line);border-radius:22px;background:linear-gradient(180deg,#fff,#f8fbff)}
.compactSmartDateHead small{display:block;margin-top:4px;color:#607489}
.smartRangePicker{position:relative;margin-top:10px}
.smartRangeTrigger{
  width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:4px;
  padding:16px 18px;border:1px solid var(--v317-line);background:linear-gradient(180deg,#fff,var(--v317-stone));
  color:var(--v317-navy);box-shadow:0 12px 26px rgba(16,37,59,.06);font:inherit;text-align:left;cursor:pointer;
}
.smartRangeTriggerLabel{font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#667b90}
.smartRangeTrigger strong{font-size:22px;line-height:1.15;color:var(--v317-navy)}
.smartRangePanel{
  position:absolute;left:0;right:0;top:calc(100% + 10px);z-index:60;padding:14px;
  border:1px solid var(--v317-line);border-radius:24px;background:#fff;box-shadow:0 24px 40px rgba(16,37,59,.16);
}
.smartRangeNav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-bottom:10px}
.smartRangeNavBtn{
  width:40px;height:40px;border:1px solid var(--v317-line);background:linear-gradient(180deg,#fff,var(--v317-stone));color:var(--v317-navy);font-size:24px;line-height:1;cursor:pointer;
}
.smartRangeMonthLabel{text-align:center;font-weight:900;color:var(--v317-navy);font-size:16px}
.smartRangeWeekdays,
.smartRangeGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.smartRangeWeekdays{margin-bottom:6px}
.smartRangeWeekdays span{text-align:center;font-size:11px;font-weight:900;color:#70839a;text-transform:uppercase}
.smartRangeDay{
  aspect-ratio:1/1;border:1px solid rgba(16,37,59,.08);border-radius:16px;background:#fff;color:var(--v317-navy);
  font:inherit;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;
}
.smartRangeDay:hover{background:#f4f8fc}
.smartRangeDay.is-muted{opacity:.38}
.smartRangeDay.is-start,.smartRangeDay.is-end{background:linear-gradient(180deg,var(--v317-navy),var(--v317-navy-2));color:#fff;border-color:transparent}
.smartRangeDay.is-in-range{background:#edf4fa;border-color:#d2e1ee}
.smartRangeDay.is-today::after{content:"";position:absolute;bottom:6px;left:50%;transform:translateX(-50%);width:6px;height:6px;border-radius:999px;background:#3cc4c4}
.smartRangeFooter{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(16,37,59,.08);font-size:13px;color:#5c7086}
.smartRangeFooterActions{display:flex;gap:8px;flex-wrap:wrap}
.smartDateFieldsHidden{display:none !important}
.smartRangePicker.is-open .smartRangeTrigger{box-shadow:0 18px 32px rgba(16,37,59,.12)}

/* Build receipt */
.mobileReceiptDock{
  position:fixed;left:12px;right:12px;top:74px;z-index:2600;display:none;
}
.mobileReceiptDock.is-visible{display:block}
.mobileReceiptDock .buildInlineEstimateButton{
  box-shadow:0 18px 34px rgba(16,37,59,.16) !important;
  background:#fff !important;
}
.mobileReceiptDockSpacer{display:none;height:0}
.buildPage .buildInlineEstimate.compactReceipt{position:sticky !important;top:76px !important;z-index:22}

@media (max-width:900px){
  .buildPage .buildInlineEstimate.compactReceipt{top:80px !important}
}
@media (max-width:780px){
  .smartDateCardRange{padding:14px}
  .smartRangeTrigger{padding:14px 16px}
  .smartRangeTrigger strong{font-size:18px}
  .smartRangePanel{padding:12px;border-radius:20px}
  .smartRangeDay{border-radius:14px}
  .smartRangeFooter{flex-direction:column;align-items:flex-start}
  .smartRangeFooterActions{width:100%}
  .smartRangeFooterActions .btn{flex:1 1 calc(50% - 6px);justify-content:center}
  .buildPage .bookHeroCompactRail,
  .buildPage .buildTrustStrip{margin-bottom:0 !important}
  .buildPage .buildTrustStrip span{white-space:nowrap}
  .mobileReceiptDock{top:78px}
}

/* Contact/footer layout tightening */
.footerBrand .notice{max-width:40ch}
.contactMiniMeta{gap:8px;align-items:center}
.contactMiniMeta .chip{padding:10px 12px}

/* Drawer layout */
@media (max-width:560px){
  .drawerTop{grid-template-columns:auto 1fr auto;display:grid;align-items:center}
  .drawerLang{justify-content:flex-end;flex-wrap:nowrap;overflow:auto;padding-bottom:2px}
  .drawerLang .chip{white-space:nowrap}
}
