/*
Theme Name: Traselvelo
Description: Theme de bloques para traselvelo.studio. Identidad «studio», catálogo en portada, mobile-first, compatible con WooCommerce.
Version: 0.7.6
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: traselvelo
*/

:root{--tv-r:10px;--tv-r-s:6px;--tv-mono:var(--wp--preset--font-family--mono);--tv-serif:var(--wp--preset--font-family--serif);--tv-ink:var(--wp--preset--color--ink);--tv-cocoa:var(--wp--preset--color--cocoa);--tv-line:var(--wp--preset--color--line);--tv-muted:var(--wp--preset--color--muted)}

/* ---------- Base ---------- */
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto}
a{text-underline-offset:3px;text-decoration-thickness:1px}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
.tv-mono,.tv-eyebrow{font-family:var(--tv-mono)!important;font-size:.74rem!important;letter-spacing:.02em;text-transform:lowercase;font-weight:400!important;line-height:1.5}
.tv-mono a,.tv-eyebrow a{color:inherit}
:focus-visible{outline:2px solid var(--tv-cocoa);outline-offset:3px}

/* ---------- Barra superior: dos mensajes, fija en escritorio; en móvil alternan con fundido ---------- */
.tv-ticker{background:var(--wp--preset--color--greige);color:var(--tv-ink);border-bottom:1px solid var(--tv-line);font-family:var(--tv-mono);font-size:.72rem;line-height:1}
.tv-ticker p{margin:0;display:flex;justify-content:center;gap:2.4rem;padding:.6rem 1rem;position:relative}
@media(max-width:599px){
  .tv-ticker p{display:grid;justify-items:center}
  .tv-ticker span{grid-area:1/1;animation:tv-swap 9s infinite}
  .tv-ticker span+span{animation-delay:-4.5s}
}
@keyframes tv-swap{0%,45%{opacity:1}50%,95%{opacity:0}100%{opacity:1}}
@media(prefers-reduced-motion:reduce){.tv-ticker span{animation:none}.tv-ticker span+span{display:none}}

/* ---------- Cabecera ---------- */
.tv-header{position:sticky;top:0;z-index:50;display:grid!important;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;background:color-mix(in srgb,var(--wp--preset--color--base) 94%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--tv-line)}
.admin-bar .tv-header{top:32px}
.tv-header>*{margin:0!important}
.tv-header .wp-block-navigation{justify-self:start}
.tv-header .tv-icons{justify-self:end;gap:.35rem!important;align-items:center}
.tv-header .tv-icons>*{display:flex;align-items:center;justify-content:center;width:38px;height:38px;margin:0!important}
.tv-header .wp-block-search__button{background:transparent!important;color:var(--tv-ink)!important;border:0;padding:0!important;margin:0!important;width:38px;height:38px;display:flex;align-items:center;justify-content:center}
.tv-header .wp-block-search__button svg{width:22px;height:22px;transform:translateY(2px)}
@media(max-width:599px){.tv-header .wp-block-navigation__responsive-container-open{padding:0;width:38px;height:38px;display:flex;align-items:center}}
.tv-header svg{display:block}
@media(min-width:600px){.tv-header .tv-nav-mobile{display:none!important}}
@media(max-width:599px){.tv-header .tv-icons .wp-block-woocommerce-customer-account{display:none!important}.tv-header .tv-icons>*{width:34px;height:34px}}
.tv-logo{display:inline-flex;align-items:baseline;text-decoration:none!important;color:var(--tv-ink)!important;line-height:1;white-space:nowrap}
.tv-logo span{font-weight:700;font-size:1.65rem;letter-spacing:-.065em}
.tv-logo em{font-family:var(--tv-serif);font-style:italic;font-weight:400;font-size:1.72rem;letter-spacing:-.02em;margin-left:.04em}
@media(max-width:781px){.tv-logo span{font-size:1.22rem}.tv-logo em{font-size:1.28rem}.tv-header{gap:.4rem}}
.wc-block-mini-cart__badge{background:var(--tv-ink)!important;color:#fff!important;border:0!important;font-family:var(--tv-mono);font-size:.6rem!important}
@media(min-width:600px) and (max-width:1199px){.tv-header .wp-block-navigation{font-size:.86rem!important}.tv-header .wp-block-navigation__container{gap:1rem!important}}
@media(min-width:600px) and (max-width:1023px){.tv-header .tv-nav-sec{display:none!important}}

/* ---------- Botones ---------- */
.wp-element-button,.wp-block-button__link{transition:background-color .2s,color .2s,border-color .2s}
.is-style-outline .wp-block-button__link,.tv-btn-ghost .wp-block-button__link{background:transparent!important;border:1px solid currentColor!important}
.wp-block-buttons{gap:.6rem!important}

/* ---------- Hero ---------- */
.tv-hero{position:relative;display:grid!important;grid-template-columns:1fr;gap:0!important;margin:0!important;overflow:hidden}
.tv-hero figure{margin:0!important}
.tv-hero img{display:block;width:100%;height:min(78svh,640px);object-fit:cover;object-position:22% 30%}
.tv-hero .tv-hero-b{display:none}
.tv-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,21,20,0) 50%,rgba(23,21,20,.42) 100%);pointer-events:none}
.tv-hero-copy{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:0 var(--wp--preset--spacing--30) 2.2rem!important;color:#fff;display:flex;flex-direction:column;gap:1.2rem;margin:0!important}
.tv-hero-copy>*,.tv-hero-title>*{margin:0!important}
.tv-hero-title .tv-mono{margin-bottom:.8rem!important;opacity:.9}
.tv-hero-copy h1{color:#fff;max-width:11ch;font-size:clamp(2.6rem,5.4vw,5.25rem)!important;letter-spacing:-.045em;line-height:.95}
.tv-hero-copy .tv-link a{color:#fff}
@media(min-width:782px){
  .tv-hero{grid-template-columns:1fr 1fr}
  .tv-hero .tv-hero-b{display:block}
  .tv-hero img{height:min(92vh,880px)}
  .tv-hero-copy{flex-direction:row;justify-content:space-between;align-items:flex-end;padding:0 var(--wp--preset--spacing--40) 3rem!important}
}

/* ---------- Fotos enmarcadas (filete fino, como la tarjeta) ---------- */
.tv-frame{position:relative;margin:0!important}
.tv-frame img{border-radius:var(--tv-r);display:block;width:100%}
.tv-frame>a{display:block;border-radius:var(--tv-r)}
.tv-frame>a{position:relative}
.tv-frame>a::after,.tv-frame:not(:has(>a))::after{content:"";position:absolute;inset:7px;border:1px solid rgba(255,255,255,.75);border-radius:calc(var(--tv-r) - 4px);pointer-events:none;z-index:2}

/* ---------- Categorías (scroll lateral) ---------- */
.tv-cats{display:flex!important;flex-wrap:nowrap!important;gap:.75rem!important;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--wp--preset--spacing--30)!important;margin:0!important;scrollbar-width:none;scroll-padding-left:var(--wp--preset--spacing--30);max-width:calc(var(--wp--style--global--wide-size) + 2*var(--wp--preset--spacing--30))!important;margin-inline:auto!important}
.tv-cats::-webkit-scrollbar{display:none}
.tv-cats figure{flex:0 0 38%;scroll-snap-align:start}
.tv-cats img{aspect-ratio:4/5;object-fit:cover}
.tv-cats figcaption{position:absolute;left:1rem;bottom:.85rem;margin:0!important;z-index:3;font-family:var(--tv-mono);font-size:.74rem;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.35)}
.tv-cats figcaption a{color:#fff;text-decoration:none}
.tv-cats figure>a::before{content:"";position:absolute;inset:0;border-radius:var(--tv-r);background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.32));z-index:1}
@media(min-width:782px){.tv-cats figure{flex:1 1 0}}

/* ---------- Cabecera de sección y enlaces ---------- */
.tv-sec-head{display:flex!important;justify-content:space-between;align-items:baseline!important;gap:1rem;margin-top:clamp(5.5rem,11vw,9.5rem)!important;margin-bottom:1.75rem!important}
.tv-sec-head h2{margin:0;font-size:clamp(1.9rem,3.2vw,3rem)!important;letter-spacing:-.04em}
.tv-sec-head p{margin:0;white-space:nowrap}
.tv-link{margin:0}
.tv-link a{font-size:.84rem;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
h1 em,h2 em,p em.tv-it,.tv-intro-text em,.tv-statement-text em{font-family:var(--tv-serif);font-weight:400;font-style:italic;letter-spacing:-.01em;font-size:1.06em}

/* ---------- Frase de marca ---------- */
.tv-intro{padding:clamp(5rem,12vw,10.5rem) var(--wp--preset--spacing--30) clamp(3.5rem,7vw,6rem)!important;margin:0!important}
.tv-intro .tv-mono{color:var(--tv-muted);margin-bottom:1.4rem!important}
.tv-intro-text{font-size:clamp(1.6rem,3.2vw,2.9rem);font-weight:600;letter-spacing:-.035em;line-height:1.1;margin:0 auto!important;max-width:21ch}

/* ---------- Novedades con foto editorial dentro de la cuadrícula ---------- */
.tv-feed{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.25rem .6rem;margin-top:0!important}
.tv-feed .wp-block-woocommerce-product-collection,.tv-feed .wc-block-product-template{display:contents!important}
.tv-feed{position:relative}
.tv-feed .wp-block-woocommerce-product-collection>:not(ul){position:absolute;left:0;right:0;top:0;z-index:5}
.tv-feed-editorial{grid-column:1/-1;margin:0!important}
.tv-feed-editorial img{aspect-ratio:4/5;object-fit:cover;height:100%}
.tv-feed-editorial figcaption{position:absolute;left:1.4rem;bottom:1.3rem;right:1.4rem;z-index:3;margin:0!important;color:#fff;font-size:clamp(1.5rem,2.2vw,1.9rem);font-weight:600;letter-spacing:-.035em;line-height:1.05;text-shadow:0 1px 14px rgba(0,0,0,.25)}
.tv-feed-editorial figcaption a{display:block;margin-top:.6rem;font-size:.84rem;font-weight:400;letter-spacing:0;color:#fff;text-decoration:underline;text-underline-offset:5px}
.tv-feed-editorial>a::before{content:"";position:absolute;inset:0;border-radius:var(--tv-r);background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.35));z-index:1}
@media(min-width:782px){
  .tv-feed{grid-template-columns:repeat(4,minmax(0,1fr));gap:3rem 1rem}
  .tv-feed-editorial{grid-column:span 2;grid-row:span 2}
  .tv-feed-editorial>a,.tv-feed-editorial img{height:100%}
}

/* ---------- Tarjetas de producto ---------- */
.wc-block-product-template{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.25rem .6rem!important;margin:0!important;padding:0!important}
@media(min-width:782px){.wc-block-product-template{grid-template-columns:repeat(4,minmax(0,1fr));gap:3rem 1rem!important}}
.wc-block-product-template>li{margin:0!important;width:auto!important;max-width:none!important;text-align:left!important;position:relative;container-type:inline-size;list-style:none}
.wc-block-product-template>li>*{margin:0!important}
.wc-block-product-template .wc-block-components-product-image{margin-bottom:.9rem!important;position:relative;overflow:hidden;border-radius:var(--tv-r-s);background:var(--wp--preset--color--greige)}
.wc-block-product-template .wc-block-components-product-image a{display:block;position:relative}
.wc-block-product-template .wc-block-components-product-image img{aspect-ratio:4/5!important;object-fit:cover!important;width:100%;height:auto!important;display:block;transition:opacity .5s ease,transform 1.2s cubic-bezier(.2,.7,.2,1)}
.wc-block-product-template .tv-alt-img{position:absolute!important;inset:0;opacity:0;height:100%!important}
@media(hover:hover){
  .wc-block-product-template li:hover .tv-alt-img{opacity:1}
  .wc-block-product-template li:hover .wc-block-components-product-image img:not(.tv-alt-img){transform:scale(1.03)}
}
.wc-block-product-template .wp-block-post-title{font-size:.9rem!important;font-weight:600;letter-spacing:-.01em;text-transform:none;line-height:1.25;text-align:left!important}
.wc-block-product-template .wp-block-post-title a{text-decoration:none}
.wc-block-product-template .tv-card-color{display:block;font-family:var(--tv-mono);font-size:.72rem;font-weight:400;letter-spacing:.02em;color:var(--tv-muted);margin-top:.1rem}
.wc-block-product-template .wc-block-components-product-price{font-family:var(--tv-mono);font-size:.75rem!important;color:var(--tv-muted);text-align:left!important;margin-top:.25rem!important}
/* El «+» se coloca sobre la esquina inferior de la foto (alto de la foto = 125 % del ancho de la tarjeta). */
.wc-block-product-template .wp-block-woocommerce-product-button{position:absolute!important;right:.7rem;top:calc(125cqw - 2.9rem);z-index:3;margin:0!important;opacity:1;transition:opacity .3s}
@media(hover:hover){.wc-block-product-template .wp-block-woocommerce-product-button{opacity:0}.wc-block-product-template li:hover .wp-block-woocommerce-product-button,.wc-block-product-template .wp-block-woocommerce-product-button:focus-within{opacity:1}}
.wc-block-product-template .wp-block-woocommerce-product-button .wp-block-button__link,.wc-block-product-template .wc-block-components-product-button__button{position:relative;width:2.2rem!important;height:2.2rem!important;min-height:0!important;padding:0!important;border-radius:50%!important;border:0!important;background:rgba(244,240,235,.94)!important;color:transparent!important;font-size:0!important;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.08)}
.wc-block-product-template .wc-block-components-product-button__button::before,.wc-block-product-template .wp-block-woocommerce-product-button .wp-block-button__link::before{content:"+";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:400;color:var(--tv-ink)}
.wc-block-product-template .wc-block-components-product-button__button:hover{background:var(--tv-ink)!important}
.wc-block-product-template .wc-block-components-product-button__button:hover::before{color:#fff}
.wc-block-product-template .wc-block-components-product-button__button.loading::before{content:"·"}
.wc-block-product-template .wc-block-components-product-button__button.added::before{content:"✓"}
.wc-block-product-template .added_to_cart{display:none!important}
.wc-block-components-product-sale-badge,.wc-block-components-product-image .onsale{background:var(--tv-ink)!important;color:#fff!important;border:0!important;border-radius:999px!important;font-family:var(--tv-mono)!important;font-size:.64rem!important;text-transform:lowercase;font-weight:400!important;padding:.3em .7em!important;top:.6rem!important;left:.6rem!important;right:auto!important}

/* ---------- Bloque de guía ---------- */
.tv-split{gap:0!important;margin-top:clamp(5.5rem,11vw,9.5rem)!important;align-items:center!important;padding:clamp(1.25rem,4vw,3.5rem)!important}
.tv-split-media{padding:0!important}
.tv-split-media img{aspect-ratio:4/5;height:auto;max-height:78vh;object-fit:cover;object-position:50% 30%}
.tv-split-copy{padding:2.4rem .3rem 1rem!important}
.tv-split-copy .tv-mono{color:var(--tv-muted);margin:0 0 1rem!important}
.tv-split-copy h2{margin:0 0 1.1rem!important;max-width:15ch;letter-spacing:-.04em}
.tv-split-copy p:not(.tv-mono):not(.tv-link){max-width:40ch;color:var(--tv-muted);margin-bottom:1.8rem!important}
.tv-split-copy .wp-block-buttons{margin:0 0 1rem!important}
@media(min-width:782px){.tv-split-copy{padding:0 clamp(2rem,6vw,6.5rem)!important}.tv-split-copy .wp-block-buttons{display:inline-flex;margin:0 1.4rem 0 0!important;vertical-align:middle}.tv-split-copy .tv-link{display:inline-block;vertical-align:middle}}
@media(max-width:781px){.tv-split-copy .wp-block-button,.tv-split-copy .wp-block-button__link{width:100%;text-align:center}}

/* ---------- Clientas ---------- */
.tv-ugc{display:flex!important;flex-wrap:nowrap!important;gap:.6rem!important;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--wp--preset--spacing--30) .4rem!important;margin:0!important;scrollbar-width:none;scroll-padding-left:var(--wp--preset--spacing--30)}
.tv-ugc::-webkit-scrollbar{display:none}
.tv-ugc figure{flex:0 0 64%;scroll-snap-align:start}
.tv-ugc img{aspect-ratio:3/4;object-fit:cover}
.tv-ugc figcaption{font-family:var(--tv-mono);font-size:.74rem;margin-top:.6rem!important;color:var(--tv-muted);text-align:left}
.tv-ugc figcaption a{color:var(--tv-ink)}
@media(min-width:782px){.tv-ugc figure{flex-basis:calc((100% - 3*.6rem)/4.4)}}

/* ---------- Manifiesto y datos ---------- */
.tv-statement{margin-top:clamp(5.5rem,11vw,9.5rem)!important;padding:clamp(4.5rem,9vw,7.5rem) var(--wp--preset--spacing--30)!important}
.tv-statement-text{font-size:clamp(1.75rem,3.6vw,3.25rem);font-weight:600;letter-spacing:-.04em;line-height:1.08;max-width:22ch;margin-left:0!important;margin-top:0!important;margin-bottom:var(--wp--preset--spacing--40)!important;text-wrap:balance}
.tv-facts{list-style:none;margin:0!important;padding:0;max-width:none!important;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(23,21,20,.18)}
.tv-facts li{padding:.9rem .2rem;border-bottom:1px solid rgba(23,21,20,.18)}
@media(max-width:480px){.tv-facts{grid-template-columns:1fr}}
@media(min-width:782px){.tv-facts{grid-template-columns:repeat(4,1fr)}.tv-facts li{border-bottom:0}}

/* ---------- Guías ---------- */
.tv-guides .wp-block-post-template{display:grid!important;grid-template-columns:1fr;gap:2.2rem 1.2rem!important}
.tv-guides .wp-block-post-template>li{margin:0!important}
@media(min-width:782px){.tv-guides .wp-block-post-template{grid-template-columns:repeat(3,1fr)}}
.tv-guides .wp-block-post-featured-image{margin:0 0 .8rem!important;overflow:hidden;border-radius:var(--tv-r-s)}
.tv-guides .wp-block-post-featured-image img{transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.tv-guides li:hover .wp-block-post-featured-image img{transform:scale(1.035)}
.tv-guides{padding-bottom:clamp(5rem,10vw,9rem)!important}
.tv-guides .wp-block-post-title{font-size:1.25rem!important;font-weight:600;letter-spacing:-.02em;line-height:1.2;margin:0!important}
.tv-guides .wp-block-post-title a{text-decoration:none}
.tv-guides .wp-block-post-excerpt{margin-top:.45rem}
.tv-guides .wp-block-post-excerpt__more-text{display:none}

/* ---------- Pie ---------- */
.tv-footer{font-size:.92rem}
.tv-footer a{text-decoration:none;color:inherit}
.tv-footer a:hover{text-decoration:underline}
.tv-footer h3{margin:0 0 .8rem!important;color:var(--tv-muted)}
.tv-footer p{line-height:1.9}
.tv-footer-claim{font-size:1.25rem;font-weight:600;letter-spacing:-.025em;line-height:1.25!important;max-width:24ch}
.tv-footer-logo{margin-top:var(--wp--preset--spacing--40)!important;margin-bottom:.6rem!important;line-height:.9;white-space:nowrap;font-size:min(13.6rem,calc((100vw - 2.6rem) / 6.35))}
.tv-footer-logo span{font-weight:700;letter-spacing:-.07em}
.tv-footer-logo em{font-family:var(--tv-serif);font-weight:400;letter-spacing:-.02em}
.tv-footer-legal{color:var(--tv-muted);margin-top:0!important;margin-bottom:0!important}

/* ---------- Tienda y categorías ---------- */
.tv-pills{overflow-x:auto;scrollbar-width:none;gap:.45rem!important;padding:.2rem 0 .4rem;margin-top:var(--wp--preset--spacing--20)!important;margin-bottom:0!important}
.tv-pills::-webkit-scrollbar{display:none}
.tv-pills .wp-block-button__link{white-space:nowrap;padding:.6em 1.15em!important;font-size:.84rem!important;font-weight:400!important;border-color:var(--tv-line)!important;color:var(--tv-ink)!important}
.tv-pills .wp-block-button__link:hover{border-color:var(--tv-ink)!important}
@media(max-width:781px){.tv-pills{justify-content:flex-start!important}}
.wc-block-product-results-count,.woocommerce-result-count{font-family:var(--tv-mono);font-size:.74rem!important;color:var(--tv-muted);margin:0!important}
.woocommerce-ordering select,.wc-block-catalog-sorting select{appearance:none;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23171514' fill='none'/%3E%3C/svg%3E") no-repeat right .2rem center;border:0;border-bottom:1px solid var(--tv-ink);border-radius:0;padding:.3rem 1.4rem .3rem 0;font-family:var(--tv-mono);font-size:.74rem;color:var(--tv-ink);cursor:pointer}
.woocommerce-ordering{margin:0!important}
.wp-block-query-pagination{margin-top:var(--wp--preset--spacing--50)!important;font-family:var(--tv-mono);font-size:.8rem;gap:.8rem}
.wp-block-query-pagination a{text-decoration:none}
.wp-block-query-pagination .current{border-bottom:1px solid var(--tv-ink)}
.wp-block-term-description{margin-top:.6rem!important;margin-bottom:0!important;color:var(--tv-muted);text-align:left!important}
.wp-block-term-description p{max-width:62ch}
.wp-block-term-description p{margin:0 0 .7rem}
.wp-block-term-description a{color:var(--tv-ink)}
.woocommerce-breadcrumb,.wc-block-breadcrumbs{font-family:var(--tv-mono)!important;font-size:.72rem!important;text-transform:lowercase;color:var(--tv-muted)}
.woocommerce-breadcrumb a,.wc-block-breadcrumbs a{color:inherit}

/* ---------- Ficha de producto ---------- */
.single-product .tv-pdp-title{font-size:clamp(2.2rem,4.5vw,3.4rem)!important;margin:.2rem 0 .4rem!important}
.single-product .tv-pdp-price .wc-block-components-product-price{font-family:var(--tv-mono);font-size:1rem!important;color:var(--tv-ink)}
.single-product .wc-block-product-filter-chips__items{gap:.45rem!important}
.single-product .wc-block-product-filter-chips__item{border-radius:999px!important;border:1px solid var(--tv-line)!important;background:transparent!important;color:var(--tv-ink)!important;padding:.6rem 1.15rem!important;font-size:.88rem!important}
.single-product .wc-block-product-filter-chips__item[aria-checked=true]{background:var(--tv-ink)!important;border-color:var(--tv-ink)!important;color:#fff!important}
.single-product .wp-block-woocommerce-add-to-cart-with-options-variation-selector-attribute-name{font-family:var(--tv-mono);font-size:.74rem;text-transform:lowercase;font-weight:400}
.single-product .wp-block-woocommerce-add-to-cart-with-options-quantity-selector{display:none!important}
.single-product .wp-block-woocommerce-add-to-cart-with-options .wp-block-woocommerce-product-button{flex:1 1 100%}
.single-product .wp-block-woocommerce-add-to-cart-with-options .wc-block-components-product-button__button{width:100%!important;background:var(--tv-ink)!important;color:#fff!important;border-radius:999px!important;padding:1.1em!important;font-size:.95rem!important;font-weight:600}
.single-product .wp-block-woocommerce-add-to-cart-with-options .wc-block-components-product-button__button:hover{background:var(--tv-cocoa)!important}
.single-product .wp-block-woocommerce-add-to-cart-with-options .wc-block-components-product-button__button:disabled{background:var(--tv-muted)!important;opacity:.55}
@media(max-width:781px){.single-product .wp-block-woocommerce-add-to-cart-with-options .wp-block-woocommerce-product-button{position:sticky;bottom:0;z-index:20;background:var(--wp--preset--color--base);padding:.6rem 0}}
.tv-pdp-trust{list-style:none;padding:0;margin:var(--wp--preset--spacing--30) 0 0;font-family:var(--tv-mono);font-size:.76rem}
.tv-pdp-trust li{padding:.8rem 0;border-top:1px solid var(--tv-line)}
.tv-pdp-trust li:last-child{border-bottom:1px solid var(--tv-line)}
.single-product .wp-block-post-terms{font-family:var(--tv-mono);font-size:.74rem;color:var(--tv-muted)}
.single-product .woocommerce-tabs{margin-top:var(--wp--preset--spacing--50)}
.single-product .woocommerce-tabs ul.tabs,.single-product .wc-tabs{display:flex;gap:1.6rem;padding:0!important;margin:0 0 1.2rem!important;border-bottom:1px solid var(--tv-line);list-style:none}
.single-product .wc-tabs::before,.single-product .wc-tabs li::before,.single-product .wc-tabs li::after{display:none!important}
.single-product .wc-tabs li{background:none!important;border:0!important;margin:0!important;padding:0!important;border-radius:0!important}
.single-product .wc-tabs li a{display:block;padding:.7rem 0!important;font-weight:600!important;color:var(--tv-muted)!important;text-decoration:none;border-bottom:1px solid transparent;margin-bottom:-1px}
.single-product .wc-tabs li.active a{color:var(--tv-ink)!important;border-bottom-color:var(--tv-ink)}
.single-product .woocommerce-Tabs-panel{max-width:720px}
.single-product table.shop_attributes{border:0;font-size:.9rem}
.single-product table.shop_attributes th,.single-product table.shop_attributes td{border:0;border-bottom:1px solid var(--tv-line);padding:.7rem 0;background:none!important;font-style:normal;text-align:left}

/* ---------- Barra de envío gratis ---------- */
.tv-ship{padding:.9rem 0 1rem;margin-bottom:.5rem;border-bottom:1px solid var(--tv-line)}
.wc-block-mini-cart__items .tv-ship{padding:.9rem 1rem 1rem}
.tv-ship p{margin:0 0 .55rem;font-family:var(--tv-mono);font-size:.76rem;text-align:center}
.tv-ship span{display:block;height:3px;border-radius:3px;background:var(--tv-line);overflow:hidden}
.tv-ship i{display:block;height:100%;width:0;background:var(--tv-cocoa);transition:width .5s ease}
.tv-ship.is-free i{background:var(--tv-ink)}

/* ---------- Carrito, checkout y carrito lateral ---------- */
.wc-block-cart .wc-block-components-button,.wc-block-mini-cart__footer .wc-block-components-button,.wc-block-checkout .wc-block-components-button.contained{border-radius:999px!important}
.wc-block-components-totals-item__value,.wc-block-formatted-money-amount{font-family:var(--tv-mono)}
.wc-block-components-text-input input,.wc-block-components-combobox .components-combobox-control input,.wc-blocks-components-select select{border-radius:var(--tv-r-s)!important;border-color:var(--tv-line)!important}
.wc-block-mini-cart__drawer .components-modal__content{background:var(--wp--preset--color--base)}

/* ---------- Artículos ---------- */
.tv-lead{font-size:1.1rem;max-width:560px;margin-left:0!important}
.tv-post .wp-block-post-content{font-size:1.05rem;line-height:1.72}
.tv-post .wp-block-post-content h2{font-size:clamp(1.6rem,3vw,2.1rem);margin-top:2.6rem;margin-bottom:.8rem}
.tv-post .wp-block-post-content h3{font-size:1.2rem;letter-spacing:-.02em;margin-top:1.8rem}
.tv-post .wp-block-post-content li{margin-bottom:.5rem}
.tv-post .wp-block-post-content a{text-decoration-color:var(--tv-cocoa)}
.tv-post .wp-block-post-featured-image img{border-radius:var(--tv-r)}
.tv-answer{background:var(--wp--preset--color--blush);border-radius:var(--tv-r);padding:1.3rem 1.5rem!important;margin-bottom:2rem!important}
.tv-answer p{margin:0}
.tv-answer .tv-eyebrow{color:var(--tv-cocoa);margin-bottom:.5rem}
.tv-table table{border-collapse:collapse;width:100%;font-size:.92rem}
.tv-table th,.tv-table td{border:0;border-bottom:1px solid var(--tv-line);padding:.8rem .7rem .8rem 0;text-align:left;vertical-align:top}
.tv-table thead th{font-family:var(--tv-mono);font-size:.72rem;font-weight:400;text-transform:lowercase;color:var(--tv-muted);border-bottom:1px solid var(--tv-ink)}
.tv-table tbody td:first-child{font-weight:600}
@media(max-width:600px){.tv-table{overflow-x:auto}.tv-table table{min-width:520px}}
.tv-faq{border-bottom:1px solid var(--tv-line);padding:1.1rem 0;margin:0!important}
.tv-faq summary{cursor:pointer;font-weight:600;font-size:1.08rem;letter-spacing:-.015em;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.tv-faq summary::-webkit-details-marker{display:none}
.tv-faq summary::after{content:"+";font-weight:400;font-size:1.3rem;line-height:1;transition:transform .2s}
.tv-faq[open] summary::after{transform:rotate(45deg)}
.tv-faq p{margin:.6rem 0 0;color:var(--tv-muted)}
.tv-post-products{margin:2rem 0!important}
.tv-post-cta{border-radius:var(--tv-r)}

/* ---------- Newsletter (popup propio) ---------- */
.tv-nl{display:none;position:fixed;inset:0;z-index:999;background:rgba(23,21,20,0);align-items:flex-end;justify-content:center;transition:background .3s;margin:0!important}
.tv-nl.is-visible{display:flex}
.tv-nl.is-open{background:rgba(23,21,20,.42)}
.tv-nl-card{position:relative;display:flex;width:100%;max-width:780px;background:var(--wp--preset--color--blush);transform:translateY(100%);transition:transform .35s ease;margin:0!important;border-radius:var(--tv-r) var(--tv-r) 0 0;overflow:hidden}
.tv-nl.is-open .tv-nl-card{transform:none}
.tv-nl-img{display:none;margin:0!important;flex:0 0 42%}
.tv-nl-img img{width:100%;height:100%;object-fit:cover;display:block}
.tv-nl-body{position:relative;flex:1;padding:2rem 1.4rem 1.6rem!important;margin:0!important}
.tv-nl-title{font-size:2rem!important;margin:.4rem 0 .5rem!important}
.tv-nl-text{font-size:.92rem;color:var(--tv-muted);margin:0 0 1rem!important}
.tv-nl-close{position:absolute;top:.5rem;right:.6rem;background:none;border:0;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--tv-ink);padding:.3rem}
.tv-nl-form input[type=email]{width:100%;box-sizing:border-box;border:1px solid var(--tv-line);background:#fff;padding:.95rem 1.1rem;font:inherit;font-size:16px;border-radius:999px}
.tv-nl-form button{width:100%;margin-top:.7rem;background:var(--tv-ink);color:#fff;border:0;padding:1rem;font:inherit;font-size:.95rem;font-weight:600;border-radius:999px;cursor:pointer}
.tv-nl-form button:hover{background:var(--tv-cocoa)}
.tv-nl-form button:disabled{opacity:.6}
.tv-nl-legal{display:flex;gap:.5rem;align-items:flex-start;font-size:.75rem;color:var(--tv-muted);margin-top:.8rem;line-height:1.4}
.tv-nl-legal input{margin-top:.15rem;accent-color:var(--tv-ink)}
.tv-nl-hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.tv-nl-msg{color:var(--tv-cocoa);font-size:.82rem;margin:.5rem 0 0}
.tv-nl-msg:empty{display:none}
.tv-nl-ok{display:none;font-size:1.4rem;font-weight:600;letter-spacing:-.02em;margin:0}
.tv-nl.is-done .tv-nl-form{display:none}
.tv-nl.is-done .tv-nl-ok{display:block}
@media(min-width:782px){
  .tv-nl{align-items:center}
  .tv-nl-card{transform:translateY(16px);opacity:0;transition:transform .35s ease,opacity .35s ease;border-radius:var(--tv-r)}
  .tv-nl.is-open .tv-nl-card{opacity:1}
  .tv-nl-img{display:block}
  .tv-nl-body{padding:3rem 2.4rem 2.4rem!important}
}

/* ---------- Banner de cookies (Complianz) ----------
   Aceptar y Denegar con el mismo peso visual: rechazar debe ser igual de fácil que aceptar (AEPD). */
.cmplz-cookiebanner{
  --cmplz_banner_width:440px;--cmplz_banner_background_color:var(--wp--preset--color--blush);--cmplz_banner_border_color:var(--tv-line);
  --cmplz_banner_border_width:1px;--cmplz_banner_border_radius:10px;--cmplz_banner_margin:16px;
  --cmplz_text_color:var(--tv-ink);--cmplz_hyperlink_color:var(--tv-ink);--cmplz_text_font_size:13px;--cmplz_text_line_height:1.55;--cmplz_title_font_size:20px;--cmplz_link_font_size:11px;
  --cmplz_button_border_radius:999px;--cmplz_button_font_size:13px;
  --cmplz_button_accept_background_color:var(--tv-ink);--cmplz_button_accept_border_color:var(--tv-ink);--cmplz_button_accept_text_color:#fff;
  --cmplz_button_deny_background_color:var(--tv-ink);--cmplz_button_deny_border_color:var(--tv-ink);--cmplz_button_deny_text_color:#fff;
  --cmplz_button_settings_background_color:transparent;--cmplz_button_settings_border_color:transparent;--cmplz_button_settings_text_color:var(--tv-ink);
  --cmplz_slider_active_color:var(--tv-ink);--cmplz_slider_inactive_color:var(--tv-line);--cmplz_slider_bullet_color:#fff;--cmplz_category_header_always_active_color:var(--tv-muted);
  font-family:var(--wp--preset--font-family--sans)!important;box-shadow:0 12px 40px -18px rgba(23,21,20,.35)!important;
}
.cmplz-cookiebanner .cmplz-title{font-weight:600!important;letter-spacing:-.02em}
.cmplz-cookiebanner .cmplz-divider{display:none!important}
.cmplz-cookiebanner .cmplz-message{color:var(--tv-muted)!important}
.cmplz-cookiebanner .cmplz-btn{font-weight:600!important;height:44px!important}
.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences,.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences{text-decoration:underline!important;text-underline-offset:3px;font-weight:400!important}
.cmplz-cookiebanner .cmplz-btn:hover{opacity:.85}
.cmplz-cookiebanner .cmplz-buttons{gap:.5rem!important}
.cmplz-cookiebanner .cmplz-documents ul{display:flex!important;gap:1rem!important;justify-content:center}
.cmplz-cookiebanner .cmplz-links a{color:var(--tv-muted)!important;font-family:var(--tv-mono)}
.cmplz-cookiebanner .cmplz-category{background:#fff!important;border-radius:var(--tv-r-s)!important}
@media(min-width:782px){.cmplz-cookiebanner.cmplz-bottom-right{right:auto!important;left:16px!important}}
@media(max-width:767px){.cmplz-cookiebanner{--cmplz_banner_margin:0;--cmplz_banner_border_radius:10px 10px 0 0;max-height:70vh}}

/* ---------- Carrito vacío (sugerencias de WooCommerce) ---------- */
.wc-block-cart__empty-cart__title.with-empty-cart-icon::before{display:none!important}
.wc-block-cart__empty-cart__title{font-size:clamp(1.6rem,3vw,2.2rem)!important;letter-spacing:-.03em}
.wp-block-woocommerce-empty-cart-block .wp-block-separator{display:none}
.wc-block-grid__products{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.8rem .6rem;margin:0!important}
@media(min-width:782px){.wc-block-grid__products{grid-template-columns:repeat(4,minmax(0,1fr));gap:2.6rem 1rem}}
.wc-block-grid__product{width:auto!important;max-width:none!important;flex:none!important;margin:0!important;padding:0!important;border:0!important;text-align:left!important}
.wc-block-grid__product-image{margin-bottom:.75rem!important}
.wc-block-grid__product-image img{aspect-ratio:4/5;object-fit:cover;width:100%!important;height:auto!important;border-radius:var(--tv-r-s)}
.wc-block-grid__product-link{text-decoration:none}
.wc-block-grid__product-title{font-size:.95rem!important;font-weight:600;letter-spacing:-.01em;margin:0!important;text-decoration:none}
.wc-block-grid__product-price{font-family:var(--tv-mono);font-size:.8rem!important;color:var(--tv-muted);margin:.2rem 0 .7rem!important}
.wc-block-grid__product-add-to-cart .wp-block-button__link{font-size:.82rem!important;padding:.7em 1.2em!important}
.wc-block-grid__product-link,.wc-block-grid__product-image{display:block!important;width:100%!important}

/* ---------- Carrusel infinito de clientas ---------- */
.tv-ugc-nav{display:none}
@media(min-width:782px){
  .tv-ugc-nav{display:flex;justify-content:flex-end;gap:.5rem;max-width:var(--wp--style--global--wide-size);margin:1rem auto 0!important;padding:0 var(--wp--preset--spacing--30)}
  .tv-ugc-nav button{width:42px;height:42px;border-radius:50%;border:1px solid var(--tv-ink);background:transparent;color:var(--tv-ink);font-size:1rem;cursor:pointer;transition:background .2s,color .2s}
  .tv-ugc-nav button:hover{background:var(--tv-ink);color:#fff}
}

/* ---------- Formularios (contacto, cuenta, checkout clásico) ---------- */
.wpcf7 form,.woocommerce-account .woocommerce form{max-width:560px}
.wpcf7 p{margin:0 0 1.1rem}
.wpcf7 label,.woocommerce form .form-row label{font-family:var(--tv-mono);font-size:.74rem;color:var(--tv-muted);text-transform:lowercase;display:block;margin-bottom:.35rem}
.wpcf7 input:not([type=submit]):not([type=checkbox]):not([type=radio]),.wpcf7 textarea,.wpcf7 select,.woocommerce form .input-text,.woocommerce form:not(.woocommerce-ordering) select{width:100%;box-sizing:border-box;background:#fff;border:1px solid var(--tv-line);border-radius:var(--tv-r-s);padding:.85rem 1rem;font:inherit;font-size:16px;color:var(--tv-ink);transition:border-color .2s}
.wpcf7 input:focus,.wpcf7 textarea:focus,.woocommerce form .input-text:focus{outline:none;border-color:var(--tv-ink)}
.wpcf7 textarea{min-height:9rem;resize:vertical}
.wpcf7 input[type=submit],.woocommerce-account .woocommerce button.button,.woocommerce-account .woocommerce .button{background:var(--tv-ink)!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:1em 2em!important;font:inherit;font-weight:600;font-size:.95rem;cursor:pointer}
.wpcf7 input[type=submit]:hover,.woocommerce-account .woocommerce .button:hover{background:var(--tv-cocoa)!important}
.wpcf7-not-valid-tip,.wpcf7-response-output{font-size:.85rem;color:var(--tv-cocoa)}
.wpcf7 .wpcf7-response-output{border-radius:var(--tv-r-s);margin:1rem 0 0!important}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0 0 2rem;display:flex;flex-wrap:wrap;gap:.45rem}
.woocommerce-account .woocommerce-MyAccount-navigation a{display:block;border:1px solid var(--tv-line);border-radius:999px;padding:.5em 1.1em;text-decoration:none;font-size:.88rem}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{background:var(--tv-ink);border-color:var(--tv-ink);color:#fff}
.woocommerce-account h2{font-size:clamp(1.6rem,2.6vw,2.2rem);letter-spacing:-.035em}
.single-product .tv-pdp-cat{color:var(--tv-muted);margin:0 0 .6rem!important}
.single-product .tv-pdp-cat a{color:inherit;text-decoration:none}

/* ---------- Páginas (contacto, cuenta, legales) ---------- */
.tv-page{padding-top:clamp(3rem,7vw,5.5rem)!important;padding-bottom:clamp(4rem,9vw,7rem)!important}
.tv-page>.wp-block-post-title,.tv-page>.wp-block-post-content{max-width:720px!important;margin-left:auto!important;margin-right:auto!important}
.tv-page>.wp-block-post-title{margin-bottom:2rem!important;letter-spacing:-.04em}
.tv-page .wp-block-post-content>*{max-width:none!important;margin-left:0!important}
.woocommerce form.login,.woocommerce form.register,.woocommerce form.lost_reset_password{border:1px solid var(--tv-line)!important;border-radius:var(--tv-r)!important;padding:1.6rem!important;margin:0!important;background:rgba(255,255,255,.35)}
.woocommerce-account h2{margin-top:0}

/* ---------- Contacto ---------- */
.wpcf7 fieldset.hidden-fields-container{border:0;padding:0;margin:0}
.tv-contact h1{margin:.8rem 0 1.2rem!important;max-width:10ch}
.tv-contact-list{list-style:none;padding:0;margin:2.2rem 0 0;border-top:1px solid var(--tv-line)}
.tv-contact-list li{display:flex;gap:1rem;padding:.95rem 0;border-bottom:1px solid var(--tv-line)}
.tv-contact-list span{color:var(--tv-muted);min-width:6.5rem}
.tv-contact-list a{text-decoration:none}
.tv-contact-form>p:first-child:has(strong:only-child){display:none}
.tv-contact-form .wpcf7 form{max-width:none}

/* ---------- Avisos de WooCommerce ---------- */
.wc-block-components-notice-banner{border:1px solid var(--tv-line)!important;border-radius:var(--tv-r-s)!important;background:#fff!important;color:var(--tv-ink)!important;font-size:.9rem;box-shadow:none!important;outline:none!important}
.wc-block-components-notice-banner.is-success>svg{background:var(--tv-ink)!important;fill:#fff!important}
.wc-block-components-notice-banner.is-error{border-color:var(--tv-cocoa)!important}
.wc-block-components-notice-banner.is-error>svg{background:var(--tv-cocoa)!important;fill:#fff!important}
.wc-block-components-notice-banner a{color:var(--tv-ink)!important}
.wc-block-components-notices:focus,.wc-block-components-notice-banner:focus{outline:none!important}

/* ---------- Carrito y pago, detalle ---------- */
.wc-block-cart-items__header,.wc-block-cart__totals-title,.wc-block-components-checkout-order-summary__title-text{font-family:var(--tv-mono)!important;font-size:.74rem!important;font-weight:400!important;text-transform:lowercase!important;color:var(--tv-muted)!important;letter-spacing:0!important}
.wc-block-components-product-name{font-weight:600;text-decoration:none!important;letter-spacing:-.01em}
.wc-block-components-quantity-selector{border-radius:999px!important;border-color:var(--tv-line)!important;overflow:hidden}
.wc-block-components-quantity-selector::after{border:0!important}
.wc-block-components-title.wc-block-components-title{font-size:1.15rem!important;font-weight:600!important;letter-spacing:-.02em}
.wc-block-components-radio-control__option,.wc-block-components-radio-control--highlight-checked{border-radius:var(--tv-r-s)!important}
.wc-block-checkout__sidebar .wc-block-components-checkout-order-summary,.wp-block-woocommerce-checkout-order-summary-block{border-radius:var(--tv-r)!important;border-color:var(--tv-line)!important;background:rgba(255,255,255,.4)}
.wc-block-checkout__actions_row{flex-wrap:wrap}
.wc-block-checkout__actions_row::after{content:"pago seguro · 14 días para devoluciones · hecho a mano en barcelona";flex-basis:100%;text-align:center;margin-top:1rem;font-family:var(--tv-mono);font-size:.72rem;color:var(--tv-muted)}
.tv-checkout-header .tv-back{justify-self:start;text-decoration:none;color:var(--tv-muted)}
.tv-checkout-header .tv-secure{justify-self:end;margin:0;color:var(--tv-muted)}
.tv-checkout-header .tv-secure::before{content:"🔒︎ ";filter:grayscale(1)}
@media(max-width:599px){.tv-checkout-header .tv-back{font-size:0!important}.tv-checkout-header .tv-back::before{content:"←";font-size:1.1rem}.tv-checkout-header .tv-secure{font-size:0!important}.tv-checkout-header .tv-secure::before{font-size:.9rem}}

/* En pantallas táctiles no hay «hover»: la segunda foto ni se descarga (lazy + display:none). */
@media(hover:none){.wc-block-product-template .tv-alt-img{display:none!important}}

/* Galería de la ficha sin saltos: antes de que arranque el carrusel solo se ve la primera foto,
   y se reserva el hueco de la fila de miniaturas. */
.wc-block-product-gallery-large-image img,.wc-block-product-gallery-thumbnails img{border-radius:var(--tv-r-s)}
