/* ==========================================================================
   TuNutriplan · Web pública
   Cabecera, pie, inicio, páginas interiores, acceso, test a pantalla
   completa y banner de cookies.
   ========================================================================== */

/* ---------- Cabecera ---------- */
.cab{position:sticky;top:0;z-index:50;background:rgba(250,246,240,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--borde)}
.admin-bar .cab{top:32px}
@media (max-width:782px){.admin-bar .cab{top:46px}}
@media (max-width:600px){.admin-bar .cab{top:0}}
.cab-in{display:flex;align-items:center;gap:var(--s4);min-height:64px}
.nav{display:none;gap:var(--s1);margin-left:var(--s5)}
.nav a{font-size:16px;font-weight:500;color:var(--gris);text-decoration:none;padding:10px 12px;min-height:var(--toque);display:inline-flex;align-items:center}
.nav a:hover{color:var(--verde)}
.nav a[aria-current="page"]{color:var(--verde);box-shadow:inset 0 -2px 0 var(--verde)}
.cab-acc{margin-left:auto;display:flex;align-items:center;gap:var(--s2)}
.cab-acc .btn-s{display:none}
@media (min-width:900px){
  .nav,.cab-acc .btn-s{display:flex}
  .cab-in{min-height:72px}
}
.cab-foco .cab-in{justify-content:space-between}

/* ---------- Pie ---------- */
.pie{background:var(--verde);color:var(--crema);padding-block:var(--s7) var(--s6);margin-top:auto}
.pie a{color:var(--crema)}
.pie .logo{color:var(--crema)}
.pie-grid{display:grid;gap:var(--s6) var(--s5);grid-template-columns:1fr 1fr}
.pie-grid>:first-child{grid-column:1/-1}
@media (min-width:768px){.pie{padding-block:var(--s8) var(--s6)}.pie-grid{grid-template-columns:1.4fr repeat(2,1fr)}.pie-grid>:first-child{grid-column:auto}}
.firma{color:var(--verde-suave);font-size:15px;line-height:1.5;max-width:34ch;margin-top:var(--s3)}
.pie h2{font:500 12px/1.4 var(--f-texto);letter-spacing:.04em;text-transform:uppercase;color:var(--verde-suave);margin:0 0 var(--s2)}
.pie ul{list-style:none;margin:0;padding:0}
.pie li a{display:inline-flex;align-items:center;min-height:var(--toque);text-decoration:none}
.pie li a:hover{text-decoration:underline;text-underline-offset:3px}
.pie-bajo{margin-top:var(--s6);padding-top:var(--s5);border-top:1px solid rgba(250,246,240,.2);display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;font-size:14px;color:var(--verde-suave)}
.pie :focus-visible{outline-color:var(--crema)}

body.tnp-web{min-height:100vh;display:flex;flex-direction:column}
body.tnp-web>main,.tnp-main{flex:1 0 auto}

/* ---------- Inicio ---------- */
.hero{padding-block:var(--s6) var(--s7);overflow-x:clip}
.hero-grid{display:grid;gap:var(--s6);align-items:center}
.hero-texto{display:grid;gap:var(--s4);max-width:560px}
.hero-texto .display,.hero-texto .lead{margin:0}
.hero-pregunta{margin-top:var(--s2);display:grid;gap:var(--s3)}
.hero-pregunta .t3{margin:0}
.hero-ilu{display:none}
@media (min-width:900px){
  .hero{padding-block:72px 96px}
  .hero-grid{grid-template-columns:1fr .9fr;gap:var(--s8)}
  .hero-ilu{display:block;width:100%;max-width:460px;justify-self:end}
}
.bloque{padding-block:var(--s7)}
@media (min-width:768px){.bloque{padding-block:80px}}
.bloque.sin-arriba{padding-top:0}
.cabecera-bloque{display:grid;gap:var(--s3);margin-bottom:var(--s6);max-width:680px}
.cabecera-bloque>*{margin:0}
.pasos{list-style:none;margin:0;padding:0;display:grid;gap:var(--s5)}
@media (min-width:768px){.pasos{grid-template-columns:repeat(3,1fr);gap:var(--s6)}}
.paso{border-top:2px solid var(--borde);padding-top:var(--s4);display:grid;gap:var(--s2);align-content:start}
.paso:first-child{border-top-color:var(--ambar)}
.paso>*{margin:0}
.paso-n{font-family:var(--f-display);font-weight:600;font-size:28px;line-height:1;color:var(--ambar-oscuro)}
.incluye-fila{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--s5)}
.incluye-fila li{display:grid;grid-template-columns:48px 1fr;gap:var(--s3);align-items:center}
.cierre{padding:var(--s6) var(--s5);display:grid;gap:var(--s4);justify-items:start}
.cierre>*{margin:0}
@media (min-width:768px){.cierre{padding:var(--s7)}}

/* ---------- Páginas interiores ---------- */
.pag-cab{padding-block:var(--s6) var(--s5);display:grid;gap:var(--s3)}
.pag-cab>*{margin:0}
@media (min-width:768px){.pag-cab{padding-block:var(--s8) var(--s6)}}
.pag-cuerpo{padding-bottom:80px}
.pag-cuerpo.sin-cab{padding-top:var(--s6)}
@media (min-width:768px){.pag-cuerpo.sin-cab{padding-top:var(--s8)}}
.miga{font-size:14px;color:var(--gris);display:flex;gap:6px;flex-wrap:wrap}
.miga a{color:var(--verde);text-decoration:none}
.miga a:hover{text-decoration:underline}
.faq-grupo+.faq-grupo{margin-top:var(--s7)}
.faq-grupo>.t3{margin-bottom:var(--s3)}
.calcs{display:grid;gap:var(--s5);grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.calc-card{padding:var(--s5);display:grid;gap:var(--s3);text-decoration:none;color:inherit;align-content:start;transition:box-shadow .15s}
.calc-card>*{margin:0}
a.calc-card:hover{box-shadow:var(--sombra-elevada);color:inherit}
.calc-card.hueco{background:transparent;box-shadow:none;border:1px dashed var(--borde)}
.enlace-ir{display:inline-flex;align-items:center;gap:6px;font-size:15px;color:var(--verde);font-weight:500}
.correo{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--borde);border-radius:var(--r-campo);padding:4px 4px 4px 14px;background:var(--superficie);max-width:420px}
.correo span{font-weight:500;user-select:all;overflow-wrap:anywhere}
.correo button{font:500 14px/1 var(--f-texto);border:0;background:transparent;color:var(--verde);min-height:var(--toque);padding:0 12px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.correo button:hover{background:var(--verde-suave)}
.precio-card{padding:var(--s5);display:grid;gap:var(--s3)}
.precio-card>*{margin:0}
.precio-cifra{font-family:var(--f-display);font-weight:600;font-size:36px;line-height:1;font-variant-numeric:tabular-nums}

/* Contenido de páginas (legales, suscripción, etc.) */
.entrada .prosa{margin-inline:0}
.entrada .prosa>h1:first-child{display:none}

/* ---------- Acceso ---------- */
.acceso{padding-block:var(--s7) 80px;display:grid;justify-items:center}
.acceso-card{max-width:440px;width:100%;padding:var(--s5) var(--s4);display:grid;gap:var(--s4)}
@media (min-width:480px){.acceso-card{padding:var(--s6)}}
.acceso-card h1{margin:0}
.acceso-card form p{margin:0 0 var(--s4)}
.acceso-card form label{display:block;font-size:14px;font-weight:500;margin-bottom:6px}
.acceso-card .login-remember label{display:flex;align-items:center;gap:10px;font-weight:400;font-size:15px}
.acceso-card .login-submit input[type=submit]{width:100%;font:600 16px/1 var(--f-texto);min-height:var(--alto-boton);border-radius:var(--r-boton);border:0;background:var(--verde);color:var(--sobre-marca);cursor:pointer}
.acceso-card .login-submit input[type=submit]:hover{background:var(--verde-hover)}
.acceso-pie{border-top:1px solid var(--borde);padding-top:var(--s4)}

/* ---------- Test a pantalla completa ---------- */
body.tnp-foco .pie{display:none}
body.tnp-foco .tnp-main{padding-bottom:var(--s7)}

/* ---------- 404 ---------- */
.error-404{padding-block:64px 96px;display:grid;gap:var(--s4);max-width:720px}
.error-404>*{margin:0}

/* ---------- Banner de cookies (Complianz) ----------
   Rechazar y Aceptar con el mismo peso, como exige el RGPD y pide el manual. */
#cmplz-cookiebanner-container .cmplz-cookiebanner{font-family:var(--f-texto)!important;background:var(--superficie)!important;color:var(--carbon)!important;border-radius:var(--r-tarjeta)!important;box-shadow:var(--sombra-elevada)!important;border:0!important}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title{font-family:var(--f-display)!important;font-weight:600!important;color:var(--carbon)!important}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message,#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message p{font-size:14px!important;line-height:1.5!important;color:var(--carbon)!important}
#cmplz-cookiebanner-container .cmplz-cookiebanner a{color:var(--verde)!important}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn{font:600 15px/1 var(--f-texto)!important;min-height:44px!important;border-radius:var(--r-boton)!important;background:transparent!important;color:var(--verde)!important;border:1.5px solid var(--verde)!important}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn:hover{background:var(--verde-suave)!important}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences,#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-manage-options{border-color:transparent!important;text-decoration:underline;text-underline-offset:3px}
#cmplz-manage-consent .cmplz-manage-consent{font-family:var(--f-texto)!important;background:var(--superficie)!important;color:var(--verde)!important;border-radius:12px 12px 0 0!important}
