/* =====================================================================
   BULK 3D STORE — main.css
   Identidad de bulk3dstudio.com: MINIMALISMO EXAGERADO.
   Tipografía gigante · un solo acento naranja · esquinas rectas ·
   hairlines en lugar de sombras. Mobile-first.
   ===================================================================== */

/* ============================== TOKENS ============================== */
:root{
  /* Marca */
  --naranja:    #E85D1C;
  --naranja-hi: #F58C28;
  --naranja-lo: #D64814;
  --obrown:     #60260C;

  /* Superficies y tinta (modo día) */
  --papel:   #F2EEE6;           /* fondo de página */
  --crema:   #EEE8DE;           /* superficies (tarjetas, imágenes) */
  --tinta:   #1A1713;           /* texto */
  --ink-rgb: 26,23,19;
  --carbon:  #17150F;           /* secciones oscuras */
  --slate:   #6E665C;           /* texto secundario */
  --faint:   #D8D1C5;           /* hairlines */
  --field:   #FBF9F5;           /* fondo de campos */
  --accent-ink: #B8420F;        /* naranja legible en textos chicos (AA sobre papel) */
  --btn-bg:  var(--naranja-lo); /* relleno de botones (texto blanco) */
  --glass:   rgba(242,238,230,.62);
  --glass-2: rgba(242,238,230,.8);
  --glass-border: rgba(26,23,19,.08);
  --overlay: rgba(23,21,15,.45);
  --ok:  #2F6B3A;
  --err: #B3261E;
  color-scheme: light;

  /* Tipografías */
  --font-display: "Anton", system-ui, sans-serif;
  --font-black:   "Archivo Black", system-ui, sans-serif;
  --font-serif:   "Spectral", Georgia, serif;
  --font-body:    "Space Grotesk", system-ui, -apple-system, sans-serif;

  /* Espaciado */
  --sp-1: .5rem; --sp-2: 1rem; --sp-3: 1.5rem; --sp-4: 2.5rem;
  --sp-5: 4rem;  --sp-6: 7rem; --sp-7: 10rem;

  /* Layout */
  --container: 1440px;
  --gutter: clamp(1rem, 4.5vw, 4.5rem);
  --header-h: 76px;

  /* Movimiento */
  --t-fast: 200ms cubic-bezier(.22,.61,.36,1);
  --t-med:  450ms cubic-bezier(.22,.61,.36,1);
  --ease-out: cubic-bezier(.16,1,.3,1);
}

[data-theme="dark"]{
  --papel:   #100D08;
  --crema:   #1C1812;
  --tinta:   #EFE7DC;
  --ink-rgb: 239,231,220;
  --carbon:  #211D17;
  --slate:   #A79E91;
  --faint:   #332E27;
  --field:   #17130E;
  --accent-ink: #F58C28;
  --glass:   rgba(22,19,14,.58);
  --glass-2: rgba(22,19,14,.8);
  --glass-border: rgba(239,231,220,.12);
  --overlay: rgba(0,0,0,.6);
  --ok:  #7BC48A;
  --err: #FF8A7A;
  color-scheme: dark;
}

/* ============================== RESET ============================== */
*,*::before,*::after{ box-sizing:border-box; }
html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scrollbar-gutter:stable;
  scrollbar-width:thin;
  scrollbar-color:rgba(var(--ink-rgb),.28) var(--papel);
}
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

body{
  margin:0;
  font-family:var(--font-body);
  font-size:clamp(1rem, .96rem + .15vw, 1.0625rem);
  line-height:1.55;
  color:var(--tinta);
  background:var(--papel);
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
  transition:background-color .4s ease, color .4s ease;
}
body.is-locked{ overflow:hidden; }

img,svg,video{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3,h4,h5,h6{ margin:0; font-weight:400; }
p{ margin:0 0 1em; }
button,input,select,textarea{ font:inherit; color:inherit; }
button{ cursor:pointer; }
::selection{ background:var(--naranja); color:#fff; }
:focus-visible{ outline:3px solid var(--naranja); outline-offset:3px; }

.sprite{ position:absolute; width:0; height:0; overflow:hidden; }
.i{ width:1.25em; height:1.25em; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; flex:none; }

.screen-reader-text{
  border:0; clip:rect(1px,1px,1px,1px); clip-path:inset(50%);
  height:1px; width:1px; margin:-1px; overflow:hidden; padding:0;
  position:absolute !important; word-wrap:normal !important;
}
.skip-link{
  position:absolute; left:-999px; top:0; z-index:3000;
  background:var(--tinta); color:var(--papel); padding:.8rem 1.2rem; font-weight:600;
}
.skip-link:focus{ left:0; }

/* ============================== LAYOUT ============================== */
.container{ width:100%; max-width:var(--container); margin-inline:auto; padding-inline:var(--gutter); }
.site-main{ display:block; min-height:60vh; }
.section{ padding-block:clamp(4.5rem, 10vw, var(--sp-7)); position:relative; }
.section--rule{ border-top:1px solid var(--faint); }
.section--dark{ background:var(--carbon); color:#EEE8DE; --slate:#B7AE9F; --faint:rgba(238,232,222,.18); }
[data-theme="dark"] .section--dark{ background:#1A1712; }
.section--orange{ background:var(--naranja); color:var(--obrown); }

/* ============================== TIPOGRAFÍA ============================== */
/* Etiqueta editorial: (01) Sección ——— */
.lab{
  display:flex; align-items:center; gap:.75rem;
  font-weight:600; font-size:.78rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--slate); margin:0 0 var(--sp-3);
}
.lab__idx{ color:var(--accent-ink); font-variant-numeric:tabular-nums; }
.lab__line{ flex:0 1 110px; height:1px; background:currentColor; opacity:.4; }
.section--dark .lab{ color:#EEE8DE; opacity:.75; }
.section--dark .lab__idx{ color:var(--naranja-hi); }
.section--orange .lab{ color:#fff; }
.section--orange .lab__idx{ color:#fff; }

.display{
  font-family:var(--font-display); font-weight:400;
  font-size:clamp(2.6rem, 8.4vw, 7.5rem);
  line-height:.92; letter-spacing:-.01em;
  text-transform:uppercase; margin:0;
  overflow-wrap:anywhere;
}
.serif{
  font-family:var(--font-serif); font-style:italic; font-weight:600;
  text-transform:none; letter-spacing:0; color:var(--naranja);
}
.display .serif{ font-size:1.02em; }
[data-theme="dark"] .serif{ color:var(--naranja-hi); }
.section--dark .serif{ color:var(--naranja-hi); }
.section--orange .display{ color:var(--obrown); }
.section--orange .serif{ color:#fff; }

.lead{
  font-size:clamp(1.08rem, 1.6vw, 1.35rem); line-height:1.5;
  color:var(--slate); max-width:40ch; margin:var(--sp-3) 0 0;
}
.lead p{ margin:0; }
.section--orange .lead{ color:var(--obrown); }

/* ============================== BOTONES ============================== */
.btn,
.button,
button.button,
input.button,
a.button,
.wp-element-button{
  display:inline-flex; align-items:center; justify-content:center; gap:.6rem;
  font-family:var(--font-body); font-weight:600; font-size:1rem; line-height:1;
  min-height:52px; padding:1rem 1.6rem;
  border:1.5px solid var(--tinta); border-radius:0;
  background:transparent; color:var(--tinta);
  text-align:center; cursor:pointer;
  transition:background-color var(--t-fast), color var(--t-fast), border-color var(--t-fast);
}
.btn:hover,.button:hover{ background:var(--tinta); color:var(--papel); }
.btn .i,.button .i{ width:1.15em; height:1.15em; transition:transform var(--t-fast); }
.btn:hover .i{ transform:translateX(3px); }
.btn:active,.button:active{ scale:.98; }

.btn--primary,
.button.alt,
.woocommerce-form-login__submit,
.woocommerce-form-register__submit,
.woocommerce-ResetPassword .button,
.woocommerce-EditAccountForm .button,
.woocommerce-address-fields .button,
.single_add_to_cart_button,
.checkout-button,
#place_order{
  background:var(--btn-bg); border-color:var(--btn-bg); color:#fff;
}
.btn--primary:hover,
.button.alt:hover,
.woocommerce-form-login__submit:hover,
.woocommerce-form-register__submit:hover,
.woocommerce-ResetPassword .button:hover,
.woocommerce-EditAccountForm .button:hover,
.woocommerce-address-fields .button:hover,
.single_add_to_cart_button:hover,
#place_order:hover{ background:var(--tinta); border-color:var(--tinta); color:var(--papel); }

.btn--lg{ min-height:60px; padding:1.15rem 2rem; font-size:1.04rem; }
.btn--block{ width:100%; }
.btn--glass{
  background:rgba(238,232,222,.08); color:#EEE8DE; border-color:rgba(238,232,222,.55);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
}
.btn--glass:hover{ background:#EEE8DE; color:#1A1713; border-color:#EEE8DE; }
.btn--dark{ background:#1A1713; border-color:#1A1713; color:#fff; }
.btn--dark:hover{ background:#fff; border-color:#fff; color:#1A1713; }
.btn--onorange{ border-color:var(--obrown); color:var(--obrown); }
.btn--onorange:hover{ background:var(--obrown); color:#fff; }

.button:disabled,.button.disabled{ opacity:.45; cursor:not-allowed; }

/* Link con flecha y subrayado naranja */
.arrow-link{
  display:inline-flex; align-items:center; gap:.55rem;
  font-weight:600; padding:.4rem 0; position:relative;
}
.arrow-link::after{
  content:""; position:absolute; left:0; bottom:0; width:100%; height:2px;
  background:var(--naranja); transform:scaleX(0); transform-origin:left; transition:transform var(--t-fast);
}
.arrow-link:hover::after{ transform:scaleX(1); }
.arrow-link .i{ transition:transform var(--t-fast); }
.arrow-link:hover .i{ transform:translateX(4px); }

/* Botones de ícono (header) */
.icon-btn{
  position:relative; display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; flex:none; padding:0;
  background:transparent; border:1px solid transparent; border-radius:50%;
  color:var(--tinta); transition:border-color var(--t-fast), color var(--t-fast), background var(--t-fast);
}
.icon-btn:hover{ border-color:var(--faint); color:var(--accent-ink); }
.icon-btn .i{ width:21px; height:21px; }

/* ============================== HEADER ============================== */
.site-header{
  position:fixed; inset:0 0 auto 0; z-index:1000;
  padding:12px clamp(10px, 3vw, 32px) 0;
  transition:padding var(--t-med);
  pointer-events:none;
}
.site-header.is-scrolled{ padding:0; }
.header__inner{
  pointer-events:auto;
  display:flex; align-items:center; gap:1rem;
  height:var(--header-h); max-width:1240px; margin-inline:auto;
  padding-inline:clamp(.9rem, 2vw, 1.5rem) clamp(.5rem, 1.2vw, .9rem);
  background:var(--glass);
  backdrop-filter:saturate(150%) blur(14px); -webkit-backdrop-filter:saturate(150%) blur(14px);
  border:1px solid var(--glass-border); border-radius:999px;
  box-shadow:0 6px 24px rgba(26,23,19,.08);
  transition:max-width var(--t-med), border-radius var(--t-med), background-color var(--t-med), box-shadow var(--t-med), border-color var(--t-med);
}
.site-header.is-scrolled .header__inner{
  max-width:100%; border-radius:0; background:var(--glass-2);
  border-color:transparent; border-bottom-color:var(--faint); box-shadow:none;
}
body.admin-bar .site-header{ top:32px; }
@media (max-width:782px){ body.admin-bar .site-header{ top:46px; } }

.brand{ display:inline-flex; align-items:center; gap:.6rem; flex:none; margin-right:auto; }
.brand__mark{ height:54px; width:auto; }
.brand__word{
  font-family:var(--font-black); font-size:1rem; letter-spacing:.02em; line-height:1;
  white-space:nowrap; padding-top:.35rem;
}

.nav{ display:none; }
.nav__list{ display:flex; gap:clamp(1rem, 2vw, 1.9rem); align-items:center; margin:0; padding:0; list-style:none; }
.nav__link{
  position:relative; padding:.4rem 0;
  font-weight:500; font-size:.86rem; letter-spacing:.08em; text-transform:uppercase;
}
.nav__link::after{
  content:""; position:absolute; left:0; bottom:-2px; width:100%; height:2px;
  background:var(--naranja); transform:scaleX(0); transform-origin:left; transition:transform var(--t-fast);
}
.nav__link:hover::after,
.current-menu-item > .nav__link::after,
.nav__link[aria-current="page"]::after{ transform:scaleX(1); }

.header__actions{ display:flex; align-items:center; gap:.15rem; }
.icon-btn--account{ display:none; }

.theme-toggle__sun{ display:none; }
[data-theme="dark"] .theme-toggle__sun{ display:block; }
[data-theme="dark"] .theme-toggle__moon{ display:none; }

.cart-count{
  position:absolute; top:3px; right:1px;
  min-width:19px; height:19px; padding:0 5px; border-radius:999px;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--naranja); color:#fff;
  font-size:.68rem; font-weight:700; line-height:1; font-variant-numeric:tabular-nums;
}
.cart-count[data-count="0"]{ display:none; }
.cart-btn.is-bump .cart-count{ animation:bump .5s var(--ease-out); }
@keyframes bump{ 0%{ transform:scale(1);} 35%{ transform:scale(1.45);} 100%{ transform:scale(1);} }

.nav-toggle{
  position:relative; width:44px; height:44px; flex:none;
  background:transparent; border:0; padding:0; margin-left:.1rem;
}
.nav-toggle__bar{
  position:absolute; left:11px; width:22px; height:2px; background:var(--tinta);
  transition:transform var(--t-med), top var(--t-med);
}
.nav-toggle__bar:nth-child(1){ top:17px; }
.nav-toggle__bar:nth-child(2){ top:25px; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(1){ top:21px; transform:rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(2){ top:21px; transform:rotate(-45deg); }

/* Menú mobile */
.mobile-menu{
  position:fixed; inset:0; z-index:990;
  padding:calc(var(--header-h) + 36px) var(--gutter) 2rem;
  background:var(--papel);
  display:flex; flex-direction:column; justify-content:space-between;
  overflow-y:auto;
}
.mobile-menu[hidden]{ display:none; }
.mobile-menu__list{ list-style:none; margin:0; padding:0; }
.mobile-menu__list .nav__link{
  display:block; padding:1rem 0; border-bottom:1px solid var(--faint);
  font-family:var(--font-display); font-size:clamp(2rem, 9vw, 3rem); line-height:1; letter-spacing:0;
}
.mobile-menu__list .nav__link::after{ display:none; }
.mobile-menu__list .nav__link:hover{ color:var(--accent-ink); }
.mobile-menu.is-open .mobile-menu__list li{ animation:menuIn .5s var(--ease-out) both; }
.mobile-menu.is-open .mobile-menu__list li:nth-child(2){ animation-delay:.04s; }
.mobile-menu.is-open .mobile-menu__list li:nth-child(3){ animation-delay:.08s; }
.mobile-menu.is-open .mobile-menu__list li:nth-child(4){ animation-delay:.12s; }
.mobile-menu.is-open .mobile-menu__list li:nth-child(5){ animation-delay:.16s; }
.mobile-menu.is-open .mobile-menu__list li:nth-child(6){ animation-delay:.2s; }
@keyframes menuIn{ from{ opacity:0; transform:translateY(18px); } to{ opacity:1; transform:none; } }
.mobile-menu__foot{ display:flex; gap:1.5rem; flex-wrap:wrap; padding-top:2rem; }

/* Búsqueda */
.search-panel{
  position:fixed; inset:0 0 auto 0; z-index:1100;
  padding:calc(var(--header-h) + 28px) 0 28px;
  background:var(--glass-2);
  backdrop-filter:saturate(150%) blur(18px); -webkit-backdrop-filter:saturate(150%) blur(18px);
  border-bottom:1px solid var(--faint);
}
.search-panel[hidden]{ display:none; }
.search-panel.is-open{ animation:dropIn .35s var(--ease-out); }
@keyframes dropIn{ from{ opacity:0; transform:translateY(-12px); } to{ opacity:1; transform:none; } }
.search-panel__inner{ display:flex; align-items:center; gap:.75rem; max-width:1000px; }
.search-form{ position:relative; display:flex; flex:1; gap:.6rem; }
.search-form__ic{ position:absolute; left:1rem; top:50%; transform:translateY(-50%); width:22px; height:22px; color:var(--slate); pointer-events:none; }
.search-form__input{
  flex:1; min-width:0; min-height:56px; padding:0 1rem 0 3.1rem;
  font-size:1.1rem; background:var(--field); border:1.5px solid var(--tinta); border-radius:0;
}
.search-form__input:focus{ outline:none; border-color:var(--naranja); }
.search-panel .search-form .btn{ min-height:56px; }

/* ============================== HERO: slider (home) ============================== */
.hero{
  position:relative; display:flex; flex-direction:column;
  min-height:min(96svh, 920px);
  background:var(--carbon); color:#EEE8DE; overflow:hidden;
}
[data-theme="dark"] .hero{ background:#0D0B07; }
.hero::before{
  content:""; position:absolute; inset:-20% -10% auto auto; width:70vw; height:70vw; pointer-events:none;
  background:radial-gradient(circle at 60% 40%, rgba(232,93,28,.22), rgba(232,93,28,0) 62%);
}
.hero::after{
  content:""; position:absolute; inset:auto 0 0 0; height:1px; background:rgba(238,232,222,.14);
}
.hero__viewport{ position:relative; flex:1; display:grid; }
.slide{
  grid-area:1/1; position:relative; display:flex; align-items:center; min-width:0;
  opacity:0; visibility:hidden; transition:opacity .6s ease, visibility 0s linear .6s;
}
.slide.is-active{ opacity:1; visibility:visible; transition:opacity .6s ease; }
.slide__inner{
  display:grid; gap:1.5rem; width:100%; align-items:center;
  padding-top:calc(var(--header-h) + 3rem); padding-bottom:1.5rem;
}
.slide__word{
  position:absolute; right:-1%; top:14%; z-index:0; pointer-events:none; white-space:nowrap;
  font-family:var(--font-display); font-size:clamp(4.5rem, 15vw, 14rem); line-height:1; text-transform:uppercase;
  color:transparent; -webkit-text-stroke:1px rgba(238,232,222,.1);
}
.slide__copy{ position:relative; z-index:1; min-width:0; }
.slide__copy > *{ opacity:0; transform:translateY(24px); transition:opacity .7s var(--ease-out), transform .7s var(--ease-out); }
.slide.is-active .slide__copy > *{ opacity:1; transform:none; }
.slide.is-active .slide__copy > *:nth-child(1){ transition-delay:.05s; }
.slide.is-active .slide__copy > *:nth-child(2){ transition-delay:.12s; }
.slide.is-active .slide__copy > *:nth-child(3){ transition-delay:.19s; }
.slide.is-active .slide__copy > *:nth-child(4){ transition-delay:.26s; }
.slide.is-active .slide__copy > *:nth-child(5){ transition-delay:.33s; }
.slide__media{ position:relative; z-index:1; min-width:0; display:flex; justify-content:center; }
.slide__media img{
  width:100%; max-width:100%; height:auto; max-height:min(56svh, 520px); object-fit:contain; object-position:center bottom;
  opacity:0; transform:translateX(46px) scale(.97);
  transition:opacity .8s var(--ease-out), transform .9s var(--ease-out);
  filter:drop-shadow(0 30px 45px rgba(0,0,0,.45));
}
.slide.is-active .slide__media img{ opacity:1; transform:none; transition-delay:.1s; }

.hero__title{
  font-family:var(--font-serif); font-weight:400;
  font-size:clamp(2.3rem, 5.6vw, 4.8rem); line-height:1.03; letter-spacing:-.015em;
  max-width:16ch; margin:0; text-wrap:balance;
}
.hero__title .serif{ color:var(--naranja-hi); font-weight:600; }
.hero__lead{ font-size:clamp(1rem, 1.25vw, 1.15rem); line-height:1.6; opacity:.86; max-width:46ch; margin:var(--sp-3) 0 0; }
.lab--hero{ color:#EEE8DE; opacity:.9; margin:0 0 var(--sp-3); }
.lab__rule{ display:inline-block; width:42px; height:1px; background:var(--naranja); }
.slide__price{ margin:1.1rem 0 0; font-size:1rem; }
.slide__price strong{ font-size:1.3rem; font-weight:700; color:var(--naranja-hi); }
.slide__price span{ opacity:.75; }
.hero__actions{ display:flex; flex-wrap:wrap; gap:.9rem; margin-top:var(--sp-4); }

.hero__nav{
  position:relative; z-index:2; display:flex; align-items:flex-end; justify-content:space-between;
  gap:1rem; padding-bottom:1.5rem;
}
.hero__tabs{ display:flex; gap:clamp(1rem, 3vw, 2.5rem); flex-wrap:wrap; }
.hdot{
  position:relative; display:flex; align-items:baseline; gap:.5rem;
  padding:.5rem 0 .9rem; background:none; border:0; color:#EEE8DE; opacity:.5;
  font-weight:600; font-size:.85rem; letter-spacing:.02em; transition:opacity var(--t-fast);
}
.hdot:hover{ opacity:.85; }
.hdot.is-active{ opacity:1; }
.hdot__n{ font-size:.72rem; color:var(--naranja-hi); font-variant-numeric:tabular-nums; }
.hdot__bar{ position:absolute; left:0; right:0; bottom:0; height:2px; background:rgba(238,232,222,.22); overflow:hidden; }
.hdot__bar i{ display:block; width:0; height:100%; background:var(--naranja); }
.hdot.is-active .hdot__bar i{ animation:heroBar var(--hero-dur, 7s) linear forwards; }
.hero.is-paused .hdot.is-active .hdot__bar i{ animation-play-state:paused; }
@keyframes heroBar{ from{ width:0; } to{ width:100%; } }
.hero__arrows{ display:flex; gap:.4rem; flex:none; }
.hero__arrows .icon-btn{ color:#EEE8DE; border-color:rgba(238,232,222,.28); }
.hero__arrows .icon-btn:hover{ border-color:#EEE8DE; color:#fff; background:rgba(238,232,222,.08); }

@media (min-width:1024px){
  .slide__inner{ grid-template-columns:minmax(0,1fr) minmax(0,1.04fr); gap:clamp(2rem,4vw,4rem); padding-top:calc(var(--header-h) + 4rem); }
  .slide__media img{ max-height:min(62svh, 620px); }
}
@media (max-width:1023px){
  .hero{ min-height:auto; }
  .slide__media{ order:-1; }
  .slide__media img{ max-height:34svh; filter:drop-shadow(0 18px 30px rgba(0,0,0,.45)); }
  .slide__inner{ padding-top:calc(var(--header-h) + 1.5rem); }
  .slide__word{ top:auto; bottom:2%; font-size:22vw; }
}
@media (max-width:767px){
  .slide__media img{ max-height:30svh; }
  .hero__title{ font-size:clamp(2.05rem, 8.6vw, 2.6rem); }
  .hero__lead{ font-size:.98rem; margin-top:1rem; }
  .slide__price{ margin-top:.9rem; }
  .hero__actions{ margin-top:1.3rem; gap:.7rem; }
  .hero__actions .btn{ width:100%; justify-content:space-between; }
  .hero__nav{ padding-bottom:1.1rem; }
  .hdot__t{ display:none; }
  .hdot{ flex:1; }
  .hdot__n{ font-size:.78rem; }
  .hero__tabs{ flex:1; gap:.8rem; }
}
@media (prefers-reduced-motion: reduce){
  .slide__copy > *,.slide__media img{ opacity:1 !important; transform:none !important; }
  .hdot.is-active .hdot__bar i{ animation:none; width:100%; }
}

/* Marquee */
.marquee{ position:relative; z-index:1; overflow:hidden; white-space:nowrap; padding:1.15rem 0; border-top:1px solid rgba(238,232,222,.2); }
.marquee__track{
  display:inline-flex; align-items:center; gap:2.2rem;
  font-family:var(--font-display); font-size:clamp(1.4rem, 3.2vw, 2.3rem); text-transform:uppercase; letter-spacing:.02em;
  animation:marquee 36s linear infinite;
}
.marquee__track .dot{ color:var(--naranja); }
@keyframes marquee{ from{ transform:translateX(0); } to{ transform:translateX(-33.333%); } }

/* ============================== SECCIONES HOME ============================== */
.section-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:var(--sp-3); flex-wrap:wrap; margin-bottom:var(--sp-5); }
.section-head .display{ max-width:14ch; }
.section-head__link{ flex:none; }

/* Categorías: lista editorial */
.catlist{ list-style:none; margin:var(--sp-5) 0 0; padding:0; border-top:1px solid var(--faint); counter-reset:none; }
.catlist__row{
  position:relative; display:grid; align-items:center;
  grid-template-columns:auto 1fr auto; gap:.3rem 1.2rem;
  padding:clamp(1.3rem, 3vw, 2.2rem) 0; border-bottom:1px solid var(--faint);
  transition:padding-left var(--t-med), color var(--t-fast);
}
.catlist__idx{ font-weight:600; font-size:.8rem; letter-spacing:.1em; color:var(--accent-ink); font-variant-numeric:tabular-nums; }
.catlist__name{ font-family:var(--font-black); font-size:clamp(1.7rem, 5.4vw, 3.6rem); line-height:1; text-transform:uppercase; }
.catlist__count{ grid-column:2; color:var(--slate); font-size:.95rem; }
.catlist__arrow{
  grid-row:1 / span 2; grid-column:3;
  width:52px; height:52px; border:1px solid var(--faint); border-radius:50%;
  display:grid; place-items:center; transition:background var(--t-fast), color var(--t-fast), transform var(--t-med), border-color var(--t-fast);
}
.catlist__thumb{ display:none; }
.catlist__row:hover{ padding-left:1rem; }
.catlist__row:hover .catlist__name{ color:var(--accent-ink); }
.catlist__row:hover .catlist__arrow{ background:var(--naranja); border-color:var(--naranja); color:#fff; transform:rotate(45deg); }
.catlist__preview{
  position:fixed; left:0; top:0; z-index:5; width:260px; aspect-ratio:1; pointer-events:none;
  opacity:0; transform:translate3d(-999px,-999px,0) scale(.9);
  transition:opacity .25s ease, scale .35s var(--ease-out);
  background:var(--crema); border:1px solid var(--faint); overflow:hidden;
}
.catlist__preview img{ width:100%; height:100%; object-fit:cover; }
.catlist__preview.is-on{ opacity:1; }

/* Materiales */
.mats{ display:grid; grid-template-columns:1fr; gap:var(--sp-4); margin-top:var(--sp-5); }
.mat{ border-top:2px solid var(--tinta); padding-top:var(--sp-3); }
.mat__media{ width:min(200px, 55%); aspect-ratio:1; border-radius:50%; overflow:hidden; margin-bottom:var(--sp-3); background:var(--crema); }
.mat__img{ width:100%; height:100%; object-fit:cover; transition:transform var(--t-med); }
.mat:hover .mat__img{ transform:scale(1.06) rotate(-4deg); }
.mat__name{ font-family:var(--font-display); font-size:clamp(2.4rem, 4.6vw, 3.6rem); line-height:.95; text-transform:uppercase; }
.mat__prop{ display:block; margin-top:.45rem; font-family:var(--font-serif); font-style:italic; font-weight:600; font-size:.42em; line-height:1; color:var(--accent-ink); text-transform:none; }
.mat__text{ color:var(--slate); margin:var(--sp-2) 0 var(--sp-3); max-width:44ch; }
.mat{ display:flex; flex-direction:column; }
.mat__name,.mat__text{ display:block; }
.mat__specs{ display:flex; gap:var(--sp-4); margin:0; }
.mat__k{ display:block; font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--slate); margin-bottom:.2rem; }
.mat__v{ display:block; font-family:var(--font-black); font-size:1.05rem; }
.mat__go{ display:inline-flex; align-items:center; gap:.5rem; margin-top:auto; padding-top:var(--sp-3); font-weight:600; color:var(--accent-ink); }
.mat__go .i{ transition:transform var(--t-fast); }
.mat:hover .mat__go .i{ transform:translateX(4px); }
.mat:hover .mat__name{ color:var(--accent-ink); }

/* A medida (naranja) */
.custom{ display:grid; grid-template-columns:1fr; gap:var(--sp-4); align-items:end; }
.custom .display{ max-width:12ch; }
.custom__actions{ display:flex; flex-wrap:wrap; gap:.9rem; margin-top:var(--sp-4); }

/* Por qué (oscuro) */
.why-grid{ display:grid; grid-template-columns:1fr; margin-top:var(--sp-5); border-top:1px solid var(--faint); }
.why{ display:grid; grid-template-columns:auto 1fr; gap:var(--sp-3); padding:clamp(1.6rem,4vw,2.6rem) 0; border-bottom:1px solid var(--faint); }
.why__idx{ font-weight:600; font-size:.8rem; color:var(--naranja-hi); padding-top:.4rem; }
.why__title{ font-family:var(--font-black); font-size:clamp(1.3rem, 2.6vw, 1.9rem); line-height:1.1; text-transform:uppercase; margin-bottom:.5rem; }
.why__text{ color:var(--slate); margin:0; max-width:40ch; }

/* ============================== CATÁLOGO ============================== */
.shop-hero,
.page-hero{ padding:calc(var(--header-h) + clamp(3.5rem, 7vw, 6rem)) 0 clamp(2rem, 4vw, 3rem); }
.shop-hero .lab{ margin-top:var(--sp-4); }
.shop-hero__title{ max-width:16ch; }
.shop-hero__lead{ max-width:46ch; }

/* Migas */
.crumbs{ display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; font-size:.82rem; color:var(--slate); letter-spacing:.02em; }
.crumbs a:hover{ color:var(--accent-ink); }
.crumbs__sep{ opacity:.5; }

/* Chips de categoría */
.chips{ display:flex; gap:.5rem; flex-wrap:wrap; margin-top:var(--sp-4); }
.chip{
  display:inline-flex; align-items:center; gap:.55rem; min-height:42px; padding:.55rem 1rem;
  border:1px solid var(--faint); font-weight:500; font-size:.92rem; white-space:nowrap;
  transition:border-color var(--t-fast), background var(--t-fast), color var(--t-fast);
}
.chip:hover{ border-color:var(--tinta); }
.chip__n{ font-size:.72rem; color:var(--slate); font-variant-numeric:tabular-nums; }
.chip.is-active{ background:var(--tinta); border-color:var(--tinta); color:var(--papel); }
.chip.is-active .chip__n{ color:inherit; opacity:.7; }

.shop-body{ padding-bottom:var(--sp-6); }
.shop-toolbar{
  display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap;
  padding:1rem 0; margin-bottom:var(--sp-4);
  border-block:1px solid var(--faint);
}
.woocommerce-result-count{ margin:0; font-size:.9rem; color:var(--slate); }
.woocommerce-ordering{ margin:0; }
.woocommerce-ordering select,
select{
  appearance:none; -webkit-appearance:none;
  min-height:46px; padding:.55rem 2.6rem .55rem .9rem;
  background:var(--field) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E85D1C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right .8rem center / 16px;
  border:1px solid var(--faint); border-radius:0; font-size:.95rem; cursor:pointer;
}
select:focus{ outline:none; border-color:var(--naranja); }
select option{ background:var(--papel); color:var(--tinta); }

/* Grilla de productos */
ul.products{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:clamp(1.8rem, 3vw, 3rem) clamp(.75rem, 2vw, 1.75rem);
}
ul.products::before,ul.products::after{ display:none; }

.pcard{ position:relative; display:flex; flex-direction:column; min-width:0; }
.pcard__media{
  position:relative; display:block; aspect-ratio:1; overflow:hidden;
  background:var(--crema); border:1px solid var(--faint);
}
.pcard__media img{ width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease-out); }
.pcard:hover .pcard__media img{ transform:scale(1.05); }
[data-theme="dark"] .pcard__media img{ filter:brightness(.94); }

.badge{
  position:absolute; top:.75rem; left:.75rem; z-index:1;
  padding:.4rem .6rem; font-size:.7rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; line-height:1;
}
.badge--sale{ background:var(--naranja); color:#fff; }
.badge--out{ background:var(--tinta); color:var(--papel); }

.pcard__body{ display:flex; flex-direction:column; flex:1; padding-top:1rem; }
.pcard__cat{ font-size:.7rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--slate); margin-bottom:.35rem; }
.pcard__title{ font-family:var(--font-black); font-size:clamp(.95rem, 1.2vw, 1.1rem); line-height:1.15; text-transform:uppercase; margin-bottom:.8rem; }
.pcard__title a{ background:linear-gradient(var(--naranja),var(--naranja)) no-repeat left bottom / 0 2px; transition:background-size var(--t-med); padding-bottom:2px; }
.pcard:hover .pcard__title a{ background-size:100% 2px; }
.pcard__foot{ margin-top:auto; display:flex; flex-direction:column; align-items:stretch; gap:.55rem; }

.price{ font-weight:600; font-variant-numeric:tabular-nums; }
.price del,.pcard__price del{ color:var(--slate); font-weight:400; opacity:.8; margin-right:.35rem; }
.price ins,.pcard__price ins{ text-decoration:none; color:var(--accent-ink); }
.pcard__price{ font-size:1.02rem; }

.pcard__add.button{
  min-height:40px; padding:.55rem .9rem; font-size:.85rem; gap:.4rem;
  border-width:1px;
}
.pcard__add.add_to_cart_button::before{
  content:""; width:12px; height:12px; flex:none;
  background:
    linear-gradient(currentColor,currentColor) center / 100% 1.5px no-repeat,
    linear-gradient(currentColor,currentColor) center / 1.5px 100% no-repeat;
}
.pcard__add.loading{ opacity:.55; pointer-events:none; }
.pcard__add.added::before{
  background:none; width:12px; height:7px; border-left:1.5px solid currentColor; border-bottom:1.5px solid currentColor;
  transform:rotate(-45deg) translateY(-2px);
}
.added_to_cart{ display:none !important; }

/* Paginación */
.woocommerce-pagination,
.pagination{ margin-top:var(--sp-5); }
.woocommerce-pagination ul.page-numbers,
.pagination .nav-links{ display:flex; gap:.4rem; flex-wrap:wrap; list-style:none; margin:0; padding:0; }
.page-numbers{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:46px; height:46px; padding:0 .8rem; border:1px solid var(--faint);
  font-weight:600; font-variant-numeric:tabular-nums;
}
a.page-numbers:hover{ border-color:var(--tinta); }
.page-numbers.current{ background:var(--tinta); color:var(--papel); border-color:var(--tinta); }
.page-numbers.dots{ border:0; }

.woocommerce-no-products-found .woocommerce-info{ margin-top:var(--sp-3); }

/* ============================== FICHA DE PRODUCTO ============================== */
.wc-wrap{ padding-top:calc(var(--header-h) + clamp(2.5rem, 5vw, 4rem)); padding-bottom:var(--sp-6); }

div.product{ position:relative; }
.product__top{ position:relative; display:grid; grid-template-columns:minmax(0,1fr); gap:var(--sp-4); }
.product__top > .onsale{ top:1rem; left:1rem; z-index:3; }
div.product .badge.onsale{ position:absolute; }

.woocommerce-product-gallery{ position:relative; margin:0; min-width:0; opacity:1 !important; }
.woocommerce-product-gallery__wrapper{ margin:0; }
.woocommerce-product-gallery__image{ background:var(--crema); border:1px solid var(--faint); }
.woocommerce-product-gallery__image a{ display:block; }
.woocommerce-product-gallery__image img{ width:100%; height:auto; }
.woocommerce-product-gallery .flex-viewport{ margin-bottom:.75rem; }
.woocommerce-product-gallery .flex-control-thumbs{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); gap:.75rem;
}
.woocommerce-product-gallery .flex-control-thumbs li{ cursor:pointer; border:1px solid var(--faint); background:var(--crema); }
.woocommerce-product-gallery .flex-control-thumbs img{ opacity:.55; transition:opacity var(--t-fast); }
.woocommerce-product-gallery .flex-control-thumbs img.flex-active,
.woocommerce-product-gallery .flex-control-thumbs img:hover{ opacity:1; }
.woocommerce-product-gallery__trigger{
  position:absolute; top:1rem; right:1rem; z-index:2;
  width:44px; height:44px; display:grid; place-items:center;
  background:var(--papel); border:1px solid var(--faint); font-size:0;
}
.woocommerce-product-gallery__trigger::before{
  content:""; width:16px; height:16px; border:2px solid var(--tinta); border-radius:50%; margin:-4px 0 0 -4px;
}
.woocommerce-product-gallery__trigger::after{
  content:""; position:absolute; width:8px; height:2px; background:var(--tinta); transform:rotate(45deg); top:27px; left:25px;
}
.woocommerce-product-gallery__trigger img{ display:none !important; }

.summary{ min-width:0; }
.summary .crumbs{ margin-bottom:var(--sp-3); }
.summary__cat{ display:inline-block; font-size:.74rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--accent-ink); margin-bottom:.8rem; }
.summary .product_title{
  font-family:var(--font-display); font-weight:400; text-transform:uppercase;
  font-size:clamp(2.4rem, 5vw, 4.4rem); line-height:.95; letter-spacing:-.005em;
}
.summary .price{ display:block; font-size:clamp(1.5rem, 2.4vw, 1.9rem); margin:var(--sp-3) 0; }
.summary .price del{ font-size:.7em; }
.woocommerce-product-details__short-description{ color:var(--slate); max-width:52ch; margin-bottom:var(--sp-3); }
.woocommerce-product-details__short-description p:last-child{ margin-bottom:0; }

/* Formulario de compra */
form.cart{ margin:var(--sp-3) 0 1rem; padding-top:var(--sp-3); border-top:1px solid var(--faint); }
form.cart:not(.variations_form),
.woocommerce-variation-add-to-cart{ display:flex; gap:.75rem; flex-wrap:wrap; }
.single_add_to_cart_button.button{ flex:1 1 220px; min-height:58px; font-size:1.02rem; }

.quantity{ display:inline-flex; align-items:stretch; border:1.5px solid var(--tinta); height:58px; }
.quantity .qty{
  width:3.2rem; border:0; background:transparent; text-align:center; font-weight:600; font-size:1.05rem;
  -moz-appearance:textfield; appearance:textfield;
}
.quantity .qty::-webkit-inner-spin-button,
.quantity .qty::-webkit-outer-spin-button{ -webkit-appearance:none; margin:0; }
.quantity .qty:focus{ outline:none; }
.qty-btn{ width:44px; background:transparent; border:0; display:grid; place-items:center; color:var(--tinta); }
.qty-btn:hover{ color:var(--accent-ink); }
.qty-btn .i{ width:18px; height:18px; }
.quantity:has(input[type="hidden"]){ display:none; }

table.variations{ width:100%; border-collapse:collapse; margin-bottom:1rem; }
table.variations th,
table.variations td{ display:block; padding:0; text-align:left; }
table.variations th{ font-size:.74rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--slate); padding-bottom:.45rem; }
table.variations td{ padding-bottom:1rem; }
table.variations select{ width:100%; max-width:360px; }
.reset_variations{ display:inline-block; margin-top:.6rem; font-size:.85rem; color:var(--slate); text-decoration:underline; }
.single_variation_wrap{ width:100%; }
.woocommerce-variation{ margin-bottom:1rem; }
.woocommerce-variation-price .price{ margin:0 0 .5rem; font-size:1.4rem; }

.stock{ font-size:.9rem; font-weight:600; margin:0 0 1rem; }
.stock.in-stock{ color:var(--ok); }
.stock.out-of-stock{ color:var(--err); }

.summary__wa{
  display:flex; align-items:center; gap:.75rem; width:100%;
  padding:1rem 1.1rem; margin:.25rem 0 var(--sp-3);
  border:1px solid var(--faint); font-weight:500;
  transition:border-color var(--t-fast), background var(--t-fast);
}
.summary__wa span{ flex:1; }
.summary__wa .i{ width:22px; height:22px; color:var(--accent-ink); }
.summary__wa .i--end{ width:18px; height:18px; color:var(--slate); transition:transform var(--t-fast); }
.summary__wa:hover{ border-color:var(--tinta); }
.summary__wa:hover .i--end{ transform:translate(3px,-3px); }

.summary__facts{ list-style:none; margin:0 0 var(--sp-3); padding:0; display:grid; gap:.7rem; }
.summary__facts li{ display:flex; align-items:center; gap:.75rem; color:var(--slate); font-size:.95rem; }
.summary__facts .i{ width:20px; height:20px; color:var(--tinta); }

.product_meta{ display:grid; gap:.35rem; padding-top:var(--sp-3); border-top:1px solid var(--faint); font-size:.85rem; color:var(--slate); }
.product_meta a{ color:var(--tinta); }
.product_meta a:hover{ color:var(--accent-ink); }

/* Pestañas */
.woocommerce-tabs{ margin-top:var(--sp-6); }
.woocommerce-tabs ul.tabs{
  list-style:none; margin:0; padding:0; display:flex; gap:clamp(1.2rem, 3vw, 2.5rem); overflow-x:auto;
  border-bottom:1px solid var(--faint); scrollbar-width:none;
}
.woocommerce-tabs ul.tabs li a{
  display:block; padding:1rem 0; position:relative; white-space:nowrap;
  font-family:var(--font-black); font-size:clamp(1rem, 1.6vw, 1.25rem); text-transform:uppercase; color:var(--slate);
}
.woocommerce-tabs ul.tabs li.active a{ color:var(--tinta); }
.woocommerce-tabs ul.tabs li a::after{
  content:""; position:absolute; left:0; right:0; bottom:-1px; height:3px; background:var(--naranja);
  transform:scaleX(0); transform-origin:left; transition:transform var(--t-med);
}
.woocommerce-tabs ul.tabs li.active a::after{ transform:scaleX(1); }
.woocommerce-Tabs-panel{ padding:var(--sp-4) 0 0; max-width:74ch; }
.woocommerce-Tabs-panel > p:last-child{ margin-bottom:0; }

.woocommerce-product-attributes{ width:100%; max-width:640px; border-collapse:collapse; }
.woocommerce-product-attributes th,
.woocommerce-product-attributes td{ padding:.9rem 0; border-bottom:1px solid var(--faint); text-align:left; vertical-align:top; }
.woocommerce-product-attributes th{ width:40%; font-size:.76rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--slate); }
.woocommerce-product-attributes td p{ margin:0; }

/* Reseñas y estrellas */
.star-rating{
  position:relative; display:inline-block; width:5.6em; height:1.1em; overflow:hidden; font-size:1rem;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239A9186' stroke-width='1.5'%3E%3Cpath d='m12 3 2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1L3.2 9.5l6.1-.9L12 3Z'/%3E%3C/svg%3E") repeat-x left center / 1.12em 1.1em;
}
.star-rating span{
  position:absolute; inset:0 auto 0 0; overflow:hidden; text-indent:-999em;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23E85D1C'%3E%3Cpath d='m12 3 2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1L3.2 9.5l6.1-.9L12 3Z'/%3E%3C/svg%3E") repeat-x left center / 1.12em 1.1em;
}
.woocommerce-product-rating{ display:flex; align-items:center; gap:.6rem; margin-top:.8rem; font-size:.88rem; color:var(--slate); }
#reviews .commentlist{ list-style:none; margin:0 0 var(--sp-4); padding:0; }
#reviews .comment_container{ display:flex; gap:1rem; padding:1.4rem 0; border-bottom:1px solid var(--faint); }
#reviews .comment_container img.avatar{ width:44px; height:44px; border-radius:50%; }
#reviews .comment-text{ flex:1; }
#reviews .meta{ font-size:.85rem; color:var(--slate); margin:.4rem 0; }
.woocommerce-Reviews-title,
#reply-title{ display:block; font-family:var(--font-black); font-size:1.2rem; text-transform:uppercase; margin-bottom:1rem; }
p.stars{ margin:.2rem 0 1rem; }
p.stars span{ display:inline-flex; gap:.2rem; }
p.stars a{
  width:28px; height:28px; font-size:0; display:inline-block;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239A9186' stroke-width='1.5'%3E%3Cpath d='m12 3 2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1L3.2 9.5l6.1-.9L12 3Z'/%3E%3C/svg%3E") center / 24px no-repeat;
}
p.stars:hover a,
p.stars.selected a{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23E85D1C'%3E%3Cpath d='m12 3 2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1L3.2 9.5l6.1-.9L12 3Z'/%3E%3C/svg%3E");
}
p.stars a:hover ~ a,
p.stars.selected a.active ~ a{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239A9186' stroke-width='1.5'%3E%3Cpath d='m12 3 2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1L3.2 9.5l6.1-.9L12 3Z'/%3E%3C/svg%3E");
}

/* Relacionados */
.related,
.upsells{ margin-top:var(--sp-6); padding-top:var(--sp-5); border-top:1px solid var(--faint); }
.related > h2,
.upsells > h2{
  font-family:var(--font-display); text-transform:uppercase; line-height:.95;
  font-size:clamp(2rem, 4.4vw, 3.6rem); margin-bottom:var(--sp-4);
}

/* ============================== AVISOS ============================== */
.woocommerce-notices-wrapper:empty{ display:none; }
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner{
  list-style:none; position:relative;
  display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap;
  margin:0 0 var(--sp-3); padding:1rem 1.2rem 1rem 1.4rem;
  background:var(--crema); border:1px solid var(--faint); border-left:4px solid var(--naranja);
  font-size:.95rem; border-radius:0 !important;
}
.woocommerce-error{ border-left-color:var(--err); flex-direction:column; align-items:flex-start; gap:.35rem; }
.woocommerce-error li{ margin:0; }
.woocommerce-message .button,
.woocommerce-info .button{ order:2; min-height:40px; padding:.55rem 1rem; font-size:.88rem; }
.woocommerce-info a:not(.button),
.woocommerce-message a:not(.button){ text-decoration:underline; }

/* ============================== FORMULARIOS ============================== */
input[type="text"],input[type="email"],input[type="tel"],input[type="password"],
input[type="number"],input[type="search"],input[type="url"],input[type="date"],
textarea{
  width:100%; min-height:52px; padding:.8rem .95rem;
  background:var(--field); color:var(--tinta);
  border:1px solid var(--faint); border-radius:0;
  transition:border-color var(--t-fast), box-shadow var(--t-fast);
}
textarea{ min-height:140px; resize:vertical; line-height:1.5; }
input:focus,textarea:focus{ outline:none; border-color:var(--naranja); box-shadow:0 0 0 3px rgba(232,93,28,.14); }
::placeholder{ color:var(--slate); opacity:.8; }
label{ display:block; font-size:.78rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; margin-bottom:.45rem; }
label .required{ color:var(--accent-ink); text-decoration:none; border:0; }
.form-row{ margin:0 0 1.1rem; }
.form-row label.woocommerce-form__label-for-checkbox,
label.woocommerce-form__label-for-checkbox{ display:inline-flex; align-items:center; gap:.6rem; text-transform:none; letter-spacing:0; font-size:.95rem; font-weight:500; cursor:pointer; }
input[type="checkbox"],input[type="radio"]{ width:18px; height:18px; accent-color:var(--naranja); margin:0; }
.password-input{ position:relative; display:block; }
.show-password-input{
  position:absolute; right:.6rem; top:50%; transform:translateY(-50%);
  width:36px; height:36px; background:transparent; border:0; opacity:.6;
}
.show-password-input::before{
  content:""; display:block; width:20px; height:12px; margin:auto;
  border:1.5px solid var(--tinta); border-radius:50% / 60%;
}

/* ============================== CARRITO LATERAL ============================== */
.drawer{ position:fixed; inset:0; z-index:1200; }
.drawer[hidden]{ display:none; }
.drawer__backdrop{ position:absolute; inset:0; background:var(--overlay); opacity:0; transition:opacity .35s ease; }
.drawer__panel{
  position:absolute; top:0; right:0; bottom:0; width:min(460px, 100%);
  display:flex; flex-direction:column;
  background:var(--papel); border-left:1px solid var(--faint);
  transform:translateX(100%); transition:transform .5s var(--ease-out);
}
.drawer.is-open .drawer__backdrop{ opacity:1; }
.drawer.is-open .drawer__panel{ transform:none; }
.drawer__head{ display:flex; align-items:center; justify-content:space-between; padding:1.1rem 1.1rem 1.1rem 1.5rem; border-bottom:1px solid var(--faint); }
.drawer__title{ display:flex; align-items:center; gap:.7rem; margin:0; font-family:var(--font-display); font-size:1.8rem; text-transform:uppercase; line-height:1; }
.drawer__title .cart-count{ position:static; min-width:26px; height:26px; font-family:var(--font-body); font-size:.8rem; }
.drawer__body{ flex:1; overflow-y:auto; padding:0 1.5rem 1.5rem; display:flex; flex-direction:column; }
.drawer__body .widget_shopping_cart_content{ flex:1; display:flex; flex-direction:column; }

.woocommerce-mini-cart{ list-style:none; margin:0; padding:0; }
.woocommerce-mini-cart-item{
  position:relative; min-height:112px; padding:1.1rem 2.4rem 1.1rem 104px;
  border-bottom:1px solid var(--faint); font-size:.95rem;
}
.woocommerce-mini-cart-item > a:not(.remove){ display:block; font-family:var(--font-black); font-size:.95rem; line-height:1.2; text-transform:uppercase; }
.woocommerce-mini-cart-item img{
  position:absolute; left:0; top:1.1rem; width:86px; height:86px; object-fit:cover;
  background:var(--crema); border:1px solid var(--faint);
}
.woocommerce-mini-cart-item .quantity{ display:block; height:auto; border:0; margin-top:.4rem; color:var(--slate); font-weight:500; }
.woocommerce-mini-cart-item .variation{ margin:.3rem 0 0; font-size:.82rem; color:var(--slate); display:grid; grid-template-columns:auto 1fr; gap:0 .4rem; }
.woocommerce-mini-cart-item .variation dd,
.woocommerce-mini-cart-item .variation p{ margin:0; }
.woocommerce-mini-cart-item a.remove{
  position:absolute; right:0; top:1rem; width:32px; height:32px;
  display:grid; place-items:center; font-size:1.3rem; line-height:1; color:var(--slate);
  border:1px solid transparent; border-radius:50%;
}
.woocommerce-mini-cart-item a.remove:hover{ color:var(--err); border-color:var(--faint); }
.woocommerce-mini-cart__total{
  display:flex; justify-content:space-between; align-items:baseline; gap:1rem;
  margin:auto 0 1rem; padding-top:1.4rem; font-size:1rem;
}
.woocommerce-mini-cart__total strong{ font-weight:500; color:var(--slate); text-transform:uppercase; font-size:.78rem; letter-spacing:.16em; }
.woocommerce-mini-cart__total .amount{ font-family:var(--font-display); font-size:1.9rem; }
.woocommerce-mini-cart__buttons{ display:grid; gap:.9rem; justify-items:center; margin:0; }
.woocommerce-mini-cart__empty-message{ margin:auto 0; padding:3rem 0; text-align:center; color:var(--slate); }
.widget_shopping_cart_content.is-loading{ opacity:.5; pointer-events:none; }

/* ============================== CARRITO Y CHECKOUT (bloques) ============================== */
.page-hero--store{ padding-bottom:1.5rem; }
.page-hero--store .crumbs{ margin-bottom:var(--sp-3); }
.page-hero--store .page-hero__title{ font-size:clamp(2.6rem, 6.5vw, 5.5rem); }
.page-body{ padding-bottom:var(--sp-6); }
.page-body--store{ padding-top:var(--sp-3); }

.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout{ font-family:var(--font-body); color:var(--tinta); }
.wc-block-components-sidebar-layout{ margin-top:0; }

/* Títulos de bloques */
.wc-block-components-title,
.wc-block-components-checkout-step__title,
.wc-block-cart__totals-title{
  font-family:var(--font-black) !important; text-transform:uppercase; font-weight:400 !important;
  font-size:1.05rem !important; letter-spacing:.02em;
}
.wc-block-components-checkout-step__heading{ margin-bottom:1rem; }
.wc-block-components-checkout-step__description{ color:var(--slate); }

/* Las etiquetas de los bloques no usan el estilo de label del tema */
.wp-block-woocommerce-checkout label,
.wp-block-woocommerce-cart label{ text-transform:none; letter-spacing:0; font-weight:inherit; font-size:inherit; margin-bottom:0; }
.wc-block-components-checkout-order-summary__title-text{ font-family:var(--font-black); text-transform:uppercase; font-size:1.05rem !important; font-weight:400 !important; }

/* Campos */
.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-textarea{
  background:var(--field) !important; color:var(--tinta) !important;
  border:1px solid var(--faint) !important; border-radius:0 !important; box-shadow:none !important;
}
.wc-block-components-text-input input:focus,
.wc-blocks-components-select .wc-blocks-components-select__select:focus,
.wc-block-components-textarea:focus{ border-color:var(--naranja) !important; box-shadow:0 0 0 2px rgba(232,93,28,.18) !important; }
.wc-block-components-text-input label,
.wc-blocks-components-select .wc-blocks-components-select__label{ color:var(--slate) !important; text-transform:none; letter-spacing:0; font-weight:400; }
.wc-blocks-components-select .wc-blocks-components-select__container{ background:var(--field) !important; border-radius:0 !important; }
.wc-blocks-components-select__expand{ fill:var(--naranja) !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]{
  background:var(--field) !important; border-color:var(--slate) !important; border-radius:0 !important;
}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked{ background:var(--naranja) !important; border-color:var(--naranja) !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__mark{ fill:#fff !important; }
.wc-block-components-radio-control__input{ border-color:var(--slate) !important; background:var(--field) !important; }
.wc-block-components-radio-control__input:checked{ border-color:var(--naranja) !important; }
.wc-block-components-radio-control__input:checked::before{ background:var(--naranja) !important; }
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted{ box-shadow:inset 0 0 0 1.5px var(--naranja) !important; border-radius:0 !important; }
.wc-block-components-radio-control--highlight-checked::after,
.wc-block-components-radio-control-accordion-option,
.wc-block-components-radio-control__option{ border-radius:0 !important; }
.wc-block-components-radio-control--highlight-checked::after{ border-color:var(--faint) !important; }

/* Botones de bloques */
.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button{
  min-height:58px !important; border-radius:0 !important;
  background:var(--btn-bg) !important; color:#fff !important; border:0 !important;
  font-family:var(--font-body) !important; font-weight:600 !important; font-size:1.02rem !important;
  transition:background-color var(--t-fast), color var(--t-fast);
}
.wc-block-components-button:not(.is-link):hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover{ background:var(--tinta) !important; color:var(--papel) !important; }
.wc-block-components-button.outlined{ background:transparent !important; color:var(--tinta) !important; box-shadow:inset 0 0 0 1.5px var(--tinta) !important; }
.wc-block-components-button.is-link,
.wc-block-components-totals-coupon-link,
.wc-block-components-panel__button{ color:var(--tinta) !important; }
.wc-block-components-checkout-return-to-cart-button{ color:var(--slate) !important; }

/* Ítems del carrito */
.wc-block-cart-items{ border-bottom:1px solid var(--faint) !important; }
.wc-block-cart-items th,
.wc-block-cart-items__header{ font-size:.74rem !important; letter-spacing:.16em; color:var(--slate); font-weight:600 !important; }
.wc-block-cart-items td,
.wc-block-cart-items .wc-block-cart-items__row{ border-top:1px solid var(--faint) !important; }
.wc-block-cart-item__image img{ background:var(--crema); border:1px solid var(--faint); }
.wc-block-components-product-name{ font-family:var(--font-black); text-transform:uppercase; font-size:1rem !important; color:var(--tinta) !important; text-decoration:none !important; }
.wc-block-components-product-metadata,
.wc-block-components-product-details{ color:var(--slate); }
.wc-block-components-quantity-selector{ border-radius:0 !important; }
.wc-block-components-quantity-selector::after{ border:1px solid var(--faint) !important; border-radius:0 !important; }
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input{ color:var(--tinta) !important; font-weight:600; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button{ color:var(--tinta) !important; opacity:1; }
.wc-block-cart-item__remove-link{ color:var(--slate) !important; font-size:.85rem !important; }
.wc-block-components-sale-badge{ background:var(--naranja) !important; color:#fff !important; border:0 !important; border-radius:0 !important; }
.wc-block-components-product-price__value.is-discounted{ color:var(--accent-ink); }

/* Totales / resumen */
.wc-block-components-sidebar .wc-block-components-panel,
.wc-block-components-sidebar .wc-block-components-totals-wrapper,
.wc-block-components-totals-wrapper{ border-color:var(--faint) !important; }
.wc-block-components-totals-item__label{ color:var(--slate); }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label{ color:var(--tinta); font-weight:600; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{ font-family:var(--font-display); font-size:1.8rem !important; font-weight:400 !important; }
.wc-block-checkout__sidebar .wc-block-components-order-summary,
.wp-block-woocommerce-checkout-order-summary-block{ border:1px solid var(--faint) !important; border-radius:0 !important; background:var(--crema); }
.wc-block-components-order-summary-item__quantity{ background:var(--tinta) !important; color:var(--papel) !important; border:0 !important; box-shadow:none !important; }
.wc-block-components-order-summary-item__image img{ background:var(--papel); }
.wc-block-components-formatted-money-amount{ font-variant-numeric:tabular-nums; }
.wc-block-components-address-card,
.wc-block-components-express-payment,
.wc-block-components-checkout-step{ border-color:var(--faint) !important; border-radius:0 !important; }
.wc-block-components-validation-error{ color:var(--err) !important; }
.wc-block-components-text-input.has-error input{ border-color:var(--err) !important; }
.wc-block-components-notice-banner.is-error{ border-left-color:var(--err); }
.wc-block-components-notice-banner.is-success{ border-left-color:var(--ok); }
.wc-block-components-notice-banner > svg{ fill:currentColor; background:transparent !important; }
.wc-block-components-notice-banner{ color:var(--tinta) !important; }

/* Carrito vacío (bloque) */
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title{ font-family:var(--font-display); text-transform:uppercase; font-size:clamp(2rem,4vw,3rem) !important; }
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title::before{ display:none; }
.wp-block-woocommerce-empty-cart-block .wp-block-heading{ font-family:var(--font-black); text-transform:uppercase; }
.wp-block-woocommerce-empty-cart-block .wp-block-separator{ border:0; border-top:1px solid var(--faint); max-width:120px; }

/* Grilla de productos de los bloques (carrito vacío, etc.) */
.wc-block-grid__products,
.wc-block-product-template{ gap:1.5rem !important; }
.wc-block-grid__product-title,
.wp-block-post-title a{ font-family:var(--font-black); text-transform:uppercase; font-size:.95rem !important; }
.wc-block-grid__product-image img,
.wc-block-components-product-image img{ background:var(--crema); }

/* ============================== MI CUENTA ============================== */
.woocommerce-account .page-body--store .woocommerce{ display:grid; grid-template-columns:1fr; gap:var(--sp-4); }
.woocommerce-MyAccount-navigation ul{ list-style:none; margin:0; padding:0; border-top:1px solid var(--faint); }
.woocommerce-MyAccount-navigation li a{
  display:flex; justify-content:space-between; align-items:center; padding:1rem 0;
  border-bottom:1px solid var(--faint); font-weight:500;
}
.woocommerce-MyAccount-navigation li a:hover,
.woocommerce-MyAccount-navigation li.is-active a{ color:var(--accent-ink); }
.woocommerce-MyAccount-navigation li.is-active a::after{ content:""; width:8px; height:8px; background:var(--naranja); }
.woocommerce-MyAccount-content{ min-width:0; }
.woocommerce-MyAccount-content > p:first-child{ font-size:1.1rem; }
.woocommerce-MyAccount-content a:not(.button){ text-decoration:underline; text-decoration-color:var(--naranja); text-underline-offset:3px; }

/* Login / registro */
.u-columns.col2-set{ display:grid; grid-template-columns:1fr; gap:var(--sp-5); }
.woocommerce-form-login,
.woocommerce-form-register,
.woocommerce-ResetPassword{ max-width:520px; }
.u-columns h2,
.woocommerce-account .page-body--store h2,
.woocommerce-account .page-body--store h3{
  font-family:var(--font-black); font-size:1.3rem; text-transform:uppercase; margin-bottom:1.2rem;
}
.woocommerce-form-login__submit,
.woocommerce-form-register__submit{ margin-top:.5rem; }
.woocommerce-form-login .form-row:has(.woocommerce-form-login__rememberme){ display:flex; flex-direction:column; align-items:flex-start; gap:1rem; }
.lost_password a{ font-size:.9rem; text-decoration:underline; color:var(--slate); }

/* Tablas (pedidos, detalles) */
.shop_table,
.woocommerce-orders-table,
.woocommerce-table{ width:100%; border-collapse:collapse; font-size:.95rem; }
.shop_table th,
.shop_table td{ padding:.9rem .5rem .9rem 0; border-bottom:1px solid var(--faint); text-align:left; vertical-align:top; }
.shop_table thead th{ font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--slate); font-weight:600; }
.woocommerce-orders-table .button{ min-height:38px; padding:.5rem .9rem; font-size:.85rem; margin:0 .3rem .3rem 0; }
.woocommerce-Addresses,
.col2-set.addresses{ display:grid; grid-template-columns:1fr; gap:var(--sp-4); }
.woocommerce-Address-title{ display:flex; justify-content:space-between; align-items:baseline; gap:1rem; }
address{ font-style:normal; line-height:1.7; color:var(--slate); }
mark{ background:transparent; color:var(--accent-ink); font-weight:600; }

/* select2 (país / provincia en mi cuenta) */
.select2-container .select2-selection--single{ height:52px !important; border:1px solid var(--faint) !important; border-radius:0 !important; background:var(--field) !important; }
.select2-container .select2-selection__rendered{ line-height:50px !important; padding-left:.95rem !important; color:var(--tinta) !important; }
.select2-container .select2-selection__arrow{ height:50px !important; }
.select2-dropdown{ background:var(--papel) !important; border-color:var(--faint) !important; border-radius:0 !important; color:var(--tinta); }
.select2-results__option--highlighted{ background:var(--naranja) !important; color:#fff !important; }
.select2-search__field{ background:var(--field) !important; color:var(--tinta) !important; }

/* ============================== PÁGINAS / TEXTO ============================== */
.page-hero__title{ max-width:18ch; }
.prose{ max-width:calc(74ch + 2 * var(--gutter)); }
.prose > *{ max-width:74ch; }
.prose h2{ font-family:var(--font-black); font-size:clamp(1.3rem, 2.2vw, 1.7rem); text-transform:uppercase; margin:2.2em 0 .7em; }
.prose h3{ font-family:var(--font-black); font-size:1.15rem; text-transform:uppercase; margin:1.8em 0 .6em; }
.prose a{ text-decoration:underline; text-decoration-color:var(--naranja); text-underline-offset:3px; }
.prose ul,.prose ol{ padding-left:1.2em; }
.prose li{ margin-bottom:.4em; }
.prose blockquote{ margin:1.5em 0; padding:.2em 0 .2em 1.2em; border-left:3px solid var(--naranja); font-family:var(--font-serif); font-style:italic; font-size:1.2em; }
.prose__cover{ margin:0 0 var(--sp-4); }

.post-list{ border-top:1px solid var(--faint); }
.post-row{ padding:var(--sp-3) 0; border-bottom:1px solid var(--faint); }
.post-row__meta{ font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; color:var(--slate); margin-bottom:.4rem; }
.post-row__title{ font-family:var(--font-black); font-size:clamp(1.3rem,2.5vw,2rem); text-transform:uppercase; }
.post-row__title a:hover{ color:var(--accent-ink); }
.post-row__excerpt{ color:var(--slate); margin-top:.6rem; }

/* 404 */
.notfound{ padding:calc(var(--header-h) + clamp(4rem, 9vw, 8rem)) 0 var(--sp-6); }
.notfound__title{ max-width:14ch; }
.notfound__actions{ display:flex; flex-wrap:wrap; gap:1.5rem; align-items:center; margin-top:var(--sp-4); }

/* ============================== FOOTER ============================== */
.site-footer{
  background:#17150F; color:#EEE8DE; padding:clamp(4rem, 8vw, 6.5rem) 0 1.5rem;
  border-top:1px solid rgba(238,232,222,.12);
  --slate:#A79E91; --faint:rgba(238,232,222,.16);
}
[data-theme="dark"] .site-footer{ background:#0B0906; border-top:1px solid var(--faint); }
.footer__top{ display:grid; grid-template-columns:1fr; gap:var(--sp-5); }
.brand--footer{ margin:0; }
.brand--footer .brand__mark{ height:84px; }
.brand--footer .brand__word{ font-size:1.25rem; }
.footer__tag{ color:var(--slate); max-width:32ch; margin-top:1.2rem; }
.footer__cols{ display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-4) var(--sp-3); }
.footer__col--contact{ grid-column:1 / -1; }
.footer__h{ font-size:.72rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--naranja-hi); margin-bottom:1rem; }
.footer__col ul{ list-style:none; margin:0; padding:0; display:grid; gap:.7rem; }
.footer__col a,
.footer__col span{ display:inline-flex; align-items:center; gap:.6rem; color:#EEE8DE; opacity:.86; transition:opacity var(--t-fast), color var(--t-fast); word-break:break-word; }
.footer__col a:hover{ opacity:1; color:var(--naranja-hi); }
.footer__col .i{ width:18px; height:18px; color:var(--naranja-hi); }
.footer__word{
  font-family:var(--font-display); text-transform:uppercase; text-align:center; white-space:nowrap;
  font-size:clamp(3rem, 12.5vw, 11.5rem); line-height:1; letter-spacing:-.01em;
  margin:clamp(3.5rem, 7vw, 6rem) 0 clamp(1.5rem, 3vw, 2.5rem); padding-block:.04em .08em; overflow:hidden;
}
.footer__word .serif{ color:var(--naranja-hi); font-size:1em; }
.footer__bottom{
  display:flex; justify-content:space-between; gap:.5rem 1.5rem; flex-wrap:wrap;
  padding-top:1.2rem; border-top:1px solid var(--faint); font-size:.82rem; color:var(--slate);
}
.footer__bottom p{ margin:0; }
.footer__bottom a:hover{ color:var(--naranja-hi); }


/* =====================================================================
   CATÁLOGO 3D: menú desplegable, beneficios, categorías, colores,
   filtros, variantes y pagos
   ===================================================================== */

/* Menú desplegable (desktop) */
.nav__list > li{ position:relative; }
.nav .menu-item-has-children > .nav__link{ padding-right:1rem; }
.nav .menu-item-has-children > .nav__link::before{
  content:""; position:absolute; right:0; top:50%; width:5px; height:5px; margin-top:-4px;
  border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); opacity:.6;
}
.nav .sub-menu{
  position:absolute; top:calc(100% + 22px); left:-1.1rem; z-index:5; min-width:230px;
  list-style:none; margin:0; padding:.5rem;
  background:var(--papel); border:1px solid var(--faint); box-shadow:0 18px 40px rgba(26,23,19,.14);
  opacity:0; visibility:hidden; transform:translateY(8px);
  transition:opacity var(--t-fast), transform var(--t-fast), visibility 0s linear .2s;
}
.nav .sub-menu::before{ content:""; position:absolute; left:0; right:0; top:-24px; height:24px; }
.nav .menu-item-has-children:hover > .sub-menu,
.nav .menu-item-has-children:focus-within > .sub-menu{ opacity:1; visibility:visible; transform:none; transition-delay:0s; }
.nav .sub-menu .nav__link{ display:block; padding:.65rem .8rem; font-size:.95rem; letter-spacing:0; text-transform:none; }
.nav .sub-menu .nav__link::after{ display:none; }
.nav .sub-menu .nav__link:hover{ background:var(--crema); color:var(--accent-ink); }

/* Submenú en el menú mobile: chips */
.mobile-menu__list .sub-menu{ list-style:none; margin:0; padding:.2rem 0 1rem; display:flex; flex-wrap:wrap; gap:.4rem; border-bottom:1px solid var(--faint); }
.mobile-menu__list .menu-item-has-children > .nav__link{ border-bottom:0; }
.mobile-menu__list .sub-menu .nav__link{
  font-family:var(--font-body); font-size:.95rem; font-weight:500; letter-spacing:0;
  padding:.5rem .85rem; border:1px solid var(--faint);
}

/* Barra de beneficios */
.trust{ background:var(--crema); border-bottom:1px solid var(--faint); }
.trust__grid{ display:grid; grid-template-columns:1fr 1fr; }
.trust__item{ display:flex; align-items:center; gap:.85rem; padding:1.2rem .8rem 1.2rem 0; }
.trust__item .i{ width:28px; height:28px; color:var(--accent-ink); }
.trust__t{ margin:0; font-weight:700; font-size:.95rem; line-height:1.25; }
.trust__s{ margin:.15rem 0 0; font-size:.8rem; color:var(--slate); line-height:1.3; }

/* Categorías: tarjetas grandes */
.tiles{ display:grid; grid-template-columns:1fr; gap:1rem; margin-top:var(--sp-5); }
.tile{ display:flex; flex-direction:column; background:var(--crema); border:1px solid var(--faint); transition:border-color var(--t-fast); }
.tile:hover{ border-color:var(--tinta); }
.tile__link{ display:flex; flex-direction:column; padding:1.3rem 1.4rem 1.4rem; flex:1; }
.tile__head{ display:flex; justify-content:space-between; align-items:center; }
.tile__idx{ font-weight:600; font-size:.8rem; letter-spacing:.1em; color:var(--accent-ink); }
.tile__arrow{
  width:48px; height:48px; border-radius:50%; border:1px solid var(--faint); display:grid; place-items:center;
  transition:background var(--t-fast), border-color var(--t-fast), color var(--t-fast), transform var(--t-med);
}
.tile:hover .tile__arrow{ background:var(--naranja); border-color:var(--naranja); color:#fff; transform:rotate(45deg); }
.tile__media{ order:-1; display:block; aspect-ratio:1/1; margin:-1.3rem -1.4rem 1rem; overflow:hidden; border-bottom:1px solid var(--faint); }
.tile__media img{ width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease-out); }
.tile:hover .tile__media img{ transform:scale(1.05); }
.tile__name{ display:block; margin-top:.8rem; font-family:var(--font-display); font-size:clamp(2.4rem, 4.2vw, 3.6rem); line-height:.95; text-transform:uppercase; }
.tile__count{ color:var(--slate); font-size:.95rem; margin-top:.35rem; }
.tile__subs{ list-style:none; margin:0; padding:1rem 1.4rem 1.3rem; display:flex; flex-wrap:wrap; gap:.4rem; border-top:1px solid var(--faint); }
.tile__subs a{ display:inline-flex; padding:.4rem .75rem; border:1px solid var(--faint); font-size:.86rem; font-weight:500; background:var(--papel); transition:border-color var(--t-fast), color var(--t-fast); }
.tile__subs a:hover{ border-color:var(--tinta); color:var(--accent-ink); }

/* Barra de colores */
.colorbar{ display:flex; flex-wrap:wrap; align-items:center; gap:.8rem 1.5rem; margin:var(--sp-5) 0 var(--sp-4); padding:1.2rem 0; border-block:1px solid var(--faint); }
.colorbar__t{ margin:0; font-size:.76rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--slate); }
.colorbar__list{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:.45rem; }
.colorbar__sw{ display:inline-flex; align-items:center; gap:.5rem; padding:.3rem .85rem .3rem .35rem; border:1px solid var(--faint); border-radius:999px; font-size:.88rem; font-weight:500; background:var(--papel); transition:border-color var(--t-fast); }
.colorbar__sw:hover{ border-color:var(--tinta); }
.colorbar__dot{ width:24px; height:24px; border-radius:50%; background:var(--sw); box-shadow:inset 0 0 0 1px rgba(0,0,0,.16); }
.home-grid{ margin-top:var(--sp-4); }

/* Tarjeta: colores, pagos y stock */
.dots{ list-style:none; margin:-.2rem 0 .8rem; padding:0; display:flex; align-items:center; gap:.3rem; }
.dot{ width:15px; height:15px; border-radius:50%; background:var(--sw); box-shadow:inset 0 0 0 1px rgba(0,0,0,.18); }
.dots__more{ font-size:.72rem; color:var(--slate); margin-left:.2rem; }
.pcard__price{ font-size:1.18rem; font-weight:700; }
.price-from{ font-weight:400; font-size:.78em; color:var(--slate); }
.paylines{ display:grid; gap:.25rem; }
.payline{ display:flex; align-items:flex-start; gap:.45rem; margin:0; font-size:.8rem; line-height:1.35; color:var(--slate); }
.payline .i{ width:16px; height:16px; margin-top:.05rem; color:var(--accent-ink); }
.payline strong{ color:var(--tinta); font-weight:600; }
.pcard__actions{ display:flex; align-items:center; justify-content:space-between; gap:.5rem; margin-top:.4rem; }
.stock-tag{ display:inline-flex; align-items:center; gap:.4rem; font-size:.74rem; font-weight:600; color:var(--ok); }
.stock-tag::before{ content:""; width:7px; height:7px; border-radius:50%; background:currentColor; }
.stock-tag.is-out{ color:var(--err); }

/* Ficha: pagos, especificaciones y ayuda */
.paylines--single{ margin:-.9rem 0 var(--sp-3); padding:1rem 1.1rem; gap:.55rem; background:var(--crema); border:1px solid var(--faint); }
.paylines--single .payline{ font-size:.95rem; }
.paylines--single .payline .i{ width:20px; height:20px; }
.specs{ display:grid; grid-template-columns:1fr 1fr; margin:0 0 var(--sp-3); border-top:1px solid var(--faint); }
.specs > div{ padding:.8rem 1rem .8rem 0; border-bottom:1px solid var(--faint); }
.specs dt{ font-size:.68rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--slate); margin-bottom:.25rem; }
.specs dd{ margin:0; font-family:var(--font-black); font-size:.98rem; line-height:1.2; }
.summary__help{ display:flex; align-items:flex-start; gap:.75rem; margin:0 0 var(--sp-3); font-size:.92rem; color:var(--slate); }
.summary__help .i{ width:22px; height:22px; color:var(--accent-ink); }
.summary__help strong{ color:var(--tinta); }

/* Variantes como botones */
.varsel{ position:relative; }
.varsel select{ position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
html:not(.js) .varsel select{ position:static; width:100%; height:auto; opacity:1; pointer-events:auto; }
html:not(.js) .varsel__opts{ display:none; }
.varsel__opts{ display:flex; flex-wrap:wrap; gap:.5rem; }
.swatch{
  width:42px; height:42px; padding:0; border:0; border-radius:50%; background:var(--sw);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.18), 0 0 0 3px var(--papel), 0 0 0 4px transparent;
  transition:box-shadow var(--t-fast), transform var(--t-fast);
}
.swatch:hover{ box-shadow:inset 0 0 0 1px rgba(0,0,0,.18), 0 0 0 3px var(--papel), 0 0 0 4px var(--slate); }
.swatch.is-active{ box-shadow:inset 0 0 0 1px rgba(0,0,0,.18), 0 0 0 3px var(--papel), 0 0 0 5px var(--naranja); }
.pill{ min-height:46px; padding:.5rem 1.05rem; border:1px solid var(--faint); background:var(--field); font-weight:500; font-size:.95rem; transition:border-color var(--t-fast), background var(--t-fast), color var(--t-fast); }
.pill:hover{ border-color:var(--tinta); }
.pill.is-active{ background:var(--tinta); border-color:var(--tinta); color:var(--papel); }
.swatch.is-disabled,.pill.is-disabled{ opacity:.3; cursor:not-allowed; }
.varsel__val{ color:var(--tinta); text-transform:none; letter-spacing:0; font-size:.95rem; font-weight:600; margin-left:.35rem; }

/* Filtros del catálogo */
.shop-layout{ display:block; }
.filters__head{ display:flex; align-items:center; justify-content:space-between; padding-bottom:1rem; border-bottom:1px solid var(--faint); }
.filters__title{ margin:0; font-family:var(--font-display); font-size:1.9rem; line-height:1; text-transform:uppercase; }
.filters__group{ padding:1.2rem 0 1.3rem; border-bottom:1px solid var(--faint); }
.filters__h{ margin:0 0 .75rem; font-size:.72rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--slate); }
.filters__list{ list-style:none; margin:0; padding:0; display:grid; gap:.1rem; }
.fitem{ display:flex; align-items:center; gap:.7rem; padding:.42rem 0; font-size:.96rem; }
.fitem:hover .fitem__name{ color:var(--accent-ink); }
.fitem__box{ position:relative; width:18px; height:18px; flex:none; border:1.5px solid var(--slate); transition:background var(--t-fast), border-color var(--t-fast); }
.fitem.is-active .fitem__box{ background:var(--naranja); border-color:var(--naranja); }
.fitem.is-active .fitem__box::after{ content:""; position:absolute; left:5px; top:1px; width:5px; height:10px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); }
.fitem__n{ margin-left:auto; font-size:.76rem; color:var(--slate); }
.filters__list--swatch{ display:flex; flex-wrap:wrap; gap:.6rem; }
.fswatch{
  display:block; width:32px; height:32px; border-radius:50%; background:var(--sw);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.18), 0 0 0 2px var(--papel), 0 0 0 3px transparent;
  transition:box-shadow var(--t-fast);
}
.fswatch:hover{ box-shadow:inset 0 0 0 1px rgba(0,0,0,.18), 0 0 0 2px var(--papel), 0 0 0 3px var(--slate); }
.fswatch.is-active{ box-shadow:inset 0 0 0 1px rgba(0,0,0,.18), 0 0 0 3px var(--papel), 0 0 0 5px var(--naranja); }
.filters__backdrop{ position:fixed; inset:0; z-index:1240; background:var(--overlay); }
.filters__backdrop[hidden]{ display:none; }
.btn--sm{ min-height:44px; padding:.6rem 1rem; font-size:.9rem; gap:.5rem; border-width:1px; }
.filters-open__n{ display:inline-grid; place-items:center; min-width:20px; height:20px; padding:0 5px; border-radius:999px; background:var(--naranja); color:#fff; font-size:.72rem; }
.active-filters{ display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; margin-bottom:1rem; }
.chip--remove{ gap:.45rem; }
.chip--remove .i{ width:14px; height:14px; }
.chip--remove:hover{ border-color:var(--err); color:var(--err); }
.active-filters__clear{ margin-left:.4rem; font-size:.88rem; color:var(--slate); text-decoration:underline; }

@media (max-width:1023px){
  .filters{
    position:fixed; top:0; left:0; bottom:0; z-index:1250; width:min(360px, 88vw);
    padding:1.2rem 1.4rem 2rem; overflow-y:auto;
    background:var(--papel); border-right:1px solid var(--faint);
    transform:translateX(-102%); transition:transform .45s var(--ease-out);
    visibility:hidden;
  }
  .filters.is-open{ transform:none; visibility:visible; }
}
@media (min-width:768px){
  .trust__grid{ grid-template-columns:repeat(4, minmax(0,1fr)); }
  .trust__item{ padding:1.4rem 1.2rem; border-left:1px solid var(--faint); }
  .trust__item:first-child{ border-left:0; padding-left:0; }
  .tiles{ grid-template-columns:repeat(3, minmax(0,1fr)); }
}
@media (min-width:1024px){
  .filters__close,.filters-open{ display:none; }
  .shop-layout.has-filters{ display:grid; grid-template-columns:230px minmax(0,1fr); gap:clamp(2rem, 4vw, 3.5rem); align-items:start; }
  .filters{ position:sticky; top:calc(var(--header-h) + 1.5rem); }
  .has-filters ul.products{ grid-template-columns:repeat(3, minmax(0,1fr)); }
}
@media (max-width:767px){
  .shop-toolbar{ display:grid; grid-template-columns:1fr 1fr; gap:.6rem; }
  .shop-toolbar:not(:has(.filters-open)) .woocommerce-ordering{ grid-column:1 / -1; }
  .shop-toolbar .filters-open{ width:100%; }
  .shop-toolbar .woocommerce-result-count{ grid-column:1 / -1; order:3; }
  .shop-toolbar .woocommerce-ordering select{ min-height:44px; }
  .trust__item{ padding:1rem .6rem 1rem 0; }
  .trust__item .i{ width:24px; height:24px; }
  .trust__t{ font-size:.86rem; }
  .trust__s{ font-size:.74rem; }
  .specs{ grid-template-columns:1fr 1fr; }
}

/* ============================== REVEALS ============================== */
.js [data-reveal]{ opacity:0; transform:translateY(28px); transition:opacity .9s var(--ease-out), transform .9s var(--ease-out); }
.js [data-reveal].is-in{ opacity:1; transform:none; }
.js ul.products .pcard{ opacity:0; transform:translateY(24px); transition:opacity .8s var(--ease-out), transform .8s var(--ease-out); }
.js ul.products .pcard.is-in{ opacity:1; transform:none; }

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .js [data-reveal],.js ul.products .pcard{ opacity:1; transform:none; }
  .marquee__track{ animation:none; }
}

/* ============================== RESPONSIVE ============================== */
@media (min-width:600px){
  .mats{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .footer__cols{ grid-template-columns:repeat(3, minmax(0,1fr)); }
  .footer__col--contact{ grid-column:auto; }
  .u-columns.col2-set,
  .woocommerce-Addresses,
  .col2-set.addresses{ grid-template-columns:1fr 1fr; }
}

@media (min-width:768px){
  ul.products{ grid-template-columns:repeat(3, minmax(0,1fr)); }
  .why-grid{ grid-template-columns:repeat(3, minmax(0,1fr)); border-top:0; gap:var(--sp-4); }
  .why{ grid-template-columns:1fr; gap:.8rem; border-bottom:0; border-top:2px solid var(--naranja-hi); padding-top:var(--sp-3); }
  .custom{ grid-template-columns:1.2fr 1fr; }
  .icon-btn--account{ display:inline-flex; }
  .catlist__row{ grid-template-columns:4rem 1fr auto auto; }
  .catlist__count{ grid-column:3; grid-row:1; padding-right:1.5rem; }
  .catlist__arrow{ grid-row:1; grid-column:4; }
}

@media (min-width:1024px){
  :root{ --header-h:84px; }
  .brand__mark{ height:60px; }
  ul.products{ grid-template-columns:repeat(4, minmax(0,1fr)); }
  .mats{ grid-template-columns:repeat(4, minmax(0,1fr)); }

  .product__top{ grid-template-columns:minmax(0,1.08fr) minmax(0,1fr); gap:clamp(2.5rem, 5vw, 5.5rem); align-items:start; }
  .product__top .summary{ position:sticky; top:calc(var(--header-h) + 2rem); }

  .footer__top{ grid-template-columns:1fr 2fr; }
  .woocommerce-account .page-body--store .woocommerce{ grid-template-columns:240px 1fr; gap:var(--sp-5); }
  .woocommerce-account:not(.logged-in) .page-body--store .woocommerce{ grid-template-columns:1fr; }
}

@media (min-width:1180px){
  .nav{ display:block; margin-inline:auto; }
  .nav-toggle{ display:none; }
  .brand{ margin-right:0; }
  .header__actions{ gap:.3rem; margin-left:clamp(.5rem, 2vw, 1.5rem); }
}

/* Laptops con Windows escalado (viewport ~1280x600) */
@media (min-width:1024px) and (max-height:760px){
  .hero{ min-height:640px; }
  .hero__inner{ padding-top:calc(var(--header-h) + 3rem); }
  .hero__title{ font-size:clamp(2.4rem, 5vw, 4.4rem); }
}

@media (max-width:767px){
  .hero{ min-height:92svh; }
  .hero__actions .btn{ width:100%; justify-content:space-between; }
  .custom__actions .btn{ width:100%; justify-content:space-between; }
  .section-head{ margin-bottom:var(--sp-4); }
  .pcard__title{ font-size:.86rem; }
  .pcard__actions{ flex-direction:column; align-items:stretch; }
  .pcard__add.button{ width:100%; }
  .payline{ font-size:.74rem; }
  .shop-toolbar{ flex-direction:column; align-items:stretch; }
  .woocommerce-ordering select{ width:100%; }
  .chips{ flex-wrap:nowrap; overflow-x:auto; margin-inline:calc(var(--gutter) * -1); padding-inline:var(--gutter); scrollbar-width:none; }
  .chips::-webkit-scrollbar{ display:none; }
  .search-panel__inner{ flex-direction:column-reverse; align-items:flex-end; }
  .search-form{ width:100%; }
  input,select,textarea{ font-size:16px !important; }
  .footer__bottom{ flex-direction:column; }
  .catlist__arrow{ width:44px; height:44px; }
}

@media (max-width:420px){
  .brand__word{ display:none; }
  .brand__mark{ height:50px; }
  .header__actions .icon-btn{ width:40px; }
}
