/* Made Taxa — estilos de la tienda (home, fichas, cesta) */
:root{
    --arena:#F5F0E8;
    --arena-2:#EFE9DD;
    --oliva:#7A6A2E;
    --charcoal:#3F3D3A;
    --marron:#725E43;
    --placeholder:#E7E1D6;
  }

  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;scroll-padding-top:90px;}

  body{
    background:var(--arena);
    color:var(--charcoal);
    font-family:'Inter',sans-serif;
    font-weight:300;font-size:17px;line-height:1.7;
    -webkit-font-smoothing:antialiased;
  }

  h1,h2,h3{font-family:'Lora',serif;font-weight:500;color:var(--charcoal);}
  a{color:inherit;text-decoration:none;}
  a:focus-visible, button:focus-visible{outline:2px solid var(--oliva);outline-offset:4px;}
  img{display:block;max-width:100%;}

  .contenedor{max-width:1100px;margin:0 auto;padding:0 24px;}

  /* Solo se oculta si hay JS: sin JS (o si tarda) el contenido se ve igual */
  .js .revelar{opacity:0;transform:translateY(14px);transition:opacity .6s ease, transform .6s ease;}
  .js .revelar.visible{opacity:1;transform:none;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{transition:none !important;}
    .js .revelar{opacity:1;transform:none;}
  }

  /* ---------- Cabecera ---------- */
  header{
    position:sticky;top:0;z-index:10;
    background:rgba(245,240,232,0.92);
    backdrop-filter:blur(6px);
    border-bottom:1px solid rgba(63,61,58,0.08);
  }
  .barra{display:flex;align-items:baseline;justify-content:space-between;padding:22px 0;}
  .logo{font-family:'Lora',serif;font-size:1.15rem;letter-spacing:0.35em;color:var(--oliva);}
  nav{display:flex;gap:34px;}
  nav a{
    font-size:0.8rem;letter-spacing:0.12em;text-transform:uppercase;
    color:var(--charcoal);padding-bottom:3px;
    border-bottom:1px solid transparent;
    transition:border-color .3s, color .3s;
  }
  nav a:hover, nav a:focus-visible{border-bottom-color:var(--oliva);color:var(--oliva);}

  /* ---------- Hero ---------- */
  .hero{padding:96px 0 84px;}
  .hero-rejilla{display:grid;grid-template-columns:5fr 4fr;gap:64px;align-items:center;}
  .hero-eyebrow{
    font-size:0.75rem;letter-spacing:0.25em;text-transform:uppercase;
    color:var(--marron);margin-bottom:26px;
  }
  .hero h1{font-size:clamp(2.1rem, 4.5vw, 3.4rem);line-height:1.25;font-weight:400;margin-bottom:30px;}
  .hero h1 em{font-style:italic;color:var(--oliva);}
  .hero p{max-width:42ch;opacity:0.85;}
  .hero-cta{
    display:inline-block;margin-top:38px;
    font-size:0.8rem;letter-spacing:0.15em;text-transform:uppercase;
    color:var(--oliva);border:1px solid var(--oliva);padding:14px 30px;
    transition:background .3s, color .3s;
  }
  .hero-cta:hover, .hero-cta:focus-visible{background:var(--oliva);color:var(--arena);}
  .hero-cta-lleno{background:var(--oliva);color:var(--arena);margin-right:12px;}
  .hero-cta-lleno:hover, .hero-cta-lleno:focus-visible{background:transparent;color:var(--oliva);}
  .hero p.hero-nota{margin-top:14px;font-size:0.85rem;font-style:italic;color:var(--marron);opacity:1;}

  .foto{
    background:var(--placeholder);overflow:hidden;
    display:flex;align-items:center;justify-content:center;
    color:var(--marron);font-size:0.75rem;letter-spacing:0.2em;text-transform:uppercase;
  }
  .foto img{width:100%;height:100%;object-fit:cover;}
  .hero .foto{aspect-ratio:4/5;}

  /* ---------- Secciones ---------- */
  .seccion{padding:88px 0;}
  .titulo-seccion{display:flex;align-items:baseline;gap:22px;margin-bottom:22px;}
  .titulo-seccion h2{font-size:1.7rem;font-weight:500;}
  .titulo-seccion::after{content:"";flex:1;height:1px;background:rgba(63,61,58,0.15);}
  .seccion-intro{max-width:58ch;opacity:0.85;margin-bottom:56px;}

  /* ---------- Pack destacado ---------- */
  .pack{
    display:grid;grid-template-columns:5fr 4fr;gap:56px;align-items:center;
    background:var(--arena-2);padding:44px;margin-bottom:84px;
  }
  .pack .foto{aspect-ratio:4/5;}
  .pack-etiqueta{
    font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;
    color:var(--marron);display:block;margin-bottom:12px;
  }
  .pack h3{font-size:1.6rem;margin-bottom:16px;}
  .pack p{margin-bottom:18px;opacity:0.88;}
  .pack-precio{font-family:'Lora',serif;color:var(--oliva);font-size:1.5rem;display:block;margin-bottom:6px;}
  .pack-nota{display:block;font-size:0.75rem;letter-spacing:0.08em;color:var(--marron);margin-bottom:26px;}

  .boton{
    display:inline-block;
    font-size:0.78rem;letter-spacing:0.15em;text-transform:uppercase;
    color:var(--arena);background:var(--oliva);border:1px solid var(--oliva);
    padding:14px 32px;transition:background .3s, color .3s;
  }
  .boton:hover, .boton:focus-visible{background:transparent;color:var(--oliva);}
  .enlace-sutil{
    display:inline-block;margin-left:18px;
    font-size:0.78rem;letter-spacing:0.1em;color:var(--marron);
    border-bottom:1px solid rgba(139,115,85,0.4);padding-bottom:2px;
    transition:color .3s, border-color .3s;
  }
  .enlace-sutil:hover, .enlace-sutil:focus-visible{color:var(--oliva);border-bottom-color:var(--oliva);}

  /* ---------- Piezas ---------- */
  .rejilla-piezas{display:grid;grid-template-columns:repeat(2, 1fr);gap:60px 44px;}
  .pieza .fotos{display:grid;grid-template-columns:3fr 2fr;gap:10px;margin-bottom:20px;}
  .pieza .fotos .foto{aspect-ratio:1/1;}
  .pieza .fotos.una{grid-template-columns:1fr;}
  .pieza-numero{
    font-size:0.7rem;letter-spacing:0.2em;color:var(--marron);
    text-transform:uppercase;display:block;margin-bottom:8px;
  }
  .pieza h3{font-size:1.2rem;margin-bottom:2px;font-weight:500;}
  .pieza-cat{
    display:block;font-family:'Lora',serif;font-style:italic;
    font-size:0.88rem;color:var(--marron);margin-bottom:10px;
  }
  .pieza-medidas{
    display:block;font-size:0.78rem;letter-spacing:0.04em;
    color:var(--marron);margin-bottom:6px;
  }
  .pieza p{font-size:0.94rem;opacity:0.82;margin-bottom:12px;}
  .pieza-ficha{font-size:0.8rem;letter-spacing:0.04em;color:var(--marron);display:block;margin-bottom:8px;}
  .pieza-precio{font-family:'Lora',serif;color:var(--oliva);font-size:1.15rem;display:block;margin-bottom:4px;}
  .pieza-envio{display:block;font-size:0.75rem;letter-spacing:0.06em;color:var(--marron);margin-bottom:16px;}
  .pieza-comprar{
    display:inline-block;
    font-size:0.75rem;letter-spacing:0.15em;text-transform:uppercase;
    color:var(--arena);background:var(--oliva);border:1px solid var(--oliva);
    padding:12px 28px;transition:background .3s, color .3s;
  }
  .pieza-comprar:hover, .pieza-comprar:focus-visible{background:transparent;color:var(--oliva);}

  /* ----- Estado "vendida" -----
     Para marcar una pieza como vendida, añade la clase "vendida" al <article>:
     <article class="pieza vendida revelar">
     Se atenúa la foto, se tacha el precio, desaparece el botón Comprar
     y aparece el texto "Pieza vendida". */
  .pieza.vendida .foto{opacity:0.45;}
  .pieza.vendida .pieza-precio{text-decoration:line-through;opacity:0.55;}
  .pieza.vendida .pieza-comprar{display:none;}
  .pieza-vendida{
    display:none;
    font-size:0.75rem;letter-spacing:0.15em;text-transform:uppercase;
    color:var(--marron);border:1px solid rgba(139,115,85,0.35);padding:12px 28px;
  }
  .pieza.vendida .pieza-vendida{display:inline-block;}


  /* ---------- Franja de confianza ---------- */
  .confianza{
    list-style:none;display:flex;flex-wrap:wrap;gap:14px 34px;
    margin-top:72px;padding-top:28px;border-top:1px solid rgba(63,61,58,0.12);
    font-size:0.86rem;color:var(--marron);
  }
  .confianza strong{font-weight:500;color:var(--charcoal);}
  .confianza a{color:var(--oliva);border-bottom:1px solid var(--oliva);}

  /* ---------- Consentimiento y mensajes de formulario ---------- */
  .consentimiento{
    display:flex;gap:10px;align-items:flex-start;
    font-size:0.8rem;letter-spacing:0;text-transform:none;color:var(--marron);
    margin:-14px 0 26px;line-height:1.5;cursor:pointer;
  }
  .consentimiento input{width:auto;margin:3px 0 0;accent-color:var(--oliva);}
  .consentimiento a{color:var(--oliva);border-bottom:1px solid var(--oliva);}
  .trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
  .form-mensaje{margin-top:20px;font-size:0.92rem;color:var(--oliva);}
  .form-mensaje.error{color:#9a3b2e;}

  /* ---------- Avisos por email ---------- */
  .avisos{padding:0 0 88px;}
  .avisos-caja{
    background:var(--arena-2);padding:46px;
    display:grid;grid-template-columns:5fr 4fr;gap:48px;align-items:center;
    max-width:1100px;
  }
  .avisos-caja h2{font-size:1.45rem;margin-bottom:14px;}
  .avisos-caja p{opacity:0.85;font-size:0.96rem;margin:0;}
  .avisos-caja form{max-width:none;}
  .avisos-caja input{margin-bottom:22px;border-bottom-color:rgba(63,61,58,0.35);}
  @media (max-width:760px){
    .avisos-caja{grid-template-columns:1fr;gap:28px;padding:30px;}
  }
  /* ---------- Nosotros ---------- */
  .ambiente{background:var(--arena-2);}
  .ambiente-rejilla{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
  .ambiente-rejilla .foto{aspect-ratio:1/1;}
  .ambiente-nota{
    font-size:0.78rem;letter-spacing:0.02em;color:var(--marron);
    margin-top:20px;max-width:60ch;
  }
  .nosotros{background:var(--arena-2);}
  .nosotros-rejilla{display:grid;grid-template-columns:4fr 5fr;gap:64px;align-items:center;}
  .nosotros .foto{aspect-ratio:3/4;}
  .nosotros h2{font-size:1.7rem;margin-bottom:26px;}
  .nosotros p{margin-bottom:18px;max-width:52ch;}
  .nosotros p:last-child{margin-bottom:0;}
  .firma{font-family:'Lora',serif;font-style:italic;color:var(--oliva);margin-top:10px;}

  /* ---------- Contacto ---------- */
  .contacto p.intro{max-width:50ch;margin-bottom:16px;opacity:0.85;}
  .email-directo{
    display:inline-block;margin-bottom:44px;
    font-family:'Lora',serif;color:var(--oliva);
    border-bottom:1px solid var(--oliva);padding-bottom:2px;
  }
  form{max-width:560px;}
  label{
    display:block;font-size:0.75rem;letter-spacing:0.15em;
    text-transform:uppercase;color:var(--marron);margin-bottom:8px;
  }
  input, textarea{
    width:100%;background:transparent;border:none;
    border-bottom:1px solid rgba(63,61,58,0.3);
    padding:10px 2px 12px;margin-bottom:34px;
    font-family:'Inter',sans-serif;font-size:1rem;
    color:var(--charcoal);border-radius:0;
  }
  input:focus, textarea:focus{outline:none;border-bottom-color:var(--oliva);}
  textarea{min-height:120px;resize:vertical;}
  button{
    font-family:'Inter',sans-serif;
    font-size:0.8rem;letter-spacing:0.15em;text-transform:uppercase;
    color:var(--arena);background:var(--oliva);border:1px solid var(--oliva);
    padding:15px 36px;cursor:pointer;transition:background .3s, color .3s;
  }
  button:hover, button:focus-visible{background:transparent;color:var(--oliva);}

  /* ---------- Pie ---------- */
  footer{border-top:1px solid rgba(63,61,58,0.1);padding:44px 0 52px;}
  .pie{display:flex;flex-wrap:wrap;gap:18px 30px;align-items:baseline;justify-content:space-between;}
  .pie .logo{font-size:0.95rem;}
  .pie p{font-size:0.78rem;letter-spacing:0.06em;color:var(--marron);}
  .pie-redes{display:flex;gap:22px;}
  .pie-redes a{
    font-size:0.75rem;letter-spacing:0.12em;text-transform:uppercase;
    color:var(--charcoal);border-bottom:1px solid transparent;
    transition:color .3s, border-color .3s;
  }
  .pie-redes a:hover, .pie-redes a:focus-visible{color:var(--oliva);border-bottom-color:var(--oliva);}

  .pie-legal-fila{
    display:flex;flex-wrap:wrap;gap:12px 26px;
    margin-top:26px;padding-top:22px;
    border-top:1px solid rgba(63,61,58,0.08);
  }
  .pie-legal-fila a{
    font-size:0.75rem;letter-spacing:0.06em;color:var(--marron);
    border-bottom:1px solid transparent;transition:color .3s,border-color .3s;
  }
  .pie-legal-fila a:hover, .pie-legal-fila a:focus-visible{color:var(--oliva);border-bottom-color:var(--oliva);}

  /* ---------- Móvil ---------- */
  @media (max-width:860px){
    .pack{grid-template-columns:1fr;gap:34px;padding:28px;}
  }
  @media (max-width:760px){
    .barra{flex-direction:column;gap:14px;align-items:center;}
    nav{gap:18px 22px;flex-wrap:wrap;justify-content:center;}
    .hero{padding:64px 0 56px;}
    .hero-rejilla, .nosotros-rejilla{grid-template-columns:1fr;gap:44px;}
    .ambiente-rejilla{grid-template-columns:1fr;gap:12px;}
    .rejilla-piezas{grid-template-columns:1fr;gap:56px;}
    .seccion{padding:62px 0;}
    .pie{flex-direction:column;align-items:flex-start;}
    .enlace-sutil{display:block;margin-left:0;margin-top:18px;}
  }

/* ---------- Cabecera: idioma y cesta ---------- */
.barra{align-items:center;gap:24px;}
.acciones{display:flex;align-items:center;gap:20px;}
.idioma{display:flex;gap:8px;font-size:0.75rem;letter-spacing:0.12em;}
.idioma a{color:var(--marron);border-bottom:1px solid transparent;}
.idioma a[aria-current="true"]{color:var(--oliva);border-bottom-color:var(--oliva);}
.boton-cesta{
  background:transparent;color:var(--charcoal);border:1px solid rgba(63,61,58,0.3);
  padding:8px 14px;font-size:0.72rem;letter-spacing:0.12em;
}
.boton-cesta:hover,.boton-cesta:focus-visible{background:var(--oliva);color:var(--arena);border-color:var(--oliva);}
.boton-cesta .contador{display:inline-block;min-width:1.4em;margin-left:6px;font-weight:500;}

/* ---------- Tarjetas: enlace a ficha y botón añadir ---------- */
.pieza h3 a, .pieza .fotos a{display:block;}
.pieza h3 a:hover{color:var(--oliva);}
.anadir{padding:12px 26px;font-size:0.75rem;}
.anadir.en-cesta{background:transparent;color:var(--oliva);}
.ver-pieza{display:inline-block;margin-left:16px;font-size:0.78rem;color:var(--marron);border-bottom:1px solid rgba(139,115,85,0.4);}
.ver-pieza:hover{color:var(--oliva);border-bottom-color:var(--oliva);}
.pieza.vendida .anadir{display:none;}

/* ---------- Ficha de producto ---------- */
.migas{font-size:0.75rem;letter-spacing:0.06em;color:var(--marron);padding:34px 0 0;}
.migas a{border-bottom:1px solid transparent;} .migas a:hover{color:var(--oliva);border-bottom-color:var(--oliva);}
.ficha{display:grid;grid-template-columns:7fr 5fr;gap:56px;padding:34px 0 80px;align-items:start;}
.galeria{display:grid;gap:12px;}
.galeria .foto{aspect-ratio:1/1;}
.ficha-info{position:sticky;top:110px;}
.ficha-info h1{font-size:clamp(1.8rem,3.4vw,2.5rem);font-weight:400;margin:6px 0 4px;}
.ficha-info .pieza-cat{margin-bottom:22px;}
.ficha-info p{margin-bottom:18px;}
.ficha-precio{font-family:'Lora',serif;color:var(--oliva);font-size:1.6rem;display:block;margin:22px 0 6px;}
.ficha-envio{display:block;font-size:0.8rem;color:var(--marron);margin-bottom:24px;}
.ficha-datos{list-style:none;border-top:1px solid rgba(63,61,58,0.12);margin:30px 0 0;}
.ficha-datos li{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid rgba(63,61,58,0.12);font-size:0.9rem;}
.ficha-datos li span:first-child{color:var(--marron);font-size:0.75rem;letter-spacing:0.12em;text-transform:uppercase;padding-top:3px;}
.ficha-cuidados{margin-top:34px;}
.ficha-cuidados h2{font-size:1.1rem;margin-bottom:12px;}
.ficha-cuidados ul{margin:0 0 12px 18px;font-size:0.93rem;}
.ficha-cuidados a, .nota-unica a{color:var(--oliva);border-bottom:1px solid var(--oliva);}
.nota-unica{font-size:0.85rem;color:var(--marron);font-style:italic;}
.combina{padding:0 0 90px;}
.combina .rejilla-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.combina .foto{aspect-ratio:1/1;margin-bottom:12px;}
.combina h3{font-size:1rem;font-weight:500;}
.combina span{font-family:'Lora',serif;color:var(--oliva);}
.historia p{max-width:62ch;}
.lista-incluye{margin:0 0 18px 18px;}

/* ---------- Cesta lateral ---------- */
.cesta-fondo{position:fixed;inset:0;background:rgba(63,61,58,0.35);opacity:0;pointer-events:none;transition:opacity .3s;z-index:40;}
.cesta{
  position:fixed;top:0;right:0;height:100%;width:min(420px,100%);
  background:var(--arena);z-index:50;transform:translateX(100%);transition:transform .35s ease;
  display:flex;flex-direction:column;box-shadow:-10px 0 40px rgba(63,61,58,0.12);
}
body.cesta-abierta .cesta{transform:none;}
body.cesta-abierta .cesta-fondo{opacity:1;pointer-events:auto;}
.cesta-cab{display:flex;justify-content:space-between;align-items:center;padding:24px 26px;border-bottom:1px solid rgba(63,61,58,0.1);}
.cesta-cab h2{font-size:1.25rem;}
.cesta-cerrar{background:none;border:none;color:var(--charcoal);padding:6px 4px;font-size:0.75rem;}
.cesta-cerrar:hover{background:none;color:var(--oliva);}
.cesta-lista{list-style:none;flex:1;overflow:auto;padding:10px 26px;}
.cesta-lista li{display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid rgba(63,61,58,0.08);}
.cesta-lista img{width:64px;height:64px;object-fit:cover;background:var(--placeholder);}
.cesta-lista .nombre{font-family:'Lora',serif;font-size:0.98rem;line-height:1.3;}
.cesta-lista .precio{font-size:0.88rem;color:var(--oliva);}
.cesta-quitar{background:none;border:none;color:var(--marron);padding:4px;font-size:0.7rem;letter-spacing:0.08em;}
.cesta-quitar:hover{background:none;color:#9a3b2e;}
.cesta-vacia{padding:30px 0;color:var(--marron);}
.cesta-pie{padding:20px 26px 28px;border-top:1px solid rgba(63,61,58,0.1);font-size:0.92rem;}
.cesta-pie .fila{display:flex;justify-content:space-between;margin-bottom:6px;}
.cesta-pie .total{font-family:'Lora',serif;font-size:1.15rem;margin:10px 0 4px;}
.cesta-falta{font-size:0.8rem;color:var(--marron);margin:4px 0 16px;}
.cesta-pagar{width:100%;}
.cesta-pagar[disabled]{opacity:0.5;cursor:wait;}
.cesta-seguro{font-size:0.72rem;color:var(--marron);text-align:center;margin-top:10px;}
.cesta-error{font-size:0.85rem;color:#9a3b2e;margin-top:10px;}

@media (max-width:860px){
  .ficha{grid-template-columns:1fr;gap:34px;}
  .ficha-info{position:static;}
}
@media (max-width:760px){
  .acciones{gap:16px;}
  .combina .rejilla-mini{grid-template-columns:1fr 1fr;}
  .ver-pieza{margin-left:12px;}
}

/* ---------- Ajustes ---------- */
.cesta{box-shadow:none;visibility:hidden;transition:transform .35s ease, visibility 0s linear .35s;}
body.cesta-abierta .cesta{box-shadow:-10px 0 40px rgba(63,61,58,0.12);visibility:visible;transition:transform .35s ease;}
nav.migas{display:block;gap:0;}
nav.migas a{font-size:inherit;letter-spacing:inherit;text-transform:none;color:inherit;padding:0;}
.cesta-lista .nombre{display:block;line-height:1.3;margin-bottom:4px;}
.pack .anadir + .enlace-sutil{display:table;margin-left:0;margin-top:18px;}
.ficha-info h1{line-height:1.2;margin-bottom:10px;}

/* ---------- Páginas de texto (envíos, cuidados, legales) ---------- */
.texto{max-width:720px;margin:0 auto;padding:64px 24px 40px;line-height:1.8;}
.texto .eyebrow{font-size:0.72rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--marron);margin-bottom:16px;}
.texto h1{font-size:clamp(1.9rem,5vw,2.6rem);font-weight:400;margin-bottom:14px;line-height:1.25;}
.texto .actualizado{font-size:0.82rem;color:var(--marron);margin-bottom:48px;}
.texto h2{font-size:1.25rem;margin:46px 0 16px;}
.texto p{margin-bottom:18px;}
.texto ul{margin:0 0 18px 20px;} .texto li{margin-bottom:10px;}
.texto strong{font-weight:500;}
.texto a:not(.boton){color:var(--oliva);border-bottom:1px solid var(--oliva);}
.texto .aviso{background:var(--arena-2);border-left:3px solid var(--oliva);padding:20px 24px;margin:26px 0 30px;font-size:0.95rem;}
.texto .tabla{width:100%;border-collapse:collapse;margin:18px 0 28px;font-size:0.95rem;}
.texto .tabla th,.texto .tabla td{text-align:left;padding:12px 10px;border-bottom:1px solid rgba(63,61,58,0.12);vertical-align:top;}
.texto .tabla th{font-weight:500;font-size:0.75rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--marron);}
@media (max-width:600px){.texto .tabla{font-size:0.85rem;} .texto .tabla th,.texto .tabla td{padding:10px 6px;}}

/* ---------- Cabecera compacta en móvil ---------- */
.boton-menu{display:none;}
.idioma-menu{display:none !important;}
header.menu-abierto .idioma-menu{display:none;}
@media (max-width:760px){
  .barra{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 14px;padding:14px 0;}
  .logo{font-size:1rem;letter-spacing:0.28em;}
  .acciones{gap:12px;}
  .idioma{font-size:0.7rem;}
  .boton-cesta,.boton-menu{padding:8px 11px;font-size:0.68rem;}
  .boton-menu{display:inline-block;background:transparent;color:var(--charcoal);border:1px solid rgba(63,61,58,0.3);}
  .boton-menu:hover,.boton-menu:focus-visible{background:var(--oliva);color:var(--arena);border-color:var(--oliva);}
  header nav{display:none;order:3;width:100%;flex-direction:column;gap:0;padding:6px 0 4px;}
  header.menu-abierto nav{display:flex;}
  header nav a{padding:12px 0;border-bottom:1px solid rgba(63,61,58,0.08);}
}
@media (max-width:380px){ .logo{letter-spacing:0.18em;} .idioma{display:none;} header.menu-abierto .idioma{display:flex;} }

/* Margen lateral: .barra, .ficha y .migas no deben anular el padding de .contenedor */
.barra{padding-left:24px;padding-right:24px;}
.ficha{padding-left:24px;padding-right:24px;}
nav.migas{padding-left:24px;padding-right:24px;}
@media (max-width:760px){
  .barra{padding-left:20px;padding-right:20px;flex-wrap:wrap;}
  .logo{font-size:0.95rem;letter-spacing:0.2em;}
  .acciones{gap:8px;}
  .boton-cesta,.boton-menu{padding:7px 9px;}
}
@media (max-width:430px){
  .idioma{display:none;}
  header.menu-abierto .idioma-menu{display:flex;padding:14px 0 6px;gap:18px;font-size:0.8rem;}
}
@media (max-width:430px){ header.menu-abierto .idioma-menu{display:flex !important;} }
header nav .idioma-menu a{padding:0;border-bottom:1px solid transparent;}
header nav .idioma-menu a[aria-current="true"]{border-bottom-color:var(--oliva);}

/* ---------- Fluidez ---------- */
.foto picture{display:block;width:100%;height:100%;}
.foto img{background-color:var(--placeholder);}
/* Transición suave entre páginas (Chrome, Edge, Safari 18+; el resto navega como siempre) */
@view-transition{navigation:auto;}
header{view-transition-name:cabecera;}
::view-transition-old(root),::view-transition-new(root){animation-duration:.22s;}
@media (prefers-reduced-motion: reduce){ ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none !important;} }
/* El navegador no dibuja estas secciones hasta que te acercas a ellas */
.ambiente,.avisos,.nosotros,.contacto,.combina,footer{content-visibility:auto;contain-intrinsic-size:auto 700px;}

/* ================= Diseño v2 ================= */
.seccion{padding:104px 0;}
.seccion-intro{margin-bottom:36px;}

/* Filtros */
.filtros{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 40px;}
.filtro{background:transparent;color:var(--charcoal);border:1px solid rgba(63,61,58,0.22);padding:9px 18px;font-size:0.72rem;letter-spacing:0.12em;}
.filtro:hover{background:transparent;color:var(--oliva);border-color:var(--oliva);}
.filtro[aria-pressed="true"]{background:var(--charcoal);color:var(--arena);border-color:var(--charcoal);}
.pieza[hidden]{display:none !important;}

/* Tarjetas limpias */
.rejilla-piezas{grid-template-columns:repeat(3,1fr);gap:64px 32px;}
.foto-tarjeta{position:relative;display:block;aspect-ratio:1/1;margin-bottom:18px;}
.foto-tarjeta > picture img{transition:transform .6s ease;}
.foto-hover{position:absolute;inset:0;opacity:0;transition:opacity .45s ease;}
.foto-hover picture,.foto-hover img{width:100%;height:100%;object-fit:cover;}
@media (hover:hover){
  .pieza:hover .foto-hover{opacity:1;}
  .pieza:hover .foto-tarjeta > picture img{transform:scale(1.03);}
}
@media (hover:none){ .foto-hover{display:none;} }
.pieza .pieza-numero{margin-bottom:6px;}
.pieza-linea{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px;}
.pieza-linea h3{font-size:1.15rem;margin:0;}
.pieza-linea .pieza-precio{font-size:1.2rem;margin:0;white-space:nowrap;}
.pieza .anadir,.pieza .pieza-vendida{width:100%;text-align:center;}
.pieza.vendida .foto-tarjeta{opacity:.5;}

/* Ficha: galería, precio con sello */
.foto-grande{display:block;width:100%;aspect-ratio:1/1;padding:0;border:0;background:var(--placeholder);cursor:zoom-in;}
.foto-grande:hover{background:var(--placeholder);}
.foto-grande[hidden]{display:none;}
.miniaturas{display:flex;gap:10px;margin-top:12px;}
.mini{width:84px;height:84px;padding:0;border:1px solid transparent;background:var(--placeholder);opacity:.6;transition:opacity .2s,border-color .2s;}
.mini:hover{background:var(--placeholder);opacity:1;}
.mini[aria-pressed="true"]{opacity:1;border-color:var(--oliva);}
.mini picture,.mini img{width:100%;height:100%;object-fit:cover;display:block;}
.ficha-precio-fila{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:26px 0 4px;}
.ficha-precio-fila .ficha-precio{margin:0;font-size:2rem;}
.sello{color:var(--oliva);flex-shrink:0;opacity:.85;}
.ficha-info .anadir{width:100%;padding:17px 32px;font-size:0.8rem;}
.pack{position:relative;}
.pack .sello{position:absolute;top:30px;right:30px;}

/* Zoom */
.zoom-dialogo{border:0;padding:0;background:transparent;max-width:min(92vw,900px);max-height:92vh;margin:auto;}
.zoom-dialogo::backdrop{background:rgba(30,29,27,0.85);}
.zoom-dialogo img{display:block;max-width:100%;max-height:88vh;object-fit:contain;cursor:zoom-out;}
.zoom-cerrar{position:fixed;top:16px;right:16px;background:var(--arena);color:var(--charcoal);border:0;padding:9px 14px;font-size:0.72rem;}

/* Barra de compra fija (móvil) */
.barra-compra{display:none;}
@media (max-width:860px){
  .barra-compra{
    display:flex;align-items:center;justify-content:space-between;gap:14px;
    position:fixed;left:0;right:0;bottom:0;z-index:30;
    background:rgba(245,240,232,0.97);backdrop-filter:blur(6px);
    border-top:1px solid rgba(63,61,58,0.12);padding:12px 20px calc(12px + env(safe-area-inset-bottom));
    transform:translateY(110%);transition:transform .3s ease;
  }
  .barra-compra.visible{transform:none;}
  .barra-compra .bc-nombre{display:block;font-family:'Lora',serif;font-size:0.95rem;line-height:1.25;}
  .barra-compra .bc-precio{color:var(--oliva);font-size:0.9rem;}
  .barra-compra .anadir{width:auto;padding:12px 18px;font-size:0.7rem;white-space:nowrap;}
}

@media (max-width:860px){ .rejilla-piezas{grid-template-columns:repeat(2,1fr);gap:48px 18px;} }
@media (max-width:760px){
  .seccion{padding:72px 0;}
  .rejilla-piezas{grid-template-columns:repeat(2,1fr);gap:40px 14px;}
  .pieza-linea{flex-direction:column;gap:2px;margin-bottom:12px;}
  .pieza-linea h3{font-size:1rem;}
  .pieza-linea .pieza-precio{font-size:1rem;}
  .pieza .anadir,.pieza .pieza-vendida{padding:11px 6px;font-size:0.64rem;letter-spacing:0.08em;}
  .pack .sello{top:18px;right:18px;width:60px;height:60px;}
  .filtros{gap:8px;margin-bottom:30px;}
  .filtro{padding:8px 12px;font-size:0.66rem;}
}

/* ---------- Páginas de categoría ---------- */
.cat-h1{font-size:clamp(2rem,4.5vw,3rem);font-weight:400;line-height:1.2;margin-bottom:26px;}
.cat-envio{font-size:0.82rem;color:var(--marron);margin:-10px 0 18px;}
.cat-liat{font-size:0.92rem;margin-bottom:44px;}
.cat-liat a,.cat-otras a{color:var(--oliva);border-bottom:1px solid var(--oliva);}
.cat-otras{margin-top:64px;font-size:0.9rem;}
.filtro{display:inline-block;}
.pie-categorias{border-top:none;margin-top:18px;padding-top:0;}
.cat-h1 ~ .seccion-intro{margin-bottom:16px;}

/* ---------- Navidad ---------- */
.aviso-navidad{background:var(--oliva);color:var(--arena);text-align:center;font-size:0.78rem;letter-spacing:0.04em;padding:9px 16px;line-height:1.4;}
.aviso-navidad a{color:inherit;border-bottom:1px solid transparent;}
.aviso-navidad a:hover, .aviso-navidad a:focus-visible{border-bottom-color:var(--arena);}
.cat-h1 em{font-style:italic;color:var(--oliva);}
.regalo-banda{font-size:clamp(1.3rem,2.6vw,1.7rem);font-weight:400;margin:54px 0 22px;padding-top:26px;border-top:1px solid var(--arena-2);}
.regalo-pasos{list-style:none;counter-reset:paso;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px;margin:0;padding:0;}
.regalo-pasos li{counter-increment:paso;background:var(--arena-2);padding:22px 22px 24px;display:flex;flex-direction:column;gap:8px;font-size:0.92rem;line-height:1.6;}
.regalo-pasos li::before{content:counter(paso);font-family:'Lora',serif;font-size:1.6rem;color:var(--oliva);line-height:1;}
.regalo-pasos strong{font-family:'Lora',serif;font-weight:500;font-size:1.05rem;}


/* ---------- v7: rejilla más ligera, FAQ, contraste ---------- */
.pieza .anadir{background:transparent;color:var(--oliva);border-color:rgba(122,106,46,.55);}
.pieza .anadir:hover,.pieza .anadir:focus-visible{background:var(--oliva);color:var(--arena);border-color:var(--oliva);}
.pieza .anadir.en-cesta{background:var(--oliva);color:var(--arena);border-color:var(--oliva);}
.ver-pieza{border-bottom-color:rgba(114,94,67,.45);}
.faq{max-width:760px;margin:8px 0 40px;border-top:1px solid rgba(63,61,58,.14);}
.faq details{border-bottom:1px solid rgba(63,61,58,.14);padding:18px 0;}
.faq summary{cursor:pointer;list-style:none;font-family:'Lora',serif;font-size:1.08rem;color:var(--charcoal);display:flex;justify-content:space-between;gap:16px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:'+';color:var(--oliva);font-family:'Inter',sans-serif;font-weight:300;transition:transform .3s;}
.faq details[open] summary::after{transform:rotate(45deg);}
.faq details p{margin-top:10px;font-size:.95rem;opacity:.85;max-width:62ch;}
.hero p.hero-eyebrow{opacity:1;}
.ficha-seguridad{margin:28px 0 8px;padding-top:22px;border-top:1px solid rgba(63,61,58,.12);font-size:.85rem;}
.ficha-seguridad h2{font-size:1rem;margin-bottom:8px;}
.ficha-seguridad p{opacity:.85;margin-bottom:8px;}
.formulario-desistimiento{margin:14px 0 22px;padding:16px 20px;border-left:2px solid var(--oliva);background:var(--arena-2);font-size:.92rem;}
.formulario-desistimiento p{margin-bottom:8px;}
