/* ===================================================================
   Wind Horse: shared blocks for the India pages
   - the itineraries band and the contact block (template-parts/shared/)
   - trip cards and the trip list ([wh_trips], inc/windhorse-india.php)
   - the "In this section" bar on the festival calendar
   Works inside or outside <main class="whb">; brand tokens are
   repeated on .whs so the blocks stand on their own.
   =================================================================== */
.whs,.whs-trips,.whs-triplist,.whs-subnav{
  --wh-maroon:#791e30;--wh-gold:#eebc1d;--wh-brick:#712822;--wh-maroon-dark:#5c1624;
  --wh-ink:#2a2220;--wh-body:#453a36;--wh-muted:#5f5450;--wh-ivory:#faf7f2;
  --wh-rule:#e6ddd2;--wh-rule-strong:#e0d5c7;--wh-field:#c9bcad;
  --wh-display:"Miller Display","Miller Display Bold",Georgia,"Times New Roman",serif;
  --wh-text:'Merriweather Sans',system-ui,-apple-system,sans-serif;
  --wh-gutter:clamp(20px,5vw,80px);
}
.whs{font-family:var(--wh-text);color:var(--wh-ink);-webkit-font-smoothing:antialiased}
.whs *,.whs *::before,.whs *::after,.whs-trips *,.whs-triplist *{box-sizing:border-box}
.whs h2,.whs h3{font-family:var(--wh-display);font-weight:700;margin:0;letter-spacing:0;text-transform:none}
.whs p{margin:0}
.whs a{color:var(--wh-maroon)}
.whs ul,.whs-trips ul,ul.whs-triplist{list-style:none;margin:0;padding:0}
.whs-wrap{max-width:1280px;margin:0 auto;padding-left:var(--wh-gutter);padding-right:var(--wh-gutter)}
.whs-kicker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--wh-muted);font-weight:700}
.whs-kicker--gold{color:var(--wh-gold)}
.whs-h2{font-size:clamp(26px,2.8vw,34px);line-height:1.15;color:var(--wh-maroon)}
.whs-more{font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap}
.whs-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px 48px;margin-bottom:28px;flex-wrap:wrap}
.whs-head>div{display:flex;flex-direction:column;gap:10px;max-width:640px}
.whs :focus-visible,.whs-trips :focus-visible,.whs-triplist :focus-visible{outline:3px solid var(--wh-maroon);outline-offset:2px}
.whs-contact :focus-visible{outline-color:var(--wh-gold)}
.whs-contact__card :focus-visible{outline-color:var(--wh-maroon)}

/* buttons */
.whs-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font-family:var(--wh-text);
  font-size:14px;font-weight:700;letter-spacing:.04em;padding:15px 24px;border-radius:3px;text-decoration:none;
  text-align:center;cursor:pointer;border:1px solid transparent;line-height:1.2}
.whs .whs-btn--gold{background:var(--wh-gold);color:var(--wh-ink)}
.whs .whs-btn--gold:hover{background:#f5cc45;color:var(--wh-ink)}
.whs .whs-btn--ghost{color:#fff;border-color:rgba(255,255,255,.45)}
.whs .whs-btn--ghost:hover{color:#fff;border-color:#fff}
.whs .whs-btn--maroon{background:var(--wh-maroon);color:#fff;padding:15px 32px}
.whs .whs-btn--maroon:hover{background:var(--wh-maroon-dark);color:#fff}
.whs .whs-btn--outline{background:#fff;color:var(--wh-maroon);border-color:#d9cec1;font-size:13px;padding:12px 20px}

/* -------------------------------------------------------------
   Itineraries band
   ------------------------------------------------------------- */
.whs-band{background:#fff;border-top:1px solid var(--wh-rule);padding:64px 0 72px}
.whs-regions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.whs .whs-region{display:flex;flex-direction:column;gap:10px;height:100%;background:var(--wh-ivory);
  border:1px solid var(--wh-rule-strong);border-top:4px solid var(--wh-maroon);border-radius:4px;
  padding:24px 22px;text-decoration:none;color:inherit;min-height:44px}
.whs .whs-region:hover{border-color:var(--wh-maroon);color:inherit}
.whs .whs-region--brick{border-top-color:var(--wh-brick)}
.whs .whs-region--gold{border-top-color:var(--wh-gold)}
.whs .whs-region--dark{border-top-color:var(--wh-maroon-dark)}
.whs-region__top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.whs-region__top .whs-kicker{font-size:10px;letter-spacing:.15em}
.whs-here{font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;padding:4px 8px;
  border-radius:999px;background:var(--wh-maroon);color:#fff;white-space:nowrap}
.whs-region__title{font-family:var(--wh-display);font-size:22px;line-height:1.2;font-weight:700;color:var(--wh-maroon)}
.whs-region__body{font-size:13px;line-height:1.6;color:var(--wh-body)}
.whs-region__cta{font-size:13px;font-weight:700;color:var(--wh-maroon);margin-top:auto;padding-top:8px}

/* -------------------------------------------------------------
   Contact & customise
   ------------------------------------------------------------- */
.whs-contact{background:var(--wh-ink);color:#fff;padding:72px 0;scroll-margin-top:80px}
.whs-contact__inner{display:flex;gap:64px;align-items:flex-start}
.whs-contact__text{width:420px;flex-shrink:0;display:flex;flex-direction:column;gap:20px}
.whs-contact__text .whs-h2{color:#fff;font-size:clamp(28px,3vw,36px)}
.whs-contact__text>p{font-size:15px;line-height:1.75;color:rgba(255,255,255,.85)}
.whs-contact__buttons{display:flex;flex-direction:column;gap:10px;padding-top:6px}
.whs-contact__phones{border-top:1px solid rgba(255,255,255,.16);padding-top:18px;display:flex;flex-direction:column;gap:8px}
.whs-contact__phones .whs-kicker{font-size:10px;color:rgba(255,255,255,.7)}
.whs-contact__phones p{font-size:14px;line-height:1.7;color:rgba(255,255,255,.9)}
.whs .whs-contact__phones a{color:#fff;text-decoration:none}
.whs-contact__card{flex-grow:1;min-width:0;background:#fff;border-radius:4px;padding:36px;color:var(--wh-ink)}
.whs-contact__card h3{font-size:24px;line-height:1.2;color:var(--wh-maroon)}
.whs-form{display:flex;flex-direction:column;gap:18px}
.whs-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.whs-form__pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.whs-field{display:flex;flex-direction:column;gap:6px;border:0;margin:0;padding:0;min-width:0}
.whs-field label,.whs-field legend{font-size:12px;font-weight:700;color:var(--wh-ink);padding:0;margin-bottom:6px}
.whs-field label{margin-bottom:0}
.whs-field label span{font-weight:400;color:var(--wh-muted)}
.whs-field input,.whs-field textarea{font-family:var(--wh-text);font-size:15px;line-height:1.5;padding:11px 14px;
  min-height:46px;width:100%;border:1px solid var(--wh-field);border-radius:3px;color:var(--wh-ink);background:#fff;margin:0}
.whs-field textarea{resize:vertical;min-height:110px}
.whs-field input:focus,.whs-field textarea:focus{border-color:var(--wh-maroon);outline:2px solid var(--wh-maroon);outline-offset:0}
.whs-chips{display:flex;gap:8px;flex-wrap:wrap}
.whs-chipbox{position:relative;display:inline-flex;cursor:pointer;margin:0}
.whs-chipbox input{position:absolute;opacity:0;width:1px;height:1px}
.whs-chipbox span{display:inline-flex;align-items:center;min-height:44px;font-size:13px;font-weight:600;padding:10px 16px;
  border-radius:999px;background:#fff;color:var(--wh-ink);border:1px solid var(--wh-field)}
.whs-chipbox input:checked+span{background:var(--wh-maroon);color:#fff;border-color:var(--wh-maroon)}
.whs-chipbox input:focus-visible+span{outline:3px solid var(--wh-maroon);outline-offset:2px}
.whs-form__foot{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.whs-form__foot>span{font-size:12px;line-height:1.6;color:var(--wh-muted)}
.whs-form__error{font-size:14px;color:#8a2a20;background:#fbefec;border-left:3px solid #b03a2e;padding:10px 14px}
.whs-form__trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.whs-sent{display:flex;flex-direction:column;gap:14px;align-items:flex-start;padding:40px 8px}
.whs-sent h3{font-size:28px}
.whs-sent p{font-size:15px;line-height:1.7;color:var(--wh-body)}

/* -------------------------------------------------------------
   Trips ([wh_trips])
   ------------------------------------------------------------- */
.whs-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.whs-chip{font-family:var(--wh-text);font-size:13px;font-weight:600;letter-spacing:.03em;padding:12px 20px;
  min-height:44px;border-radius:999px;cursor:pointer;background:#fff;color:var(--wh-ink);border:1px solid #d9cec1;
  line-height:1.2;text-transform:none}
.whs-chip[aria-pressed="true"]{background:var(--wh-maroon);color:#fff;border-color:var(--wh-maroon)}
.whs-tripgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.whs-tripgrid>li{margin:0}
.whs-tripgrid>li[hidden]{display:none!important}
.whs-trip{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid var(--wh-rule);border-radius:4px;
  overflow:hidden;text-decoration:none;color:inherit}
.whs-trip:hover{border-color:var(--wh-maroon);color:inherit}
.whs-trip__photo{display:block;height:170px;background:#f4efe6}
.whs-trip__photo img{width:100%;height:100%;object-fit:cover;display:block}
.whs-trip__body{display:flex;flex-direction:column;gap:8px;padding:18px 20px 20px}
.whs-trip__kicker{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--wh-muted);font-weight:700}
.whs-trip__name{font-family:var(--wh-display);font-size:19px;line-height:1.25;font-weight:700;color:var(--wh-ink)}
.whs-trip__meta{display:flex;gap:8px;flex-wrap:wrap;padding-top:4px}
.whs-trip__meta span{font-size:12px;font-weight:600;padding:5px 10px;border-radius:999px;background:var(--wh-ivory);
  border:1px solid var(--wh-rule-strong);color:var(--wh-body)}
.whs-trips__foot{display:flex;align-items:center;gap:20px;margin-top:20px;flex-wrap:wrap}
.whs-trips__count{font-size:13px;color:var(--wh-muted);margin:0}
.whs-trips__more{border-color:var(--wh-maroon)}
.whs-trips__more[hidden]{display:none}

/* trips as a short list (in a dark panel, e.g. "Add Bhutan") */
.whs-triplist{display:flex;flex-direction:column;gap:12px}
.whs-triplist a{display:grid;grid-template-columns:1fr auto;gap:4px 16px;align-items:center;background:#fff;
  border-radius:4px;padding:18px 20px;text-decoration:none;color:var(--wh-ink)}
.whs-triplist a:hover{outline:2px solid var(--wh-gold)}
.whs-triplist__name{font-family:var(--wh-display);font-size:19px;line-height:1.25;font-weight:700;color:var(--wh-maroon)}
.whs-triplist__route{grid-column:1;font-size:13px;line-height:1.5;color:var(--wh-muted)}
.whs-triplist__days{grid-column:2;grid-row:1/3;font-size:12px;font-weight:700;padding:6px 12px;border-radius:999px;
  background:var(--wh-gold);color:var(--wh-ink);white-space:nowrap}

/* -------------------------------------------------------------
   "In this section" bar on the festival calendar
   ------------------------------------------------------------- */
.whs-subnav{font-family:var(--wh-text);background:#fff;border-bottom:1px solid var(--wh-rule)}
.whs-subnav .whs-wrap{display:flex;align-items:center;gap:24px;min-height:62px;overflow-x:auto;scrollbar-width:none}
.whs-subnav .whs-wrap::-webkit-scrollbar{display:none}
.whs-subnav__label{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--wh-muted);font-weight:700;flex-shrink:0}
.whs-subnav__list{display:flex;gap:20px;align-items:center}
.whs-subnav__list a{font-size:13px;color:var(--wh-body);text-decoration:none;white-space:nowrap;border-bottom:2px solid transparent;padding:20px 0}
.whs-subnav__list a[aria-current="page"]{font-weight:700;color:var(--wh-maroon);border-bottom-color:var(--wh-maroon)}
.whs-subnav__cta,.whb .whb-subnav__cta{margin-left:auto;flex-shrink:0;font-size:12px;font-weight:700;letter-spacing:.04em;padding:11px 16px;
  background:var(--wh-maroon,#791e30);color:#fff!important;border-radius:3px;text-decoration:none;white-space:nowrap}
.whb .whb-subnav a.whb-subnav__cta{border-bottom:0;padding:11px 16px}
.whs-subnav__cta:hover,.whb .whb-subnav__cta:hover{background:var(--wh-maroon-dark,#5c1624)}

/* -------------------------------------------------------------
   Responsive
   ------------------------------------------------------------- */
@media (max-width:1100px){
  .whs-regions,.whs-tripgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .whs-contact__inner{gap:40px}
  .whs-contact__text{width:40%}
}
@media (max-width:820px){
  .whs-band{padding:48px 0}
  .whs-contact{padding:48px 0}
  .whs-regions,.whs-tripgrid,.whs-form__grid{grid-template-columns:1fr}
  .whs-contact__inner{flex-direction:column}
  .whs-contact__text{width:100%}
  .whs-contact__card{padding:24px 20px;width:100%}
  .whs-form__foot .whs-btn{width:100%}
  .whs-head{align-items:flex-start}
  .whs-triplist a{grid-template-columns:1fr}
  .whs-triplist__days{grid-column:1;grid-row:auto;justify-self:start}
}
@media print{
  .whs-contact,.whs-band,.whs-filters,.whs-subnav{display:none}
}

/* -------------------------------------------------------------
   Festival dates in India (template-parts/festival/india.php)
   ------------------------------------------------------------- */
.whs-fest{background:var(--wh-ivory)}
.whs-crumb{background:#fff;border-bottom:1px solid var(--wh-rule);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--wh-muted)}
.whs-crumb .whs-wrap{display:flex;align-items:center;gap:10px;padding-top:15px;padding-bottom:15px;flex-wrap:wrap}
.whs .whs-crumb a{text-decoration:none}
.whs-crumb .sep{color:#b7a794}
.whs-crumb .current{color:var(--wh-ink);font-weight:600}

.whs-hero{display:flex;background:#fff;border-bottom:1px solid var(--wh-rule)}
.whs-hero__text{width:632px;flex-shrink:0;padding:64px 56px 64px var(--wh-gutter);display:flex;flex-direction:column;justify-content:center;gap:20px}
.whs-hero--nomedia .whs-hero__text{width:auto;max-width:900px}
.whs-hero h1{font-family:var(--wh-display);font-size:clamp(34px,4.2vw,50px);line-height:1.08;font-weight:700;color:var(--wh-maroon);margin:0;letter-spacing:0;text-transform:none}
.whs-hero__text>p{font-size:clamp(17px,1.6vw,19px);line-height:1.55;color:var(--wh-body);font-weight:300}
.whs-eyebrow{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--wh-muted);font-weight:600}
.whs-eyebrow .rule{width:34px;height:3px;background:var(--wh-maroon)}
.whs-hero__media{flex-grow:1;min-height:380px;position:relative;background:var(--wh-brick)}
.whs-hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

.whs-fest__list{padding-top:56px;padding-bottom:72px;display:flex;flex-direction:column;gap:24px}
.whs-fest__filters{display:flex;flex-direction:column;gap:10px}
.whs-fest__filters .whs-kicker{font-size:10px;letter-spacing:.15em}
.whs-fest__filters .whs-filters{margin:0}
.whs-fest__filters .whs-chip{border-radius:999px}
.whs-fest__rows{display:flex;flex-direction:column;gap:1px;background:var(--wh-rule-strong);border:1px solid var(--wh-rule-strong);border-radius:4px;overflow:hidden}
.whs-fest__row{background:#fff;padding:24px 28px;display:flex;gap:28px;align-items:center;margin:0}
.whs-fest__row[hidden]{display:none}
.whs-fest__date{width:96px;flex-shrink:0;padding:12px 0;background:var(--wh-ivory);border-top:3px solid var(--wh-maroon);border-radius:3px;
  display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}
.whs-fest__date--brick{border-top-color:var(--wh-brick)}
.whs-fest__date--gold{border-top-color:var(--wh-gold)}
.whs-fest__date .m{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--wh-muted);font-weight:700}
.whs-fest__date .d{font-family:var(--wh-display);font-size:28px;line-height:1.05;font-weight:700;color:var(--wh-maroon)}
.whs-fest__date .y{font-size:11px;color:var(--wh-muted);font-weight:600}
.whs-fest__body{flex-grow:1;display:flex;flex-direction:column;gap:6px;min-width:0}
.whs .whs-fest__name{font-size:23px;line-height:1.2;margin:0}
.whs .whs-fest__name a{color:var(--wh-ink);text-decoration:none}
.whs .whs-fest__name a:hover{color:var(--wh-maroon)}
.whs-fest__when{font-size:13px;color:var(--wh-muted)}
.whs-fest__note{font-size:14px;line-height:1.6;color:var(--wh-body)}
.whs-fest__actions{flex-shrink:0;display:flex;flex-direction:column;gap:8px;align-items:flex-end}
.whs-fest__actions .whs-more{font-size:13px}
.whs .whs-fest__plan{font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap;padding:10px 14px;min-height:44px;
  display:inline-flex;align-items:center;border:1px solid #d9cec1;border-radius:3px;background:#fff}
.whs .whs-fest__plan:hover{border-color:var(--wh-maroon)}
.whs-fest__more .whs-chip{border-color:var(--wh-maroon);font-weight:700}
.whs-fest__more .whs-chip[hidden]{display:none}
.whs-fest__empty{background:#fff;border:1px dashed #c0ad98;border-radius:4px;padding:40px 36px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.whs-fest__empty[hidden]{display:none}
.whs .whs-fest__empty h2{font-size:24px;line-height:1.2;color:var(--wh-maroon)}
.whs-fest__empty p{font-size:15px;line-height:1.7;color:var(--wh-body);max-width:640px}
.whs-fest__fine{font-size:13px;line-height:1.6;color:var(--wh-muted)}

.whs-fest__trips{background:#fff;border-top:1px solid var(--wh-rule);border-bottom:1px solid var(--wh-rule);padding:72px 0}
.whs-fest__tripsinner{display:flex;gap:56px;align-items:flex-start}
.whs-fest__tripstext{width:360px;flex-shrink:0;display:flex;flex-direction:column;gap:16px}
.whs-fest__tripstext p{font-size:16px;line-height:1.75;color:var(--wh-body)}
.whs-fest__tripsinner .whs-tripgrid{flex-grow:1;min-width:0}
.whs-fest__tripsinner .whs-trip{background:var(--wh-ivory);border-color:var(--wh-rule-strong)}
.whs-fest__tripsinner .whs-trip__photo{height:130px}
.whs-fest__cross{display:flex;gap:24px;align-items:center;flex-wrap:wrap;padding-top:40px;padding-bottom:40px;font-size:14px;color:var(--wh-body)}

@media (max-width:1100px){
  .whs-hero__text{width:52%;padding:56px 40px 56px var(--wh-gutter)}
  .whs-fest__tripsinner{flex-direction:column;gap:28px}
  .whs-fest__tripstext{width:auto}
}
@media (max-width:820px){
  .whs-hero{flex-direction:column}
  .whs-hero__text{width:100%;padding:40px var(--wh-gutter)}
  .whs-hero__media{min-height:240px}
  .whs-fest__list{padding-top:36px;padding-bottom:48px}
  .whs-fest__row{flex-wrap:wrap;gap:16px 20px;padding:20px}
  .whs-fest__date{width:76px}
  .whs-fest__body{flex-basis:calc(100% - 100px)}
  .whs-fest__actions{width:100%;flex-direction:row;align-items:center;justify-content:space-between}
  .whs-fest__trips{padding:48px 0}
}
