/* =====================================================================
   Cuisine Chef — sistema de diseño
   Paleta: blanco, negro y rojo tomate. La fotografía aporta el color.
   Composición: una sola cuadrícula (.grid-2/3/4) para que los bloques
   siempre se repartan parejo (6 = 3+3, 4 = 4 ó 2+2, 9 = 3+3+3, 24 = 4×6).
   ===================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--cc-white);color:var(--cc-ink);font:400 1rem/1.65 var(--font-body)}
img{max-width:100%;height:auto;display:block}
picture{display:block}
h1,h2,h3{font-family:var(--font-head);font-weight:600;line-height:1.15;margin:0 0 .5em;color:var(--cc-ink)}
h1{font-size:clamp(1.8rem,3.6vw,2.7rem)}
h2{font-size:clamp(1.4rem,2.6vw,1.9rem)}
h3{font-size:1.05rem}
p{margin:0 0 1em}
a{color:var(--cc-tomato);text-underline-offset:.18em}
a:hover{color:var(--cc-tomato-hover)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,.swatch:focus-visible{outline:3px solid var(--cc-tomato);outline-offset:3px}
[id]{scroll-margin-top:84px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.skip{position:absolute;left:-999px;top:0;background:var(--cc-black);color:var(--cc-white);padding:.6rem 1rem;z-index:30}
.skip:focus{left:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.muted{color:var(--cc-muted);font-size:.9rem}

/* ---------- Encabezado ---------- */
.site-header{position:sticky;top:0;z-index:20;background:var(--cc-white);border-bottom:1px solid var(--cc-line);display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;align-items:center;justify-content:space-between;padding:.6rem max(1.25rem,calc((100% - var(--max))/2))}
.brand{display:flex;text-decoration:none}
.brand img{width:96px;height:auto}
.site-header nav{display:flex;flex-wrap:wrap;gap:.1rem .35rem;align-items:center}
.site-header nav a{color:var(--cc-ink);text-decoration:none;font-size:.9rem;font-weight:500;padding:.5rem .6rem;border-bottom:2px solid transparent}
.site-header nav a:hover{color:var(--cc-tomato)}
.site-header nav a[aria-current="page"]{color:var(--cc-tomato);border-bottom-color:var(--cc-tomato)}
.site-header nav .nav-cta{background:var(--cc-tomato);color:var(--cc-white);padding:.5rem 1rem;border-radius:999px;border-bottom:0}
.site-header nav .nav-cta:hover,.site-header nav .nav-cta[aria-current="page"]{background:var(--cc-tomato-hover);color:var(--cc-white)}
.nav-toggle{display:none;background:var(--cc-white);color:var(--cc-ink);border:2px solid var(--cc-ink);border-radius:999px;padding:.45rem 1.1rem;font:inherit;font-weight:500;cursor:pointer}
@media (max-width:1100px){
  .js .nav-toggle{display:inline-block}
  .js .site-header nav{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;padding:.3rem 0 .8rem;gap:0}
  .js .site-header nav.is-open{display:flex}
  .site-header nav a{padding:.8rem .2rem;font-size:1rem;border-bottom:1px solid var(--cc-line)}
  .site-header nav .nav-cta{margin:.6rem 0;text-align:center}
}

/* ---------- Composición base ---------- */
.wrap{max-width:var(--max);margin:0 auto;padding:3rem 1.25rem}
@media (min-width:900px){.wrap{padding-top:4rem;padding-bottom:4rem}}
.eyebrow{color:var(--cc-tomato);font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;margin:0 0 .6rem}
.lead{font-size:1.125rem;color:var(--cc-muted);max-width:60ch}
.note{background:var(--cc-white);border:1px solid var(--cc-line);border-left:4px solid var(--cc-tomato);padding:.9rem 1.1rem;border-radius:var(--radius);max-width:62ch}

/* Encabezado de sección: título a la izquierda, texto a la derecha */
.sec-head{display:grid;gap:.6rem 3rem;margin-bottom:2rem;align-items:end}
.sec-head h2{margin:0}
.sec-head h2::after{content:"";display:block;width:56px;height:4px;background:var(--cc-tomato);margin-top:.7rem}
.sec-head .lead,.sec-head p{margin:0}
.sec-head .more{font-weight:600;justify-self:start}
@media (min-width:900px){.sec-head{grid-template-columns:1fr 1fr}.sec-head .more{justify-self:end}}

/* Cuadrícula única */
.grid{display:grid;gap:1.25rem;list-style:none;padding:0;margin:0}
@media (min-width:600px){.grid-4{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.grid-4{grid-template-columns:repeat(4,1fr)}}
@media (min-width:700px){.grid-2{grid-template-columns:repeat(2,1fr)}}
@media (min-width:800px){.grid-3{grid-template-columns:repeat(3,1fr)}}

/* Dos columnas texto + imagen */
.split{display:grid;gap:2rem;align-items:center}
.split__img img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}
@media (min-width:900px){.split{grid-template-columns:1fr 1fr;gap:4rem}}

/* Colores de bloque */
.theme-red{background:var(--cc-red);color:var(--cc-white)}
.theme-black{background:var(--cc-black);color:var(--cc-white)}
.theme-red h1,.theme-red h2,.theme-red h3,.theme-black h1,.theme-black h2,.theme-black h3{color:var(--cc-white)}
.theme-red .eyebrow{color:var(--cc-white);opacity:.9}
.theme-black .eyebrow{color:var(--cc-tomato-on-dark)}
.theme-red .lead,.theme-black .lead{color:rgba(255,255,255,.92)}
.theme-red a:not(.btn),.theme-black a:not(.btn){color:var(--cc-white)}
.theme-black a:not(.btn){text-decoration-color:var(--cc-tomato-on-dark)}
.theme-red .sec-head h2::after{background:var(--cc-white)}
.theme-black .sec-head h2::after{background:var(--cc-tomato-on-dark)}

/* ---------- Botones ---------- */
.btn{display:inline-block;background:var(--cc-tomato);color:var(--cc-white);padding:.8rem 1.5rem;border-radius:999px;text-decoration:none;font-weight:600;border:2px solid var(--cc-tomato);margin:.3rem .4rem .3rem 0;line-height:1.2;cursor:pointer;font-family:inherit;font-size:1rem}
.btn:hover{background:var(--cc-tomato-hover);border-color:var(--cc-tomato-hover);color:var(--cc-white)}
.btn--ghost{background:transparent;color:var(--cc-ink);border-color:var(--cc-ink)}
.btn--ghost:hover{background:var(--cc-ink);border-color:var(--cc-ink);color:var(--cc-white)}
.btn--small{padding:.45rem 1rem;font-size:.9rem}
.theme-red .btn{background:var(--cc-white);border-color:var(--cc-white);color:var(--cc-ink)}
.theme-red .btn:hover{background:var(--cc-black);border-color:var(--cc-black);color:var(--cc-white)}
.theme-red .btn--ghost,.theme-black .btn--ghost{background:transparent;color:var(--cc-white);border-color:var(--cc-white)}
.theme-red .btn--ghost:hover,.theme-black .btn--ghost:hover{background:var(--cc-white);color:var(--cc-ink)}
.theme-black .btn{background:var(--cc-red);border-color:var(--cc-red);color:var(--cc-white)}
.theme-black .btn:hover{background:var(--cc-white);border-color:var(--cc-white);color:var(--cc-ink)}

/* ---------- Héroe: panel de color + foto grande ---------- */
.hero{position:relative;background:var(--cc-black)}
.slide{display:none}
.slide.is-active{display:grid;grid-template-columns:1fr}
.slide__media{order:-1;aspect-ratio:3/2;max-height:58vh;overflow:hidden;background:#222}
.slide__media img{width:100%;height:100%;object-fit:cover}
.slide__text{padding:1.8rem 1.25rem .8rem}
.slide__title{font:600 clamp(1.8rem,4.2vw,2.9rem)/1.1 var(--font-head);margin:.1em 0 .4em;color:inherit}
.slide__text p:not(.eyebrow):not(.slide__title){color:inherit;font-size:1.1rem;max-width:42ch}
.hero__controls{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap;padding:.4rem 1.25rem 1.4rem;color:inherit}
.hero__controls button{min-width:44px;min-height:44px;border-radius:999px;border:2px solid currentColor;background:transparent;color:inherit;font:inherit;cursor:pointer}
.hero__controls button:hover{background:var(--cc-white);color:var(--cc-ink)}
.hero__controls .pause{padding:0 1rem;font-size:.85rem;font-weight:500}
.dots{display:flex}
.dots button{min-width:40px;background:none;border:0;position:relative}
.dots button:hover{background:none}
.dots button::after{content:"";position:absolute;left:8px;right:8px;top:50%;height:4px;margin-top:-2px;border-radius:2px;background:currentColor;opacity:.35}
.dots button[aria-current="true"]::after{opacity:1;height:6px;margin-top:-3px}
html:not(.js) .hero__controls{display:none}
.hero[data-theme="red"] .hero__controls{background:var(--cc-red);color:var(--cc-white)}
.hero[data-theme="black"] .hero__controls{background:var(--cc-black);color:var(--cc-white)}
@media (min-width:900px){
  .slide.is-active{grid-template-columns:max(41.66%,calc((100vw - var(--max))/2 + 1.25rem + 31rem)) 1fr;height:clamp(540px,76vh,700px)}
  .slide__media{order:0;aspect-ratio:auto;max-height:none;position:relative;height:100%}
  .slide__media img,.slide__media picture{position:absolute;inset:0;width:100%;height:100%}
  .slide__text{display:flex;flex-direction:column;justify-content:center;padding:3rem 3rem 5rem max(1.25rem,calc((100vw - var(--max))/2 + 1.25rem))}
  .hero .hero__controls{position:absolute;left:0;bottom:1.2rem;width:max(41.66%,calc((100vw - var(--max))/2 + 1.25rem + 31rem));background:transparent!important;padding:0 0 0 max(1.25rem,calc((100vw - var(--max))/2 + 1.25rem))}
}

/* ---------- Cifras ---------- */
.stats{display:grid;gap:1.5rem 1rem;grid-template-columns:repeat(2,1fr);text-align:center;padding-top:2rem;padding-bottom:2rem}
.stats strong{display:block;font:700 2rem/1.1 var(--font-head);color:var(--cc-tomato)}
.stats span{font-size:.95rem;color:var(--cc-muted)}
@media (min-width:800px){.stats{grid-template-columns:repeat(4,1fr)}}
.stats-band{border-bottom:1px solid var(--cc-line)}

/* ---------- Presentación ---------- */
.intro__inner{display:grid;gap:1rem 3rem;align-items:center}
.intro h1{margin:0;max-width:18ch}
.intro .lead{margin:0}
@media (min-width:900px){.intro__inner{grid-template-columns:1fr 1fr}}

/* ---------- Categorías (etiquetas) ---------- */
.chips-row{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 1.8rem;padding:0;list-style:none}
.cat{display:inline-block;padding:.45rem 1.05rem;border-radius:999px;font-weight:600;text-decoration:none;font-size:.92rem;color:var(--cc-ink);border:2px solid var(--cc-ink);background:var(--cc-white)}
.cat:hover{background:var(--cc-ink);color:var(--cc-white)}
.cat small{opacity:.65;font-weight:500;margin-left:.3rem}

/* ---------- Tarjetas de receta (4 por fila → 24 = 6 filas) ---------- */
.recipe-grid{display:grid;gap:1.4rem 1.1rem;list-style:none;padding:0;margin:0 0 2rem;grid-template-columns:repeat(2,1fr)}
@media (min-width:700px){.recipe-grid{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1000px){.recipe-grid{grid-template-columns:repeat(4,1fr)}}
.recipe-card{position:relative}
.recipe-card a{display:block;background:var(--cc-white);border:1px solid var(--cc-line);border-radius:var(--radius);overflow:hidden;height:100%;text-decoration:none;color:var(--cc-ink);transition:transform .2s,box-shadow .2s}
.recipe-card a:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.12)}
.recipe-card img{width:100%;aspect-ratio:4/3;object-fit:cover}
.recipe-card h2,.recipe-card h3{font-size:1.02rem;margin:.75rem .9rem .3rem;color:var(--cc-ink)}
.recipe-card a:hover h2,.recipe-card a:hover h3{color:var(--cc-tomato)}
.recipe-card p{margin:.2rem .9rem .9rem;font-size:.92rem;color:var(--cc-muted)}
.badge-cat{position:absolute;top:.7rem;left:.7rem;z-index:1;padding:.2rem .7rem;border-radius:999px;font-size:.75rem;font-weight:600;color:var(--cc-white);background:var(--cc-black)}
.vid{position:absolute;right:.7rem;top:.7rem;z-index:1;background:var(--cc-red);color:#fff;border-radius:999px;padding:.15rem .6rem;font-size:.75rem;font-weight:600}
@media (prefers-reduced-motion:reduce){.recipe-card a{transition:none}}

/* ---------- Mosaico con foto ---------- */
.tile{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--cc-black);min-height:320px;display:flex}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.tile a{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;width:100%;padding:1.3rem;color:var(--cc-white);text-decoration:none;background:linear-gradient(to top,rgba(0,0,0,.85),rgba(0,0,0,.05) 70%)}
.tile h3{color:var(--cc-white);margin:0 0 .3rem}
.tile p{margin:0;font-size:.95rem;color:#f1f1f1}
.tile:hover img{transform:scale(1.04)}
.tile .tag{align-self:flex-start;margin-bottom:.6rem;padding:.15rem .7rem;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--cc-red);color:var(--cc-white)}
@media (prefers-reduced-motion:reduce){.tile img{transition:none}}

/* ---------- Tarjetas de texto ---------- */
.box{background:var(--cc-white);border:1px solid var(--cc-line);border-top:4px solid var(--cc-red);border-radius:var(--radius);padding:1.5rem}
.box h3{margin-bottom:.45rem}
.box p,.box ul{margin:0;color:var(--cc-muted)}
.box ul{padding-left:1.1rem}
.box li{margin:.3rem 0}
.box a{font-weight:600}
.box--num{position:relative;padding-top:3.2rem}
.box--num .n{position:absolute;top:.9rem;left:1.5rem;font:700 1.6rem/1 var(--font-head);color:var(--cc-tomato)}
.box--solid{border:0;border-top:0}
.box--red{background:var(--cc-red);color:var(--cc-white)}
.box--red h3{color:var(--cc-white)}.box--red p{color:rgba(255,255,255,.93)}
.box--black{background:var(--cc-black);color:var(--cc-white)}
.box--black h3{color:var(--cc-white)}.box--black p{color:rgba(255,255,255,.88)}
.box--line{border:2px solid var(--cc-ink);border-top:2px solid var(--cc-ink)}
.theme-black .box{background:#1b1b1b;border-color:#333;border-top-color:var(--cc-tomato-on-dark)}
.theme-black .box h3{color:#fff}.theme-black .box p{color:#d9d9d9}
.price{display:inline-block;font:700 2.6rem/1 var(--font-head)}
.menu-item{padding:1rem 1.2rem;border-radius:var(--radius);background:var(--cc-white);border:1px solid var(--cc-line);border-left:6px solid var(--cc-red)}
.menu-item strong{display:block;font-family:var(--font-head);font-size:1.1rem}
.menu-item span{color:var(--cc-muted);font-size:.95rem}
.check-item{display:flex;gap:.7rem;align-items:flex-start;padding:1rem 1.1rem;border:1px solid var(--cc-line);border-radius:var(--radius);background:var(--cc-white);font-weight:500}
.check-item::before{content:"✓";flex:none;color:var(--cc-white);background:var(--cc-red);width:1.5rem;height:1.5rem;border-radius:50%;display:grid;place-items:center;font-size:.85rem;font-weight:700}
.value-item{border:2px solid var(--cc-ink);border-radius:var(--radius);padding:1.2rem 1.4rem;font:600 1.15rem var(--font-head);text-align:center}

/* ---------- Banner de página ---------- */
.banner__inner{display:grid;gap:1.5rem 3rem;align-items:center;max-width:var(--max);margin:0 auto;padding:2.2rem 1.25rem}
.banner h1{margin-bottom:.4em}
.banner .lead{margin-bottom:1rem}
.banner__img img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);box-shadow:0 14px 34px rgba(0,0,0,.28)}
.banner__inner--solo{padding-top:2.4rem;padding-bottom:2.4rem}
@media (min-width:900px){.banner__inner{grid-template-columns:1fr 1fr;padding:3.2rem 1.25rem}.banner__inner--solo{grid-template-columns:1fr}}

/* ---------- Galería y logos ---------- */
.gallery img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius)}
.logos{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;list-style:none;padding:0;margin:0}
.logos li{display:grid;place-items:center;border:1px solid var(--cc-line);border-radius:var(--radius);background:var(--cc-white);padding:1rem;min-height:110px;flex:0 0 calc(50% - .5rem)}
.logos img{max-height:72px;width:auto;max-width:100%;object-fit:contain}
@media (min-width:600px){.logos li{flex-basis:calc(33.333% - .7rem)}}
@media (min-width:1000px){.logos li{flex-basis:calc(16.666% - .85rem)}}

/* ---------- Franja negra de alquiler ---------- */
.band__img img{border-radius:var(--radius);width:100%;aspect-ratio:3/2;object-fit:cover}
.band .list li::marker{color:var(--cc-tomato-on-dark)}

/* ---------- Tarifa ---------- */
.rate{display:grid;gap:1.5rem 3rem;align-items:center}
.rate .price{color:var(--cc-white)}
@media (min-width:900px){.rate{grid-template-columns:1fr 1fr}}

/* ---------- Listas ---------- */
.list{padding-left:1.2rem}
.list li{margin:.35rem 0}
.steps{padding-left:1.2rem}
.steps li{margin:.6rem 0;max-width:62ch}
.cta{text-align:center}
.cta h2{margin-bottom:.8rem}
.cta .lead{margin-inline:auto}

/* ---------- Contacto ---------- */
.dl{display:grid;grid-template-columns:auto 1fr;gap:.55rem 1.2rem}
.dl dt{font-weight:600}
.dl dd{margin:0}
address{font-style:normal}

/* ---------- Pie de página ---------- */
.site-footer{background:var(--cc-black);color:#D8D8D8;padding:2.5rem 0 1.2rem}
.site-footer a{color:var(--cc-white)}
.site-footer strong{color:var(--cc-white)}
.footer-grid{display:grid;gap:1.5rem;padding-top:0;padding-bottom:1.2rem}
@media (min-width:800px){.footer-grid{grid-template-columns:1fr 1.4fr 1.2fr}}
.footer-grid img{width:108px;height:auto;margin-bottom:.6rem}
.foot-h{font-size:.9rem;color:#cfcfcf}
.credit{text-align:center;font-size:.8rem;color:#BDBDBD;margin:0;padding:1rem 1rem 0;border-top:1px solid #2c2c2c}

/* ---------- Recetas: filtros y ficha ---------- */
.recipe-filters{background:var(--cc-white);padding:1.2rem 1.4rem;border-radius:var(--radius);margin:0 0 2rem;border:1px solid var(--cc-line)}
.recipe-filters fieldset{border:0;padding:0;margin:.9rem 0}
.recipe-filters legend{font-weight:600;padding:0;margin-bottom:.3rem}
.recipe-filters label.check{display:inline-flex;align-items:center;gap:.4rem;margin:.25rem .35rem .25rem 0;min-height:40px;padding:.2rem .95rem;border:2px solid var(--cc-ink);border-radius:999px;cursor:pointer;font-weight:500;background:var(--cc-white)}
.recipe-filters label.check input{position:absolute;opacity:0;width:1px;height:1px}
.recipe-filters label.check:has(input:checked){background:var(--cc-red);border-color:var(--cc-red);color:var(--cc-white)}
.recipe-filters label.check:has(input:focus-visible){outline:3px solid var(--cc-tomato);outline-offset:2px}
.recipe-filters label.check small{opacity:.7}
.searchrow{display:flex;gap:.5rem;flex-wrap:wrap}
.searchrow input{flex:1 1 220px;font:inherit;padding:.7rem 1.1rem;border:1px solid #767676;border-radius:999px;background:var(--cc-white);color:var(--cc-ink)}
.pager{display:flex;gap:1.5rem;align-items:center;justify-content:center;margin:2rem 0}
.crumbs{font-size:.9rem;margin-bottom:1rem;color:var(--cc-muted)}
.crumbs a{color:var(--cc-muted)}
.meta{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;color:var(--cc-muted);font-size:.95rem}
.recipe-hero__inner{display:grid;gap:1.5rem 3rem;align-items:center;max-width:var(--max);margin:0 auto;padding:2rem 1.25rem}
.recipe-hero h1{font-size:clamp(1.9rem,4vw,2.9rem)}
.recipe-hero .crumbs,.recipe-hero .crumbs a,.recipe-hero .meta{color:rgba(255,255,255,.92)}
.recipe-hero__img img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);margin:0;box-shadow:0 14px 34px rgba(0,0,0,.3)}
@media (min-width:900px){.recipe-hero__inner{grid-template-columns:1fr 1fr;padding:2.8rem 1.25rem}}
.tag{display:inline-block;border:1px solid var(--cc-tomato);border-radius:999px;padding:.15rem .85rem;margin:.2rem;text-decoration:none;color:var(--cc-tomato)}
.tag:hover{background:var(--cc-tomato);color:var(--cc-white)}
.recipe-hero .tag{border-color:var(--cc-white);color:var(--cc-white)}
.recipe-hero .tag:hover{background:var(--cc-white);color:var(--cc-red)}
.yt{margin:0 0 1.5rem;max-width:860px}
.yt__btn{width:100%;min-height:56px;font:inherit;font-weight:600;border:2px solid var(--cc-ink);background:var(--cc-white);color:var(--cc-ink);border-radius:var(--radius);cursor:pointer}
.yt__btn:hover{background:var(--cc-ink);color:var(--cc-white)}
.yt iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:var(--radius)}
.recipe__cols{display:grid;gap:2rem 3rem;margin:1.5rem 0}
@media (min-width:800px){.recipe__cols{grid-template-columns:1fr 1.4fr}}
.recipe__cols h2{display:inline-block;border-bottom:5px solid var(--cc-tomato);padding-bottom:.2rem}
.ingredients{padding-left:1.2rem}
.ingredients li{margin:.4rem 0}
.ing-heading{list-style:none;margin:1rem 0 .2rem -1.2rem;font-weight:700;color:var(--cc-tomato)}
.video-note{border-radius:var(--radius);padding:1rem 1.2rem;margin:0;background:var(--cc-black);color:var(--cc-white)}
.recipe .wrap{padding-top:2rem}

/* ---------- Formularios: columna de formulario + panel lateral ---------- */
.form-layout{display:grid;gap:2rem}
@media (min-width:900px){.form-layout{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:2.5rem;align-items:start}}
.cform{background:var(--cc-white);padding:1.6rem;border-radius:var(--radius);border:1px solid var(--cc-line);display:grid;gap:0 1.2rem}
@media (min-width:600px){.cform{grid-template-columns:1fr 1fr}}
.cform>*{grid-column:1/-1}
@media (min-width:600px){.cform .field--half{grid-column:auto}}
.cform .field{margin:0 0 1.1rem;border:0;padding:0;min-width:0}
.cform label,.cform legend{display:block;font-weight:600;margin-bottom:.3rem;padding:0}
.cform .check{display:flex;align-items:center;gap:.55rem;font-weight:400;min-height:44px}
.cform .field--checks .check{display:inline-flex;margin-right:1.2rem}
.cform input[type=checkbox],.cform input[type=radio]{width:20px;height:20px;accent-color:var(--cc-tomato);flex:none}
.cform input[type=text],.cform input[type=email],.cform input[type=tel],.cform input[type=date],.cform input[type=time],.cform input[type=number],.cform select,.cform textarea{width:100%;font:inherit;padding:.7rem .85rem;border:1px solid #767676;border-radius:var(--radius);background:var(--cc-white);color:var(--cc-ink)}
.cform [aria-invalid=true]{border-color:#B00020;border-width:2px}
.cform .err{color:#B00020;margin:.3rem 0 0;font-size:.9rem;font-weight:500}
.form-aside{border-radius:var(--radius);overflow:hidden;background:var(--cc-black);color:var(--cc-white)}
@media (min-width:900px){.form-aside{position:sticky;top:90px}}
.form-aside img{width:100%;aspect-ratio:3/2;object-fit:cover}
.form-aside__body{padding:1.5rem}
.form-aside h3{color:var(--cc-white);margin-bottom:.6rem}
.form-aside ul{padding-left:1.1rem;margin:0 0 1rem}
.form-aside li{margin:.4rem 0}
.form-aside a:not(.btn){color:var(--cc-white)}
.form-aside .price{font-size:2rem;color:var(--cc-white)}
.flash{padding:.8rem 1rem;border-radius:var(--radius);margin:1rem 0;color:var(--cc-ink)}
.flash--ok{background:#E8F4E8;border:1px solid #5C9A5C}
.flash--err{background:#FCE9E6;border:1px solid var(--cc-tomato)}
.form-section h2{margin-top:0}
.wrap--cont{padding-top:0}
.rate .grid-2{grid-template-columns:1fr!important}
.cta h2{max-width:30ch;margin-inline:auto}
.box dl + h3,.box ul + h3{margin-top:1.2rem}.box address + p{margin-top:.8rem}
.form-aside .muted{color:#d0d0d0}
.theme-black .box ul,.theme-black .box li,.theme-black .box dd,.theme-black .box dt{color:#d9d9d9}.theme-black .box a{color:#fff}.pager a,.pager span{min-width:40px;min-height:40px;display:inline-grid;place-items:center;padding:0 .8rem;border-radius:999px;text-decoration:none;font-weight:600}.pager a{border:2px solid var(--cc-ink);color:var(--cc-ink)}.pager a:hover{background:var(--cc-ink);color:var(--cc-white)}.pager .cur{background:var(--cc-red);color:var(--cc-white)}.pager .gap{color:var(--cc-muted)}.pager{flex-wrap:wrap;gap:.5rem}
.theme-black .box--num .n{color:var(--cc-tomato-on-dark)}
.grid>*{min-width:0}
.dl dd{overflow-wrap:anywhere}
@media (min-width:720px) and (max-width:799px){.grid-3{grid-template-columns:repeat(3,1fr)}}

/* ---------- Redes sociales ---------- */
.social{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;padding:0;margin:.8rem 0 0}
.social a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:2px solid currentColor;color:var(--cc-ink);text-decoration:none;transition:background .2s,color .2s,border-color .2s}
.social a:hover{background:var(--cc-red);border-color:var(--cc-red);color:var(--cc-white)}
.site-footer .social a{color:var(--cc-white)}
@media (prefers-reduced-motion:reduce){.social a{transition:none}}

/* ---------- Pie de página (composición) ---------- */
.footer-grid{display:grid;gap:2rem 2.5rem;grid-template-columns:1fr;padding-top:0;padding-bottom:2rem}
@media (min-width:700px){.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.footer-grid{grid-template-columns:1.5fr 1.15fr 1.4fr 1fr}}
.site-footer{padding-top:3rem}
.footer-brand img{margin-left:-9px}
.footer-brand p{max-width:34ch;color:#d0d0d0}
.foot-title{font:700 .8rem var(--font-body);text-transform:uppercase;letter-spacing:.14em;color:var(--cc-tomato-on-dark);margin:0 0 .9rem}
.site-footer address{line-height:1.7}
.foot-ref{margin:.7rem 0;font-size:.92rem;color:#c8c8c8;max-width:34ch}
.foot-dl{margin:0;display:grid;gap:.15rem}
.foot-dl dt{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#bdbdbd;margin-top:.7rem}
.foot-dl dt:first-child{margin-top:0}
.foot-dl dd{margin:0;color:var(--cc-white)}
.foot-dl dd a{white-space:nowrap}
.hrs{display:block}
.foot-dl--stack dd{color:#e6e6e6}
.site-footer .social{gap:.5rem}.site-footer .social a{width:40px;height:40px}

/* Títulos en mayúscula (tipografía principal) */
h1,h2,h3,.slide__title,.stats strong,.menu-item strong,.value-item,.quote,.box--num .n{text-transform:var(--head-case);letter-spacing:var(--head-track)}
.recipe-card h2,.recipe-card h3{font-size:.95rem;line-height:1.3}
.sec-head h2::after{margin-top:.6rem}
/* El botón secundario conserva su estilo sobre negro (antes lo pisaba el botón principal) */
.theme-black .btn.btn--ghost{background:transparent;border-color:var(--cc-white);color:var(--cc-white)}
.theme-black .btn.btn--ghost:hover{background:var(--cc-white);border-color:var(--cc-white);color:var(--cc-ink)}
.theme-red .btn.btn--ghost{background:transparent;border-color:var(--cc-white);color:var(--cc-white)}
.theme-red .btn.btn--ghost:hover{background:var(--cc-white);color:var(--cc-ink)}
