/* ============ PÁGINAS INTERNAS — Toallas San Pedro ============ */

/* fix: media como enlace */
.card__media a{display:block;width:100%;height:100%}
.card__name a{color:inherit}
.card__name a:hover{color:var(--salvia)}

/* breadcrumb */
.breadcrumb{font-size:.8rem;color:var(--taupe);letter-spacing:.02em;margin:0 0 .4rem}
.breadcrumb a{color:var(--taupe)}
.breadcrumb a:hover{color:var(--salvia)}
.breadcrumb span{opacity:.5;margin:0 .35rem}
.breadcrumb.light,.breadcrumb.light a{color:rgba(255,255,255,.85)}

/* page hero (páginas simples) */
.page-hero{border-bottom:1px solid var(--hilo);padding-block:clamp(2.4rem,6vw,4.6rem) clamp(2rem,4vw,3rem);position:relative;overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:0;opacity:.45;pointer-events:none;background-image:repeating-linear-gradient(90deg,var(--hilo) 0 1px,transparent 1px 46px);-webkit-mask-image:linear-gradient(90deg,transparent,#000 60%);mask-image:linear-gradient(90deg,transparent,#000 60%)}
.page-hero .wrap{position:relative}
.page-hero h1{font-family:var(--ff-serif);font-weight:500;font-size:clamp(2.4rem,1.8rem+3.4vw,4.4rem);line-height:1.03;letter-spacing:-.01em;margin:.3rem 0 .8rem}
.page-lead{font-size:clamp(1.02rem,.98rem+.4vw,1.22rem);color:var(--tinta-2);max-width:60ch;line-height:1.6;margin:0}

/* category hero (con imagen) */
.cat-hero{position:relative;min-height:clamp(320px,44vw,480px);display:flex;align-items:flex-end;overflow:hidden;background:var(--hueso-2)}
.cat-hero::before{content:"";position:absolute;inset:0;background-image:var(--bg);background-size:cover;background-position:center;transform:scale(1.03)}
.cat-hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,15,10,.25),rgba(18,15,10,.78))}
.cat-hero__in{position:relative;color:#fff;padding-block:clamp(2rem,5vw,3.4rem);width:100%}
.cat-hero__in h1{font-family:var(--ff-serif);font-weight:500;color:#fff;font-size:clamp(2.4rem,1.8rem+3.6vw,4.6rem);line-height:1.02;margin:.2rem 0 .7rem}
.cat-hero__in .page-lead{color:rgba(255,255,255,.9)}
.cat-count{margin:.9rem 0 0;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.8)}

/* shop toolbar */
.shop-bar{display:flex;justify-content:space-between;align-items:center;gap:1.2rem;flex-wrap:wrap;margin-bottom:clamp(1.6rem,3vw,2.4rem);padding-bottom:1.2rem;border-bottom:1px solid var(--hilo)}
.chips{display:flex;gap:.5rem;flex-wrap:wrap}
.chip{border:1px solid var(--hilo-2);background:transparent;color:var(--tinta);border-radius:999px;padding:.55em 1.05em;font-size:.82rem;font-weight:500;letter-spacing:.01em;transition:background .25s,color .25s,border-color .25s}
.chip span{opacity:.55;font-variant-numeric:tabular-nums;margin-left:.35em;font-size:.76rem}
.chip:hover{border-color:var(--salvia)}
.chip.is-active{background:var(--tinta);color:var(--hueso);border-color:var(--tinta)}
.chip.is-active span{opacity:.7}
.shop-search{display:flex;align-items:center;gap:.5rem;border:1px solid var(--hilo-2);border-radius:999px;padding:.5em 1em;min-width:min(280px,70vw)}
.shop-search svg{width:18px;height:18px;color:var(--taupe);flex:0 0 auto}
.shop-search input{border:none;background:transparent;color:var(--tinta);font-family:inherit;font-size:.9rem;width:100%;outline:none}
.shop-search input::placeholder{color:var(--taupe)}
.shop-empty{text-align:center;color:var(--taupe);padding:3rem 0}
.linkbtn{background:none;border:none;color:var(--salvia);cursor:pointer;font:inherit;text-decoration:underline}

/* PDP — ficha de producto */
.pdp{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.6rem,4vw,4rem);padding-top:1rem;padding-bottom:clamp(2rem,5vw,4rem);align-items:start}
.pdp__media{position:sticky;top:96px;border:1px solid var(--hilo);border-radius:18px;overflow:hidden;background:var(--blanco);aspect-ratio:1/1}
.pdp__media img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}
.pdp__info{padding-top:.5rem}
.pdp__title{font-family:var(--ff-serif);font-weight:500;font-size:clamp(1.9rem,1.4rem+2vw,3rem);line-height:1.05;margin:.2rem 0 .5rem}
.pdp__price{font-family:var(--ff-serif);font-size:2rem;font-weight:600;color:var(--tinta);font-variant-numeric:tabular-nums;margin:0 0 .3rem}
.pdp__cat{margin:.1rem 0 1.3rem;font-size:.82rem}
.pdp__cat a{color:var(--salvia);text-transform:uppercase;letter-spacing:.12em;font-weight:600;font-size:.74rem}
.pdp__desc{color:var(--tinta-2);line-height:1.7;max-width:52ch;margin:0 0 1.6rem}
.pdp__opt{margin-bottom:1.4rem}
.opt-label{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--taupe);margin:0 0 .6rem}
.swatches{display:flex;flex-wrap:wrap;gap:.5rem}
.swatch{width:30px;height:30px;border-radius:50%;border:1px solid var(--hilo-2);background-size:cover;background-position:center;cursor:pointer;transition:transform .2s,box-shadow .2s}
.swatch:hover{transform:scale(1.12);box-shadow:0 0 0 2px var(--salvia)}
.swatch.more{display:grid;place-items:center;font-size:.7rem;color:var(--taupe);background:var(--hueso-2)}
.sizes{display:flex;flex-wrap:wrap;gap:.5rem}
.size{border:1px solid var(--hilo-2);border-radius:8px;padding:.4em .8em;font-size:.82rem;color:var(--tinta-2)}
.pdp__buy{display:flex;gap:.8rem;align-items:stretch;margin:1.6rem 0 1.4rem;flex-wrap:wrap}
.qty{display:flex;align-items:center;border:1px solid var(--hilo-2);border-radius:999px;overflow:hidden}
.qty__btn{width:44px;height:100%;min-height:46px;border:none;background:transparent;color:var(--tinta);font-size:1.2rem;cursor:pointer}
.qty__btn:hover{background:var(--hueso-2)}
.qty__n{width:44px;border:none;background:transparent;text-align:center;color:var(--tinta);font-family:inherit;font-size:1rem;font-variant-numeric:tabular-nums;outline:none}
.pdp__add{flex:1;min-width:200px;justify-content:center}
.pdp__perks{list-style:none;padding:1.2rem 0 0;margin:1.2rem 0 0;border-top:1px solid var(--hilo);display:flex;flex-direction:column;gap:.5rem;color:var(--tinta-2);font-size:.9rem}
.pdp__b2b{margin:1.2rem 0 0;font-size:.9rem;color:var(--taupe)}
.pdp__b2b a{color:var(--salvia);font-weight:600}
@media(max-width:760px){.pdp{grid-template-columns:1fr}.pdp__media{position:relative;top:0}}

/* values como tarjetas (nosotros/hotelera) */
.values--cards{border:none;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.values--cards .value{border:1px solid var(--hilo);border-radius:14px;align-items:flex-start;flex-direction:column;gap:.7rem;padding:1.5rem}
.values--cards .value svg{width:28px;height:28px}
@media(max-width:900px){.values--cards{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.values--cards{grid-template-columns:1fr}}

/* cross links categoría */
.cat-cross{margin-top:clamp(2.5rem,5vw,4rem);padding-top:2rem;border-top:1px solid var(--hilo)}
.cat-cross h3{font-family:var(--ff-serif);font-size:1.6rem;font-weight:500;margin:0 0 1rem}
.cross-links{display:flex;gap:.8rem;flex-wrap:wrap}

/* contacto */
.contact{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(1.6rem,4vw,3.5rem);padding-block:clamp(2rem,5vw,3.5rem) clamp(3rem,6vw,5rem);align-items:start}
.contact h2{font-size:clamp(1.7rem,1.3rem+1.6vw,2.4rem);margin:0 0 1.3rem}
.cform{display:flex;flex-direction:column;gap:1rem}
.cform .row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.cform label{display:flex;flex-direction:column;gap:.4rem;font-size:.8rem;font-weight:600;letter-spacing:.04em;color:var(--taupe);text-transform:uppercase}
.cform input,.cform select,.cform textarea{font-family:inherit;font-size:.98rem;font-weight:400;text-transform:none;letter-spacing:0;color:var(--tinta);background:var(--papel);border:1px solid var(--hilo-2);border-radius:10px;padding:.8em .95em}
.cform textarea{resize:vertical}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:none;border-color:var(--salvia)}
.cform .btn{align-self:flex-start;margin-top:.3rem}
.contact__info{background:var(--hueso-2);border:1px solid var(--hilo);border-radius:16px;padding:clamp(1.4rem,3vw,2.2rem)}
.contact__info h3{font-size:1.35rem;font-weight:500;margin:0 0 1rem}
.cinfo{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}
.cinfo li{font-size:.95rem;color:var(--tinta-2)}
.cinfo .k{display:block;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--taupe);margin-bottom:.1rem}
.cinfo a{color:var(--salvia)}
.caddr{color:var(--tinta-2);line-height:1.6;font-size:.95rem}
.shops--contact{margin-top:1.2rem;grid-template-columns:1fr 1fr}
.shops--contact .shop{padding:1.1rem 1.2rem}
.shops--contact .shop h3{font-size:1.15rem}
@media(max-width:820px){.contact{grid-template-columns:1fr}}
@media(max-width:520px){.cform .row2{grid-template-columns:1fr}.shops--contact{grid-template-columns:1fr}}

/* B2B form */
.b2b-form{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(1.6rem,4vw,3.5rem);border:1px solid var(--hilo);border-radius:18px;padding:clamp(1.6rem,4vw,3rem);background:var(--hueso-2);align-items:start}
.b2b-form__intro h2{font-size:clamp(1.7rem,1.3rem+1.6vw,2.4rem);margin:.4rem 0 .8rem}
.b2b-form__intro p{color:var(--tinta-2);line-height:1.6}
@media(max-width:820px){.b2b-form{grid-template-columns:1fr}}

/* btn light para héroes con imagen */
.btn--light{border-color:rgba(255,255,255,.55);color:#fff}
.btn--light:hover{background:#fff;color:var(--tinta)}
