/* EcoProtecto S.A. de C.V. — estilos de la página de productos */
/* ---------- Encabezado de catálogo ---------- */
.cab{position:relative;padding:120px 0 90px;color:#fff}
.cab img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cab::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(6,47,20,.9),rgba(6,47,20,.55))}
.cab .wrap{position:relative;z-index:2}
.cab h1{color:#fff}
.cab p{color:#dfeee3;max-width:56ch}
.miga{list-style:none;display:flex;gap:8px;padding:0;margin:0 0 18px;font-size:.9rem;color:#bcd9c4}
.miga a{color:#fff;text-decoration:none}
.miga a:hover{color:var(--trigo)}
.anclas{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.anclas a{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);color:#fff;text-decoration:none;padding:9px 18px;border-radius:999px;font-size:.92rem;font-weight:500}
.anclas a:hover{background:#fff;color:var(--verde-prof)}

/* ---------- Catálogo ---------- */
.familia{margin-bottom:70px}
.familia > p{color:var(--texto-suave);max-width:74ch}
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:30px}
.item-prod{border:1px solid var(--linea);border-radius:var(--radio);background:#fff;padding:24px;display:flex;flex-direction:column}
.item-prod .formula{font-family:'Bitter',serif;font-weight:700;color:var(--verde);font-size:1.02rem}
.item-prod .tag{font-size:.76rem;font-weight:600;color:var(--tierra);background:#f6efe2;padding:3px 10px;border-radius:999px;margin-left:8px;vertical-align:middle}
.item-prod h3{margin:10px 0 .4em;font-size:1.12rem}
.item-prod > p{color:var(--texto-suave);font-size:.94rem;margin-bottom:18px}
.pie-prod{margin-top:auto;padding-top:16px;border-top:1px solid var(--linea);display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.pres{font-size:.87rem;color:var(--texto-suave)}
.cotizar{font-size:.88rem;font-weight:600;color:var(--verde);text-decoration:none;border:1.5px solid var(--verde);padding:7px 16px;border-radius:999px}
.cotizar:hover{background:var(--verde);color:#fff}
.aviso-mezcla{margin-top:26px;background:var(--verde-claro);border:1px dashed #a9cdb5;border-radius:var(--radio);padding:20px 24px;color:var(--verde-prof);font-size:.97rem}
.aviso-mezcla a{color:var(--verde);font-weight:600;text-decoration:none}
.aviso-mezcla a:hover{text-decoration:underline}
.pie-nota{font-size:.87rem;color:var(--texto-suave);border-top:1px solid var(--linea);padding-top:18px}
@media (max-width:1000px){.cat-grid{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.cat-grid{grid-template-columns:1fr}.cab{padding:80px 0 60px}}

/* --- Movimiento del catálogo --- */
.cab{overflow:hidden}
.item-prod{transition:transform .3s cubic-bezier(.22,.7,.3,1),box-shadow .3s,border-color .3s}
.item-prod:hover{transform:translateY(-6px);box-shadow:0 16px 34px rgba(6,47,20,.12);border-color:#cfe4d4}
.item-prod .formula{transition:color .3s}
.item-prod:hover .formula{color:var(--verde-osc)}
.cotizar{transition:background .25s,color .25s,transform .25s}
.cotizar:hover{transform:translateY(-2px)}
.anclas a{transition:background .28s,color .28s,transform .28s}
.anclas a:hover{transform:translateY(-2px)}
.anclas a.activo{background:var(--trigo);border-color:var(--trigo);color:#3a2a05;font-weight:600}
@media (prefers-reduced-motion:reduce){
  .item-prod,.cotizar,.anclas a{transition:none}
}

/* ============================================================
   FICHA INDIVIDUAL DE PRODUCTO (producto.html)
   ============================================================ */
.miga--claro{color:var(--texto-suave);margin-bottom:28px}
.miga--claro a{color:var(--verde);text-decoration:none}
.miga--claro a:hover{text-decoration:underline}

.ficha{display:grid;grid-template-columns:400px 1fr;gap:56px;align-items:start}

/* Etiqueta ilustrativa */
.etiqueta-col{position:sticky;top:104px}
.etiqueta{background:linear-gradient(160deg,#fff 0%,#f2f8f2 100%);border:1px solid var(--linea);border-radius:var(--radio);box-shadow:var(--sombra);padding:34px 30px 30px;text-align:center;position:relative;overflow:hidden}
.etiqueta::before{content:"";position:absolute;top:0;left:0;right:0;height:8px;background:linear-gradient(90deg,var(--verde),var(--trigo))}
.etiqueta img{height:76px;width:auto;margin:0 auto 14px}
.etiqueta .marca-nombre{display:block;font-family:'Bitter',serif;font-weight:700;font-size:1.16rem;color:var(--verde-prof);letter-spacing:.02em}
.etiqueta .marca-tag{display:block;font-size:.8rem;color:var(--texto-suave);letter-spacing:.08em;text-transform:uppercase}
.etiqueta hr{border:0;border-top:1px solid var(--linea);margin:20px 0}
.etiqueta .et-formula{display:inline-block;font-family:'Bitter',serif;font-weight:700;color:var(--verde);font-size:1.5rem;letter-spacing:.02em}
.etiqueta h2{font-size:1.5rem;margin:6px 0 12px;color:var(--verde-prof)}
.etiqueta .et-tipo{display:inline-block;font-size:.8rem;font-weight:600;color:#3a2a05;background:var(--trigo);padding:5px 16px;border-radius:999px}
.etiqueta .et-pie{display:block;margin-top:24px;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--texto-suave)}
.nota-etiqueta{margin-top:14px;font-size:.83rem;color:var(--texto-suave);text-align:center}

/* Columna de datos */
.ficha-datos > .etq{text-decoration:none;margin-bottom:14px}
.ficha-datos > .etq:hover{background:var(--verde);color:#fff}
.formula-grande{display:block;font-family:'Bitter',serif;font-weight:700;color:var(--verde);font-size:1.1rem;letter-spacing:.03em}
.ficha-datos h1{font-size:clamp(1.9rem,3.4vw,2.7rem);margin:.15em 0 .35em}
.ficha-datos h2{font-size:1.12rem;margin-top:34px}
.beneficios{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.beneficios li{position:relative;padding-left:30px;color:var(--texto-suave)}
.beneficios li::before{content:"";position:absolute;left:0;top:.42em;width:16px;height:16px;border-radius:50%;background:var(--verde-claro);border:2px solid var(--verde)}
.beneficios li::after{content:"";position:absolute;left:5px;top:.72em;width:6px;height:3px;border-left:2px solid var(--verde);border-bottom:2px solid var(--verde);transform:rotate(-45deg)}

.tabla-datos{margin:34px 0 0;border-top:1px solid var(--linea)}
.tabla-datos > div{display:grid;grid-template-columns:220px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--linea)}
.tabla-datos dt{font-weight:600;color:var(--verde-prof);margin:0}
.tabla-datos dd{margin:0;color:var(--texto-suave)}
.aviso-dosis{margin-top:22px;background:var(--verde-claro);border-left:4px solid var(--trigo);border-radius:0 var(--radio) var(--radio) 0;padding:16px 20px;font-size:.95rem;color:var(--verde-prof)}
.acciones-ficha{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.volver{display:inline-block;margin-top:22px;color:var(--verde);text-decoration:none;font-weight:600;font-size:.95rem;transition:transform .25s}
.volver:hover{transform:translateX(-4px)}

/* De la misma línea */
.misma-linea{margin-top:76px;border-top:1px solid var(--linea);padding-top:46px}
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:26px}
.rel{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);padding:24px;text-decoration:none;display:flex;flex-direction:column;transition:transform .3s cubic-bezier(.22,.7,.3,1),box-shadow .3s,border-color .3s}
.rel:hover{transform:translateY(-6px);box-shadow:0 16px 34px rgba(6,47,20,.12);border-color:#cfe4d4}
.rel .formula{font-family:'Bitter',serif;font-weight:700;color:var(--verde);font-size:.98rem}
.rel h3{margin:8px 0 .4em;font-size:1.06rem}
.rel p{color:var(--texto-suave);font-size:.93rem;margin-bottom:14px}
.rel .mas{margin-top:auto;color:var(--trigo);font-weight:600;font-size:.9rem}

/* Producto inexistente */
.no-encontrado{text-align:center;padding:70px 0}
.no-encontrado p{color:var(--texto-suave);max-width:46ch;margin-inline:auto;margin-bottom:24px}

/* Nombre del producto como enlace dentro del catálogo */
.item-prod h3 a{text-decoration:none;color:inherit;transition:color .25s}
.item-prod h3 a:hover{color:var(--verde)}
.item-prod h3 a::after{content:"";position:absolute;inset:0}
.item-prod{position:relative}

@media (max-width:1000px){
  .ficha{grid-template-columns:1fr;gap:40px}
  .etiqueta-col{position:static;max-width:420px}
  .rel-grid{grid-template-columns:1fr 1fr}
  .tabla-datos > div{grid-template-columns:1fr;gap:4px}
}
@media (max-width:760px){
  .rel-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .rel,.volver{transition:none}
}
.item-prod .pie-prod{position:relative;z-index:1}
