/* ===================================================================
   À la carte / Himalayan Moments (template-alacarte.php,
   single-alacarte_itinerary.php), as the "Himalayan Moments" preview:
   card list with filters; experience page with a sticky price box,
   info boxes and the booking request.
   =================================================================== */
@font-face{font-family:"Miller Display";src:url('../fonts/MillerDisplay-Bold.woff') format('woff');font-weight:700;font-style:normal;font-display:swap}
.wac{
  --c-primary:#791e30;--c-primary-2:#712822;--c-gold:#eebc1d;
  --c-ink:#2a1a1d;--c-ink-2:#6b5559;--c-ink-3:#8f7b7e;--c-line:#e4d8d5;--c-soft:#f6f0ee;--c-card:#fff;
  --c-ok:#2f7a4d;--c-err:#b3261e;--c-radius:10px;
  --c-serif:"Miller Display","Source Serif 4",Georgia,serif;--c-sans:'Merriweather Sans',system-ui,sans-serif;
  font-family:var(--c-sans);color:var(--c-ink);background:var(--wh-page-bg,#fbf8f7);font-size:16px;line-height:1.6
}
.wac *,.wac *::before,.wac *::after{box-sizing:border-box}
.wac [hidden]{display:none !important}
.wac :focus-visible{outline:3px solid var(--c-gold);outline-offset:2px}
.wac h1,.wac h2,.wac h3{font-family:var(--c-serif);font-weight:700;letter-spacing:0;text-transform:none;color:var(--c-ink);text-wrap:balance}
.wac-wrap{max-width:1180px;margin:0 auto;padding:36px 20px 64px}
.wac-wrap--single{max-width:1140px}
.wac-eyebrow{margin:0;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--c-primary)}
.wac-title{font-size:clamp(2rem,4.5vw,3rem);line-height:1.1;margin:0 0 18px}
.wac-lede{max-width:62ch;color:var(--c-ink-2);margin:0 0 8px}
.wac-crumbs{font-size:13px;color:var(--c-ink-3);margin-bottom:10px}
.wac-crumbs a,.wac-back a{color:var(--c-primary)}
.wac-empty{color:var(--c-ink-3);padding:24px 0;margin:0}

/* buttons */
.wac-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;background:var(--c-primary);color:#fff !important;text-decoration:none !important;border:0;border-radius:8px;padding:.7em 1.15em;font-family:var(--c-sans);font-weight:700;font-size:.95rem;line-height:1.2;cursor:pointer;transition:background .15s}
.wac-btn:hover,.wac-btn:focus-visible{background:var(--c-primary-2)}
.wac-btn--gold{background:var(--c-gold);color:#2b1d00 !important}
.wac-btn--gold:hover,.wac-btn--gold:focus-visible{background:#e0ab08}
.wac-btn--block{display:flex;width:100%}

/* list: filters */
.wac-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;padding:14px 0 18px;margin-bottom:22px;border-bottom:1px solid var(--c-line)}
.wac-filter{display:flex;flex-direction:column;gap:4px;min-width:170px;flex:0 1 220px;margin:0}
.wac-filter span,.wac-field>span,.wac-factlist dt{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--c-ink-2)}
.wac-filter select,.wac-field select{width:100%;height:auto;border:1px solid var(--c-line);border-radius:8px;padding:.6em .75em;font:inherit;font-size:.95rem;color:var(--c-ink);background:#fff}
.wac-count{margin-left:auto;font-size:.85rem;color:var(--c-ink-3);padding-bottom:.6em}

/* list: cards */
.wac-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:22px}
.wac-card{display:flex;flex-direction:column;background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--c-radius);overflow:hidden}
.wac-card--featured{border-color:var(--c-gold);box-shadow:0 0 0 1px var(--c-gold)}
.wac-card__media{position:relative;display:block;aspect-ratio:3/2;background:var(--c-primary);overflow:hidden;text-decoration:none !important}
.wac-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.wac-card:hover .wac-card__media img{transform:scale(1.03)}
.wac-card__ph{display:flex;align-items:flex-end;width:100%;height:100%;padding:14px 16px;color:rgba(255,255,255,.92);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;background:radial-gradient(120% 90% at 100% 0%,rgba(238,188,29,.35),transparent 55%),linear-gradient(160deg,#8a2a3d,#5e1424)}
.wac-badge{position:absolute;top:12px;left:12px;background:var(--c-gold);color:#2b1d00;font-size:.72rem;font-weight:700;padding:4px 9px;border-radius:999px}
.wac-card__body{display:flex;flex-direction:column;gap:8px;padding:16px 18px 18px;flex:1}
.wac-card__type{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--c-primary)}
.wac-card__title{font-size:1.2rem;line-height:1.25;margin:0}
.wac-card__title a{color:inherit;text-decoration:none}
.wac-card__title a:hover{color:var(--c-primary)}
.wac-card__meta{display:flex;flex-wrap:wrap;gap:2px 14px;font-size:.82rem;color:var(--c-ink-3)}
.wac-card__text{margin:0;font-size:.9rem;color:var(--c-ink-2);line-height:1.55}
.wac-card__foot{margin-top:auto;padding-top:12px;display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.wac-price{font-variant-numeric:tabular-nums;line-height:1.25}
.wac-price small{display:block;font-size:.75rem;color:var(--c-ink-3)}
.wac-price strong{font-size:1.25rem;color:var(--c-ink)}
.wac .wac-price--req{font-size:1rem;color:var(--c-ink-2)}

/* experience page: two columns when there is room */
.wac-single .wac-wrap{container-type:inline-size}
.wac-layout{display:grid;grid-template-columns:1fr;gap:28px}
.wac-side{order:-1}
@container (min-width:820px){
  .wac-layout{grid-template-columns:minmax(0,1fr) 300px;gap:40px;align-items:start}
  .wac-side{order:0;position:sticky;top:calc(var(--wh-head-offset,0px) + 20px)}
}
.wac-pricebox{border:1px solid var(--c-line);border-top:4px solid var(--c-primary);border-radius:var(--c-radius);padding:20px;background:var(--c-card)}
.wac-pricebox__price strong{display:block;font-size:2rem;line-height:1.1;font-variant-numeric:tabular-nums}
.wac-pricebox__price strong.wac-price--req{font-size:1.4rem;color:var(--c-ink)}
.wac-pricebox__price span{font-size:.85rem;color:var(--c-ink-2)}
.wac-pricebox__note{margin:6px 0 0;font-size:.85rem;color:var(--c-ink-2)}
.wac-pricebox__link{display:inline-block;margin-top:6px;font-size:.85rem;color:var(--c-primary);font-weight:600}
.wac-factlist{margin:16px 0 18px;padding:14px 0 0;border-top:1px solid var(--c-line);display:grid;gap:10px}
.wac-factlist div{display:grid;gap:1px}
.wac-factlist dd{margin:0;font-size:.92rem;font-weight:600}
.wac-pricebox__small{margin:10px 0 0;font-size:.8rem;color:var(--c-ink-3);text-align:center}

.wac-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-bottom:22px}
.wac-gallery a{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:6px}
.wac-gallery img{width:100%;height:100%;object-fit:cover;display:block}
.wac-description{margin-bottom:8px}
.wac-description p{margin:0 0 1em;font-size:1.05rem}

/* boxes */
.wac-box{border:1px solid var(--c-line);border-radius:var(--c-radius);padding:20px 22px;margin:0 0 18px;background:var(--c-card);scroll-margin-top:calc(var(--wh-head-offset,0px) + 16px)}
.wac-box--soft{background:var(--c-soft);border-color:transparent}
.wac-box h2{font-size:1.3rem;margin:0 0 12px}
.wac-box h3{font-family:var(--c-sans);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--c-ink-2);margin:0 0 8px}
.wac-rich>:first-child{margin-top:0}
.wac-rich>:last-child{margin-bottom:0}
.wac-rich table{width:100%;border-collapse:collapse;font-size:.95rem;margin:0 0 10px;border:0}
.wac-rich td{padding:10px 0;border:0;border-bottom:1px solid var(--c-line);vertical-align:top;text-align:left;background:none}
.wac-rich td small{display:block;font-size:.82rem;color:var(--c-ink-3)}
.wac-rich td:last-child{text-align:right;white-space:nowrap;padding-left:16px;font-variant-numeric:tabular-nums}
.wac-rich p{font-size:.92rem;color:var(--c-ink-2)}
.wac-incl{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px 32px}
.wac-ticks,.wac-crosses,.wac-dots{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.wac-ticks li,.wac-crosses li,.wac-dots li{position:relative;padding-left:24px;line-height:1.5;margin:0}
.wac-ticks li::before{content:"✓";position:absolute;left:2px;color:var(--c-ok);font-weight:700}
.wac-crosses li::before{content:"✕";position:absolute;left:3px;color:var(--c-ink-3);font-size:.8em;top:.15em}
.wac-dots li::before{content:"";position:absolute;left:6px;top:.65em;width:6px;height:6px;border-radius:50%;background:var(--c-primary)}
.wac-box .wac-rich+.wac-dots{margin-top:10px}
.wac-country-note{margin:14px 0 0;padding:10px 14px;background:#fff7d6;border-radius:8px;font-size:.9rem;color:#5a4300}
.wac-back{margin:18px 0 0}
.wac-back a{font-weight:600}

/* booking request */
.wac-request{margin-top:36px;border:1px solid var(--c-line);border-radius:var(--c-radius);background:var(--c-card);overflow:hidden;scroll-margin-top:calc(var(--wh-head-offset,0px) + 16px)}
.wac-request__head{background:var(--c-primary);color:#fff;padding:18px 24px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px}
.wac .wac-request__head h2{color:#fff;margin:0;font-size:1.5rem}
.wac-request__exp{font-size:.9rem;opacity:.85}
.wac-intro{color:var(--c-ink-2);margin:18px 24px 0}
.wac-form{padding:18px 24px 24px}
.wac-legend{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-weight:700;font-size:1.05rem;color:var(--c-ink)}
.wac-legend--2{margin-top:10px}
.wac-step{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--c-gold);color:#2b1d00;font-size:.85rem}
.wac-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.wac-choose{margin-bottom:16px}
.wac-field{display:flex;flex-direction:column;gap:5px;margin:0}
.wac-estimate{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 14px;margin:0 0 20px;padding:12px 16px;background:var(--c-soft);border-radius:8px;font-variant-numeric:tabular-nums}
.wac-estimate span{font-size:.85rem;color:var(--c-ink-2)}
.wac-estimate strong{font-size:1.4rem}
.wac-estimate small{flex-basis:100%;font-size:.8rem;color:var(--c-ink-3)}
.wac-alert{padding:14px 16px;border-radius:8px;line-height:1.5;margin:0}
.wac-alert--err{background:#fbeaea;color:#7d1c17;border:1px solid #f0c2bf}

/* the Fluent Forms request form, in the preview's look */
.wac-ff .fluentform{font-family:var(--c-sans)}
.wac-ff .ff-el-group{margin-bottom:14px}
.wac-ff .ff-t-container{gap:16px}
.wac-ff .ff-t-cell{padding:0 !important}
.wac-ff .ff-el-input--label{margin-bottom:5px}
.wac-ff .ff-el-input--label label{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--c-ink-2)}
.wac-ff .ff-el-form-control{min-height:42px;border:1px solid var(--c-line);border-radius:8px;padding:.6em .75em;font:inherit;font-size:.95rem;color:var(--c-ink);background:#fff;box-shadow:none}
.wac-ff textarea.ff-el-form-control{min-height:90px;resize:vertical}
.wac-ff .ff-el-form-control:focus{border-color:var(--c-primary);outline:3px solid var(--c-gold);outline-offset:1px;box-shadow:none}
.wac-ff .ff-el-is-error .ff-el-form-control{border-color:var(--c-err)}
.wac-ff .error,.wac-ff .text-danger{font-size:13px;color:var(--c-err)}
.wac-ff .ff-el-tc label{font-size:.92rem;line-height:1.5;color:var(--c-ink-2);font-weight:400;text-transform:none;letter-spacing:0}
.wac-ff .ff-el-tc input{accent-color:var(--c-primary);width:1.05em;height:1.05em}
.wac-ff .ff-btn-submit,.wac-ff .ff_btn_style{padding:.7em 1.15em !important;border-radius:8px !important;background:var(--c-gold) !important;color:#2b1d00 !important;font-family:var(--c-sans);font-size:.95rem !important;font-weight:700;border:0}
.wac-ff .ff-btn-submit:hover{background:#e0ab08 !important}
.wac-ff .ff-message-success{padding:14px 16px;border:1px solid #b9dcc6;background:#e8f4ec;color:#1f5134;border-radius:8px;box-shadow:none}
.wac-ff .ff-message-success h4{font-family:var(--c-serif);font-size:1.3rem;margin:0 0 6px;color:#1f5134}
.wac-ff .ff-errors-in-stack{color:#7d1c17}

@media (max-width:640px){
  .wac-grid2{grid-template-columns:1fr}
  .wac-form{padding:16px}
  .wac-intro{margin:16px 16px 0}
  .wac-request__head{padding:16px}
  .wac-box{padding:16px}
  .wac-filter{flex:1 1 100%}
  .wac-count{margin-left:0}
  .wac-ff .ff-t-container{flex-direction:column;gap:0}
}
@media (prefers-reduced-motion:reduce){.wac-card__media img{transition:none}}
