:root{
  --rosa:#F8B2BC; --naranja:#DA5836; --rojo-ficha:#A8392F;
  --tinta:#1C1714; --tinta-suave:#5E534C; --papel:#FFFFFF; --filete:#F3D6DA; --gris-foto:#F4F4F4;
  --maquina:'Courier Prime','Courier New',monospace;
  --serif:'Instrument Serif',Georgia,serif;
  --hueco:16px;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{color-scheme:light}
body{margin:0;background:var(--papel);color:var(--tinta);font-family:var(--maquina);font-size:15px;line-height:22px;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--tinta);text-decoration:none}
h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-0.02em;margin:0}
.etiqueta{font-size:11px;line-height:14px;letter-spacing:.08em;text-transform:uppercase}
.envoltorio{max-width:1376px;margin:0 auto;padding:0 32px}
@media (max-width:600px){.envoltorio{padding:0 16px}}

/* Cabecera */
.cabecera{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-top:16px;padding-bottom:16px}
.cabecera .marca img{width:72px;height:72px}
.menu{display:flex;flex-wrap:wrap;gap:28px}
.menu a{display:inline-block;padding:8px 0;transition:transform .25s ease,letter-spacing .25s ease}
.menu a:hover,.menu a:focus-visible{transform:translateY(-3px);letter-spacing:.08em}
.menu a[aria-current="page"]{text-decoration:underline}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--tinta);outline-offset:3px}

/* Portada */
.portada{background:var(--rosa);min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
.portada .menu{justify-content:flex-end;padding:24px 32px}
.portada main{flex:1;display:flex;align-items:center;justify-content:center;padding:32px 32px 96px}
.portada main img{width:min(560px,80vw);height:auto}

/* Bloques */
.bloques{display:flex;flex-direction:column;gap:var(--hueco)}
.dos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:var(--hueco)}
.bloque{padding:clamp(28px,5vw,56px);display:flex;flex-direction:column;justify-content:space-between;gap:48px}
.bloque p{font-size:17px;line-height:26px;max-width:480px;margin:0}
.rosa{background:var(--rosa)}
.naranja{background:var(--naranja);color:#fff}
.naranja a{color:#fff}
.foto{background:var(--gris-foto);overflow:hidden}
.foto img{width:100%;height:100%;object-fit:cover}

/* Botones */
.boton{display:inline-block;background:var(--tinta);color:#fff;padding:16px 28px;font-family:var(--maquina);font-size:15px;line-height:20px;border:0;cursor:pointer;text-align:center;transition:background-color .2s ease}
.boton:hover{background:var(--rojo-ficha)}
.boton.blanco{background:#fff;color:var(--naranja)}
.boton.blanco:hover{background:var(--rosa);color:var(--tinta)}
.boton.ancho{display:block;width:100%;font-size:17px;padding:20px 28px}

/* Pie */
.pie{background:var(--rosa);margin-top:var(--hueco)}
.pie .envoltorio{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;padding-top:40px;padding-bottom:32px}
.pie img{width:140px;height:140px}
.pie nav{display:flex;flex-direction:column;gap:4px;align-items:flex-end;font-size:13px;line-height:18px}

/* Galería */
.mosaico{columns:3 300px;column-gap:var(--hueco)}
.mosaico figure{margin:0 0 var(--hueco);break-inside:avoid;background:var(--gris-foto)}
.mosaico img{width:100%;height:auto}

/* Tienda */
.producto{display:flex;flex-wrap:wrap;gap:clamp(32px,6vw,96px);align-items:flex-start;padding-top:8px}
.producto .foto{flex:999 1 520px;min-width:0;aspect-ratio:1;position:sticky;top:16px}
@media (max-width:900px){.producto .foto{position:static}}
.producto .columna{flex:1 1 340px;min-width:0;max-width:460px;display:flex;flex-direction:column;gap:28px}
.precio{font-size:17px;line-height:24px}
.precio small{font-size:13px;color:var(--tinta-suave)}
.colores{display:flex;flex-wrap:wrap;gap:8px;border:0;margin:0;padding:0}
.colores legend{padding:0;margin-bottom:12px}
.bolita{width:48px;height:48px;border-radius:50%;background:#fff;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;border:1.5px solid transparent}
.bolita span{width:34px;height:34px;border-radius:50%;display:block}
.bolita[aria-pressed="true"]{border-color:var(--tinta)}
.fichas{margin:0;border-top:1px solid var(--tinta)}
.fichas div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--filete)}
.fichas dt{color:var(--tinta-suave)}
.fichas dd{margin:0;text-align:right}
.aviso-plazos{background:var(--rosa);padding:16px 18px;font-size:14px;line-height:21px;display:flex;flex-direction:column;gap:4px}
.aviso-plazos strong{font-size:11px;line-height:14px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.nota{font-size:13px;line-height:18px;color:var(--tinta-suave)}

/* Formulario */
.pedido{display:flex;flex-direction:column;gap:16px;border-top:1px solid var(--tinta);padding-top:24px}
.pedido h2{font-size:40px;line-height:1}
.campo{display:flex;flex-direction:column;gap:6px}
.campo label{font-size:13px;line-height:18px}
.campo input,.campo select,.campo textarea{font:inherit;font-size:16px;color:var(--tinta);background:#fff;border:1px solid var(--tinta);padding:12px;border-radius:0;width:100%}
.fila{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}
.opciones-pago{display:flex;flex-direction:column;gap:8px;border:0;margin:0;padding:0}
.opciones-pago legend{font-size:13px;line-height:18px;padding:0;margin-bottom:6px}
.opciones-pago label{display:flex;align-items:center;gap:10px;border:1px solid var(--tinta);padding:12px;cursor:pointer}
.opciones-pago input{accent-color:var(--naranja);width:18px;height:18px}
.oculto{position:absolute;left:-9999px}
.aviso-error{color:var(--rojo-ficha);font-size:13px;line-height:18px}
.pago{display:flex;flex-direction:column;gap:20px;background:var(--rosa);padding:clamp(24px,4vw,40px)}
.pago h2{font-size:48px;line-height:.95}
.pago .total{font-size:20px;line-height:28px}
.pago .dato{background:#fff;padding:16px;display:flex;flex-direction:column;gap:4px}
.pago .dato strong{font-size:20px;line-height:26px;font-weight:700}

@media (prefers-reduced-motion:reduce){.menu a,.boton{transition:none}.menu a:hover{transform:none;letter-spacing:normal;text-decoration:underline}}
