/* Fuentes de la propia web (sitio/fuentes, licencia SIL OFL 1.1): ninguna petición a otros dominios */
@font-face{font-family:"Archivo";font-style:normal;font-weight:300 800;font-stretch:62% 125%;font-display:swap;src:url("fuentes/archivo-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Archivo";font-style:normal;font-weight:300 800;font-stretch:62% 125%;font-display:swap;src:url("fuentes/archivo-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Figtree";font-style:normal;font-weight:400;font-display:swap;src:url("fuentes/figtree-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Figtree";font-style:normal;font-weight:400;font-display:swap;src:url("fuentes/figtree-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Figtree";font-style:normal;font-weight:500;font-display:swap;src:url("fuentes/figtree-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Figtree";font-style:normal;font-weight:500;font-display:swap;src:url("fuentes/figtree-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Figtree";font-style:normal;font-weight:600;font-display:swap;src:url("fuentes/figtree-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Figtree";font-style:normal;font-weight:600;font-display:swap;src:url("fuentes/figtree-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* Concepto: la tienda por dentro. Pared blanca arriba y suelo gris donde se apoya el producto; las secciones alternan
   blanco y gris como las zonas del local y el pie es la pared antracita. Líneas finas de plano de mobiliario y mucho aire.
   El naranja del logo queda como un punto: la figura del logo, el punto final de la portada y la línea de lectura. */
:root{--blanco:#ffffff;--gris:#ededeb;--gris-2:#e2e2df;--linea:#e3e3e0;--linea-2:#d0d0cc;--antracita:#2a2b2e;--antracita-2:#5c5d61;--piedra:#8b8c8f;--pie:#242528;--pie-texto:#b9b9b5;--naranja:#ee8a24;--display:"Archivo","Helvetica Neue",Arial,sans-serif;--texto:"Figtree","Segoe UI",system-ui,-apple-system,sans-serif;--hdr:64px;--r:3px;--ease:cubic-bezier(.2,.7,.2,1);color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--blanco);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--blanco);color:var(--antracita);font-family:var(--texto);font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:40;background:var(--blanco)}
img{max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:300;font-stretch:112%;line-height:1.04;letter-spacing:-.018em;text-wrap:balance;margin:0}
p{margin:0;text-wrap:pretty}
[id]{scroll-margin-top:calc(var(--hdr) + 16px)}
.wrap{max-width:1240px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
:focus-visible{outline:2px solid var(--antracita);outline-offset:3px}

/* Cabecera blanca con línea fina; en el móvil, menú a pantalla completa */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:var(--blanco);border-bottom:1px solid var(--linea)}
.top::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--naranja);transform:scaleX(0);transform-origin:0 50%}
@supports (animation-timeline:scroll()){.top::after{animation:avance linear both;animation-timeline:scroll(root)}}
@keyframes avance{to{transform:scaleX(1)}}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:var(--hdr)}
.logo{display:inline-grid;grid-template-columns:auto auto;align-items:center;flex:none;text-decoration:none;color:var(--antracita);line-height:.9}
.logo .D{font-family:var(--display);font-stretch:125%;font-weight:800;font-size:2.05rem;grid-row:span 2}
.logo .on,.logo .rest{font-family:var(--display);font-stretch:125%;font-weight:700;font-size:.8rem;letter-spacing:.02em}
.logo .on{display:flex;align-items:end;gap:2px}
.logo svg{width:25px;height:14px;color:var(--naranja)}
.menu{display:flex;align-items:center;gap:34px;font-size:.95rem}
.menu>a{position:relative;padding-block:6px;text-decoration:none;color:var(--antracita-2);transition:color .2s}
.menu>a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:0 50%;transition:transform .35s var(--ease)}
.menu>a:hover,.menu>a[aria-current]{color:var(--antracita)}
.menu>a:hover::after,.menu>a[aria-current]::after{transform:scaleX(1)}
.menu .extra,.menu-btn{display:none}
@media (max-width:959px){
:root{--hdr:60px}
.top .wrap{gap:16px}
.top .wrap>.btn{display:none}
html:not(.js) .top .wrap{flex-wrap:wrap;padding-top:12px}
html:not(.js) .menu{order:3;width:100%;flex-wrap:wrap;gap:2px 22px;padding-bottom:12px}
.js .menu-btn{display:inline-flex;align-items:center;gap:12px;min-height:44px;margin-right:-4px;padding:0 4px 0 12px;border:0;background:none;color:var(--antracita);font:500 .74rem/1 var(--display);font-stretch:118%;letter-spacing:.18em;text-transform:uppercase;cursor:pointer}
.menu-btn i{position:relative;width:24px;height:9px}
.menu-btn i::before,.menu-btn i::after{content:"";position:absolute;left:0;right:0;height:1.5px;background:currentColor;transition:transform .3s var(--ease),top .3s var(--ease)}
.menu-btn i::before{top:0}
.menu-btn i::after{top:7.5px}
.menu-abierto .menu-btn i::before{top:3.75px;transform:rotate(45deg)}
.menu-abierto .menu-btn i::after{top:3.75px;transform:rotate(-45deg)}
.js .menu{position:fixed;z-index:29;left:0;right:0;bottom:0;top:calc(env(safe-area-inset-top,0px) + var(--hdr));display:flex;flex-direction:column;align-items:stretch;gap:0;padding:8px max(20px,env(safe-area-inset-right,0px)) calc(28px + env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px));background:var(--blanco);overflow-y:auto;overscroll-behavior:contain;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s var(--ease),transform .3s var(--ease),visibility 0s .3s}
.menu-abierto .menu{opacity:1;visibility:visible;transform:none;transition:opacity .3s var(--ease),transform .3s var(--ease)}
.js .menu>a{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:1px solid var(--linea);font-family:var(--display);font-weight:300;font-stretch:112%;font-size:1.8rem;line-height:1.1;color:var(--antracita)}
.js .menu>a::after{content:"→";position:static;height:auto;background:none;transform:none;font-family:var(--texto);font-size:1.1rem;color:var(--piedra)}
.js .menu>a[aria-current]::after{content:"·";color:var(--naranja);font-size:2rem;line-height:.5}
.js .menu .extra{display:flex;flex-direction:column;gap:12px;margin-top:30px}
.js .menu .extra p{margin-top:6px;font-size:.9rem;color:var(--antracita-2)}
html.menu-abierto{overflow:hidden}
}

/* Botones: antracita lleno o de línea; los de escribir un correo (mailto:) y llamar (tel:) llevan su icono */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:50px;padding:.8em 1.5em;border:1px solid var(--antracita);border-radius:var(--r);font:500 .95rem/1.2 var(--texto);letter-spacing:.01em;text-align:center;text-decoration:none;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.btn-p{background:var(--antracita);color:var(--blanco)}
.btn-p:hover{background:#121315;border-color:#121315}
.btn-l{background:transparent;color:var(--antracita)}
.btn-l:hover{background:var(--antracita);color:var(--blanco)}
.btn:active{transform:translateY(1px)}
a.btn[href^="mailto:"]{--ico:var(--sobre)}
a.btn[href^="tel:"]{--ico:var(--fono)}
a.btn[href^="mailto:"]::before,a.btn[href^="tel:"]::before{content:"";width:1.15em;height:1.15em;flex:none;background:currentColor;-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat}
.top .btn{min-height:42px;padding:.55em 1.1em;font-size:.88rem}
.enlace{display:inline-flex;align-items:center;gap:.55em;min-height:44px;padding:0;border:0;background:none;color:var(--antracita);font:500 .95rem/1.2 var(--texto);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;cursor:pointer}
.enlace::after{content:"→";text-decoration:none;display:inline-block;transition:transform .3s var(--ease)}
.enlace:hover::after{transform:translateX(4px)}

/* Cabecera de página: pared blanca; si lleva figura, la figura se apoya en el suelo gris que sigue en la sección siguiente */
main{display:block}
.hero-wrap{position:relative;background:var(--blanco)}
.crumbs{padding-top:22px;font-size:.8rem;color:var(--antracita-2)}
.crumbs a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
.crumbs a:hover{color:var(--antracita)}
.hero{display:grid;gap:40px;padding-block:30px clamp(64px,8vw,104px)}
.hero-txt{min-width:0}
.eyebrow{display:flex;align-items:flex-start;gap:12px;font:500 .72rem/1.3 var(--display);font-stretch:125%;letter-spacing:.2em;text-transform:uppercase;color:var(--antracita-2)}
.eyebrow::before{content:"";width:28px;height:1px;flex:none;margin-top:.62em;background:currentColor}
.hero h1{margin-top:18px;max-width:17ch;font-size:clamp(2.35rem,6.2vw,4.6rem);overflow-wrap:break-word}
.acc{color:var(--piedra)}
.lead{margin-top:22px;max-width:54ch;color:var(--antracita-2);font-size:clamp(1.03rem,1.5vw,1.16rem)}
.ctas{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:32px}
.perks{list-style:none;display:flex;flex-wrap:wrap;gap:10px 30px;margin:40px 0 0;padding:20px 0 0;border-top:1px solid var(--linea);font-size:.88rem;color:var(--antracita-2)}
.perks li{display:flex;align-items:center;gap:11px}
.perks li::before{content:"";width:11px;height:6px;flex:none;border-left:1.5px solid var(--antracita);border-bottom:1.5px solid var(--antracita);transform:translateY(-2px) rotate(-45deg)}
.hero-fig{margin:0;min-width:0}
.hero-fig img,.hero-fig svg.ilu{display:block;width:100%;height:auto}
.suelo-ref{position:relative;isolation:isolate}
.con-suelo{overflow:hidden}
.con-suelo .hero{padding-bottom:clamp(32px,5vw,56px)}
.con-suelo .suelo-ref::before{content:"";position:absolute;z-index:-1;top:var(--suelo,30%);bottom:-200vh;left:-100vmax;right:-100vmax;background:var(--gris)}
@media (max-width:560px){.hero{gap:28px}.hero .ctas .btn{flex:1 1 100%}.perks{flex-direction:column;gap:10px}.eyebrow{gap:10px;font-size:.66rem;letter-spacing:.15em}.eyebrow::before{width:20px}}
@media (min-width:960px){
.hero.con-fig{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;column-gap:64px}
.hero.con-fig h1{font-size:clamp(2.35rem,4.2vw,3.9rem)}
.con-suelo .suelo-ref::before{left:-32px}
}

/* Secciones: alternan gris y blanco; las líneas y los paneles toman el tono contrario al fondo */
.sheet>section.block{--l:var(--linea);--panel:var(--gris);padding-block:clamp(64px,9vw,124px);background:var(--blanco)}
.sheet>section.block:nth-of-type(odd){--l:var(--linea-2);--panel:var(--blanco);background:var(--gris)}
section.block h2{max-width:20ch;margin-bottom:clamp(30px,4vw,52px);font-size:clamp(1.9rem,4.4vw,3.25rem)}
.nota{max-width:72ch;margin-top:26px;font-size:.86rem;color:var(--antracita-2)}
.nota+.nota{margin-top:10px}
.prose{display:flex;flex-direction:column;gap:14px;max-width:66ch}
.consejo{max-width:66ch;margin-top:34px;padding-top:20px;border-top:1px solid var(--l)}
.grid2+.consejo{padding-top:0;border-top:0}
.grid3,.grid2{display:grid;grid-template-columns:minmax(0,1fr)}

/* Bloques de texto: columnas separadas por líneas finas, sin cajas */
.card{display:flex;flex-direction:column;gap:10px;min-width:0;padding-block:26px;border-top:1px solid var(--l);color:inherit;text-decoration:none}
.grid3:not(.cat)>.card:last-child,.grid2>.card:last-child{border-bottom:1px solid var(--l)}
.card h3{font-size:1.45rem;font-weight:400}
.card p{max-width:46ch;color:var(--antracita-2);font-size:.98rem}
.tag{align-self:flex-start;font:500 .68rem/1.35 var(--display);font-stretch:125%;letter-spacing:.18em;text-transform:uppercase;color:var(--antracita-2)}
a.card::after{content:"→";margin-top:auto;padding-top:8px;font-size:1.2rem;transition:transform .3s var(--ease)}
a.card:hover::after{transform:translateX(6px)}
a.card:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
@media (min-width:861px){
.grid3:not(.cat){grid-template-columns:repeat(3,minmax(0,1fr))}
.grid3:not(.cat)>.card{padding:4px 34px 6px;border-top:0;border-left:1px solid var(--l)}
.grid3:not(.cat)>.card:last-child{border-bottom:0}
.grid3:not(.cat)>.card:first-child{padding-left:0;border-left:0}
.grid2{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:56px}
.grid2>.card:nth-last-child(2){border-bottom:1px solid var(--l)}
}

/* Fichas de colchón: la foto en su peana (gris sobre blanco, blanca sobre gris) y el texto debajo */
.grid3.cat{gap:60px 28px}
@media (min-width:600px){.grid3.cat{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1020px){.grid3.cat{grid-template-columns:repeat(3,minmax(0,1fr));gap:76px 32px}}
.prod,.card.prod{display:flex;flex-direction:column;min-width:0;padding:0;border:0}
picture{display:contents}
.ph{position:relative;max-width:100%;aspect-ratio:4/3;overflow:hidden;background:var(--panel)}
.ph img{display:block;width:100%;height:100%;padding:15% 9% 12%;object-fit:contain;mix-blend-mode:multiply;transition:transform .9s var(--ease)}
@media (hover:hover){.prod:hover .ph img{transform:scale(1.045)}}
.badges{position:absolute;top:12px;left:12px;right:12px;display:flex;flex-wrap:wrap;gap:6px}
.bdg{padding:.5em .7em;border:1px solid var(--l);background:var(--blanco);color:var(--antracita);font:500 .6rem/1.2 var(--display);font-stretch:112%;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.prod .bd{display:flex;flex:1;flex-direction:column;gap:10px;padding-top:22px}
.prod h3{font-size:1.5rem;font-weight:400}
.prod p{color:var(--antracita-2);font-size:.95rem}
.prod p b{color:var(--antracita);font-weight:600}
.prod .para{color:var(--antracita)}
.fzm{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:3px;max-width:250px;margin-top:4px}
.fzm i{height:5px;background:var(--l)}
.fzm i.on{background:var(--antracita)}
.prod .fzt,.prod .med{font-size:.88rem}
.prod .fzt{color:var(--antracita)}
.med span{color:var(--antracita-2)}
.buy{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:16px;border-top:1px solid var(--l)}
.prod .buy{margin-top:auto}
.prod .bd>.buy{margin-top:auto;padding-top:16px}
.buy small{display:block;font:500 .62rem/1.3 var(--display);font-stretch:118%;letter-spacing:.16em;text-transform:uppercase;color:var(--antracita-2)}
.buy b{font-family:var(--display);font-size:1.15rem;font-weight:400;font-stretch:112%}
.buy .btn{min-height:44px;padding:.55em 1.05em;font-size:.88rem}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.fchip{min-height:40px;padding:.45em 1em;border:1px solid var(--linea-2);border-radius:999px;background:transparent;color:var(--antracita);font:500 .88rem var(--texto);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.fchip:hover{border-color:var(--antracita)}
.fchip:active{transform:scale(.97)}
.fchip[aria-pressed="true"]{border-color:var(--antracita);background:var(--antracita);color:var(--blanco)}
.nres{margin-bottom:30px;font-size:.85rem;color:var(--antracita-2)}

/* Tablas, preguntas, pueblos y llamada final */
.tbl{overflow-x:auto;border-top:1px solid var(--antracita)}
table{width:100%;border-collapse:collapse;font-size:.97rem;font-variant-numeric:tabular-nums}
th,td{padding:17px 20px 17px 0;border-bottom:1px solid var(--l);text-align:left;vertical-align:top}
th{padding-block:15px 13px;font:500 .66rem/1.3 var(--display);font-stretch:118%;letter-spacing:.15em;text-transform:uppercase;color:var(--antracita-2)}
td:first-child{font-weight:600}
@media (max-width:520px){th,td{padding-right:12px;font-size:.9rem}th{font-size:.6rem;letter-spacing:.1em}}
.faq .wrap>details{max-width:880px;border-top:1px solid var(--l)}
.faq .wrap>details:last-of-type{border-bottom:1px solid var(--l)}
.faq summary{position:relative;padding:22px 48px 22px 0;font-size:1.05rem;font-weight:500;list-style:none;cursor:pointer}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before,.faq summary::after{content:"";position:absolute;right:6px;top:50%;width:15px;height:1.5px;margin-top:-1px;background:var(--antracita);transition:transform .35s var(--ease)}
.faq summary::before{transform:rotate(90deg)}
.faq details[open] summary::before{transform:rotate(0)}
.faq details p{max-width:66ch;padding:0 0 24px;color:var(--antracita-2)}
.zonas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;border-top:1px solid var(--l)}
@media (min-width:760px){.zonas{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1100px){.zonas{grid-template-columns:repeat(4,minmax(0,1fr))}}
ul.zonas{margin:0;padding:0;list-style:none}
.zonas li{display:flex;align-items:center;min-height:56px;padding-block:14px;border-bottom:1px solid var(--l);font-size:.98rem;scroll-margin-top:calc(var(--hdr) + 24px)}
.zonas li:target{font-weight:600;box-shadow:inset 3px 0 0 var(--naranja);padding-left:12px}
.band{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:28px 40px}
.band>div{min-width:0;max-width:46ch}
.band h2{margin:0!important}
.band p{margin-top:16px;color:var(--antracita-2)}
.band>.ctas{max-width:none;margin-top:0}
@media (max-width:560px){.band>.ctas{width:100%}.band>.ctas .btn{flex:1 1 100%}}
.info{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:28px;border-top:1px solid var(--l)}
.info div{min-width:0;padding-block:22px;border-bottom:1px solid var(--l);overflow-wrap:anywhere}
.info small,.facts small{display:block;margin-bottom:8px;font:500 .66rem/1.3 var(--display);font-stretch:125%;letter-spacing:.18em;text-transform:uppercase;color:var(--antracita-2)}
@media (max-width:860px){.info{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.info{grid-template-columns:1fr}}

/* Pie: la pared antracita de la tienda */
footer{background:var(--pie);color:var(--pie-texto);font-size:.92rem}
footer .pie{display:grid;grid-template-columns:1.25fr 1fr 1.6fr;gap:40px;padding-block:68px 44px}
footer h3{margin-bottom:16px;color:var(--blanco);font:500 .7rem/1.3 var(--display);font-stretch:118%;letter-spacing:.18em;text-transform:uppercase}
footer ul{display:flex;flex-direction:column;gap:3px;margin:0;padding:0;list-style:none}
footer ul a{display:inline-block;padding-block:2px}
footer a{text-decoration:none}
footer a:hover{color:var(--blanco);text-decoration:underline;text-underline-offset:4px}
footer .zl{display:grid;grid-template-columns:1fr 1fr;gap:3px 20px}
footer .titular{margin-top:14px;font-size:.8rem;line-height:1.5;overflow-wrap:anywhere}
footer .dir{margin-top:12px;overflow-wrap:anywhere}
footer .dir b{color:var(--blanco);font-weight:500}
footer .legal{padding-block:22px 112px;border-top:1px solid rgba(255,255,255,.1);font-size:.8rem}
@media (min-width:761px){footer .legal{padding-bottom:28px}}
@media (max-width:760px){footer .pie{grid-template-columns:1fr;gap:34px}}

/* Pedir precio siempre a mano: en el escritorio, un botón de correo; en el móvil, una barra fija que aparece al dejar
   atrás la cabecera, con llamar (el teléfono de La Trocha) y escribir un correo, o, en la ficha, volver al catálogo y
   pedir precio de ese modelo */
.barra{position:fixed;z-index:25;right:max(20px,env(safe-area-inset-right,0px));bottom:max(20px,env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:10px}
.barra p,.barra .llama{display:none}
.pide,.llama{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:.75em 1.25em;border:1px solid var(--antracita);border-radius:var(--r);background:var(--antracita);color:var(--blanco);font-weight:500;line-height:1.2;text-decoration:none;white-space:nowrap;box-shadow:0 14px 34px -14px rgba(20,20,22,.55);transition:background .25s,color .25s}
.pide:hover{background:#121315}
.llama{background:var(--blanco);color:var(--antracita);box-shadow:none}
.llama:hover{background:var(--antracita);color:var(--blanco)}
.pide:active,.llama:active{transform:translateY(1px)}
.pide svg,.llama svg{width:20px;height:20px;flex:none}
@media (max-width:760px){.barra{left:0;right:0;bottom:0;justify-content:space-between;padding:10px max(16px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));border-top:1px solid var(--linea);background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:transform .45s var(--ease)}.barra p{display:flex;flex:1 1 auto;flex-direction:column;min-width:0;color:var(--antracita);font-size:.9rem;line-height:1.25}.barra p span{font-size:.78rem;color:var(--antracita-2)}.barra .llama{display:flex}.js .barra:not(.on){transform:translateY(110%)}.pide,.llama{padding:.65em 1.1em;box-shadow:none}}
@media (max-width:560px){.barra.dos p{display:none}.barra.dos .pide{flex:1 1 auto}.pide,.llama{padding-inline:.9em}}
@media (max-width:360px){.pide,.llama{gap:8px;padding-inline:.75em;font-size:.94rem}}

/* Portada */
.portada .hero{--suelo:24%}
.portada h1,.portada .hero.con-fig h1{max-width:none;margin-top:0;font-size:clamp(3.1rem,12vw,6.4rem);line-height:.96;letter-spacing:-.03em}
.portada h1 .eyebrow{margin-bottom:18px}
.portada h1 .lema{display:block}
.portada h1 .punto{color:var(--naranja)}
.portada .lead{max-width:40ch}
@media (min-width:960px){.portada .hero{--suelo:34%;padding-top:56px}.portada .hero.con-fig{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr)}.portada h1,.portada .hero.con-fig h1{font-size:clamp(3.1rem,5.6vw,5.6rem)}}
.servicios{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;margin:0;padding:0;list-style:none;border-top:1px solid var(--l)}
.servicios li{padding-block:16px;border-bottom:1px solid var(--l);font-size:.95rem}
.servicios li:last-child:nth-child(odd){grid-column:1/-1}
@media (min-width:900px){.servicios{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);column-gap:0;border-bottom:1px solid var(--l)}.servicios li{padding:20px 18px;border-bottom:0;border-left:1px solid var(--l)}.servicios li:first-child{padding-left:0;border-left:0}.servicios li:last-child:nth-child(odd){grid-column:auto}}
.sheet>section.franja{padding-block:0 clamp(56px,7vw,88px)}
.cap{display:grid;gap:44px;align-items:center}
.cap-txt{min-width:0}
.cap h2,section.block .cap h2{margin:16px 0 0}
.cap .lead{max-width:44ch}
@media (min-width:960px){.cap{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:80px}}
.cap .mas{margin-top:26px}
.cap-txt .mas,.mas-cat{display:flex;flex-wrap:wrap;gap:6px 28px}

/* Dibujos (sus estilos están en dibujos.py) y su pie */
.dibujo{margin:0;min-width:0}
.dibujo figcaption,.hero-fig figcaption{position:relative;z-index:1;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 20px;margin-top:14px;font-size:.85rem;color:var(--antracita-2)}
html:not(.js) [data-t]{display:none}

/* Capas del colchón: corte dibujado con marcas numeradas y leyenda con el grosor de cada capa */
.corte{grid-template-areas:"txt" "fig" "ley";gap:30px}
.corte .cap-txt{grid-area:txt}
.corte .dibujo{grid-area:fig}
.corte .capas{grid-area:ley}
.corte-fig{position:relative}
.marca{position:absolute;display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--antracita);border-radius:50%;background:var(--blanco);color:var(--antracita);font:500 .72rem/1 var(--display);font-stretch:112%;transform:translate(-50%,-50%);box-shadow:0 2px 6px rgba(0,0,0,.16)}
.capas{counter-reset:capa;margin:0;padding:0;list-style:none;border-top:1px solid var(--l)}
.capas li{counter-increment:capa;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding-block:12px;border-bottom:1px solid var(--l)}
.capas li::before{content:counter(capa);display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--antracita);border-radius:50%;font:500 .72rem/1 var(--display);font-stretch:112%}
.capas .n{font-size:.95rem}
.capas .cm{font:400 .95rem var(--display);font-stretch:112%;font-variant-numeric:tabular-nums;color:var(--antracita-2)}
@media (min-width:960px){.corte{grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-areas:"txt fig" "ley fig";gap:40px 80px;align-items:start}.corte .dibujo{align-self:center}.marca{width:28px;height:28px;font-size:.8rem}}

/* Acabados y telas */
.acab{grid-template-areas:"txt" "fig" "sw"}
.acab .cap-txt{grid-area:txt}
.acab .dibujo{grid-area:fig}
.acab .selector{grid-area:sw;min-width:0}
@media (min-width:960px){.acab{grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-areas:"fig txt" "fig sw";row-gap:0;align-items:start}.acab .dibujo{align-self:center}}
.swlab{margin-top:26px;font:500 .68rem/1.3 var(--display);font-stretch:125%;letter-spacing:.18em;text-transform:uppercase;color:var(--antracita-2)}
.selector .swlab:first-child{margin-top:0}
.swrow{display:flex;flex-wrap:wrap;gap:16px 18px;margin-top:14px}
.sw{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:50px;padding:0;border:0;background:none;color:var(--antracita-2);font:500 .78rem var(--texto);cursor:pointer}
.sw i{width:42px;height:42px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(42,43,46,.18);transition:box-shadow .25s,transform .25s var(--ease)}
.sw:hover i{transform:scale(1.06)}
.sw[aria-pressed="true"]{color:var(--antracita)}
.sw[aria-pressed="true"] i{box-shadow:inset 0 0 0 1px rgba(42,43,46,.18),0 0 0 3px var(--blanco),0 0 0 4px var(--antracita)}
/* Veta suave (Ártico): el color de la muestra, medio transparente, por encima de la veta */
.sw i.suave{box-shadow:inset 0 0 0 1px rgba(42,43,46,.18),inset 0 0 0 24px color-mix(in srgb,var(--c) 55%,transparent)}
.sw[aria-pressed="true"] i.suave{box-shadow:inset 0 0 0 1px rgba(42,43,46,.18),inset 0 0 0 24px color-mix(in srgb,var(--c) 55%,transparent),0 0 0 3px var(--blanco),0 0 0 4px var(--antracita)}
.sel{margin-top:26px;padding-top:16px;border-top:1px solid var(--l);font-size:.9rem;color:var(--antracita-2)}
.sel+.nota{margin-top:10px}

/* Test del descanso */
.quiz{min-width:0;padding:clamp(24px,4vw,44px);border:1px solid var(--l);background:var(--blanco)}
.prog{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px;margin-bottom:14px}
.prog i{height:2px;background:var(--linea)}
.prog i.on{background:var(--antracita)}
.quiz small{font-size:.8rem;color:var(--antracita-2)}
.quiz h3{margin:8px 0 24px;font-size:clamp(1.55rem,3vw,2.1rem);outline:0}
.opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (max-width:560px){.opts{grid-template-columns:minmax(0,1fr)}}
.opt{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:14px 18px;border:1px solid var(--linea-2);border-radius:var(--r);background:var(--blanco);color:var(--antracita);font:500 .98rem/1.3 var(--texto);text-align:left;cursor:pointer;transition:border-color .2s,background .2s}
.opt::after{content:"→";color:var(--piedra);transition:transform .3s var(--ease)}
.opt:hover{border-color:var(--antracita);background:var(--gris)}
.opt:hover::after{transform:translateX(3px)}
.res h3{margin:14px 0 0}
.res p:not(.eyebrow){margin-top:12px;color:var(--antracita-2)}
.meter{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;margin-top:24px}
.meter i{height:6px;background:var(--linea)}
.meter i.on{background:var(--antracita)}
.mlab{display:flex;justify-content:space-between;gap:8px;margin-top:8px;font-size:.78rem;color:var(--antracita-2);font-variant-numeric:tabular-nums}
.res .ctas{margin-top:26px}
@media (max-width:560px){.res .ctas .btn{flex:1 1 100%}}
.linkb{min-height:44px;margin-top:10px;padding:0;border:0;background:none;color:var(--antracita-2);font:500 .9rem var(--texto);cursor:pointer}
.linkb:hover{color:var(--antracita)}
/* Test del descanso: la última pregunta deja marcar varias cosas (casilla en lugar de flecha) y el resultado son
   filas de colchón como "Otros colchones" de las fichas: foto en su peana, nombre, por qué encaja y pedir precio */
.quiz{container:quiz/inline-size}
.pista{margin:-12px 0 20px;font-size:.92rem;color:var(--antracita-2)}
.opt-m::after{content:"";width:20px;height:20px;flex:none;border:1px solid var(--linea-2);border-radius:2px;background:var(--blanco) center/14px 14px no-repeat;transition:background-color .2s,border-color .2s}
.opt-m:hover::after{transform:none}
@media (hover:none){.opt-m:hover{border-color:var(--linea-2);background:var(--blanco)}}
.opt-m[aria-pressed="true"]{border-color:var(--antracita);box-shadow:inset 0 0 0 1px var(--antracita)}
.opt-m[aria-pressed="true"]::after{border-color:var(--antracita);background-color:var(--antracita);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.qfin{display:flex;flex-wrap:wrap;align-items:center;gap:6px 26px;margin-top:24px}
.qfin .linkb{margin-top:0}
@media (max-width:560px){.qfin .btn{flex:1 1 100%}}
.res p.rango{margin-top:14px;color:var(--antracita)}
.recos{display:grid;margin:28px 0 0;padding:0;list-style:none;border-top:1px solid var(--linea)}
.reco{display:grid;grid-template-columns:92px minmax(0,1fr);grid-template-areas:"ph cab" "por por" "acc acc";align-items:center;gap:12px 16px;padding-block:20px;border-bottom:1px solid var(--linea)}
.reco .ph{grid-area:ph;display:block;background:var(--gris)}
.reco .ph img{padding:12% 8% 10%}
.reco-cab{grid-area:cab;display:flex;flex-direction:column;gap:6px;min-width:0}
.reco h4{margin:0;font:400 1.25rem/1.15 var(--display);font-stretch:112%;text-wrap:balance}
.reco h4 a{color:inherit;text-decoration:none}
.reco h4 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.res p.reco-por{grid-area:por;margin:0;font-size:.94rem;line-height:1.5}
.reco-por b{font-weight:600;color:var(--antracita)}
.res p.intro{font-size:.94rem}
/* en el móvil, como en "Otros colchones" de las fichas: el tipo debajo del nombre y en letra normal */
.reco .tag{order:1;font:400 .84rem/1.35 var(--texto);letter-spacing:0;text-transform:none}
.reco-acc{grid-area:acc;display:flex;flex-wrap:wrap;align-items:center;gap:4px 24px}
.reco-acc .btn{min-height:44px;padding:.55em 1.05em;font-size:.88rem}
.res p.nota{margin-top:18px}
@container quiz (min-width:500px){.reco{grid-template-columns:112px minmax(0,1fr);grid-template-areas:"ph cab" "ph por" "ph acc";align-items:start;gap:8px 22px}.reco-acc{margin-top:6px}
.reco .tag{order:0;font:500 .68rem/1.35 var(--display);font-stretch:125%;letter-spacing:.18em;text-transform:uppercase}}

/* Tiendas: datos de la portada (.datos, .facts) y de contacto.html (.tiendas) */
.facts{display:grid;grid-template-columns:minmax(0,1fr);column-gap:32px;border-top:1px solid var(--l)}
.facts div{min-width:0;padding-block:20px;border-bottom:1px solid var(--l);overflow-wrap:anywhere}
@media (min-width:700px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
.datos{display:flex;flex-wrap:wrap;gap:6px 26px;margin-top:22px;font-size:.95rem;color:var(--antracita-2)}
.tiendas{display:grid;gap:56px}
@media (min-width:860px){.tiendas{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:56px}}
.tienda{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.tienda h3{margin-top:12px;font-size:clamp(1.7rem,3.2vw,2.3rem)}
.tienda dl{align-self:stretch;margin:24px 0 28px;border-top:1px solid var(--l)}
.tienda dl div{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:4px 16px;padding-block:14px;border-bottom:1px solid var(--l)}
.tienda dt{padding-top:.32em;font:500 .66rem/1.3 var(--display);font-stretch:125%;letter-spacing:.18em;text-transform:uppercase;color:var(--antracita-2)}
.tienda dd{margin:0;min-width:0;overflow-wrap:anywhere}
@media (max-width:420px){.tienda dl div{grid-template-columns:minmax(0,1fr)}}

[hidden]{display:none!important}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

:root{--sobre:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 5h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2zM3.6 6.6l8.4 6.4 8.4-6.4'/%3E%3C/svg%3E");--fono:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.6 3.5h2.6l1.4 4-2 1.4a11 11 0 0 0 6.5 6.5l1.4-2 4 1.4v2.6a2 2 0 0 1-2.1 2A16 16 0 0 1 4.6 5.6a2 2 0 0 1 2-2.1z'/%3E%3C/svg%3E")}

/* Dibujos: tres cuartos a escala real, contornos finos antracita y sombras suaves */
.ilu{display:block;width:100%;height:auto;overflow:visible}
.ilu .ln{fill:none;stroke:#2a2b2e;stroke-opacity:.5;stroke-width:1;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.ilu .ln2{fill:none;stroke:#2a2b2e;stroke-opacity:.2;stroke-width:.8;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.ilu .madera{fill:#cfa77a}
.ilu .canto{fill:#e2c49f}
.ilu .int-suelo{fill:#e3ded4}
.ilu .zocalo{fill:#36373a}.ilu .zocalo2{fill:#28292c}
.ilu .cil{stroke:#2a2b2f;stroke-linecap:round}.ilu .cil-l{stroke:#8a8c92;stroke-linecap:round;opacity:.55}
.ilu .vas{stroke:#a9adb3;stroke-linecap:round}.ilu .vas-l{stroke:#fff;stroke-linecap:round;opacity:.7}
.cama{--base:#c58a4e;--veta:1;--tela:0}
.cama .base{fill:var(--base);transition:fill .6s var(--ease)}
.cama .veta{opacity:var(--veta);transition:opacity .6s}
.cama .tela{opacity:var(--tela);transition:opacity .6s}
.ilu .cota{fill:none;stroke:#2a2b2e;stroke-opacity:.38;stroke-width:1;vector-effect:non-scaling-stroke}
.ilu text{fill:#5c5d61;font:500 20px var(--display);font-stretch:118%;letter-spacing:.14em}
@media (min-width:960px){.ilu text{font-size:13px}}
/* Muestras del selector: madera con veta, laca con brillo y tejido con trama */
.sw i{background:var(--c)}
.sw i.mad{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48'%3E%3Cg fill='none'%3E%3Cpath d='M-2 1.2C14 1.4 26 1.6 50 1.3' stroke='%23fff' stroke-opacity='0.15' stroke-width='0.9'/%3E%3Cpath d='M-2 4.6C14 3.8 26 4.6 50 4.1' stroke='%23fff' stroke-opacity='0.13' stroke-width='1.03'/%3E%3Cpath d='M-2 6.3C14 6.2 26 5.8 50 6.2' stroke='%23000' stroke-opacity='0.17' stroke-width='0.36'/%3E%3Cpath d='M-2 8.2C14 7.8 26 8.9 50 7.9' stroke='%23fff' stroke-opacity='0.09' stroke-width='0.95'/%3E%3Cpath d='M-2 9.9C14 10.1 26 9.2 50 10' stroke='%23000' stroke-opacity='0.2' stroke-width='0.51'/%3E%3Cpath d='M-2 11.7C14 12.6 26 12.4 50 12.3' stroke='%23000' stroke-opacity='0.22' stroke-width='0.75'/%3E%3Cpath d='M-2 14.6C14 14.1 26 15.4 50 14.3' stroke='%23000' stroke-opacity='0.22' stroke-width='1.02'/%3E%3Cpath d='M-2 16.7C14 16.4 26 16.1 50 16.5' stroke='%23000' stroke-opacity='0.11' stroke-width='0.58'/%3E%3Cpath d='M-2 19.4C14 18.5 26 19.7 50 18.9' stroke='%23000' stroke-opacity='0.14' stroke-width='0.96'/%3E%3Cpath d='M-2 21.9C14 21.5 26 21.8 50 21.7' stroke='%23fff' stroke-opacity='0.08' stroke-width='1.08'/%3E%3Cpath d='M-2 23.3C14 23.8 26 23.9 50 23.6' stroke='%23000' stroke-opacity='0.19' stroke-width='0.62'/%3E%3Cpath d='M-2 26C14 25.1 26 25.2 50 25.5' stroke='%23000' stroke-opacity='0.21' stroke-width='0.5'/%3E%3Cpath d='M-2 29.1C14 29.8 26 29.8 50 29.5' stroke='%23000' stroke-opacity='0.14' stroke-width='0.74'/%3E%3Cpath d='M-2 32.2C14 31.5 26 32.6 50 31.7' stroke='%23fff' stroke-opacity='0.14' stroke-width='0.38'/%3E%3Cpath d='M-2 35.6C14 34.9 26 35.4 50 35.2' stroke='%23000' stroke-opacity='0.21' stroke-width='0.6'/%3E%3Cpath d='M-2 39.1C14 39.2 26 38.7 50 39.1' stroke='%23000' stroke-opacity='0.12' stroke-width='0.41'/%3E%3Cpath d='M-2 40.8C14 41.1 26 41.7 50 41' stroke='%23000' stroke-opacity='0.11' stroke-width='1.09'/%3E%3Cpath d='M-2 43.4C14 43.2 26 42.9 50 43.3' stroke='%23000' stroke-opacity='0.2' stroke-width='0.69'/%3E%3Cpath d='M-2 45.7C14 44.9 26 46.5 50 45.2' stroke='%23000' stroke-opacity='0.16' stroke-width='0.98'/%3E%3Cpath d='M-2 47.4C14 47.8 26 48.2 50 47.6' stroke='%23000' stroke-opacity='0.19' stroke-width='0.43'/%3E%3C/g%3E%3C/svg%3E") center/100% 100%,linear-gradient(150deg,rgba(255,255,255,.18),rgba(255,255,255,0) 45%,rgba(0,0,0,.14)),var(--c)}
.sw i.laca{background:linear-gradient(140deg,rgba(255,255,255,.5),rgba(255,255,255,.1) 36%,rgba(255,255,255,0) 50%,rgba(0,0,0,.12)),var(--c)}
.sw i.tej{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Cpath d='M0 1h2M2 3h2' stroke='%23fff' stroke-opacity='.2'/%3E%3Cpath d='M1 2v2M3 0v2' stroke='%23000' stroke-opacity='.18'/%3E%3C/svg%3E") 0 0/4px 4px,linear-gradient(150deg,rgba(255,255,255,.14),rgba(0,0,0,.14)),var(--c)}

/* Fichas de colchón: una página por modelo. Foto grande en su peana gris, firmeza en la escala de 1 a 10 de la web,
   características con icono y ficha técnica en filas finas, como la ficha de un fabricante. Sin cajas ni sombras. */

/* Catálogo: toda la tarjeta abre la ficha; el botón de pedir precio queda por encima del enlace */
.prod{position:relative}
.prod h3 a{color:inherit;text-decoration:none}
.prod h3 a::after{content:"";position:absolute;inset:0;z-index:1}
.prod h3 a:focus-visible{outline:0}
.prod h3 a:focus-visible::after{outline:2px solid var(--antracita);outline-offset:6px}
.prod .buy .btn{position:relative;z-index:2}
.prod .ver{align-self:flex-start;display:inline-flex;align-items:center;gap:.5em;margin-top:2px;color:var(--antracita);font-size:.9rem;font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.prod .ver::after{content:"→";display:inline-block;text-decoration:none;transition:transform .3s var(--ease)}
@media (hover:hover){.prod:hover h3 a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}.prod:hover .ver::after{transform:translateX(4px)}}
/* El menú del móvil, cerrado (también mientras se desvanece al cerrarlo), no recibe toques */
@media (max-width:959px){.js:not(.menu-abierto) .menu{pointer-events:none}}

/* Foto de la portada: lleva a la ficha del Suitex Titanium */
.foto-enlace{display:block;color:inherit}
.foto-enlace:focus-visible{outline:2px solid var(--antracita);outline-offset:6px}
@media (hover:hover){.foto-enlace img{transition:transform .6s var(--ease)}.foto-enlace:hover img{transform:translateY(-4px)}}

/* Vuelta al catálogo (arriba del todo) y migas, que en el móvil se quedan solo en la vuelta */
.crumbs.migas-fila{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 24px;padding-top:8px}
.volver,.crumbs .volver{display:inline-flex;align-items:center;gap:.55em;min-height:44px;color:var(--antracita);font:500 .95rem/1.2 var(--texto);text-decoration:none}
.volver::before{content:"←";transition:transform .3s var(--ease)}
.volver:hover::before{transform:translateX(-4px)}
.volver span{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
@media (max-width:640px){.migas-fila .migas{display:none}}

/* Cabecera de la ficha: foto a la izquierda (arriba en el móvil) y datos clave a la derecha */
.ficha{--panel:var(--gris);--l:var(--linea);display:grid;grid-template-columns:minmax(0,1fr);gap:30px;padding-block:4px clamp(60px,8vw,104px)}
.ficha-foto{margin:0;min-width:0}
.ficha-foto .ph img{position:absolute;inset:0;margin:auto;padding:0;width:min(86%,calc(var(--nw,900) * 1.6px));height:min(74%,calc(var(--nh,500) * 1.6px));object-fit:contain}
.ficha-foto .sello{position:absolute;top:14px;left:14px;border-color:var(--antracita)}
.ficha-info{min-width:0}
.ficha h1{margin-top:16px;max-width:15ch;font-size:clamp(2.3rem,7vw,3.4rem);overflow-wrap:break-word}
.ficha .lead{margin-top:18px}
@media (min-width:960px){.ficha{grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:clamp(48px,5vw,80px);align-items:start;padding-top:20px}.ficha-foto{position:sticky;top:calc(var(--hdr) + 28px)}.ficha h1{font-size:clamp(2.4rem,3.6vw,3.4rem)}}

/* Firmeza: la misma escala de 1 a 10 de las tarjetas, más grande */
.etq{font:500 .66rem/1.3 var(--display);font-stretch:125%;letter-spacing:.18em;text-transform:uppercase;color:var(--antracita-2)}
.firmeza{margin-top:30px;padding-top:18px;border-top:1px solid var(--l)}
.firmeza .fz-v{display:flex;justify-content:space-between;align-items:baseline;gap:6px 16px;flex-wrap:wrap}
.firmeza .fz-v span{display:flex;flex-direction:column;gap:6px}
.firmeza .fz-v em{font-style:normal;font-size:1rem;color:var(--antracita)}
.firmeza .fz-v b{font:300 2.1rem/1 var(--display);font-stretch:112%;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.firmeza .fz-v b small{font-size:.5em;color:var(--antracita-2)}
.firmeza .meter{margin-top:14px}
.firmeza .meter i{height:8px}
.firmeza .mlab{margin-top:9px}

/* Datos clave: filas finas, etiqueta y valor */
.clave{margin:26px 0 0;border-top:1px solid var(--l)}
.clave div{display:grid;grid-template-columns:6.4em minmax(0,1fr);gap:16px;padding-block:13px;border-bottom:1px solid var(--l)}
.clave dt{padding-top:.3em}
.clave dd{margin:0;min-width:0;font-size:.98rem;line-height:1.45}

/* Pedir precio */
.pedir{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:28px}
.pedir span{display:flex;flex-direction:column;gap:4px}
.pedir span b{font:400 1.2rem/1.1 var(--display);font-stretch:112%}
.pedir .btn{flex:0 1 auto;min-width:min(100%,220px)}
@media (max-width:560px){.pedir .btn{flex:1 1 100%}}
.ficha .perks{margin-top:30px}

/* Características: icono en su círculo y nombre debajo; columnas según cuántas haya, para que ninguna quede sola */
.rasgos{--n:2;--nd:4;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));column-gap:18px;margin:0;padding:0;list-style:none;border-top:1px solid var(--l)}
.rasgos li{display:flex;flex-direction:column;align-items:flex-start;gap:14px;min-width:0;padding-block:20px 22px;border-bottom:1px solid var(--l);font-size:.95rem;line-height:1.35;overflow-wrap:break-word}
.rasgos i{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--panel)}
.ico{display:block;width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
@media (min-width:760px){.rasgos{grid-template-columns:repeat(var(--nd),minmax(0,1fr));max-width:calc(var(--nd) * 248px);column-gap:0;border-bottom:1px solid var(--l)}.rasgos li{padding:26px 22px 28px;border-bottom:0;border-left:1px solid var(--l)}.rasgos li:first-child{padding-left:0;border-left:0}}
.tecno{margin-top:40px}
.tecs{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:0;list-style:none}
.tecs li{padding:.42em .9em;border:1px solid var(--l);border-radius:999px;background:var(--panel);font-size:.86rem;line-height:1.3}

/* Ficha técnica */
.tecnica{max-width:920px;margin:0;border-top:1px solid var(--antracita)}
.tecnica>div{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;padding-block:16px 17px;border-bottom:1px solid var(--l)}
.tecnica dd{margin:0;min-width:0;line-height:1.5}
.tecnica ul{display:grid;gap:5px;margin:0;padding:0;list-style:none}
.tecnica li{display:grid;grid-template-columns:14px minmax(0,1fr);gap:8px}
.tecnica li::before{content:"";width:9px;height:1px;margin-top:.8em;background:var(--antracita-2)}
.medidas{display:grid;grid-template-columns:5.4em minmax(0,1fr);align-items:start;gap:10px;margin:0}
.medidas+.medidas{margin-top:10px}
.medidas .etq{padding-top:.95em}
.med-ch{display:flex;flex-wrap:wrap;gap:8px}
.med-ch span{min-width:3.3em;padding:.32em .6em;border:1px solid var(--linea-2);text-align:center;font-size:.92rem;font-variant-numeric:tabular-nums}
@media (min-width:700px){.tecnica>div{grid-template-columns:minmax(0,13em) minmax(0,1fr);gap:28px;padding-block:18px 19px}.tecnica dt{padding-top:.35em}}

/* Otros colchones: filas con miniatura en el móvil, tres columnas en escritorio */
.otros{display:grid;margin:0;padding:0;list-style:none;border-top:1px solid var(--l)}
.otros a{display:grid;grid-template-columns:112px minmax(0,1fr) auto;align-items:center;gap:18px;padding-block:14px;border-bottom:1px solid var(--l);color:inherit;text-decoration:none}
.otros a::after{content:"→";color:var(--piedra);transition:transform .3s var(--ease),color .3s}
.otros a:hover::after{transform:translateX(4px);color:var(--antracita)}
.otros a:hover b{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.otros .ph{display:block}
.otros .ph img{padding:12% 8% 10%}
.otros a>span:last-of-type{display:flex;flex-direction:column;gap:6px;min-width:0}
.otros b{display:block;font:400 1.25rem/1.15 var(--display);font-stretch:112%}
@media (max-width:759px){.otros a{grid-template-columns:92px minmax(0,1fr) auto;gap:14px}.otros .tag{order:1;font:400 .84rem/1.35 var(--texto);letter-spacing:0;text-transform:none}}
.mas-cat{margin-top:28px}
@media (min-width:760px){.otros{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:28px;border-top:0}.otros a{grid-template-columns:minmax(0,1fr) auto;row-gap:20px;padding:0;border-bottom:0}.otros .ph{grid-column:1/-1}}

/* Barra fija del móvil en la ficha: volver al catálogo y pedir precio de este modelo */
.barra .volver{display:none}
@media (max-width:760px){.barra .volver{display:inline-flex}}
