/*! © 2026 iD. All rights reserved. All Your Wellness (allyourwellness.com). Light restyle layer (preview, 14 Nov 2026). */
:root{
  --bg:#F6F2EA;--surface:#FBF8F1;--surface-2:#EDE7DA;--surface-3:#E3DCCB;
  --border:rgba(20,51,43,.12);--border-strong:rgba(20,51,43,.24);
  --text:#14332B;--text-2:#3E554C;--text-3:#4A5F57;
  --green:#A64A31;--green-hover:#8E3E28;--green-dim:rgba(166,74,49,.10);--green-ink:#FFFFFF;
  --forest:#1D443A;--silver:#14332B;
  --pro:#2F6B5C;--pro-ink:#FFFFFF;
  --sage:#E3EBE2;--clay:#F3D9CC;--clay-soft:#FBF1EA;--ink:#14332B;
}
body{background:var(--bg);color:var(--text)}
::selection{background:#F3D9CC;color:#14332B}

/* Header */
.header{background:rgba(246,242,234,.94)!important;border-bottom:1px solid var(--border)}
.nav__link--hl,.nav__link--hl.is-active{background:var(--forest);color:#fff}
.nav__link--hl:hover{color:#fff;background:#14332B}

/* Rolling lines (sold in Featured and Partner) */
.ticker{background:var(--sage)!important;color:var(--text)!important;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.ticker__item,.ticker__item b,.ticker__item--ad b{color:var(--text)!important}
.ticker__item span,.ticker__item{color:var(--text-2)}
.ticker__item b{color:var(--text)!important}
.ticker [class*=label],.ticker__item i,.ticker__item em{background:rgba(20,51,43,.08)!important;color:var(--text)!important}

/* Sticky feed controls and mobile tab bar */
.hx .hx-home #view-feed .controls{background:rgba(246,242,234,.96)!important}
.hx-tabbar{background:rgba(251,248,241,.97)!important;border-top:1px solid var(--border)}

/* Placeholder gradients that were dark */
.reel-ph,.pro-card__img--init,.prof__img--init,.pprice,.pvip{background:var(--surface-2)!important}
.pprice,.pvip{background:var(--surface)!important;border:1px solid var(--border)}

/* Find wellness near you card: AY family deep green */
.own__card--clubs{background:linear-gradient(135deg,#1D443A,#14332B)!important;color:#F6F2EA}
.own__card--clubs .own__title{color:#fff}
.own__card--clubs .own__text{color:#DCE6DF}
.own__card--clubs .own__badge{background:rgba(255,255,255,.12);color:#fff}
.own__form input{background:#FFFDF8;color:#14332B}

/* Practitioners directory band: deep green with light text */
.pjoin{background:linear-gradient(135deg,#1D443A,#14332B)!important}
.pjoin .h2{color:#fff}.pjoin .muted{color:#DCE6DF}.pjoin .eyebrow{color:#F0B9A5}

/* Join hero keeps light text on the photo */
.hero__title,.hero__sub,.hero .eyebrow{color:#fff}
.hero .btn--ghost{color:#fff;border-color:rgba(255,255,255,.6)}

/* Founding badge readable on light ground */
.hx-founding{color:#7A5A12!important}

/* Labels that sit on photos keep light text */
.player__cat,.player__pf,.player__play,.ad__label,.hx-lb__x,.hx-sf__x,.hx-sf__steps button,.gate{color:#F6F2EA!important}
.hx-sf,.hx-sf *{--text:#F6F2EA;--text-2:#DCE6DF;--text-3:#C9D8CF;--border-strong:rgba(255,255,255,.24)}

/* Errors */
.field__err,.has-error .field__err{color:#B3261E}

/* Cards get a soft edge on the light ground */
.card,.hx-tile,.own__card,.pro-card{box-shadow:0 1px 2px rgba(20,51,43,.04)}

/* ---------- Banners: shared, static tiles. Empty spaces say Advertise here ---------- */
.page-ad{display:none!important}
.ayb{margin:20px 0}
.ayb.wrap{margin:20px auto}
.ayb[hidden]{display:none!important}
.ayb__k{display:flex;justify-content:space-between;align-items:center;margin:0 0 8px;font-size:.6875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}
.ayb__k a{letter-spacing:0;text-transform:none;font-size:.8125rem;color:var(--green);font-weight:700}
.ayb__g{display:grid;gap:14px}
.ayb--top .ayb__g{grid-template-columns:repeat(2,minmax(0,1fr))}
.ayb--bottom .ayb__g{grid-template-columns:repeat(3,minmax(0,1fr))}
.ayb__t{display:flex;flex-direction:column;gap:6px;min-height:168px;padding:20px 22px;border-radius:18px;text-decoration:none;color:var(--text);border:1px solid var(--border)}
.ayb__t--a{background:var(--clay-soft);border-color:#E9C8B8}
.ayb__t--b{background:var(--sage);border-color:#C9D8CF}
.ayb__t--c{background:#EFE7F1;border-color:#D9CBDD}
.ayb__brand{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2)}
.ayb__h{font-size:1.25rem;line-height:1.2;font-weight:800;letter-spacing:-.01em;color:var(--text)}
.ayb__p{font-size:.9375rem;color:var(--text-2);max-width:52ch}
.ayb__cta{margin-top:auto;padding-top:8px;font-weight:700;color:var(--green);text-decoration:underline;text-underline-offset:3px}
.ayb__t--empty{background:transparent;border:1.5px dashed #8F8676;align-items:flex-start}
.ayb__t--empty .ayb__h{font-size:1.125rem}
.ayb__t:hover .ayb__cta{color:var(--green-hover)}
@media (max-width:767px){
  .ayb--top .ayb__g,.ayb--bottom .ayb__g{grid-template-columns:1fr}
  .ayb--bottom .ayb__t--empty~.ayb__t--empty{display:none}
  .ayb__t{min-height:0}
}

/* ---------- This week's showcase ---------- */
.ays{margin:32px 0;padding:28px;border-radius:24px;background:var(--surface);border:1px solid var(--border)}
.ays__head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px}
.ays__k{font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin:0 0 6px}
.ays__t{font-size:clamp(1.375rem,1.1rem + 1vw,1.875rem);font-weight:800;letter-spacing:-.02em;line-height:1.15;color:var(--text)}
.ays__t em{font-style:normal;color:var(--green)}
.ays__g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ays__c{display:flex;gap:18px;padding:18px;border-radius:18px;background:var(--bg);border:1px solid var(--border);text-decoration:none;color:var(--text);min-width:0}
.ays__img{flex:none;width:112px;height:112px;border-radius:14px;object-fit:cover;background:var(--surface-2)}
.ays__ph{flex:none;width:112px;height:112px;border-radius:14px;display:grid;place-items:center;background:var(--clay-soft);border:1.5px dashed #8F8676;color:var(--text-2);font-weight:700;font-size:.8125rem;text-align:center;padding:8px}
.ays__b{display:flex;flex-direction:column;gap:4px;min-width:0}
.ays__tag{align-self:flex-start;font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border-radius:999px;background:var(--sage);color:var(--text)}
.ays__tag--v{background:var(--clay);color:#14332B}
.ays__n{font-size:1.125rem;font-weight:800;color:var(--text)}
.ays__biz{font-size:.875rem;font-weight:600;color:var(--text-2)}
.ays__m{font-size:.875rem;color:var(--text-2)}
.ays__badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.ays__badges span{font-size:.75rem;font-weight:700;padding:2px 8px;border-radius:999px;border:1px solid var(--border-strong);color:var(--text)}
.ays__go{margin-top:auto;padding-top:6px;font-weight:700;color:var(--green);text-decoration:underline;text-underline-offset:3px}
.ays__c--empty{background:transparent;border:1.5px dashed #8F8676}
.ays__note{margin-top:14px;font-size:.8125rem;color:var(--text-3)}
@media (max-width:767px){.ays{padding:20px}.ays__g{grid-template-columns:1fr}.ays__img,.ays__ph{width:84px;height:84px}}

/* ---------- Venue owners: get listed, inside Find wellness near you ---------- */
.ayv{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.16);display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}
.ayv__t{flex:1 1 260px;font-size:.9375rem;color:#DCE6DF}
.ayv__t b{display:block;color:#fff;font-size:1rem}
.ayv__a{display:flex;gap:8px;flex-wrap:wrap}
.ayv .btn--light{background:#F6F2EA;color:#14332B}
.ayv .btn--light:hover{background:#fff}
.ayv .btn--line{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.ayv .btn--line:hover{border-color:#fff}
@media (max-width:767px){.ayv__a{width:100%;flex-direction:column}.ayv__a .btn{width:100%}}
.ayv--page{margin:0 0 20px;padding:18px 22px;border-radius:18px;border:1.5px solid var(--text);background:var(--surface)}
.ayv--page .ayv__t{color:var(--text-2)}
.ayv--page .ayv__t b{color:var(--text)}
.ayv--page .btn--line{color:var(--text);border-color:var(--text)}

/* Preview ribbon */
.aypv{position:fixed;right:12px;top:auto;bottom:12px;z-index:80;padding:6px 12px;border-radius:999px;background:#14332B;color:#F6F2EA;font:700 12px/1.2 var(--font);letter-spacing:.04em;box-shadow:0 4px 14px rgba(20,51,43,.2)}
.player__gone,.player__gone *{color:#F6F2EA}
/* Maps: light tiles, softened to sit on the warm ground */
.clubs__map .leaflet-tile-pane,.pmap .leaflet-tile-pane{filter:saturate(.7) sepia(.08)!important}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--surface);color:var(--text)}
/* Mid-width header: the Get listed button already covers the duplicate nav link */
@media (min-width:861px) and (max-width:1199px){
  .nav__link[data-route=join]{display:none}
  .nav{gap:2px}
  .nav__link{padding-left:10px;padding-right:10px}
  .brand,.logo,.header__brand{flex-shrink:0}
}
/* Home intro: brand line, ordering promise sits above the first video */
.hx .hx-home #view-feed .intro__title,#view-feed .intro__title{font-size:clamp(2rem,1.1rem + 3vw,3.5rem);line-height:1.05;letter-spacing:-.03em;max-width:none}
#view-feed .ay-hl{color:var(--green)}
.hx .hx-home #view-feed .intro__sub,#view-feed .intro__sub{display:block;font-size:clamp(1rem,.9rem + .4vw,1.2rem);margin-top:10px;max-width:60ch;color:var(--text-2)}
.ay-order{margin:4px 0 14px;padding:10px 14px;border-left:3px solid var(--green);background:var(--surface);border-radius:0 10px 10px 0;font-size:var(--text-sm);color:var(--text-2)}
.ay-order b{color:var(--text)}
.ay-order[hidden]{display:none}
