/* paginas.css — producto, categoría, guadalajara, envíos, políticas.

   Dirección: editorial y sobria. Sin cajas de colores, sin barras laterales
   de acento, sin sombras decorativas. La jerarquía la hacen la tipografía,
   el espacio en blanco y líneas de 1px. El verde de la marca aparece sólo
   en enlaces y en el botón de pedido. */

:root{
  --tinta:#101114;
  --tinta-media:#5b6067;
  --tinta-suave:#8b9096;
  --linea:#e6e7e9;
  --linea-fuerte:#101114;
  --fondo:#ffffff;
  --fondo-alt:#f6f6f4;
  --verde:#0d5c31;
  --verde-oscuro:#0a4a27;
}

*{box-sizing:border-box}

html{-webkit-text-size-adjust:100%}

body{
  margin:0;
  font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  background:var(--fondo);
  color:var(--tinta);
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

img{max-width:100%;height:auto;display:block}

a{color:var(--verde);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}

.contenedor{max-width:1180px;margin:0 auto;padding:0 20px}
@media(min-width:900px){.contenedor{padding:0 32px}}

/* ---------- Barra superior ---------- */
.barra{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(160%) blur(10px);
  -webkit-backdrop-filter:saturate(160%) blur(10px);
  border-bottom:1px solid var(--linea);
}
.barra-inner{
  max-width:1180px;margin:0 auto;padding:12px 20px;
  display:flex;align-items:center;gap:18px;
}
@media(min-width:900px){.barra-inner{padding:14px 32px}}
.barra-logo{display:flex;align-items:center;gap:9px;color:var(--tinta)}
.barra-logo:hover{text-decoration:none}
.barra-logo img{width:26px;height:26px;object-fit:contain}
.barra-logo span{
  font-weight:600;letter-spacing:.14em;font-size:.7rem;text-transform:uppercase;
}
.barra-nav{margin-left:auto;display:flex;gap:22px;font-size:.8rem}
.barra-nav a{color:var(--tinta-media);letter-spacing:.01em}
.barra-nav a:hover{color:var(--tinta);text-decoration:none}
@media(max-width:700px){.barra-nav{display:none}}

/* ---------- Migas ---------- */
.migas{
  font-size:.72rem;color:var(--tinta-suave);
  padding:22px 0 0;display:flex;flex-wrap:wrap;gap:7px;
  letter-spacing:.02em;
}
.migas a{color:var(--tinta-suave)}
.migas a:hover{color:var(--tinta);text-decoration:none}
.migas span[aria-current]{color:var(--tinta-media)}

/* ---------- Tipografía ---------- */
h1{
  font-size:1.75rem;line-height:1.12;margin:18px 0 10px;
  font-weight:600;letter-spacing:-.025em;
}
h2{
  font-size:1.05rem;margin:52px 0 14px;font-weight:600;letter-spacing:-.01em;
}
h3{font-size:.95rem;margin:26px 0 8px;font-weight:600}
p{margin:0 0 16px}
.lede{
  color:var(--tinta-media);font-size:1.06rem;margin:0 0 34px;max-width:70ch;
}
@media(min-width:720px){
  h1{font-size:2.6rem;letter-spacing:-.035em}
  h2{font-size:1.2rem}
}

/* Etiqueta pequeña en versalitas, para encabezar bloques sin recuadro */
.rotulo{
  font-size:.66rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--tinta-suave);margin:0 0 10px;
}

/* ---------- Ficha de producto ---------- */
.ficha{display:grid;gap:34px;margin:22px 0 20px}
@media(min-width:860px){
  .ficha{grid-template-columns:1.15fr 1fr;gap:64px;align-items:start;margin-top:30px}
}

.ficha-foto{background:var(--fondo-alt);overflow:hidden}
.ficha-foto img{width:100%;aspect-ratio:4/3;object-fit:cover}
@media(min-width:860px){
  .ficha-foto{position:sticky;top:82px}
}

.ficha-marca{
  font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--tinta-suave);margin:0;
}
.ficha-titulo{margin:8px 0 18px}

.ficha-precio{display:flex;align-items:baseline;gap:12px;margin:0 0 4px}
.ficha-precio .actual{font-size:1.5rem;font-weight:600;letter-spacing:-.02em}
.ficha-precio .antes{font-size:.9rem;color:var(--tinta-suave);text-decoration:line-through}
.ficha-nota{font-size:.78rem;color:var(--tinta-suave);margin:0 0 30px}

.tallas-lista{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 26px}
.talla{
  min-width:52px;padding:11px 14px;
  border:1px solid var(--linea);background:transparent;border-radius:2px;
  font:inherit;font-size:.85rem;font-weight:500;color:var(--tinta);
  cursor:pointer;transition:border-color .12s ease,color .12s ease;
}
.talla:hover{border-color:var(--tinta-media)}
.talla[aria-pressed="true"]{
  border-color:var(--linea-fuerte);
  box-shadow:inset 0 0 0 1px var(--linea-fuerte);
}
.sin-tallas{color:var(--tinta-media);font-size:.85rem;margin:0 0 24px}

.btn-wa{
  display:flex;align-items:center;justify-content:center;gap:10px;
  width:100%;padding:17px;border:none;border-radius:2px;
  background:var(--verde);color:#fff;
  font:inherit;font-size:.95rem;font-weight:600;letter-spacing:.01em;
  cursor:pointer;transition:background .15s ease;
}
.btn-wa:hover{background:var(--verde-oscuro);text-decoration:none;color:#fff}
.btn-secundario{
  display:flex;align-items:center;justify-content:center;
  width:100%;padding:15px;margin-top:9px;border-radius:2px;
  border:1px solid var(--linea);color:var(--tinta);
  font-size:.88rem;font-weight:500;
}
.btn-secundario:hover{border-color:var(--tinta-media);text-decoration:none}

/* Datos del producto: filas con línea de 1px, sin recuadro */
.datos{list-style:none;padding:0;margin:34px 0 0}
.datos li{
  display:flex;justify-content:space-between;gap:24px;
  padding:13px 0;border-bottom:1px solid var(--linea);
  font-size:.85rem;
}
.datos li:first-child{border-top:1px solid var(--linea)}
.datos li b{color:var(--tinta-suave);font-weight:400}
.datos li span{text-align:right}

/* Información de entrega: texto, no cajas de color */
.entrega{margin:38px 0 0;border-top:1px solid var(--linea);padding-top:24px}
.entrega-fila{display:grid;gap:4px;margin-bottom:20px}
@media(min-width:520px){
  .entrega-fila{grid-template-columns:130px 1fr;gap:20px}
}
.entrega-fila:last-child{margin-bottom:0}
.entrega-fila dt{
  font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--tinta-suave);padding-top:2px;
}
.entrega-fila dd{margin:0;font-size:.87rem;color:var(--tinta-media);max-width:52ch}
.entrega-fila dd strong{color:var(--tinta);font-weight:600}

.nota-legal{
  font-size:.76rem;color:var(--tinta-suave);margin:26px 0 0;
  padding-top:18px;border-top:1px solid var(--linea);max-width:56ch;
}

/* ---------- Rejilla de productos ---------- */
.rejilla{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:28px 16px;margin:24px 0 10px;
}
@media(min-width:640px){.rejilla{grid-template-columns:repeat(3,1fr);gap:36px 22px}}
@media(min-width:980px){.rejilla{grid-template-columns:repeat(4,1fr)}}

.tarjeta{display:block;color:inherit}
.tarjeta:hover{text-decoration:none}
.tarjeta img{
  width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--fondo-alt);
  transition:opacity .2s ease;
}
.tarjeta:hover img{opacity:.86}
.tarjeta-info{padding:11px 2px 0}
.tarjeta-marca{
  font-size:.62rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--tinta-suave);
}
.tarjeta-nombre{
  font-size:.85rem;font-weight:450;line-height:1.35;margin:5px 0 6px;color:var(--tinta);
}
.tarjeta-precio{font-size:.85rem;font-weight:600}

/* ---------- Texto largo ---------- */
.prosa{max-width:74ch;margin:0 0 44px;color:var(--tinta-media)}
.prosa p{margin:0 0 16px}
.prosa strong{color:var(--tinta);font-weight:600}
.prosa h2,.prosa h3{color:var(--tinta)}
.prosa ul,.prosa ol{margin:0 0 18px;padding-left:18px}
.prosa li{margin-bottom:8px}
.prosa li::marker{color:var(--tinta-suave)}
.prosa h2:first-child{margin-top:0}
.prosa > :last-child{margin-bottom:0}

/* ---------- Chips de navegación ---------- */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 44px}
.chip{
  padding:8px 14px;border:1px solid var(--linea);border-radius:2px;
  font-size:.78rem;font-weight:500;color:var(--tinta);
}
.chip:hover{border-color:var(--tinta);text-decoration:none}
.chip b{color:var(--tinta-suave);font-weight:400;margin-left:7px;font-size:.72rem}

/* ---------- Zonas de entrega ---------- */
.zonas{
  display:grid;grid-template-columns:1fr;
  border-top:1px solid var(--linea);margin:18px 0 40px;
}
@media(min-width:700px){.zonas{grid-template-columns:1fr 1fr}}
.zona{
  display:grid;grid-template-columns:130px 1fr;gap:18px;
  padding:16px 0;border-bottom:1px solid var(--linea);
}
@media(min-width:700px){
  .zona:nth-child(odd){padding-right:32px}
  .zona:nth-child(even){padding-left:32px;border-left:1px solid var(--linea)}
}
.zona b{font-weight:600;font-size:.87rem}
.zona span{font-size:.8rem;color:var(--tinta-media)}

/* ---------- Pasos numerados ---------- */
.pasos{list-style:none;counter-reset:paso;padding:0;margin:20px 0 44px;max-width:74ch}
.pasos li{
  counter-increment:paso;position:relative;
  padding:18px 0 18px 44px;border-bottom:1px solid var(--linea);
  font-size:.9rem;color:var(--tinta-media);
}
.pasos li:first-child{border-top:1px solid var(--linea)}
.pasos li::before{
  content:counter(paso);position:absolute;left:0;top:18px;
  font-size:.7rem;font-weight:600;color:var(--tinta-suave);
  letter-spacing:.08em;
}
.pasos strong{color:var(--tinta);font-weight:600}

/* ---------- Reseñas ---------- */
.resenas{
  display:flex;gap:14px;overflow-x:auto;padding:0 0 20px;margin:16px 0 40px;
  scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
}
.resenas::-webkit-scrollbar{height:2px}
.resenas::-webkit-scrollbar-thumb{background:var(--linea)}
.resena{flex:0 0 auto;width:190px;margin:0;scroll-snap-align:start;background:var(--fondo-alt)}
.resena img{width:100%}

/* ---------- Preguntas frecuentes ---------- */
.faq{margin:18px 0 48px;border-top:1px solid var(--linea);max-width:78ch}
.faq details{border-bottom:1px solid var(--linea)}
.faq summary{
  padding:18px 34px 18px 0;cursor:pointer;list-style:none;position:relative;
  font-size:.92rem;font-weight:500;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:'';position:absolute;right:6px;top:50%;
  width:9px;height:9px;margin-top:-6px;
  border-right:1px solid var(--tinta-media);border-bottom:1px solid var(--tinta-media);
  transform:rotate(45deg);transition:transform .18s ease;
}
.faq details[open] summary::after{transform:rotate(-135deg);margin-top:-2px}
.faq .faq-cuerpo{
  padding:0 40px 20px 0;font-size:.87rem;color:var(--tinta-media);max-width:74ch;
}
.faq .faq-cuerpo p{margin:0}

/* ---------- Cierre de página ---------- */
.cierre{
  border-top:1px solid var(--linea-fuerte);
  padding:38px 0 46px;margin-top:52px;max-width:56ch;
}
.cierre h2{margin:0 0 8px;font-size:1.3rem;letter-spacing:-.02em}
.cierre p{color:var(--tinta-media);font-size:.9rem;margin:0 0 22px}
.cierre .btn-wa{max-width:290px}

/* ---------- Pie ---------- */
.pie{
  border-top:1px solid var(--linea);margin-top:60px;
  padding:34px 20px 44px;font-size:.76rem;color:var(--tinta-suave);
}
.pie-inner{max-width:1180px;margin:0 auto;display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center}
.pie-links{display:flex;flex-wrap:wrap;gap:20px}
.pie-links a{color:var(--tinta-media)}
.pie-links a:hover{color:var(--tinta);text-decoration:none}
.pie-copy{margin-left:auto}
@media(max-width:700px){.pie-copy{margin-left:0;width:100%}}

/* ---------- Accesibilidad ---------- */
a:focus-visible,button:focus-visible,summary:focus-visible{
  outline:2px solid var(--tinta);outline-offset:3px;border-radius:1px;
}
.salta{position:absolute;left:-9999px}
.salta:focus{
  left:12px;top:12px;background:var(--tinta);color:#fff;
  padding:11px 16px;z-index:100;border-radius:2px;font-size:.85rem;
}
