/* ==========================================================================
   Mobel Profi · tema de Fiproyecto (base fp-cactus)
   00 · Letra Jost, en el propio tema (OFL, assets/fonts/OFL.txt)
   10 · La propuesta visual aprobada, tal cual (no se «arregla»: el cliente aprobó cómo se ve)
   20 · Piezas de la tienda que la propuesta no tenía (cesta, buscador, pago, legales, WhatsApp, cookies…)
   ========================================================================== */
@font-face{font-family:"Jost";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/jost-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/jost-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/jost-latin-600-normal.woff2) format("woff2")}

/* ---------- 10 · Propuesta visual aprobada ---------- */
:root{
  --carbon:#151311; --carbon-2:#1e1b18; --carbon-3:#2a2622;
  --paper:#f4f4f1; --paper-2:#e8e6e1; --stone:#d6d2ca; --white:#ffffff;
  --brass:#c9a45c; --brass-2:#b8924a; --brass-deep:#7f5f27;
  --ink:#151311; --ink-soft:#57524b; --inv:#f0efec; --inv-soft:#bdb7ad;
  --f:"Jost","Futura","Century Gothic","Avenir Next",Arial,sans-serif;
  --s-cap:0.875rem;
  --s-small:1rem;
  --s-body:clamp(1.0625rem,1rem + 0.25vw,1.1875rem);
  --s-lead:clamp(1.25rem,1.1rem + 0.7vw,1.625rem);
  --s-sub:clamp(1.375rem,1.2rem + 0.6vw,1.75rem);
  --s-head:clamp(2.125rem,1.4rem + 3vw,4.25rem);
  --s-display:clamp(3.5rem,1rem + 10vw,10rem);
  --s-hero:clamp(2rem,10.4vw,9.4rem);
  --gutter:clamp(16px,3vw,40px);
  --max:1360px;
  --gap-section:clamp(96px,12vw,200px);
  --ease:cubic-bezier(.2,.8,.2,1);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--carbon);color:var(--ink);font-family:var(--f);font-size:var(--s-body);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--brass);outline-offset:3px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.wrap{max-width:var(--max);margin:0 auto;padding-left:max(var(--gutter),env(safe-area-inset-left,0px));padding-right:max(var(--gutter),env(safe-area-inset-right,0px))}
.price,.num{font-variant-numeric:tabular-nums lining-nums}
h1,h2,h3{font-weight:500;letter-spacing:-0.02em;line-height:1.02;margin:0;text-wrap:balance}
p{margin:0}
[hidden]{display:none!important}

/* ---------- Cabecera ---------- */
.mp-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:var(--carbon);color:var(--inv)}
.mp-header .wrap{display:flex;align-items:center;gap:28px;min-height:72px}
.mp-logo{display:block;flex:none;text-decoration:none;color:var(--inv)}
.mp-logo svg{height:20px;width:auto}
.mp-nav{display:flex;gap:4px;margin-left:auto}
.mp-nav a{text-decoration:none;padding:10px 12px;color:var(--inv);position:relative}
.mp-nav a::after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:3px;background:var(--brass);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.mp-nav a:hover::after,.mp-nav a[aria-current="page"]::after{transform:scaleX(1)}
.mp-actions{display:flex;align-items:center;gap:6px}
.mp-icon{display:inline-flex;align-items:center;gap:8px;padding:10px;text-decoration:none;color:var(--inv);background:none;border:0;cursor:pointer;transition:color .2s ease}
.mp-icon:hover{color:var(--brass)}
.mp-icon svg{width:22px;height:22px}
.mp-icon .lbl{font-size:var(--s-small)}
.cart-count{min-width:20px;height:20px;padding:0 6px;background:var(--brass);color:var(--carbon);font-size:var(--s-cap);font-weight:600;display:inline-flex;align-items:center;justify-content:center}
.mp-burger{display:none}
.mp-drawer{position:fixed;inset:0;z-index:60;background:var(--carbon);color:var(--inv);padding:calc(env(safe-area-inset-top,0px) + 20px) max(24px,env(safe-area-inset-right,0px)) 32px max(24px,env(safe-area-inset-left,0px));display:flex;flex-direction:column;gap:12px;transform:translateY(-102%);transition:transform .35s var(--ease);visibility:hidden}
.mp-drawer.open{transform:none;visibility:visible}
.mp-drawer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}
.mp-drawer a.big{font-size:var(--s-head);text-decoration:none;line-height:1.15;font-weight:500}
.mp-drawer .contact{margin-top:auto;color:var(--inv-soft)}
@media (max-width:980px){
  .mp-nav{display:none}
  .mp-burger{display:inline-flex}
  .mp-actions{margin-left:auto}
  .mp-icon .lbl{display:none}
}

/* ---------- Botones: la pestaña de carpeta vuelve en las esquinas superiores ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;background:var(--brass);color:var(--carbon);font-weight:600;text-decoration:none;border:0;cursor:pointer;clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 100%,0 100%);transition:background-color .2s ease,transform .15s ease}
.btn:hover{background:var(--brass-2)}
.btn:active{transform:scale(.98)}
.btn-dark{background:var(--carbon);color:var(--inv)}
.btn-dark:hover{background:var(--carbon-3)}
.btn-paper{background:var(--paper);color:var(--ink)}
.btn-paper:hover{background:var(--white)}
.link{color:inherit;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px;text-decoration-color:var(--brass)}
.link:hover{text-decoration-color:currentColor}
.btn svg,.link svg{width:20px;height:20px}

/* ---------- Portada: carpetas de proyecto ---------- */
.hero{background:var(--carbon);color:var(--inv);position:relative;overflow:hidden}
.hero-inner{text-align:center;padding-top:clamp(56px,9vw,110px)}
.hero-inner{container-type:inline-size}
.hero-title{margin:0 auto;font-size:var(--s-hero);font-size:min(10.2rem,calc(100cqi / 8.1));font-weight:500;letter-spacing:.115em;line-height:1;white-space:nowrap;color:var(--inv);text-indent:.077em;text-transform:uppercase}
.hero-title span{display:inline-block}
.hero-title .sp{width:.3em}
.hero-title .door-p{display:inline-block;width:.5645em;height:.7em;margin:0 .08em 0 0;vertical-align:baseline;overflow:visible;color:var(--brass)}
.hero-sub{max-width:46ch;margin:clamp(24px,3vw,40px) auto 0;font-size:var(--s-lead);line-height:1.4;color:var(--inv)}
.hero-sub b{font-weight:500;color:var(--brass)}
.folders{position:relative;margin-top:clamp(48px,7vw,88px);height:clamp(380px,46vw,560px)}
.folder{position:absolute;left:7%;right:7%;height:100%;text-decoration:none;display:block}
.folder .band{position:absolute;inset:40px 0 0 0;background:var(--c)}
.folder .tab{position:absolute;top:0;height:41px;min-width:150px;padding:0 30px;display:flex;align-items:center;justify-content:center;background:var(--c);color:var(--tc);font-size:var(--s-body);font-weight:500;clip-path:polygon(18px 0,calc(100% - 18px) 0,100% 100%,0 100%);transition:transform .25s var(--ease)}
.folder:hover .tab,.folder:focus-visible .tab{transform:translateY(-6px)}
.folder:focus-visible{outline:none}
.folder:focus-visible .tab{outline:3px solid var(--brass);outline-offset:2px}
.folder[data-i="0"]{top:0}.folder[data-i="1"]{top:64px}.folder[data-i="2"]{top:128px}.folder[data-i="3"]{top:192px}
.folder-front{position:absolute;left:7%;right:7%;top:256px;height:calc(100% - 216px);color:var(--ink)}
.folder-front .band{position:absolute;inset:40px 0 0 0;background:var(--paper)}
.folder-front .tab{position:absolute;top:0;left:6%;height:41px;min-width:150px;padding:0 30px;display:flex;align-items:center;justify-content:center;background:var(--paper);color:var(--ink);font-size:var(--s-body);font-weight:500;clip-path:polygon(18px 0,calc(100% - 18px) 0,100% 100%,0 100%)}
.folder-front .front-body{position:absolute;inset:40px 0 0 0;padding:32px;display:flex;flex-wrap:wrap;gap:16px 32px;align-items:flex-start}
.front-body p{max-width:38ch;color:var(--ink-soft);padding-top:12px}
@media (max-width:760px){
  .folders{height:520px;margin-top:40px}
  .folder,.folder-front{left:0;right:0}
  .folder[data-i="1"]{top:52px}.folder[data-i="2"]{top:104px}.folder[data-i="3"]{top:156px}
  .folder-front{top:208px;height:calc(100% - 168px)}
  .folder .tab,.folder-front .tab{height:33px;min-width:0;font-size:var(--s-small);padding:0 22px;clip-path:polygon(14px 0,calc(100% - 14px) 0,100% 100%,0 100%)}
  .folder .band,.folder-front .band,.folder-front .front-body{inset:32px 0 0 0}
  .folder-front .front-body{padding:20px 16px}
  .folder-front .btn{width:100%}
}

/* ---------- Secciones ---------- */
.section{padding-block:var(--gap-section)}
.on-paper{background:var(--paper);color:var(--ink)}
.on-paper-2{background:var(--paper-2);color:var(--ink)}
.on-stone{background:var(--stone);color:var(--ink)}
.on-brass{background:var(--brass);color:var(--carbon)}
.on-dark{background:var(--carbon);color:var(--inv)}
.on-dark-3{background:var(--carbon-3);color:var(--inv)}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:24px 48px;flex-wrap:wrap;margin-bottom:clamp(40px,5vw,72px)}
.sec-head h2{font-size:var(--s-head);max-width:16ch}
.sec-head p{max-width:44ch;font-size:var(--s-lead);line-height:1.4}
.on-dark .sec-head p,.on-dark-3 .sec-head p{color:var(--inv)}

/* ---------- La tarifa: índice con vista previa ---------- */
.tarifa-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,80px);align-items:start}
.tarifa-preview{position:sticky;top:120px}
.preview-frame{background:var(--white);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;overflow:hidden}
.preview-frame img{width:100%;height:100%;object-fit:cover;transition:opacity .24s ease}
.preview-frame img.packshot{object-fit:contain}
.preview-frame .nophoto{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--ink-soft);font-size:var(--s-small);padding:24px;text-align:center}
.preview-cap{display:flex;justify-content:space-between;gap:16px;padding-top:14px;font-size:var(--s-small);color:var(--ink-soft)}
.preview-cap b{color:var(--ink);font-weight:500;font-size:var(--s-body)}
.sheet{position:relative;background:var(--white);padding:56px clamp(24px,4vw,64px) 48px;margin-block:14px}
.sheet::before,.sheet::after{content:"";position:absolute;left:0;right:0;height:14px;background:var(--white);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='14'%3E%3Ccircle cx='14' cy='14' r='14'/%3E%3C/svg%3E") repeat-x;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='14'%3E%3Ccircle cx='14' cy='14' r='14'/%3E%3C/svg%3E") repeat-x}
.sheet::before{top:-14px}
.sheet::after{bottom:-14px;transform:scaleY(-1)}
.sheet-title{text-align:center;font-size:var(--s-head)}
.sheet-note{text-align:center;color:var(--ink-soft);font-size:var(--s-small);margin-top:10px}
.sheet-group{margin-top:56px}
.sheet-group h3{font-size:var(--s-sub);text-align:center;margin-bottom:22px;font-weight:500;letter-spacing:-0.01em}
.sheet-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.sheet-item a,.sheet-item button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 16px;width:100%;text-align:left;background:none;border:0;padding:10px 12px;margin:0 -12px;width:calc(100% + 24px);text-decoration:none;cursor:pointer;transition:opacity .2s ease,background-color .2s ease}
.sheet-item .n{font-size:var(--s-body);font-weight:500}
.sheet-item .p{font-size:var(--s-body);font-weight:500;text-align:right}
.sheet-item .d{grid-column:1/-1;font-size:var(--s-small);color:var(--ink-soft)}
.sheet-items.dim .sheet-item a:not(.on){opacity:.42}
.sheet-item a.on{background:var(--paper)}
.sheet-item .thumb{display:none}
.sheet-foot{text-align:center;margin-top:48px;font-size:var(--s-small);color:var(--ink-soft);display:flex;flex-direction:column;gap:2px}
.tarifa-cta{margin-top:40px;display:flex;gap:24px;align-items:center;flex-wrap:wrap}
@media (max-width:900px){
  .tarifa-grid{grid-template-columns:minmax(0,1fr)}
  .tarifa-preview{display:none}
  .sheet{padding:44px 20px 40px;margin-inline:-6px}
  .sheet-item a{grid-template-columns:64px minmax(0,1fr) auto}
  .sheet-item .thumb{display:block;width:64px;height:48px;object-fit:cover;background:var(--white);grid-row:span 2}
  .sheet-item .thumb.packshot{object-fit:contain}
  .sheet-item .d{grid-column:2/-1}
  .sheet-item .nothumb{display:flex;align-items:center;justify-content:center;width:64px;height:48px;background:var(--paper-2);grid-row:span 2;color:var(--ink-soft)}
}
.nothumb svg{width:40px;height:auto;opacity:.55}

/* ---------- ¿Cabe en tu salón? ---------- */
.cabe-sheet{background:var(--paper);color:var(--ink);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:0}
.cabe-plan{padding:clamp(20px,3vw,40px);background:var(--white);min-width:0}
.cabe-plan svg{width:100%;height:auto}
.cabe-side{padding:clamp(24px,3vw,44px);display:flex;flex-direction:column;gap:20px;min-width:0}
.cabe-read{display:flex;align-items:flex-end;gap:16px}
.cabe-read label{font-size:var(--s-small);color:var(--ink-soft);line-height:1.3;max-width:11ch;padding-bottom:.35em}
.cabe-out{font-size:var(--s-head);font-weight:500;letter-spacing:-0.03em;line-height:1}
.cabe-out small{font-size:.42em;letter-spacing:0;margin-left:6px}
.range{width:100%;-webkit-appearance:none;appearance:none;height:44px;background:transparent;cursor:pointer}
.range::-webkit-slider-runnable-track{height:6px;background:var(--stone)}
.range::-moz-range-track{height:6px;background:var(--stone)}
.range::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;margin-top:-11px;background:var(--carbon);border:0;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.range::-moz-range-thumb{width:28px;height:28px;background:var(--carbon);border:0;border-radius:0}
.range-ends{display:flex;justify-content:space-between;font-size:var(--s-small);color:var(--ink-soft);margin-top:-6px}
.cabe-count{font-size:var(--s-lead);font-weight:500}
.cabe-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:360px;overflow:auto}
.cabe-list button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;width:100%;text-align:left;background:var(--white);border:0;padding:12px 14px;cursor:pointer;transition:background-color .2s ease}
.cabe-list button:hover{background:var(--paper-2)}
.cabe-list button[aria-pressed="true"]{background:var(--carbon);color:var(--inv)}
.cabe-list .w{font-variant-numeric:tabular-nums;font-weight:500}
.cabe-list .k{grid-column:1/-1;font-size:var(--s-small);opacity:.8}
.cabe-list li.no{opacity:.45}
.cabe-rule{font-size:var(--s-small);color:var(--ink-soft)}
@media (max-width:900px){.cabe-sheet{grid-template-columns:minmax(0,1fr)}.cabe-list{max-height:none}}

/* ---------- Sillones: etiquetas de precio a lo largo del borde ---------- */
.slips-sec{position:relative;overflow:hidden;padding-top:var(--gap-section);padding-bottom:0}
.slips-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 64px;align-items:end;margin-bottom:64px}
.slips-intro h2{font-size:var(--s-head);max-width:13ch}
.slips-intro .txt{display:flex;flex-direction:column;gap:16px;font-size:var(--s-lead);line-height:1.4;max-width:40ch}
.slips{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:end}
.slip{background:var(--paper);color:var(--ink);padding:18px 18px 28px;display:flex;flex-direction:column;gap:6px;font-size:var(--s-small);transform-origin:bottom center;transition:transform .3s var(--ease)}
.slip:nth-child(2){transform:rotate(-1.4deg)}.slip:nth-child(5){transform:rotate(1.2deg)}
.slip:hover{transform:translateY(-8px)}
.slip .ph{background:var(--white);aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;margin-bottom:10px}
.slip .ph img{width:86%;height:86%;object-fit:contain}
.slip h3{font-size:var(--s-body);font-weight:600;letter-spacing:0;line-height:1.3}
.slip p,.slip ul{margin:0}
.slip ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:6px}
.slip .dash{color:var(--brass-deep);letter-spacing:.2em;overflow:hidden;white-space:nowrap}
.slip .pr{font-size:var(--s-sub);font-weight:600;margin-top:8px}
.slip .pr.pend{font-size:var(--s-small);font-weight:500;color:var(--ink-soft)}
.slip[data-h="1"]{min-height:300px}.slip[data-h="2"]{min-height:380px}.slip[data-h="3"]{min-height:340px}.slip[data-h="4"]{min-height:420px}
@media (max-width:900px){
  .slips-intro{grid-template-columns:minmax(0,1fr)}
  .slips{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
  .slip{min-height:0!important}
  .slip:nth-child(n+5){display:none}
}

/* ---------- Descanso: fotos con etiqueta colgada ---------- */
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 12px}
.tile{display:flex;flex-direction:column;text-decoration:none;color:inherit}
.tile .ph{background:var(--white);aspect-ratio:4/3;overflow:hidden}
.tile .ph img{width:100%;height:100%;object-fit:contain;transition:transform .5s var(--ease)}
.tile:hover .ph img{transform:scale(1.03)}
.strip{padding:14px 16px;display:flex;flex-direction:column;gap:6px;font-size:var(--s-small);background:var(--sb);color:var(--sc)}
.strip .r1{display:flex;justify-content:space-between;gap:8px;font-variant-numeric:tabular-nums}
.strip .r2{display:flex;justify-content:space-between;gap:8px}
.strip .r3{font-size:var(--s-body);font-weight:600;letter-spacing:0;line-height:1.3;margin:0}
.strip p{margin:0}
.tile:nth-child(4n+1) .strip{--sb:var(--carbon);--sc:var(--inv)}
.tile:nth-child(4n+2) .strip{--sb:var(--paper);--sc:var(--ink)}
.tile:nth-child(4n+3) .strip{--sb:var(--brass);--sc:var(--carbon)}
.tile:nth-child(4n+4) .strip{--sb:var(--carbon-3);--sc:var(--inv)}
.liberty{margin-top:64px;background:var(--carbon);color:var(--inv);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px 48px;padding:clamp(28px,4vw,56px)}
.liberty h3{font-size:var(--s-head)}
.liberty p{color:var(--inv-soft);margin-top:12px;max-width:40ch}
.sizes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.sizes div{background:var(--carbon-3);padding:16px 18px;display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.sizes .m{color:var(--inv);font-size:var(--s-sub)}
.sizes .price{font-size:var(--s-sub);font-weight:600;color:var(--brass)}
@media (max-width:900px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.liberty{grid-template-columns:minmax(0,1fr)}.sizes{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- Trabajos: fila que se arrastra ---------- */
.drag-col{display:flex;flex-direction:column}
.drag-col h3{font-size:var(--s-body);font-weight:600;letter-spacing:0;margin-top:18px}
.drag-col p{font-size:var(--s-small);color:var(--inv-soft);margin-top:10px}
.drag-col .sp{flex:none}
.drag-col img{width:100%;aspect-ratio:4/5;object-fit:cover;background:var(--carbon-2)}
.drag-cta{margin-top:56px;display:flex;gap:24px;flex-wrap:wrap;align-items:center}

/* ---------- La carta ---------- */
.letter-wrap{display:flex;justify-content:center}
.letter{position:relative;background:var(--paper);color:var(--ink);width:min(640px,100%);padding:clamp(28px,5vw,60px) clamp(24px,5vw,60px) 40px}
.letter::after{content:"";position:absolute;left:0;right:0;bottom:-12px;height:12px;background:var(--paper);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='12'%3E%3Ccircle cx='12' cy='0' r='12'/%3E%3C/svg%3E") repeat-x;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='12'%3E%3Ccircle cx='12' cy='0' r='12'/%3E%3C/svg%3E") repeat-x}
.letter .who{display:flex;align-items:center;gap:16px;margin-top:28px}
.letter .who p{margin:0}
.letter .avatar{width:48px;height:48px;border-radius:50%;background:var(--carbon);display:flex;align-items:center;justify-content:center}
.letter .avatar svg{height:24px;width:auto}
.letter h2{font-size:var(--s-head)}
.letter p{margin-bottom:18px;max-width:52ch}
.letter mark{background:var(--brass);color:var(--carbon);padding:0 4px}
.letter .sign{font-size:var(--s-sub);font-weight:500;line-height:1.2}
.letter .role{font-size:var(--s-small);color:var(--ink-soft)}
.tearoff{margin-top:40px;padding-top:24px;border-top:5px dotted var(--stone);display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.tearoff .num{font-size:var(--s-lead);font-weight:500}

/* ---------- Cupón ---------- */
.coupon{position:relative;background:var(--brass);color:var(--carbon);display:grid;grid-template-columns:minmax(0,46fr) minmax(0,54fr)}
.coupon::before,.coupon::after{content:"";position:absolute;left:calc(46% - 14px);width:28px;height:28px;border-radius:50%;background:var(--ground,var(--carbon))}
.coupon::before{top:-14px}.coupon::after{bottom:-14px}
.coupon-l{padding:clamp(28px,4vw,48px);display:flex;flex-direction:column;justify-content:space-between;gap:24px}
.coupon-l h2{font-size:var(--s-head);font-weight:600;max-width:12ch}
.coupon-r{padding:clamp(28px,4vw,48px);border-left:5px dotted var(--ground,var(--carbon));display:flex;flex-direction:column;gap:10px}
.field{display:flex;flex-direction:column}
.field input,.field select,.field textarea{width:100%;min-height:52px;padding:12px 16px;background:#ddbf86;border:0;color:var(--carbon);font-size:var(--s-small);border-radius:0}
.field textarea{min-height:96px;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:#5e4a26}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid var(--carbon);outline-offset:0;background:#e6cd9c}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:var(--s-small);margin-top:4px}
.consent input{width:22px;height:22px;flex:none;margin-top:1px;accent-color:var(--carbon)}
.submit{min-height:56px;background:var(--carbon);color:var(--inv);border:0;font-weight:600;cursor:pointer;margin-top:4px;transition:background-color .2s ease,transform .15s ease}
.submit:hover{background:var(--carbon-3)}
.submit:active{transform:scale(.99)}
.form-note{font-size:var(--s-small);background:var(--carbon);color:var(--inv);padding:12px 14px}
@media (max-width:860px){
  .coupon{grid-template-columns:minmax(0,1fr)}
  .coupon::before,.coupon::after{left:auto;top:auto}
  .coupon::before{left:-14px;top:calc(var(--perf,230px) - 14px)}
  .coupon::after{right:-14px;bottom:auto;top:calc(var(--perf,230px) - 14px)}
  .coupon-r{border-left:0;border-top:5px dotted var(--ground,var(--carbon))}
}

/* ---------- Pie: el reverso de la tarjeta ---------- */
.foot{padding-block:clamp(72px,9vw,140px) 0;background:var(--carbon)}
.card-back{position:relative;background:var(--paper);color:var(--ink);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px 64px;padding:clamp(40px,5vw,72px) clamp(24px,5vw,72px) 32px}
.card-back::before{content:"";position:absolute;left:0;right:0;top:-24px;height:24px;background:var(--paper);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='24'%3E%3Cellipse cx='50' cy='24' rx='50' ry='24'/%3E%3C/svg%3E") repeat-x;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='24'%3E%3Cellipse cx='50' cy='24' rx='50' ry='24'/%3E%3C/svg%3E") repeat-x}
.card-back h2{font-size:var(--s-head)}
.card-back .msg p{margin-top:14px;max-width:40ch}
.card-back .addr{display:flex;flex-direction:column;gap:12px;font-size:var(--s-body);position:relative}
.card-back .addr a{text-decoration:none}
.card-back .addr a:hover{text-decoration:underline;text-decoration-color:var(--brass);text-underline-offset:4px}
.card-back .hours{font-size:var(--s-small);color:var(--ink-soft);display:grid;grid-template-columns:auto 1fr;gap:2px 16px}
.stamp{position:absolute;right:0;top:-8px;width:96px;padding:6px;background:var(--paper);transform:rotate(3deg)}
.stamp img{aspect-ratio:3/4;object-fit:cover;width:100%}
.imprint{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:center;font-size:var(--s-cap);color:var(--ink-soft);padding-top:24px}
.imprint a{color:inherit}
.soon{display:inline-block;background:var(--carbon);color:var(--inv);padding:6px 12px;font-size:var(--s-small)}
.foot-name{padding-block:40px 32px;color:var(--inv)}
.foot-name svg{width:100%;height:auto;opacity:.92}
@media (max-width:860px){.card-back{grid-template-columns:minmax(0,1fr)}.stamp{width:72px;top:-48px}.card-back .addr{padding-top:24px}}

/* ---------- Categoría ---------- */
.crumbs{font-size:var(--s-small);color:var(--ink-soft);padding-top:28px}
.crumbs a{color:inherit}
.crumbs [aria-current]{color:var(--ink)}
.cat-head{padding-block:28px 48px;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:24px 48px;align-items:end}
.cat-head h1{font-size:var(--s-display);line-height:.92;letter-spacing:-0.04em}
.cat-head p{font-size:var(--s-lead);line-height:1.4;max-width:40ch}
.cat-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:40px;align-items:start;padding-bottom:var(--gap-section)}
.filters{position:sticky;top:96px;display:flex;flex-direction:column;gap:28px}
.filters h2{font-size:var(--s-sub);font-weight:600;letter-spacing:0;margin-bottom:10px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{min-height:40px;padding:0 14px;background:var(--paper-2);color:var(--ink);border:0;cursor:pointer;font-size:var(--s-small);transition:background-color .2s ease}
.chip:hover{background:var(--stone)}
.chip[aria-pressed="true"]{background:var(--carbon);color:var(--inv)}
.checks{display:flex;flex-direction:column;gap:8px;font-size:var(--s-small)}
.checks label{display:flex;gap:10px;align-items:center;cursor:pointer;min-height:32px}
.checks input{width:20px;height:20px;accent-color:var(--carbon)}
.fit-input{display:flex;gap:8px;align-items:center}
.fit-input input{width:110px;min-height:44px;padding:8px 12px;background:var(--white);border:0;font-size:var(--s-small)}
.sortbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px;font-size:var(--s-small)}
.sortbar .results{font-size:var(--s-small);font-weight:500;letter-spacing:0;margin:0}
.sortbar select{min-height:44px;padding:0 12px;background:var(--white);border:0}
.pgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 12px}
.ptile{display:flex;flex-direction:column;text-decoration:none;color:inherit}
.ptile .ph{background:var(--white);aspect-ratio:4/3;overflow:hidden;position:relative}
.ptile .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.ptile .ph img.packshot{object-fit:contain}
.ptile:hover .ph img{transform:scale(1.03)}
.ptile .nophoto{position:absolute;inset:0;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;color:var(--ink-soft);font-size:var(--s-small);background:var(--paper-2)}
.ptile .nophoto svg,.preview-frame .nophoto svg{width:96px;height:auto;opacity:.4}
.ptile .strip .r3{font-size:var(--s-body)}
.ptile .strip .price{font-size:var(--s-sub);font-weight:600}
.empty{padding:48px;background:var(--paper-2);text-align:center;display:flex;flex-direction:column;gap:16px;align-items:center}
.filters-toggle{display:none}
@media (max-width:980px){
  .cat-head{grid-template-columns:minmax(0,1fr)}
  .cat-layout{grid-template-columns:minmax(0,1fr)}
  .filters{position:fixed;inset:auto 0 0 0;top:auto;z-index:55;background:var(--paper);padding:24px max(20px,env(safe-area-inset-left,0px)) calc(24px + env(safe-area-inset-bottom,0px));max-height:80svh;overflow:auto;transform:translateY(105%);transition:transform .35s var(--ease)}
  .filters.open{transform:none}
  .filters-toggle{display:inline-flex}
  .pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:520px){.pgrid{grid-template-columns:minmax(0,1fr)}}

/* ---------- Ficha de producto ---------- */
.pdp{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,4vw,64px);padding-block:28px var(--gap-section);align-items:start}
.gallery{display:flex;flex-direction:column;gap:10px}
.gallery .main{background:var(--white);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;overflow:hidden}
.gallery .main img{width:100%;height:100%;object-fit:contain}
.gallery .main svg{width:92%;height:auto}
.thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.thumbs button{background:var(--white);border:0;padding:0;aspect-ratio:4/3;cursor:pointer;display:flex;align-items:center;justify-content:center;overflow:hidden;outline-offset:-3px;transition:opacity .2s ease}
.thumbs button[aria-pressed="true"]{outline:3px solid var(--carbon)}
.thumbs img{width:100%;height:100%;object-fit:contain}
.thumbs svg{width:84%;height:auto}
.buy{position:sticky;top:96px;display:flex;flex-direction:column;gap:18px}
.buy h1{font-size:var(--s-head)}
.buy .lead{font-size:var(--s-lead);line-height:1.4}
.buy .price-big{font-size:var(--s-head);font-weight:600;letter-spacing:-0.02em;line-height:1}
.buy .price-row{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.buy .tax{font-size:var(--s-small);color:var(--ink-soft)}
.buy .fin{background:var(--paper-2);padding:12px 16px;font-size:var(--s-small)}
.opt h2{font-size:var(--s-small);font-weight:600;letter-spacing:0;margin-bottom:10px}
.swatches{display:flex;gap:10px}
.swatch{display:flex;align-items:center;gap:10px;padding:6px 14px 6px 6px;background:var(--white);border:0;cursor:pointer;min-height:48px;transition:background-color .2s ease}
.swatch i{width:34px;height:34px;display:block;background:var(--sw)}
.swatch[aria-pressed="true"]{background:var(--carbon);color:var(--inv)}
.buy-actions{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px}
.qty{display:flex;align-items:center;background:var(--white)}
.qty button{width:44px;height:52px;border:0;background:none;cursor:pointer;font-size:var(--s-sub)}
.qty output{width:32px;text-align:center;font-variant-numeric:tabular-nums}
.buy-actions .btn{width:100%}
.wa{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;background:var(--carbon);color:var(--inv);text-decoration:none;font-weight:500;grid-column:1/-1;transition:background-color .2s ease}
.wa:hover{background:var(--carbon-3)}
.wa svg{width:20px;height:20px}
.promise{display:flex;flex-direction:column;gap:10px;background:var(--white);padding:18px}
.promise div{display:flex;gap:12px;align-items:flex-start;font-size:var(--s-small)}
.promise svg{width:22px;height:22px;flex:none;color:var(--brass-deep)}
.pdp-sec{padding-block:clamp(64px,8vw,120px)}
.pdp-sec h2{font-size:var(--s-head);margin-bottom:32px}
.measures{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:32px 48px;align-items:start}
.measures .drawing{background:var(--white);padding:clamp(16px,3vw,36px)}
.mini-fit{background:var(--carbon);color:var(--inv);padding:28px;display:flex;flex-direction:column;gap:14px}
.mini-fit h3{font-size:var(--s-sub)}
.mini-fit .row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.mini-fit input{width:120px;min-height:48px;padding:8px 12px;border:0;background:var(--inv);color:var(--carbon);font-size:var(--s-small)}
.mini-fit .res{font-size:var(--s-lead);font-weight:500;color:var(--brass)}
.specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.specs div{background:var(--white);padding:16px 18px;display:flex;flex-direction:column;gap:2px}
.specs dt{font-size:var(--s-small);color:var(--ink-soft)}
.specs dd{margin:0;font-weight:500}
.acc{display:flex;flex-direction:column;gap:4px;margin-top:40px}
.acc details{background:var(--white)}
.acc summary{padding:18px 20px;cursor:pointer;font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:16px}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";font-size:var(--s-sub);line-height:1;transition:transform .2s ease}
.acc details[open] summary::after{transform:rotate(45deg)}
.acc .in{padding:0 20px 20px;color:var(--ink-soft);max-width:70ch}
.family{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.sticky-buy{display:none}
@media (max-width:980px){
  .pdp{grid-template-columns:minmax(0,1fr)}
  .buy{position:static}
  .measures{grid-template-columns:minmax(0,1fr)}
  .family{grid-template-columns:minmax(0,1fr)}
  .specs{grid-template-columns:minmax(0,1fr)}
  .sticky-buy{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:45;background:var(--carbon);color:var(--inv);align-items:center;justify-content:space-between;gap:12px;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));transform:translateY(110%);transition:transform .3s var(--ease)}
  .sticky-buy.show{transform:none}
  .sticky-buy .price{font-size:var(--s-sub);font-weight:600}
}

/* ---------- A medida ---------- */
.photo-hero{position:relative;min-height:clamp(560px,78svh,860px);display:flex;align-items:flex-end;background:var(--carbon)}
.photo-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:drift 22s ease-in-out infinite alternate}
@keyframes drift{from{transform:scale(1.02)}to{transform:scale(1.08) translateY(-1%)}}
.photo-hero .panel{position:relative;z-index:1;background:var(--carbon);color:var(--inv);padding:clamp(28px,4vw,56px);max-width:640px;margin-bottom:max(var(--gutter),24px);display:flex;flex-direction:column;gap:20px}
.photo-hero h1{font-size:var(--s-head);line-height:.98;letter-spacing:-0.03em}
.photo-hero p{font-size:var(--s-lead);line-height:1.4}
.photo-hero .acts{display:flex;gap:20px;flex-wrap:wrap;align-items:center}
.photo-hero .credit{position:absolute;right:max(var(--gutter),16px);bottom:16px;z-index:1;background:var(--carbon);color:var(--inv-soft);font-size:var(--s-cap);padding:6px 10px}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:28px}
.wgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 12px}
.wtile{margin:0;display:flex;flex-direction:column}
.wtile img{width:100%;aspect-ratio:4/5;object-fit:cover;background:var(--carbon-2)}
.wtile .strip{--sb:var(--carbon-2);--sc:var(--inv)}
.wtile:nth-child(3n+2) .strip{--sb:var(--paper);--sc:var(--ink)}
.wtile:nth-child(3n+3) .strip{--sb:var(--brass);--sc:var(--carbon)}
@media (max-width:980px){.wgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.mats{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px 56px;align-items:start}
.mats .txt{display:flex;flex-direction:column;gap:16px;max-width:46ch}
.mats h3{font-size:var(--s-sub);margin-top:12px}
.mats-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.mats-photos figure{margin:0}
.mats-photos figure:first-child{grid-column:1/-1}
.mats-photos img{width:100%;aspect-ratio:16/9;object-fit:cover}
.mats-photos figcaption{font-size:var(--s-small);color:var(--ink-soft);padding-top:8px}
@media (max-width:900px){.mats{grid-template-columns:minmax(0,1fr)}}

/* ---------- Tienda ---------- */
.store{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:12px}
.store-photo{background:var(--carbon-3);color:var(--inv-soft);min-height:420px;display:flex;flex-direction:column;justify-content:flex-end;padding:28px;gap:8px}
.store-photo svg{width:100%;height:auto;max-height:240px;margin-bottom:auto;color:var(--carbon)}
.store-card{background:var(--white);padding:clamp(28px,4vw,48px);display:flex;flex-direction:column;gap:20px}
.store-card .big{font-size:var(--s-sub);font-weight:500;line-height:1.15}
.store-card .row{display:flex;gap:14px;align-items:flex-start}
.store-card .row svg{width:24px;height:24px;flex:none;color:var(--brass-deep);margin-top:4px}
.store-card table{border-collapse:collapse;font-size:var(--s-small)}
.store-card td{padding:4px 18px 4px 0;vertical-align:top}
.store-card td:first-child{color:var(--ink-soft)}
@media (max-width:900px){.store{grid-template-columns:minmax(0,1fr)}.store-photo{min-height:300px}}
.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.service{background:var(--paper);padding:28px 24px;display:flex;flex-direction:column;gap:10px}
.service:nth-child(3n+2){background:var(--white)}
.service h3{font-size:var(--s-sub)}
.service p{color:var(--ink-soft);font-size:var(--s-small)}
@media (max-width:900px){.services{grid-template-columns:minmax(0,1fr)}}
.faq{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:32px 56px}
@media (max-width:900px){.faq{grid-template-columns:minmax(0,1fr)}}

/* ---------- Avisos de la propuesta ---------- */
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:80;transform:translate(-50%,140%);background:var(--carbon);color:var(--inv);padding:14px 20px;max-width:min(92vw,520px);font-size:var(--s-small);transition:transform .3s var(--ease)}
.toast.show{transform:translate(-50%,0)}
.pending{background:var(--brass);color:var(--carbon);padding:0 4px}

/* ---------- Movimiento ---------- */
.rv{transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv.pre{opacity:0;transform:translateY(24px)}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .rv.pre{opacity:1;transform:none}
}

/* ---------- Logotipo de la portada: la puerta se abre ---------- */
@keyframes mpFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.logo-anim path{transform-box:fill-box}
.door-play .a-w1{animation:mpFade .9s var(--ease) .1s both}
.door-p path,.door-p rect{transform-box:fill-box}
.door-play .a-stem{animation:mpFade .6s var(--ease) .3s both}
.door-play .a-w2{animation:mpFade .9s var(--ease) .9s both}
.filters-close{display:none}
@media (max-width:980px){.filters-close{display:inline-flex}}
.photo-hero{overflow:hidden}
.tile,.ptile,.wtile,.slip,.drag-col{min-width:0}
.strip .r1,.strip .r2{flex-wrap:wrap}
@media (max-width:900px){
  .tiles .strip .r1{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 8px}
  .tiles .strip .r2{display:none}
}

/* ---------- Ajustes tras la primera revisión ---------- */
.toast{visibility:hidden}
.toast.show{visibility:visible}
.sheet-item .nothumb{display:none}
@media (max-width:900px){.sheet-item .nothumb{display:flex}}
.folder-front .front-body{align-content:flex-start}
.folder .tab,.folder-front .tab{white-space:nowrap}
.mp-icon{flex:none}
.mp-icon svg{flex:none;max-width:none}
@media (max-width:760px){
  .folder[data-i="0"] .tab{left:62%!important}.folder[data-i="1"] .tab{left:42%!important}.folder[data-i="2"] .tab{left:22%!important}.folder[data-i="3"] .tab{left:4%!important}
  .folder-front .tab{left:0}
}
@media (max-width:520px){
  .mp-logo svg{height:15px}
  .mp-header .wrap{gap:12px}
  .hide-sm{display:none!important}
}
#presupuesto{padding-bottom:clamp(64px,8vw,120px)}
/* «A medida»: foto a su tamaño real junto al texto, sin estirarla */
.split-hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);background:var(--carbon);color:var(--inv);min-height:clamp(520px,70svh,760px)}
.split-hero .panel{padding:clamp(32px,5vw,80px) max(var(--gutter),calc((100vw - var(--max)) / 2 + var(--gutter)));padding-right:clamp(28px,4vw,64px);display:flex;flex-direction:column;justify-content:center;gap:24px}
.split-hero h1{font-size:var(--s-head);line-height:.98;letter-spacing:-0.03em}
.split-hero p{font-size:var(--s-lead);line-height:1.4;max-width:30ch}
.split-hero .acts{display:flex;gap:20px;flex-wrap:wrap;align-items:center}
.split-hero figure{margin:0;position:relative;overflow:hidden;min-height:360px}
.split-hero figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:drift 24s ease-in-out infinite alternate}
.split-hero figcaption{position:absolute;right:16px;bottom:16px;background:var(--carbon);color:var(--inv-soft);font-size:var(--s-cap);padding:6px 10px}
@media (max-width:900px){.split-hero{grid-template-columns:minmax(0,1fr)}.split-hero figure{order:-1;aspect-ratio:4/3;min-height:0}.split-hero .panel{padding:32px max(16px,env(safe-area-inset-left,0px)) 40px}}

.works-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:56px 24px;align-items:start;margin-top:48px}
.works-row .drag-col{flex:none}
@media (max-width:980px){.works-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 16px}.works-row .sp{height:0!important}}

/* Teléfono: tallas Liberty en una columna y colchones en ficha horizontal */
@media (max-width:600px){
  .sizes{grid-template-columns:minmax(0,1fr)!important}
  .tiles{grid-template-columns:minmax(0,1fr);gap:10px}
  .tile{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr)}
  .tile .ph{aspect-ratio:auto;height:100%;min-height:156px;display:flex;align-items:center}
  .tile .ph img{height:auto}
  .tiles .strip{justify-content:center;gap:4px}
  .tiles .strip .r3{order:-1;margin-bottom:6px;line-height:1.3}
  .tiles .strip .r1{display:flex;flex-direction:column;gap:2px}
}
@media (max-width:359px){
  .mp-logo svg{height:13px}
  .mp-actions{gap:0}
  .mp-icon{padding:8px}
}

/* ---------- Capa de movimiento: entradas del primer bloque y dibujo acotado ---------- */
.enter > *{animation:mpFade .6s var(--ease) both}
.enter > :nth-child(2){animation-delay:.06s}.enter > :nth-child(3){animation-delay:.12s}.enter > :nth-child(4){animation-delay:.18s}
.enter > :nth-child(5){animation-delay:.24s}.enter > :nth-child(6){animation-delay:.3s}.enter > :nth-child(n+7){animation-delay:.36s}
.enter-solo{animation:mpFade .7s var(--ease) both}
.drawing svg .dp,.drawing svg .dh,.drawing svg .dv,.drawing svg .dk,.drawing svg .dt{transform-box:fill-box;transition:transform .7s var(--ease),opacity .5s var(--ease)}
.drawing svg .dh{transform-origin:center}
.drawing svg .dv{transform-origin:top}
.pre-draw svg .dp{opacity:0;transform:translateY(10px)}
.pre-draw svg .dh{transform:scaleX(0)}
.pre-draw svg .dv{transform:scaleY(0)}
.pre-draw svg .dk,.pre-draw svg .dt{opacity:0}
@keyframes mpBump{50%{transform:scale(1.35)}}
.bump{animation:mpBump .32s var(--ease)}
@media (prefers-reduced-motion:reduce){.pre-draw svg *{opacity:1!important;transform:none!important}}

/* «Así trabajamos»: los pasos marcados sobre una cinta métrica */
.steps-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px 64px;align-items:start}
.steps-head{position:sticky;top:120px;display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.steps-head h2{font-size:var(--s-head)}
.steps-head p{font-size:var(--s-lead);line-height:1.4;max-width:30ch}
.steps{list-style:none;margin:0;padding:8px 0 8px 88px;position:relative;display:flex;flex-direction:column;gap:56px}
.steps::before{content:"";position:absolute;left:0;top:0;bottom:0;width:44px;background:var(--brass) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='60'%3E%3Cg fill='%23151311'%3E%3Crect x='0' y='0' width='22' height='2'/%3E%3Crect x='0' y='6' width='8' height='1.5'/%3E%3Crect x='0' y='12' width='8' height='1.5'/%3E%3Crect x='0' y='18' width='8' height='1.5'/%3E%3Crect x='0' y='24' width='8' height='1.5'/%3E%3Crect x='0' y='30' width='14' height='2'/%3E%3Crect x='0' y='36' width='8' height='1.5'/%3E%3Crect x='0' y='42' width='8' height='1.5'/%3E%3Crect x='0' y='48' width='8' height='1.5'/%3E%3Crect x='0' y='54' width='8' height='1.5'/%3E%3C/g%3E%3C/svg%3E") repeat-y 0 0/44px 60px}
.steps::after{content:"";position:absolute;left:-4px;top:-14px;width:52px;height:14px;background:var(--carbon)}
.steps li{position:relative}
.steps li::before{content:"";position:absolute;left:-88px;top:.55em;width:60px;height:4px;background:var(--carbon)}
.steps h3{font-size:var(--s-sub);letter-spacing:-0.01em;line-height:1.15}
.steps p{margin-top:10px;max-width:46ch}
@media (max-width:900px){.steps-split{grid-template-columns:minmax(0,1fr)}.steps-head{position:static}.steps{padding-left:64px;gap:40px}.steps::before{width:36px}.steps::after{width:44px}.steps li::before{left:-64px;width:48px}}

/* «A medida»: el titular cabe en dos líneas y en el teléfono va antes que la foto */
.split-hero{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
@media (max-width:900px){.split-hero{grid-template-columns:minmax(0,1fr)}.split-hero figure{order:0}}

/* «La tienda»: lo que hay dentro, con fotos reales de los modelos y de los trabajos */
.finds{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.find{display:flex;flex-direction:column;text-decoration:none;color:inherit;min-width:0}
.find .ph{display:block;aspect-ratio:4/5;overflow:hidden;background:var(--carbon-2)}
.find .ph.pk{background:var(--white);display:flex;align-items:center;justify-content:center}
.find .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.find .ph.pk img{width:84%;height:84%;object-fit:contain}
.find:hover .ph img{transform:scale(1.03)}
.find .cap{display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:var(--carbon);color:var(--inv)}
.find:nth-child(2) .cap{background:var(--brass);color:var(--carbon)}
.find:nth-child(3) .cap{background:var(--carbon-3)}
.find:nth-child(4) .cap{background:var(--white);color:var(--ink)}
.find .cap b{font-size:var(--s-body);font-weight:600}
.find .cap span{font-size:var(--s-small)}
@media (max-width:900px){.finds{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* «Lo que va incluido»: lista a dos columnas, sin tarjetas */
.serv-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px 64px;align-items:start}
.serv-split .sec-head{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin:0}
.services{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 40px}
.service{background:none!important;padding:0;display:flex;flex-direction:column;gap:8px}
.service p{color:var(--ink);font-size:var(--s-body)}
@media (max-width:900px){.serv-split{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){.services{grid-template-columns:minmax(0,1fr);gap:28px}}

/* Teléfonos que no se parten; sello del pie sin pisar la dirección; trabajos más cortos en el teléfono */
a[href^="tel:"]{white-space:nowrap}
@media (max-width:860px){.card-back .addr{padding-right:84px}.stamp{top:0}}
@media (max-width:600px){.wtile .strip .r1{display:none}.wtile .strip .r3{order:-1}}

/* Zonas seguras del teléfono (las subpáginas no llevan el esqueleto del visor) */
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:50;background:var(--carbon)}

/* Tienda: pestañas de categoría encima de la rejilla, ayuda de filtros y precio pendiente */
.cat-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.cat-tabs .chip{min-height:48px;padding:0 18px;font-size:var(--s-body);font-weight:500}
.chip .n{font-size:var(--s-cap);opacity:.7;margin-left:4px;font-variant-numeric:tabular-nums}
.filters .hint{font-size:var(--s-small);color:var(--ink-soft);max-width:28ch;margin:0}
.ptile .strip .price.pend{font-size:var(--s-small);font-weight:500;color:var(--ink-soft)}
@media (max-width:980px){
  .filters{visibility:hidden;transition:transform .35s var(--ease),visibility 0s linear .35s}
  .filters.open{visibility:visible;transition:transform .35s var(--ease)}
}

/* ==========================================================================
   20 · Tienda en WordPress: lo que la propuesta no tenía, con su mismo lenguaje
   (carbón, papel y latón; pestañas de carpeta en los botones; nada redondeado salvo WhatsApp)
   ========================================================================== */
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.ch-trampa{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.ch-saltar{position:absolute;left:12px;top:-60px;z-index:100;background:var(--brass);color:var(--carbon);padding:12px 18px;font-weight:600;text-decoration:none}
.ch-saltar:focus{top:12px}
html.ch-bloqueo{overflow:hidden}
.btn,.submit,.chip,.swatch,.mp-icon,.wa{-webkit-tap-highlight-color:transparent}
.btn[disabled],.btn.is-dis{opacity:.45;pointer-events:none}
.btn.loading,.submit.loading{opacity:.7;cursor:progress}

/* Cabecera con la barra de administración de WordPress */
.admin-bar .mp-header{top:calc(32px + env(safe-area-inset-top,0px))}
@media (max-width:782px){.admin-bar .mp-header{top:46px}}
@media (max-width:600px){.admin-bar .mp-header{top:0}}
/* Con sesión iniciada, la cesta lateral y el menú del móvil tapan la barra de administración (si no, sus botones quedan debajo) */
.admin-bar .ch-ov{z-index:100000}
.admin-bar .ch-cesta,.admin-bar .mp-drawer{z-index:100001}
.cart-count.is-salto{animation:mpBump .32s var(--ease)}

/* Buscador en vivo (cabecera) */
.ch-bus{position:absolute;left:0;right:0;top:100%;background:var(--paper);color:var(--ink);padding:18px 0 26px;box-shadow:0 24px 50px -24px rgba(21,19,17,.5)}
.ch-bus-form,.ch-bus-n,.ch-bus-res{width:min(100% - 2 * var(--gutter),900px);margin-inline:auto}
.ch-bus-form{display:flex;align-items:center;gap:12px;background:var(--white);padding:0 4px 0 18px}
.ch-bus-form > svg{width:22px;height:22px;flex:none;color:var(--ink-soft)}
.ch-bus-form input{flex:1;min-width:0;height:60px;border:0;background:transparent;font-size:var(--s-lead);outline:none}
.ch-bus-form input::-webkit-search-cancel-button{display:none}
.ch-bus-form .mp-icon{color:var(--ink)}
.ch-bus-form .mp-icon:hover{color:var(--brass-deep)}
.ch-bus-n{margin-top:12px;margin-bottom:4px;font-size:var(--s-small);color:var(--ink-soft);min-height:1.4em}
.ch-bus-res ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px}
.ch-bus-res li a{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;align-items:center;padding:8px;text-decoration:none}
.ch-bus-res li a:hover,.ch-bus-res li a:focus-visible{background:var(--paper-2)}
.ch-bus-res img,.ch-bus-ph{width:64px;height:48px;object-fit:contain;background:var(--white);display:block}
.ch-bus-res b{display:block;font-weight:500;line-height:1.2}
.ch-bus-res em{font-style:normal;font-size:var(--s-small);color:var(--ink-soft)}
.ch-bus-res ins{text-decoration:none}
.ch-bus-todo{margin-top:16px}
.ch-bus-nada{padding:8px 0;color:var(--ink-soft)}
@media (max-width:600px){.ch-bus-res ul{grid-template-columns:minmax(0,1fr)}}
/* Buscador del menú del móvil */
.mp-drawer-bus{display:flex;align-items:center;background:var(--carbon-2);margin-top:12px}
.mp-drawer-bus input{flex:1;min-width:0;height:56px;padding:0 16px;border:0;background:transparent;color:var(--inv);font-size:max(16px,var(--s-body))}
.mp-drawer-bus input::placeholder{color:var(--inv-soft)}
.mp-drawer{overflow-y:auto;overscroll-behavior:contain}

/* Pie en el móvil: el sello solo aparta la dirección y el teléfono; el horario usa todo el ancho */
.nw{white-space:nowrap}
@media (max-width:860px){.card-back .addr{padding-right:0}.card-back .addr>a:nth-of-type(-n+2){padding-right:84px}}

/* Textos que cambian si se navega con el dedo (sin «pasa por encima») */
.solo-tactil{display:none}
@media (hover:none){.solo-raton{display:none}.solo-tactil{display:inline}}

/* Portada: cada tira de sillón lleva entera a su ficha; el nombre del colchón destacado, sin subrayar */
.slip{position:relative}
.slip-a,.liberty-a{color:inherit;text-decoration:none}
.slip-a::after{content:"";position:absolute;inset:0}
.slip-a:focus-visible{outline:none}
.slip-a:focus-visible::after{outline:2px solid var(--ink);outline-offset:4px}
.liberty-a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px;text-decoration-color:var(--brass)}

/* Pestañas de la tienda (enlaces con el aspecto de las fichas de la propuesta) */
a.chip{display:inline-flex;align-items:center;text-decoration:none}
/* Al cambiar de pestaña el foco pasa al título (para los lectores de pantalla), sin recuadro */
h1[tabindex="-1"]:focus{outline:none}
.chip[aria-current="page"]{background:var(--carbon);color:var(--inv)}
.cat-layout.sin-filtros{grid-template-columns:minmax(0,1fr)}
.cat-layout.sin-filtros .pgrid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1180px){.cat-layout.sin-filtros .pgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:980px){.cat-layout.sin-filtros .pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.cat-layout.sin-filtros .pgrid{grid-template-columns:minmax(0,1fr)}}
.ptile .ph img.packshot{width:100%;height:100%;object-fit:contain}
/* Si el precio no cabe junto al tipo y baja de línea, sigue alineado a la derecha */
.strip .r1 .price,.strip .r2 span+span{margin-left:auto;text-align:right}
.tienda-cargando .pgrid,.tienda-cargando .filters{opacity:.45;transition:opacity .2s ease}
.mp-banda{padding-block:clamp(72px,9vw,140px)}
.mp-banda .sec-head{margin:0}
.mp-banda .btn svg{width:20px;height:20px}
.woocommerce-pagination ul{list-style:none;display:flex;gap:6px;padding:0;margin:32px 0 0}
.woocommerce-pagination a,.woocommerce-pagination span{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;background:var(--paper-2);text-decoration:none}
.woocommerce-pagination .current{background:var(--carbon);color:var(--inv)}

/* Ficha: precio sin fijar, galería sin foto, compra de WooCommerce con la forma de la propuesta */
.gallery .main .nophoto{display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--ink-soft);font-size:var(--s-small)}
.gallery .main .nophoto svg{width:40%;height:auto;opacity:.4}
.gallery .main img.packshot{object-fit:contain}
.buy .price-big.pend{font-size:var(--s-sub);font-weight:500;color:var(--ink-soft);letter-spacing:0}
.buy form.cart{margin:0}
.buy-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}
.buy-actions .btn{flex:1 1 200px}
.buy-actions .wa{flex:1 1 100%}
.buy-actions .quantity{display:flex;align-items:center;background:var(--white);flex:none}
.buy-actions .quantity input.qty{width:36px;height:52px;border:0;background:none;text-align:center;font-variant-numeric:tabular-nums;font-size:var(--s-body);-moz-appearance:textfield;appearance:textfield;padding:0}
.buy-actions .quantity input.qty::-webkit-inner-spin-button,.buy-actions .quantity input.qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.buy-actions .quantity input[type="hidden"]{display:none}
.ch-qbtn{width:44px;height:52px;border:0;background:none;cursor:pointer;font-size:var(--s-sub);color:var(--ink);transition:background-color .2s ease}
.ch-qbtn:hover{background:var(--paper-2)}
.single_add_to_cart_button.disabled,.single_add_to_cart_button.wc-variation-selection-needed{opacity:.55}
.single_add_to_cart_button.loading{opacity:.7;cursor:progress}
.mp-vform{display:flex;flex-direction:column;gap:18px}
.mp-vform .variations{display:flex;flex-direction:column;gap:18px}
.mp-select{display:none}
.mp-attr h2{display:flex;gap:8px;flex-wrap:wrap}
.mp-attr-v{font-weight:500;color:var(--ink-soft)}
.mp-attr .swatches{flex-wrap:wrap}
.swatch[aria-checked="true"]{background:var(--carbon);color:var(--inv)}
.swatch:disabled,.swatch.is-na{opacity:.4;text-decoration:line-through;cursor:not-allowed}
.mp-attr.ch-need .swatches{outline:3px solid var(--brass);outline-offset:4px}
.mp-reset{align-self:flex-start;background:none;border:0;padding:0;color:var(--ink-soft);text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:var(--s-small)}
.single_variation_wrap{display:flex;flex-direction:column;gap:12px}
.woocommerce-variation-price{display:none}
.woocommerce-variation-availability p,.buy .stock{margin:0;font-size:var(--s-small)}
.buy .stock.out-of-stock,.woocommerce-variation-availability .out-of-stock{color:#8f2f25;font-weight:500}
.woocommerce-variation-description p{margin:0;font-size:var(--s-small);color:var(--ink-soft)}
.pdp-h2b{margin-top:72px}
.specs dd{white-space:normal}
.sizes-paper div{background:var(--white)}
.sizes-paper .m{color:var(--ink)}
.sizes-paper .price{color:var(--brass-deep)}
.sizes-paper + .pdp-h2b{margin-top:72px}
.mini-fit p{margin:0}
.acc .in.prose{max-width:70ch}
.acc .in a.link{margin-left:4px}
.sticky-buy .btn{min-height:48px;padding:0 20px}
.sticky-buy small{color:var(--inv-soft);font-size:var(--s-cap)}
html.ch-barra-on .ch-wa{bottom:calc(84px + env(safe-area-inset-bottom,0px))}

/* Avisos de WooCommerce */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-notice{list-style:none;margin:0 0 22px;padding:16px 20px;background:var(--white);border-left:6px solid var(--brass);display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;justify-content:space-between;font-size:var(--s-small)}
.woocommerce-error{border-left-color:#8f2f25}
.woocommerce-error li{list-style:none}
.woocommerce-message .button,.woocommerce-info .button{order:2}
.pdp + .woocommerce-notices-wrapper,.on-paper .woocommerce-notices-wrapper{margin-top:16px}

/* Cesta lateral (API de la tienda) */
.ch-ov{position:fixed;inset:0;z-index:70;background:rgba(21,19,17,.55);opacity:0;transition:opacity .3s var(--ease)}
.ch-ov.is-open{opacity:1}
.ch-cesta{position:fixed;z-index:71;top:0;right:0;bottom:0;width:min(440px,100vw);background:var(--paper);color:var(--ink);display:flex;flex-direction:column;transform:translateX(102%);transition:transform .42s var(--ease);visibility:hidden;padding-top:env(safe-area-inset-top,0px)}
.ch-cesta.is-open{transform:none;visibility:visible}
.ch-cesta-cab{display:flex;align-items:center;justify-content:space-between;padding:14px 12px 14px 24px;background:var(--carbon);color:var(--inv)}
.ch-cesta-t{font-size:var(--s-sub);font-weight:500}
.ch-cesta-items{flex:1;overflow-y:auto;padding:8px 24px;overscroll-behavior:contain}
.ch-it{display:grid;grid-template-columns:84px minmax(0,1fr);gap:14px;padding:14px 0;border-bottom:1px solid var(--stone);transition:opacity .2s}
.ch-it-fig{width:84px;height:63px;background:var(--white);display:block}
.ch-it-fig img{width:100%;height:100%;object-fit:contain}
.ch-it-n{font-weight:500;line-height:1.25}
.ch-it-n a{text-decoration:none}
.ch-it-v{display:block;font-size:var(--s-small);color:var(--ink-soft);margin:2px 0 8px}
.ch-it-fila{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px}
.ch-it-q{display:inline-flex;align-items:center;background:var(--white)}
.ch-it-q button{width:40px;height:40px;border:0;background:none;font-size:var(--s-sub);cursor:pointer}
.ch-it-q button:hover{background:var(--paper-2)}
.ch-it-q button:disabled{opacity:.35;cursor:default}
.ch-it-q span{min-width:24px;text-align:center;font-weight:500;font-variant-numeric:tabular-nums}
.ch-it-p{font-weight:600;font-variant-numeric:tabular-nums}
.ch-it-rm{margin-top:8px;padding:0;border:0;background:none;font-size:var(--s-small);color:var(--ink-soft);text-decoration:underline;cursor:pointer}
.ch-it.is-ocupado{opacity:.45;pointer-events:none}
.ch-cesta-vacia{padding:48px 0;text-align:center;color:var(--ink-soft);display:flex;flex-direction:column;align-items:center;gap:16px}
.ch-cesta-vacia svg{width:44px;height:44px}
.ch-cesta-pie{padding:18px 24px calc(24px + env(safe-area-inset-bottom,0px));background:var(--white);display:grid;gap:10px}
.ch-cesta-sub{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--s-lead)}
.ch-cesta-sub b{font-weight:600}
.ch-cesta-nota{font-size:var(--s-small);color:var(--ink-soft)}
.ch-cesta-ver{text-align:center;font-size:var(--s-small);font-weight:500;padding:6px}
#ch-co.is-dis{opacity:.4;pointer-events:none}

/* Aviso flotante */
.toast{margin:0}

/* Widget de WhatsApp (inc/whatsapp.php) */
.ch-wa{position:fixed;z-index:65;right:max(18px,env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));font-size:var(--s-small);line-height:1.4;transition:opacity .25s var(--ease),transform .25s var(--ease),bottom .3s var(--ease)}
.ch-bloqueo .ch-wa{display:none}
.ch-wa-fuera .ch-wa:not(.is-open){opacity:0;transform:translateY(14px);pointer-events:none}
/* Con los filtros abiertos en el móvil, el WhatsApp flotante no tapa «Ver resultados» */
.ch-filtros .ch-wa:not(.is-open){opacity:0;transform:translateY(14px);pointer-events:none}
.ch-wa-btn{position:relative;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#1fa855;color:#fff;box-shadow:0 10px 28px -10px rgba(10,40,20,.6);transition:transform .2s var(--ease)}
.ch-wa-btn:hover{transform:scale(1.06)}
.ch-wa-btn:active{transform:scale(.97)}
.ch-wa-btn > span{grid-area:1/1;display:grid;place-items:center;transition:opacity .2s var(--ease),transform .25s var(--ease)}
.ch-wa-i svg{width:30px;height:30px}
.ch-wa-ix{opacity:0;transform:rotate(-90deg)}
.ch-wa-ix svg{width:24px;height:24px}
.ch-wa.is-open .ch-wa-i{opacity:0;transform:rotate(90deg)}
.ch-wa.is-open .ch-wa-ix{opacity:1;transform:none}
.ch-wa-badge{position:absolute;top:-3px;right:-3px;min-width:20px;height:20px;border-radius:10px;background:var(--brass);color:var(--carbon);border:2px solid var(--carbon);font-size:11px;font-weight:600;font-style:normal;line-height:16px;text-align:center}
.ch-wa.is-open .ch-wa-badge,.ch-wa.is-visto .ch-wa-badge{display:none}
.ch-wa-tip{position:absolute;right:0;bottom:72px;display:flex;align-items:center;gap:6px;padding:12px 8px 12px 16px;background:var(--paper);color:var(--ink);font-weight:500;white-space:nowrap;box-shadow:0 18px 40px -18px rgba(21,19,17,.55);cursor:pointer;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .3s var(--ease),transform .3s var(--ease)}
.ch-wa-tip.is-on{opacity:1;transform:none;pointer-events:auto}
.ch-wa-tip-x{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;background:none;color:var(--ink-soft);cursor:pointer}
.ch-wa-tip-x svg{width:16px;height:16px}
.ch-wa-panel{position:absolute;right:0;bottom:74px;width:min(360px,calc(100vw - 28px));background:var(--paper);color:var(--ink);box-shadow:0 28px 70px -24px rgba(21,19,17,.65);opacity:0;visibility:hidden;transform:translateY(12px);transform-origin:bottom right;transition:opacity .25s var(--ease),transform .3s var(--ease),visibility 0s .3s}
.ch-wa.is-open .ch-wa-panel{opacity:1;visibility:visible;transform:none;transition:opacity .25s var(--ease),transform .3s var(--ease)}
.ch-wa-cab{display:flex;align-items:center;gap:12px;padding:14px 10px 14px 16px;background:var(--carbon);color:var(--inv)}
.ch-wa-av{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--carbon-3)}
.ch-wa-av svg{width:20px;height:auto}
.ch-wa-quien{display:flex;flex-direction:column;gap:2px;min-width:0}
.ch-wa-quien strong{font-size:var(--s-body);font-weight:600;line-height:1.1}
.ch-wa-quien span{display:flex;align-items:center;gap:7px;font-size:var(--s-cap);color:var(--inv-soft)}
.ch-wa-punto{flex:none;width:8px;height:8px;border-radius:50%;background:#1fa855}
.ch-wa-x{margin-left:auto;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:none;color:var(--inv);cursor:pointer}
.ch-wa-x svg{width:22px;height:22px}
.ch-wa-cuerpo{display:flex;flex-direction:column;gap:10px;max-height:min(50vh,420px);overflow-y:auto;padding:16px;overscroll-behavior:contain}
.ch-wa-msg{align-self:flex-start;max-width:90%;padding:12px 14px;background:var(--white)}
.ch-wa-opts{display:flex;flex-direction:column;gap:6px}
.ch-wa-opt{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:48px;padding:11px 14px;border:0;background:var(--white);color:var(--ink);font-weight:500;line-height:1.3;text-align:left;cursor:pointer;transition:background-color .2s var(--ease)}
.ch-wa-opt:hover{background:var(--stone)}
.ch-wa-opt svg{flex:none;width:16px;height:16px;color:var(--brass-deep);transition:transform .2s var(--ease)}
.ch-wa-opt:hover svg{transform:translateX(2px)}
.ch-wa-form{display:flex;gap:8px;padding:12px 16px 4px;border-top:1px solid var(--stone)}
.ch-wa-form input{flex:1;min-width:0;height:46px;padding:0 12px;border:0;background:var(--white);color:var(--ink);font-size:max(16px,var(--s-small))}
.ch-wa-form input:focus{outline:3px solid var(--brass);outline-offset:0}
.ch-wa-env{flex:none;display:grid;place-items:center;width:46px;height:46px;padding:0;border:0;background:var(--carbon);color:var(--inv);cursor:pointer}
.ch-wa-env:hover{background:var(--carbon-3)}
.ch-wa-env svg{width:20px;height:20px}
.ch-wa-nota{padding:4px 16px 14px;font-size:12px;color:var(--ink-soft)}
@media (prefers-reduced-motion:reduce){.ch-wa,.ch-wa *{transition:none!important}}

/* Aviso de cookies */
.ch-ck{position:fixed;z-index:85;left:max(16px,env(safe-area-inset-left,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));width:min(460px,calc(100vw - 32px));background:var(--paper);color:var(--ink);padding:22px 22px 18px;box-shadow:0 24px 60px -24px rgba(21,19,17,.6);opacity:0;transform:translateY(14px);transition:opacity .3s var(--ease),transform .35s var(--ease)}
.ch-ck.is-on{opacity:1;transform:none}
.ch-ck-t{font-size:var(--s-sub);font-weight:500;margin-bottom:6px}
.ch-ck-x{font-size:var(--s-small);line-height:1.5;margin-bottom:14px}
.ch-ck-opts{display:grid;gap:10px;margin-bottom:14px}
.ch-ck-o{display:grid;grid-template-columns:22px 1fr;gap:10px;font-size:var(--s-small);align-items:start}
.ch-ck-o input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--carbon)}
.ch-ck-o b{font-weight:600}
.ch-ck-b{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ch-ck-b .btn{flex:1;min-height:48px;padding:0 18px}
.ch-ck-cfg{padding:0 6px;min-height:44px;border:0;background:none;font-size:var(--s-small);cursor:pointer}

/* Textos largos: legales, blog y descripciones */
.prose{max-width:72ch}
.prose > :first-child{margin-top:0}
.prose h2{font-size:var(--s-sub);font-weight:600;letter-spacing:-0.01em;line-height:1.2;margin:2.2em 0 .6em}
.prose h3{font-size:var(--s-body);font-weight:600;letter-spacing:0;line-height:1.3;margin:1.8em 0 .5em}
.prose p,.prose ul,.prose ol,.prose table,.prose blockquote,.prose figure{margin:0 0 1em}
.prose ul,.prose ol{padding-left:1.3em}
.prose li{margin-bottom:.35em}
.prose a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px;text-decoration-color:var(--brass)}
.prose a:hover{text-decoration-color:currentColor}
.prose table{width:100%;border-collapse:collapse;font-size:var(--s-small);display:block;overflow-x:auto}
.prose th,.prose td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--stone)}
.prose th{font-weight:600;background:var(--paper-2)}
.prose blockquote{border-left:5px solid var(--brass);padding:4px 0 4px 18px;color:var(--ink-soft)}
.prose img{height:auto}
.prose .nota-legal{font-size:var(--s-small);color:var(--ink-soft)}
.page-prose{padding-bottom:var(--gap-section)}

/* Cesta, pago y cuenta */
/* Con el guardado automático de cantidades, el botón «Actualizar la cesta» sobra */
.woocommerce-cart-form.mp-auto td.actions{display:none}
/* País: solo se vende en España */
.form-row.mp-oculto{display:none!important}
.tramite .tramite-h{font-size:var(--s-head);margin:20px 0 clamp(24px,3vw,44px)}
.tramite-c{padding-bottom:var(--gap-section)}
.tramite input.input-text,.tramite textarea,.tramite select,.mp-form input,.mp-form textarea,.mp-form select,.woocommerce form .form-row input.input-text{width:100%;min-height:52px;padding:12px 16px;border:0;border-radius:0;background:var(--white);color:var(--ink);font-size:max(16px,var(--s-small))}
.tramite textarea,.mp-form textarea{min-height:110px;resize:vertical}
.tramite input.input-text:focus,.tramite textarea:focus,.tramite select:focus,.mp-form input:focus,.mp-form textarea:focus{outline:3px solid var(--brass);outline-offset:0}
.tramite .button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,#place_order{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;background:var(--brass);color:var(--carbon);font-weight:600;text-decoration:none;border:0;cursor:pointer;clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 100%,0 100%);transition:background-color .2s ease,transform .15s ease;font-size:var(--s-body)}
.tramite .button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,#place_order:hover{background:var(--brass-2)}
.tramite .button:disabled,.tramite .button.disabled{opacity:.45;cursor:not-allowed}
.woocommerce form .form-row{margin:0 0 14px;display:grid;gap:6px}
.woocommerce form .form-row label{font-weight:500;font-size:var(--s-small)}
.woocommerce form .form-row .required{color:#8f2f25;text-decoration:none}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:calc(50% - 8px);display:inline-grid;vertical-align:top}
.woocommerce form .form-row-first{margin-right:12px}
.woocommerce-invalid input.input-text,.woocommerce-invalid select{outline:2px solid #8f2f25}
table.shop_table{width:100%;border-collapse:collapse;margin:0 0 28px;font-size:var(--s-small);background:var(--white)}
table.shop_table th{text-align:left;font-weight:600;padding:14px 16px;border-bottom:1px solid var(--stone)}
table.shop_table td{padding:16px;border-bottom:1px solid var(--stone);vertical-align:middle}
table.shop_table td.product-thumbnail img{width:84px;height:63px;object-fit:contain}
table.shop_table td.product-name a{font-weight:500;text-decoration:none;font-size:var(--s-body)}
table.shop_table .product-remove a{display:inline-grid;place-items:center;width:40px;height:40px;text-decoration:none;font-size:var(--s-sub);color:var(--ink-soft)}
table.shop_table .product-remove a:hover{background:var(--paper-2);color:#8f2f25}
table.shop_table .actions{padding-top:20px}
table.shop_table .quantity{display:inline-flex;align-items:center;background:var(--paper-2)}
table.shop_table .quantity input.qty{width:44px;min-height:44px;border:0;background:none;text-align:center;-moz-appearance:textfield;appearance:textfield}
table.shop_table .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none}
.woocommerce .coupon{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center}
.woocommerce .coupon label{position:absolute;left:-9999px}
.woocommerce .coupon input.input-text{width:auto;min-width:200px;background:var(--paper)}
button[name="update_cart"]{background:var(--paper-2)!important;color:var(--ink)!important}
.cart-collaterals{display:flex;justify-content:flex-end}
.cart_totals{flex:0 1 480px;min-width:0;background:var(--white);padding:24px}
.cart_totals h2{font-size:var(--s-sub);margin-bottom:14px}
.cart_totals table{width:100%;margin-bottom:18px;border-collapse:collapse}
.cart_totals th,.cart_totals td{padding:10px 0;border-bottom:1px solid var(--stone);text-align:left;vertical-align:top}
.cart_totals td{text-align:right}
.wc-proceed-to-checkout .checkout-button{width:100%}
.woocommerce-shipping-methods{list-style:none;padding:0;margin:0;display:grid;gap:6px;text-align:left}
.woocommerce-shipping-methods input{accent-color:var(--carbon)}
.mp-sin-envio,.mp-antes-pagar{margin:0 0 14px;padding:14px 16px;background:var(--paper-2);font-size:var(--s-small);line-height:1.5;text-align:left}
.mp-antes-pagar p{margin:0 0 6px}
.mp-antes-pagar p:last-child{margin:0}
form.woocommerce-checkout{display:grid;grid-template-rows:auto 1fr;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:0 clamp(28px,4vw,72px);align-items:start}
form.woocommerce-checkout > .woocommerce-NoticeGroup,form.woocommerce-checkout > .woocommerce-notices-wrapper{grid-column:1/-1}
form.woocommerce-checkout #customer_details{grid-column:1;grid-row:1/span 2}
form.woocommerce-checkout #order_review_heading{grid-column:2;grid-row:1;margin:0 0 14px;font-size:var(--s-sub)}
form.woocommerce-checkout #order_review{grid-column:2;grid-row:2;align-self:start;background:var(--white);padding:24px;position:sticky;top:96px}
form.woocommerce-checkout h3{font-size:var(--s-sub);margin:0 0 16px}
form.woocommerce-checkout .col2-set .col-1,form.woocommerce-checkout .col2-set .col-2{margin-bottom:24px}
#order_review table.shop_table{background:none}
#order_review table.shop_table td,#order_review table.shop_table th{padding:12px 0}
#payment{margin-top:18px}
#payment ul.payment_methods{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:8px}
#payment ul.payment_methods li{background:var(--paper);padding:14px 16px}
#payment ul.payment_methods li input{accent-color:var(--carbon)}
#payment .payment_box{margin-top:10px;font-size:var(--s-small)}
#place_order{width:100%;min-height:58px}
.woocommerce-terms-and-conditions-wrapper{font-size:var(--s-small);margin:12px 0}
.woocommerce-privacy-policy-text p{font-size:var(--s-small);color:var(--ink-soft)}
.woocommerce-form__label-for-checkbox{display:flex;gap:10px;align-items:flex-start}
.woocommerce-form__label-for-checkbox input{width:20px;height:20px;accent-color:var(--carbon);flex:none}
/* «¿Lo entregamos en otra dirección?»: casilla del tamaño del texto y aire antes de «Información adicional» */
#ship-to-different-address{font-size:var(--s-body);font-weight:600;margin:28px 0 12px}
#ship-to-different-address label{align-items:center}
.woocommerce-additional-fields{margin-top:28px}
.woocommerce-account .woocommerce{display:grid;grid-template-columns:minmax(200px,3fr) minmax(0,9fr);gap:clamp(24px,4vw,64px);align-items:start}
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;display:grid;gap:4px}
.woocommerce-MyAccount-navigation a{display:block;padding:12px 14px;background:var(--white);text-decoration:none;font-weight:500}
.woocommerce-MyAccount-navigation .is-active a,.woocommerce-MyAccount-navigation a:hover{background:var(--carbon);color:var(--inv)}
.woocommerce-account:not(.logged-in) .woocommerce{display:block;max-width:980px}
.u-columns.col2-set,.col2-set{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,48px)}
form.woocommerce-checkout .col2-set{display:block}
.woocommerce-order-overview{list-style:none;padding:20px 24px;background:var(--white);display:flex;flex-wrap:wrap;gap:12px 32px;margin:0 0 28px}
.woocommerce-order-overview strong{display:block;font-weight:600}
.woocommerce .woocommerce-customer-details address{font-style:normal;background:var(--white);padding:18px}
.password-input{position:relative;display:block}
.show-password-input{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:40px;height:40px;padding:0;border:0;background:transparent;cursor:pointer}
.des-enl{margin:18px 0 0}
@media (max-width:900px){
  form.woocommerce-checkout{grid-template-columns:minmax(0,1fr);grid-template-rows:none}
  form.woocommerce-checkout #customer_details{grid-row:auto}
  form.woocommerce-checkout #order_review_heading,form.woocommerce-checkout #order_review{grid-column:1;grid-row:auto;position:static}
  .woocommerce-account .woocommerce{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  .u-columns.col2-set,.col2-set{grid-template-columns:minmax(0,1fr)}
  .woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%;margin-right:0;display:grid}
  table.shop_table_responsive thead{display:none}
  table.shop_table_responsive tr{display:grid;grid-template-columns:84px minmax(0,1fr);gap:4px 14px;padding:14px;border-bottom:1px solid var(--stone)}
  table.shop_table_responsive td{border:0;padding:2px 0;display:block;text-align:left!important}
  table.shop_table_responsive td.product-thumbnail{grid-row:span 4}
  table.shop_table_responsive td::before{content:attr(data-title) ": ";color:var(--ink-soft);font-size:var(--s-small)}
  table.shop_table_responsive td.product-remove::before,table.shop_table_responsive td.product-thumbnail::before,table.shop_table_responsive td.product-name::before,table.shop_table_responsive td.actions::before{content:none}
  table.shop_table_responsive td.actions{grid-column:1/-1}
  .woocommerce .coupon{width:100%}
  .woocommerce .coupon input.input-text{flex:1;min-width:0}
}

/* Fotos del presupuesto: el campo de archivo con la forma de los demás campos del cupón */
.field-file{position:relative}
.field-file input[type=file]{position:absolute;inset:0;z-index:1;width:100%;height:100%;min-height:0;padding:0;opacity:0;cursor:pointer}
.field-file label{display:flex;align-items:center;gap:10px;min-height:52px;padding:12px 16px;background:#ddbf86;color:#5e4a26;font-size:var(--s-small);cursor:pointer;transition:background-color .2s ease}
.field-file label svg{width:20px;height:20px;flex:none}
.field-file:hover label{background:#e6cd9c}
.field-file input:focus-visible+label{outline:3px solid var(--carbon);outline-offset:0;background:#e6cd9c}
.field-file.con-fotos label{color:var(--carbon);font-weight:600}

/* Desistimiento y formularios del tema */
.des-split{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px 64px;align-items:start;padding-bottom:var(--gap-section)}
.des-form{background:var(--white);padding:clamp(24px,3vw,36px);position:sticky;top:96px}
.mp-form{display:flex;flex-direction:column;gap:14px}
.mp-field{display:flex;flex-direction:column;gap:6px;margin:0}
.mp-field label{font-size:var(--s-small);font-weight:500}
.mp-field abbr{text-decoration:none;color:#8f2f25}
.mp-form input,.mp-form textarea{background:var(--paper)}
.mp-form-legal{font-size:var(--s-small);color:var(--ink-soft)}
.des-ok{background:var(--carbon);color:var(--inv);padding:24px}
.des-ok-h{font-size:var(--s-sub);font-weight:500;margin-bottom:8px}
.field input[aria-invalid="true"],.field select[aria-invalid="true"],.mp-form [aria-invalid="true"]{outline:3px solid #8f2f25;outline-offset:0}
.consent input[aria-invalid="true"]{outline:3px solid var(--carbon);outline-offset:2px}
@media (max-width:900px){.des-split{grid-template-columns:minmax(0,1fr)}.des-form{position:static}}

/* Página no encontrada */
.lost{padding-bottom:var(--gap-section)}
.lost-search{display:flex;gap:8px;max-width:640px;margin-bottom:48px}
.lost-search input{flex:1;min-width:0;min-height:52px;padding:0 16px;border:0;background:var(--white);font-size:max(16px,var(--s-body))}
.lost-links{display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.lost-links a{font-size:var(--s-head);font-weight:500;line-height:1.15;letter-spacing:-0.02em;text-decoration:none;transition:color .2s ease}
.lost-links a:hover{color:var(--brass-deep)}

/* Blog */
.posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 12px;padding-bottom:clamp(48px,6vw,96px)}
.post-tile .ph{aspect-ratio:4/3}
.post-tile .ph img{object-fit:cover}
.post-tile .nophoto{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--paper-2)}
.post-tile .nophoto svg{width:48px;height:auto}
.post-tile .strip p{font-size:var(--s-small);opacity:.85}
.pagin ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0 0 var(--gap-section)}
.pagin a,.pagin span{min-width:44px;min-height:44px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;background:var(--paper-2);text-decoration:none}
.pagin .current{background:var(--carbon);color:var(--inv)}
.post-head p{font-size:var(--s-small)!important;color:var(--ink-soft)}
.post-fig{margin:0 0 40px}
.post-fig img{width:100%;max-height:72vh;object-fit:cover}
.post-prose{margin:0 auto;padding-bottom:var(--gap-section)}
.on-paper-2 .posts{padding-bottom:0}
@media (max-width:980px){.posts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.posts{grid-template-columns:minmax(0,1fr)}}

/* «Visítanos» con foto real de la tienda */
.store-photo-img{margin:0;padding:0;overflow:hidden;position:relative}
.store-photo-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.faq h2{font-size:var(--s-head)}
.faq .acc{margin-top:0}
.mats h2{font-size:var(--s-head)}
.split-hero figure img{background:var(--carbon-2)}
.letter > p:first-of-type{margin-top:20px}

/* Impresión: solo el contenido */
@media print{
  .mp-header,.foot,.ch-wa,.ch-ck,.ch-cesta,.ch-ov,.sticky-buy,.toast,.filters,.filters-toggle{display:none!important}
  body{background:#fff}
}
