/* LME Coaching main stylesheet
   Design tokens, components and breakpoints, plus the rules WordPress needs:
   menus and the mobile toggle, prose, archives, forms and WooCommerce. */

/* LME palette (teal #4FC3A1, gold #edb71c) on a type and shape system shared with Becoming Her */
:root{
  --bg:#ffffff; --cream:#f8f4ee; --tint:#e6f6f0; --gold-tint:#fdf3d6;
  --ink:#232d2a; --muted:#56635f; --line:#d5ebe3; --card:#ffffff;
  --teal:#4FC3A1; --teal-light:#7ed4b8; --teal-deep:#1f8467; --teal-text:#1b7058; --btn-ink:#0d3329; --gold:#edb71c; --gold-text:#8a6400; --deep:#12302a;
  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  /* Spacing scale: one gutter, one section rhythm, two gap sizes. */
  --gutter:24px; --section:80px; --section-sm:56px; --gap:24px; --gap-lg:56px; --radius:18px;
  box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#12211d;--cream:#162924;--tint:#183229;--gold-tint:#2b2a17;--ink:#f1f6f4;--muted:#b6cbc4;--line:#2a4a3f;--card:#1a2e28;--teal-deep:#6fd9b9;--teal-text:#6fd9b9}}
:root[data-theme="dark"]{--bg:#12211d;--cream:#162924;--tint:#183229;--gold-tint:#2b2a17;--ink:#f1f6f4;--muted:#b6cbc4;--line:#2a4a3f;--card:#1a2e28;--teal-deep:#6fd9b9;--teal-text:#6fd9b9}
*,*::before,*::after{box-sizing:border-box}
html{font-size:18px;scroll-behavior:smooth;scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--bg);color:var(--ink);font:400 18px/1.7 var(--sans)}
a{color:inherit}
:focus-visible{outline:3px solid var(--teal-text);outline-offset:3px}
.wrap{max-width:1080px;margin:0 auto;padding:0 var(--gutter)}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.15;margin:0 0 .55em;letter-spacing:-.01em}
h1{font-size:clamp(2.6rem,6vw,4.2rem)} h2{font-size:clamp(1.8rem,3.8vw,2.6rem)} h3{font-size:1.25rem}
em{font-style:italic;color:var(--teal-deep)}
.label{display:flex;align-items:center;gap:8px;font:600 .8rem var(--sans);color:var(--teal-text);margin:0 0 16px}
.label::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gold)}
p{margin:0 0 1em;color:var(--muted)}
/* Buttons: rounded panels that fill from the bottom on hover, with a trailing arrow. */
.btn{
  --btn-bg:var(--teal);--btn-fg:#fff;
  --btn-fill:var(--teal-deep);--btn-fill-fg:#fff;
  position:relative;display:inline-flex;align-items:center;gap:.6em;
  padding:.85em 1.55em;border-radius:14px;
  background:var(--btn-bg);color:var(--btn-fg);
  font:600 .9rem var(--sans);text-decoration:none;border:0;
  overflow:hidden;isolation:isolate;
  transition:color .32s cubic-bezier(.4,.15,.2,1),transform .28s ease;
}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--btn-fill);transform:translateY(101%);transition:transform .45s cubic-bezier(.4,.15,.2,1)}
.btn::after{content:"\2192";transition:transform .45s cubic-bezier(.4,.15,.2,1)}
.btn:hover{color:var(--btn-fill-fg);transform:translateY(-1px)}
.btn:hover::before{transform:translateY(0)}
.btn:hover::after{transform:translateX(4px)}
/* Ghost: outlined, fills with ink on hover. */
.btn.ghost{--btn-bg:transparent;--btn-fg:var(--ink);--btn-fill:var(--teal);--btn-fill-fg:var(--btn-ink);box-shadow:inset 0 0 0 1.5px var(--teal-light)}
/* Dark buttons. */
.btn--dark,.btn.dark,.btn.is-dark{--btn-bg:var(--deep);--btn-fg:#fff;--btn-fill:var(--teal);--btn-fill-fg:var(--btn-ink)}
/* Buttons sitting on a dark surface. */
.on-dark .btn,.on-dark .btn.ghost,.why .btn,.why .btn.ghost,.partner .btn,.partner .btn.ghost{--btn-bg:transparent;--btn-fg:#fff;--btn-fill:#fff;--btn-fill-fg:var(--deep);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.65)}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
section{padding:var(--section) 0}

/* partner strip */
.partner{background:var(--deep);color:#f7fbf9;font-size:.82rem;text-align:center;padding:8px 16px}
.partner a{color:var(--gold);font-weight:600}

/* header */
.site-header{position:sticky;top:0;z-index:70;background:var(--bg);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1080px;margin:0 auto;padding:8px var(--gutter);flex-wrap:wrap;transition:padding .25s ease}
@media (min-width:821px){nav.site-nav{margin-left:auto}.site-nav>ul{gap:26px}.site-nav>ul>.nav-item>a{position:relative;padding:8px 2px;border-radius:0;font-weight:500;letter-spacing:.01em;font-size:.86rem}.site-nav>ul>.nav-item>a::after{content:"";position:absolute;left:2px;right:2px;bottom:2px;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s ease}.site-nav>ul>.nav-item>a:hover{background:transparent;color:var(--teal-text)}.site-nav>ul>.nav-item>a:hover::after{transform:scaleX(1)}.site-nav>ul>.nav-item>a.cta-link{padding:9px 18px;border-radius:999px;color:#fff}.site-nav>ul>.nav-item>a.cta-link::after{display:none}}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font:500 1.15rem var(--serif)}
.logo i{width:38px;height:38px;border-radius:50%;background:var(--teal);color:var(--btn-ink);display:grid;place-items:center;font:600 .78rem var(--sans);font-style:normal;letter-spacing:.04em}
nav ul{display:flex;gap:6px;list-style:none;margin:0;padding:0;flex-wrap:wrap;align-items:center}
nav a{display:block;text-decoration:none;font-size:.88rem;padding:7px 12px;border-radius:999px}
.site-nav a{font-family:var(--sans)}
nav a:hover{background:var(--tint)}
nav a.cta-link{background:var(--teal);color:#fff;font-weight:600}

/* header cart (shown only while the cart has items) */
.nav-cart{margin-left:2px}
.nav-cart-link{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:8px;border-radius:999px;color:var(--ink)}
.nav-cart-link:hover{background:var(--tint);color:var(--teal-text)}
.nav-cart-link svg{width:22px;height:22px;display:block}
.nav-cart-count{position:absolute;top:0;right:0;background:var(--gold);color:#3a2a00;font:600 .66rem var(--sans);line-height:1;min-width:17px;height:17px;padding:0 4px;border-radius:999px;display:grid;place-items:center}
@media (min-width:821px){
  .site-nav>ul>.nav-item>a.nav-cart-link{padding:8px}
  .site-nav>ul>.nav-item>a.nav-cart-link::after{display:none}
}

/* hero */
.hero{padding:var(--section) 0;background:var(--tint)}
.hero .grid{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--gap-lg);align-items:center}
.hero .grid>div:only-child{grid-column:1 / -1}
.hero p.lead{font-size:1.08rem;max-width:46ch}
.pic{position:relative;padding:0 0 22px 22px}
.pic::before{content:"";position:absolute;left:0;bottom:0;width:62%;height:62%;background:var(--gold);border-radius:18px}
.ph{position:relative;aspect-ratio:4/5;border-radius:18px;background:linear-gradient(160deg,var(--tint),var(--gold-tint));display:flex;align-items:flex-end;justify-content:center;padding:18px;color:var(--teal-text);font:500 .82rem var(--sans);text-align:center;border:1px solid var(--line)}
.badge{position:absolute;right:-8px;top:24px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 14px;font-size:.8rem;color:var(--ink);box-shadow:0 6px 20px rgba(18,48,42,.12)}
.badge b{display:block;font:500 1rem var(--serif)}

/* organisation + individual support */
.support--org{background:var(--tint)}
.support--ind{background:var(--bg)}
.support-head{max-width:64ch;margin-bottom:32px}
.support-head .label{margin-bottom:12px}
.support-intro{font-size:1.05rem}
.support-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}
.support-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px;transition:transform .15s ease,box-shadow .15s ease}
.support-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(18,48,42,.08)}
.support-card-icon{width:52px;height:52px;border-radius:14px;background:var(--tint);color:var(--teal-deep);display:grid;place-items:center;margin-bottom:18px}
.support--ind .support-card-icon{background:var(--gold-tint);color:var(--gold-text)}
.lme-icon{width:24px;height:24px}
.support-card h3{font-size:1.15rem;margin-bottom:.45em}
.support-card p{font-size:.95rem;margin:0}
.support .actions{margin-top:32px}

/* why LME */
.why{background:var(--deep);color:#f7fbf9}
.why h2{color:#f7fbf9;max-width:20ch}
.why p{color:#cfe4dc;max-width:56ch}
.why .label{color:#7fdcc0}
.pts{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);margin-top:32px}
.pt{border:1px solid rgba(255,255,255,.18);border-radius:var(--radius);padding:24px;color:#f7fbf9}
.pt::before{content:"";display:block;width:26px;height:4px;border-radius:2px;background:var(--gold);margin-bottom:14px}

/* team */
.two{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--gap-lg);align-items:center}
.pull{border-left:3px solid var(--gold);padding:2px 0 2px 16px;margin:18px 0;font:italic 400 1.2rem/1.45 var(--serif);color:var(--ink)}

/* alliances */
.soft{background:var(--cream)}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 0;padding:0;list-style:none}
.chips li{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:.4em 1.1em;font-size:.86rem;color:var(--muted)}

/* alliances — logo marquee */
.alliance-slider{
  margin-top:40px;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
}
.alliance-track{display:flex;width:max-content;animation:lme-marquee 60s linear infinite}
.alliance-set{display:flex;align-items:center;gap:72px;margin:0;padding:0 36px;list-style:none}
.alliance-logo{flex:none;display:flex;align-items:center;justify-content:center;height:96px}
.alliance-logo a{display:flex;align-items:center;justify-content:center}
.alliance-logo img{display:block;max-height:96px;width:auto;max-width:240px;object-fit:contain}
.alliance-slider:hover .alliance-track,
.alliance-slider:focus-within .alliance-track{animation-play-state:paused}
@keyframes lme-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (max-width:820px){
  .alliance-set{gap:44px;padding:0 22px}
  .alliance-logo{height:64px}
  .alliance-logo img{max-height:64px;max-width:160px}
}
@media (prefers-reduced-motion:reduce){
  .alliance-slider{overflow-x:auto;overflow-y:hidden;-webkit-mask-image:none;mask-image:none}
  .alliance-track{animation:none}
  .alliance-set[aria-hidden="true"]{display:none}
  .alliance-set{padding:0}
}

/* testimonials */
.tgrid{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--gap);margin-top:32px;align-items:stretch}
.feat{background:linear-gradient(160deg,var(--teal-deep) 0%,var(--deep) 100%);color:#f7fbf9;border-radius:var(--radius);padding:36px;display:flex;flex-direction:column;justify-content:flex-start}
.feat::before{content:"\201C";display:block;font:600 3.6rem/0.7 var(--serif);color:var(--gold);margin-bottom:12px}
.feat p{font:400 1.35rem/1.5 var(--serif);color:#f7fbf9}
.feat .by{margin-top:6px;color:var(--teal-light)}
.stack{display:grid;gap:16px}
.q{position:relative;background:linear-gradient(160deg,var(--card) 0%,var(--tint) 100%);border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px 24px}
.q::before{content:"\201C";display:block;font:600 1.7rem/0.6 var(--serif);color:var(--gold);margin-bottom:8px}
.q p{font-size:.92rem;color:var(--ink);margin-bottom:10px}
.by{font:600 .82rem var(--sans);color:var(--teal-text)}

/* cta */
.cta{background:var(--gold-tint);text-align:left}
.cta h2{max-width:22ch;margin:0 0 .5em}
.cta p{max-width:52ch;margin:0 0 1em}
.cta .actions{justify-content:flex-start}

/* footer */
.site-footer{background:var(--cream);padding:56px 0 32px;border-top:1px solid var(--line)}
/* Front page: keep white between the last coloured section and the footer. */
.home .site-footer{background:var(--bg)}
/* Front page: stronger green + section-to-section fades (matches the Training page). */
.home{--tint:#c6ebdb}
.home .hero{background:linear-gradient(180deg,var(--tint) 0%,var(--bg) 100%)}
.home .sec-help{background:linear-gradient(180deg,var(--bg) 0%,var(--tint) 100%)}
.home .support--org{background:linear-gradient(180deg,var(--tint) 0%,var(--bg) 100%)}
.home #team{background:linear-gradient(180deg,var(--bg) 0%,var(--cream) 100%)}
.home .sec-alliances{background:linear-gradient(180deg,var(--cream) 0%,var(--bg) 100%)}
.home #shoutouts{background:linear-gradient(180deg,var(--bg) 0%,var(--gold-tint) 100%)}
.home .cta{background:linear-gradient(180deg,var(--gold-tint) 0%,var(--bg) 100%)}
/* Team member pages: fade the footer out of the CTA band's colour. */
.single-lme_team_member .site-footer{background:linear-gradient(180deg,var(--gold-tint) 0%,var(--cream) 100%)}
.foot{display:grid;grid-template-columns:1.2fr .8fr 1.2fr;gap:40px}
.site-footer ul{list-style:none;margin:0;padding:0;font-size:.9rem}
.site-footer li{margin:.4em 0}
.site-footer li a{text-decoration:none}
.site-footer p{font-size:.9rem}
.pbox{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px}
.pbox h3{margin-bottom:.3em}
.copy{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:34px;padding-top:16px;border-top:1px solid var(--line);font-size:.78rem;color:var(--muted)}

@media (max-width:820px){
  section{padding:var(--section-sm) 0}
  .hero .grid,.support-cards,.pts,.two,.tgrid,.foot{grid-template-columns:1fr}
  .hero{padding:var(--section-sm) 0}.hero .grid,.two{gap:40px}
  .badge{right:8px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Design block values promoted to classes */
.intro-wide{max-width:64ch}
.partner-wrap{display:block}
.sec-alliances h2{margin-bottom:0}
.cta .label{justify-content:flex-start}
.foot-brand p{margin-top:12px}
.pbox .label{margin-bottom:8px}

/* Skip link, screen reader text, images, logo */
.screen-reader-text{
  border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;
  position:absolute!important;width:1px;word-wrap:normal!important;
}
.screen-reader-text:focus{
  background:var(--card);border-radius:6px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);
  clip-path:none;color:var(--ink);display:block;font-size:.875rem;font-weight:600;
  height:auto;left:16px;line-height:normal;padding:14px 22px;text-decoration:none;
  top:16px;width:auto;z-index:100000;
}
.skip-link{
  position:absolute;left:-9999px;top:0;z-index:9999;
  background:var(--deep);color:#f7fbf9;padding:12px 20px;border-radius:0 0 12px 0;
  text-decoration:none;font:600 .88rem var(--sans);
}
.skip-link:focus{left:0}

img,video,svg{max-width:100%;height:auto}
.lme-img{display:block;width:100%;height:auto;border-radius:14px}
.ph.has-img{padding:0;background:none;border-color:transparent}
.ph.has-img .lme-img{width:100%;height:100%;object-fit:cover;border-radius:17px}

/* custom logo fallback container */
.logo-wrap{margin:0}
.logo-wrap .custom-logo-link{display:inline-flex;align-items:center}
.logo-wrap img{display:block;width:auto;max-height:96px;height:auto;transition:max-height .25s ease}
.site-header.is-scrolled .nav{padding-top:5px;padding-bottom:5px}
.site-header.is-scrolled .logo-wrap img{max-height:54px}
@media (prefers-reduced-motion:reduce){
  .nav,.logo-wrap img{transition:none}
}

/* Header: mobile navigation toggle
   The desktop pill nav is unchanged; under 820px the list collapses behind a
   button instead of wrapping onto several lines. */
.nav-toggle{
  display:none;align-items:center;gap:8px;background:transparent;color:var(--ink);
  border:0;padding:8px;
  font:600 .85rem var(--sans);
}
.nav-toggle:hover{background:var(--tint)}
.nav-toggle-bars{display:inline-block;width:16px;height:2px;background:currentColor;position:relative}
.nav-toggle-bars::before,.nav-toggle-bars::after{content:"";position:absolute;left:0;width:16px;height:2px;background:currentColor}
.nav-toggle-bars::before{top:-5px}
.nav-toggle-bars::after{top:5px}
.site-nav>ul{margin:0}
.sub-menu{display:none;position:absolute;z-index:20;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:8px;min-width:200px}
.nav-item.has-children{position:relative}
.nav-item.has-children:hover>.sub-menu,.nav-item.has-children:focus-within>.sub-menu{display:block}
nav .sub-menu a{padding:8px 12px}

@media (max-width:820px){
  .nav-toggle{display:inline-flex}

  /* Menu slides in from the right as a drawer. */
  .site-nav{
    position:fixed;
    top:0;right:0;bottom:0;
    width:min(344px,88vw);
    display:flex;
    flex-direction:column;
    padding:84px 24px 32px;
    background:var(--cream);
    box-shadow:-24px 0 48px rgba(18,48,42,.16);
    overflow-y:auto;
    transform:translateX(100%);
    visibility:hidden;
    transition:transform .3s cubic-bezier(.22,.61,.36,1),visibility 0s linear .3s;
    z-index:60;
  }
  .site-nav.is-open{transform:translateX(0);visibility:visible;transition:transform .3s cubic-bezier(.22,.61,.36,1),visibility 0s}

  .nav-scrim{position:fixed;inset:0;z-index:55;background:rgba(18,48,42,.45);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s linear .3s}
  .nav-scrim.is-open{opacity:1;visibility:visible;transition:opacity .3s ease,visibility 0s}

  .site-nav>ul{
    display:flex;flex-direction:column;align-items:stretch;gap:0;
    margin:0;padding:0;flex-wrap:nowrap;
    opacity:0;transform:translateX(16px);
    transition:opacity .3s ease .06s,transform .3s ease .06s;
  }
  .site-nav.is-open>ul{opacity:1;transform:none}

  .site-nav>ul li{border-bottom:1px solid var(--line)}
  .site-nav .nav-item:last-child{border-bottom:0}
  .site-nav>ul a{
    font-family:var(--sans);font-size:1.4rem;line-height:1.2;
    padding:16px 2px;border-radius:0;
    transition:color .18s ease,padding-left .18s ease;
  }
  .site-nav>ul a:hover{background:transparent;color:var(--teal-text);padding-left:10px}

  .site-nav li.cta-link{margin-top:26px}
  .site-nav li.cta-link a{
    font-family:var(--sans);font-size:.95rem;font-weight:600;
    background:var(--teal);color:#fff;border-radius:999px;padding:15px 18px;text-align:center;
  }
  .site-nav li.cta-link a:hover{background:var(--teal);color:#fff;padding-left:18px;filter:brightness(.95)}

  .site-nav .sub-menu{position:static;display:block;border:0;background:transparent;padding:0 0 8px 14px;min-width:0}
}

/* Inner pages: page header, prose column, archives, pagination */
.wrap-narrow{max-width:760px;margin:0 auto;padding:0 24px}
main{display:block}
.page-head{background:var(--cream);border-bottom:1px solid var(--line);padding:var(--section-sm) 0}
.page-head h1{margin:0;font-size:clamp(2rem,4.6vw,3.2rem)}
.page-head .label{margin-bottom:10px}
.page-head p{margin:.6em 0 0;max-width:60ch}
.page-head--center{text-align:left}
.page-head--center .label{justify-content:flex-start}
.page-head--center p{margin-left:auto;margin-right:auto}
.page-head--img .grid{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--gap-lg);align-items:center}
.page-head--img h1{margin-bottom:.3em}
.page-head--img .ph{aspect-ratio:4/3}
@media (max-width:820px){
  .page-head--img .grid{grid-template-columns:1fr}
}

.entry{padding:var(--section) 0}
.entry--narrow{padding:var(--section) 0}
.entry-header{margin-bottom:32px}
.entry-header h1{font-size:clamp(2.1rem,5vw,3.4rem)}
.entry-meta{font-size:.82rem;color:var(--muted);font-family:var(--sans);display:flex;gap:14px;flex-wrap:wrap;margin-top:10px}
.entry-meta a{color:var(--teal-text);text-decoration:none}
.entry-thumb{margin:0 0 32px}
.entry-thumb img{border-radius:18px;width:100%;height:auto}
.entry-footer{margin-top:40px;padding-top:18px;border-top:1px solid var(--line);font-size:.85rem;color:var(--muted)}
.entry-footer a{color:var(--teal-text)}
.tags-links{display:block;margin-bottom:10px}
.single-nav{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:24px;font-size:.88rem}
.single-nav a{color:var(--teal-text)}

/* Long-form typography shared by posts, pages and comments */
.entry-content,.comment-content{font-size:1.02rem}
.entry-content>*+*,.comment-content>*+*{margin-top:1.15em}
.entry-content h2{font-size:clamp(1.5rem,3vw,2.1rem);margin-top:1.6em}
.entry-content h3{font-size:1.35rem;margin-top:1.5em}
.entry-content h4{font-family:var(--serif);font-weight:400;font-size:1.15rem;margin-top:1.4em}
.entry-content ul,.entry-content ol{padding-left:1.35em;color:var(--muted)}
.entry-content li{margin:.4em 0}
.entry-content li::marker{color:var(--teal-deep)}
.entry-content a{color:var(--teal-text)}
.entry-content blockquote{
  border-left:3px solid var(--gold);padding:2px 0 2px 16px;margin:1.6em 0;
  font:italic 400 1.2rem/1.45 var(--serif);color:var(--ink);
}
.entry-content blockquote p{color:var(--ink)}
.entry-content blockquote cite{font:600 .82rem var(--sans);color:var(--teal-text);font-style:normal}
.entry-content img,.entry-content .wp-block-image img{border-radius:14px;height:auto}
.entry-content figure{margin:1.6em 0}
.entry-content figcaption,.wp-caption-text{font-size:.82rem;color:var(--muted);margin-top:8px;text-align:left}
.entry-content table{width:100%;border-collapse:collapse;font-size:.95rem;margin:1.4em 0}
.entry-content th,.entry-content td{border:1px solid var(--line);padding:.6em .8em;text-align:left;vertical-align:top}
.entry-content thead th{background:var(--tint);font-weight:600}
.entry-content tbody tr:nth-child(even){background:var(--cream)}
.entry-content code,.entry-content pre{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  font-size:.9rem;background:var(--cream);border:1px solid var(--line);border-radius:8px;
}
.entry-content code{padding:.15em .4em}
.entry-content pre{padding:16px 18px;overflow:auto}
.entry-content pre code{border:0;background:transparent;padding:0;font-size:.88rem}
.entry-content hr{border:0;border-top:1px solid var(--line);margin:2.4em 0}
/* :where() keeps this at zero specificity so a button colour chosen in the
   editor (including a dark one) overrides the theme default. */
:where(.entry-content .wp-block-button__link){
  background:var(--teal);color:#fff;border-radius:999px;
  font:600 .88rem var(--sans);padding:.8em 1.5em;text-decoration:none;
  transition:background .3s cubic-bezier(.4,.15,.2,1),color .3s cubic-bezier(.4,.15,.2,1),filter .3s cubic-bezier(.4,.15,.2,1);
}
:where(.entry-content .wp-block-button.is-style-outline .wp-block-button__link){
  background:transparent;color:var(--ink);border:1.5px solid var(--ink);
}
.entry-content .wp-block-quote{border-left:3px solid var(--gold);padding-left:16px}
.entry-content .wp-block-separator{border-color:var(--line)}
.entry-content .wp-block-group.has-background,
.entry-content .wp-block-columns.has-background{padding:24px;border-radius:18px}
.entry-content .wp-block-pullquote{border-top:3px solid var(--gold);border-bottom:3px solid var(--gold);padding:1.4em 0}
.entry-content .wp-block-pullquote blockquote{border:0;padding:0;text-align:left}

/* Alignment helpers */
.alignleft{float:left;margin:.4em 24px 16px 0}
.alignright{float:right;margin:.4em 0 16px 24px}
.aligncenter{margin-left:auto;margin-right:auto;display:block}
.alignwide{margin-left:-40px;margin-right:-40px;max-width:840px}
.alignfull{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);max-width:100vw;width:auto}
.wp-caption{max-width:100%}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:0 0 1.2em}
.gallery-item{margin:0}
.gallery-icon img{border-radius:12px}
.gallery-caption{font-size:.8rem;color:var(--muted)}
.post-card.sticky{border-color:var(--gold)}
.bypostauthor>.comment-body{border-left-color:var(--teal)}

/* Archive and search cards */
.post-list{display:grid;gap:22px;margin-top:32px}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:32px}
.post-card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:28px;display:flex;flex-direction:column;
}
.post-card .thumb{margin:0 0 18px}
.post-card .thumb img{border-radius:12px;width:100%;height:auto}
.post-card h2,.post-card h3{font-size:1.3rem;margin-bottom:.4em}
.post-card h2 a,.post-card h3 a{text-decoration:none}
.post-card h2 a:hover,.post-card h3 a:hover{color:var(--teal-text)}
.post-card .entry-meta{margin-top:0;margin-bottom:12px}
.post-card p{font-size:.95rem}
.post-card .more{margin-top:auto;padding-top:12px;font:600 .88rem var(--sans);color:var(--teal-text);text-decoration:none}
.post-card .more:hover{text-decoration:underline}

.pagination{margin:48px 0 0}
.pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.pagination .page-numbers{
  display:block;padding:7px 14px;border-radius:999px;border:1px solid var(--line);
  background:var(--card);text-decoration:none;font-size:.88rem;
}
.pagination .page-numbers.current{background:var(--gold-tint);border-color:var(--gold);font-weight:600}
.pagination .page-numbers:hover{background:var(--tint)}
.pagination .page-numbers.dots{background:transparent;border-color:transparent}
.posts-navigation .nav-links{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* Empty state */
.no-results{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:32px;margin-top:32px}

/* Forms and search */
input[type="text"],input[type="email"],input[type="url"],input[type="search"],
input[type="tel"],input[type="number"],input[type="password"],textarea,select{
  font:400 1rem var(--sans);color:var(--ink);background:var(--card);
  border:1px solid var(--line);border-radius:12px;padding:.7em .9em;max-width:100%;
}
textarea{width:100%;min-height:140px}
input[type="submit"],button[type="submit"],button,
.wp-block-search__button{
  font:600 .88rem var(--sans);cursor:pointer;
}
input[type="submit"],button[type="submit"],.wp-block-search__button{
  display:inline-block;padding:.8em 1.5em;border-radius:999px;
  background:var(--teal);color:#fff;border:1.5px solid var(--teal);
}
input[type="submit"]:hover,button[type="submit"]:hover,.wp-block-search__button:hover{filter:brightness(.95)}
.search-form{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:24px 0}
.search-form label{flex:1 1 220px;margin:0}
.search-form .search-field{width:100%}
.search-form .search-submit{flex:0 0 auto}
.wp-block-search__inside-wrapper{display:flex;gap:10px}
.wp-block-search .wp-block-search__input{flex:1 1 auto}

/* Comments */
.comments{max-width:760px;margin:var(--section) auto 0;padding:0 var(--gutter)}
.comments-title,.comment-reply-title{font-size:1.5rem}
.comment-list{list-style:none;margin:0;padding:0}
.comment-list .children{list-style:none;margin:0;padding-left:24px}
.comment-body{border-left:3px solid var(--line);padding:2px 0 2px 18px;margin:0 0 26px}
.comment-meta{font-size:.8rem;color:var(--muted);margin-bottom:6px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.comment-author{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--ink)}
.comment-author .avatar{border-radius:50%;margin:0}
.comment-metadata a{color:var(--muted);text-decoration:none}
.comment-metadata a:hover{color:var(--teal-text)}
.reply a{font:600 .8rem var(--sans);color:var(--teal-text);text-decoration:none}
.comment-form label{display:block;font:600 .85rem var(--sans);margin-bottom:4px}
.comment-form input[type="text"],.comment-form input[type="email"],
.comment-form input[type="url"],.comment-form textarea{width:100%}
.comment-form .comment-form-cookies-consent{display:flex;gap:8px;align-items:flex-start}
.comment-form .comment-form-cookies-consent label{font-weight:400;margin:0}
.comment-notes,.logged-in-as{font-size:.85rem;color:var(--muted)}
.comment-list .pingback .comment-body,.comment-list .trackback .comment-body{border-left-color:var(--line)}

/* Footer widgets and copyright */
.foot .widget{margin:0 0 24px}
.foot .widget:last-child{margin-bottom:0}
.foot .widget-title{font-size:1.05rem;margin-bottom:.4em}
.foot .widget ul{list-style:none;margin:0;padding:0;font-size:.9rem}
.foot .widget p{font-size:.9rem}
.foot .widget .search-form{margin:12px 0 0}
.foot-widgets{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:32px;margin-top:40px;padding-top:26px;border-top:1px solid var(--line);
}
.foot-widgets .widget{margin:0}
.foot-widgets h2,.foot-widgets .widget-title{font-size:1.05rem;margin-bottom:.4em}
.copy a{color:inherit}
.copy a:hover{color:var(--teal-text)}

/* 404 and search results */
.error-404{padding:var(--section) 0}
.error-404 .wrap-narrow{text-align:left}
.error-404 .code{font:400 clamp(3.4rem,12vw,6.4rem)/1 var(--serif);color:var(--teal-deep);margin:0 0 .1em}
.error-404 p{max-width:52ch;margin-left:auto;margin-right:auto}
.error-404 .actions{justify-content:flex-start}
.error-404 .search-form{max-width:520px;margin:28px auto 0}

/* WooCommerce: shop, single product, cart */
.woo-wrap{padding:var(--section) 0}
.woo-breadcrumb{padding-top:24px}
.woocommerce .woocommerce-breadcrumb{font-size:.82rem;color:var(--muted);margin:0}
/* Reset the global `nav a` pill/block styling so crumbs stay on one line. */
.woocommerce-breadcrumb a{display:inline;padding:0;border-radius:0;background:none;color:var(--teal-text);text-decoration:none}
.woocommerce-breadcrumb a:hover{background:none;color:var(--teal-deep)}
.woocommerce ul.products{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:24px;margin:0;padding:0;
}
.woocommerce ul.products::before,.woocommerce ul.products::after{content:none}
.woocommerce ul.products li.product{
  width:auto!important;margin:0!important;float:none!important;clear:none!important;
  background:var(--card);border:1px solid var(--line);border-radius:18px;
  padding:20px;text-align:left;
}
.woocommerce ul.products li.product a img{border-radius:12px;margin:0 0 14px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--serif);font-size:1.15rem;padding:0}
.woocommerce ul.products li.product .price{color:var(--ink);font-weight:600;font-size:1rem}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{font-size:.88rem;color:var(--muted)}
.woocommerce .woocommerce-ordering select{padding:.5em .7em}
.woocommerce span.onsale{
  background:var(--gold);color:#3a2a00;border-radius:999px;padding:4px 14px;
  font:600 .72rem var(--sans);min-height:0;line-height:1.7;top:14px;left:14px;
}
.woocommerce-Price-amount{color:inherit}
.woocommerce del{color:var(--muted)}
.woocommerce ins{text-decoration:none}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt{
  background:var(--teal);color:#fff;border-radius:999px;
  font:600 .88rem var(--sans);padding:.8em 1.5em;border:1.5px solid var(--teal);line-height:1.4;
  transition:background .3s cubic-bezier(.4,.15,.2,1),color .3s cubic-bezier(.4,.15,.2,1),filter .3s cubic-bezier(.4,.15,.2,1);
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{
  background:var(--teal);color:#fff;filter:brightness(.95);
}
.woocommerce .woocommerce-message,.woocommerce .woocommerce-info,.woocommerce .woocommerce-error{
  border-top-color:var(--teal);background:var(--tint);color:var(--ink);border-radius:0 0 14px 14px;
}
.woocommerce .woocommerce-message::before,.woocommerce .woocommerce-info::before{color:var(--teal-deep)}
.woocommerce table.shop_table{
  border:1px solid var(--line);border-radius:14px;border-collapse:separate;border-spacing:0;
  background:var(--card);overflow:hidden;
}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-color:var(--line);padding:12px 16px}
.woocommerce table.shop_table thead th{background:var(--tint);font-weight:600}
.woocommerce .cart-collaterals .cart_totals{width:100%;float:none}
.woocommerce .cart-collaterals .cart_totals h2{font-size:1.35rem}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.woocommerce form .form-row select{
  background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.7em .9em;
}
.woocommerce form .form-row label{font:600 .85rem var(--sans)}
.woocommerce nav.woocommerce-pagination{margin-top:36px}
.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;gap:8px;justify-content:center;padding:0;margin:0}
.woocommerce nav.woocommerce-pagination ul li{border:0;margin:0;overflow:visible}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{
  padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:var(--card);min-width:0;
}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--gold-tint);border-color:var(--gold);color:var(--ink)}
.woocommerce div.product .product_title{font-size:clamp(1.8rem,3.8vw,2.6rem)}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--ink);font-size:1.3rem;font-weight:600}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 24px;display:flex;gap:8px;flex-wrap:wrap}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{content:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:var(--cream);border:1px solid var(--line);border-radius:999px;margin:0;padding:0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{content:none;display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:.6em 1.2em;font:600 .85rem var(--sans)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--tint);border-color:var(--teal)}
.woocommerce div.product .woocommerce-tabs .panel h2{font-size:1.35rem}
.woocommerce #reviews #comments ol.commentlist li img.avatar{
  background:transparent;border:0;padding:0;border-radius:50%;width:44px;position:static;float:none;
}
.woocommerce #reviews #comments ol.commentlist li .comment-text{border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.woocommerce .star-rating span::before,.woocommerce p.stars a,.woocommerce .star-rating::before{color:var(--gold)}
.woocommerce .quantity input.qty{border-radius:12px;border:1px solid var(--line);padding:.6em .5em;width:4.5em}
.woocommerce .widget_price_filter .ui-slider .ui-slider-range,
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle{background-color:var(--teal)}
.woocommerce .widget_shopping_cart .buttons a,.woocommerce.widget_shopping_cart .buttons a{margin-right:8px}
.woocommerce-page .page-head{padding:var(--section-sm) 0}

/* Single product */
.single-product-hero{background:linear-gradient(180deg,var(--tint) 0%,var(--bg) 100%);padding:var(--section-sm) 0}
.single-product-hero .woocommerce-breadcrumb,.single-product-hero .breadcrumb{font-size:.82rem;color:var(--muted);margin:0 0 20px}
.single-product-hero .woocommerce-breadcrumb a{color:var(--teal-text);text-decoration:none}
.single-product-hero .label{text-transform:uppercase;letter-spacing:.09em;font-size:.82rem;justify-content:flex-start}
.single-product-hero h1{font-size:clamp(2rem,4.6vw,3rem);margin:.1em 0 .3em;max-width:22ch}
.single-product-hero .price{font:600 clamp(1.2rem,2vw,1.6rem) var(--sans);color:var(--teal-text);margin:0}
.single-product-body{background:linear-gradient(180deg,var(--bg) 0%,var(--cream) 100%);padding-bottom:var(--section)}
.single-product-main{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-lg);align-items:start;padding:var(--section) 0 0}
.single-product-gallery .woocommerce-product-gallery{width:100%!important;float:none!important;margin:0!important}
.single-product-summary{float:none!important;width:100%!important;margin:0!important}
.woocommerce div.product .single-product-summary .product_title{margin-bottom:.35em}
.woocommerce div.product .single-product-summary p.price{color:var(--teal-text);margin-bottom:.5em}
.woocommerce div.product div.images img{border-radius:var(--radius);box-shadow:0 18px 40px rgba(18,48,42,.12)}
.woocommerce div.product div.images .flex-control-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.woocommerce div.product div.images .flex-control-thumbs li{width:auto;margin:0}
.woocommerce div.product div.images .flex-control-thumbs img{border-radius:10px;box-shadow:none;opacity:.55;transition:opacity .2s ease}
.woocommerce div.product div.images .flex-control-thumbs img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs img:hover{opacity:1}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--muted);font-size:1.05rem}
.woocommerce div.product form.cart{margin:22px 0}
.woocommerce div.product .product_meta{display:flex;flex-direction:column;gap:6px;font:.82rem var(--sans);color:var(--muted);border-top:1px solid var(--line);padding-top:16px}
.woocommerce div.product .product_meta a{color:var(--teal-text);text-decoration:none}
.woocommerce div.product .woocommerce-tabs.wc-tabs-wrapper{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(24px,3vw,36px);margin-top:56px}
.woocommerce div.product .woocommerce-tabs .panel{margin:0}
.woocommerce div.product .related.products{margin-top:64px}
.woocommerce div.product .related.products>h2{font-size:clamp(1.4rem,2.6vw,1.9rem);margin-bottom:32px}
.woocommerce div.product .related.products ul.products li.product a img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
@media (max-width:820px){
  .single-product-main{grid-template-columns:1fr;gap:40px;padding-top:var(--section-sm)}
}

/* Training page */
.program-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);margin-top:32px}
.program-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:36px;overflow:hidden;display:flex;flex-direction:column}
.program-card h3{font-size:1.5rem;margin-bottom:.5em}
.program-head{display:flex;align-items:center;gap:16px;margin-bottom:.5em}
.program-head h3{margin:0}
.program-card p{font-size:.95rem}
.program-card .ticks li{font-size:.92rem}
.program-card .actions{margin-top:auto;padding-top:22px}
.program-icon{width:52px;height:52px;border-radius:14px;background:var(--tint);color:var(--teal-deep);display:grid;place-items:center;flex:none;margin-bottom:0}
.program-img{display:block;width:calc(100% + 72px);max-width:none;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:0;margin:-36px -36px 24px;transition:transform .4s ease}
.training-hero .grid{grid-template-columns:1fr 1.15fr}
.training-hero .ph{aspect-ratio:4/3}
/* Eyebrows mark each Training section. */
.training-hero .label,.training-programs .label,.training-alt .label{text-transform:uppercase;letter-spacing:.09em;font-size:.82rem}
/* Gradient transitions between the training hero and the following sections. */
.training-hero{background:linear-gradient(180deg,var(--tint) 0%,var(--bg) 100%)}
.training-programs{background:linear-gradient(180deg,var(--bg) 0%,var(--tint) 100%)}

.training-alt{background:linear-gradient(180deg,var(--tint) 0%,var(--cream) 100%)}
.q-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);margin-top:32px}
.q-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px}
.q-num{font:600 .78rem var(--sans);letter-spacing:.12em;color:var(--teal-text)}
.q-card h3{font-size:1.05rem;margin:.5em 0}
.q-card p{font-size:.92rem;margin:0}
.q-card--cta{background:var(--deep);color:#f7fbf9;display:flex;flex-direction:column;justify-content:center}
.q-card--cta h3,.q-card--cta p{color:#f7fbf9}
.q-card--cta .btn{margin-top:16px;align-self:flex-start}

@media (max-width:820px){
  .program-grid,.q-grid,.training-hero .grid{grid-template-columns:1fr}
}

/* Our Team page */
.team-hero{background:linear-gradient(180deg,var(--tint) 0%,var(--bg) 100%)}
.team-hero h1{margin-bottom:.4em}
.team-intro{max-width:64ch}
.team-hero .grid{display:grid;grid-template-columns:1fr 1.25fr;gap:var(--gap-lg);align-items:center}
.team-hero .ph{aspect-ratio:4/3}
.team-intro-sec .team-intro{max-width:64ch}
.team-intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--gap-lg);align-items:start}
.team-intro-lead .lead{font:400 clamp(1.3rem,2.4vw,1.75rem)/1.45 var(--serif);color:var(--ink);margin:0}
.team-intro-body p{font-size:1.02rem}
/* Gradient transitions + eyebrow style (match the Training page). */
.team-intro-sec{background:linear-gradient(180deg,var(--bg) 0%,var(--tint) 100%)}
.team-list{background:linear-gradient(180deg,var(--tint) 0%,var(--bg) 100%)}
.team-join{background:linear-gradient(180deg,var(--bg) 0%,var(--cream) 100%)}
.team-hero .label,.team-join .label{text-transform:uppercase;letter-spacing:.09em;font-size:.82rem}
/* Hero text is always left-aligned. */
.hero,.training-hero,.team-hero{text-align:left}
.hero .label,.training-hero .label,.team-hero .label{justify-content:flex-start}
.members{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap);margin-top:32px}
.member{display:block;text-decoration:none;color:inherit;text-align:left}
.member-photo{aspect-ratio:1;border-radius:var(--radius);overflow:hidden;background:var(--tint);margin-bottom:14px}
.member-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .4s ease}
.member:hover .member-photo img{transform:scale(1.05)}
.member-name{font-family:var(--serif);font-weight:400;font-size:1.1rem;margin:0 0 .2em}
.member-role{font-size:.82rem;color:var(--muted)}

/* Single team member profile */
.member-hero{background:linear-gradient(180deg,var(--tint) 0%,var(--bg) 100%);padding:var(--section-sm) 0 var(--section)}
.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.82rem;color:var(--muted);margin:0 0 28px}
.breadcrumb a{color:var(--teal-text);text-decoration:none}
.breadcrumb a:hover{text-decoration:underline}
.breadcrumb-last{color:var(--ink)}
.member-hero .grid{display:grid;grid-template-columns:1fr 1.05fr;gap:var(--gap-lg);align-items:center}
.member-hero h1{margin:.1em 0 .35em;font-size:clamp(2.2rem,5vw,3.4rem)}
.member-tagline{font:italic 400 clamp(1.05rem,1.9vw,1.35rem)/1.45 var(--serif);color:var(--teal-text);max-width:38ch}
.member-hero .label,.member-about .label,.member-cta .label{text-transform:uppercase;letter-spacing:.09em;font-size:.82rem;justify-content:flex-start}
.member-hero .ph{aspect-ratio:1;align-items:center}
.member-hero .ph.has-img .lme-img{object-position:top}
.member-hero .ph-initials{font:600 3rem var(--serif);color:var(--teal-text)}
.member-tags{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0}
.member-hero .pic-col>.member-tags{margin-top:20px;flex-wrap:nowrap;gap:8px}
.member-hero .pic-col>.member-tags li{font-size:.76rem;padding:.32em .8em;white-space:nowrap}
.member-tags li{display:inline-flex;align-items:center;gap:6px;background:var(--gold-tint);border:1px solid var(--line);border-radius:999px;padding:.45em 1.1em;font:600 .82rem var(--sans);color:var(--gold-text)}
.member-tags .lme-icon{width:15px;height:15px;flex:none;color:var(--teal-deep)}
.member-about{background:linear-gradient(180deg,var(--bg) 0%,var(--cream) 100%);padding:var(--section) 0;text-align:left}
.member-about-inner{max-width:none;margin:0}
.member-about .entry-content{font-size:1.05rem}
.member-cta{background:linear-gradient(180deg,var(--cream) 0%,var(--gold-tint) 100%)}

@media (max-width:820px){
  .members{grid-template-columns:repeat(2,1fr)}
  .team-hero .grid,.team-intro-grid,.member-hero .grid{grid-template-columns:1fr;gap:32px}
  .member-hero{padding-bottom:var(--section-sm)}
  .member-hero .pic-col>.member-tags{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px}
  .member-hero .pic-col>.member-tags li{white-space:normal;font-size:.85rem}
}

/* Join the collective page */
.join-hero{background:linear-gradient(180deg,var(--tint) 0%,var(--bg) 100%)}
.join-hero .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--gap-lg);align-items:start}
.join-hero h1{margin-bottom:.35em}
.join-hero .ph{aspect-ratio:16/10}
.join-sub{font:italic 400 clamp(1.15rem,2vw,1.5rem)/1.4 var(--serif);color:var(--teal-text);margin:0}
.join-second-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-lg);align-items:center}
.join-grow{background:var(--tint);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(28px,3.4vw,44px)}
.join-intro{max-width:60ch;border-left:3px solid var(--teal);padding-left:clamp(20px,2.6vw,34px)}
.join-intro p{font:400 clamp(1.1rem,1.55vw,1.3rem)/1.6 var(--serif);color:var(--ink);margin:0 0 1em}
.join-intro p:first-child{font-size:clamp(1.35rem,2.1vw,1.65rem);line-height:1.4;color:var(--teal-text)}
.join-intro p:last-child{margin-bottom:0}
.join-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;margin-top:48px;padding-top:28px;border-top:1px solid var(--line)}
.join-stat{font:500 1.05rem var(--serif);color:var(--ink);margin:0}
.join-strip .chips{margin:0}
.join-hero .pic-col>.join-strip{margin-top:24px;padding-top:20px;flex-direction:column;align-items:flex-start;gap:16px}
.join-hero .pic-col .chips{flex-wrap:nowrap;gap:8px}
.join-hero .pic-col .chips li{display:inline-flex;align-items:center;gap:8px;font-size:.92rem;padding:.5em 1em;white-space:nowrap}
.join-hero .pic-col .chips .lme-icon{width:32px;height:32px;flex:none;color:var(--teal-deep)}

.join-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);margin-top:32px}
.join-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px}
.join-card-head{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.join-card-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex:none;background:var(--tint);color:var(--teal-deep)}
.join-card-icon .lme-icon{width:22px;height:22px}
.join-req .join-card-icon{background:var(--gold-tint);color:var(--gold-text)}
.join-card h3{font-size:1.15rem;margin:0}
.join-card p{font-size:.95rem;margin:0}

.join-second{background:linear-gradient(180deg,var(--bg) 0%,var(--tint) 100%)}
.join-look{background:linear-gradient(180deg,var(--tint) 0%,var(--bg) 100%)}
.join-req{background:linear-gradient(180deg,var(--bg) 0%,var(--tint) 100%)}
.join-start{background:linear-gradient(180deg,var(--tint) 0%,var(--cream) 100%)}
.join-start-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-lg);align-items:start}
.join-start-grid--solo{grid-template-columns:1fr}
.join-start-copy{max-width:60ch}
.join-start .pull{margin:1.4em 0}

/* Fluent Forms (and generic shortcodes) forced to the site palette.
   !important is needed: Fluent Forms ships its own stylesheet plus a per-form
   inline <style> for the submit button, both with higher specificity. */
.lme-form{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(24px,3vw,36px)}
.lme-form .ff-el-group{margin-bottom:20px}
.lme-form .ff-el-group:last-child{margin-bottom:0}
.lme-form .ff-field_container{margin-bottom:20px}
.lme-form .ff-t-container{gap:16px}
.lme-form .ff-t-container .ff-el-group{margin-bottom:0}
.lme-form .ff-el-input--label{display:none!important}
.lme-form .ff-el-input--label label,
.lme-form label{display:block;font:600 .85rem var(--sans);color:var(--ink);margin-bottom:6px}
.lme-form .ff-el-form-control,
.lme-form input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.lme-form textarea,
.lme-form select{width:100%!important;background-color:var(--bg)!important;border:1px solid var(--line)!important;border-radius:12px!important;padding:.75em .9em!important;font:400 1rem var(--sans)!important;color:var(--ink)!important;box-shadow:none!important;transition:border-color .2s ease,box-shadow .2s ease}
.lme-form textarea{min-height:130px}
.lme-form .ff-el-form-control:focus,
.lme-form input:focus,
.lme-form textarea:focus,
.lme-form select:focus{outline:none!important;border-color:var(--teal)!important;box-shadow:0 0 0 3px var(--tint)!important}
.lme-form .ff-btn,
.lme-form .ff-btn-submit,
.lme-form button[type=submit],
.lme-form input[type=submit]{background-color:var(--teal)!important;border:0!important;color:#fff!important;border-radius:999px!important;padding:.85em 1.6em!important;font:600 1rem var(--sans)!important;cursor:pointer;transition:background-color .2s ease}
.lme-form .ff-btn:hover,
.lme-form .ff-btn-submit:hover,
.lme-form button[type=submit]:hover,
.lme-form input[type=submit]:hover{background-color:var(--teal-deep)!important;border-color:var(--teal-deep)!important;color:#fff!important}
.lme-form .ff-el-is-error .ff-el-form-control{border-color:#c0392b!important}
.lme-form .error,
.lme-form .ff-el-input--content .error{color:#c0392b!important;font-size:.85rem}
.lme-form .ff-message-success{background:var(--tint)!important;border:1px solid var(--line)!important;border-radius:12px;padding:14px 16px;color:var(--ink)!important}

/* Uppercase eyebrows on this page, matching Training/Our Team. */
.join-hero .label,.join-grow .label,.join-list .label,.join-start .label{text-transform:uppercase;letter-spacing:.09em;font-size:.82rem}

@media (max-width:820px){
  .join-hero .grid,.join-second-grid,.join-start-grid,.join-cards{grid-template-columns:1fr}
  .join-hero .pic-col .chips{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px}
  .join-hero .pic-col .chips li{white-space:normal;font-size:.86rem}
  .join-hero .pic-col .chips .lme-icon{width:22px;height:22px}
}

/* Menopause-Informed Coaching page */
.menopause-intro .label,.menopause-modules .label,.menopause-cta .label{text-transform:uppercase;letter-spacing:.09em;font-size:.82rem;justify-content:flex-start}
.menopause-intro{background:linear-gradient(180deg,var(--bg) 0%,var(--tint) 100%)}
.menopause-intro-inner{max-width:72ch}
.menopause-modules{background:linear-gradient(180deg,var(--tint) 0%,var(--bg) 100%)}
.menopause-cta{background:linear-gradient(180deg,var(--bg) 0%,var(--cream) 100%)}
.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);margin-top:32px}
.module-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;gap:8px;transition:box-shadow .4s ease,transform .4s ease}
.module-head{display:flex;align-items:center;gap:14px;margin:2px 0 4px}
.module-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex:none;background:var(--gold);color:#fff}
.module-icon .lme-icon{width:22px;height:22px}
.module-num{display:block;font:600 .8rem var(--sans);letter-spacing:.14em;color:var(--teal-text);margin-bottom:6px}
.module-card h3{font-size:1.15rem;margin:0}
.module-card p{font-size:.95rem;color:var(--muted);margin:0;flex:1}
.module-link{margin-top:4px;font:600 .9rem var(--sans);color:var(--teal-text);text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:gap .18s ease}
@media (hover:hover){
  .module-card:hover{box-shadow:0 14px 30px rgba(18,48,42,.12)}
  .module-card:hover .module-icon .lme-icon{transform:scale(1.12)}
  .module-link:hover{gap:10px}
}
@media (max-width:1024px){.module-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:680px){.module-grid{grid-template-columns:1fr}}

/* Shop page */
.shop-products .label,.shop-features .label{text-transform:uppercase;letter-spacing:.09em;font-size:.82rem;justify-content:flex-start}
.shop-products{background:linear-gradient(180deg,var(--bg) 0%,var(--tint) 100%)}
.shop-features{background:linear-gradient(180deg,var(--tint) 0%,var(--cream) 100%)}
.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);margin-top:32px}
.shop-pack{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .4s ease,transform .4s ease}
.shop-pack-media{display:block}
.shop-pack-media img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;transition:transform .4s ease}
.shop-pack-body{padding:24px 24px 28px;display:flex;flex-direction:column;gap:16px;flex:1}
.shop-pack-body h3{font-size:1.4rem;font-weight:700;color:var(--teal-deep);margin:0}
.shop-pack-body h3 a{color:inherit;text-decoration:none}
.shop-pack-desc{font-size:.92rem;color:var(--muted);margin:0}
.shop-pack-price{font:700 1.4rem var(--sans);color:var(--teal-text);margin:0}
.shop-pack-foot{margin-top:auto;display:flex;flex-direction:row;align-items:center;gap:16px;flex-wrap:wrap}
.shop-pack .btn{margin-top:auto;align-self:flex-start}
.shop-pack-foot .btn{margin-top:0;align-self:auto}
.shop-features{padding-top:var(--section-sm)}
.shop-feature{display:grid;grid-template-columns:1.35fr 1fr;gap:var(--gap-lg);align-items:center;margin-top:clamp(40px,6vw,72px)}
.shop-feature:nth-child(even){grid-template-columns:1fr 1.35fr}
.shop-features .wrap>.shop-feature:first-child{margin-top:0}
.shop-feature-media img{display:block;width:100%;height:auto;border-radius:var(--radius)}
.shop-feature-body h2{margin-top:0}
.shop-feature:nth-child(even) .shop-feature-media{order:2}
@media (hover:hover){
  .shop-pack:hover{box-shadow:0 14px 30px rgba(18,48,42,.12)}
  .shop-pack:hover .shop-pack-media img{transform:scale(1.04)}
}
@media (max-width:820px){
  .shop-grid{grid-template-columns:1fr}
  .shop-feature,.shop-feature:nth-child(even){grid-template-columns:1fr;gap:24px}
  .shop-feature:nth-child(even) .shop-feature-media{order:0}
}

/* Shoutouts */
.shoutouts-hero{background:linear-gradient(180deg,var(--tint) 0%,var(--bg) 100%)}
.shoutouts-hero .label{text-transform:uppercase;letter-spacing:.09em;font-size:.82rem;justify-content:flex-start}
.shoutouts-hero h1{max-width:24ch}
.shoutouts-intro{max-width:64ch;margin-top:1.2em}
.shoutouts-intro p{font-size:1.05rem;color:var(--muted)}
.shoutouts-gallery{background:linear-gradient(180deg,var(--bg) 0%,var(--tint) 100%)}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}
.review-shot{display:block;border-radius:var(--radius);overflow:hidden;background:var(--card);border:1px solid var(--line);transition:transform .2s ease,box-shadow .2s ease}
.review-shot img{display:block;width:100%;height:auto}
.shoutouts-quotes{background:linear-gradient(180deg,var(--bg) 0%,var(--cream) 100%)}
.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}
.quote-card{margin:0;background:var(--card);background-size:cover;background-position:center;background-repeat:no-repeat;border:1px solid var(--line);border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;gap:14px;transition:box-shadow .4s ease,transform .4s ease}
.quote-card blockquote{margin:0;font-size:.98rem;color:var(--ink)}
.quote-card .by{font:600 .82rem var(--sans);color:var(--teal-text)}
@media (hover:hover){
  .review-shot:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(18,48,42,.12)}
  .quote-card:hover{box-shadow:0 14px 30px rgba(18,48,42,.12)}
}
@media (max-width:820px){
  .review-grid,.quote-grid{grid-template-columns:1fr}
}
@media (min-width:821px) and (max-width:1024px){
  .review-grid,.quote-grid{grid-template-columns:repeat(2,1fr)}
}

/* Insights (FAQ) page */
.insights-hero{background:linear-gradient(180deg,var(--tint) 0%,var(--bg) 100%)}
.insights-hero .label{text-transform:uppercase;letter-spacing:.09em;font-size:.82rem;justify-content:flex-start}
.insights-hero h1{max-width:22ch}
.insights-faq{background:linear-gradient(180deg,var(--bg) 0%,var(--tint) 100%)}
.faq-list{margin-top:32px;display:grid;gap:12px;max-width:80ch}
.faq-item{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;padding:20px 24px;font:600 1.05rem var(--sans);color:var(--ink);list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font:400 1.5rem var(--serif);color:var(--teal-text);line-height:1;transition:transform .2s ease}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item .faq-a{padding:0 24px 22px;color:var(--muted)}
.faq-item .faq-a p{margin:0}
.insights-cta{background:linear-gradient(180deg,var(--tint) 0%,var(--cream) 100%)}

/* Contact (Get in Touch) page */
.contact-hero{background:linear-gradient(180deg,var(--tint) 0%,var(--bg) 100%)}
.contact-hero .ph{aspect-ratio:4/3}
.contact-hero .label,.contact-crisis .label{text-transform:uppercase;letter-spacing:.09em;font-size:.82rem;justify-content:flex-start}
.contact-hero h1{max-width:22ch}
.contact-intro{max-width:none;border-left:3px solid var(--teal);padding-left:clamp(20px,2.6vw,34px)}
.contact-intro p{font:400 clamp(1.05rem,1.5vw,1.2rem)/1.6 var(--serif);color:var(--ink);margin:0 0 1em}
.contact-intro p:first-child{font-size:clamp(1.3rem,2vw,1.55rem);line-height:1.45;color:var(--teal-text)}
.contact-intro p:last-child{margin-bottom:0}
.contact-intro-sec{background:linear-gradient(180deg,var(--bg) 0%,var(--tint) 100%)}
.contact-crisis{background:linear-gradient(180deg,var(--tint) 0%,var(--bg) 100%)}
.crisis-note{max-width:72ch;color:var(--muted)}
.crisis-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);margin-top:24px}
.crisis-col{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px 28px}
.crisis-col h3{font-size:1.15rem;margin:0 0 .4em}
.crisis-col ul{list-style:none;margin:0;padding:0}
.crisis-col li{display:flex;justify-content:space-between;gap:16px;padding:.55em 0;border-bottom:1px solid var(--line)}
.crisis-col li:last-child{border-bottom:0}
.crisis-col li span{display:inline-flex;align-items:center;gap:8px;color:var(--muted)}
.crisis-col li span .lme-icon{width:16px;height:16px;color:var(--teal-deep);flex:none}
.crisis-col li a{color:var(--ink);font-weight:600;text-decoration:none;white-space:nowrap}
.crisis-col li a:hover{color:var(--teal-text)}
.contact-directors{background:linear-gradient(180deg,var(--bg) 0%,var(--cream) 100%)}
.director-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}
.director-card{display:grid;grid-template-columns:minmax(140px,190px) 1fr;gap:24px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.director-photo{width:100%;aspect-ratio:1;border-radius:var(--radius);overflow:hidden;background:var(--tint)}
.director-photo img{display:block;width:100%;height:100%;object-fit:cover}
.director-body{display:flex;flex-direction:column;gap:3px;min-width:0}
.director-card h2{font-size:1.25rem;margin:0}
.director-card .by{font:600 .78rem var(--sans);color:var(--teal-text);text-transform:uppercase;letter-spacing:.08em}
.director-mail{color:var(--ink);text-decoration:none;font-weight:600;font-size:.92rem;margin-top:3px;word-break:break-word}
.director-mail:hover{color:var(--teal-text)}
.director-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.director-links .btn{display:inline-flex;align-items:center;gap:7px;padding:.5em 1em;font-size:.82rem}
.director-links .btn .lme-icon{width:16px;height:16px;flex:none}
.contact-form-sec{background:linear-gradient(180deg,var(--cream) 0%,var(--tint) 100%)}
.page-id-26 .site-footer{background:linear-gradient(180deg,var(--tint) 0%,var(--cream) 100%)}
.contact-form-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:var(--gap-lg);align-items:start}
.contact-form-copy .label{text-transform:uppercase;letter-spacing:.09em;font-size:.82rem;justify-content:flex-start}
.contact-form-copy h2{max-width:18ch}
.contact-form-copy p{color:var(--muted)}
.contact-form{max-width:none}
@media (max-width:820px){
  .crisis-grid,.director-grid,.contact-form-grid{grid-template-columns:1fr}
}

/* Hero images are always the larger column (desktop). */
@media (min-width:821px){
  .hero .grid,.training-hero .grid,.team-hero .grid,.join-hero .grid,.page-head--img .grid{grid-template-columns:1fr 1.2fr}
}

/* Motion: entrance, scroll reveal and hover transitions. */
nav a{transition:background .18s ease,color .18s ease}
.post-card{transition:transform .18s ease,box-shadow .18s ease}
.program-card,.q-card,.join-card{transition:box-shadow .4s ease,transform .4s ease}
.chips li,.member-tags li{transition:transform .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}
.q{transition:transform .18s ease,box-shadow .18s ease}
.lme-icon{transition:transform .3s ease}
.entry-thumb img{transition:transform .3s ease}

@media (hover:hover){
  .program-card:hover .program-img{transform:scale(1.05)}
  .program-card:hover,.q-card:hover{box-shadow:0 14px 30px rgba(18,48,42,.12)}
  .post-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(18,48,42,.08)}
  .chips li:hover{transform:translateY(-2px);background:var(--tint)}
  .q:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(18,48,42,.12)}
  .support-card:hover .support-card-icon .lme-icon{transform:scale(1.08)}
  .join-card:hover{box-shadow:0 14px 30px rgba(18,48,42,.12)}
  .join-card:hover .join-card-icon .lme-icon{transform:scale(1.12)}
  .member-tags li:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(18,48,42,.12)}
  .member-tags li:hover .lme-icon{transform:scale(1.15)}
}

@media (prefers-reduced-motion:no-preference){
  .module-card.lme-reveal:nth-child(3n+2){transition-delay:.06s}
  .module-card.lme-reveal:nth-child(3n){transition-delay:.12s}
}

@media (prefers-reduced-motion:no-preference){
  @keyframes lme-rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
  .hero .grid>div,.training-hero .grid>div,.team-hero .grid>div,.join-hero .grid>div,.member-hero .grid>div,.page-head--img .grid>div{animation:lme-rise .7s cubic-bezier(.22,.61,.36,1) both}
  .hero .grid>div:nth-child(2),.training-hero .grid>div:nth-child(2),.team-hero .grid>div:nth-child(2),.join-hero .grid>div:nth-child(2),.member-hero .grid>div:nth-child(2),.page-head--img .grid>div:nth-child(2){animation-delay:.12s}

  .lme-reveal{opacity:0;transform:translateY(26px);transition:opacity .6s cubic-bezier(.22,.61,.36,1),transform .6s cubic-bezier(.22,.61,.36,1),box-shadow .4s ease}
  .lme-reveal.is-in{opacity:1;transform:none}
  .two>div.lme-reveal:nth-child(2),
  .feat.lme-reveal{transition-delay:.1s}
  .stack .q.lme-reveal:nth-child(2){transition-delay:.1s}
  .stack .q.lme-reveal:nth-child(3){transition-delay:.2s}
  .training-hero .grid>div.lme-reveal:nth-child(2){transition-delay:.12s}
  .program-card.lme-reveal:nth-child(2){transition-delay:.1s}
  .q-card.lme-reveal:nth-child(2n){transition-delay:.06s}
  .join-second-grid>*:nth-child(2){transition-delay:.1s}
  .join-start-grid>*:nth-child(2){transition-delay:.1s}
  .contact-form-grid>*:nth-child(2){transition-delay:.1s}
  .join-card.lme-reveal:nth-child(3n+2){transition-delay:.06s}
  .join-card.lme-reveal:nth-child(3n){transition-delay:.12s}
}

/* Readability: a little larger body copy. */
.support-card p,
.program-card p,
.q-card p,
.q p,
.join-card p,
.module-card p,
.post-card p,
.team-intro-body p,
.shoutouts-intro p{font-size:1rem}
.site-footer p,
.foot .widget p{font-size:.95rem}

/* ============================================================
   WooCommerce blocks: cart, checkout, my account, order received
   ============================================================ */
/* Wider canvas for the two-column cart/checkout and the account nav. */
.woocommerce-cart .wrap-narrow,
.woocommerce-checkout .wrap-narrow,
.woocommerce-account.logged-in .wrap-narrow{max-width:1080px}
/* Let the cart block fill the content width instead of the 840px .alignwide cap. */
.woocommerce-cart .wp-block-woocommerce-cart.alignwide{max-width:none;margin-left:0;margin-right:0}
.woocommerce-cart .entry-content>*+*,
.woocommerce-checkout .entry-content>*+*{margin-top:0}
.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout,.woocommerce-account{color:var(--ink)}
.wp-block-woocommerce-cart a,.wp-block-woocommerce-checkout a,.woocommerce-account a{color:var(--teal-text)}

/* Buttons */
.wc-block-components-button{
  background:var(--teal);color:#fff;border:1.5px solid var(--teal);border-radius:999px;
  font:600 .95rem var(--sans);padding:.85em 1.6em;line-height:1.4;min-height:0;text-decoration:none;
  transition:background .3s cubic-bezier(.4,.15,.2,1),filter .3s cubic-bezier(.4,.15,.2,1),transform .25s ease;
}
.wc-block-components-button:hover{background:var(--teal);color:#fff;filter:brightness(.95);transform:translateY(-1px)}
.wc-block-components-button__text{color:inherit}
.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button{width:100%;justify-content:center}
.wc-block-components-checkout-return-to-cart-button{background:transparent;border:1.5px solid var(--teal-light);color:var(--teal-text)}

/* Cart line items */
table.wc-block-cart-items{border:1px solid var(--line)!important;border-radius:var(--radius);background:var(--card);overflow:hidden;border-collapse:separate;border-spacing:0;margin:0}
table.wc-block-cart-items th,table.wc-block-cart-items td{border:0!important;border-bottom:1px solid var(--line)!important;color:var(--ink)}
table.wc-block-cart-items tbody tr:last-child td{border-bottom:0!important}
table.wc-block-cart-items thead th{background:var(--tint)!important;color:var(--ink);font:600 .78rem var(--sans);text-transform:uppercase;letter-spacing:.07em}
table.wc-block-cart-items .wc-block-cart-item__image{padding:20px!important;display:flex;align-items:center}
table.wc-block-cart-items .wc-block-cart-item__product{padding:20px 20px 20px 0!important}
table.wc-block-cart-items .wc-block-cart-item__total{padding:20px 20px 20px 0!important;align-items:flex-start}
.wc-block-cart-item__image img{border-radius:12px}
.wc-block-components-product-name{font-family:var(--serif);font-size:1.1rem;color:var(--ink);text-decoration:none}
.wc-block-components-product-price,.wc-block-cart-item__total .price{color:var(--ink);font-weight:600}
.wc-block-components-product-metadata{color:var(--muted);font-size:.85rem}
.wc-block-components-quantity-selector{border:1px solid var(--line);border-radius:12px;background:var(--bg);overflow:hidden}
.wc-block-components-quantity-selector__input{border:0!important;border-left:1px solid var(--line)!important;border-right:1px solid var(--line)!important;background:transparent!important;color:var(--ink);font:600 .95rem var(--sans);min-width:3.4em}
.wc-block-components-quantity-selector__button{background:transparent;color:var(--teal-text);border:0}
.wc-block-components-quantity-selector__button:hover:not(:disabled){background:var(--tint)}
.wc-block-components-quantity-selector__button:disabled{opacity:.35}
.wc-block-cart-item__remove-link{background:none;border:0;color:var(--muted);cursor:pointer}
.wc-block-cart-item__remove-link:hover{color:var(--teal-text)}

/* Sidebar / order summary panels */
.wc-block-components-sidebar{background:var(--tint);border:1px solid var(--line);border-radius:var(--radius);padding:24px;position:static}
.wc-block-cart__totals-title,.wc-block-components-checkout-order-summary__title{font-family:var(--serif);font-size:1.3rem;color:var(--ink);margin:0 0 16px;display:block}
.wc-block-components-totals-wrapper{border-color:var(--line)}
.wc-block-components-totals-item,.wc-block-components-totals-footer-item{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0}
.wc-block-components-totals-item__label{color:var(--muted)}
.wc-block-components-totals-item__value,.wc-block-components-totals-footer-item-tax-value{color:var(--ink);font-weight:600}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label{color:var(--ink);font-size:1.1rem}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-formatted-money-amount{font-size:1.1rem}
.wc-block-components-panel__button{color:var(--teal-text);font:600 .9rem var(--sans);display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.wc-block-components-panel__button-icon{fill:currentColor}

/* Checkout */
/* Single-column checkout: hide the duplicate order summary in the form column
   (the sidebar summary is the one kept). */
.wc-block-checkout__main .wp-block-woocommerce-checkout-order-summary-block{display:none!important}
.wc-block-components-checkout-step{margin-bottom:34px}
.wc-block-components-checkout-step__title,.wc-block-components-title{font-family:var(--serif);font-size:1.3rem;color:var(--ink);margin:0 0 12px}
.wc-block-components-text-input input,.wc-block-components-address-form input,
.wc-block-components-address-form select,.wc-blocks-components-select__select{
  width:100%;background:var(--card)!important;border:1px solid var(--line)!important;border-radius:12px!important;color:var(--ink)!important;
}
.wc-block-components-text-input input:focus,.wc-blocks-components-select__select:focus,
.wc-block-components-address-form input:focus{outline:2px solid var(--teal);outline-offset:1px;border-color:var(--teal)!important}
.wc-block-components-text-input label,.wc-blocks-components-select__label{color:var(--muted)}
.wc-block-components-radio-control__option{border:1px solid var(--line)!important;border-radius:12px!important;padding:14px 16px;margin-bottom:10px;background:var(--card)!important;transition:border-color .2s ease,background .2s ease}
.wc-block-components-radio-control__option--checked{border-color:var(--teal)!important;background:var(--tint)!important}
.wc-block-components-radio-control__input:checked{border-color:var(--teal);background:var(--teal)}
.wc-block-components-checkbox__mark{border-color:var(--line);background:var(--card)}
.wc-block-components-checkbox__input:checked+.wc-block-components-checkbox__mark{background:var(--teal);border-color:var(--teal)}
.wc-block-checkout__terms{color:var(--muted);font-size:.88rem}

/* Notices (blocks) */
.wc-block-components-notice-banner{border:1px solid var(--line);border-radius:14px;background:var(--tint);color:var(--ink);padding:14px 16px;font-size:.92rem}
.wc-block-components-notice-banner.is-success{background:var(--tint);border-color:var(--line)}
.wc-block-components-notice-banner.is-error{background:#fdeaea;border-color:#efc3c3;color:#8a2b2b}
.wc-block-components-notice-banner svg{fill:currentColor}
.wc-block-components-notice-banner__content a{color:inherit;text-decoration:underline}

/* Product grid blocks (empty cart "New in store") */
.wc-block-grid__product{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;text-align:left}
.wc-block-grid__product-image img{border-radius:12px}
.wc-block-grid__product-title{font-family:var(--serif);font-size:1.05rem;color:var(--ink)}
.wc-block-grid__product-price{color:var(--ink);font-weight:600}
.wc-block-grid__product-add-to-cart a{color:var(--teal-text);font-weight:600;text-decoration:none}

/* My Account */
.woocommerce-account.logged-in .woocommerce{display:grid;grid-template-columns:230px 1fr;gap:40px;align-items:start}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a{display:block;padding:12px 16px;border-radius:12px;color:var(--ink);text-decoration:none;font:500 .92rem var(--sans)}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover{background:var(--cream)}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a{background:var(--tint);color:var(--teal-text);font-weight:600}
.woocommerce-account .woocommerce-MyAccount-content{color:var(--ink)}
.woocommerce-account .woocommerce-MyAccount-content>p:first-child{margin-top:0}
.woocommerce-account #customer_login{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
.woocommerce form.login,.woocommerce form.register{border:1px solid var(--line);border-radius:var(--radius);padding:28px;background:var(--card);margin:0;max-width:520px}
.woocommerce form.woocommerce-EditAccountForm{border:1px solid var(--line);border-radius:var(--radius);padding:28px;background:var(--card);margin:0}
.woocommerce form.login p,.woocommerce form.register p{color:var(--muted)}

/* Order received / thank you */
.woocommerce-thankyou-order-received{background:var(--tint);border:1px solid var(--line);border-radius:14px;padding:16px 18px;color:var(--ink);font-weight:600}
.woocommerce-order-overview{display:flex;flex-wrap:wrap;gap:16px;list-style:none;margin:24px 0 32px;padding:0}
.woocommerce-order-overview li{flex:1 1 200px;background:var(--tint);border:1px solid var(--line);border-radius:14px;padding:14px 18px;color:var(--muted);font-size:.85rem}
.woocommerce-order-overview li strong{display:block;color:var(--ink);font-size:1.05rem;margin-top:2px}
.woocommerce-order-details,.woocommerce-customer-details{margin-top:44px}
.woocommerce-order-details__title,.woocommerce-column__title{font-family:var(--serif);font-size:1.4rem;color:var(--ink);margin-bottom:.6em}
.woocommerce-columns--addresses{display:grid;grid-template-columns:1fr 1fr;gap:32px}
address{font-style:normal;color:var(--muted);line-height:1.7}

/* WooCommerce pages: section gradient transitions (Training-page pattern). */
.woocommerce-cart .page-head,
.woocommerce-checkout .page-head,
.woocommerce-account .page-head,
.woocommerce-order-received .page-head{background:linear-gradient(180deg,var(--tint) 0%,var(--bg) 100%);border-bottom:0}
.woocommerce-cart .entry,
.woocommerce-checkout .entry,
.woocommerce-account .entry,
.woocommerce-order-received .entry{background:linear-gradient(180deg,var(--bg) 0%,var(--cream) 100%)}

/* Shared total/summary width fixes */
.wc-block-components-sidebar-layout{gap:var(--gap-lg,40px)}
@media (max-width:820px){
  .woocommerce-account.logged-in .woocommerce,
  .woocommerce-account #customer_login,
  .woocommerce-columns--addresses{grid-template-columns:1fr}
  .wc-block-components-sidebar{margin-top:24px}
}

/* Smaller hero headings across the whole site (added last so it wins). */
.hero h1,
.team-hero h1,
.join-hero h1,
.member-hero h1,
.single-product-hero h1,
.page-head h1,
.entry-header h1{font-size:clamp(2rem,4.6vw,3rem)}

/* "Added to your cart" popup */
.lme-cart-popup{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;transition:opacity .25s ease}
.lme-cart-popup[hidden]{display:none}
.lme-cart-popup.is-open{opacity:1}
.lme-cart-popup__overlay{position:absolute;inset:0;background:rgba(18,48,42,.5)}
.lme-cart-popup__dialog{position:relative;z-index:1;width:100%;max-width:460px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 24px 60px rgba(18,48,42,.28);padding:36px 32px;text-align:left;transform:translateY(12px);transition:transform .3s cubic-bezier(.4,.15,.2,1)}
.lme-cart-popup.is-open .lme-cart-popup__dialog{transform:none}
.lme-cart-popup__icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--tint);color:var(--teal-deep);font-size:1.5rem;margin:0 0 16px}
.lme-cart-popup__title{font-size:1.4rem;margin:0 0 .3em}
.lme-cart-popup__text{color:var(--muted);margin:0 0 24px}
.lme-cart-popup__actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-start}
.lme-cart-popup__close{position:absolute;top:12px;right:14px;background:transparent;border:0;color:var(--muted);font-size:1.6rem;line-height:1;padding:4px;cursor:pointer}
.lme-cart-popup__close:hover{color:var(--ink)}
@media (prefers-reduced-motion:reduce){
  .lme-cart-popup,.lme-cart-popup__dialog{transition:none}
}

/* Empty cart */
.wp-block-woocommerce-empty-cart-block{max-width:none}
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title{
  font-family:var(--serif);font-weight:400;color:var(--ink);
  font-size:clamp(1.6rem,3vw,2.2rem);text-align:left!important;margin:0 0 .35em;
}
/* Replace WooCommerce's sad-face icon with a brand cart glyph. */
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title.with-empty-cart-icon:before{
  background-color:var(--teal);content:"";display:block;width:3em;height:3em;margin:0 0 22px;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.5'/%3E%3Ccircle cx='18' cy='20' r='1.5'/%3E%3Cpath d='M2.5 3h2.2l2.2 12.2a1.6 1.6 0 0 0 1.6 1.3h8.7a1.6 1.6 0 0 0 1.6-1.3L21 7H6'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.5'/%3E%3Ccircle cx='18' cy='20' r='1.5'/%3E%3Cpath d='M2.5 3h2.2l2.2 12.2a1.6 1.6 0 0 0 1.6 1.3h8.7a1.6 1.6 0 0 0 1.6-1.3L21 7H6'/%3E%3C/svg%3E");
  -webkit-mask-size:3em;mask-size:3em;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
}
.wp-block-woocommerce-empty-cart-block p{text-align:left!important;color:var(--muted);font-size:1.02rem}
.wp-block-woocommerce-empty-cart-block p a{
  display:inline-flex;align-items:center;gap:.5em;margin-top:10px;
  background:var(--teal);color:#fff!important;border-radius:14px;padding:.85em 1.5em;
  font:600 .95rem var(--sans);text-decoration:none;
  transition:filter .3s cubic-bezier(.4,.15,.2,1),transform .2s ease;
}
.wp-block-woocommerce-empty-cart-block p a::after{content:"\2192";transition:transform .3s cubic-bezier(.4,.15,.2,1)}
.wp-block-woocommerce-empty-cart-block p a:hover{filter:brightness(.95);transform:translateY(-1px)}
.wp-block-woocommerce-empty-cart-block p a:hover::after{transform:translateX(4px)}
.wp-block-woocommerce-empty-cart-block hr.wp-block-separator{display:none}
.wp-block-woocommerce-empty-cart-block h2:not(.wc-block-cart__empty-cart__title){
  font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,2.6vw,2rem);text-align:left!important;margin:48px 0 0;
}
/* "New in store" product cards */
.wc-block-grid .wc-block-grid__products{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:30px;margin:28px 0 0;padding:0;list-style:none}
.wc-block-grid .wc-block-grid__product{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:0;overflow:hidden;text-align:left;display:flex;flex-direction:column;width:auto!important;max-width:none!important;flex:none;margin:0!important}
/* Full-bleed square image (clipped to the card's rounded top corners). */
.wc-block-grid .wc-block-grid__product-image{width:100%;margin:0}
.wc-block-grid .wc-block-grid__product-image img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:0}
.wc-block-grid__product-link{display:block;text-decoration:none}
.wc-block-grid__product-title{font-family:var(--serif);font-size:1.05rem;color:var(--ink);text-align:center;padding:16px 14px 18px;margin:0}
/* Hide the price and add-to-cart button in the "New in store" grid. */
.wc-block-grid .wc-block-grid__product-price,
.wc-block-grid .wc-block-grid__product-add-to-cart{display:none!important}
.wc-block-grid__product-add-to-cart .wp-block-button__link{
  background:var(--teal)!important;color:#fff!important;border:1.5px solid var(--teal)!important;border-radius:999px;
  font:600 .86rem var(--sans);padding:.75em 1.3em;text-decoration:none;
  transition:filter .3s cubic-bezier(.4,.15,.2,1);
}
.wc-block-grid__product-add-to-cart .wp-block-button__link:hover{filter:brightness(.95)}
.wc-block-grid__product-add-to-cart .added_to_cart{color:var(--teal-text);font-weight:600;text-decoration:none;margin-left:10px}
