
/* Plukenzo v4.1 warm theme */
:root{
  --plu-caramel: #C98C4D;
  --plu-caramel-dark: #A86F33;
  --plu-cream: #F7F3ED;
  --plu-lime-soft: #CFE8B3;
  --plu-text: #3D3A35;
  --plu-muted: #766A5D;
}
html{font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; color: var(--plu-text);}
body{background: var(--plu-cream); margin:0;}
.header, header.site{ background: #f1ece4; border-bottom: 1px solid #eadfce; box-shadow: 0 4px 12px rgba(0,0,0,.05); }
a{color: var(--plu-caramel); text-decoration:none}
a:hover{text-decoration:underline}
.btn, button, .button, a.button{
  display:inline-block; border:0; padding:12px 18px; border-radius:14px;
  background: var(--plu-caramel); color:white; font-weight:600; cursor:pointer;
  transition: transform .08s ease, box-shadow .2s ease, background .2s ease;
  box-shadow: 0 6px 16px rgba(201,140,77,.25);
}
.btn:hover, button:hover, .button:hover, a.button:hover{ transform: translateY(-1px); background: var(--plu-caramel-dark); box-shadow: 0 10px 20px rgba(201,140,77,.28); }
.badge, .tag{ background: var(--plu-lime-soft); color:#2e3a1f; padding:6px 10px; border-radius:999px; font-size:.85rem; }
.hero{ position:relative; min-height: 68vh; display:flex; align-items:center; justify-content:center; background: url('../images/hero.cat1.png') center/cover no-repeat; }
.hero::after{ content:''; position:absolute; inset:0; background: linear-gradient(180deg, rgba(247,243,237,.35) 0%, rgba(207,232,179,.25) 100%); }
.hero-inner{ position:relative; z-index:1; max-width: 1100px; padding: 24px; text-align:center; backdrop-filter: blur(1px); }
.hero h1{ font-size: clamp(2rem, 5vw, 3.4rem); margin: 0 0 10px; letter-spacing:.2px; }
.hero p.sub{ font-size: clamp(1.05rem, 2.2vw, 1.35rem); margin: 0 0 22px; color: var(--plu-muted); }
.section{ padding: 48px 20px; }
.container{ max-width: 1100px; margin: 0 auto; }
.card{ background:white; border-radius:18px; padding:20px; box-shadow: 0 10px 28px rgba(0,0,0,.06); border: 1px solid #eee7db; }
footer{ background:#f1ece4; color:#6b6257; padding:28px 20px; border-top:1px solid #eadfce; }
/* v4.1.1 steps panel */
#steps-panel{ margin-top: 16px; }
@media (min-width: 960px){
  .training-grid{ display:grid; grid-template-columns: 1.2fr .8fr; gap: 22px; align-items: start; }
  .training-grid .left{ min-width: 0; }
}
td, th { vertical-align: top; }
td.criteria, td.steps { white-space: pre-wrap; }
