/* Estilos para las paginas legales (aviso-legal, privacidad, cookies) */
.legal-wrap{
  max-width:74ch;
  margin:0 auto;
  padding:32px 20px 72px;
  line-height:1.68;
}
.legal-wrap h1{
  font-size:clamp(26px,5vw,36px);
  line-height:1.18;
  margin:0 0 6px;
  text-wrap:balance;
}
.legal-updated{
  font-size:14px;
  opacity:.7;
  margin:0 0 34px;
}
.legal-wrap h2{
  font-size:clamp(18px,3.2vw,22px);
  margin:38px 0 10px;
  text-wrap:balance;
}
.legal-wrap h3{
  font-size:16px;
  margin:24px 0 6px;
}
.legal-wrap p,
.legal-wrap li{font-size:16px}
.legal-wrap ul{padding-left:22px;margin:10px 0}
.legal-wrap li{margin:6px 0}
.legal-wrap table{
  width:100%;
  border-collapse:collapse;
  margin:14px 0;
  font-size:15px;
}
.legal-wrap th,
.legal-wrap td{
  text-align:left;
  padding:9px 12px;
  border-bottom:1px solid rgba(128,128,128,.28);
  vertical-align:top;
}
.legal-wrap th{font-weight:700}
.legal-back{
  display:inline-block;
  margin-bottom:24px;
  font-size:15px;
  font-weight:600;
  text-decoration:none;
}
.legal-back:hover{text-decoration:underline}
.legal-callout{
  border-left:4px solid currentColor;
  padding:12px 16px;
  margin:18px 0;
  opacity:.9;
  font-size:15px;
}
/* ---- La nota de la semana ----------------------------------------------
   Lenguaje del folleto de súper: papel cálido, un golpe de amarillo
   marcador en el antetítulo y las cifras en el verde de la marca.
   Un solo acento fuerte; el resto, callado.                              */
.editorial{
  max-width:70ch;
  margin:2.25rem auto 0;
  padding:1.6rem clamp(1.15rem,3.5vw,2rem) 1.7rem;
  background:#fffdf5;
  border:1px solid #efe3c6;
  border-left:5px solid #f4c430;
  border-radius:var(--radius,14px);
  box-shadow:var(--shadow);
  line-height:1.68;
}
.editorial-kicker{
  display:inline-block;
  margin:0 0 .8rem !important;
  padding:.2rem .6rem;
  background:#ffe680;
  color:#5a4600;
  border-radius:4px;
  font-size:.7rem !important;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.editorial-title{
  font-size:clamp(1.15rem,2.6vw,1.5rem);
  line-height:1.28;
  margin:0 0 .75rem;
  text-wrap:balance;
}
.editorial p{
  margin:0 0 .8rem;
  font-size:1rem;
  color:var(--text);
}
.editorial p:last-of-type{margin-bottom:0}
.editorial strong{
  font-weight:700;
  color:var(--brand-dark,#0d7d38);
}
.editorial em{font-style:italic;color:var(--text-dim)}
.editorial-sign{
  margin-top:1.05rem !important;
  padding-top:.75rem;
  border-top:1px dashed #e8dcc0;
  font-size:.78rem !important;
  color:var(--text-dim) !important;
  letter-spacing:.02em;
}

/* Plegado del resto del texto en la portada */
.editorial-more{margin-top:.15rem}
.editorial-more summary{
  cursor:pointer;
  display:inline-block;
  font-size:.9rem;
  font-weight:700;
  color:var(--brand-dark,#0d7d38);
  padding:.35rem 0;
  list-style:none;
}
.editorial-more summary::-webkit-details-marker{display:none}
.editorial-more summary::after{content:" ↓"}
.editorial-more[open] summary::after{content:" ↑"}
.editorial-more summary:hover{text-decoration:underline}
.editorial-more[open] summary{margin-bottom:.5rem}

/* ---- Ficha de producto: formato y nutrición --------------------------- */
.p-detail{
  margin-top:.75rem;
  border-top:1px solid var(--border,#e4e7eb);
  padding-top:.55rem;
}
.p-detail summary{
  cursor:pointer;
  list-style:none;
  font-size:.85rem;
  font-weight:700;
  color:var(--brand-dark,#0d7d38);
  padding:.2rem 0;
}
.p-detail summary::-webkit-details-marker{display:none}
.p-detail summary::after{content:" ↓"}
.p-detail[open] summary::after{content:" ↑"}
.p-detail summary:hover{text-decoration:underline}

.p-facts{
  list-style:none;
  padding:0;
  margin:.7rem 0 0;
  font-size:.87rem;
  line-height:1.6;
}
.p-facts li{margin:.15rem 0}
.p-facts strong{font-weight:700}

.nut-block{
  margin-top:.9rem;
  padding-top:.8rem;
  border-top:1px dashed var(--border,#e4e7eb);
}
.nut-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.6rem;
  flex-wrap:wrap;
}
.nut-head h4{
  margin:0;
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--text-dim,#5b6572);
}
.nut-kcal{margin:.35rem 0 .6rem;font-size:1.05rem}

.nut-bars{display:flex;flex-direction:column;gap:.32rem}
.nut-row{
  display:grid;
  grid-template-columns:5.2rem 1fr 3.6rem;
  align-items:center;
  gap:.5rem;
  font-size:.79rem;
}
.nut-label{color:var(--text-dim,#5b6572)}
.nut-track{
  height:.55rem;
  background:rgba(120,120,120,.14);
  border-radius:99px;
  overflow:hidden;
}
.nut-fill{display:block;height:100%;border-radius:99px}
.nut-val{text-align:right;font-variant-numeric:tabular-nums}

/* Un color por nutriente, para leerlos de un vistazo */
.nut-prot{background:#2563eb}
.nut-hidr{background:#f59e0b}
.nut-azuc{background:#db2777}
.nut-gras{background:#f97316}
.nut-satu{background:#dc2626}
.nut-fibr{background:#16a34a}
.nut-sal{background:#64748b}

/* Nutri-Score */
.nutriscore{display:flex;gap:2px}
.ns-l{
  width:1.45rem;
  height:1.45rem;
  display:grid;
  place-items:center;
  border-radius:4px;
  font-size:.75rem;
  font-weight:800;
  color:#fff;
  opacity:.28;
  transform:scale(.9);
}
.ns-a{background:#038141}
.ns-b{background:#85bb2f}
.ns-c{background:#fecb02;color:#3a3000}
.ns-d{background:#ee8100}
.ns-e{background:#e63e11}
.ns-on{
  opacity:1;
  transform:scale(1.12);
  box-shadow:0 0 0 2px rgba(0,0,0,.14);
}

.nut-src,.nut-none{
  margin:.7rem 0 0;
  font-size:.75rem;
  line-height:1.5;
  color:var(--text-dim,#5b6572);
}
.nut-none{margin-top:.9rem;padding-top:.8rem;border-top:1px dashed var(--border,#e4e7eb)}

.footer-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px 18px;
  justify-content:center;
  margin-top:12px;
  font-size:14px;
}
.footer-links a{text-decoration:none}
.footer-links a:hover{text-decoration:underline}
