@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Newsreader:opsz,wght@6..72,500;6..72,600&display=swap');

:root{
  --bg:#FBF7F1;
  --bg-alt:#F2EAE0;
  --ink:#28231F;
  --ink-soft:#6B6058;
  --clay:#C24E2E;
  --clay-dark:#8F3418;
  --sage:#293F3A;
  --gold:#A8752B;
  --line:#E2D9CE;
  --white:#FFFDF9;
  --radius:10px;
}

html{scroll-padding-top:90px}
body{font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--bg);line-height:1.68}
h1,h2,h3,.display,.brand{font-family:'Newsreader',serif;letter-spacing:-.025em}
a{transition:color .18s ease,background-color .18s ease,border-color .18s ease,transform .18s ease}
a:focus-visible,button:focus-visible{outline:3px solid rgba(194,78,46,.35);outline-offset:3px}
.todo-banner{display:none!important}
.mono,.rank,.rank-tag,.eyebrow,.resource-category,.criteria-grid .num{font-family:'DM Sans',sans-serif!important;letter-spacing:.1em}

header.top{position:relative;background:rgba(255,253,249,.96);border-bottom:1px solid var(--line);padding:14px 0;z-index:10}
header.top .wrap{max-width:1120px;gap:28px}
.brand-logo{width:230px;max-width:45vw}
.site-brand{display:flex;align-items:center;text-decoration:none;min-width:190px}
.site-brand img{display:block;width:215px;height:auto}
nav.top-links,.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:20px;font-size:.8rem;font-weight:600}
nav.top-links a,.header-actions a{text-decoration:none;color:var(--ink-soft)}
nav.top-links a:hover,.header-actions a:hover{color:var(--clay-dark)}

footer{background:var(--ink)!important;margin-top:72px!important;padding:44px 0 34px!important}
footer .wrap{max-width:1120px!important}
footer .legal-links{gap:22px!important}
footer a{text-underline-offset:4px!important}

.breadcrumb{margin-top:28px!important;font-size:.76rem!important;color:#83776e!important}
.breadcrumb a{text-decoration:none!important;border-bottom:1px solid #cfc3b7}
.eyebrow,.rank-tag,.resource-category{display:inline-block;background:transparent!important;color:var(--clay-dark)!important;padding:0!important;border-radius:0!important;font-size:.68rem!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.13em!important}
.disclosure{border:0!important;border-left:3px solid var(--sage)!important;background:#EDF0EC!important;border-radius:7px!important;color:#52605b!important;box-shadow:none!important}
.cta,.cta-primary,.resource-cta{background:var(--clay)!important;color:#fff!important;border-radius:6px!important;border:1px solid var(--clay)!important;font-family:'DM Sans',sans-serif!important;font-weight:700!important;box-shadow:none!important}
.cta:hover,.cta-primary:hover,.resource-cta:hover{background:var(--clay-dark)!important;border-color:var(--clay-dark)!important;transform:translateY(-1px)}
.placeholder{background:#F1E8DE!important;color:#75675d!important;border:1px solid #D9CCBE!important;pointer-events:none}
.ad-slot:empty,.ad-container:empty{display:none!important}

/* Portada / comparativa */
.page-hub .brand-intro{max-width:none!important;padding:20px max(24px,calc((100vw - 1120px)/2))!important;background:var(--sage);color:#fff}
.page-hub .brand-intro p:first-child{font:500 clamp(1.25rem,2.2vw,1.7rem)/1.25 'Newsreader',serif!important;color:#fff!important;margin:0 0 5px!important}
.page-hub .brand-intro p:last-child{font-size:.88rem!important;color:#dbe4e0!important;max-width:76ch!important}
.page-hub .hero.wrap{max-width:1120px;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(360px,.97fr);column-gap:64px;align-items:center;padding-top:72px;padding-bottom:64px}
.page-hub .hero>*:not(.hero-img){grid-column:1}
.page-hub .hero .hero-img{grid-column:2;grid-row:1/7;width:100%;height:470px;object-fit:cover;margin:0;border-radius:10px;filter:saturate(.82) contrast(.98)}
.page-hub .hero h1{font-size:clamp(2.7rem,5vw,4.65rem);line-height:.98;margin:14px 0 22px;max-width:13ch}
.page-hub .hero p.lede{font-size:1.02rem;line-height:1.65;max-width:58ch}
.page-hub .hero .updated{font-size:.72rem;margin-top:18px;max-width:68ch}
.page-hub main>.wrap{max-width:1120px}
.page-hub main>.wrap>.disclosure{max-width:850px;margin-left:auto;margin-right:auto}
.page-hub .editorial-standards{display:grid!important;grid-template-columns:.8fr 1.2fr;gap:58px;margin:58px 0!important;padding:38px!important;background:var(--white);border:1px solid var(--line);border-radius:10px}
.page-hub .editorial-standards h2{font-size:2rem;margin:10px 0 0}
.page-hub .editorial-standards-copy p{margin:0 0 14px;color:var(--ink-soft);font-size:.94rem}
.page-hub #guias,.page-hub main>.wrap>section:not(.list):not(.faq){padding:34px;background:var(--white);border:1px solid var(--line);border-radius:10px}
.page-hub #guias>div{gap:12px!important}
.page-hub #guias a{border-radius:8px!important;box-shadow:0 8px 24px rgba(57,42,30,.04)}
.page-hub table{background:var(--white);border-radius:8px;overflow:hidden}
.page-hub th{background:#ECE4DA!important;color:#6e3322!important}
.page-hub .methodology{margin:70px 0 58px;padding:40px;background:var(--sage);color:#fff;border-radius:10px}
.page-hub .methodology h2{color:#fff;font-size:1.8rem}
.page-hub .methodology p.intro,.page-hub .methodology .desc{color:#d5dfdb}
.page-hub .methodology .num{color:#f1a38e}
.page-hub .methodology .label{color:#fff}
.page-hub #top10{font-size:2.25rem!important;margin-top:74px!important}
.page-hub .quicknav{gap:6px;margin:26px 0 22px}
.page-hub .quicknav a{border-radius:5px;background:transparent;padding:7px 10px}
.page-hub .list{gap:18px}
.page-hub .card{border-radius:9px;border:1px solid var(--line);box-shadow:0 10px 28px rgba(58,42,29,.045);padding:26px}
.page-hub .card:hover{border-color:#cab9a9;transform:translateY(-2px);box-shadow:0 16px 38px rgba(58,42,29,.075)}
.page-hub .product-thumb{border-radius:7px}
.page-hub .score{background:var(--sage);color:#fff;border-radius:7px}
.page-hub .score .val,.page-hub .score .of10{color:#fff}
.page-hub .tag{border-radius:4px;background:#F0E9E0;padding:4px 8px}
.page-hub .faq{margin-top:76px}
.page-hub .editorial-moment{display:grid;grid-template-columns:minmax(0,1fr) 260px;align-items:end;gap:28px;margin:78px 0 0;padding:0;background:transparent;border:0}
.page-hub .editorial-moment img{width:100%;height:390px;object-fit:cover;border-radius:9px;filter:saturate(.84)}
.page-hub .editorial-moment figcaption{font:500 2rem/1.08 'Newsreader',serif;color:var(--ink);padding-bottom:10px}

/* Ficha de producto */
.page-product header .wrap,.page-resource header .wrap,.page-legal header .wrap{max-width:1120px}
.page-product>.wrap{max-width:960px}
.page-product .p-head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.72fr);column-gap:58px;align-items:center;padding:32px 0 46px;margin-bottom:34px}
.page-product .p-head>*:not(.product-hero-img){grid-column:1}
.page-product .product-hero-img{grid-column:2;grid-row:1/9;width:100%;height:390px;object-fit:contain;background:#fff;border:1px solid var(--line);padding:20px;margin:0;border-radius:9px}
.page-product h1{font-size:clamp(2.3rem,4.5vw,3.8rem);line-height:1.02;margin:10px 0 12px}
.page-product .score-badge{background:var(--sage);border-radius:7px;min-width:76px}
.page-product .score-badge .val,.page-product .score-badge .of10{color:#fff}
.page-product .tag{border-radius:4px;background:#F0E9E0}
.page-product>.wrap>.disclosure{margin:30px auto 48px;max-width:760px}
.page-product .editorial-verdict{max-width:760px;margin:0 auto 52px;padding:30px 34px;background:var(--sage);border-radius:9px;color:#dbe4e0}
.page-product .editorial-verdict .eyebrow{color:#f1a38e!important}
.page-product .editorial-verdict h2{color:#fff;font-size:2rem;line-height:1.08;margin:10px 0 14px}
.page-product .editorial-verdict p{margin:0;line-height:1.7}
.page-product article.body,.page-product .faq,.page-product>.wrap>h2,.page-product>.wrap>ul,.page-product .pagination,.page-product .back-link,.page-product .wellness-img{max-width:720px;margin-left:auto;margin-right:auto}
.page-product article.body h2{font-size:1.65rem;line-height:1.2;margin-top:46px}
.page-product article.body p{font-size:1rem;line-height:1.78}
.page-product .pro-con{gap:0;margin:34px 0;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.page-product .pro-con>div{padding:22px;background:var(--white)}
.page-product .pro-con>div+div{border-left:1px solid var(--line)}
.page-product .wellness-img{height:260px;object-fit:cover;border-radius:9px}
.page-product .faq{margin-top:60px;padding:32px;background:#F2EAE0;border-radius:9px}

/* Recursos */
.page-resource>.wrap{max-width:1120px}
.page-resource .p-head{max-width:820px;padding:54px 0 34px;border:0}
.page-resource h1{font-size:clamp(2.8rem,5vw,4.8rem);line-height:1;margin:14px 0 20px}
.page-resource .lede{font-size:1.06rem;line-height:1.7}
.page-resource>.wrap>.disclosure{max-width:820px}
.page-resource .resource-grid{gap:16px;margin-top:48px}
.page-resource .resource-criteria{margin:46px 0;padding:34px;background:var(--sage);border-radius:9px;color:#dbe4e0}
.page-resource .resource-criteria .eyebrow{color:#f1a38e!important}
.page-resource .resource-criteria h2{color:#fff;font-size:2rem;margin:10px 0 22px}
.page-resource .resource-criteria>div{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.page-resource .resource-criteria p{margin:0;font-size:.9rem;line-height:1.65}
.page-resource .resource-criteria strong{color:#fff}
.page-resource .resource-card{border-radius:9px;border:1px solid var(--line);box-shadow:0 10px 28px rgba(58,42,29,.045)}
.page-resource .resource-card:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(58,42,29,.075)}
.page-resource .resource-thumb{aspect-ratio:16/11;filter:saturate(.85)}
.page-resource .resource-body{padding:24px}
.page-resource .resource-card h3{font-size:1.55rem;margin-top:10px}
.page-resource .resource-card p.desc{line-height:1.65}
.page-resource .health-notice{max-width:820px;margin:54px auto;background:#EDF0EC;border-radius:8px;padding:24px}

/* Legal */
.page-legal>.wrap{max-width:860px}
.page-legal .p-head{padding:42px 0 28px;margin-bottom:42px}
.page-legal h1{font-size:clamp(2.7rem,5vw,4.2rem)}
.page-legal article.body{max-width:720px}
.page-legal article.body h2{font-size:1.55rem;line-height:1.2;margin-top:46px}
.page-legal article.body p,.page-legal article.body li{font-size:.98rem;line-height:1.78}
.page-legal .fiscal-box{border:0;border-top:4px solid var(--sage);border-radius:8px;padding:26px;background:var(--white)}
.page-legal .fiscal-box dl{display:grid;grid-template-columns:170px 1fr;column-gap:22px}
.page-legal .fiscal-box dt{margin-top:12px}
.page-legal .fiscal-box dd{margin-top:12px}

@media(max-width:760px){
  header.top{padding:12px 0}
  header.top .wrap{padding:0 18px}
  .brand-logo,.site-brand img{width:176px;max-width:52vw}
  nav.top-links,.header-actions{gap:12px;font-size:.7rem}
  .page-hub .brand-intro{padding:18px 22px!important}
  .page-hub .hero.wrap{display:flex;flex-direction:column;align-items:stretch;padding:46px 22px 42px}
  .page-hub .hero h1{font-size:2.85rem;max-width:none}
  .page-hub .hero .hero-img{height:310px;margin-top:28px;order:9}
  .page-hub main>.wrap{padding:0 18px}
  .page-hub #guias,.page-hub main>.wrap>section:not(.list):not(.faq){padding:22px}
  .page-hub #guias>div{grid-template-columns:1fr!important}
  .page-hub .methodology{padding:28px 22px}
  .page-hub #top10{font-size:1.9rem!important}
  .page-hub .card{padding:20px}
  .page-hub .editorial-standards{grid-template-columns:1fr;gap:22px;padding:26px!important}
  .page-hub .editorial-moment{grid-template-columns:1fr;gap:18px;margin-top:58px}
  .page-hub .editorial-moment img{height:280px}
  .page-hub .editorial-moment figcaption{font-size:1.65rem;padding:0}
  .page-product>.wrap,.page-resource>.wrap,.page-legal>.wrap{padding-left:20px;padding-right:20px}
  .page-product .p-head{display:flex;flex-direction:column;align-items:stretch;padding-top:18px}
  .page-product .product-hero-img{height:310px;margin-top:28px;order:9}
  .page-product h1{font-size:2.55rem}
  .page-product .pro-con>div+div{border-left:0;border-top:1px solid var(--line)}
  .page-product .faq{padding:24px 20px}
  .page-product .editorial-verdict{padding:26px 22px}
  .page-resource .p-head{padding-top:34px}
  .page-resource h1{font-size:3rem}
  .page-resource .resource-criteria{padding:28px 22px}
  .page-resource .resource-criteria>div{grid-template-columns:1fr;gap:18px}
  .page-legal .fiscal-box dl{display:block}
  .page-legal .fiscal-box dd{margin:2px 0 12px}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
