/* ============================================================================
   AREKAS — CONVERSION LAYER STYLES
   Pairs with assets/site.js. Uses the Forest & Gold tokens from theme.css,
   so it must load after it. Also holds the shared "sales page" blocks used
   by the event pages (photo hero, facts strip, sample day, stay upsell).
   ========================================================================== */

/* ── Buttons ─────────────────────────────────────────────────────────── */
.ax-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:44px;padding:12px 22px;border-radius:3px;cursor:pointer;
  font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  text-decoration:none;border:1px solid transparent;transition:background .2s,color .2s,border-color .2s,transform .2s;
}
.ax-btn:focus-visible,.nav-dd-btn:focus-visible,.ax-mbar a:focus-visible,
.ax-chips input:focus-visible+span,.ax-enq :is(input,select,textarea):focus-visible,
.ax-est :is(input):focus-visible{outline:2px solid var(--gold-500);outline-offset:2px;}
.ax-btn-gold{background:linear-gradient(160deg,var(--gold-500),var(--gold-600));color:var(--forest-900);border-color:var(--gold-400);}
.ax-btn-gold:hover{background:var(--forest-800);color:var(--gold-300);border-color:var(--forest-800);}
.ax-btn-ghost{background:transparent;color:var(--forest-800);border-color:var(--hair);}
.ax-btn-ghost:hover{border-color:var(--gold-600);color:var(--gold-ink);}
.ax-btn-light{background:transparent;color:var(--cream-100);border-color:rgba(234,213,164,.45);}
.ax-btn-light:hover{background:rgba(234,213,164,.12);color:var(--gold-300);}

/* ── Nav: Events dropdown + site-visit button ────────────────────────── */
.nav-dd{position:relative;}
.nav-dd-btn{
  background:none;border:0;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px;
  font-family:var(--sans);font-size:11px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(245,234,203,.78);
}
.nav-dd-btn i{font-size:9px;transition:transform .2s;}
.nav-dd-btn:hover,.nav-dd-btn.ax-current{color:var(--gold-300);}
.nav-dd.open .nav-dd-btn i{transform:rotate(180deg);}
.nav-dd-menu{
  list-style:none;margin:0;padding:10px 0;position:absolute;top:calc(100% + 18px);left:50%;transform:translateX(-50%);
  min-width:250px;background:var(--forest-850);border:1px solid var(--hair-dark);border-radius:6px;
  box-shadow:0 26px 50px -24px rgba(6,23,13,.95);display:none;z-index:950;
}
.nav-dd-menu::before{content:'';position:absolute;left:0;right:0;top:-18px;height:18px;}
.nav-dd.open .nav-dd-menu{display:block;}
@media(hover:hover) and (min-width:1100px){.nav-dd:hover .nav-dd-menu{display:block;}}
.nav-dd-menu a{display:block;padding:10px 22px!important;white-space:nowrap;}
.nav-dd-menu a::after{display:none!important;}
.nav-dd-menu a small{display:block;font-size:9.5px;letter-spacing:.12em;color:rgba(245,234,203,.45);text-transform:none;margin-top:2px;}
.nav-dd-menu a:hover{background:rgba(201,164,85,.08);}

.btn-nav-visit{
  flex-shrink:0;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;
  padding:11px 20px;border-radius:3px;text-decoration:none;
  font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  background:linear-gradient(160deg,var(--gold-500),var(--gold-600));color:var(--forest-900);border:1px solid var(--gold-400);
}
.btn-nav-visit:hover{background:var(--cream-100);color:var(--forest-900);}
/* With the gold site-visit button as the primary, WhatsApp becomes secondary. */
body .site-nav .btn-nav-cta{background:transparent!important;border-color:rgba(234,213,164,.45)!important;}
body .site-nav .btn-nav-cta:hover{background:rgba(234,213,164,.12)!important;color:var(--gold-300)!important;box-shadow:none!important;}
@media(min-width:1100px) and (max-width:1439px){
  .btn-nav-visit{padding:10px 14px;font-size:10px;letter-spacing:.12em;}
  .nav-dd-btn{font-size:10px;letter-spacing:.14em;}
}
@media(max-width:1099px){
  body.ax-has-toggler .btn-nav-visit{display:none;}
  body.ax-has-toggler .nav-mobile-open .nav-dd-menu{
    display:block;position:static;transform:none;background:transparent;border:0;box-shadow:none;
    padding:8px 0 0 14px;min-width:0;
  }
  body.ax-has-toggler .nav-mobile-open .nav-dd-menu a{padding:7px 0!important;}
  body.ax-has-toggler .nav-mobile-open .nav-dd-btn i{display:none;}
  body.ax-has-toggler .nav-mobile-open .nav-links{max-height:calc(100vh - 90px);overflow-y:auto;}
}

/* ── Mobile bottom bar ───────────────────────────────────────────────── */
.ax-mbar{display:none;}
@media(max-width:767px){
  .ax-mbar{
    display:grid;grid-template-columns:1fr 1fr 1.3fr;position:fixed;left:0;right:0;bottom:0;z-index:890;
    background:var(--forest-900);border-top:1px solid var(--hair-dark);
    padding:6px 8px calc(6px + env(safe-area-inset-bottom));gap:6px;
  }
  .ax-mbar a{
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:48px;
    color:var(--cream-100);text-decoration:none;font-family:var(--sans);font-size:11px;letter-spacing:.08em;border-radius:4px;
  }
  .ax-mbar a i{font-size:17px;color:var(--gold-400);}
  .ax-mbar a.ax-mbar-primary{background:linear-gradient(160deg,var(--gold-500),var(--gold-600));color:var(--forest-900);font-weight:600;}
  .ax-mbar a.ax-mbar-primary i{color:var(--forest-900);}
  body.ax-has-mbar{padding-bottom:64px;}
  body.ax-has-mbar .wa-float,body.ax-has-mbar .call-float{display:none!important;}
  .ax-mbar.ax-mbar-4{grid-template-columns:1fr 1fr 1fr 1.3fr;}
  .ax-mbar button.ax-mbar-chat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:48px;
    background:none;border:0;cursor:pointer;color:var(--cream-100);font-family:var(--sans);font-size:11px;letter-spacing:.08em;border-radius:4px;}
  .ax-mbar button.ax-mbar-chat i{font-size:17px;color:var(--gold-400);}
  .ax-mbar button.ax-mbar-chat:focus-visible{outline:2px solid var(--gold-400);outline-offset:2px;}
  .ax-qc-launch{display:none!important;}
}
/* When the Quickchat bubble is on (bottom-right), move our floats left. */
@media(min-width:768px){
  body.ax-chat-on .wa-float{right:auto!important;left:28px!important;}
  body.ax-chat-on .call-float{right:auto!important;left:94px!important;}
}

/* ── Panels and form fields ──────────────────────────────────────────── */
.ax-panel{
  background:var(--cream-050);border:1px solid var(--hair);border-radius:14px;padding:clamp(22px,3vw,36px);
  box-shadow:0 30px 60px -44px rgba(6,23,13,.5);color:var(--ink-900);
}
.ax-panel h2,.ax-panel h3{font-family:var(--serif);color:var(--forest-800);}
.ax-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;min-width:0;}
.ax-field label,.ax-chips legend,.ax-checks legend{
  font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-600);
}
.ax-field label span,.ax-field label em{text-transform:none;letter-spacing:0;font-weight:400;font-style:normal;color:var(--ink-400);}
.ax-field :is(input,select,textarea){
  width:100%;min-height:46px;padding:11px 14px;border:1px solid var(--hair);border-radius:6px;
  background:#fff;color:var(--ink-900);font:400 15px/1.4 var(--sans);
}
.ax-field textarea{min-height:70px;resize:vertical;}
.ax-field :is(input,select,textarea):focus{border-color:var(--gold-600);outline:none;box-shadow:0 0 0 3px rgba(201,164,85,.22);}
.ax-row{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;}
@media(max-width:520px){.ax-row{grid-template-columns:1fr;}}
.ax-fine{font-size:12.5px;line-height:1.6;color:var(--ink-400);margin:10px 0 0;}
.ax-fine a{color:var(--gold-ink);}
.ax-err{color:var(--terra-700);font-size:13.5px;margin:10px 0 0;min-height:1em;}
.ax-err:empty{display:none;}

.ax-steps{display:flex;gap:10px;list-style:none;padding:0;margin:0 0 20px;counter-reset:s;}
.ax-steps li{
  flex:1;counter-increment:s;padding-top:10px;border-top:3px solid var(--hair);
  font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-400);
}
.ax-steps li::before{content:counter(s) ' · ';}
.ax-steps li.on{border-color:var(--gold-500);color:var(--forest-800);}
.ax-actions{display:flex;gap:10px;flex-wrap:wrap;}
.ax-actions .ax-btn-gold{flex:1;}
.ax-enq .ax-next{width:100%;margin-top:6px;}
.ax-done:focus{outline:none;}
.ax-done h3{font-size:26px;margin:0 0 6px;}
.ax-done p{color:var(--ink-600);margin:0 0 16px;}

/* Chips (radio) */
.ax-chips,.ax-checks{border:0;padding:0;margin:0 0 16px;min-width:0;}
.ax-chips legend,.ax-checks legend{margin-bottom:8px;padding:0;}
.ax-chips{display:flex;flex-wrap:wrap;gap:8px;}
.ax-chips legend{width:100%;}
.ax-chips label{position:relative;cursor:pointer;}
.ax-chips input{position:absolute;opacity:0;pointer-events:none;}
.ax-chips span{
  display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid var(--hair);border-radius:40px;
  background:#fff;font-size:13.5px;color:var(--ink-700);transition:all .15s;
}
.ax-chips input:checked+span{background:var(--forest-800);border-color:var(--forest-800);color:var(--gold-300);}
.ax-checks label{display:flex;align-items:center;gap:10px;min-height:40px;font-size:14.5px;color:var(--ink-700);cursor:pointer;}
.ax-checks input{width:18px;height:18px;accent-color:var(--forest-700);}
.ax-checks em{font-style:normal;color:var(--ink-400);font-size:13px;}
.ax-visit-lead{color:var(--ink-600);font-size:14.5px;margin:0 0 14px;}

/* ── Estimator ───────────────────────────────────────────────────────── */
.ax-est{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:start;}
@media(max-width:860px){.ax-est{grid-template-columns:1fr;}}
.ax-est input[type=range]{width:100%;accent-color:var(--gold-600);min-height:32px;padding:0;border:0;background:none;box-shadow:none;}
.ax-est output{font-family:var(--serif);font-size:22px;color:var(--forest-800);letter-spacing:0;text-transform:none;}
.ax-est-out{background:var(--forest-800);color:var(--cream-100);border-radius:12px;padding:26px;position:sticky;top:96px;}
.ax-est-lbl{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-400);}
.ax-est-total{font-family:var(--serif);font-size:clamp(40px,5vw,54px);line-height:1.1;margin:6px 0 14px;color:var(--cream-050);}
.ax-est-lines{list-style:none;padding:0;margin:0 0 6px;border-top:1px solid var(--hair-dark);}
.ax-est-lines li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--hair-dark);font-size:13.5px;color:rgba(245,234,203,.8);}
.ax-est-lines b{font-weight:500;color:var(--cream-050);white-space:nowrap;}
.ax-est-out .ax-fine{color:rgba(245,234,203,.6);}
.ax-est-out .ax-btn{width:100%;margin-top:16px;}

/* ── Event "sales page" blocks ───────────────────────────────────────── */
.page-hero.ax-photo-hero{
  background:linear-gradient(180deg,rgba(6,23,13,.55),rgba(6,23,13,.82)),var(--hero-img) center/cover no-repeat!important;
  padding:clamp(110px,14vw,170px) 5% clamp(70px,9vw,110px)!important;
}
.page-hero.ax-photo-hero::before,.page-hero.ax-photo-hero::after{display:none;}
@media(max-width:800px){
  .page-hero.ax-photo-hero{background-image:linear-gradient(180deg,rgba(6,23,13,.55),rgba(6,23,13,.82)),var(--hero-img-sm,var(--hero-img))!important;}
}
.page-hero.ax-photo-hero p{color:rgba(245,234,203,.85)!important;}
.ax-hero-ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px;position:relative;}

.ax-facts{
  display:grid;grid-template-columns:repeat(4,1fr);background:var(--forest-900);
  border-bottom:1px solid var(--hair-dark);
}
.ax-facts div{padding:22px 16px;text-align:center;border-right:1px solid var(--hair-dark);}
.ax-facts div:last-child{border-right:0;}
.ax-facts b{display:block;font-family:var(--serif);font-weight:500;font-size:clamp(24px,3vw,32px);color:var(--gold-300);line-height:1.1;}
.ax-facts span{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(245,234,203,.65);}
@media(max-width:640px){.ax-facts{grid-template-columns:1fr 1fr;}.ax-facts div:nth-child(2){border-right:0;}.ax-facts div:nth-child(-n+2){border-bottom:1px solid var(--hair-dark);}}

.ax-shots{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:200px 200px;gap:10px;margin-top:8px;}
.ax-shots figure{margin:0;position:relative;overflow:hidden;border-radius:10px;background:var(--cream-300);}
.ax-shots figure:first-child{grid-row:1 / span 2;}
.ax-shots img{width:100%;height:100%;object-fit:cover;display:block;}
.ax-shots figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:22px 12px 9px;font-size:12px;color:var(--cream-050);
  background:linear-gradient(transparent,rgba(6,23,13,.75));
}
@media(max-width:700px){
  .ax-shots{grid-template-columns:1fr 1fr;grid-template-rows:220px 140px 140px;}
  .ax-shots figure:first-child{grid-column:1 / span 2;grid-row:auto;}
}

.ax-timeline{list-style:none;margin:8px 0 0;padding:0;position:relative;}
.ax-timeline::before{content:'';position:absolute;left:78px;top:6px;bottom:6px;width:1px;background:var(--hair);}
.ax-timeline li{display:grid;grid-template-columns:64px 1fr;gap:30px;padding:0 0 22px;position:relative;}
.ax-timeline li::before{
  content:'';position:absolute;left:73px;top:6px;width:11px;height:11px;border-radius:50%;
  background:var(--cream-050);border:2px solid var(--gold-600);
}
.ax-timeline time{font-family:var(--serif);font-size:19px;color:var(--gold-ink);text-align:right;line-height:1.2;}
.ax-timeline b{display:block;font-weight:600;color:var(--forest-800);font-size:15px;}
.ax-timeline span{font-size:14px;color:var(--ink-600);line-height:1.7;}
.ax-day-lbl{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-400);margin:18px 0 12px;}

.ax-upsell{
  display:grid;grid-template-columns:260px 1fr;gap:0;overflow:hidden;border-radius:14px;
  background:var(--forest-800);color:var(--cream-100);
}
.ax-upsell img{width:100%;height:100%;min-height:220px;object-fit:cover;display:block;}
.ax-upsell > div{padding:28px 30px;}
.ax-upsell h3{font-family:var(--serif);font-size:28px;font-weight:500;color:var(--cream-050);margin:0 0 8px;}
.ax-upsell p{color:rgba(245,234,203,.72);font-size:14.5px;line-height:1.8;margin:0 0 16px;}
.ax-upsell .ax-btns{display:flex;gap:10px;flex-wrap:wrap;}
@media(max-width:640px){.ax-upsell{grid-template-columns:1fr;}.ax-upsell img{min-height:180px;max-height:220px;}}

.ax-enquire-wrap{display:grid;grid-template-columns:1fr 1.2fr;gap:36px;align-items:start;}
.ax-enquire-wrap .section-body p{margin-bottom:12px;}
@media(max-width:860px){.ax-enquire-wrap{grid-template-columns:1fr;}}

.ax-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:8px;}
@media(max-width:860px){.ax-tiers{grid-template-columns:1fr;}}
.ax-tier{background:var(--cream-050);border:1px solid var(--hair);border-radius:14px;padding:26px 24px;display:flex;flex-direction:column;}
.ax-tier.featured{border-color:var(--gold-500);box-shadow:0 24px 50px -36px rgba(122,93,31,.8);}
.ax-tier-name{font-family:var(--serif);font-size:28px;color:var(--forest-800);line-height:1.1;}
.ax-tier-range{display:inline-block;margin:8px 0 14px;padding:4px 12px;border-radius:30px;background:var(--cream-200);font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--gold-ink);}
.ax-tier-price{font-family:var(--serif);font-size:26px;color:var(--ink-900);}
.ax-tier-price small{display:block;font-family:var(--sans);font-size:12.5px;color:var(--ink-400);}
.ax-tier ul{list-style:none;padding:0;margin:16px 0 20px;flex:1;}
.ax-tier li{font-size:14px;color:var(--ink-600);padding:5px 0 5px 22px;position:relative;line-height:1.6;}
.ax-tier li::before{content:'';position:absolute;left:2px;top:12px;width:9px;height:5px;border-left:1.5px solid var(--gold-600);border-bottom:1.5px solid var(--gold-600);transform:rotate(-45deg);}

/* Contact page */
.ax-contact-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:28px;align-items:start;}
@media(max-width:900px){.ax-contact-grid{grid-template-columns:1fr;}}
.ax-channels{display:grid;gap:10px;margin:0;padding:0;list-style:none;}
.ax-channels a{
  display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--hair);border-radius:10px;background:#fff;
  text-decoration:none;color:var(--ink-900);min-height:44px;
}
.ax-channels a:hover{border-color:var(--gold-600);}
.ax-channels i{font-size:20px;color:var(--gold-ink);width:24px;text-align:center;}
.ax-channels small{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-400);}
.ax-map{border-radius:12px;overflow:hidden;border:1px solid var(--hair);height:300px;margin-top:16px;}
.ax-map iframe{width:100%;height:100%;border:0;display:block;}

@media(prefers-reduced-motion:reduce){
  .ax-btn,.nav-dd-btn i,.ax-chips span{transition:none;}
}

/* Homepage "stay over" band (replaces the old cottage cards) */
.ax-stay-band{padding:clamp(40px,6vw,72px) 5%!important;}
.ax-stay-band .ax-upsell{max-width:1100px;margin:0 auto;grid-template-columns:minmax(220px,380px) 1fr;}
.ax-stay-band .ax-upsell > div{padding:clamp(24px,3vw,40px);align-self:center;}
@media(max-width:640px){.ax-stay-band .ax-upsell{grid-template-columns:1fr;}}

/* "Ways to save" strip (renders only when OFFERS in site.js has live offers) */
.ax-offers{margin:8px 0 40px;}
.ax-offers-h{font-family:var(--serif);font-size:28px;color:var(--forest-800);margin:0 0 12px;}
.ax-offers-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;}
.ax-offer{background:var(--cream-050);border:1.5px dashed var(--gold-600);border-radius:12px;padding:16px 18px;}
.ax-offer b{display:block;color:var(--forest-800);font-size:16px;}
.ax-offer p{margin:4px 0 6px;color:var(--ink-600);font-size:14px;line-height:1.6;}
.ax-offer small{color:var(--gold-ink);font-weight:600;font-size:12px;}

/* Homepage hero facts line */
.ax-hero-facts{display:flex;flex-wrap:wrap;gap:6px 18px;margin:18px 0 0;padding:0;list-style:none;color:rgba(250,245,234,.9);font-size:14px;letter-spacing:.04em;}
.ax-hero-facts li{display:flex;align-items:center;gap:7px;}
.ax-hero-facts i{color:var(--gold-400);}
@media(max-width:767px){.ax-hero-facts{font-size:12.5px;gap:4px 12px;margin-top:12px;}}

/* ── AI assistant panel (Quickchat embedded; no floating bubble) ─────────── */
.ax-qc-sheet{position:fixed;z-index:1000;display:flex;flex-direction:column;background:#fff;overflow:hidden;
  right:22px;bottom:22px;width:min(400px,calc(100vw - 44px));height:min(640px,calc(100vh - 110px));
  border-radius:16px;box-shadow:0 24px 60px -18px rgba(20,32,24,.45),0 2px 8px rgba(20,32,24,.12);}
.ax-qc-sheet[hidden]{display:none;}
.ax-qc-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 18px;
  background:var(--forest-900);color:var(--cream-100);font-family:var(--sans);}
.ax-qc-bar b{display:block;font-weight:600;font-size:16px;letter-spacing:.02em;}
.ax-qc-bar small{display:block;font-size:12px;color:rgba(255,255,255,.75);margin-top:1px;}
.ax-qc-x{flex:none;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:18px;cursor:pointer;}
.ax-qc-x:focus-visible{outline:2px solid var(--gold-400);outline-offset:2px;}
.ax-qc-host{position:relative;flex:1;min-height:0;}
.ax-qc-host iframe{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;border:0!important;}
.ax-qc-wait{margin:0;padding:24px 18px;color:var(--ink-600);font-family:var(--sans);}
.ax-qc-launch{position:fixed;right:22px;bottom:22px;z-index:45;display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:0 20px 0 16px;
  border:0;border-radius:999px;background:var(--forest-900);color:#fff;font:600 15px var(--sans);letter-spacing:.02em;cursor:pointer;
  box-shadow:0 12px 28px -10px rgba(20,32,24,.5);}
.ax-qc-launch i{color:var(--gold-400);font-size:18px;}
.ax-qc-launch:hover{background:var(--forest-800);}
.ax-qc-launch:focus-visible{outline:3px solid var(--gold-400);outline-offset:2px;}
body.ax-qc-open .ax-qc-launch{display:none;}
@media(max-width:767px){
  .ax-qc-sheet{inset:0;width:auto;height:auto;border-radius:0;box-shadow:none;}
  .ax-qc-bar{padding-top:calc(10px + env(safe-area-inset-top));}
  body.ax-qc-open{overflow:hidden;}
}
