/* Rossieli Al Natural — hoja de estilos compartida del prototipo
   Generada a partir del CSS común entre todas las páginas. Cada página
   conserva su propio <style> solo para lo que le es específico. */

/* Azo Sans (tipografía secundaria oficial del brand kit) — archivos con licencia
   proporcionados por Ana, autohospedados en assets/fonts/azo-sans/. */
@font-face{font-family:'Azo Sans';src:url('fonts/azo-sans/AzoSans-Thin.woff2') format('woff2');font-weight:100;font-style:normal;font-display:swap;}
@font-face{font-family:'Azo Sans';src:url('fonts/azo-sans/AzoSans-ThinItalic.woff2') format('woff2');font-weight:100;font-style:italic;font-display:swap;}
@font-face{font-family:'Azo Sans';src:url('fonts/azo-sans/AzoSans-Light.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap;}
@font-face{font-family:'Azo Sans';src:url('fonts/azo-sans/AzoSans-LightItalic.woff2') format('woff2');font-weight:300;font-style:italic;font-display:swap;}
@font-face{font-family:'Azo Sans';src:url('fonts/azo-sans/AzoSans-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Azo Sans';src:url('fonts/azo-sans/AzoSans-Italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap;}
@font-face{font-family:'Azo Sans';src:url('fonts/azo-sans/AzoSans-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'Azo Sans';src:url('fonts/azo-sans/AzoSans-MediumItalic.woff2') format('woff2');font-weight:500;font-style:italic;font-display:swap;}
@font-face{font-family:'Azo Sans';src:url('fonts/azo-sans/AzoSans-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:'Azo Sans';src:url('fonts/azo-sans/AzoSans-BoldItalic.woff2') format('woff2');font-weight:700;font-style:italic;font-display:swap;}
@font-face{font-family:'Azo Sans';src:url('fonts/azo-sans/AzoSans-Black.woff2') format('woff2');font-weight:900;font-style:normal;font-display:swap;}
@font-face{font-family:'Azo Sans';src:url('fonts/azo-sans/AzoSans-BlackItalic.woff2') format('woff2');font-weight:900;font-style:italic;font-display:swap;}

/* Beau Regular (tipografía principal oficial del brand kit) — único peso
   provisto por Ana, autohospedado en assets/fonts/beau/. */
@font-face{font-family:'Beau Regular';src:url('fonts/beau/BeauRegular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}

:root{
  --verde-oscuro:#395b4a;
  --terracota:#c77c58;
  --verde-olivo:#99987a;
  --crema:#dad2c6;
  --crema-claro:#f2ece2;
  --negro:#000000;
  --font-heading:'Beau Regular', serif;
  --font-body:'Azo Sans', sans-serif;
}

/* Reset */
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:var(--font-body);color:var(--verde-oscuro);background:#fff;line-height:1.6;}
a{text-decoration:none;color:inherit;}
h2{font-family:var(--font-body);font-weight:600;font-size:22px;line-height:1.2;color:var(--verde-oscuro);text-transform:uppercase;}
img{max-width:100%;display:block;}
.container{max-width:1180px;margin:0 auto;padding:0 24px;}

/* Header / Nav */
header{position:sticky;top:0;background:#fff;z-index:100;border-bottom:1px solid rgba(57,91,74,0.12);box-shadow:0 2px 10px rgba(57,91,74,0.08);}
nav a{font-size:14px;font-weight:500;margin-left:26px;}
.header-inner{display:flex;align-items:center;gap:10px;padding:18px 24px;max-width:1280px;margin:0 auto;}
.logo{display:flex;align-items:center;flex-shrink:0;}
.logo-img{height:34px;width:auto;max-width:none;flex-shrink:0;display:block;}
.logo span{display:block;font-family:var(--font-body);font-size:9px;letter-spacing:3px;font-weight:400;color:var(--verde-olivo);text-transform:uppercase;margin-top:-2px;}
nav.navlinks{display:flex;gap:12px;align-items:center;flex-shrink:0;}
nav.navlinks a{position:relative;font-size:12.5px;font-weight:300;letter-spacing:1.6px;text-transform:uppercase;color:var(--verde-oscuro);padding:7px 1px;white-space:nowrap;transition:color .25s;}
nav.navlinks a::before,nav.navlinks a::after{content:'';position:absolute;left:0;right:0;height:1px;background:var(--terracota);transform:scaleX(0);transition:transform .3s ease;}
nav.navlinks a::before{top:0;transform-origin:left;}
nav.navlinks a::after{bottom:0;transform-origin:right;}
nav.navlinks a:hover{color:var(--terracota);}
nav.navlinks a:hover::before,nav.navlinks a:hover::after, nav.navlinks a.active::before,nav.navlinks a.active::after{transform:scaleX(1);}
nav.navlinks a.active{color:var(--terracota);}
.nav-actions{display:flex;align-items:center;gap:10px;margin-left:auto;flex-shrink:0;}
.icon-btn{width:22px;height:22px;color:var(--verde-oscuro);}
.cta-btn{background:var(--verde-olivo);color:#fff;padding:3px 16px 1px;border-radius:0;font-size:12px;font-weight:400;white-space:nowrap;text-transform:uppercase;}
.cta-btn:hover{background:var(--verde-oscuro);}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;}
.hamburger span{width:24px;height:2px;background:var(--verde-oscuro);}
.mobile-menu{display:none;flex-direction:column;background:#fff;border-top:1px solid rgba(57,91,74,0.12);}
.mobile-menu a{padding:16px 24px;border-bottom:1px solid rgba(57,91,74,0.08);font-size:15px;font-weight:500;}
.mobile-menu .cta-btn{margin:16px 24px;text-align:center;}

@media (max-width:1280px){
  nav.navlinks{display:none;}
  .hamburger{display:flex;}
  .mobile-menu.open{display:flex;}
  .nav-actions .cta-btn{display:none;}
}

/* Breadcrumb */
.breadcrumb{max-width:1180px;margin:26px auto 0;padding:0 24px;font-size:12.5px;color:var(--verde-olivo);}
.breadcrumb a{color:var(--verde-olivo);}
.breadcrumb a:hover{color:var(--terracota);}

/* Product card (catálogo) */
.product-card{background:#fff;border-radius:0;overflow:hidden;display:flex;flex-direction:column;}
.product-card h3{font-family:var(--font-body);font-size:12px;font-weight:400;text-transform:uppercase;margin-bottom:8px;text-align:center;}
.product-card p{font-size:13.5px;color:#5c665f;margin-bottom:16px;flex:1;}
.product-card .price{font-weight:600;font-size:15px;color:var(--verde-oscuro);margin-bottom:14px;text-align:center;}
.product-card .info{padding:22px;flex:1;display:flex;flex-direction:column;}
.product-card .img-block img{width:100%;height:100%;object-fit:cover;}
.badge{position:absolute;top:14px;left:14px;background:var(--terracota);color:#fff;font-size:11px;font-weight:600;padding:5px 12px;border-radius:20px;}

/* Ficha de producto */
.product-hero{max-width:1180px;margin:0 auto;padding:24px 24px 70px;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.product-info h1{font-family:var(--font-body);font-size:36px;font-weight:600;margin-bottom:12px;}
.product-info p.lead{font-size:15px;color:#4d5952;margin-bottom:26px;}
.product-visual img{width:100%;height:100%;object-fit:cover;display:block;}
.tag-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;}
.tag{background:var(--crema);border-radius:20px;padding:6px 14px;font-size:12px;color:var(--verde-oscuro);}
.info-block{margin-bottom:24px;}
.info-block h3{font-family:var(--font-heading);font-size:18px;margin-bottom:8px;color:var(--verde-oscuro);}
.info-block p{font-size:13.5px;color:#5c665f;}
.leaf-list{list-style:none;padding:0;margin:10px 0 0;}
.leaf-list li{display:flex;align-items:center;gap:10px;font-size:13.5px;color:#42473f;padding:6px 0;}
.leaf-list li img{width:14px;height:14px;flex-shrink:0;}
.add-cart{display:flex;gap:14px;margin-bottom:30px;}
.presentaciones-list{display:flex;gap:14px;margin-top:12px;}
.presentacion-item{flex:1;background:#fff;border:1px solid rgba(57,91,74,.12);border-radius:0;overflow:hidden;text-align:center;}
.presentacion-item img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;}
.presentacion-item .p-info{padding:10px 8px;}
.presentacion-item .p-size{font-size:12.5px;font-weight:600;color:var(--verde-oscuro);}
.presentacion-item .p-price{font-size:12px;color:#5c665f;}
.note-preserved{font-size:11.5px;color:var(--verde-olivo);margin-bottom:30px;}
.pending-note{background:var(--crema);border-radius:12px;padding:22px 24px;font-size:14px;color:#4d5952;margin-bottom:30px;}

@media (max-width:860px){
  .product-hero{grid-template-columns:1fr;}
}

/* Reviews de clientes (ficha técnica) */
.product-reviews{max-width:1180px;margin:0 auto;padding:60px 24px 0;}
.product-reviews h2{margin-bottom:24px;}
.product-reviews .testi-grid{max-width:none;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.product-reviews .testi-card{background:#fff;border-radius:14px;padding:26px 22px;border:1px solid rgba(57,91,74,.1);}
.product-reviews .testi-card .stars{color:var(--terracota);font-size:14px;margin-bottom:12px;}
.product-reviews .testi-card p{font-size:13.5px;color:#42473f;margin-bottom:16px;}
.product-reviews .testi-card .name{font-weight:600;font-size:13px;color:var(--verde-oscuro);}
@media (max-width:860px){
  .product-reviews .testi-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:520px){
  .product-reviews .testi-grid{grid-template-columns:1fr;}
}

/* Otras opciones (cross-sell) */
.otras-opciones{max-width:1180px;margin:0 auto;padding:60px 24px 90px;border-top:1px solid rgba(57,91,74,.1);}
.otras-opciones h2{margin-bottom:14px;}
.otras-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.otra-card{background:#fff;border-radius:14px;padding:22px;border:1px solid rgba(57,91,74,.1);display:flex;justify-content:space-between;align-items:center;gap:14px;}
.otra-card h4{font-family:var(--font-heading);font-size:18px;margin-bottom:4px;}
.otra-card p{font-size:12.5px;color:#5c665f;}
.otra-card .link-arrow{font-weight:600;color:var(--terracota);font-size:13px;white-space:nowrap;}
.back-link{display:inline-block;margin-top:20px;font-weight:600;color:var(--terracota);font-size:13.5px;}

@media (max-width:860px){
  .otras-grid{grid-template-columns:1fr;}
}

@media (max-width:860px){
  .catalogo-grid{grid-template-columns:1fr;}
}

/* Hero de páginas internas */
.page-hero h1{font-family:var(--font-body);font-size:22px;font-weight:600;margin-bottom:14px;text-transform:uppercase;}

/* Páginas legales */
.legal-wrap{max-width:760px;margin:0 auto;padding:60px 24px 90px;}
.legal-wrap h1{font-family:var(--font-body);font-size:36px;font-weight:600;margin-bottom:26px;}
.legal-wrap p{font-size:13.5px;color:#5c665f;margin-bottom:14px;}

/* Footer */
footer{background:var(--verde-oscuro);color:var(--crema-claro);padding:60px 24px 24px;}
.footer-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px;}
.footer-inner h4{font-family:var(--font-body);font-size:18px;font-weight:600;margin-bottom:16px;}
.footer-logo{height:34px;width:auto;margin-bottom:16px;display:block;}
.footer-inner p{font-size:13px;opacity:.85;max-width:260px;}
.footer-links a{display:block;font-size:13.5px;opacity:.85;margin-bottom:10px;}
.footer-links a:hover{opacity:1;color:var(--terracota);}
.social-row{display:flex;gap:14px;margin-top:16px;}
.social-row a{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;}
.social-row svg{width:16px;height:16px;fill:var(--crema-claro);}
.footer-bottom{max-width:1180px;margin:0 auto;border-top:1px solid rgba(255,255,255,.15);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-size:12px;opacity:.75;}
.footer-bottom a{margin-right:16px;}

@media (max-width:860px){
  .footer-inner{grid-template-columns:1fr 1fr;}
}
@media (max-width:520px){
  .footer-inner{grid-template-columns:1fr;}
}

/* Layout con filtro lateral (catálogo y Tips comparten este patrón) */
.filter-layout{max-width:1000px;margin:0 auto;padding:0 24px 90px;display:grid;grid-template-columns:220px 1fr;gap:40px;align-items:start;}
.filters-sidebar{background:#fff;border-radius:0;padding:26px 22px;position:sticky;top:90px;}
.filters-sidebar h2{margin-bottom:14px;}
.filter-group{margin-bottom:22px;}
.filter-group h3{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--verde-olivo);margin-bottom:12px;}
.filter-check,.filter-radio{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--verde-oscuro);margin-bottom:10px;cursor:pointer;}
.filter-check input,.filter-radio input{accent-color:var(--terracota);width:15px;height:15px;cursor:pointer;flex-shrink:0;}
.filter-clear{background:none;border:1.5px solid var(--verde-oscuro);color:var(--verde-oscuro);font-size:12.5px;font-weight:400;padding:3px 16px 1px;border-radius:0;cursor:pointer;width:100%;font-family:var(--font-body);}
.filter-clear:hover{background:var(--verde-oscuro);color:#fff;}
.filter-main{min-width:0;}
.no-results{text-align:center;padding:50px 20px;color:#5c665f;font-size:14px;background:#fff;border-radius:0;border:1px solid rgba(57,91,74,.1);}

.filter-toggle{display:none;}
@media (max-width:860px){
  .filter-layout{grid-template-columns:1fr;}
  .filters-sidebar{position:static;}
}
@media (max-width:600px){
  .filters-sidebar{display:none;}
  .filters-sidebar.open{display:block;}
  .filter-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:#fff;border:1.5px solid var(--verde-oscuro);color:var(--verde-oscuro);font-family:var(--font-body);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;padding:14px 18px;cursor:pointer;margin-bottom:16px;}
  .filter-toggle .chevron{font-size:12px;transition:transform .2s;}
  .filter-toggle.open .chevron{transform:rotate(180deg);}
}

/* Blog (Tips) */
.tips-wrap{max-width:1000px;margin:0 auto;padding:0 24px 90px;}
.tips-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;}
.tip-card{background:#fff;border-radius:0;overflow:hidden;border:1px solid rgba(57,91,74,0.1);display:flex;flex-direction:column;}
.tip-card .tip-visual{aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-heading);font-size:15px;text-align:center;padding:20px;overflow:hidden;}
.tip-visual.cat-educacion{background:var(--verde-oscuro);}
.tip-visual.cat-estilo-de-vida{background:var(--terracota);}
.tip-visual.cat-solucion-de-dudas{background:var(--verde-olivo);}
.tip-visual img{width:100%;height:100%;object-fit:cover;}
.tip-visual img.obj-bottom{object-position:center bottom;}
.tip-visual.has-photo{padding:0;background:none;}
.tip-card .info{padding:22px;flex:1;display:flex;flex-direction:column;}
.tip-category{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--terracota);margin-bottom:8px;}
.tip-card h3{font-family:var(--font-body);font-size:19px;font-weight:600;margin-bottom:10px;line-height:1.3;}
.tip-card p{font-size:13.5px;color:#5c665f;margin-bottom:16px;flex:1;}
.tip-card .link-arrow{font-weight:600;color:var(--terracota);font-size:13px;text-transform:uppercase;}

.article-hero{max-width:720px;margin:32px auto 0;padding:0 24px;}
.article-hero-media{aspect-ratio:21/9;background:var(--crema);color:var(--verde-oscuro);display:flex;align-items:center;justify-content:center;font-size:13px;text-align:center;padding:20px;overflow:hidden;}
.article-hero-media img{width:100%;height:100%;object-fit:cover;}
.article-hero-media img.obj-bottom{object-position:center bottom;}
.article-hero-media.has-photo{padding:0;background:none;}
.article-wrap{max-width:720px;margin:0 auto;padding:50px 24px 80px;}
.article-cta{max-width:720px;margin:0 auto 90px;padding:0 24px;}
.article-cta-inner{background:var(--verde-oscuro);color:#fff;text-align:center;padding:44px 32px;}
.article-cta-inner h2{color:#fff;margin-bottom:12px;}
.article-cta-inner p{font-size:14px;opacity:.9;margin:0 auto 20px;max-width:420px;}
.article-cta-btn{display:inline-block;background:#fff;color:var(--verde-oscuro);padding:3px 28px 1px;font-weight:400;font-size:14px;text-transform:uppercase;}
.article-cta-btn:hover{background:var(--terracota);color:#fff;}
.article-category{display:inline-block;font-size:11.5px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--terracota);margin-bottom:14px;}
.article-wrap h1{font-family:var(--font-body);font-size:34px;font-weight:600;margin-bottom:20px;line-height:1.2;color:var(--verde-oscuro);text-transform:uppercase;}
.article-wrap h2{font-family:var(--font-body);font-size:21px;font-weight:600;margin:32px 0 12px;color:var(--verde-oscuro);}
.article-wrap p{font-size:15px;color:#42473f;margin-bottom:16px;line-height:1.7;}
.article-wrap ul{margin:0 0 16px 20px;}
.article-wrap li{font-size:15px;color:#42473f;margin-bottom:8px;line-height:1.6;}
.article-lead{font-size:17px;color:#4d5952;margin-bottom:10px;}

@media (max-width:860px){
  .tips-grid{grid-template-columns:1fr;}
}
