/* ===== AJUSTE_03 · VISUAL 7 — capa de diseño de páginas interiores (HTML/CSS/JS puro) ===== */
body{background:linear-gradient(180deg,#f7faf3 0,#eef5e8 55%,#f4f9f0 100%)}
main{background:transparent}
.sec{position:relative}

/* Encabezado de página */
.pg-hero{position:relative;overflow:hidden;color:#fff;padding:4.2rem 0 4.6rem;background:radial-gradient(900px 480px at 85% 0%,#1f4a1a 0%,transparent 60%),linear-gradient(160deg,#0b2114,#123517)}
.pg-hero::after{content:"";position:absolute;right:-90px;bottom:-110px;width:360px;height:360px;border-radius:50%;border:1px solid rgba(151,196,89,.3);box-shadow:0 0 0 46px rgba(151,196,89,.05),0 0 0 96px rgba(151,196,89,.035);pointer-events:none}
.pg-hero__in{position:relative;z-index:1}
.pg-hero .sec-tag{background:rgba(255,255,255,.08);border-color:rgba(151,196,89,.35);color:var(--verde-200)}
.pg-hero .sec-tag::before{background:var(--verde-200);box-shadow:0 0 0 4px rgba(151,196,89,.18)}
.pg-title{font:700 clamp(2.3rem,5vw,3.7rem)/1.08 'Playfair Display',serif;letter-spacing:-.015em;color:#fff;margin:.9rem 0 0;max-width:20ch}
.pg-title span{color:var(--verde-200)}
.pg-sub{margin:1.1rem 0 0;max-width:46rem;font-size:1.1rem;line-height:1.6;color:rgba(255,255,255,.86)}
.pg-crumb{font-size:.8rem;margin-bottom:1.2rem;color:rgba(255,255,255,.7)}.pg-crumb a{color:var(--verde-200);text-decoration:none}.pg-crumb span{color:#fff}

/* ---------- Productos (catálogo) ---------- */
.cat-sec{background:transparent!important;padding-top:2.5rem}
.catalogo-controles{position:sticky;top:76px;z-index:20;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);border:1px solid var(--v6-borde);border-radius:22px;padding:1rem 1.2rem;box-shadow:0 10px 30px rgba(15,42,26,.08);margin-bottom:2rem}
.categoria-bloque{position:relative;background:#fff;border:1px solid var(--v6-borde);border-radius:32px;padding:1.8rem;margin-bottom:2rem;box-shadow:0 14px 40px rgba(15,42,26,.07);overflow:hidden}
.categoria-bloque::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:linear-gradient(90deg,var(--verde-700),var(--verde-200))}
.categoria-bloque:nth-of-type(even){background:linear-gradient(180deg,#f9fcf6,#f1f7ec)}
.categoria-icono{width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,#e4f0da,#cfe6bd)!important;color:var(--verde-700)!important}
.categoria-bloque .product-card{position:relative;padding:.7rem!important;border:1px solid var(--v6-borde)!important;border-radius:24px!important;background:#fff!important;box-shadow:0 8px 22px rgba(15,42,26,.06)!important;transition:transform .4s var(--ease),box-shadow .4s!important;overflow:hidden}
.categoria-bloque .product-card:hover{transform:translateY(-6px);box-shadow:0 24px 48px rgba(15,42,26,.15)!important}
.categoria-bloque .product-card>:first-child{border-radius:18px!important;overflow:hidden}
.categoria-bloque .product-card>:first-child img{transition:transform .7s var(--ease)}
.categoria-bloque .product-card:hover>:first-child img{transform:scale(1.07)}
.categoria-bloque .product-card>*:not(:first-child){margin-left:.7rem!important;margin-right:.7rem!important}
.categoria-bloque .product-card__precio{display:inline-block;align-self:flex-start;padding:.1rem .75rem;background:#e9f3e1;border-radius:999px}
.categoria-bloque .btn-agregar,.categoria-bloque .btn-ficha-link{border-radius:999px}
.categoria-bloque .product-card__acciones{margin-bottom:.5rem}

/* ---------- Ficha de producto ---------- */
.fx-hero{align-items:stretch}
.fx-info{background:#fff;border:1px solid var(--v6-borde);border-radius:32px;padding:2rem 2rem 1.6rem;box-shadow:0 18px 44px rgba(15,42,26,.08);align-self:start}
.fx-galeria{z-index:1}
.fx-confianza{list-style:none;margin:1.4rem 0 0;padding:1.2rem 0 0;border-top:1px solid #e1ebd8;display:grid;gap:.55rem}
.fx-confianza li{position:relative;padding-left:1.9rem;font-size:.92rem;color:var(--tinta-texto)}
.fx-confianza li::before{content:"";position:absolute;left:0;top:.1rem;width:1.15rem;height:1.15rem;border-radius:50%;background:var(--verde-700) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7'/%3E%3C/svg%3E") center/70% no-repeat}
.fx-confianza a{color:var(--verde-700);font-weight:700}
.fx-videos--lado{margin:1.4rem 0 0;padding-top:1.2rem;border-top:1px solid #e1ebd8}
.fx-h3{font:700 1.15rem 'Playfair Display',serif;color:var(--tinta-titulo);margin:0 0 .8rem}
.fx-videos--lado .fx-videos-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:.7rem}
.fx-videos--lado .fx-video{aspect-ratio:9/14;border-radius:18px}
.fx-videos--lado .fx-video-txt{font-size:.72rem}

.fx-nav{position:sticky;top:72px;z-index:15;display:flex;gap:.45rem;overflow-x:auto;padding:.6rem;margin:0 0 1.4rem;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border:1px solid var(--v6-borde);border-radius:999px;box-shadow:0 8px 24px rgba(15,42,26,.08);scrollbar-width:none}
.fx-nav::-webkit-scrollbar{display:none}
.fx-nav a{flex:none;padding:.5rem 1rem;border-radius:999px;font-size:.84rem;font-weight:700;color:var(--tinta-texto);text-decoration:none;transition:background .25s,color .25s}
.fx-nav a:hover{background:#e9f3e1}.fx-nav a.on{background:var(--verde-700);color:#fff}
.fx-secciones{border:0!important;display:grid;grid-template-columns:repeat(12,1fr);gap:1.2rem;margin-bottom:4rem}
.fx-secciones>.product-card{grid-column:span 12;display:block!important;scroll-margin-top:150px;background:#fff!important;border:1px solid var(--v6-borde)!important;border-radius:28px!important;box-shadow:0 10px 30px rgba(15,42,26,.06)!important;padding:1.7rem 2rem 1.9rem!important}
.fx-secciones>.product-card.fx-half{grid-column:span 6}
.fx-secciones>.product-card>h3{position:static!important;display:flex;align-items:center;gap:.8rem;margin:0 0 1.2rem!important;font:700 1.4rem 'Playfair Display',serif}
.fx-secciones>.product-card>:not(h3){grid-column:auto}
.sec-ico{display:grid;place-items:center;flex:none;width:2.7rem;height:2.7rem;border-radius:14px;background:linear-gradient(135deg,#e4f0da,#cfe6bd);color:var(--verde-700)}
.sec-ico svg{width:1.4rem;height:1.4rem}
.fx-secciones ul.fx-tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}
.fx-secciones ul.fx-tiles li{padding:1rem 1.15rem;background:#f4f9f0;border:1px solid #dcebd0;border-radius:18px}
.fx-secciones ul.fx-tiles li strong{display:block;margin-bottom:.25rem;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--verde-700)}
.fx-secciones ul.fx-checks li{position:relative;padding:.65rem 0 .65rem 2rem}
.fx-secciones ul.fx-checks li::before{content:"";position:absolute;left:0;top:.8rem;width:1.15rem;height:1.15rem;border-radius:50%;background:var(--verde-700) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7'/%3E%3C/svg%3E") center/70% no-repeat}
.fx-secciones ul.fx-casos{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}
.fx-secciones ul.fx-casos li{padding:1rem 1.15rem;background:#fbf8ef;border:1px solid #efe5c6;border-left:4px solid #d9a441;border-radius:16px}
.fx-secciones ul.fx-casos li:last-child{border-bottom:1px solid #efe5c6}
.fx-secciones>.product-card[style*="verde-700"]{background:radial-gradient(520px 300px at 100% 0%,rgba(151,196,89,.28),transparent 60%),linear-gradient(135deg,#0f2a1a,#1b4510)!important;border:0!important;color:#fff}
.fx-secciones>.product-card[style*="verde-700"] *{color:#fff!important}
.fx-secciones>.product-card[style*="verde-700"] .sec-ico{background:rgba(255,255,255,.14)}
.fx-secciones>.product-card[style*="verde-700"] li{border-bottom-color:rgba(255,255,255,.18)}
.fx-zonas{margin-top:1rem;border:1px solid #dcebd0;border-radius:18px;background:#f4f9f0}
.fx-zonas summary{cursor:pointer;padding:.9rem 1.1rem;font-weight:700;color:var(--tinta-titulo)}
.fx-zonas>div{padding:0 1.1rem 1rem;font-size:.9rem;line-height:1.7;color:var(--tinta-texto)}
.fx-secciones details:not(.fx-zonas){background:#f4f9f0;border:1px solid #dcebd0!important;border-radius:18px;padding:.2rem 1.1rem!important;margin:0 0 .7rem!important}
.fx-secciones details:not(.fx-zonas) summary{padding:.8rem 0;font-weight:700}
.fx-secciones details[open]:not(.fx-zonas){background:#fff}
.fx-secciones .product-card p{max-width:78ch}

/* ---------- Nosotros ---------- */
.nos-sec{background:transparent!important}
.timeline{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:1.6rem 5rem;max-width:1100px;margin:0 auto}
.timeline::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--verde-200),var(--verde-700) 50%,var(--verde-200));transform:translateX(-50%)}
.timeline-item{position:relative;display:block!important;padding:1.5rem 1.7rem 1.6rem!important;background:#fff;border:1px solid var(--v6-borde);border-radius:26px;box-shadow:0 12px 32px rgba(15,42,26,.08);transition:transform .4s var(--ease),box-shadow .4s}
.timeline-item:hover{transform:translateY(-5px);box-shadow:0 24px 48px rgba(15,42,26,.14)}
.timeline-item:nth-child(even){margin-top:3rem}
.timeline-item::after{content:"";position:absolute;top:2rem;width:16px;height:16px;border-radius:50%;background:var(--verde-700);box-shadow:0 0 0 6px rgba(151,196,89,.35)}
.timeline-item:nth-child(odd)::after{right:-2.95rem}.timeline-item:nth-child(even)::after{left:-2.95rem}
.timeline-icon{position:static!important;display:grid!important;place-items:center;width:3rem;height:3rem;margin:0 0 .9rem!important;border-radius:16px;background:linear-gradient(135deg,#e4f0da,#cfe6bd);color:var(--verde-700);border:0!important}
.timeline-icon svg{width:1.5rem;height:1.5rem}
.timeline-year{position:static!important;font:800 2rem/1 'Playfair Display',serif;color:var(--verde-700);margin:0 0 .4rem!important}
.timeline-content strong{display:block;font:700 1.15rem 'Playfair Display',serif;color:var(--tinta-titulo);margin-bottom:.35rem}
.timeline-content p{color:var(--tinta-texto)!important;line-height:1.65;margin:0}
#nosotros-asociacion{background:transparent!important}
#nosotros-asociacion .container{padding:1.6rem 2rem;background:#fff;border:1px solid var(--v6-borde);border-radius:24px;box-shadow:0 10px 30px rgba(15,42,26,.06)}
#nosotros-asociacion a{color:var(--verde-700);font-weight:700}

/* ---------- Cómo comprar y pagos ---------- */
.pag-sec{background:transparent!important}
.pagos-hero{border-radius:30px!important;background:radial-gradient(520px 300px at 100% 0%,rgba(151,196,89,.3),transparent 60%),linear-gradient(135deg,#0b2114,#1b4510)!important;box-shadow:0 24px 54px rgba(15,42,26,.22)}
.pagos-hero p{color:rgba(255,255,255,.88)!important;font-weight:400!important}
.proceso-pasos{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;counter-reset:p}
.proceso-paso{position:relative;display:block!important;padding:1.4rem 1.2rem!important;background:#fff;border:1px solid var(--v6-borde);border-radius:24px;box-shadow:0 10px 26px rgba(15,42,26,.07);transition:transform .4s var(--ease)}
.proceso-paso:hover{transform:translateY(-5px)}
.proceso-num{display:grid;place-items:center;width:2.8rem;height:2.8rem;margin-bottom:.9rem;border-radius:50%;background:var(--verde-700);color:#fff;font:800 1.1rem 'Lato',sans-serif;box-shadow:0 0 0 6px rgba(151,196,89,.28)}
.proceso-paso strong{display:block;color:var(--tinta-titulo);margin-bottom:.3rem}
.proceso-paso p{color:var(--tinta-texto)!important;font-size:.88rem}
.metodo-pago-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))!important;gap:1.2rem!important;align-items:start}
.metodo-pago-card{border-radius:28px!important;border:1px solid var(--v6-borde)!important;box-shadow:0 14px 36px rgba(15,42,26,.09)!important;background:#fff}
.metodo-pago-card--principal{border:2px solid var(--verde-700)!important}
.metodo-pago-card__qr{display:block;width:100%;max-width:200px;height:auto;max-height:260px;object-fit:contain;margin:1rem auto 0;border-radius:16px;border:1px solid #e1ebd8;background:#fff}
.metodo-pago-card__entidad,.metodo-pago-card__numero{color:var(--tinta-titulo)!important}
.metodo-pago-card__etiqueta{background:#e9f3e1!important;color:var(--verde-700)!important}
.pago-info{list-style:none;padding:1.4rem 1.6rem;margin:1.6rem 0;background:#fff;border:1px solid var(--v6-borde);border-radius:24px;display:grid;gap:.6rem;box-shadow:0 8px 22px rgba(15,42,26,.06)}
.pago-card{border-radius:24px!important;border:1px solid var(--v6-borde)!important;box-shadow:0 8px 22px rgba(15,42,26,.06);transition:transform .4s var(--ease)}
.pago-card:hover{transform:translateY(-4px)}
.pago-card h4{color:var(--tinta-titulo)!important;font-size:1rem!important}
.pago-card p{color:var(--tinta-texto)!important;font-weight:400!important}

/* ---------- Asociación ---------- */
.as-intro{padding:2.5rem 0 0;background:transparent!important}
.asoc-texto{max-width:52rem;font-size:1.1rem;line-height:1.7;color:var(--tinta-texto)}
#finca-asofinre,#quienes-somos,#informacion-institucional,#areas-servicios,#unete{background:transparent!important;padding-top:3rem;padding-bottom:3rem}
#quienes-somos,#areas-servicios{background:linear-gradient(180deg,rgba(228,240,218,.55),rgba(228,240,218,.2))!important}
.asoc-grid{gap:1.2rem!important}
.asoc-card{position:relative;background:#fff!important;border:1px solid var(--v6-borde)!important;border-radius:26px!important;box-shadow:0 12px 32px rgba(15,42,26,.07)!important;padding:1.6rem!important;transition:transform .4s var(--ease),box-shadow .4s}
.asoc-card:hover{transform:translateY(-5px);box-shadow:0 24px 48px rgba(15,42,26,.14)!important}
.asoc-card::before{content:"";display:block;width:2.6rem;height:4px;border-radius:4px;background:var(--verde-700);margin-bottom:1rem}
.asoc-card h3{color:var(--tinta-titulo)!important}.asoc-card p,.asoc-card li{color:var(--tinta-texto)!important}

/* ---------- Contacto ---------- */
#contacto.bg-cafe{background:radial-gradient(900px 480px at 85% 0%,#1f4a1a 0%,transparent 60%),linear-gradient(160deg,#0b2114,#123517)!important;padding:5rem 0}
.citem{padding:1rem 1.2rem;background:rgba(255,255,255,.06);border:1px solid rgba(151,196,89,.25);border-radius:20px}
.citem-icon{background:rgba(151,196,89,.18)!important}
.citem-info span{color:rgba(255,255,255,.72)!important}

@media(max-width:1000px){
 .proceso-pasos{grid-template-columns:repeat(2,1fr)}
 .fx-secciones>.product-card.fx-half{grid-column:span 12}
 .fx-secciones ul.fx-tiles,.fx-secciones ul.fx-casos{grid-template-columns:1fr}
}
@media(max-width:800px){
 .timeline{grid-template-columns:1fr;gap:1.2rem;padding-left:1.8rem}
 .timeline::before{left:.35rem;transform:none}
 .timeline-item:nth-child(even){margin-top:0}
 .timeline-item:nth-child(odd)::after,.timeline-item:nth-child(even)::after{left:-1.9rem;right:auto}
 .proceso-pasos{grid-template-columns:1fr}
 .fx-info{padding:1.5rem 1.3rem}
 .fx-secciones>.product-card{padding:1.4rem 1.2rem 1.5rem!important}
 .catalogo-controles{position:static}
 .categoria-bloque{padding:1.1rem;border-radius:24px}
}
.timeline-item::before{display:none!important}

/* ---- Ronda 2: rejillas por cantidad, temas con video al lado, contacto ---- */
.asoc-grid{display:grid!important;grid-template-columns:repeat(12,1fr)!important}
.asoc-grid>.asoc-card{grid-column:span 4}
.asoc-grid[data-n="1"]>.asoc-card{grid-column:span 12}
.asoc-grid[data-n="2"]>.asoc-card{grid-column:span 6}
.asoc-grid[data-n="4"]>.asoc-card{grid-column:span 3}
.asoc-grid[data-n="5"]>.asoc-card:nth-child(n+4){grid-column:span 6}
.asoc-grid[data-n="7"]>.asoc-card:nth-child(n+4){grid-column:span 3}
.asoc-grid[data-n="8"]>.asoc-card{grid-column:span 3}
.asoc-card{display:flex;flex-direction:column}
.fx-tema:has(.fx-videos-grid--tema){display:grid!important;grid-template-columns:minmax(0,1fr) 250px;column-gap:2.2rem;align-items:start}
.fx-tema:has(.fx-videos-grid--tema)>*{grid-column:1}
.fx-tema:has(.fx-videos-grid--tema)>h3{grid-column:1/-1}
.fx-tema:has(.fx-videos-grid--tema)>.fx-videos-grid--tema{grid-column:2;grid-row:2/span 8;display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem;margin:0}
.fx-tema .fx-video{aspect-ratio:9/14;border-radius:16px;min-width:0}
.fx-tema .fx-video-txt{font-size:.7rem}
.bg-cafe .sec-tag{background:rgba(255,255,255,.1)!important;border-color:rgba(151,196,89,.4)!important;color:var(--verde-200)!important}
.bg-cafe .sec-tag::before{background:var(--verde-200)}
.bg-cafe .sec-title{color:#fff}.bg-cafe .sec-title span{color:var(--verde-200)}
@media(max-width:1000px){
 .asoc-grid>.asoc-card,.asoc-grid[data-n]>.asoc-card{grid-column:span 6!important}
 .fx-tema:has(.fx-videos-grid--tema){grid-template-columns:1fr}
 .fx-tema:has(.fx-videos-grid--tema)>.fx-videos-grid--tema{grid-column:1;grid-row:auto;max-width:360px}
}
@media(max-width:600px){.asoc-grid>.asoc-card,.asoc-grid[data-n]>.asoc-card{grid-column:span 12!important}}
.fx-tema:has(.fx-videos-grid--tema) p{max-width:none!important}

/* ===== Buscador del catálogo plegable (escritorio) ===== */
.cat-plegar{display:none}
@media(min-width:801px){
 .cat-plegar{display:inline-flex;align-items:center;gap:.5rem;align-self:flex-end;margin:-.2rem 0 .5rem auto;padding:.4rem .9rem;border:1px solid var(--v6-borde);border-radius:999px;background:#fff;color:var(--verde-700);font:700 .82rem 'Lato',sans-serif;cursor:pointer}
 .cat-plegar:hover{background:#e9f3e1}
 .cat-plegar:focus-visible{outline:3px solid rgba(45,92,38,.35);outline-offset:2px}
 .catalogo-controles.is-plegado{width:max-content;max-width:100%;padding:.35rem;border-radius:999px;margin-bottom:1.2rem}
 .catalogo-controles.is-plegado .cat-plegar{margin:0;border:0;background:transparent;padding:.45rem .9rem}
 .catalogo-controles.is-plegado.hay-filtro .cat-plegar{color:#fff;background:var(--verde-700)}
}
.cat-cuerpo[hidden]{display:none}
