/* ============================================================
   guida-protocollo.css — Pagina CMS «Guida al Protocollo»
   lineadiciotto.it (PrestaShop 1.7 — tema bos_ocbee)
   Root scope: .l18-proto  ·  Pagina: body.cms-id-12
   Benchmark visivo: ketosuite /content/7-il-protocollo
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=DM+Sans:wght@300;400;500;600;700&display=swap');

/* ── TOKEN locali (scoped, non sporcano il tema) ──────────── */
.l18-proto{
  --l18-arancio:#f4900a;
  --l18-arancio-dark:#d97a08;
  --l18-arancio-light:#FEF3E6;
  --l18-verde:#1B5934;
  --l18-verde-2:#2A5C3A;
  --l18-verde-soft:#EDF4EF;
  --l18-rosso:#C0392B;
  --l18-rosso-light:#FCEDEB;
  --l18-verdebollino:#3C8C40;
  --l18-verdebollino-light:#EAF5EB;
  --l18-navy:#1B3A5C;
  --l18-navy-light:#EDF2F8;
  --l18-gold:#C9A84C;
  --l18-gold-light:#FBF5E3;
  --l18-crema:#F9F7F4;
  --l18-white:#fff;
  --l18-text:#1A2B1F;
  --l18-text-2:#4A5D52;
  --l18-text-3:#7A907F;
  --l18-border:#E4EBE4;
  --l18-fhead:'DM Serif Display',Georgia,serif;
  --l18-fbody:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --l18-maxw:1180px;
}

/* ── FULL-BLEED: esce dal container stretto del CMS ───────── */
body.cms-id-12 #wrapper > .container,
body.cms-id-12 .page-content.card,
body.cms-id-12 #content.page-content{
  max-width:none;padding:0;border:0;background:transparent;box-shadow:none;
}
body.cms-id-12 #main .page-header,
body.cms-id-12 header.page-header{display:none !important;}
body.cms-id-12 .breadcrumb{display:none !important;}

.l18-proto{
  width:100vw;
  margin-left:calc(-50vw + 50%);
  font-family:var(--l18-fbody);
  color:var(--l18-text);
  font-size:15px;
  line-height:1.6;
  text-align:left;
  box-sizing:border-box;
}
.l18-proto *{box-sizing:border-box}
.l18-proto img{max-width:100%;display:block}

.l18-inner{max-width:var(--l18-maxw);margin:0 auto;padding:0 24px}

.l18-eyebrow{
  font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  color:var(--l18-arancio);margin-bottom:10px;
}
.l18-h2{
  font-family:var(--l18-fhead);font-size:32px;color:var(--l18-navy);
  line-height:1.18;margin:0 0 10px;font-weight:400;
}
.l18-lead{
  color:var(--l18-text-2);font-size:15.5px;line-height:1.7;
  max-width:620px;margin:0 0 8px;
}

/* ════════════════════════════════════════════════════════════
   1 · HERO
════════════════════════════════════════════════════════════ */
.l18-hero{
  background:var(--l18-verde-2);
  padding:74px 24px 66px;
  position:relative;overflow:hidden;
}
.l18-hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none'%3E%3Cg fill='%23ffffff' fill-opacity='0.045'%3E%3Ccircle cx='30' cy='30' r='20'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.l18-hero-inner{
  max-width:var(--l18-maxw);margin:0 auto;position:relative;z-index:1;
}
.l18-hero-badge{
  display:inline-flex;align-items:center;gap:7px;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);
  border-radius:40px;padding:5px 15px;font-size:12px;color:rgba(255,255,255,.92);
  font-weight:500;margin-bottom:22px;
}
.l18-hero-badge::before{
  content:'';width:7px;height:7px;border-radius:50%;background:var(--l18-arancio);flex-shrink:0;
}
.l18-hero h1{
  font-family:var(--l18-fhead);font-size:46px;font-weight:400;
  color:#fff;line-height:1.1;margin:0 0 16px;max-width:680px;
}
.l18-hero h1 em{font-style:italic;color:#F5A855}
.l18-hero-sub{
  color:rgba(255,255,255,.78);font-size:16.5px;line-height:1.65;
  max-width:520px;margin:0 0 30px;
}
.l18-hero-cta{display:flex;gap:12px;flex-wrap:wrap}
.l18-btn{
  display:inline-flex;align-items:center;gap:9px;
  border-radius:10px;padding:13px 26px;font-size:15px;font-weight:700;
  font-family:var(--l18-fbody);text-decoration:none;cursor:pointer;
  transition:background .15s,border-color .15s,color .15s;border:2px solid transparent;
}
.l18-btn svg{width:17px;height:17px;flex-shrink:0}
.l18-btn-primary{background:var(--l18-arancio);color:#fff;border-color:var(--l18-arancio)}
.l18-btn-primary:hover{background:var(--l18-arancio-dark);border-color:var(--l18-arancio-dark);color:#fff;text-decoration:none}
.l18-btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.l18-btn-ghost:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.8);color:#fff;text-decoration:none}

/* ════════════════════════════════════════════════════════════
   SECTION WRAPPERS
════════════════════════════════════════════════════════════ */
.l18-section{padding:64px 24px}
.l18-section--crema{background:var(--l18-crema)}
.l18-section--white{background:#fff}
.l18-section-head{margin-bottom:40px;text-align:center}
.l18-section-head .l18-eyebrow{margin-left:auto;margin-right:auto}
.l18-section-head .l18-lead{margin-left:auto;margin-right:auto;text-align:center}

/* ════════════════════════════════════════════════════════════
   2 · TIMELINE 3 FASI
════════════════════════════════════════════════════════════ */
.l18-timeline{display:flex;flex-direction:column;max-width:760px;margin:0 auto}
.l18-phase{display:grid;grid-template-columns:64px 1fr;gap:0}
.l18-phase-side{display:flex;flex-direction:column;align-items:center;padding-top:2px}
.l18-phase-num{
  width:48px;height:48px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--l18-fhead);font-size:20px;color:#fff;
  flex-shrink:0;position:relative;z-index:1;
}
.l18-num-1{background:var(--l18-verde)}
.l18-num-2{background:var(--l18-arancio)}
.l18-num-3{background:var(--l18-gold)}
.l18-phase-line{width:2px;background:var(--l18-border);flex:1;margin:8px 0;min-height:28px}
.l18-phase:last-child .l18-phase-line{display:none}
.l18-phase-body{padding:0 0 40px 26px}
.l18-phase-tag{
  display:inline-block;border-radius:20px;padding:4px 13px;
  font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;margin-bottom:10px;
}
.l18-tag-1{background:var(--l18-verde-soft);color:var(--l18-verde)}
.l18-tag-2{background:var(--l18-arancio-light);color:var(--l18-arancio-dark)}
.l18-tag-3{background:var(--l18-gold-light);color:#8A6D1E}
.l18-phase-title{font-family:var(--l18-fhead);font-size:24px;font-weight:400;color:var(--l18-navy);margin:0 0 8px;line-height:1.2}
.l18-phase-desc{color:var(--l18-text-2);font-size:14.5px;line-height:1.7;margin:0;max-width:560px}
.l18-phase-meta{
  display:inline-flex;align-items:center;gap:7px;margin-top:12px;
  font-size:12.5px;font-weight:600;color:var(--l18-text-3);
  background:#fff;border:1.5px solid var(--l18-border);border-radius:8px;padding:6px 12px;
}
.l18-phase-meta strong{color:var(--l18-navy)}
.l18-phase-timing-note{
  margin:-4px 0 10px;font-size:12.5px;line-height:1.45;font-style:italic;
  color:var(--l18-text-3);max-width:560px;
}

/* ════════════════════════════════════════════════════════════
   3 · STEP 1 vs STEP 2
════════════════════════════════════════════════════════════ */
.l18-steps{display:grid;grid-template-columns:1fr auto 1fr;gap:0;align-items:stretch;max-width:780px;margin:0 auto}
.l18-step-card{
  background:#fff;border:1.5px solid var(--l18-border);border-radius:18px;
  padding:28px 26px;text-align:center;position:relative;
}
.l18-step-badge{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:62px;height:30px;padding:0 14px;border-radius:8px;
  font-weight:700;font-size:13px;letter-spacing:.5px;color:#fff;margin-bottom:14px;
}
.l18-step-badge.s1{background:var(--l18-verde)}
.l18-step-badge.s2{background:var(--l18-rosso)}
.l18-step-card h3{font-family:var(--l18-fhead);font-weight:400;font-size:20px;color:var(--l18-navy);margin:0 0 8px}
.l18-step-card p{font-size:13.5px;color:var(--l18-text-2);line-height:1.6;margin:0}
.l18-step-arrow{
  display:flex;align-items:center;justify-content:center;
  padding:0 20px;font-size:20px;color:var(--l18-arancio);font-weight:700;
}
.l18-step-note{
  max-width:780px;margin:18px auto 0;text-align:center;
  font-size:13px;color:var(--l18-text-3);line-height:1.6;
}

/* ════════════════════════════════════════════════════════════
   4 · SCHEMA ONE DAY (bollini rosso / verde)
════════════════════════════════════════════════════════════ */
.l18-oneday-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:920px;margin:0 auto}
.l18-oneday-legend{
  background:#fff;border:1.5px solid var(--l18-border);border-radius:18px;padding:26px;
}
.l18-oneday-legend h3{font-family:var(--l18-fhead);font-weight:400;font-size:19px;color:var(--l18-navy);margin:0 0 18px}
.l18-bollino-row{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--l18-border)}
.l18-bollino-row:last-child{border-bottom:none}
.l18-bollino{
  width:54px;height:54px;border-radius:50%;flex-shrink:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  color:#fff;text-align:center;line-height:1;
}
.l18-bollino .b-one{font-weight:700;font-size:13px;letter-spacing:.5px}
.l18-bollino .b-day{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-top:1px}
.l18-bollino.verde{background:var(--l18-verdebollino)}
.l18-bollino.rosso{background:var(--l18-rosso)}
.l18-bollino-txt strong{display:block;font-size:14px;color:var(--l18-navy);margin-bottom:2px}
.l18-bollino-txt span{font-size:12.5px;color:var(--l18-text-2);line-height:1.5}

.l18-oneday-rule{
  background:var(--l18-navy);border-radius:18px;padding:26px;color:#fff;
  display:flex;flex-direction:column;
}
.l18-oneday-rule h3{font-family:var(--l18-fhead);font-weight:400;font-size:19px;color:#fff;margin:0 0 18px}
.l18-combo{display:flex;align-items:center;gap:12px;padding:14px;border-radius:12px;margin-bottom:12px}
.l18-combo:last-of-type{margin-bottom:0}
.l18-combo.ok{background:rgba(60,140,64,.16);border:1px solid rgba(60,140,64,.4)}
.l18-combo.no{background:rgba(192,57,43,.16);border:1px solid rgba(192,57,43,.4)}
.l18-combo-dots{display:flex;gap:6px;flex-shrink:0}
.l18-dot{width:26px;height:26px;border-radius:50%}
.l18-dot.verde{background:var(--l18-verdebollino)}
.l18-dot.rosso{background:var(--l18-rosso)}
.l18-combo-txt{flex:1}
.l18-combo-txt strong{display:block;font-size:14px;color:#fff;margin-bottom:1px}
.l18-combo-txt span{font-size:12px;color:rgba(255,255,255,.6)}
.l18-combo-flag{
  font-weight:700;font-size:13px;flex-shrink:0;padding:4px 12px;border-radius:20px;
}
.l18-combo.ok .l18-combo-flag{background:var(--l18-verdebollino);color:#fff}
.l18-combo.no .l18-combo-flag{background:var(--l18-rosso);color:#fff}

/* ════════════════════════════════════════════════════════════
   5 · GRIGLIA 4 BISCOTTI STEP 2
════════════════════════════════════════════════════════════ */
.l18-biscotti-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
  max-width:var(--l18-maxw);margin:0 auto;
}
.l18-biscotto{
  background:#fff;border:1.5px solid var(--l18-border);border-radius:16px;
  padding:22px 18px;position:relative;transition:transform .15s,box-shadow .15s;
}
.l18-biscotto:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(27,58,92,.09)}
.l18-biscotto-badges{display:flex;gap:6px;margin-bottom:14px}
.l18-bdg{font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;padding:3px 9px;border-radius:6px}
.l18-bdg.step2{background:var(--l18-rosso-light);color:var(--l18-rosso)}
.l18-bdg.oneday{background:var(--l18-rosso);color:#fff}
.l18-biscotto-code{font-size:11px;font-weight:700;color:var(--l18-arancio);letter-spacing:.5px;margin-bottom:6px}
.l18-biscotto-name{font-size:14.5px;font-weight:600;color:var(--l18-navy);line-height:1.4;margin:0}

/* ════════════════════════════════════════════════════════════
   6 · 3 CARD REGOLE SHOP
════════════════════════════════════════════════════════════ */
.l18-shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:var(--l18-maxw);margin:0 auto}
.l18-shop-card{
  background:#fff;border:1.5px solid var(--l18-border);border-radius:18px;padding:28px 24px;
}
.l18-shop-icon{
  width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  margin-bottom:16px;
}
.l18-shop-icon svg{width:24px;height:24px;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
.l18-ic-arancio{background:var(--l18-arancio-light)}
.l18-ic-arancio svg{stroke:var(--l18-arancio-dark)}
.l18-ic-verde{background:var(--l18-verde-soft)}
.l18-ic-verde svg{stroke:var(--l18-verde)}
.l18-ic-navy{background:var(--l18-navy-light)}
.l18-ic-navy svg{stroke:var(--l18-navy)}
.l18-shop-card h3{font-family:var(--l18-fhead);font-weight:400;font-size:19px;color:var(--l18-navy);margin:0 0 8px}
.l18-shop-card p{font-size:13.5px;color:var(--l18-text-2);line-height:1.65;margin:0 0 14px}
.l18-shop-link{
  display:inline-flex;align-items:center;gap:5px;
  font-size:13px;font-weight:700;color:var(--l18-arancio-dark);text-decoration:none;
}
.l18-shop-link:hover{color:var(--l18-arancio);text-decoration:none}

/* ════════════════════════════════════════════════════════════
   7 · FOOTER CTA
════════════════════════════════════════════════════════════ */
.l18-footer-cta{
  background:var(--l18-verde-2);padding:60px 24px;position:relative;overflow:hidden;
}
.l18-footer-cta::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none'%3E%3Cg fill='%23ffffff' fill-opacity='0.045'%3E%3Ccircle cx='30' cy='30' r='20'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.l18-footer-inner{max-width:680px;margin:0 auto;text-align:center;position:relative;z-index:1}
.l18-footer-cta h2{font-family:var(--l18-fhead);font-weight:400;font-size:34px;color:#fff;line-height:1.18;margin:0 0 12px}
.l18-footer-cta p{color:rgba(255,255,255,.78);font-size:16px;line-height:1.65;margin:0 0 28px}
.l18-footer-cta .l18-hero-cta{justify-content:center}

/* ════════════════════════════════════════════════════════════
   RESPONSIVE — mobile-first breakpoint 600 / 960
════════════════════════════════════════════════════════════ */
@media(max-width:960px){
  .l18-hero h1{font-size:36px}
  .l18-biscotti-grid{grid-template-columns:repeat(2,1fr)}
  .l18-shop-grid{grid-template-columns:1fr}
  .l18-oneday-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .l18-section{padding:48px 20px}
  .l18-hero{padding:56px 20px 50px}
  .l18-hero h1{font-size:30px}
  .l18-hero-sub{font-size:15px}
  .l18-h2{font-size:26px}
  .l18-phase{grid-template-columns:52px 1fr}
  .l18-phase-num{width:42px;height:42px;font-size:17px}
  .l18-phase-body{padding-left:18px}
  .l18-phase-title{font-size:21px}
  .l18-steps{grid-template-columns:1fr;gap:14px}
  .l18-step-arrow{padding:6px 0;transform:rotate(90deg)}
  .l18-biscotti-grid{grid-template-columns:1fr 1fr;gap:12px}
  .l18-footer-cta h2{font-size:27px}
  .l18-btn{padding:12px 22px;font-size:14px}
}
@media(max-width:380px){
  .l18-biscotti-grid{grid-template-columns:1fr}
}
