/*
Theme Name: Gut-Brain Essentials
Theme URI: https://aocinsights.com
Author: Arizmendi O'Hara Consulting
Author URI: https://aocinsights.com
Description: A focused, single-purpose theme for the Gut-Brain Essentials program — live workshop, self-guided course, and blog. Built from the Gut-Brain Essentials design system with self-hosted Inter and Poppins, Fluent Forms integration, and Customizer-managed workshop details.
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gut-brain-essentials
Tags: education, one-column, custom-logo, custom-menu, featured-images, blog, accessibility-ready
*/

/* ==========================================================================
   1. Self-hosted fonts (SIL Open Font License — see assets/fonts/)
   ========================================================================== */

@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;
  src:url('assets/fonts/inter-latin-400-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;
  src:url('assets/fonts/inter-latin-500-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;
  src:url('assets/fonts/inter-latin-600-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;
  src:url('assets/fonts/inter-latin-700-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;
  src:url('assets/fonts/poppins-latin-500-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;
  src:url('assets/fonts/poppins-latin-600-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;
  src:url('assets/fonts/poppins-latin-700-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:800;font-display:swap;
  src:url('assets/fonts/poppins-latin-800-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

/* ==========================================================================
   2. Design tokens
   ========================================================================== */

:root{
  --emerald:#064e3b; --emerald-d:#043729; --tang:#f97316; --tang-d:#c2410c;
  --ink:#064e3b; --ink-d:#04372a; --sand:#f8e7c9; --mint:#ecfdf5; --tang-soft:#ffedd5;
  --line:#e8d5ae; --stone:#5f6b62; --card:#fff;
  --disp:'Poppins',system-ui,-apple-system,sans-serif;
  --body:'Inter',system-ui,-apple-system,sans-serif;
  --header-h:104px;
}

/* ==========================================================================
   3. Base
   ========================================================================== */

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
body{margin:0;background:var(--sand);font-family:var(--body);color:var(--ink);line-height:1.6;
  -webkit-font-smoothing:antialiased;
  display:flex;flex-direction:column;min-height:100vh;}
.site-main{flex:1 0 auto;}
footer.site-footer{flex:0 0 auto;}
h1,h2,h3,h4,h5,h6{font-family:var(--disp);margin:0;line-height:1.18;color:var(--ink);}
a{color:inherit;}
img{max-width:100%;height:auto;}
figure{margin:0;}

.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;
  overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important;}
.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:#fff;color:var(--emerald-d);
  padding:12px 20px;border-radius:0 0 10px 0;font-weight:700;text-decoration:none;}
.skip-link:focus{left:0;}

/* WordPress admin bar sits above our absolute header */
body.admin-bar header.site-header{top:32px;}
@media screen and (max-width:782px){body.admin-bar header.site-header{top:46px;}}

/* ==========================================================================
   4. Header / navigation
   ========================================================================== */

header.site-header{position:absolute;top:0;left:0;right:0;z-index:40;background:transparent;color:var(--ink);}
.gh{max-width:none;margin:0;display:flex;align-items:center;gap:16px;padding:18px 22px;flex-wrap:wrap;}
.gh .brand{display:flex;align-items:center;gap:10px;text-decoration:none;}
.gh .logo{width:34px;height:34px;border-radius:9px;background:var(--emerald);color:#fff;
  font:800 14px var(--disp);display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.gh .brand img{max-height:44px;width:auto;display:block;}
.gh .name{font:700 1.05rem var(--disp);color:var(--ink);}
.gh .site-nav{margin-left:auto;}
.gh .site-nav ul{margin:0;padding:0;list-style:none;display:flex;gap:22px;align-items:center;}
.gh .site-nav a{color:var(--ink);text-decoration:none;font-weight:600;font-size:.92rem;opacity:.78;}
.gh .site-nav a:hover,.gh .site-nav a:focus-visible{opacity:1;}
.gh .site-nav .current-menu-item > a,
.gh .site-nav .current_page_item > a,
.gh .site-nav .current-menu-ancestor > a,
.gh .site-nav a.active{opacity:1;border-bottom:2px solid var(--tang);padding-bottom:2px;}
/* a menu item given the CSS class "navbtn" renders as the orange pill */
.gh .site-nav .navbtn > a,.gh .navbtn{background:var(--tang);color:#fff;padding:8px 16px;border-radius:999px;
  font-weight:600;font-size:.88rem;text-decoration:none;opacity:1;border-bottom:0!important;}
.gh .site-nav .navbtn > a:hover,.gh .navbtn:hover{background:var(--tang-d);color:#fff;}
.gh .site-nav a:focus-visible{outline:2px solid var(--tang);outline-offset:3px;border-radius:4px;}

/* mobile nav */
.nav-toggle{display:none;margin-left:auto;background:transparent;border:1.5px solid var(--emerald);
  color:var(--emerald-d);border-radius:9px;padding:8px 12px;font:600 .88rem var(--body);cursor:pointer;
  align-items:center;gap:8px;}
.nav-toggle:hover{background:rgba(6,78,59,.06);}
.nav-toggle .bars{display: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;}

@media(max-width:900px){
  .nav-toggle{display:inline-flex;}
  .gh .site-nav{flex:1 0 100%;margin-left:0;display:none;}
  .gh .site-nav.open{display:block;}
  .gh .site-nav ul{flex-direction:column;align-items:stretch;gap:0;background:#fff;
    border:1px solid var(--line);border-radius:14px;padding:8px;margin-top:12px;
    box-shadow:0 10px 30px rgba(4,55,41,.12);}
  .gh .site-nav li{border-bottom:1px solid var(--line);}
  .gh .site-nav li:last-child{border-bottom:0;}
  .gh .site-nav a{display:block;padding:12px 10px;opacity:1;}
  .gh .site-nav .current-menu-item > a,.gh .site-nav .current_page_item > a{border-bottom:0;color:var(--tang-d);}
  .gh .site-nav .navbtn{margin:8px 4px 4px;}
  .gh .site-nav .navbtn > a{display:block;text-align:center;border-radius:999px;}
}

/* ==========================================================================
   5. Layout
   ========================================================================== */

.wrap{max-width:1120px;margin:0 auto;padding:0 26px;}
.sec{padding:56px 0;}
.center{text-align:center;}
.row{display:flex;gap:16px;flex-wrap:wrap;}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}

/* full-bleed white sections fade into the sand above and below — no hard rule */
.sec-white{background:linear-gradient(180deg,
    var(--sand) 0,
    #fff min(90px,32%),
    #fff calc(100% - min(90px,32%)),
    var(--sand) 100%);}

/* every page except the home hero clears the floating header */
body:not(.home) .site-main > *:first-child{padding-top:var(--header-h);}
/* single posts wrap their sections in <article>, so push the padding inward
   or the hero's background would start below the header instead of behind it */
body:not(.home) .site-main > article:first-child{padding-top:0;}
body:not(.home) .site-main > article:first-child > *:first-child{padding-top:var(--header-h);}

/* ==========================================================================
   6. Components
   ========================================================================== */

.gbtn{display:inline-flex;align-items:center;gap:8px;background:var(--tang);color:#fff;border:0;border-radius:10px;
  padding:12px 22px;font:600 .98rem var(--body);cursor:pointer;text-decoration:none;transition:background .18s ease;}
.gbtn:hover{background:var(--tang-d);color:#fff;}
.gbtn:focus-visible{outline:2px solid var(--emerald-d);outline-offset:3px;}
.gbtn.green{background:var(--emerald);} .gbtn.green:hover{background:var(--emerald-d);}
.gbtn.ghost{background:transparent;color:var(--emerald-d);border:1.5px solid var(--emerald);}
.gbtn.ghost:hover{background:var(--mint);color:var(--emerald-d);}
.gbtn.white{background:#fff;color:var(--emerald-d);} .gbtn.white:hover{background:#eafff5;color:var(--emerald-d);}
.gbtn.outline-w{background:transparent;border:1.5px solid #fff;color:#fff;}
.gbtn.outline-w:hover{background:rgba(255,255,255,.12);color:#fff;}

.pill{display:inline-block;font:700 .7rem var(--body);letter-spacing:.6px;text-transform:uppercase;
  color:var(--emerald-d);background:#d1fae5;padding:5px 13px;border-radius:999px;text-decoration:none;}
.pill.tang{color:var(--tang-d);background:var(--tang-soft);}
a.pill:hover{filter:brightness(.96);}

.muted{color:var(--stone);}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px 24px;}
.list{margin:0;padding-left:0;list-style:none;}
.list li{position:relative;padding:7px 0 7px 26px;font-size:.96rem;}
.list li::before{content:"";position:absolute;left:3px;top:15px;width:8px;height:8px;border-radius:50%;background:var(--emerald);}
.stat .k{display:block;font:700 1.4rem var(--disp);color:var(--emerald-d);}
.stat .l{display:block;margin-top:4px;font-size:.82rem;color:var(--stone);}
.ph{background:var(--tang-soft);border-bottom:1px dashed #f0b27a;padding:0 4px;border-radius:3px;
  font-weight:600;color:var(--tang-d);}
hr.soft{border:0;border-top:1px solid var(--line);margin:18px 0;}

/* workshop agenda: headers a step up from their subtext */
.agenda p strong{font-size:1.05rem;}
.agenda p .muted{font-size:.92rem;}

/* workshop: the two columns' cards match height, content centred inside */
.wk-cols > div{display:flex;flex-direction:column;}
.wk-cols > div > .card{flex:1;display:flex;flex-direction:column;justify-content:center;}

.getlist p{display:flex;gap:12px;align-items:flex-start;margin:0;font-size:.96rem;}
.getlist .tick{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:var(--mint);color:var(--emerald-d);
  display:flex;align-items:center;justify-content:center;font:700 .74rem var(--body);margin-top:2px;}

.band{background:var(--emerald);color:#fff;text-align:center;padding:52px 26px;}
.band h2{color:#fff;}
.band p{color:#d5f2e6;max-width:46ch;margin:12px auto 22px;}

/* author / headshot block */
.bio-avatar{width:72px;height:72px;border-radius:50%;background:var(--emerald);color:#fff;
  font:800 1.3rem var(--disp);display:flex;align-items:center;justify-content:center;flex:0 0 auto;
  overflow:hidden;transition:box-shadow .18s ease,transform .18s ease;}
.bio-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block;}
a.bio-avatar:hover{box-shadow:0 0 0 4px rgba(6,78,59,.18);transform:translateY(-1px);}
.bio-name{display:block;width:fit-content;text-decoration-color:transparent;transition:text-decoration-color .18s ease;}
a.bio-name:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px;
  text-decoration-color:var(--tang);}
.bio-avatar:focus-visible,.bio-name:focus-visible{outline:2px solid var(--tang);outline-offset:3px;}

/* hero pillars — plain text floating on the animated background, no chrome */
.flow{max-width:820px;margin:0 auto;}
.flow-lead{font-weight:600;font-size:1rem;margin:58px 0 0;}
.flow-arrow{display:block;width:100%;height:auto;color:var(--emerald);margin-top:-18px;}
.flow-arrow .stroke{stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;fill:none;}
.flow-arrow .lead{stroke-width:2.4;}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);margin-top:2px;}
.pillars div{text-align:center;font-weight:600;font-size:1.02rem;color:var(--ink);}
@media(max-width:640px){.flow-arrow{display:none;} .pillars{grid-template-columns:1fr;gap:8px;margin-top:18px;}}

/* whole-card links — each card carries its own accent */
.cta-cards .card{display:flex;flex-direction:column;}
.card-link{--accent:var(--tang); --accent-ink:var(--tang-d); --accent-glow:rgba(249,115,22,.14);
  text-decoration:none;color:inherit;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;}
.card-link.accent-green{--accent:var(--emerald-d); --accent-ink:var(--emerald-d); --accent-glow:rgba(4,55,41,.16);}
.card-link.accent-mint{--accent:#d1fae5; --accent-ink:var(--emerald-d); --accent-glow:rgba(6,78,59,.18);}
.card-link:hover,.card-link:focus-visible{border-color:var(--accent);
  box-shadow:0 0 0 1px var(--accent),0 8px 22px var(--accent-glow);transform:translateY(-2px);}
.card-link:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px;}
/* the card is a flex column, so pills must not stretch to its full width */
.card-link > .pill{align-self:flex-start;}
.card-link .cue{margin-top:auto;padding-top:14px;font-weight:600;font-size:.95rem;color:var(--accent-ink);}
.card-link .cue span{display:inline-block;transition:transform .18s ease;}
.card-link:hover .cue span{transform:translateX(4px);}
@media(prefers-reduced-motion:reduce){
  .card-link,.card-link .cue span{transition:none;}
  .card-link:hover{transform:none;}
}

/* ==========================================================================
   7. Animated hero
   ========================================================================== */

.hero-fx{position:relative;overflow:hidden;isolation:isolate;}
.hero-fx .wrap{position:relative;z-index:2;width:100%;}
body.home .hero-fx.hero-full{min-height:100vh;min-height:100svh;display:flex;align-items:center;padding-top:78px;}
/* workshop hero centres what is left after the CTA came out */
.hero-fx.hero-workshop{min-height:60vh;display:flex;align-items:center;}
/* course hero runs down to the green block */
.hero-fx.hero-course{min-height:100vh;min-height:100svh;display:flex;align-items:center;}
.hero-fx::before,.hero-fx::after{content:"";position:absolute;inset:-30%;z-index:0;pointer-events:none;}
.hero-fx::before{
  background:
    radial-gradient(38% 44% at 22% 30%, rgba(6,78,59,.15), transparent 62%),
    radial-gradient(34% 40% at 78% 24%, rgba(249,115,22,.18), transparent 64%),
    radial-gradient(44% 48% at 64% 80%, rgba(6,78,59,.13), transparent 66%),
    radial-gradient(30% 34% at 28% 86%, rgba(194,65,12,.11), transparent 64%);
  filter:blur(30px);
  animation:heroDrift 38s ease-in-out infinite alternate;
}
.hero-fx::after{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150' viewBox='0 0 150 150'%3E%3Cg fill='none' stroke='%23064e3b' stroke-opacity='.17' stroke-width='1'%3E%3Cpath d='M14 30 L66 10 M66 10 L120 36 M120 36 L140 92 M140 92 L86 120 M86 120 L30 110 M30 110 L14 30 M66 10 L86 120 M30 110 L120 36 M0 74 L14 30 M140 92 L150 60 M86 120 L100 150 M30 110 L18 150'/%3E%3C/g%3E%3Cg fill='%23064e3b' fill-opacity='.20'%3E%3Ccircle cx='14' cy='30' r='2.4'/%3E%3Ccircle cx='66' cy='10' r='1.9'/%3E%3Ccircle cx='120' cy='36' r='2.6'/%3E%3Ccircle cx='140' cy='92' r='1.9'/%3E%3Ccircle cx='86' cy='120' r='2.8'/%3E%3Ccircle cx='30' cy='110' r='2.1'/%3E%3C/g%3E%3C/svg%3E");
  background-size:300px 300px;
  opacity:.55;
  animation:heroPan 90s linear infinite;
}
@keyframes heroDrift{
  0%{transform:translate3d(0,0,0) scale(1);}
  50%{transform:translate3d(2.5%,-2%,0) scale(1.07);}
  100%{transform:translate3d(-2.5%,2%,0) scale(1.03);}
}
@keyframes heroPan{from{background-position:0 0;} to{background-position:300px 150px;}}
@media(prefers-reduced-motion:reduce){.hero-fx::before,.hero-fx::after{animation:none;}}

/* ==========================================================================
   8. Forms
   ========================================================================== */

label.f{display:block;font-weight:600;font-size:.9rem;margin:14px 0 6px;}
.inp{width:100%;padding:11px 13px;border:1px solid #e5d5b4;border-radius:9px;font:400 1rem var(--body);
  background:#fff;color:var(--ink);}
.inp:focus{outline:2px solid var(--tang);outline-offset:1px;border-color:var(--tang);}
.hint{font-size:.82rem;color:var(--stone);margin-top:6px;}
.checkline{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:.9rem;}
.checkline input{margin-top:4px;}
.success{background:var(--mint);border:1px solid #c9ede0;border-radius:16px;padding:30px 26px;text-align:center;}
.success .tick{width:52px;height:52px;border-radius:50%;background:var(--emerald);color:#fff;font-size:1.6rem;
  display:flex;align-items:center;justify-content:center;margin:0 auto 14px;}

/* --- Fluent Forms, restyled to match the design system ------------------- */
.gbe-form .frm-fluent-form .ff-el-input--label label{font-family:var(--body);font-weight:600;font-size:.9rem;
  color:var(--ink);margin:14px 0 6px;}
.gbe-form .frm-fluent-form .ff-el-form-control{width:100%;padding:11px 13px;border:1px solid #e5d5b4;
  border-radius:9px;font:400 1rem var(--body);background:#fff;color:var(--ink);box-shadow:none;}
.gbe-form .frm-fluent-form .ff-el-form-control:focus{outline:2px solid var(--tang);outline-offset:1px;
  border-color:var(--tang);box-shadow:none;}
.gbe-form .frm-fluent-form .ff-el-group{margin-bottom:6px;}
.gbe-form .frm-fluent-form .ff-el-form-check-label{font-size:.9rem;font-family:var(--body);}
.gbe-form .frm-fluent-form .ff-btn-submit,
.gbe-form .frm-fluent-form .ff-btn.ff-btn-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--tang);color:#fff;border:0;border-radius:10px;padding:12px 22px;
  font:600 .98rem var(--body);cursor:pointer;width:100%;box-shadow:none;transition:background .18s ease;}
.gbe-form .frm-fluent-form .ff-btn-submit:hover{background:var(--tang-d);color:#fff;}
.gbe-form .frm-fluent-form .ff-el-help-message{font-size:.82rem;color:var(--stone);}
.gbe-form .frm-fluent-form .ff-message-success{background:var(--mint);border:1px solid #c9ede0;border-radius:16px;
  padding:24px 22px;color:var(--emerald-d);font-family:var(--body);}

/* placeholder shown until a Fluent Forms shortcode is set in the Customizer */
.gbe-form-placeholder{border:1.5px dashed #f0b27a;background:var(--tang-soft);border-radius:12px;
  padding:18px 20px;color:var(--tang-d);font-size:.92rem;}
.gbe-form-placeholder strong{display:block;font-family:var(--disp);font-size:1rem;margin-bottom:6px;}
.gbe-form-placeholder code{background:rgba(255,255,255,.7);padding:1px 6px;border-radius:4px;font-size:.86rem;}

/* ==========================================================================
   9. Blog / editorial
   ========================================================================== */

.post-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;}
.post-card .thumb{display:block;margin:-26px -24px 16px;border-radius:16px 16px 0 0;overflow:hidden;}
.post-card .thumb img{width:100%;height:190px;object-fit:cover;display:block;}
.post-card h3{font-size:1.25rem;margin:10px 0 6px;}
.post-card .cue{margin-top:auto;padding-top:12px;color:var(--emerald-d);font-weight:600;font-size:.95rem;}
.post-meta{font-size:.82rem;color:var(--stone);}

.entry{max-width:720px;margin:0 auto;}
.entry-content{font-size:1.06rem;}
.entry-content > *{margin-top:0;margin-bottom:1.1em;}
.entry-content h2{font-size:1.6rem;margin-top:1.8em;}
.entry-content h3{font-size:1.28rem;margin-top:1.5em;}
.entry-content a{color:var(--emerald-d);text-decoration:underline;text-underline-offset:3px;
  text-decoration-color:var(--tang);text-decoration-thickness:2px;}
.entry-content a:hover{color:var(--tang-d);}
.entry-content ul,.entry-content ol{padding-left:22px;}
.entry-content li{margin-bottom:.4em;}
.entry-content blockquote{margin:1.6em 0;padding:4px 0 4px 20px;border-left:4px solid var(--tang);
  font-style:italic;color:var(--stone);}
.entry-content img,.entry-content figure img{border-radius:14px;}
.entry-content figcaption,.wp-caption-text{font-size:.85rem;color:var(--stone);text-align:center;margin-top:8px;}
.entry-content code{background:#fff;border:1px solid var(--line);border-radius:5px;padding:1px 6px;font-size:.92em;}
.entry-content pre{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;overflow-x:auto;}
.entry-content pre code{border:0;padding:0;background:none;}
.entry-content table{width:100%;border-collapse:collapse;}
.entry-content th,.entry-content td{border:1px solid var(--line);padding:9px 12px;text-align:left;}
.entry-content .wp-block-button__link{background:var(--tang);color:#fff;border-radius:10px;padding:12px 22px;
  font-weight:600;text-decoration:none;}
.alignwide{max-width:1000px;margin-left:auto;margin-right:auto;}
.alignfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);}
.alignleft{float:left;margin:0 1.5em 1em 0;}
.alignright{float:right;margin:0 0 1em 1.5em;}
.aligncenter{margin-left:auto;margin-right:auto;display:block;}

.pagination{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:34px;}
.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;
  padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#fff;text-decoration:none;
  font-weight:600;font-size:.92rem;color:var(--emerald-d);}
.pagination .page-numbers:hover{border-color:var(--tang);color:var(--tang-d);}
.pagination .page-numbers.current{background:var(--emerald);border-color:var(--emerald);color:#fff;}

.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:34px;}
.post-nav a{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;
  text-decoration:none;color:inherit;}
.post-nav a:hover{border-color:var(--tang);}
.post-nav .lbl{font-size:.78rem;text-transform:uppercase;letter-spacing:.6px;color:var(--stone);font-weight:700;}
.post-nav .ttl{font-family:var(--disp);font-weight:600;font-size:1rem;margin-top:4px;display:block;}
.post-nav .next{text-align:right;}
@media(max-width:640px){.post-nav{grid-template-columns:1fr;}}

.comments-area{max-width:720px;margin:44px auto 0;}
.comments-area .comment-list{list-style:none;padding:0;}
.comments-area .comment-body{background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:16px 18px;margin-bottom:14px;}

/* ==========================================================================
   10. Footer
   ========================================================================== */

footer.site-footer{background:var(--ink-d);color:#cdeadd;padding:30px 26px;font-size:.85rem;}
.foot{max-width:1120px;margin:0 auto;display:flex;gap:16px;flex-wrap:wrap;align-items:center;}
.foot .name{font-family:var(--disp);font-weight:700;color:#fff;font-size:1rem;}
.foot a{color:#cdeadd;text-decoration:none;}
.foot a:hover{color:#fff;}
.foot strong a,.foot a.strong{color:#fff;font-weight:600;}
.foot .meta{margin-left:auto;color:#7f948a;}
.foot .footer-nav ul{list-style:none;display:flex;gap:16px;margin:0;padding:0;flex-wrap:wrap;}
@media(max-width:640px){.foot .meta{margin-left:0;}}

/* ==========================================================================
   11. Responsive
   ========================================================================== */

@media(max-width:820px){
  .grid2,.grid3{grid-template-columns:1fr;}
  .sec{padding:44px 0;}
}
@media(max-width:520px){
  .wrap{padding:0 18px;}
  .band{padding:42px 18px;}
}
