/* =========================================================
   Awarenest — Wellness Day page components
   loads on top of awarenest.css (uses its :root variables)
   ========================================================= */

/* hero badges */
.wd-badges{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem;}
.wd-badge{font-size:.8rem;letter-spacing:.06em;color:var(--cream);border:1px solid rgba(233,235,203,.45);border-radius:999px;padding:.4rem 1rem;background:rgba(0,30,24,.25);backdrop-filter:blur(2px);}
.hero h1.wd-title{font-size:clamp(2rem,5vw,3.6rem);}
.hero .lead.wd-lead{max-width:40ch;}

/* pull quote band */
.quote-band{background:var(--green-deep);text-align:center;padding:4.5rem 0;}
.quote-band p{font-family:var(--serif-en);font-style:italic;font-size:clamp(1.3rem,2.8vw,1.9rem);color:var(--sand);letter-spacing:.04em;margin:0;}

/* why grid */
.why{padding:6rem 0;background:var(--green);}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;margin-top:3rem;}
.why-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:2.2rem 1.8rem;transition:transform .4s ease, background .4s ease;}
.why-card:hover{transform:translateY(-5px);background:var(--panel-2);}
.why-card .ico{font-size:2rem;line-height:1;display:block;margin-bottom:1rem;}
.why-card h3{font-family:var(--serif-ja);font-weight:600;font-size:1.18rem;line-height:1.5;letter-spacing:.03em;color:var(--cream-2);margin:0 0 .8rem;}
.why-card p{font-size:.93rem;line-height:1.95;color:var(--cream-soft);margin:0;}

/* programs */
.programs{padding:6rem 0;background:var(--green-alt);}
.plan{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:2.4rem;margin-bottom:1.6rem;}
.plan-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.6rem 1.2rem;padding-bottom:1.4rem;margin-bottom:1.8rem;border-bottom:1px solid var(--line);}
.plan-head .pname{font-family:var(--serif-ja);font-weight:600;font-size:1.5rem;letter-spacing:.04em;color:var(--cream-2);}
.plan-head .pdur{font-size:.85rem;letter-spacing:.08em;color:var(--sage);margin-left:.6rem;}
.plan-head .pprice{font-family:var(--serif-ja);font-weight:600;font-size:1.5rem;color:var(--sand);}
.plan-head .pprice small{font-size:.7rem;color:var(--cream-soft);letter-spacing:.06em;margin-left:.2rem;}
.plan > .pintro{font-size:.97rem;line-height:2;color:var(--cream-soft);margin:0 0 1.8rem;}

/* timeline */
.timeline{position:relative;margin-left:.4rem;}
.tl-row{display:grid;grid-template-columns:128px 1fr;gap:1.2rem;padding:0 0 1.6rem;position:relative;}
.tl-row::before{content:"";position:absolute;left:138px;top:.5rem;bottom:-.4rem;width:1px;background:var(--line);}
.tl-row:last-child::before{display:none;}
.tl-time{font-family:var(--serif-en);font-style:italic;font-size:.98rem;color:var(--sand);text-align:right;padding-top:.05rem;}
.tl-body{position:relative;padding-left:1.4rem;}
.tl-body::before{content:"";position:absolute;left:-9px;top:.45rem;width:9px;height:9px;border-radius:50%;background:var(--sand);box-shadow:0 0 0 4px rgba(253,218,144,.15);}
.tl-body h4{font-family:var(--serif-ja);font-weight:600;font-size:1.05rem;letter-spacing:.02em;color:var(--cream-2);margin:0 0 .35rem;}
.tl-body p{font-size:.9rem;line-height:1.85;color:var(--cream-soft);margin:0;}

/* note callout */
.note{margin-top:1.6rem;font-size:.9rem;line-height:1.8;color:var(--cream);background:rgba(253,218,144,.08);border:1px solid rgba(253,218,144,.25);border-radius:10px;padding:.9rem 1.2rem;}

/* lunch/dinner two columns */
.plan-2col{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;}
.mini{border:1px solid var(--line);border-radius:12px;padding:1.6rem 1.6rem 1.2rem;background:rgba(0,30,24,.18);}
.mini .mlabel{font-family:var(--serif-en);font-style:italic;letter-spacing:.1em;color:var(--sand);font-size:.95rem;margin:0 0 1rem;padding-bottom:.6rem;border-bottom:1px solid var(--line);}
.mini-tl{list-style:none;margin:0;padding:0;}
.mini-tl li{display:grid;grid-template-columns:64px 1fr;gap:.8rem;padding:.5rem 0;font-size:.92rem;line-height:1.6;}
.mini-tl li .t{font-family:var(--serif-en);font-style:italic;color:var(--sand);}
.mini-tl li .d{color:var(--cream);}

/* pricing */
.pricing{padding:6rem 0;background:var(--green);}
.price-wrap{max-width:840px;margin:0 auto;}
.ptable{width:100%;border-collapse:collapse;margin-top:1rem;font-size:.95rem;}
.ptable th,.ptable td{text-align:left;padding:1.1rem 1rem;border-bottom:1px solid var(--line);vertical-align:top;}
.ptable thead th{font-family:var(--serif-ja);font-weight:500;color:var(--sand);font-size:.92rem;letter-spacing:.06em;}
.ptable .pn{font-family:var(--serif-ja);font-weight:600;color:var(--cream-2);font-size:1.05rem;white-space:nowrap;}
.ptable .pn .rec{display:inline-block;margin-left:.5rem;font-family:var(--sans-ja);font-size:.66rem;letter-spacing:.08em;color:var(--green-deep);background:var(--sand);border-radius:999px;padding:.12rem .6rem;vertical-align:middle;}
.ptable .pv{color:var(--cream-soft);line-height:1.7;}
.ptable .pp{font-family:var(--serif-ja);font-weight:600;color:var(--sand);font-size:1.2rem;white-space:nowrap;text-align:right;}
.pnotes{margin-top:1.4rem;font-size:.82rem;line-height:1.9;color:var(--cream-soft);}
.pnotes span{display:block;}

/* access */
.access{padding:6rem 0;background:var(--green-alt);}
.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;margin-top:2.5rem;}
.access-card h3{font-family:var(--serif-ja);font-weight:600;font-size:1.1rem;color:var(--cream-2);margin:0 0 .8rem;}
.access-card p{font-size:.95rem;line-height:1.95;color:var(--cream-soft);margin:0 0 .4rem;}

/* faq */
.faq{padding:6rem 0;background:var(--green);}
.faq-list{max-width:780px;margin:2.5rem auto 0;}
.faq-list details{border-bottom:1px solid var(--line);}
.faq-list summary{list-style:none;cursor:pointer;padding:1.3rem 2rem 1.3rem 0;font-family:var(--serif-ja);font-weight:500;font-size:1.05rem;color:var(--cream-2);position:relative;transition:color .3s;}
.faq-list summary::-webkit-details-marker{display:none;}
.faq-list summary::after{content:"+";position:absolute;right:.2rem;top:1.15rem;font-size:1.3rem;color:var(--sand);transition:transform .3s;}
.faq-list details[open] summary::after{content:"–";}
.faq-list summary:hover{color:var(--sand);}
.faq-list .fa{padding:0 0 1.4rem;font-size:.94rem;line-height:2;color:var(--cream-soft);max-width:68ch;}

/* booking */
.booking{padding:6.5rem 0;background:var(--green-deep);text-align:center;}
.booking h2{font-family:var(--serif-ja);font-weight:500;font-size:clamp(1.6rem,3.4vw,2.4rem);line-height:1.5;color:var(--cream-2);margin:.4rem 0 1.2rem;}
.booking p{color:var(--cream-soft);line-height:2;max-width:40ch;margin:0 auto 2.2rem;}
.booking .cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}

.section-head .lead{max-width:48ch;margin:1.2rem auto 0;color:var(--cream-soft);line-height:2;font-size:1rem;}

@media(max-width:880px){
  .why-grid{grid-template-columns:1fr;}
  .plan-2col{grid-template-columns:1fr;}
  .access-grid{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .plan{padding:1.6rem;}
  .tl-row{grid-template-columns:90px 1fr;gap:.8rem;}
  .tl-row::before{left:100px;}
  .plan-head .pname{font-size:1.25rem;}
}

