/* Hanso — Scroll-scrub intro + video promocional
   Encapsulado para no depender de las variables de color del tema;
   usa los mismos tonos de marca que el resto de la página. */

html, body { overflow-x: clip; }

/* El tema mete el contenido en una columna angosta (bloque "is-layout-constrained").
   Estas dos secciones deben ocupar el ancho completo del dispositivo, como en Shopify,
   así que se sacan de esa columna con el truco clásico de "full bleed". */
.hanso-landing .intro,
.hanso-landing .video-block {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.hanso-landing .intro { position: relative; background: var(--paper, #17171A); }
.hanso-landing .intro__track { position: relative; height: 340vh; height: var(--intro-track, 340svh); }
.hanso-landing .intro__stage {
  position: sticky; top: 0; overflow: hidden;
  height: 100vh; height: 100lvh;
  background: var(--paper, #17171A);
}
html.scrub-static .hanso-landing .intro__track { height: 100svh; }
html.scrub-static .hanso-landing .intro__stage { position: relative; height: 100svh; }
html.scrub-static .hanso-landing .intro__loader { display: none; }

.hanso-landing .intro__media { position: absolute; inset: 0; }
.hanso-landing .intro__frame,
.hanso-landing .intro__video {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: var(--intro-media-fit, cover);
  object-position: var(--intro-media-position, center center);
}
.hanso-landing .intro__video { display: none; }
.hanso-landing .intro__stage.surface-video .intro__video { display: block; opacity: 0; transition: opacity 240ms linear; }
.hanso-landing .intro__stage.surface-video.is-media-ready .intro__video { opacity: 1; }
.hanso-landing .intro__stage.surface-video.is-media-ready .intro__frame { opacity: 0; transition: opacity 240ms linear; }
@media (max-width: 749px) {
  .hanso-landing .intro__frame, .hanso-landing .intro__video { object-fit: var(--intro-media-fit-mobile, cover); }
  .hanso-landing .intro__track { height: var(--intro-track-mobile, 400svh); }
}

.hanso-landing .intro__shade {
  position: absolute; inset: 0; pointer-events: none;
  background:
    linear-gradient(180deg, rgba(15, 15, 15, 0.55) 0%, rgba(15, 15, 15, 0) 34%),
    linear-gradient(0deg, rgba(15, 15, 15, 0.78) 0%, rgba(15, 15, 15, 0) 52%);
}

.hanso-landing .intro__content {
  position: absolute; inset: auto 0 0 0; z-index: 2;
  padding: 0 24px clamp(48px, 9vh, 96px);
  color: var(--intro-text, #F6F2EC);
}
.hanso-landing .intro__copy { max-width: var(--intro-copy-width, 620px); margin: 0 auto; text-align: center; }
.hanso-landing .intro__copy .eyebrow {
  color: var(--intro-accent, #DDC08A); text-transform: uppercase; letter-spacing: .14em;
  font-size: .78rem; font-weight: 600; margin: 0 0 .6rem;
}
.hanso-landing .intro__copy h2 {
  max-width: var(--intro-title-max, 13ch);
  font-size: var(--intro-title-size-mobile, 36px);
  color: inherit; margin: 0 auto; font-family: 'Jost', sans-serif; font-weight: 500;
}
.hanso-landing .intro__copy .rte { margin-top: 1rem; }
.hanso-landing .intro__copy .rte p { color: rgba(250, 250, 249, 0.86); margin: 0; }
.hanso-landing .intro__copy .button {
  margin-top: 1.75rem; display: inline-block; padding: .85rem 1.8rem; border-radius: 2px;
  font-size: .92rem; font-weight: 600; text-decoration: none;
  background: var(--amber, #C9A96E); color: var(--cta-text, #141414);
}
@media (min-width: 750px) {
  .hanso-landing .intro__copy h2 { font-size: var(--intro-title-size-desktop, 58px); }
}

.hanso-landing .intro__progress {
  position: absolute; right: 24px; bottom: clamp(48px, 9vh, 96px); z-index: 2;
  width: 2px; height: 110px; border-radius: 2px;
  background: rgba(250, 250, 249, 0.25); overflow: hidden;
  opacity: 1; transition: opacity 260ms ease;
}
.hanso-landing .intro__progress span {
  display: block; width: 100%; height: 100%;
  background: var(--intro-accent, #DDC08A);
  transform: scaleY(var(--progress, 0)); transform-origin: top;
}
.hanso-landing .intro__stage.is-complete .intro__progress { opacity: 0; }
@media (max-width: 749px) { .hanso-landing .intro__progress { display: none; } }

.hanso-landing .intro__loader {
  position: absolute; inset: 0; z-index: 3;
  display: grid; place-items: center; text-align: center;
  background: var(--paper, #17171A); color: #FAFAF9;
  transition: opacity 600ms ease, visibility 0s 600ms;
}
.hanso-landing .intro.is-loaded .intro__loader { opacity: 0; visibility: hidden; }
.hanso-landing .intro__loader[hidden] { display: none; }
.hanso-landing .intro__loader p { font-size: .95rem; color: rgba(250, 250, 249, 0.72); max-width: 24ch; margin-inline: auto; }
.hanso-landing .intro__loader-bar { width: min(220px, 60vw); height: 2px; margin: 1.5rem auto .75rem; background: rgba(250, 250, 249, 0.2); border-radius: 2px; overflow: hidden; }
.hanso-landing .intro__loader-bar span {
  display: block; height: 100%; background: var(--intro-accent, #DDC08A);
  transform: scaleX(var(--load, 0)); transform-origin: left; transition: transform 240ms ease;
}
.hanso-landing .intro__loader-percent { font-size: .8rem; letter-spacing: .22em; color: rgba(250, 250, 249, 0.6); font-variant-numeric: tabular-nums; }

/* Video promocional (autoplay silencioso al cargar, según viewport) */
.hanso-landing .video-block { position: relative; overflow: hidden; background: var(--paper, #17171A); aspect-ratio: 16 / 9; }
@media (max-width: 749px) { .hanso-landing .video-block { aspect-ratio: 9 / 16; } }
.hanso-landing .video-block__media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.hanso-landing .video-block__media--mobile { display: none; }
@media (max-width: 749px) {
  .hanso-landing .video-block__media--desktop { display: none; }
  .hanso-landing .video-block__media--mobile { display: block; }
}

/* ===================================================================
   Bloque movido desde el <style> inline de la pagina (post_content):
   wpautop() estaba fragmentando ese bloque con <p>/<br> al renderizar
   (the_content), rompiendo estas reglas. Viven aqui para no depender
   del filtrado de contenido de WordPress.
   =================================================================== */
.hanso-landing h1,.hanso-landing h2{text-transform:uppercase;letter-spacing:.01em;}
.hanso-landing .hl-eyebrow{position:relative;padding-left:2rem;}
.hanso-landing .hl-eyebrow::before{content:"";position:absolute;left:0;top:.6em;width:22px;height:1px;background:currentColor;}
.hanso-landing .hl-heading .hl-eyebrow,.hanso-landing .hl-final .hl-eyebrow{padding-left:2rem;}
.hanso-landing .hl-heading.hl-section-center .hl-eyebrow,.hanso-landing .hl-final .hl-eyebrow{display:inline-flex;}
.hanso-landing .hl-btn{text-transform:uppercase;letter-spacing:.08em;font-weight:500;}
.hanso-landing .hl-section{padding:clamp(72px,10vw,128px) 0;}

.hanso-landing .hl-hero{padding:clamp(40px,7vw,76px) 0 clamp(72px,10vw,128px);}
.hanso-landing .hl-hero-grid{display:grid;gap:clamp(2.5rem,6vw,4.5rem);align-items:center;text-align:left;}
@media (min-width:950px){.hanso-landing .hl-hero-grid{grid-template-columns:1.15fr .85fr;}}
.hanso-landing .hl-hero-grid h1{margin-left:0;margin-right:0;}
.hanso-landing .hl-hero-grid .hl-lede{margin-left:0;margin-right:0;text-align:left;max-width:52ch;}
.hanso-landing .hl-hero-grid .hl-actions{justify-content:flex-start;}
.hanso-landing .hl-hero-grid .hl-trust{justify-content:flex-start;margin-top:1.6rem;padding-top:1.1rem;border-top:1px solid var(--line);}
@media (max-width:949px){
  .hanso-landing .hl-hero-grid{text-align:center;}
  .hanso-landing .hl-hero-grid h1{margin-left:auto;margin-right:auto;}
  .hanso-landing .hl-hero-grid .hl-lede{margin-left:auto;margin-right:auto;text-align:center;}
  .hanso-landing .hl-brand{justify-content:center;}
  .hanso-landing .hl-hero-grid .hl-actions,.hanso-landing .hl-hero-grid .hl-trust{justify-content:center;}
}
.hanso-landing .hl-brand{display:flex;align-items:center;gap:.7rem;margin-bottom:1.75rem;}
.hanso-landing .hl-brand-mark{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:50%;background:var(--card);border:1px solid var(--line);color:var(--amber);font-family:'Jost',sans-serif;font-weight:600;font-size:.92rem;}
.hanso-landing .hl-brand-text{display:grid;line-height:1.2;}
.hanso-landing .hl-brand-text strong{font-family:'Jost',sans-serif;font-size:1rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;}
.hanso-landing .hl-brand-text small{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);}
.hanso-landing .hl-hero-visual{display:grid;justify-items:center;gap:1.5rem;}
.hanso-landing .hl-hero-photo{position:relative;margin-inline:auto;width:min(340px,72vw);aspect-ratio:3/4;overflow:hidden;box-shadow:0 30px 60px -28px rgba(0,0,0,.65);}
.hanso-landing .hl-hero-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.hanso-landing .hl-hero-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;}
.hanso-landing .hl-hero-badges span{padding:.45rem .9rem;background:var(--card);border:1px solid var(--line);font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);}

.hanso-landing .reveal-on-scroll{opacity:0;transform:translate3d(0,16px,0);transition:opacity 700ms cubic-bezier(.23,1,.32,1),transform 700ms cubic-bezier(.23,1,.32,1);}
.hanso-landing .reveal-on-scroll.is-visible{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.hanso-landing .reveal-on-scroll{opacity:1;transform:none;transition:none;}}

.hanso-landing .hl-buy-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1.1rem calc(.7rem + env(safe-area-inset-bottom));background:rgba(23,23,26,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 -1px 0 var(--line);transform:translateY(110%);transition:transform 320ms cubic-bezier(.23,1,.32,1);}
.hanso-landing .hl-buy-bar.is-visible{transform:none;}
.hanso-landing .hl-buy-bar__text{display:grid;line-height:1.2;}
.hanso-landing .hl-buy-bar__text strong{font-family:'Jost',sans-serif;font-size:1rem;}
.hanso-landing .hl-buy-bar__text span{font-size:.78rem;color:var(--ink-soft);}
.hanso-landing .hl-buy-bar .hl-btn{min-height:44px;padding-inline:1.1rem;white-space:nowrap;}
@media (min-width:950px){.hanso-landing .hl-buy-bar{display:none;}}
@media (max-width:949px){.hanso-landing{padding-bottom:0;}}
@media (prefers-reduced-motion:reduce){.hanso-landing .hl-buy-bar{transition:none;}}

.hanso-landing .hl-bonus-card .dot svg,.hanso-landing .hl-learn-item .dot svg{width:1.1rem;height:1.1rem;display:block;}

/* ===================================================================
   Correccion de tipografia (tracking invertido en h1/h2 y peso/tamano
   de h3) frente al sistema de theme.css original de Shopify. Una regla
   inline preexistente en el contenido de la pagina (letter-spacing:
   -0.01em y font-weight:500 para h1,h2,h3 juntos) se carga despues de
   este stylesheet en el DOM y gana los empates de especificidad, asi
   que aqui se fuerza con !important solo donde hace falta.
   =================================================================== */
.hanso-landing h1, .hanso-landing h2 { letter-spacing: 0.01em !important; }
.hanso-landing h3 { font-weight: 700 !important; font-size: 1.2rem !important; line-height: 1.25 !important; letter-spacing: -0.01em !important; }
.hanso-landing h2 { font-size: clamp(1.8rem, 4.2vw, 2.8rem) !important; }

/* ===================================================================
   Franja blanca al inicio de la pagina: WordPress le agrega un
   margen superior automatico a .hanso-landing porque, dentro del
   contenedor de la entrada, no es tecnicamente el "primer hijo" (el
   <style> de la propia pagina lo precede), y el tema le aplica el
   espaciado por defecto entre bloques. Tambien el body tiene fondo
   blanco de base, que se ve por debajo de ese margen.
   =================================================================== */
.hanso-landing { margin-top: 0 !important; }
body { background-color: #17171A; }

/* ===================================================================
   Reskin oscuro de marca para carrito, checkout y mi cuenta (paginas
   nativas de WooCommerce, que por defecto no heredan el tema oscuro
   de la pagina de inicio). Mismos tokens de color/tipografia que
   .hanso-landing, aplicados sobre las clases propias de WooCommerce.
   =================================================================== */
.woocommerce-cart,
.woocommerce-checkout,
.woocommerce-account {
  --paper: #17171A;
  --sand: #1F1F23;
  --card: #232327;
  --ink: #F3EFE9;
  --ink-soft: #A8A29B;
  --amber: #C9A96E;
  --cta-text: #141414;
  --line: rgba(243,239,233,0.14);
}
.woocommerce-cart body, .woocommerce-checkout body, .woocommerce-account body { background: var(--paper); }
body.woocommerce-cart, body.woocommerce-checkout, body.woocommerce-account {
  background: var(--paper);
  color: var(--ink);
  font-family: 'Work Sans', sans-serif;
}
.woocommerce-cart .entry-content, .woocommerce-checkout .entry-content, .woocommerce-account .entry-content { color: var(--ink); }
.woocommerce-cart h1.wp-block-post-title,
.woocommerce-checkout h1.wp-block-post-title,
.woocommerce-account h1.wp-block-post-title {
  color: var(--ink);
  font-family: Jost, sans-serif;
  font-weight: 500;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}
.woocommerce-cart a, .woocommerce-checkout a, .woocommerce-account a { color: var(--amber); }
.woocommerce-cart .wc-block-components-product-name,
.woocommerce-checkout .wc-block-components-product-name { color: var(--ink); text-decoration: none; }

/* Botones (clasicos y de bloques) con el mismo lenguaje que .hl-btn */
.woocommerce-cart .button,
.woocommerce-checkout .button,
.woocommerce-account .button,
.woocommerce-cart .wc-block-components-button,
.woocommerce-checkout .wc-block-components-button,
.woocommerce-account .wc-block-components-button,
.woocommerce-cart .wp-element-button,
.woocommerce-checkout .wp-element-button {
  background: transparent;
  color: var(--amber);
  border: 1px solid var(--amber);
  border-radius: 0;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 500;
  font-size: 0.92rem;
  padding: 0.85rem 1.6rem;
  min-height: 48px;
  box-shadow: none;
  transition: background-color 160ms ease, color 160ms ease;
}
.woocommerce-cart .button:hover,
.woocommerce-checkout .button:hover,
.woocommerce-account .button:hover,
.woocommerce-cart .wc-block-components-button:hover,
.woocommerce-checkout .wc-block-components-button:hover,
.woocommerce-cart .wp-element-button:hover,
.woocommerce-checkout .wp-element-button:hover {
  background: var(--amber);
  color: var(--cta-text);
}
.woocommerce-cart .wc-block-cart__submit-button,
.woocommerce-checkout .wc-block-components-checkout-place-order-button {
  width: 100%;
  background: var(--amber);
  color: var(--cta-text);
}
.woocommerce-cart .wc-block-cart__submit-button:hover,
.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover {
  background: var(--amber-dark, #B08F52);
}

/* Paneles y tarjetas */
.woocommerce-cart .wc-block-components-sidebar,
.woocommerce-checkout .wc-block-components-sidebar,
.woocommerce-cart .wc-block-components-totals-wrapper,
.woocommerce-checkout .wc-block-components-totals-wrapper,
.woocommerce-cart .wc-block-cart-items,
.woocommerce-checkout .wc-block-components-order-summary,
.woocommerce-checkout .wc-block-checkout__main .wc-block-components-panel,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account table.shop_table,
.woocommerce-account .woocommerce-Addresses,
.woocommerce-account .woocommerce-address-fields,
.woocommerce-account .woocommerce-EditAccountForm,
.woocommerce-form-login, .woocommerce-form-register {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 2px;
  color: var(--ink);
}
.woocommerce-cart .wc-block-components-sidebar { padding: 1.5rem; }
.woocommerce-checkout .wc-block-components-sidebar { padding: 1.5rem; }
.woocommerce-cart table.wc-block-cart-items, .woocommerce-cart .wc-block-cart-items { background: transparent; border: none; }
.woocommerce-cart .wc-block-cart-items__row { border-bottom: 1px solid var(--line); background: transparent; }
.woocommerce-cart .wc-block-cart-items__header { border-bottom: 1px solid var(--line); color: var(--ink-soft); text-transform: uppercase; font-size: 0.78rem; letter-spacing: 0.08em; }

/* Totales */
.woocommerce-cart .wc-block-components-totals-item,
.woocommerce-checkout .wc-block-components-totals-item {
  color: var(--ink);
  border-top-color: var(--line);
}
.woocommerce-cart .wc-block-components-totals-item__label,
.woocommerce-checkout .wc-block-components-totals-item__label { color: var(--ink-soft); }
.woocommerce-cart .wc-block-cart__totals-title,
.woocommerce-checkout .wc-block-components-totals-wrapper .wc-block-components-panel__button,
.woocommerce-account .woocommerce-MyAccount-navigation-link a,
.woocommerce-checkout h2, .woocommerce-checkout h3,
.woocommerce-cart h2, .woocommerce-cart h3,
.woocommerce-account h2, .woocommerce-account h3 {
  color: var(--ink);
  font-family: Jost, sans-serif;
}

/* Selector de cantidad */
.woocommerce-cart .wc-block-components-quantity-selector {
  border: 1px solid var(--line);
  background: var(--paper);
}
.woocommerce-cart .wc-block-components-quantity-selector__button { color: var(--ink); background: transparent; }
.woocommerce-cart .wc-block-components-quantity-selector__input { background: transparent; color: var(--ink); }

/* Formularios: inputs, selects, checkboxes, radios (clasicos y bloques) */
.woocommerce-cart input[type="text"], .woocommerce-cart input[type="email"], .woocommerce-cart input[type="tel"], .woocommerce-cart input[type="number"], .woocommerce-cart input[type="password"], .woocommerce-cart select, .woocommerce-cart textarea,
.woocommerce-checkout input[type="text"], .woocommerce-checkout input[type="email"], .woocommerce-checkout input[type="tel"], .woocommerce-checkout input[type="number"], .woocommerce-checkout input[type="password"], .woocommerce-checkout select, .woocommerce-checkout textarea,
.woocommerce-account input[type="text"], .woocommerce-account input[type="email"], .woocommerce-account input[type="tel"], .woocommerce-account input[type="number"], .woocommerce-account input[type="password"], .woocommerce-account select, .woocommerce-account textarea,
.woocommerce-cart .wc-block-components-text-input input, .woocommerce-checkout .wc-block-components-text-input input,
.woocommerce-cart .wc-block-components-combobox input, .woocommerce-checkout .wc-block-components-combobox input {
  background: var(--paper);
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 0;
}
.woocommerce-cart .wc-block-components-text-input, .woocommerce-checkout .wc-block-components-text-input { background: var(--paper); border: 1px solid var(--line); border-radius: 0; }
.woocommerce-cart .wc-block-components-text-input label, .woocommerce-checkout .wc-block-components-text-input label { color: var(--ink-soft); }
.woocommerce-cart .wc-block-components-text-input.is-active input, .woocommerce-checkout .wc-block-components-text-input.is-active input { color: var(--ink); }
.woocommerce-checkout .wc-block-components-radio-control__option, .woocommerce-checkout .wc-block-components-payment-method-label {
  color: var(--ink);
  border-color: var(--line) !important;
}
.woocommerce-checkout .wc-block-components-radio-control { background: var(--paper); }
.woocommerce-checkout fieldset { border-color: var(--line); }

/* Cuenta: navegacion lateral clasica */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border: 1px solid var(--line); border-radius: 2px; overflow: hidden; background: var(--card); }
.woocommerce-account .woocommerce-MyAccount-navigation-link { border-bottom: 1px solid var(--line); }
.woocommerce-account .woocommerce-MyAccount-navigation-link:last-child { border-bottom: none; }
.woocommerce-account .woocommerce-MyAccount-navigation-link a { display: block; padding: 0.9rem 1.2rem; color: var(--ink-soft); text-decoration: none; text-transform: uppercase; font-size: 0.82rem; letter-spacing: 0.06em; font-family: 'Work Sans', sans-serif; }
.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active a { color: var(--amber); background: var(--paper); }
.woocommerce-account .woocommerce-MyAccount-navigation-link a:hover { color: var(--ink); }
.woocommerce-account .woocommerce-MyAccount-content { padding: 1.75rem; }
.woocommerce-account table.shop_table th { color: var(--ink-soft); text-transform: uppercase; font-size: 0.78rem; letter-spacing: 0.06em; border-bottom: 1px solid var(--line); }
.woocommerce-account table.shop_table td { border-bottom: 1px solid var(--line); color: var(--ink); }
.woocommerce-account mark.order-status { background: transparent; color: var(--amber); }
.woocommerce-account .woocommerce-Button, .woocommerce-account .button.view { color: var(--amber); }

/* Notices */
.woocommerce-cart .wc-block-components-notice-banner, .woocommerce-checkout .wc-block-components-notice-banner, .woocommerce-account .woocommerce-message, .woocommerce-account .woocommerce-error, .woocommerce-account .woocommerce-info {
  background: var(--card);
  border-color: var(--line);
  color: var(--ink);
}

@media (max-width: 782px) {
  .woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; }
  .woocommerce-account .woocommerce-MyAccount-navigation-link { border-bottom: none; border-right: 1px solid var(--line); }
}

/* ===================================================================
   Fix de especificidad: los selectores propios de WooCommerce Blocks
   para los inputs (con atributo [type="..."] sumado a dos clases) son
   mas especificos que los de arriba y ganaban el fondo blanco, aunque
   el color de texto si se aplicaba. Se fuerza aqui con !important
   solo en fondo/color/borde de los campos.
   =================================================================== */
.woocommerce-checkout .wc-block-components-text-input input,
.woocommerce-cart .wc-block-components-text-input input,
.woocommerce-checkout .wc-block-components-combobox input,
.woocommerce-checkout .wc-block-components-address-form input,
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="number"],
.woocommerce-checkout input[type="search"],
.woocommerce-cart input[type="text"],
.woocommerce-cart input[type="number"] {
  background: var(--paper) !important;
  color: var(--ink) !important;
  border-color: var(--line) !important;
}
.woocommerce-checkout .wc-block-components-text-input label,
.woocommerce-checkout .wc-block-components-combobox label {
  color: var(--ink-soft) !important;
  background: transparent !important;
}
.woocommerce-checkout .wc-block-components-dropdown-selector__button,
.woocommerce-checkout select,
.woocommerce-checkout .components-select-control__input {
  background: var(--paper) !important;
  color: var(--ink) !important;
  border-color: var(--line) !important;
}
.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select {
  background: var(--paper) !important;
  color: var(--ink) !important;
}
.woocommerce-checkout .wc-blocks-components-select svg { fill: var(--ink-soft); }
.woocommerce-checkout .wc-block-components-address-form input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px var(--paper) inset !important;
  -webkit-text-fill-color: var(--ink) !important;
}

/* === My Account: active nav state === */
.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active a {
  background: var(--amber) !important;
  color: var(--cta-text) !important;
}

/* === WC Blocks notice banners (info/success/error/warning) in account/cart/checkout === */
.woocommerce-account .wc-block-components-notice-banner,
.woocommerce-cart .wc-block-components-notice-banner,
.woocommerce-checkout .wc-block-components-notice-banner {
  background: var(--card) !important;
  border-color: var(--line) !important;
  color: var(--ink) !important;
}
.woocommerce-account .wc-block-components-notice-banner svg,
.woocommerce-cart .wc-block-components-notice-banner svg,
.woocommerce-checkout .wc-block-components-notice-banner svg {
  fill: var(--ink) !important;
}
.woocommerce-account .wc-block-components-notice-banner .wc-block-components-notice-banner__content,
.woocommerce-cart .wc-block-components-notice-banner .wc-block-components-notice-banner__content,
.woocommerce-checkout .wc-block-components-notice-banner .wc-block-components-notice-banner__content {
  color: var(--ink) !important;
}
.woocommerce-account .wc-block-components-notice-banner .button,
.woocommerce-account .wc-block-components-notice-banner a,
.woocommerce-cart .wc-block-components-notice-banner .button,
.woocommerce-cart .wc-block-components-notice-banner a,
.woocommerce-checkout .wc-block-components-notice-banner .button,
.woocommerce-checkout .wc-block-components-notice-banner a {
  color: var(--amber) !important;
  border-color: var(--amber) !important;
}

/* === Address list edit/add links === */
.woocommerce-account .woocommerce-Addresses a,
.woocommerce-account .woocommerce-Address-title a,
.woocommerce-account .u-columns a {
  color: var(--amber) !important;
}

/* === Classic WooCommerce form inputs (Account details, Address forms) === */
.woocommerce-account .woocommerce-Input,
.woocommerce-account input.input-text,
.woocommerce-account textarea,
.woocommerce-account select,
.woocommerce-account .select2-container .select2-selection {
  background: var(--paper) !important;
  color: var(--ink) !important;
  border-color: var(--line) !important;
}
.woocommerce-account .select2-container .select2-selection__rendered {
  color: var(--ink) !important;
}
.woocommerce-account .select2-container .select2-selection__arrow b {
  border-color: var(--ink-soft) transparent transparent transparent !important;
}
body.woocommerce-account .select2-dropdown,
body.woocommerce-cart .select2-dropdown,
body.woocommerce-checkout .select2-dropdown {
  background: var(--paper) !important;
  color: var(--ink) !important;
  border-color: var(--line) !important;
}
body.woocommerce-account .select2-results__option,
body.woocommerce-cart .select2-results__option,
body.woocommerce-checkout .select2-results__option {
  color: var(--ink) !important;
  background: var(--paper) !important;
}
body.woocommerce-account .select2-results__option--highlighted[aria-selected],
body.woocommerce-cart .select2-results__option--highlighted[aria-selected],
body.woocommerce-checkout .select2-results__option--highlighted[aria-selected] {
  background: var(--amber) !important;
  color: var(--cta-text) !important;
}
body.woocommerce-account .select2-search--dropdown .select2-search__field,
body.woocommerce-cart .select2-search--dropdown .select2-search__field,
body.woocommerce-checkout .select2-search--dropdown .select2-search__field {
  background: var(--paper) !important;
  color: var(--ink) !important;
  border-color: var(--line) !important;
}
.woocommerce-account input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px var(--paper) inset !important;
  -webkit-text-fill-color: var(--ink) !important;
}

/* === Classic login/register forms (shown on My Account when logged out) === */
.woocommerce-account .woocommerce-form-login .input-text,
.woocommerce-account .woocommerce-form-register .input-text,
.woocommerce-account .lost_reset_password .input-text {
  background: var(--paper) !important;
  color: var(--ink) !important;
  border-color: var(--line) !important;
}

/* === Barra superior de navegacion para carrito/checkout/cuenta ===
   Replica .store-nav del tema original de Shopify: logo que vuelve
   al inicio + enlaces para seguir comprando, ya que estas paginas de
   WooCommerce no heredan ningun header/menu del sitio. === */
.hanso-store-nav {
  background: var(--paper, #17171A);
  border-bottom: 1px solid var(--line, rgba(243,239,233,0.14));
  font-family: 'Work Sans', sans-serif;
  position: sticky;
  top: 0;
  z-index: 50;
}
.hanso-store-nav__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 1.1rem 1.5rem;
  display: flex;
  flex-wrap: wrap;
  row-gap: 0.6rem;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.hanso-store-nav__brand {
  display: flex;
  align-items: center;
  text-decoration: none !important;
  color: var(--ink, #F3EFE9) !important;
}
.hanso-store-nav__name {
  display: grid;
  line-height: 1.15;
}
.hanso-store-nav__name strong {
  font-family: 'Jost', sans-serif;
  font-size: 1.05rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink, #F3EFE9);
}
.hanso-store-nav__name small {
  font-size: 0.68rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-soft, #A8A29B);
}
.hanso-store-nav__links {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
.hanso-store-nav__catalog,
.hanso-store-nav__back {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--amber, #C9A96E) !important;
  text-decoration: none !important;
  white-space: nowrap;
}
.hanso-store-nav__catalog span,
.hanso-store-nav__back span {
  transition: transform 200ms ease;
}
@media (hover: hover) and (pointer: fine) {
  .hanso-store-nav__catalog:hover span:last-child,
  .hanso-store-nav__back:hover span:last-child {
    transform: translateX(3px);
  }
}
@media (max-width: 480px) {
  .hanso-store-nav__inner { padding: 0.85rem 1rem; }
  .hanso-store-nav__links { gap: 1rem; }
  .hanso-store-nav__name strong { font-size: 0.92rem; }
}

/* === Iconos de navegacion (barra de tienda + mini-nav de portada) === */
.hanso-store-nav__links { gap: 0.6rem; }
.hanso-nav-btn,
.hanso-nav-btn:visited {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 50%;
  background: var(--card, #232327);
  border: 1px solid var(--line, rgba(243,239,233,0.14));
  color: var(--ink, #F3EFE9) !important;
  text-decoration: none !important;
  transition: border-color 160ms ease, color 160ms ease, transform 160ms ease;
}
.hanso-nav-btn:active { transform: scale(0.94); }
.hanso-nav-btn:focus-visible { outline: 2px solid var(--amber, #C9A96E); outline-offset: 2px; }
@media (hover: hover) and (pointer: fine) {
  .hanso-nav-btn:hover { border-color: var(--amber, #C9A96E); color: var(--amber, #C9A96E) !important; }
}
.hanso-nav-icon { display: inline-flex; line-height: 0; }
.hanso-nav-icon svg { width: 1.3rem; height: 1.3rem; display: block; }
.hanso-nav-count {
  position: absolute;
  top: -0.3rem;
  right: -0.3rem;
  min-width: 1.2rem;
  height: 1.2rem;
  padding: 0 0.3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--amber, #C9A96E);
  color: var(--cta-text, #141414);
  font: 700 0.68rem/1 'Work Sans', sans-serif;
}
.hanso-nav-count[hidden] { display: none; }

.hanso-mini-nav {
  position: fixed;
  top: calc(0.85rem + env(safe-area-inset-top, 0px));
  right: calc(0.85rem + env(safe-area-inset-right, 0px));
  z-index: 70;
  display: flex;
  gap: 0.6rem;
}
body.admin-bar .hanso-mini-nav { top: calc(46px + 0.6rem); }
@media (min-width: 783px) { body.admin-bar .hanso-mini-nav { top: calc(32px + 0.6rem); } }
@media (max-width: 480px) {
  .hanso-nav-btn { width: 2.4rem; height: 2.4rem; }
  .hanso-store-nav__links { gap: 0.45rem; }
}

/* === Tienda y producto (WooCommerce) con el tema oscuro de la marca === */
body.woocommerce-shop,
body.post-type-archive-product,
body.tax-product_cat,
body.tax-product_tag,
body.single-product {
  --paper: #17171A; --sand: #1F1F23; --card: #232327; --ink: #F3EFE9; --ink-soft: #A8A29B;
  --amber: #C9A96E; --cta-text: #141414; --line: rgba(243,239,233,0.14);
  background: var(--paper) !important;
  color: var(--ink);
  font-family: 'Work Sans', sans-serif;
}
body.woocommerce-shop .wp-site-blocks,
body.post-type-archive-product .wp-site-blocks,
body.tax-product_cat .wp-site-blocks,
body.tax-product_tag .wp-site-blocks,
body.single-product .wp-site-blocks,
body.woocommerce-shop main,
body.post-type-archive-product main,
body.tax-product_cat main,
body.tax-product_tag main,
body.single-product main,
body.woocommerce-shop main p,
body.post-type-archive-product main p,
body.tax-product_cat main p,
body.tax-product_tag main p,
body.single-product main p,
body.woocommerce-shop main li,
body.post-type-archive-product main li,
body.tax-product_cat main li,
body.tax-product_tag main li,
body.single-product main li,
body.woocommerce-shop main label,
body.post-type-archive-product main label,
body.tax-product_cat main label,
body.tax-product_tag main label,
body.single-product main label {
  color: var(--ink);
}
body.woocommerce-shop h1,
body.post-type-archive-product h1,
body.tax-product_cat h1,
body.tax-product_tag h1,
body.single-product h1,
body.woocommerce-shop h2,
body.post-type-archive-product h2,
body.tax-product_cat h2,
body.tax-product_tag h2,
body.single-product h2,
body.woocommerce-shop h3,
body.post-type-archive-product h3,
body.tax-product_cat h3,
body.tax-product_tag h3,
body.single-product h3,
body.woocommerce-shop h4,
body.post-type-archive-product h4,
body.tax-product_cat h4,
body.tax-product_tag h4,
body.single-product h4,
body.woocommerce-shop .wp-block-query-title,
body.post-type-archive-product .wp-block-query-title,
body.tax-product_cat .wp-block-query-title,
body.tax-product_tag .wp-block-query-title,
body.single-product .wp-block-query-title,
body.woocommerce-shop .product_title,
body.post-type-archive-product .product_title,
body.tax-product_cat .product_title,
body.tax-product_tag .product_title,
body.single-product .product_title,
body.woocommerce-shop .wp-block-post-title,
body.post-type-archive-product .wp-block-post-title,
body.tax-product_cat .wp-block-post-title,
body.tax-product_tag .wp-block-post-title,
body.single-product .wp-block-post-title {
  font-family: Jost, sans-serif;
  color: var(--ink);
  letter-spacing: 0.01em;
}
body.woocommerce-shop h1,
body.post-type-archive-product h1,
body.tax-product_cat h1,
body.tax-product_tag h1,
body.single-product h1,
body.woocommerce-shop .wp-block-query-title,
body.post-type-archive-product .wp-block-query-title,
body.tax-product_cat .wp-block-query-title,
body.tax-product_tag .wp-block-query-title,
body.single-product .wp-block-query-title,
body.woocommerce-shop .product_title,
body.post-type-archive-product .product_title,
body.tax-product_cat .product_title,
body.tax-product_tag .product_title,
body.single-product .product_title {
  font-weight: 500;
  text-transform: uppercase;
}
body.woocommerce-shop .woocommerce-breadcrumb,
body.post-type-archive-product .woocommerce-breadcrumb,
body.tax-product_cat .woocommerce-breadcrumb,
body.tax-product_tag .woocommerce-breadcrumb,
body.single-product .woocommerce-breadcrumb,
body.woocommerce-shop .woocommerce-breadcrumb a,
body.post-type-archive-product .woocommerce-breadcrumb a,
body.tax-product_cat .woocommerce-breadcrumb a,
body.tax-product_tag .woocommerce-breadcrumb a,
body.single-product .woocommerce-breadcrumb a {
  color: var(--ink-soft);
  font-size: 0.85rem;
}
body.woocommerce-shop .woocommerce-breadcrumb a:hover,
body.post-type-archive-product .woocommerce-breadcrumb a:hover,
body.tax-product_cat .woocommerce-breadcrumb a:hover,
body.tax-product_tag .woocommerce-breadcrumb a:hover,
body.single-product .woocommerce-breadcrumb a:hover,
body.woocommerce-shop main a:not(.wp-block-button__link):not(.button):hover,
body.post-type-archive-product main a:not(.wp-block-button__link):not(.button):hover,
body.tax-product_cat main a:not(.wp-block-button__link):not(.button):hover,
body.tax-product_tag main a:not(.wp-block-button__link):not(.button):hover,
body.single-product main a:not(.wp-block-button__link):not(.button):hover {
  color: var(--amber);
}
body.woocommerce-shop .woocommerce-result-count,
body.post-type-archive-product .woocommerce-result-count,
body.tax-product_cat .woocommerce-result-count,
body.tax-product_tag .woocommerce-result-count,
body.single-product .woocommerce-result-count,
body.woocommerce-shop .woocommerce-result-count p,
body.post-type-archive-product .woocommerce-result-count p,
body.tax-product_cat .woocommerce-result-count p,
body.tax-product_tag .woocommerce-result-count p,
body.single-product .woocommerce-result-count p {
  color: var(--ink-soft);
}
body.woocommerce-shop select,
body.post-type-archive-product select,
body.tax-product_cat select,
body.tax-product_tag select,
body.single-product select,
body.woocommerce-shop input[type="text"],
body.post-type-archive-product input[type="text"],
body.tax-product_cat input[type="text"],
body.tax-product_tag input[type="text"],
body.single-product input[type="text"],
body.woocommerce-shop input[type="number"],
body.post-type-archive-product input[type="number"],
body.tax-product_cat input[type="number"],
body.tax-product_tag input[type="number"],
body.single-product input[type="number"],
body.woocommerce-shop input[type="search"],
body.post-type-archive-product input[type="search"],
body.tax-product_cat input[type="search"],
body.tax-product_tag input[type="search"],
body.single-product input[type="search"],
body.woocommerce-shop .qty,
body.post-type-archive-product .qty,
body.tax-product_cat .qty,
body.tax-product_tag .qty,
body.single-product .qty,
body.woocommerce-shop textarea,
body.post-type-archive-product textarea,
body.tax-product_cat textarea,
body.tax-product_tag textarea,
body.single-product textarea {
  background: var(--paper) !important;
  color: var(--ink) !important;
  border: 1px solid var(--line) !important;
  border-radius: 0 !important;
}
body.woocommerce-shop .wc-block-product-template,
body.post-type-archive-product .wc-block-product-template,
body.tax-product_cat .wc-block-product-template,
body.tax-product_tag .wc-block-product-template,
body.single-product .wc-block-product-template {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1.4rem !important;
  padding: 0;
}
body.woocommerce-shop li.wc-block-product,
body.post-type-archive-product li.wc-block-product,
body.tax-product_cat li.wc-block-product,
body.tax-product_tag li.wc-block-product,
body.single-product li.wc-block-product {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: 1.2rem;
  text-align: center;
  margin: 0 !important;
  width: auto !important;
}
body.woocommerce-shop li.wc-block-product img,
body.post-type-archive-product li.wc-block-product img,
body.tax-product_cat li.wc-block-product img,
body.tax-product_tag li.wc-block-product img,
body.single-product li.wc-block-product img {
  border-radius: 2px;
}
body.woocommerce-shop li.wc-block-product h3,
body.post-type-archive-product li.wc-block-product h3,
body.tax-product_cat li.wc-block-product h3,
body.tax-product_tag li.wc-block-product h3,
body.single-product li.wc-block-product h3,
body.woocommerce-shop li.wc-block-product h3 a,
body.post-type-archive-product li.wc-block-product h3 a,
body.tax-product_cat li.wc-block-product h3 a,
body.tax-product_tag li.wc-block-product h3 a,
body.single-product li.wc-block-product h3 a {
  font-size: 1.1rem !important;
  text-decoration: none;
  color: var(--ink);
}
body.woocommerce-shop .wc-block-components-product-price,
body.post-type-archive-product .wc-block-components-product-price,
body.tax-product_cat .wc-block-components-product-price,
body.tax-product_tag .wc-block-components-product-price,
body.single-product .wc-block-components-product-price,
body.woocommerce-shop .price,
body.post-type-archive-product .price,
body.tax-product_cat .price,
body.tax-product_tag .price,
body.single-product .price,
body.woocommerce-shop .price .amount,
body.post-type-archive-product .price .amount,
body.tax-product_cat .price .amount,
body.tax-product_tag .price .amount,
body.single-product .price .amount,
body.woocommerce-shop .woocommerce-Price-amount,
body.post-type-archive-product .woocommerce-Price-amount,
body.tax-product_cat .woocommerce-Price-amount,
body.tax-product_tag .woocommerce-Price-amount,
body.single-product .woocommerce-Price-amount {
  color: var(--ink);
  font-weight: 600;
}
body.woocommerce-shop .price del,
body.post-type-archive-product .price del,
body.tax-product_cat .price del,
body.tax-product_tag .price del,
body.single-product .price del,
body.woocommerce-shop .price del .amount,
body.post-type-archive-product .price del .amount,
body.tax-product_cat .price del .amount,
body.tax-product_tag .price del .amount,
body.single-product .price del .amount {
  color: var(--ink-soft);
  font-weight: 400;
}
body.woocommerce-shop .wp-block-button__link,
body.post-type-archive-product .wp-block-button__link,
body.tax-product_cat .wp-block-button__link,
body.tax-product_tag .wp-block-button__link,
body.single-product .wp-block-button__link,
body.woocommerce-shop .wp-element-button,
body.post-type-archive-product .wp-element-button,
body.tax-product_cat .wp-element-button,
body.tax-product_tag .wp-element-button,
body.single-product .wp-element-button,
body.woocommerce-shop a.button,
body.post-type-archive-product a.button,
body.tax-product_cat a.button,
body.tax-product_tag a.button,
body.single-product a.button,
body.woocommerce-shop button.button,
body.post-type-archive-product button.button,
body.tax-product_cat button.button,
body.tax-product_tag button.button,
body.single-product button.button {
  background: transparent;
  color: var(--amber) !important;
  border: 1px solid var(--amber) !important;
  border-radius: 0 !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 500;
  font-size: 0.8rem;
  padding: 0.75rem 1.2rem;
  text-decoration: none;
  box-shadow: none;
}
body.woocommerce-shop .wp-block-button__link:hover,
body.post-type-archive-product .wp-block-button__link:hover,
body.tax-product_cat .wp-block-button__link:hover,
body.tax-product_tag .wp-block-button__link:hover,
body.single-product .wp-block-button__link:hover,
body.woocommerce-shop .wp-element-button:hover,
body.post-type-archive-product .wp-element-button:hover,
body.tax-product_cat .wp-element-button:hover,
body.tax-product_tag .wp-element-button:hover,
body.single-product .wp-element-button:hover,
body.woocommerce-shop a.button:hover,
body.post-type-archive-product a.button:hover,
body.tax-product_cat a.button:hover,
body.tax-product_tag a.button:hover,
body.single-product a.button:hover,
body.woocommerce-shop button.button:hover,
body.post-type-archive-product button.button:hover,
body.tax-product_cat button.button:hover,
body.tax-product_tag button.button:hover,
body.single-product button.button:hover {
  background: var(--amber);
  color: var(--cta-text) !important;
}
body.woocommerce-shop .single_add_to_cart_button,
body.post-type-archive-product .single_add_to_cart_button,
body.tax-product_cat .single_add_to_cart_button,
body.tax-product_tag .single_add_to_cart_button,
body.single-product .single_add_to_cart_button,
body.woocommerce-shop button.single_add_to_cart_button,
body.post-type-archive-product button.single_add_to_cart_button,
body.tax-product_cat button.single_add_to_cart_button,
body.tax-product_tag button.single_add_to_cart_button,
body.single-product button.single_add_to_cart_button {
  background: var(--amber) !important;
  color: var(--cta-text) !important;
  min-height: 48px;
}
body.woocommerce-shop .woocommerce-pagination a,
body.post-type-archive-product .woocommerce-pagination a,
body.tax-product_cat .woocommerce-pagination a,
body.tax-product_tag .woocommerce-pagination a,
body.single-product .woocommerce-pagination a,
body.woocommerce-shop .woocommerce-pagination span,
body.post-type-archive-product .woocommerce-pagination span,
body.tax-product_cat .woocommerce-pagination span,
body.tax-product_tag .woocommerce-pagination span,
body.single-product .woocommerce-pagination span,
body.woocommerce-shop .wp-block-query-pagination a,
body.post-type-archive-product .wp-block-query-pagination a,
body.tax-product_cat .wp-block-query-pagination a,
body.tax-product_tag .wp-block-query-pagination a,
body.single-product .wp-block-query-pagination a,
body.woocommerce-shop .wp-block-query-pagination span,
body.post-type-archive-product .wp-block-query-pagination span,
body.tax-product_cat .wp-block-query-pagination span,
body.tax-product_tag .wp-block-query-pagination span,
body.single-product .wp-block-query-pagination span {
  color: var(--ink);
  border-color: var(--line);
}
body.woocommerce-shop .woocommerce-tabs ul.tabs li,
body.post-type-archive-product .woocommerce-tabs ul.tabs li,
body.tax-product_cat .woocommerce-tabs ul.tabs li,
body.tax-product_tag .woocommerce-tabs ul.tabs li,
body.single-product .woocommerce-tabs ul.tabs li,
body.woocommerce-shop .woocommerce-tabs ul.tabs li a,
body.post-type-archive-product .woocommerce-tabs ul.tabs li a,
body.tax-product_cat .woocommerce-tabs ul.tabs li a,
body.tax-product_tag .woocommerce-tabs ul.tabs li a,
body.single-product .woocommerce-tabs ul.tabs li a,
body.woocommerce-shop .woocommerce-Tabs-panel,
body.post-type-archive-product .woocommerce-Tabs-panel,
body.tax-product_cat .woocommerce-Tabs-panel,
body.tax-product_tag .woocommerce-Tabs-panel,
body.single-product .woocommerce-Tabs-panel,
body.woocommerce-shop .woocommerce-tabs .panel,
body.post-type-archive-product .woocommerce-tabs .panel,
body.tax-product_cat .woocommerce-tabs .panel,
body.tax-product_tag .woocommerce-tabs .panel,
body.single-product .woocommerce-tabs .panel {
  background: transparent !important;
  color: var(--ink) !important;
  border-color: var(--line) !important;
}
body.woocommerce-shop .woocommerce-tabs ul.tabs::before,
body.post-type-archive-product .woocommerce-tabs ul.tabs::before,
body.tax-product_cat .woocommerce-tabs ul.tabs::before,
body.tax-product_tag .woocommerce-tabs ul.tabs::before,
body.single-product .woocommerce-tabs ul.tabs::before,
body.woocommerce-shop .woocommerce-tabs ul.tabs li::before,
body.post-type-archive-product .woocommerce-tabs ul.tabs li::before,
body.tax-product_cat .woocommerce-tabs ul.tabs li::before,
body.tax-product_tag .woocommerce-tabs ul.tabs li::before,
body.single-product .woocommerce-tabs ul.tabs li::before,
body.woocommerce-shop .woocommerce-tabs ul.tabs li::after,
body.post-type-archive-product .woocommerce-tabs ul.tabs li::after,
body.tax-product_cat .woocommerce-tabs ul.tabs li::after,
body.tax-product_tag .woocommerce-tabs ul.tabs li::after,
body.single-product .woocommerce-tabs ul.tabs li::after {
  border-color: var(--line) !important;
  box-shadow: none !important;
}
body.woocommerce-shop table,
body.post-type-archive-product table,
body.tax-product_cat table,
body.tax-product_tag table,
body.single-product table,
body.woocommerce-shop table th,
body.post-type-archive-product table th,
body.tax-product_cat table th,
body.tax-product_tag table th,
body.single-product table th,
body.woocommerce-shop table td,
body.post-type-archive-product table td,
body.tax-product_cat table td,
body.tax-product_tag table td,
body.single-product table td,
body.woocommerce-shop .product_meta,
body.post-type-archive-product .product_meta,
body.tax-product_cat .product_meta,
body.tax-product_tag .product_meta,
body.single-product .product_meta,
body.woocommerce-shop .product_meta a,
body.post-type-archive-product .product_meta a,
body.tax-product_cat .product_meta a,
body.tax-product_tag .product_meta a,
body.single-product .product_meta a {
  color: var(--ink);
  border-color: var(--line);
}
body.woocommerce-shop .woocommerce-product-gallery__image img,
body.post-type-archive-product .woocommerce-product-gallery__image img,
body.tax-product_cat .woocommerce-product-gallery__image img,
body.tax-product_tag .woocommerce-product-gallery__image img,
body.single-product .woocommerce-product-gallery__image img,
body.woocommerce-shop .wp-block-woocommerce-product-image img,
body.post-type-archive-product .wp-block-woocommerce-product-image img,
body.tax-product_cat .wp-block-woocommerce-product-image img,
body.tax-product_tag .wp-block-woocommerce-product-image img,
body.single-product .wp-block-woocommerce-product-image img {
  border-radius: 2px;
}
body.woocommerce-shop .woocommerce-message,
body.post-type-archive-product .woocommerce-message,
body.tax-product_cat .woocommerce-message,
body.tax-product_tag .woocommerce-message,
body.single-product .woocommerce-message,
body.woocommerce-shop .woocommerce-info,
body.post-type-archive-product .woocommerce-info,
body.tax-product_cat .woocommerce-info,
body.tax-product_tag .woocommerce-info,
body.single-product .woocommerce-info,
body.woocommerce-shop .wc-block-components-notice-banner,
body.post-type-archive-product .wc-block-components-notice-banner,
body.tax-product_cat .wc-block-components-notice-banner,
body.tax-product_tag .wc-block-components-notice-banner,
body.single-product .wc-block-components-notice-banner {
  background: var(--card) !important;
  color: var(--ink) !important;
  border-color: var(--line) !important;
}
body.woocommerce-shop .woocommerce-message a,
body.post-type-archive-product .woocommerce-message a,
body.tax-product_cat .woocommerce-message a,
body.tax-product_tag .woocommerce-message a,
body.single-product .woocommerce-message a,
body.woocommerce-shop .woocommerce-info a,
body.post-type-archive-product .woocommerce-info a,
body.tax-product_cat .woocommerce-info a,
body.tax-product_tag .woocommerce-info a,
body.single-product .woocommerce-info a {
  color: var(--amber) !important;
}

@media (max-width: 900px) {
  body.woocommerce-shop .wc-block-product-template,
  body.post-type-archive-product .wc-block-product-template,
  body.tax-product_cat .wc-block-product-template,
  body.tax-product_tag .wc-block-product-template,
  body.single-product .wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 0.8rem !important; }
}
@media (max-width: 600px) {
  body.woocommerce-shop li.wc-block-product,
  body.post-type-archive-product li.wc-block-product,
  body.tax-product_cat li.wc-block-product,
  body.tax-product_tag li.wc-block-product,
  body.single-product li.wc-block-product { padding: 0.6rem; }
  body.woocommerce-shop li.wc-block-product h3,
  body.post-type-archive-product li.wc-block-product h3,
  body.tax-product_cat li.wc-block-product h3,
  body.tax-product_tag li.wc-block-product h3,
  body.single-product li.wc-block-product h3,
  body.woocommerce-shop li.wc-block-product h3 a,
  body.post-type-archive-product li.wc-block-product h3 a,
  body.tax-product_cat li.wc-block-product h3 a,
  body.tax-product_tag li.wc-block-product h3 a,
  body.single-product li.wc-block-product h3 a { font-size: 0.9rem !important; }
  body.woocommerce-shop li.wc-block-product .wp-block-button__link,
  body.post-type-archive-product li.wc-block-product .wp-block-button__link,
  body.tax-product_cat li.wc-block-product .wp-block-button__link,
  body.tax-product_tag li.wc-block-product .wp-block-button__link,
  body.single-product li.wc-block-product .wp-block-button__link { font-size: 0.68rem; padding: 0.55rem 0.4rem; letter-spacing: 0.04em; }
}

/* === Portada: tarjetas del catalogo === */
.hanso-landing .hl-fam-card br { display: none; }
.hanso-landing .hl-fam-card p:empty { display: none; }
.hanso-landing .hl-fam-card .moment { display: block; }
.hanso-landing .hl-fam-card .add_to_cart_inline { border: 0 !important; padding: 0 !important; margin: 0 !important; }
.hanso-landing .hl-fam-card .added_to_cart { display: block; margin-top: 0.5rem; font-size: 0.8rem; color: var(--amber); text-decoration: underline; }
@media (max-width: 540px) {
  .hanso-landing .hl-family-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 0.7rem !important; }
  .hanso-landing .hl-fam-card { padding: 0.6rem !important; }
  .hanso-landing .hl-fam-card img { margin-bottom: 0.5rem; }
  .hanso-landing .hl-fam-card .moment { font-size: 0.64rem; }
  .hanso-landing .hl-fam-card h3 { font-size: 0.9rem !important; margin: 0.2rem 0 !important; line-height: 1.2; }
  .hanso-landing .hl-fam-card .accord { font-size: 0.68rem; line-height: 1.3; }
  .hanso-landing .hl-fam-card .season { font-size: 0.64rem; margin-bottom: 0.25rem; }
  .hanso-landing .hl-fam-card .price { font-size: 0.95rem; margin: 0.25rem 0 0.5rem; }
  .hanso-landing .hl-fam-card .button { padding: 0.5rem 0.3rem; font-size: 0.7rem; letter-spacing: 0.02em; }
}

body.woocommerce-shop main,
body.post-type-archive-product main,
body.tax-product_cat main,
body.tax-product_tag main,
body.single-product main {
  box-sizing: border-box;
  max-width: 1200px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(1rem, 4vw, 2rem) !important;
  padding-right: clamp(1rem, 4vw, 2rem) !important;
}

.hanso-landing .hl-fam-card { display: flex; flex-direction: column; }
.hanso-landing .hl-fam-card .add_to_cart_inline { margin-top: auto !important; }
@media (max-width: 540px) {
  .hanso-landing .hl-fam-card a.button,
  .hanso-landing .hl-fam-card .button.wp-element-button {
    font-size: 0.7rem !important;
    line-height: 1.2 !important;
    padding: 0.6rem 0.2rem !important;
    letter-spacing: 0.02em !important;
    display: block;
    text-align: center;
    white-space: nowrap;
  }
}


/* ===== Colección Hanso: imagen en sección 2 (tarjetas) y sección 6 (confianza) ===== */
.hanso-landing .hl-fam-card .hl-fam-img{width:100%;aspect-ratio:4/5;border-radius:2px;margin-bottom:.9rem;background:#1a1a1d url(https://gestiondocumental.shop/wp-content/uploads/2026/10/hanso-coleccion-perfumes.webp) no-repeat;background-size:200% auto;}
.hanso-landing .hl-fam-card .hl-fam-img--dia{background-position:0% 11.6%;}
.hanso-landing .hl-fam-card .hl-fam-img--noche{background-position:100% 11.6%;}
.hanso-landing .hl-fam-card .hl-fam-img--frutal{background-position:0% 88.4%;}
.hanso-landing .hl-fam-card .hl-fam-img--handy{background-position:100% 88.4%;}
.hanso-landing .hl-offer-collage{margin:1.6rem auto 1.8rem;max-width:340px;}
.hanso-landing .hl-offer-collage img{display:block;width:100%;height:auto;border-radius:4px;border:1px solid var(--line);}
@media (max-width:540px){
  .hanso-landing .hl-offer-collage{max-width:280px;margin:1.3rem auto 1.5rem;}
}
