/* Tienda v3 · sobre el papel; cada pieza en su vitrina pequeña, con su tarjeta de precio y su punzón */
.tienda{background:var(--papel);color:var(--tinta)}
.t-cab{padding:clamp(2.4rem,5vw,3.6rem) 0 clamp(1.8rem,3.5vw,2.6rem)}
.t-cab .fila-cab{display:grid;grid-template-columns:1fr minmax(16rem,24rem);align-items:end;gap:1.2rem 3rem}
.migas{font-size:.88rem;color:#A99D8D;margin:0 0 1.1rem}
.migas a{text-decoration:none;color:var(--metal)}
.migas a:hover{text-decoration:underline;text-underline-offset:.3em}
.migas span{margin:0 .5rem;opacity:.55}
.t-cab h1{font-size:clamp(2.2rem,4.6vw,3.6rem);color:var(--crema)}
.t-cab .sub{color:#D0C5B4;max-width:38rem;margin:.9rem 0 0;font-size:1.05rem}
.buscar{display:flex;align-items:center;gap:.8rem;width:min(30rem,100%);border-bottom:1px solid rgba(217,204,182,.45);color:var(--crema)}
.buscar input{flex:1;background:none;border:0;padding:.75rem 0;font-size:1.05rem;color:var(--crema);outline:none}
.buscar input::placeholder{color:#958A7B}
.buscar input::-webkit-search-cancel-button{filter:invert(.8)}
.buscar:focus-within{border-color:var(--crema)}

.t-cuerpo{display:grid;grid-template-columns:14rem 1fr;gap:clamp(2rem,4vw,3.5rem);padding-top:clamp(2rem,4vw,3rem);padding-bottom:clamp(4rem,8vw,6rem)}
.filtros{position:sticky;top:6rem;align-self:start;max-height:calc(100vh - 7rem);overflow:auto;padding-right:.5rem;scrollbar-width:thin}
.filtros h2{font-size:.92rem;font-weight:500;margin:0 0 .55rem;letter-spacing:0;color:var(--tinta)}
.grupo{border-top:1px solid var(--filete);padding:1rem 0 1.1rem}
.grupo:first-of-type{border-top:0;padding-top:0}
.grupo:empty{display:none}
.opcion{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem;width:100%;background:none;border:0;padding:.28rem 0;text-align:left;cursor:pointer;font-size:.97rem;color:var(--tinta-2)}
.opcion small{font-size:.8rem;color:#6E6255}
.opcion:hover .txt{text-decoration:underline;text-underline-offset:.3em;text-decoration-color:rgba(35,29,24,.35)}
.opcion[aria-pressed="true"]{color:var(--tinta);font-weight:500}
.opcion[aria-pressed="true"] .txt::before{content:"";display:inline-block;width:.5rem;height:.45rem;margin-right:.45rem;background:var(--gema);clip-path:polygon(22% 0,78% 0,100% 30%,50% 100%,0 30%);vertical-align:.12em}
.opcion .txt{flex:1}
.leyes{display:grid;gap:.15rem}
.leyes .opcion{justify-content:flex-start;gap:.6rem}
.leyes .opcion small{margin-left:auto}
.borrar{background:none;border:0;padding:0;color:var(--tinta-2);text-decoration:underline;text-underline-offset:.3em;cursor:pointer;font-size:.9rem;margin-top:.4rem}

.barra-res{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem 1.5rem;margin-bottom:1.8rem;padding-bottom:1rem;border-bottom:1px solid var(--filete)}
.barra-res p{margin:0;color:var(--tinta-2)}
.selector{appearance:none;-webkit-appearance:none;border:0;border-bottom:1px solid rgba(35,29,24,.3);background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23231D18' stroke-width='1.3'/%3E%3C/svg%3E") right .2rem center/.7rem no-repeat;
  padding:.45rem 1.8rem .45rem 0;font-size:.97rem;cursor:pointer;border-radius:0}
.abrir-filtros{display:none}

/* Rejilla: vitrinas pequeñas */
.rejilla{display:grid;grid-template-columns:repeat(4,1fr);gap:2.4rem 1.4rem;list-style:none;margin:0;padding:0;align-items:start}
.pz{position:relative;display:flex;flex-direction:column}
.pz>a{text-decoration:none;display:block}
.pz figure{margin:0;aspect-ratio:1;position:relative;overflow:hidden;background:radial-gradient(115% 90% at 50% 0%,#FCF5EA,var(--vitrina) 72%)}
.pz figure::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(124,90,38,.13);
  background:linear-gradient(112deg,transparent 22%,rgba(255,255,255,.22) 28%,transparent 34%)}
.pz img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;transition:transform .7s var(--curva)}
.pz.foto img{mix-blend-mode:normal}
.pz>a:hover img{transform:scale(1.04)}
.pz .nom{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.96rem;line-height:1.36;margin:.85rem 0 .1rem;min-height:2.72em}
.pz .ref{display:block;font-size:.8rem;color:#6E6255}
.pz .pie{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem;padding-top:.45rem}
.pz .pre{font-weight:500;font-size:1rem}
.pz .pre small{font-weight:400;font-size:.8rem;color:var(--tinta-2);margin-right:.25rem}
.apartar{display:inline-flex;align-items:center;gap:.35rem;margin:0;background:none;border:0;padding:.15rem 0;cursor:pointer;font-size:.86rem;color:var(--tinta-2);
  text-decoration:underline;text-decoration-color:rgba(35,29,24,.25);text-underline-offset:.3em}
.apartar svg{width:.85rem;height:.75rem;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}
.apartar[aria-pressed="true"]{color:var(--tinta)}
.apartar[aria-pressed="true"] svg{fill:var(--gema);stroke:var(--tinta)}
.apartar:hover{text-decoration-color:currentColor}
/* vitrina de categoría intercalada en la rejilla (ritmo editorial) */
.pz.vitrina-cat{grid-column:span 2;align-self:stretch}
.pz.vitrina-cat a{display:grid;grid-template-columns:1fr 1fr;height:100%;background:var(--granito);color:var(--crema);text-decoration:none}
.pz.vitrina-cat figure{aspect-ratio:auto;height:100%}
.pz.vitrina-cat div{padding:1.4rem 1.3rem;display:flex;flex-direction:column;justify-content:flex-end;gap:.4rem}
.pz.vitrina-cat b{font-size:1.4rem;font-weight:500;line-height:1.1}
.pz.vitrina-cat span{color:var(--metal);font-size:.92rem}
.pz.vitrina-cat em{font-style:normal;margin-top:.6rem;font-size:.92rem;text-decoration:underline;text-underline-offset:.3em;text-decoration-color:rgba(236,226,210,.4)}
.mas{display:flex;justify-content:center;margin-top:3.2rem}
.vacio{grid-column:1/-1;padding:3rem 0;color:var(--tinta-2)}

/* Ficha */
.ficha{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,4.5rem);padding-top:clamp(2rem,4vw,3.2rem);padding-bottom:clamp(3rem,6vw,5rem);align-items:start}
.ficha .migas{color:#6E6255}
.ficha .migas a{color:var(--tinta-2)}
.galeria{position:sticky;top:6.5rem}
.galeria .vitrina{position:relative;aspect-ratio:1;overflow:hidden;
  border:2px solid #B8904E;
  background:radial-gradient(110% 85% at 50% 0%,#FCF3E4,#F2E0C3 55%,var(--luz));box-shadow:inset 0 0 0 1px rgba(255,236,196,.45),inset 0 14px 22px -14px rgba(0,0,0,.35)}
.galeria .vitrina::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(112deg,transparent 20%,rgba(255,255,255,.18) 26%,transparent 33%)}
.galeria .vitrina img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;cursor:zoom-in;transition:transform .5s var(--curva)}
.galeria .vitrina.foto img{mix-blend-mode:normal}
.galeria .vitrina.lupa img{transform:scale(2);cursor:zoom-out}
.miniaturas{display:flex;gap:.7rem;margin-top:.9rem}
.miniaturas button{width:4.6rem;aspect-ratio:1;padding:0;border:1px solid var(--filete);background:var(--vitrina);cursor:pointer}
.miniaturas button[aria-current="true"]{border-color:var(--tinta)}
.miniaturas img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}
.nota-foto{font-size:.82rem;color:#6E6255;margin-top:.7rem}
.info{position:sticky;top:6.5rem}
.info .cabeza-pieza{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem;color:var(--tinta-2);font-size:.9rem}
.info h1{font-size:clamp(1.8rem,3.2vw,2.5rem);line-height:1.12}
.info .ref{color:var(--tinta-2);font-size:.9rem;margin:.6rem 0 1.5rem}
.info .precio{font-size:clamp(1.7rem,3vw,2.2rem);font-weight:500;margin:0 0 1.6rem;padding:0 0 1.2rem;border-bottom:1px solid var(--filete);letter-spacing:-.015em}
.info .precio small{font-size:.95rem;font-weight:400;color:var(--tinta-2);margin-left:.4rem}
.opciones{display:grid;gap:1.1rem;margin-bottom:1.6rem}
.opciones fieldset{border:0;padding:0;margin:0;min-width:0}
.opciones legend{font-size:.92rem;color:var(--tinta-2);margin-bottom:.55rem;display:flex;gap:1rem;width:100%;justify-content:space-between}
.opciones legend a{color:var(--tinta)}
.fichas-op{display:flex;flex-wrap:wrap;gap:.4rem}
.fichas-op label{cursor:pointer}
.fichas-op input{position:absolute;opacity:0;pointer-events:none}
.fichas-op span{display:inline-grid;place-items:center;min-width:2.6rem;height:2.5rem;padding:0 .6rem;border:1px solid rgba(35,29,24,.22);font-size:.95rem;background:#FFFCF7;transition:border-color .2s,background-color .2s}
.fichas-op input:checked+span{background:var(--tinta);color:var(--papel);border-color:var(--tinta)}
.fichas-op input:focus-visible+span{outline:2px solid var(--gema);outline-offset:2px}
.fichas-op label:hover span{border-color:var(--tinta)}
.botones{display:grid;gap:.7rem}
.botones .btn{width:100%}
.botones .fila2{display:grid;grid-template-columns:1fr auto;gap:.7rem}
.botones .apartar-f{border:1px solid rgba(35,29,24,.22);background:transparent;border-radius:1px;padding:0 1rem;display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.97rem}
.botones .apartar-f svg{width:.95rem;height:.85rem;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}
.botones .apartar-f[aria-pressed="true"] svg{fill:var(--gema)}
.nota-tel{margin:.9rem 0 0;color:var(--tinta-2);font-size:.95rem}
.nota-tel a{color:var(--tinta)}
.hoja{margin-top:2.2rem;border:1px solid rgba(35,29,24,.18);padding:1.3rem 1.4rem 1.2rem;background:#FBF7F0;position:relative}
.hoja::before{content:"";position:absolute;inset:4px;border:1px solid rgba(35,29,24,.08);pointer-events:none}
.hoja h2{font-size:1.1rem;font-weight:500;margin:0 0 .9rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.hoja h2 span{font-size:.82rem;font-weight:400;color:var(--tinta-2)}
.hoja p{margin:0 0 .8rem;font-size:.97rem;color:var(--tinta-2)}
.hoja dl{display:grid;grid-template-columns:minmax(8rem,auto) 1fr;gap:.4rem 1.2rem;margin:0;font-size:.97rem}
.hoja dt{color:var(--tinta-2)}
.hoja dd{margin:0}
.hoja details{margin-top:1rem;border-top:1px solid var(--filete);padding-top:.8rem}
.hoja summary{cursor:pointer;font-size:.92rem;color:var(--tinta)}
.hoja details dl,.hoja details p{margin-top:.8rem}
.servicio{margin-top:1.5rem;display:grid;gap:.35rem;font-size:.93rem;color:var(--tinta-2)}
.servicio b{font-weight:500;color:var(--tinta)}
.relacion{padding:clamp(3rem,6vw,5rem) 0;border-top:1px solid var(--filete)}
.relacion h2{font-size:clamp(1.5rem,2.8vw,2rem);margin-bottom:2rem}

/* Apartados */
.cajon{position:fixed;inset:0 0 0 auto;width:min(26rem,100%);z-index:80;background:var(--papel);color:var(--tinta);box-shadow:-30px 0 60px -30px rgba(0,0,0,.5);
  transform:translateX(105%);visibility:hidden;transition:transform .45s var(--curva),visibility 0s .45s;display:flex;flex-direction:column}
.cajon[data-abierto]{transform:none;visibility:visible;transition:transform .45s var(--curva)}
.cajon header{display:flex;justify-content:space-between;align-items:center;padding:1.3rem 1.4rem;border-bottom:1px solid var(--filete)}
.cajon h2{font-size:1.3rem}
.cajon .cerrar{background:none;border:0;font-size:1.6rem;line-height:1;cursor:pointer;padding:.2rem .4rem}
.cajon ul{list-style:none;margin:0;padding:.6rem 1.4rem;overflow:auto;flex:1}
.cajon li{display:grid;grid-template-columns:4rem 1fr auto;gap:.9rem;align-items:center;padding:.8rem 0;border-bottom:1px solid var(--filete)}
.cajon li img{width:4rem;height:4rem;object-fit:cover;background:var(--vitrina);mix-blend-mode:multiply}
.cajon li a{text-decoration:none;font-size:.95rem;line-height:1.3}
.cajon li span{display:block;color:var(--tinta-2);font-size:.88rem}
.cajon li button{background:none;border:0;color:var(--tinta-2);cursor:pointer;font-size:.85rem;text-decoration:underline;text-underline-offset:.3em}
.cajon footer{padding:1.2rem 1.4rem 1.6rem;border-top:1px solid var(--filete)}
.cajon footer p{display:flex;justify-content:space-between;margin:0 0 1rem;font-weight:500}
.cajon footer .btn{width:100%}
.cajon .vacio-c{padding:2rem 0;color:var(--tinta-2);border:0;display:block}
.velo{position:fixed;inset:0;z-index:70;background:rgba(21,18,15,.45);opacity:0;pointer-events:none;transition:opacity .3s}
.velo[data-abierto]{opacity:1;pointer-events:auto}

/* 404 */
.no-esta{min-height:60vh;display:grid;place-content:center;text-align:center;padding:4rem 1rem}
.no-esta h1{font-size:clamp(2rem,4vw,3rem);color:var(--crema);margin-bottom:1rem}
.no-esta p{color:#D0C5B4;max-width:30rem;margin:0 auto 1.6rem}

@media (max-width:1100px){ .rejilla{grid-template-columns:repeat(3,1fr)} }
@media (max-width:860px){
  .galeria{position:static}
  .t-cab .fila-cab{grid-template-columns:1fr}
  .t-cuerpo{grid-template-columns:1fr}
  .filtros{position:fixed;inset:0 auto 0 0;width:min(22rem,88%);max-height:none;z-index:80;background:var(--papel);padding:1.5rem 1.4rem;
    transform:translateX(-105%);visibility:hidden;transition:transform .45s var(--curva),visibility 0s .45s;box-shadow:30px 0 60px -30px rgba(0,0,0,.5)}
  .filtros[data-abierto]{transform:none;visibility:visible;transition:transform .45s var(--curva)}
  .abrir-filtros{display:inline-flex}
  .ficha{grid-template-columns:1fr}
  .info{position:static}
  .rejilla{grid-template-columns:repeat(2,1fr);gap:2rem 1rem}
  .pz.vitrina-cat a{grid-template-columns:1fr}
  .pz.vitrina-cat figure{display:none}
}
