/*
Theme Name: Dynamic Recovery Training Welcome
Theme URI: https://example.com
Author: Dynamic Recovery
Description: A simple sage-green welcome theme for the Dynamic Recovery Live Training Manager plugin.
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: dr-training-welcome
*/
:root{--sage:#6f8773;--forest:#2f4a39;--deep:#20392d;--mint:#edf4ee;--cream:#f7f8f5;--ink:#27332b;--muted:#627064;--border:#d9e4d9;--rose:#f7eef2}
*{box-sizing:border-box}
body{margin:0;background:var(--cream);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);line-height:1.6}
a{color:var(--forest)}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #b6a56f;outline-offset:3px}
.site-header{background:#fff;border-bottom:1px solid var(--border)}
.wrap{width:min(1120px,calc(100% - 40px));margin:auto}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:94px}
.brand{display:flex;align-items:center;text-decoration:none;max-width:min(720px,70vw)}
.brand img{display:block;max-height:92px;width:auto;max-width:100%}
.navlinks{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.navlinks a{text-decoration:none;font-weight:650;font-size:.95rem}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;background:var(--forest);color:#fff!important;border:1px solid var(--forest);border-radius:12px;padding:12px 20px;font-weight:700;text-decoration:none!important;transition:.15s}
.btn:hover{background:var(--deep)}
.btn.alt{background:#fff;color:var(--forest)!important;border:1px solid #b4c3b5}
.btn-soft{background:#edf3ee;color:var(--forest)!important;border:1px solid #cdddce}
.hero-simple{padding:58px 0 52px;background:linear-gradient(180deg,#fff 0%,#f3f7f1 100%)}
.hero-simple-wrap{display:grid;grid-template-columns:1.03fr .97fr;align-items:start;gap:34px}
.eyebrow{color:#4c6e56;letter-spacing:.16em;text-transform:uppercase;font-weight:800;font-size:.78rem}
.hero-copy h1{font-size:clamp(2.2rem,5vw,4rem);line-height:1.1;letter-spacing:-.04em;margin:12px 0 18px;color:var(--deep)}
.lead{font-size:1.08rem;color:#516154;max-width:620px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero-cards{display:grid;gap:18px}
.simple-card{background:#fff;border:1px solid var(--border);border-radius:20px;padding:28px;box-shadow:0 10px 32px rgba(33,63,43,.06)}
.simple-card h2{margin:0 0 10px;color:var(--deep);font-size:1.4rem}
.highlight-card{background:linear-gradient(180deg,#ffffff 0%, #f6faf6 100%)}
.big-copy{font-size:1.08rem;margin:0 0 12px;color:#445548}
.steps-list{margin:0 0 8px 20px;padding:0;display:grid;gap:8px}
.steps-list li{padding-left:4px}
.simple-note{margin:14px 0 18px;color:var(--deep)}
.small-note{margin-top:12px;color:var(--muted);font-size:.92rem}
.section{padding:70px 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}
.section-head h2,.section h2{color:var(--deep);font-size:clamp(1.7rem,3vw,2.25rem);line-height:1.2;letter-spacing:-.03em;margin:0 0 8px}
.section-head p{margin:0;color:var(--muted)}
.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.benefit{background:#fff;border:1px solid var(--border);border-radius:16px;padding:28px}
.benefit .sym{font-size:26px}.benefit h3{color:var(--deep);margin:16px 0 7px}.benefit p{color:var(--muted);margin:0;font-size:.95rem}
.training-bg{background:#fff}.training-display .drlt-public{max-width:none!important}.training-display .drlt-hero{display:none!important}.training-display .drlt-grid{margin:0}.empty{background:#f3f6f1;border:1px dashed #bac9bc;border-radius:15px;padding:36px;color:var(--muted)}
.bottom-strip{background:var(--forest);color:#fff;padding:46px 0}.bottom-strip .inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.bottom-strip h2{margin:0 0 5px;font-size:1.65rem}.bottom-strip p{margin:0;color:#e1eae2}.bottom-strip .btn{background:#fff;color:var(--forest)!important;border-color:#fff}
.footer{padding:26px 0;background:#213a2d;color:#e4ebe4}.footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer a{color:#e4ebe4}
.content-page{padding:65px 0;min-height:60vh}.content-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:clamp(20px,4vw,48px)}.content-card h1{font-size:2.2rem;color:var(--deep);margin-top:0}.content-card input,.content-card select,.content-card textarea{max-width:100%}.content-card .drlt-hero{background:var(--mint)}.content-card .drlt-public{max-width:100%}
@media(max-width:920px){.hero-simple-wrap{grid-template-columns:1fr}.benefits{grid-template-columns:1fr}.bottom-strip .inner{align-items:flex-start;flex-direction:column}.nav{padding:12px 0;flex-direction:column;align-items:flex-start}.navlinks{gap:12px}}
@media(max-width:570px){.brand img{max-height:70px}.section{padding:52px 0}.simple-card{padding:22px}}

.drtw-calendar-actions{margin-bottom:22px}

.hero-cards-single{display:flex;justify-content:flex-end}.hero-cards-single .simple-card{max-width:440px;width:100%}.drlt-month-nav a[aria-busy="true"]{opacity:.55;pointer-events:none}

.footer a{color:#e4ebe4;text-decoration:underline;text-underline-offset:3px}
/* 1.6 navigation and contact refinements */
.navlinks{gap:8px;justify-content:flex-end}.navlinks .navlink{display:inline-flex;align-items:center;gap:7px;padding:10px 12px;border-radius:12px;color:#304b3b;white-space:nowrap;transition:background .18s ease}.navlinks .navlink:hover,.navlinks .navlink:focus-visible{background:#e8efe7}.navlinks .nav-login{padding:11px 19px;white-space:nowrap;box-shadow:0 3px 12px rgba(48,75,59,.13)}
.drtw-contact-form{display:grid;gap:17px;margin-top:20px;max-width:700px}.drtw-contact-form label{display:grid;gap:6px;font-weight:650;color:#304b3b}.drtw-contact-form input,.drtw-contact-form textarea{width:100%;padding:12px 14px;border:1px solid #cddbcc;border-radius:10px;background:#fff;font:inherit}.drtw-contact-form .btn{justify-self:start;cursor:pointer}.drtw-honeypot{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}.drtw-notice{padding:13px 18px;border-radius:10px}.drtw-ok{background:#e5f2e6;color:#274b30}.drtw-error{background:#fbe8e7;color:#873a37}
@media(max-width:1100px){.nav{flex-wrap:wrap;padding:10px 0}.navlinks{flex-wrap:wrap}}
@media(max-width:720px){.navlinks{justify-content:flex-start}.navlinks .navlink{padding:9px 10px}}

/* v1.9 visual refresh: approved second mockup, pink hero underline */
:root{--brand-pink:#f80066;--forest:#30573b;--deep:#142e24;--cream:#f9fbf7}
html{scroll-behavior:smooth}
body{background:#fff}
.site-header{box-shadow:0 5px 22px rgba(24,51,35,.095);position:relative;z-index:5}
.wrap{width:min(1400px,calc(100% - 72px))}
.nav{gap:28px;min-height:108px}
.brand{flex:0 1 400px;min-width:205px}
.brand img{max-height:88px;object-fit:contain;object-position:left;max-width:100%}
.navlinks{display:flex;flex:1;gap:10px;align-items:center;justify-content:flex-end}
.navlinks .navlink{background:#f5f8f3;border:1px solid #eef1e9;border-radius:17px;padding:15px 16px;box-shadow:0 6px 16px rgba(33,61,40,.07);gap:11px;color:#253f30;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.navlinks .navlink:hover,.navlinks .navlink:focus-visible{background:#e8f1e8;transform:translateY(-2px);box-shadow:0 9px 19px rgba(33,61,40,.13)}
.nav-icon{font-size:1.6rem;line-height:1;font-weight:750;color:#224c33;display:inline-flex;align-items:center;justify-content:center;min-width:26px}
.navlinks .nav-login{border-radius:16px;padding:16px 23px;box-shadow:0 9px 20px rgba(30,61,39,.2);gap:11px}.nav-login .nav-icon{color:#fff}
.btn{box-shadow:0 7px 18px rgba(35,65,43,.12);transition:transform .18s,background .18s,box-shadow .18s}.btn:hover{transform:translateY(-2px);box-shadow:0 11px 22px rgba(35,65,43,.16)}
.hero-simple{position:relative;overflow:hidden;padding:64px 0;background:radial-gradient(ellipse at 89% 27%,rgba(167,191,151,.28),transparent 44%),radial-gradient(ellipse at 0% 90%,rgba(151,191,152,.22),transparent 46%),linear-gradient(130deg,#f0f6eb 0%,#f9fbf5 52%,#e9f3e6 100%)}
.hero-simple::before,.hero-simple::after{content:"";position:absolute;pointer-events:none;inset:auto -10% -43% -10%;height:62%;background:#91b18e18;transform:rotate(-12deg);border-radius:50% 45% 0 0}
.hero-simple::after{inset:-44% -14% auto 40%;height:76%;background:#fff9;transform:rotate(18deg)}
.hero-simple-wrap{grid-template-columns:1.26fr .95fr;align-items:center;gap:56px;position:relative;z-index:1}
.hero-copy h1{font-family:Georgia,"Times New Roman",serif;font-weight:700;letter-spacing:-.045em;font-size:clamp(2.9rem,4.45vw,5rem);line-height:1.09;margin:13px 0 24px;color:#102920}
.hero-accent{display:inline-block;position:relative;padding-bottom:13px;white-space:normal}
.hero-accent::after{content:"";position:absolute;left:0;right:3%;bottom:0;height:7px;border-radius:60% 45% 55% 70%;background:var(--brand-pink);transform:rotate(-.45deg)}
.hero-copy .lead{font-size:1.13rem;line-height:1.56;max-width:610px;color:#556257}
.hero-actions{gap:15px;margin-top:30px}.hero-actions .btn{font-size:1rem;padding:15px 24px;border-radius:16px;gap:13px}.button-icon{font-size:1.25rem;line-height:1}
.hero-cards-single .simple-card{max-width:none;padding:32px 34px;border:1px solid #e6ece2;box-shadow:0 20px 44px rgba(40,73,47,.15);background:#fff;border-radius:22px}
.highlight-card h2{font:700 clamp(1.8rem,3vw,2.45rem) Georgia,serif;letter-spacing:-.02em;margin:0 0 21px;color:#183425}
.highlight-card h2::after{content:"";display:block;width:70px;height:4px;border-radius:100%;background:#86b47e;margin-top:9px}
.steps-list{list-style:none;counter-reset:steps;display:grid;gap:23px;margin:0;padding:0}
.steps-list li{counter-increment:steps;display:flex;gap:18px;align-items:center;position:relative;padding:0 0 0 33px}
.steps-list li::before{content:counter(steps);position:absolute;left:0;top:50%;transform:translateY(-50%);border-radius:50%;width:25px;height:25px;background:#dcebdd;color:#2e5335;font-weight:800;text-align:center;font-size:.9rem;line-height:25px}
.step-icon{display:flex;align-items:center;justify-content:center;flex:0 0 62px;width:62px;height:62px;background:#edf3e9;border-radius:50%;font-size:1.9rem;color:#2c5339;font-weight:750}
.steps-list strong{display:block;font:700 1.13rem Georgia,serif;color:#20352a;line-height:1.25}.steps-list small{display:block;color:#6b756c;font-size:.89rem;line-height:1.4;margin-top:4px}
.section-head h2{font-family:Georgia,serif;font-size:clamp(2rem,3vw,2.55rem)}.section-head h2::after{content:"";display:block;width:110px;background:#9bc793;height:4px;margin-top:10px;border-radius:99px}
#upcoming{padding:56px 0 68px}
.training-display .drlt-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.training-display .drlt-course{border-radius:18px;box-shadow:0 12px 28px rgba(26,52,34,.1);border:1px solid #e5ede2;transition:transform .2s,box-shadow .2s}
.training-display .drlt-course:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(26,52,34,.15)}
.training-display .drlt-course>img,.training-display .drlt-placeholder{height:180px}
.training-display .drlt-course h3{font:700 1.26rem Georgia,serif;color:#193526}
.training-display .drlt-course-body{padding:22px}
@media(max-width:1350px){.nav{flex-wrap:wrap;justify-content:center;padding:12px 0}.brand{flex-basis:360px}.navlinks{flex-wrap:wrap;justify-content:center}}
@media(max-width:990px){.hero-simple-wrap{grid-template-columns:1fr;gap:35px}.hero-cards-single .simple-card{max-width:680px}.training-display .drlt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:660px){.wrap{width:min(100% - 30px,1400px)}.nav{align-items:center}.navlinks{width:100%;gap:7px}.navlinks .navlink{padding:10px;font-size:.8rem;gap:5px}.nav-icon{font-size:1.25rem;min-width:18px}.navlinks .nav-login{padding:12px 15px}.hero-simple{padding:42px 0}.hero-copy h1{font-size:clamp(2.45rem,9vw,3.3rem)}.hero-cards-single .simple-card{padding:24px 20px}.steps-list li{gap:11px}.step-icon{flex-basis:46px;width:46px;height:46px;font-size:1.4rem}.training-display .drlt-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.navlinks .navlink,.training-display .drlt-course{transition:none}}

/* 2.0: faithful landing page polish, true calendar icons, and on-demand calendar */
[hidden]{display:none!important}
.nav-icon svg{display:block;width:29px;height:29px;stroke-width:2.1;filter:drop-shadow(0 2px 1px rgba(38,81,53,.08))}
.button-icon svg{display:block;width:24px;height:24px}
.step-icon svg{width:31px;height:31px;stroke-width:2.1;filter:drop-shadow(0 2px 1px #8ca78c44)}
.navlinks .navlink,.navlinks .nav-login{min-height:58px}
.navlinks .navlink{box-shadow:0 7px 17px rgba(36,57,37,.10),inset 0 1px 0 #fff}
.navlinks .nav-login{background:linear-gradient(145deg,#467451,#2d4e39);box-shadow:0 8px 17px rgba(26,59,35,.24)}
.hero-simple{background:radial-gradient(ellipse at 85% 25%,#d8e7d0af,transparent 39%),radial-gradient(ellipse at 7% 83%,#c7ddc6c2,transparent 43%),linear-gradient(125deg,#f6f9f3,#e9f2e5)}
.hero-simple::before{background:#7da57a19}
.hero-simple::after{background:#ffffff70}
.hero-accent::after{background:#f80066}
.simple-card{box-shadow:0 21px 44px rgba(30,64,39,.13)}
#monthly-calendar{background:#f2f7f0;scroll-margin-top:20px}
.training-display .drlt-course{overflow:hidden;box-shadow:0 12px 26px rgba(37,56,39,.13)}
@media(max-width:660px){.nav-icon svg{width:21px;height:21px}.step-icon svg{width:24px;height:24px}}
