/*
Theme Name: EatWiseCoach
Theme URI: https://eatwisecoach.com
Author: EatWiseCoach
Author URI: https://eatwisecoach.com
Description: Custom one-page site theme for EatWiseCoach — personalised, culturally-rooted nutrition coaching.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: eatwisecoach
*/

:root {
  --ews-bg: #FAF5EE;
  --ews-bg-alt: #F2EBDF;
  --ews-ink: #1A1414;
  --ews-ink-soft: #4A3F3F;
  --ews-border: #E5DACA;
  --ews-cream: #FFFBF5;
  --accent: #6B1F28;
  --accent-deep: #4A1018;
}

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--ews-bg);
  font-family: 'Geist', system-ui, sans-serif;
  color: var(--ews-ink);
}

*, *::before, *::after { box-sizing: border-box; }

img { max-width: 100%; }

/* ---------- interactive helpers ---------- */
.ews-link:hover { color: var(--accent) !important; }

.ews-nav-link { position: relative; text-decoration: none; color: var(--ews-ink); }
.ews-nav-link::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: -6px; height: 1px;
  background: var(--accent); transform: scaleX(0); transform-origin: left; transition: transform .25s ease;
}
.ews-nav-link:hover::after { transform: scaleX(1); }
.ews-nav-link.active { color: var(--accent); font-weight: 500; }
.ews-nav-link.active::after { transform: scaleX(1); }

.ews-btn-primary { transition: background .2s ease, transform .15s ease, box-shadow .2s ease; }
.ews-btn-primary:hover { background: var(--accent-deep) !important; transform: translateY(-2px); box-shadow: 0 10px 24px rgba(74,16,24,.28); }
.ews-btn-primary:active { transform: translateY(0); }

.ews-btn-ghost { transition: background .2s ease, color .2s ease, transform .15s ease; }
.ews-btn-ghost:hover { background: var(--accent) !important; color: var(--ews-cream) !important; transform: translateY(-2px); }

.ews-card { transition: transform .3s cubic-bezier(.2,.8,.3,1); }
.ews-card:hover { transform: translateY(-4px); }

.ews-svc-row { transition: background .2s ease, transform .2s ease; }
.ews-svc-row:hover { background: rgba(107,31,40,.045); }
.ews-svc-row:hover .ews-svc-arrow { transform: translateX(8px); }
.ews-svc-row:hover .ews-svc-num { color: var(--accent-deep); transform: scale(1.08); }
.ews-svc-num { transition: color .2s ease, transform .2s ease; display: inline-block; }
.ews-svc-arrow { transition: transform .25s ease; }

input.ews-input:focus, select.ews-input:focus, textarea.ews-input:focus { outline: none; border-color: var(--accent); }

.ews-faq summary { cursor: pointer; list-style: none; }
.ews-faq summary::-webkit-details-marker { display: none; }
.ews-faq[open] .ews-faq-icon { transform: rotate(45deg); }
.ews-faq-icon { transition: transform .2s ease; display: inline-block; }

.ews-chip { transition: background .15s ease, color .15s ease, border-color .15s ease, transform .1s ease; cursor: pointer; padding: 8px 16px; border: 1px solid var(--ews-ink); border-radius: 999px; font-size: 13px; color: var(--ews-ink); background: transparent; }
.ews-chip:active { transform: scale(.96); }
.ews-chip.active { border-color: var(--accent); background: var(--accent); color: var(--ews-cream); }

.ews-sticky-nav { position: sticky; top: 0; z-index: 50; backdrop-filter: blur(12px); background: rgba(250,245,238,.85); }

.ews-tab-btn { transition: background .2s ease, color .2s ease, border-color .2s ease, transform .15s ease; padding: 14px 24px; font-size: 14px; font-family: inherit; cursor: pointer; border-radius: 999px; border: 1px solid rgba(250,245,238,.3); background: transparent; color: var(--ews-cream); }
.ews-tab-btn:hover { transform: translateY(-1px); }
.ews-tab-btn.active { border-color: var(--accent); background: var(--accent); color: var(--ews-cream); }

.ews-sex-btn { flex: 1; padding: 14px 0; font-size: 14px; font-family: inherit; cursor: pointer; border-radius: 2px; border: 1px solid var(--ews-border); background: transparent; color: var(--ews-ink); transition: background .2s ease, color .2s ease, border-color .2s ease; }
.ews-sex-btn.active { border-color: var(--accent); background: var(--accent); color: var(--ews-cream); }

.ews-node-ring { transition: box-shadow .3s ease, border-color .3s ease; }
.ews-timeline-step:hover .ews-node-ring { box-shadow: 0 0 0 8px rgba(107,31,40,.08); }

.ews-gauge-marker { transition: left .5s cubic-bezier(.2,.8,.3,1); }
.ews-bar-fill { transition: width 1s cubic-bezier(.2,.8,.3,1); }

.reveal { opacity: 0; transform: translateY(24px); transition: opacity .6s ease, transform .6s ease; }
.reveal.is-visible { opacity: 1; transform: none; }

.ews-form-msg { padding: 14px 18px; border-radius: 2px; font-size: 14px; margin-bottom: 24px; }
.ews-form-msg--success { background: rgba(107,31,40,.08); color: var(--accent); border: 1px solid var(--accent); }
.ews-form-msg--error { background: rgba(160,48,59,.08); color: #A0303B; border: 1px solid #A0303B; }

/* honeypot */
.ews-hp { position: absolute !important; left: -9999px !important; top: -9999px !important; height: 0; width: 0; overflow: hidden; }

/* ---------- responsive tweaks ---------- */
@media (max-width: 782px) {
  header.ews-sticky-nav,
  section, footer { padding-left: 24px !important; padding-right: 24px !important; }
  header.ews-sticky-nav nav { order: 3; width: 100%; justify-content: flex-start; gap: 16px 20px; }
  #calculator .ews-tab-btn { padding: 10px 16px; font-size: 13px; }
}
