/* ============================================================
   Arasu WP/Elementor adaptation layer - loaded after foundation
   Sticky must live on the Elementor wrapper, not the kit element.
   Header intentionally NOT sticky (client choice 2026-07-20).
   ============================================================ */

/* service-page horizontal sub-nav: stick its Elementor wrapper */
.e-con:has(.svc-subnav){position:sticky;top:var(--subnav-top,0px);z-index:45}
.e-con:has(.svc-subnav) .svc-subnav{position:static}

/* ---- mobile fixes ---- */
@media (max-width:600px){
  /* long CTA labels were forcing 15-20px horizontal scroll */
  .ad .shh-btn{white-space:normal;max-width:100%;text-align:center}
}
@media (max-width:768px){
  /* belt-and-braces: no document-level horizontal scroll on phones */
  html,body{overflow-x:clip}
}

/* ---- Elementor Pro forms embedded in kit cards ---- */
.ar-form-embed .elementor-form-fields-wrapper{gap:12px 14px}
.ar-form-embed .elementor-field-group{margin-bottom:2px}
.ar-form-embed .elementor-field-label{font-size:13px;font-weight:600;color:var(--shh-silver-700)}
.ar-form-embed .elementor-field-required .elementor-field-label:after{content:" *";color:var(--shh-danger)}
.ar-form-embed .elementor-field-textual{font:inherit;font-size:14.5px;color:var(--shh-ink);background:#fff;border:1px solid var(--shh-silver-200);border-radius:10px;padding:11px 13px}
.ar-form-embed .elementor-field-textual:focus{border-color:var(--shh-primary);box-shadow:0 0 0 3px var(--shh-primary-soft);outline:none}
.ar-form-embed .elementor-button{font-family:inherit;font-weight:600;font-size:15px;background:var(--shh-action);border-radius:12px;padding:13px 18px;width:100%}
.ar-form-embed .elementor-button:hover{background:var(--shh-action-dark)}
.ar-form-embed .elementor-message{font-size:13.5px}
/* dark cards (navy booking hero) keep labels readable */
.ad-bookcard--dark .ar-form-embed .elementor-field-label{color:#fff}
/* selects match text inputs */
.ar-form-embed select.elementor-field-textual, .ar-form-embed .elementor-field-type-select select{font:inherit;font-size:14.5px;color:var(--shh-ink);background:#fff;border:1px solid var(--shh-silver-200);border-radius:10px;padding:11px 13px;width:100%;min-height:44px}
.ar-form-embed .elementor-select-wrapper{width:100%}


/* ---- mobile drawer: header-mirroring accordion menu ---- */
.ad-drawer__sec{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;background:none;border:0;border-bottom:1px solid var(--shh-silver-100);padding:12px 2px;font:inherit;font-size:15px;font-weight:600;color:var(--shh-ink);cursor:pointer;text-align:left}
.ad-drawer__sec svg{width:17px;height:17px;transition:transform .2s;color:var(--shh-silver-500)}
.ad-drawer__sec.open svg{transform:rotate(180deg)}
.ad-drawer__sec.open{color:var(--shh-primary)}
.ad-drawer__group{display:none}
.ad-drawer__group.open{display:block}
.ad-drawer__group .sub{padding-left:14px}
.ad-drawer__group a{display:block;padding:10px 2px;border-bottom:1px solid var(--shh-silver-50)}
.ad-drawer__group a:last-child{border-bottom:0}


/* ---- mobile: no topbar; drawer covers full viewport, centre aligned ---- */
@media (max-width:782px){
  .ad-topbar{display:none!important}
  .ad-drawer__panel{width:100vw;max-width:100vw;right:0;left:0;padding:26px 22px 34px;text-align:center;align-items:stretch}
  .ad-drawer__panel > a{justify-content:center;text-align:center}
  .ad-drawer__sec{justify-content:center;text-align:center;position:relative}
  .ad-drawer__sec svg{position:absolute;right:6px;top:50%;transform:translateY(-50%)}
  .ad-drawer__sec.open svg{transform:translateY(-50%) rotate(180deg)}
  .ad-drawer__group a{text-align:center;padding-left:0}
  .ad-drawer__group .sub{padding-left:0}
  .ad-drawer__panel .x{position:absolute;top:14px;right:14px}
}
/* fixed bottom nav WhatsApp glyph */
.ad-bottomnav .ar-wa{width:21px;height:21px;display:block;margin:0 auto}

/* ---- blog archive: kit-styled cards for Elementor archive-posts ---- */
.arasu-archive-head{background:linear-gradient(180deg,var(--shh-cream),#fff);padding:34px 0 8px}
.arasu-archive{padding-top:10px;padding-bottom:56px}
.arasu-archive .elementor-post{background:#fff;border:1px solid var(--shh-silver-100);border-radius:18px;overflow:hidden;box-shadow:0 10px 30px -22px rgba(20,35,59,.35);transition:transform .18s ease,box-shadow .18s ease}
.arasu-archive .elementor-post:hover{transform:translateY(-3px);box-shadow:0 18px 40px -22px rgba(20,35,59,.45)}
.arasu-archive .elementor-post__text{padding:16px 18px 20px}
.arasu-archive .elementor-post__title{font-family:var(--font-display);font-weight:600;font-size:16.5px;line-height:1.4;letter-spacing:-0.01em}
.arasu-archive .elementor-post__title a{color:var(--ad-navy)}
.arasu-archive .elementor-post__title a:hover{color:var(--shh-primary)}
.arasu-archive .elementor-post__excerpt p{font-size:13.8px;line-height:1.6;color:var(--text-muted,#5C616A)}
.arasu-archive .elementor-post__meta-data{font-size:12.5px;color:var(--shh-silver-500);padding:0 18px;margin-top:10px}
.arasu-archive .elementor-post__read-more{font-weight:600;font-size:13.5px;color:var(--shh-action)}
.arasu-archive .elementor-post__thumbnail__link{display:block;background:var(--shh-primary-soft)}
.arasu-archive .elementor-pagination{margin-top:26px;font-family:var(--font-display)}
.arasu-archive .elementor-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;border-radius:10px;border:1px solid var(--shh-silver-200);margin:0 3px;color:var(--ad-navy);font-weight:600}
.arasu-archive .elementor-pagination .page-numbers.current{background:var(--shh-primary);border-color:var(--shh-primary);color:#fff}

/* ---- FAQ/accordion question: faq state pin - brand colors on every state ---- */
.ad .shh-faq__q, .ad .ad-acc__q{background:transparent!important;color:var(--text-strong,#2F3237)!important;border:none!important;box-shadow:none!important;-webkit-appearance:none;appearance:none;text-shadow:none!important}
.ad .shh-faq__q:hover, .ad .shh-faq.is-open > .shh-faq__q, .ad .shh-faq__q[aria-expanded="true"],
.ad .ad-acc__q:hover, .ad .ad-acc.open > .ad-acc__q{background:var(--shh-primary-soft,#E7F0FA)!important;color:var(--ad-navy,#14233B)!important}
.ad .shh-faq__q:focus-visible, .ad .ad-acc__q:focus-visible{outline:2px solid var(--shh-primary,#1E5AA5);outline-offset:-2px}

/* ===== QA responsive fixes (mobile horizontal overflow) - added by pre-launch QA ===== */
@media (max-width: 900px) {
  .ad-acc__q, .shh-faq__q { white-space: normal !important; text-align: left !important; }
  .cx-faq, .cx-faq__list { grid-template-columns: minmax(0, 1fr) !important; }
  .ad-acc, .ad-acc__a { min-width: 0 !important; }
  .ad-othercats__toggle { min-width: 0 !important; white-space: normal !important; }
  .ad-othercats__toggle > * { min-width: 0 !important; }
  .key-band { flex-wrap: wrap !important; }
  .key-band > * { min-width: 0 !important; }
  .ad-table, .cos-costtable { display: block !important; max-width: 100% !important; overflow-x: auto !important; }
}
/* ===== end QA responsive fixes ===== */


/* ===== QA form column fix: Elementor column widths must account for the 14px flex gap ===== */
.ar-form-embed .elementor-field-group.elementor-column{padding:0 !important}
.ar-form-embed .elementor-field-group.elementor-col-25{width:calc(25% - 10.5px) !important}
.ar-form-embed .elementor-field-group.elementor-col-33{width:calc(33.333% - 9.34px) !important}
.ar-form-embed .elementor-field-group.elementor-col-40{width:calc(40% - 8.4px) !important}
.ar-form-embed .elementor-field-group.elementor-col-50{width:calc(50% - 7px) !important}
.ar-form-embed .elementor-field-group.elementor-col-60{width:calc(60% - 5.6px) !important}
.ar-form-embed .elementor-field-group.elementor-col-66{width:calc(66.666% - 4.67px) !important}
.ar-form-embed .elementor-field-group.elementor-col-75{width:calc(75% - 3.5px) !important}
.ar-form-embed .elementor-field-group.elementor-col-100{width:100% !important}
@media (max-width: 767px){
  .ar-form-embed .elementor-field-group.elementor-column{width:100% !important}
}
/* ===== end QA form column fix ===== */
