/* =====================================================================
   Cuisine Chef — capa "Revista"
   Blanco con colores de comida: tomate, mostaza, verde y negro. Fotografía real grande.
   Se carga después de base.css y la sobrescribe donde hace falta.
   ===================================================================== */

/* ---------- Tipografía ---------- */
h1,h2,h3{font-weight:700;line-height:1.08}
h1{font-size:clamp(2.2rem,5vw,3.9rem)}
h2{font-size:clamp(1.7rem,3.4vw,2.8rem)}
h3{font-size:1.2rem}
.eyebrow{color:var(--cc-tomato);font-size:.78rem;letter-spacing:.14em}
.sec-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem 3rem;margin-bottom:2.2rem}
.sec-head>div{flex:1 1 320px}
.sec-head h2::after{display:none}
.sec-head .lead{flex:1 1 320px;margin:0}
.wrap{padding-top:4rem;padding-bottom:4rem}
@media (min-width:900px){.wrap{padding-top:5rem;padding-bottom:5rem}}
.wrap--cont{padding-top:0}

/* ---------- Botones ---------- */
.btn{padding:.85rem 1.7rem}
.btn--ghost{border-color:var(--cc-ink);color:var(--cc-ink)}
.btn--dark{background:var(--cc-black);border-color:var(--cc-black);color:#fff}
.btn--dark:hover{background:#000;border-color:#000;color:#fff}
.btn--ghost-dark{background:transparent;border-color:var(--cc-black);color:var(--cc-black)}
.btn--ghost-dark:hover{background:var(--cc-black);color:#fff}
.theme-black .btn{background:var(--cc-tomato);border-color:var(--cc-tomato)}

/* ---------- Encabezado ---------- */
.site-header{padding-top:.7rem;padding-bottom:.7rem}
.brand img{width:104px}
.site-header nav a{font-size:.92rem}

/* ---------- Portada ---------- */
.rv-hero{display:grid;gap:2.2rem;max-width:var(--max);margin:0 auto;padding:2.2rem 1.25rem 3.5rem;align-items:center}
.rv-hero h1{font-size:clamp(2.6rem,6.2vw,5.2rem);line-height:1.02;margin-bottom:.45em}
.rv-hero h1 em{font-style:normal;color:var(--cc-tomato)}
.rv-hero .lead{font-size:1.15rem;margin-bottom:1.6rem}
.rv-hero__btns{margin:0}
.rv-collage{display:grid;gap:.8rem;grid-template-columns:1.15fr 1fr;grid-template-rows:minmax(170px,26vw) minmax(170px,26vw)}
.rv-collage__item{position:relative;display:block;border-radius:22px;overflow:hidden;background:var(--cc-soft)}
.rv-collage__item--0{grid-row:span 2}
.rv-collage__item picture,.rv-collage__item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.rv-collage__item:hover img{transform:scale(1.05)}
.rv-tag{position:absolute;left:.8rem;bottom:.8rem;background:var(--cc-mustard);color:var(--cc-black);font-weight:600;font-size:.8rem;padding:.25rem .85rem;border-radius:999px}
@media (min-width:900px){
  .rv-hero{grid-template-columns:1fr 1.2fr;gap:3.5rem;padding-top:3rem}
  .rv-collage{grid-template-rows:minmax(0,17rem) minmax(0,17rem)}
}
@media (prefers-reduced-motion:reduce){.rv-collage__item img{transition:none}}

/* ---------- Cifras ---------- */
.stats-band{background:var(--cc-tomato);color:#fff;border:0}
.stats{padding-top:2.2rem;padding-bottom:2.2rem}
.stats strong{color:#fff;font-size:clamp(1.9rem,3.4vw,2.9rem)}
.stats span{color:rgba(255,255,255,.95)}

/* ---------- Categorías y tarjetas de receta ---------- */
.chips-row{margin-bottom:2rem}
.cat{border-color:var(--cc-line);background:var(--cc-soft)}
.cat:hover{background:var(--cc-tomato);border-color:var(--cc-tomato);color:#fff}
.recipe-grid{gap:1.8rem 1.4rem}
.recipe-card a{border:0;border-radius:0;background:transparent;box-shadow:none}
.recipe-card a:hover{transform:none;box-shadow:none}
.recipe-card img{aspect-ratio:4/5;border-radius:18px;transition:transform .5s}
.recipe-card a>picture,.recipe-card a>img{display:block}
.recipe-card a{overflow:visible}
.recipe-card a:hover img{transform:scale(1.03)}
.recipe-card h2,.recipe-card h3{font:700 1.08rem/1.25 var(--font-head);margin:.8rem 0 .2rem;color:var(--cc-ink)}
.recipe-card p{margin:.15rem 0 0;font-size:.9rem}
.badge-cat{background:var(--cc-green);top:.8rem;left:.8rem}
.vid{background:var(--cc-tomato);top:.8rem;right:.8rem}
.badge-cat.cat--1{background:var(--cc-tomato)}
.badge-cat.cat--2{background:var(--cc-black)}
.badge-cat.cat--3{background:var(--cc-mustard);color:var(--cc-black)}
.recipe-card .thumb{display:block;border-radius:18px;overflow:hidden}
@media (prefers-reduced-motion:reduce){.recipe-card img{transition:none}}

/* ---------- Servicios en bloques de color ---------- */
.svc-grid{list-style:none;margin:0;padding:0;display:grid;gap:1.4rem}
@media (min-width:900px){.svc-grid{grid-template-columns:1fr 1fr}}
.svc{display:grid;grid-template-columns:1fr;border-radius:26px;overflow:hidden;min-height:100%;color:#fff;text-decoration:none}
.svc h3{color:inherit;font-size:clamp(1.5rem,2.4vw,2rem);margin:0 0 .5rem}
.svc__t{display:flex;flex-direction:column;justify-content:space-between;gap:1.5rem;padding:1.7rem}
.svc__d{display:block;font-size:.98rem;opacity:.97}
.svc__go{font-weight:600}
.svc__p{display:block;min-height:210px;position:relative;order:-1}
.svc__p img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.svc:hover .svc__p img{transform:scale(1.05)}
.svc:focus-visible{outline-color:var(--cc-black)}
.svc--green{background:var(--cc-green)}
.svc--mustard{background:var(--cc-mustard);color:var(--cc-black)}
.svc--black{background:var(--cc-black)}
.svc--tomato{background:var(--cc-tomato)}
@media (min-width:600px){.svc{grid-template-columns:1fr 1fr;min-height:310px}.svc__p{order:0;min-height:0}}
@media (prefers-reduced-motion:reduce){.svc__p img{transition:none}}

/* ---------- Bandas y cajas de color ---------- */
.theme-black{background:var(--cc-black)}
.theme-red{background:var(--cc-tomato)}
.theme-green{background:var(--cc-green);color:#fff}
.theme-yellow{background:var(--cc-mustard);color:var(--cc-black)}
.theme-yellow h1,.theme-yellow h2,.theme-yellow h3,.theme-yellow .eyebrow{color:var(--cc-black)}
.band__img img,.split__img img,.banner__img img,.gallery img{border-radius:24px}
.box{border-radius:22px;border-top-width:5px}
.box--green{background:var(--cc-green);color:#fff}
.box--green h3{color:#fff}.box--green p{color:rgba(255,255,255,.95)}
.box--solid{border-radius:22px}
.menu-item{border-left-width:8px;border-radius:16px}
.check-item{border-radius:16px}
.banner__inner{padding-top:3rem;padding-bottom:3rem}
.banner h1{font-size:clamp(2.2rem,4.8vw,3.6rem)}
.logos li{border-radius:16px}

/* ---------- Preguntas frecuentes ---------- */
.faq__list{display:grid;gap:.8rem;max-width:56rem}
.faq details{border:2px solid var(--cc-ink);border-radius:18px;background:#fff}
.faq details[open]{background:var(--cc-soft)}
.faq summary{cursor:pointer;list-style:none;padding:1.1rem 3.2rem 1.1rem 1.4rem;font:700 1.08rem/1.3 var(--font-head);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:1.3rem;top:50%;transform:translateY(-50%);font:600 1.6rem/1 var(--font-body);color:var(--cc-tomato)}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:0;padding:0 1.4rem 1.3rem;color:var(--cc-muted);max-width:68ch}

/* ---------- Pie de página ---------- */
.site-footer{background:var(--cc-black);color:#D9D6D2;padding:0}
.site-footer a{color:#fff}
.foot-cta{background:var(--cc-mustard);color:var(--cc-black)}
.foot-cta__in{display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:center;justify-content:space-between;padding-top:2.2rem;padding-bottom:2.2rem}
.foot-cta__title{font:700 clamp(1.4rem,2.6vw,2.1rem)/1.15 var(--font-head);margin:0 0 .2rem;color:var(--cc-black)}
.foot-cta__text{margin:0;color:var(--cc-black)}
.foot-cta__btns{margin:0}
.foot-cta a.btn--dark{color:#fff}
.foot-cta a.btn--ghost-dark{color:var(--cc-black)}
.foot-cta a.btn--ghost-dark:hover{color:#fff}
.footer-grid{display:grid;gap:2.2rem 2.5rem;grid-template-columns:1fr;padding-top:3.2rem;padding-bottom:2.5rem}
@media (min-width:700px){.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.footer-grid{grid-template-columns:1.5fr .8fr .9fr 1.25fr 1.1fr}}
.footer-brand img{width:112px;height:auto;margin:0 0 .8rem -8px}
.footer-brand p{max-width:36ch;color:#d4d1cd;font-size:.95rem}
.foot-facts{font-size:.85rem!important;color:#fff!important}
.foot-title{font:700 .8rem var(--font-body);text-transform:uppercase;letter-spacing:.14em;color:var(--cc-mustard);margin:0 0 1rem}
.foot-title--sp{margin-top:1.6rem}
.foot-links{list-style:none;margin:0;padding:0;display:grid;gap:.15rem}
.foot-links a{display:inline-block;padding:.25rem 0;text-decoration:none;color:#e9e7e4;font-size:.95rem}
.foot-links a:hover,.foot-links a[aria-current="page"]{color:var(--cc-mustard);text-decoration:underline;text-underline-offset:.2em}
.site-footer address{font-style:normal;line-height:1.7;color:#fff}
.foot-ref{margin:.7rem 0;font-size:.9rem;color:#c9c6c1;max-width:34ch}
.foot-map{display:flex;flex-wrap:wrap;gap:.5rem;margin:0}
.chip{display:inline-block;padding:.4rem .95rem;border:2px solid #fff;border-radius:999px;font-size:.85rem;font-weight:600;text-decoration:none}
.chip:hover{background:var(--cc-mustard);border-color:var(--cc-mustard);color:var(--cc-black)}
.foot-dl{margin:0;display:grid;gap:.1rem}
.foot-dl dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:#bdb9b4;margin-top:.8rem}
.foot-dl dt:first-child{margin-top:0}
.foot-dl dd{margin:0;color:#fff;overflow-wrap:anywhere}
.foot-dl dd a{white-space:nowrap}
.foot-dl--stack dd{color:#ece9e6}
.foot-dl--stack dt{text-transform:none;letter-spacing:0;font-size:.88rem;color:#fff;font-weight:600}
.site-footer .social{margin-top:1rem;gap:.5rem}
.site-footer .social a{width:42px;height:42px;color:#fff;border-color:#fff}
.site-footer .social a:hover{background:var(--cc-mustard);border-color:var(--cc-mustard);color:var(--cc-black)}
.foot-bar{border-top:1px solid #34312d}
.foot-bar__in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.4rem 2rem;padding-top:1.1rem;padding-bottom:1.3rem;font-size:.82rem;color:#c5c2bd}
.foot-bar__in p{margin:0}
.foot-bar__in a{color:#e9e7e4}

/* ---------- Banners por página (verde, mostaza, negro, tomate) ---------- */
.theme-green .eyebrow{color:#fff;opacity:.95}
.theme-green .lead{color:rgba(255,255,255,.95)}
.theme-green a:not(.btn){color:#fff}
.theme-green .btn{background:#fff;border-color:#fff;color:var(--cc-black)}
.theme-green .btn:hover{background:var(--cc-black);border-color:var(--cc-black);color:#fff}
.theme-green .btn.btn--ghost{background:transparent;border-color:#fff;color:#fff}
.theme-green .btn.btn--ghost:hover{background:#fff;color:var(--cc-black)}
.theme-yellow .eyebrow{color:var(--cc-black);opacity:.85}
.theme-yellow .lead{color:var(--cc-black)}
.theme-yellow a:not(.btn){color:var(--cc-black)}
.theme-yellow .btn{background:var(--cc-black);border-color:var(--cc-black);color:#fff}
.theme-yellow .btn:hover{background:#000;color:#fff}
.theme-yellow .btn.btn--ghost{background:transparent;border-color:var(--cc-black);color:var(--cc-black)}
.theme-yellow .btn.btn--ghost:hover{background:var(--cc-black);color:#fff}
.theme-yellow .banner__img img{box-shadow:0 14px 34px rgba(0,0,0,.2)}

/* =====================================================================
   Iconos, animación y efectos
   (todo se apaga con prefers-reduced-motion: ver base.css)
   ===================================================================== */
.ico{flex:none;vertical-align:-.2em}

/* ---------- Corrección de colores al pasar el ratón ---------- */
.svc,.svc:hover,.svc:focus-visible{color:#fff}
.svc--mustard,.svc--mustard:hover,.svc--mustard:focus-visible{color:var(--cc-black)}
.svc h3,.svc:hover h3,.svc__d,.svc__go{color:inherit}
.btn,.btn:hover{text-decoration:none}
.btn .ico{margin-left:.35rem;vertical-align:-.25em;transition:translate .25s}
.btn:hover .ico{translate:4px 0}
.theme-red a:not(.btn):hover,.theme-green a:not(.btn):hover{color:var(--cc-mustard)}
.theme-yellow a:not(.btn):hover{color:var(--cc-tomato-hover)}
.theme-black a:not(.btn):hover{color:var(--cc-mustard)}
.recipe-hero .crumbs a:hover,.recipe-hero .tag:hover{color:var(--cc-mustard)}
.recipe-hero .tag:hover{background:#fff;color:var(--cc-tomato-hover)}

/* ---------- Barra de progreso, encabezado y WhatsApp flotante ---------- */
.progress{position:fixed;inset:0 0 auto 0;height:4px;z-index:60;pointer-events:none}
.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--cc-tomato),var(--cc-mustard));transform:scaleX(0);transform-origin:0 50%}
.site-header{transition:box-shadow .3s,padding .3s}
.site-header.is-scrolled{box-shadow:0 6px 24px rgba(0,0,0,.1)}
.wa-float{position:fixed;right:1.1rem;bottom:1.1rem;z-index:40;display:inline-flex;align-items:center;gap:.5rem;background:#1FA855;color:#fff;border-radius:999px;padding:.8rem 1.15rem;font-weight:600;text-decoration:none;box-shadow:0 10px 26px rgba(0,0,0,.28);transition:transform .25s,padding .3s,background .25s}
.wa-float:hover{background:#17893f;color:#fff;transform:translateY(-3px) scale(1.04)}
.wa-float::before{content:"";position:absolute;inset:0;border-radius:inherit;border:2px solid #1FA855;animation:ping 2.4s cubic-bezier(0,0,.2,1) infinite}
.wa-float span{max-width:8rem;overflow:hidden;white-space:nowrap;transition:max-width .3s,opacity .3s}
.wa-float.is-compact{padding:.85rem}
.wa-float.is-compact span{max-width:0;opacity:0}
@media (max-width:600px){.wa-float span{max-width:0;opacity:0}.wa-float{padding:.85rem}}
@keyframes ping{0%{transform:scale(1);opacity:.7}80%,100%{transform:scale(1.55);opacity:0}}

/* ---------- Aparición al desplazar ---------- */
.reveal{opacity:0;translate:0 26px;transition:opacity .75s ease var(--d,0ms),translate .75s cubic-bezier(.2,.7,.2,1) var(--d,0ms)}
.reveal.in{opacity:1;translate:0 0}

/* ---------- Botones: elevación y brillo ---------- */
.btn{position:relative;overflow:hidden;transition:background .25s,color .25s,border-color .25s,transform .25s,box-shadow .25s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,0,0,.18)}
.btn:active{transform:translateY(0)}
.btn::after{content:"";position:absolute;inset:0 auto 0 -60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);transition:left .6s}
.btn:hover::after{left:130%}

/* ---------- Portada ---------- */
.rv-hero h1 em{position:relative;display:inline-block}
.rv-hero h1 em::after{content:"";position:absolute;left:0;right:0;bottom:.02em;height:.1em;border-radius:99px;background:var(--cc-mustard);transform-origin:0 50%;animation:draw 1s .5s cubic-bezier(.2,.7,.2,1) both;z-index:-1}
@keyframes draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.rv-hero__text .eyebrow{animation:rise .7s both}
.rv-hero h1{animation:rise .8s .1s both}
.rv-hero .lead{animation:rise .8s .2s both}
.rv-hero__btns{animation:rise .8s .3s both}
@keyframes rise{from{opacity:0;translate:0 22px}to{opacity:1;translate:0 0}}
.rv-collage{position:relative}
.rv-collage__item{animation:pop .9s cubic-bezier(.2,.8,.2,1) both,floaty 7s ease-in-out infinite;transition:transform .3s ease-out}
.rv-collage__item--0{animation-delay:.1s,1s}
.rv-collage__item--1{animation-delay:.25s,2s}
.rv-collage__item--2{animation-delay:.4s,3s}
@keyframes pop{from{opacity:0;scale:.9}to{opacity:1;scale:1}}
@keyframes floaty{0%,100%{translate:0 0}50%{translate:0 -8px}}
.rv-collage__item .rv-tag{transition:translate .3s,background .3s,color .3s}
.rv-collage__item:hover .rv-tag{translate:4px -2px;background:var(--cc-tomato);color:#fff}
.rv-sticker{position:absolute;z-index:3;right:-.6rem;top:-1rem;width:92px;height:92px;border-radius:50%;background:var(--cc-tomato);color:#fff;display:grid;place-content:center;text-align:center;font:600 .72rem/1.1 var(--font-body);border:4px solid #fff;box-shadow:0 10px 24px rgba(0,0,0,.22);animation:wiggle 5s ease-in-out infinite}
.rv-sticker b{font:700 1.6rem/1 var(--font-head)}
@keyframes wiggle{0%,100%{rotate:-8deg}50%{rotate:8deg}}

/* ---------- Cifras ---------- */
.stats>div{position:relative}
.stats>div>.ico{display:block;margin:0 auto .5rem;opacity:.9;transition:transform .4s}
.stats>div:hover>.ico{transform:translateY(-4px) rotate(-8deg) scale(1.15)}

/* ---------- Cinta animada ---------- */
.ticker{background:var(--cc-black);color:var(--cc-mustard);overflow:hidden;white-space:nowrap;border-block:2px solid var(--cc-mustard)}
.ticker__track{display:inline-flex;gap:2.6rem;padding:.85rem 0;animation:marquee 38s linear infinite;font-weight:600;font-size:.92rem;letter-spacing:.06em;text-transform:uppercase}
.ticker__track span{display:inline-flex;align-items:center;gap:.55rem}
.ticker:hover .ticker__track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ---------- Recetas: tarjetas con efectos ---------- */
.recipe-card .thumb,.recipe-card a{position:relative}
.recipe-card a::after{content:"";position:absolute;left:0;right:0;top:0;aspect-ratio:4/5;border-radius:18px;background:rgba(22,21,19,.0);transition:background .35s;pointer-events:none}
.recipe-card a:hover::after{background:rgba(22,21,19,.28)}
.recipe-card a::before{content:"";position:absolute;z-index:2;left:50%;top:calc(50% - .9rem);width:58px;height:58px;margin:-29px 0 0 -29px;border-radius:50%;background:var(--cc-tomato) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E") center/54% no-repeat;scale:.4;opacity:0;transition:scale .3s cubic-bezier(.3,1.5,.5,1),opacity .3s}
.recipe-card a:hover::before,.recipe-card a:focus-visible::before{scale:1;opacity:1}
.recipe-card .vid{animation:pulse 2.6s ease-in-out infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(216,50,31,.5)}50%{box-shadow:0 0 0 7px rgba(216,50,31,0)}}
.recipe-card a{transition:transform .3s}
.recipe-card a:hover{transform:translateY(-4px)}
.cat{transition:background .25s,color .25s,border-color .25s,transform .25s}
.cat:hover{transform:translateY(-2px)}

/* ---------- Servicios: icono, elevación y flecha ---------- */
.svc{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.svc:hover{transform:translateY(-6px);box-shadow:0 22px 40px rgba(0,0,0,.22)}
.svc__ico{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:rgba(255,255,255,.2);margin-bottom:.9rem;transition:transform .4s,background .3s}
.svc--mustard .svc__ico{background:rgba(22,21,19,.12)}
.svc:hover .svc__ico{transform:rotate(-10deg) scale(1.12);background:#fff;color:var(--cc-black)}
.svc__go{transition:letter-spacing .3s,translate .3s}
.svc:hover .svc__go{translate:6px 0}

/* ---------- Cajas con icono ---------- */
.box__ico{display:block;margin-bottom:.7rem;transition:transform .4s}
.box:hover .box__ico{transform:scale(1.2) rotate(-8deg)}
.box{transition:transform .3s,box-shadow .3s}
.box:hover{transform:translateY(-4px);box-shadow:0 16px 30px rgba(0,0,0,.12)}
.check-item,.menu-item,.logos li,.value-item{transition:transform .3s,box-shadow .3s,border-color .3s}
.check-item:hover,.menu-item:hover,.logos li:hover,.value-item:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,.1);border-color:var(--cc-tomato)}
.logos li img{transition:transform .4s}
.logos li:hover img{transform:scale(1.1)}
.band__img img,.banner__img img,.gallery img{transition:transform .6s}
.band__img:hover img,.banner__img:hover img,.gallery li:hover img{transform:scale(1.03)}
.gallery li{overflow:hidden;border-radius:24px}

/* ---------- Banners con formas flotantes ---------- */
.banner,.recipe-hero{position:relative;overflow:hidden}
.banner::before,.banner::after,.recipe-hero::before,.recipe-hero::after{content:"";position:absolute;border-radius:50%;pointer-events:none;background:rgba(255,255,255,.1);animation:drift 14s ease-in-out infinite}
.banner::before,.recipe-hero::before{width:340px;height:340px;left:-120px;bottom:-170px}
.banner::after,.recipe-hero::after{width:220px;height:220px;right:38%;top:-110px;animation-delay:-6s;animation-duration:18s}
.theme-yellow.banner::before,.theme-yellow.banner::after{background:rgba(22,21,19,.07)}
.banner__inner,.recipe-hero__inner{position:relative;z-index:1}
@keyframes drift{0%,100%{translate:0 0}50%{translate:30px -24px}}

/* ---------- Filtros de recetas ---------- */
.recipe-filters{padding:1.6rem;border:1px solid var(--cc-line);border-radius:26px;background:#fff;box-shadow:0 14px 34px rgba(0,0,0,.06);margin-bottom:2rem}
.rf-search{display:flex;align-items:center;gap:.6rem;border:2px solid var(--cc-ink);border-radius:999px;padding:.3rem .35rem .3rem 1.1rem;background:#fff;transition:box-shadow .25s,border-color .25s}
.rf-search:focus-within{border-color:var(--cc-tomato);box-shadow:0 0 0 4px rgba(216,50,31,.15)}
.rf-search__ico{color:var(--cc-muted)}
.rf-search input{flex:1;min-width:0;border:0;outline:0;font:inherit;font-size:1.05rem;padding:.6rem .2rem;background:transparent;color:var(--cc-ink)}
.rf-search .btn{margin:0}
.rf-groups{display:grid;gap:1.2rem;margin-top:1.4rem}
@media (min-width:1000px){.rf-groups{grid-template-columns:1fr 1.5fr}}
.rf-group{border:0;margin:0;padding:1.1rem 1.2rem 1.2rem;background:var(--cc-soft);border-radius:20px;min-width:0}
.rf-group legend{float:left;width:100%;display:flex;align-items:center;gap:.5rem;font:700 1.05rem var(--font-head);padding:0;margin:0 0 .8rem;color:var(--cc-ink)}
.rf-group legend .ico{color:var(--cc-tomato)}
.rf-chips{clear:both;display:flex;flex-wrap:wrap;gap:.5rem}
.recipe-filters label.check{position:relative;margin:0;padding:0;border:0;min-height:0;background:transparent;display:inline-block}
.recipe-filters label.check span{display:inline-flex;align-items:center;gap:.4rem;padding:.42rem .95rem;border:2px solid transparent;border-radius:999px;background:#fff;font-weight:500;font-size:.92rem;cursor:pointer;transition:background .2s,color .2s,transform .2s,border-color .2s,box-shadow .2s;box-shadow:0 1px 0 rgba(0,0,0,.08)}
.recipe-filters label.check span:hover{transform:translateY(-2px);border-color:var(--cc-tomato)}
.recipe-filters label.check input:checked+span{background:var(--cc-tomato);color:#fff;border-color:var(--cc-tomato)}
.recipe-filters label.check input:checked+span small{color:rgba(255,255,255,.9)}
.recipe-filters label.check input:focus-visible+span{outline:3px solid var(--cc-ink);outline-offset:2px}
.recipe-filters label.check:has(input:checked){background:transparent;border:0;color:inherit}
.recipe-filters label.check small{background:rgba(22,21,19,.08);border-radius:99px;padding:0 .45rem;font-size:.75rem;opacity:1;color:var(--cc-muted)}
.rf-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;margin-top:1.3rem}
.rf-actions .btn{margin:0}
.rf-actions .muted{flex:1 1 280px;margin:0}

/* ---------- Video de la receta ---------- */
.yt{max-width:none;margin:0 0 2.5rem}
.yt h2{display:flex;align-items:center;gap:.6rem;font-size:clamp(1.4rem,2.4vw,1.9rem);margin-bottom:1rem}
.yt h2 .ico{color:var(--cc-tomato);background:var(--cc-soft);border-radius:50%;padding:.45rem;width:2.4rem;height:2.4rem}
.yt__frame{position:relative;aspect-ratio:16/9;max-width:960px;border-radius:24px;overflow:hidden;background:var(--cc-black);box-shadow:0 22px 50px rgba(0,0,0,.25)}
.yt__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.meta li{display:inline-flex;align-items:center;gap:.4rem}

/* ---------- Pie de página: iconos y efectos ---------- */
.foot-title{display:flex;align-items:center;gap:.5rem}
.foot-dl dt{display:flex;align-items:center;gap:.4rem}
.foot-dl dt .ico{color:var(--cc-mustard)}
.foot-links a{transition:translate .25s,color .25s}
.foot-links a:hover{translate:5px 0}
.site-footer .social a{transition:transform .3s,background .25s,color .25s,border-color .25s}
.site-footer .social a:hover{transform:translateY(-4px) rotate(-6deg)}
.chip{transition:transform .25s,background .25s,color .25s}
.chip:hover{transform:translateY(-2px)}
.foot-cta{position:relative;overflow:hidden}
.foot-cta::before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.22);right:6%;top:-120px;animation:drift 12s ease-in-out infinite}

/* ---------- Contacto ---------- */
.dl dt{display:flex;align-items:center;gap:.45rem}
.dl dt .ico{color:var(--cc-tomato)}
.box h3 .ico{color:var(--cc-tomato);margin-right:.2rem}

/* ---------- Preguntas frecuentes ---------- */
.faq details{transition:background .3s,transform .3s,box-shadow .3s}
.faq details:hover{transform:translateX(4px);box-shadow:0 8px 20px rgba(0,0,0,.08)}
.faq summary::after{transition:transform .3s}
.faq details[open] summary::after{transform:translateY(-50%) rotate(180deg)}
.svc:hover .svc__ico .ico{color:var(--cc-black)}

/* Video vertical (Short): marco 9:16 centrado y más compacto */
.yt__frame--v{aspect-ratio:9/16;max-width:min(380px,100%);margin-inline:0}
@media (min-width:900px){.yt__frame--v{max-width:360px}}
@media (min-width:900px){
  .recipe__vlayout{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:0 3.5rem;align-items:start}
  .recipe__vlayout .yt{position:sticky;top:96px;margin:0}
  .recipe__vlayout .yt__frame--v{max-width:380px}
  .recipe__vlayout .recipe__cols{grid-template-columns:1fr;margin-top:0}
}

/* Cifras: el número animado hereda el tamaño grande de la cifra (no el del texto de apoyo) */
.stats strong .count{font:inherit;color:inherit;letter-spacing:inherit}

/* ---------- Recetas por tema ---------- */
.topic-nav{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 2.4rem;position:sticky;top:64px;z-index:10;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);padding:.7rem 0;border-bottom:1px solid var(--cc-line)}
.topic-nav__a{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem 1rem;border-radius:999px;font-weight:600;font-size:.9rem;text-decoration:none;color:#fff;transition:transform .25s,box-shadow .25s}
.topic-nav__a small{background:rgba(255,255,255,.25);border-radius:99px;padding:0 .5rem;font-size:.75rem}
.topic-nav__a:hover{transform:translateY(-3px);box-shadow:0 8px 18px rgba(0,0,0,.2);color:#fff}
.topic-nav__a--tomato{background:var(--cc-tomato)}
.topic-nav__a--mustard{background:var(--cc-mustard);color:var(--cc-black)}
.topic-nav__a--mustard:hover{color:var(--cc-black)}
.topic-nav__a--mustard small{background:rgba(22,21,19,.12)}
.topic-nav__a--green{background:var(--cc-green)}
.topic-nav__a--black{background:var(--cc-black)}
.topic{margin:0 0 3.4rem;scroll-margin-top:150px}
.topic__head{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem 1.2rem;padding:1.1rem 1.3rem;border-radius:22px;margin-bottom:1.5rem;color:#fff}
.topic__head>div{flex:1 1 200px}
.topic__head h2{margin:0;color:inherit;font-size:clamp(1.5rem,2.6vw,2.1rem)}
.topic__head p{margin:0;opacity:.95;font-size:.95rem}
.topic__ico{display:grid;place-items:center;width:56px;height:56px;border-radius:18px;background:rgba(255,255,255,.22);transition:transform .4s}
.topic__head:hover .topic__ico{transform:rotate(-10deg) scale(1.1)}
.topic__head .btn{margin:0;border-color:#fff;color:#fff;background:transparent}
.topic__head .btn:hover{background:#fff;color:var(--cc-black)}
.topic--tomato .topic__head{background:var(--cc-tomato)}
.topic--green .topic__head{background:var(--cc-green)}
.topic--black .topic__head{background:var(--cc-black)}
.topic--mustard .topic__head{background:var(--cc-mustard);color:var(--cc-black)}
.topic--mustard .topic__head .btn{border-color:var(--cc-black);color:var(--cc-black)}
.topic--mustard .topic__head .btn:hover{background:var(--cc-black);color:#fff}
.topic .recipe-grid{margin-bottom:0}
@media (max-width:700px){.topic-nav{position:static}}
.topic .badge-cat{display:none}
@media (min-width:1000px){.rf-groups.rf-groups--one{grid-template-columns:1fr}}
@media (max-width:1100px){.topic-nav{position:static}}

/* ---------- Filtros: sin barra gris apretada ---------- */
.rf-group{background:transparent;padding:0;border-radius:0}
.rf-group legend{margin-bottom:.9rem}
.rf-chips{gap:.65rem}
.recipe-filters label.check span{border-color:var(--cc-line);padding:.5rem 1.05rem}
.rf-actions{margin-top:1.8rem;padding-top:1.4rem;border-top:1px solid var(--cc-line)}
.topic-nav__label{margin:0 0 .8rem;color:var(--cc-muted);font-size:.95rem}
.topic-nav__label strong{color:var(--cc-ink)}
.cta-row{margin:2rem 0 0}

/* ---------- Slider de la portada: última receta + destacados ---------- */
.rv-slider{position:relative;border-radius:28px;overflow:hidden;background:var(--cc-black);aspect-ratio:4/3.3;min-height:340px;box-shadow:0 24px 50px rgba(0,0,0,.22)}
@media (min-width:900px){.rv-slider{aspect-ratio:auto;height:clamp(440px,62vh,560px)}}
.rv-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility .8s}
.rv-slide.is-active{opacity:1;visibility:visible}
.rv-slide__img,.rv-slide__img picture,.rv-slide__img img{position:absolute;inset:0;width:100%;height:100%}
.rv-slide__img img{object-fit:cover;transform:scale(1.04);transition:transform 7s ease-out}
.rv-slide.is-active .rv-slide__img img{transform:scale(1.12)}
.rv-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(22,21,19,.92) 8%,rgba(22,21,19,.45) 48%,rgba(22,21,19,.05) 80%)}
.rv-slide__body{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:1.4rem 1.4rem 4.4rem;color:#fff;max-width:36rem}
.rv-slide.is-active .rv-slide__body>*{animation:rise .7s both}
.rv-slide.is-active .rv-slide__body>*:nth-child(2){animation-delay:.1s}
.rv-slide.is-active .rv-slide__body>*:nth-child(3){animation-delay:.2s}
.rv-slide.is-active .rv-slide__body>*:nth-child(4){animation-delay:.3s}
.rv-slide__title{font:700 clamp(1.4rem,2.6vw,2.1rem)/1.12 var(--font-head);margin:.6rem 0 .5rem;color:#fff;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.rv-slide__text{margin:0 0 1rem;font-size:1rem;color:rgba(255,255,255,.95)}
.rv-tag--new{display:inline-flex;align-items:center;gap:.35rem;background:var(--cc-tomato);color:#fff;position:static}
.rv-slide__body .rv-tag{position:static;display:inline-flex;align-items:center;gap:.35rem}
.btn--mustard{background:var(--cc-mustard);border-color:var(--cc-mustard);color:var(--cc-black)}
.btn--mustard:hover{background:#fff;border-color:#fff;color:var(--cc-black)}
.rv-slider__ctrl{position:absolute;z-index:3;left:1.2rem;right:1.2rem;bottom:1rem;display:flex;align-items:center;gap:.5rem}
.rv-slider__ctrl button{min-width:42px;height:42px;border-radius:999px;border:2px solid rgba(255,255,255,.85);background:rgba(22,21,19,.35);color:#fff;font:inherit;cursor:pointer;display:grid;place-items:center;backdrop-filter:blur(4px);transition:background .25s,color .25s}
.rv-slider__ctrl button:hover{background:#fff;color:var(--cc-black)}
.rv-slider__ctrl .flip{transform:scaleX(-1)}
.rv-slider__pause{padding:0 1rem;font-size:.8rem;font-weight:600;margin-left:auto}
.rv-dots{display:flex}
.rv-dots button{border:0!important;background:none!important;min-width:30px!important;position:relative;backdrop-filter:none!important}
.rv-dots button::after{content:"";position:absolute;left:5px;right:5px;top:50%;height:5px;margin-top:-2.5px;border-radius:3px;background:#fff;opacity:.45;transition:opacity .3s,height .3s}
.rv-dots button[aria-current="true"]::after{opacity:1;height:7px;margin-top:-3.5px}
.rv-slider .rv-sticker{right:.8rem;top:.8rem;z-index:3}
@media (prefers-reduced-motion:reduce){.rv-slide{transition:none}.rv-slide__img img{transform:none!important;transition:none}}
