/* Textil del Hogar: El Muestrario Habitado. Capa final sobre Classic. */
:root {
  --ink:#111111;
  --fg1:#111111;
  --fg2:#373737;
  --fg3:#66645f;
  --line:#d9d8d3;
  --line-dark:#87857f;
  --line-2:#ebeae5;
  --bg1:#ffffff;
  --bg2:#ffffff;
  --bg3:#f4f4f1;
  --bg-cream:#ebeae5;
  --turquoise:#2dbdb7;
  --teal:#2dbdb7;
  --teal-50:#eefafa;
  --teal-100:#c9efed;
  --teal-200:#83dcd8;
  --teal-300:#2dbdb7;
  --teal-400:#2dbdb7;
  --teal-500:#2dbdb7;
  --teal-600:#111111;
  --teal-700:#111111;
  --teal-800:#111111;
  --teal-900:#111111;
  --pink:#f69ba8;
  --coral:#f69ba8;
  --pink-50:#fff1f3;
  --pink-100:#fbd7dd;
  --pink-200:#f9bcc6;
  --pink-300:#f69ba8;
  --pink-400:#f69ba8;
  --pink-500:#f69ba8;
  --pink-600:#111111;
  --pink-700:#111111;
  --sale:#f69ba8;
  --sale-bg:#fff1f3;
  --price:#111111;
  --success:#27ae60;
  --focus:#111111;
  --star:#111111;
  --font-display:'Archivo', sans-serif;
  --font-body:'Figtree', sans-serif;
  --font-script:'Archivo', sans-serif;
  --r-xs:0;
  --r-sm:0;
  --r-md:0;
  --r-lg:0;
  --r-xl:0;
  --r-pill:0;
  --sh-xs:none;
  --sh-sm:none;
  --sh-card:none;
  --sh-lift:0 24px 60px rgba(0,0,0,.16);
  --gutter:clamp(18px,2.35vw,44px);
  --section:clamp(68px,7vw,112px);
  --ease:cubic-bezier(.16,1,.3,1);
}

html { scroll-behavior:smooth; }
body {
  background:#fff;
  color:var(--ink);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.5;
}
body, button, input, select, textarea { font-family:var(--font-body); }
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4 {
  font-family:var(--font-display);
  font-stretch:90%;
  font-weight:700;
  line-height:.98;
  letter-spacing:-.035em;
  text-transform:none;
}
a { color:inherit; }
a:hover { color:inherit; }
::selection { background:var(--turquoise); color:var(--ink); }
:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
.tdh-wrap { width:100%; max-width:none; padding-right:var(--gutter); padding-left:var(--gutter); }
.tdh-eyebrow {
  color:var(--fg3);
  font-family:var(--font-body);
  font-size:11px;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.tdh-skip-link {
  position:fixed;
  top:8px;
  left:8px;
  z-index:1000;
  padding:12px 18px;
  background:var(--ink);
  color:#fff;
  transform:translateY(-150%);
}
.tdh-skip-link:focus { color:#fff; transform:translateY(0); }

/* Header */
#header { box-shadow:none; border-bottom:1px solid var(--line); }
.tdh-promo {
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  min-height:36px;
  padding:6px var(--gutter);
  background:var(--ink);
  color:#fff;
  font-family:var(--font-body);
  font-size:12px;
  font-weight:500;
  letter-spacing:.02em;
  text-align:left;
  text-transform:none;
}
.tdh-promo-message { justify-self:center; }
.tdh-promo a { justify-self:end; color:#fff; }
#header .header-top { background:rgba(255,255,255,.97); backdrop-filter:blur(12px); }
.tdh-header-main { min-height:80px; padding:0; gap:clamp(24px,3vw,58px); }
.tdh-logo { flex:0 0 auto; }
.tdh-logo img { width:clamp(155px,12vw,215px); height:auto; }
.tdh-search-wrap { max-width:520px; }
.tdh-search-wrap form {
  min-height:52px;
  padding:0 16px;
  border:1px solid var(--line-dark,#87857f);
  border-radius:0;
  background:#fff;
}
.tdh-search-wrap form input[type="text"] { font-size:15px; }
.tdh-header-actions { gap:4px; }
.tdh-iconbtn,
.tdh-cart-slot .blockcart .header,
.tdh-cart-slot .blockcart > a,
.tdh-cart-slot .blockcart .header a {
  min-width:64px;
  min-height:54px;
  justify-content:center;
  gap:3px;
  color:var(--ink);
  font-size:10px;
  font-weight:600;
}
.tdh-iconbtn:hover { background:var(--bg3); color:var(--ink); }
.tdh-iconbtn .tdh-ico,
.tdh-cart-slot .blockcart .tdh-ico { color:var(--ink); font-size:22px; }
.tdh-cart-slot .cart-products-count { background:var(--pink); color:var(--ink); }
.tdh-nav { border-top:1px solid var(--line); }
.tdh-nav .tdh-menu { justify-content:center; gap:0 clamp(10px,1.4vw,28px); }
.tdh-nav .tdh-menu > li > a,
.tdh-nav .tdh-menu > li > .tdh-menu-label {
  min-height:48px;
  padding:0 2px;
  border:0;
  color:var(--ink);
  font-family:var(--font-display);
  font-size:13px;
  font-weight:650;
  letter-spacing:.02em;
  text-transform:none;
}
.tdh-nav .tdh-acc-toggle { padding:0 0 0 3px; color:var(--ink); }
.tdh-nav .tdh-menu > li { position:static; }
.tdh-nav .tdh-menu > li:hover > a,
.tdh-nav .tdh-menu > li:focus-within > a,
.tdh-nav .tdh-menu > li.tdh-active > a { border-bottom:3px solid var(--turquoise); }
.tdh-sub {
  left:var(--gutter);
  width:calc(100vw - (var(--gutter) * 2));
  padding:30px;
  border:1px solid var(--ink);
  border-radius:0;
  box-shadow:var(--sh-lift);
}
.tdh-sub > .tdh-sub-item > a { color:var(--ink); }

/* Buttons and fields */
.btn,.btn-primary,.btn-secondary,.btn-ghost,.btn-coral,
.tdh-btn-coral,.tdh-addbtn {
  min-height:52px;
  border-radius:0;
  font-family:var(--font-body);
  font-size:14px;
  font-weight:700;
  letter-spacing:0;
  text-transform:none;
  box-shadow:none;
}
.btn-primary,.btn-primary:focus,.btn-coral,.tdh-btn-coral,.tdh-addbtn {
  border:1px solid var(--ink);
  background:var(--ink);
  color:#fff;
}
.btn-primary:hover,.btn-coral:hover,.tdh-btn-coral:hover,.tdh-addbtn:hover {
  border-color:var(--turquoise);
  background:var(--turquoise);
  color:var(--ink);
}
.form-control,input[type="text"],input[type="email"],input[type="tel"],input[type="password"],select,textarea {
  min-height:52px;
  border:1px solid #87857f;
  border-radius:0;
  background:#fff;
}

/* Home hero */
.tdh-slider { background:var(--bg3); }
.tdh-slider .rslides li.slide { height:min(820px,calc(100svh - 164px)); min-height:620px; }
.tdh-slider .rslides img { object-position:center; }
.tdh-slider .caption,
.homeslider .caption,
.homeslider-container .caption {
  right:auto;
  bottom:clamp(76px,8vw,128px);
  width:min(720px,calc(100% - (var(--gutter) * 2)));
  max-width:none;
  padding:clamp(30px,3.4vw,56px);
  background:var(--ink)!important;
  color:#fff;
}
.tdh-slider .caption .tdh-slide-tag { margin-bottom:14px; background:var(--turquoise); color:var(--ink); }
.tdh-slider .caption h1,
.tdh-slider .caption h2 {
  margin-bottom:18px;
  color:#fff;
  font-size:clamp(58px,6.4vw,108px);
  line-height:.92;
  letter-spacing:-.05em;
}
.tdh-slider .caption .tdh-slide-desc { max-width:540px; margin-bottom:24px; color:#d1d0cb; font-size:clamp(17px,1.2vw,21px); }
.tdh-slider .caption .tdh-slide-cta { border-radius:0; background:#fff; color:var(--ink); text-transform:none; }
.homeslider_nav { width:48px; height:48px; border:1px solid rgba(255,255,255,.75); border-radius:0; background:rgba(17,17,17,.35)!important; }
.homeslider_nav::before { background-color:#fff; }
.tdh-trustbar { grid-template-columns:repeat(3,1fr); border-top:0; border-bottom:1px solid var(--line); }
.tdh-trust { justify-content:center; min-height:94px; padding:18px; border-right:1px solid var(--line); }
.tdh-trust b { font-family:var(--font-body); font-weight:700; }

/* Home categories */
.tdh-section { padding:var(--section) 0; }
.tdh-section h2.tdh-title {
  max-width:1100px;
  margin:18px 0 58px;
  font-size:clamp(58px,7.2vw,120px);
  line-height:.92;
}
.tdh-tiles { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.tdh-tile { display:grid; grid-template-rows:auto auto; border-radius:0; background:#fff; }
.tdh-tile:hover { box-shadow:none; }
.tdh-tile-img { aspect-ratio:4/3; background:#fff; }
.tdh-tile-img img { object-fit:contain; background:#fff; }
.tdh-tile::after { display:none; }
.tdh-tile-foot {
  position:relative;
  inset:auto;
  min-height:164px;
  padding:clamp(24px,2.4vw,42px);
  background:var(--ink);
}
.tdh-tile:nth-child(3n+2) .tdh-tile-foot { background:var(--turquoise); }
.tdh-tile:nth-child(3n) .tdh-tile-foot { background:var(--pink); }
.tdh-tile-foot span { color:#fff; font-size:clamp(36px,3.4vw,60px); line-height:.98; }
.tdh-tile:nth-child(3n+2) .tdh-tile-foot span,
.tdh-tile:nth-child(3n) .tdh-tile-foot span,
.tdh-tile:nth-child(3n+2) .tdh-tile-foot .tdh-ico,
.tdh-tile:nth-child(3n) .tdh-tile-foot .tdh-ico { color:var(--ink); }
.tdh-tile-foot .tdh-ico { width:34px; height:34px; color:#fff; }

/* Product modules and cards */
.tdh-home-hooks { padding-top:0; padding-bottom:var(--section); }
.tdh-home-hooks .featured-products,
.tdh-home-hooks .product-accessories,
.tdh-home-hooks .products-section-title { margin-top:0; }
.tdh-home-hooks .products-section-title {
  margin-bottom:42px;
  font-size:clamp(46px,5.6vw,88px);
  text-align:left;
  text-transform:none;
}
.product-miniature .thumbnail-container {
  border:0;
  border-radius:0;
  background:#fff;
  box-shadow:none;
  overflow:visible;
}
.product-miniature .thumbnail-container:hover { border:0; box-shadow:none; }
.product-miniature .thumbnail.product-thumbnail { aspect-ratio:4/3; overflow:hidden; background:#fff; }
.product-miniature .thumbnail.product-thumbnail img { width:100%; height:100%; object-fit:contain; background:#fff; transition:transform .7s var(--ease); }
.product-miniature:hover .thumbnail.product-thumbnail img { transform:scale(1.025); }
.product-miniature .product-description { padding:16px 0 0; }
.product-miniature .tdh-brand { color:var(--fg3); font-family:var(--font-body); font-size:10px; }
.product-miniature .product-title { min-height:2.7em; margin:5px 0 8px; }
.product-miniature .product-title a { font-family:var(--font-body); font-size:16px; font-weight:500; line-height:1.35; }
.product-miniature .price { font-family:var(--font-body); font-size:19px; font-weight:700; }
.product-miniature .regular-price { font-size:13px; }
.product-miniature .tdh-addform { margin-top:14px; }
.product-miniature .tdh-addbtn { width:100%; }
.product-miniature .product-flag,
.product-miniature .product-flags li.product-flag { padding:8px 11px!important; border-radius:0!important; background:var(--pink)!important; color:var(--ink)!important; }
.product-miniature .product-flag.new,
.product-miniature .product-flags li.product-flag.new,
.product-miniature .product-flags li.product-flag.online-only { background:var(--turquoise)!important; color:var(--ink)!important; }
.tdh-top { border-radius:0; background:var(--turquoise); color:var(--ink); }
.tdh-stepper { border:1px solid var(--ink); border-radius:0; }

/* Editorial and assistance */
.tdh-whatsapp-band { background:var(--pink); color:var(--ink); }
.tdh-whatsapp-band .tdh-wrap { grid-template-columns:1fr 1fr; padding-top:0; padding-bottom:0; }
.tdh-whatsapp-copy { padding:var(--section) 0; }
.tdh-whatsapp-copy h2 { margin-bottom:24px; color:var(--ink); font-size:clamp(52px,6.6vw,108px); }
.tdh-whatsapp-copy p { max-width:650px; color:var(--ink); font-size:20px; }
.tdh-whatsapp-phone { color:var(--ink); }
.tdh-whatsapp-band .tdh-whatsapp-img { min-height:650px; border-radius:0; }
.tdh-brands { padding:0; border-bottom:1px solid var(--line); background:#fff; }
.tdh-brands .tdh-brands-label { padding-top:24px; }
.tdh-brands-list { display:grid; grid-template-columns:repeat(8,1fr); gap:0; }
.tdh-brand-pill { padding:28px 18px; border-top:1px solid var(--line); border-right:1px solid var(--line); font-family:var(--font-display); font-size:clamp(16px,1.5vw,24px); font-weight:650; text-align:center; }
.tdh-seo { padding:var(--section) 0; }
.tdh-seo h2.tdh-title { max-width:1200px; margin-bottom:48px; font-size:clamp(54px,6.8vw,106px); }
.tdh-seo p { font-size:17px; }

/* Category */
.tdh-cat-head { padding-top:clamp(28px,4vw,64px); }
.tdh-cat-title { margin-bottom:16px; font-size:clamp(64px,8.5vw,148px); line-height:.9; }
.tdh-cat-subtitle { margin-bottom:26px; color:var(--fg3); font-size:13px; }
.tdh-cat-hero { background:#fff; }
.tdh-cat-hero img { width:100%; object-fit:cover; }
.tdh-cat-desc { max-width:72ch; margin:24px 0 32px; }
.tdh-cat-desc__text { font-size:17px; line-height:1.5; }
.tdh-cat-desc__toggle { min-height:44px; color:var(--ink); border-bottom:1px solid var(--ink); }
.tdh-cat-subcats { margin:0 0 34px; }
.tdh-cat-subcats__head { margin-bottom:16px; }
.tdh-cat-subcats__head h2 { font-size:28px; }
.tdh-cat-subcats__grid { gap:0; border-top:1px solid var(--ink); border-left:1px solid var(--ink); }
.tdh-cat-subcats__grid > li { border-right:1px solid var(--ink); border-bottom:1px solid var(--ink); }
.tdh-cat-subcat { border:0; border-radius:0; background:#fff; }
.tdh-cat-subcat:hover { background:var(--turquoise); }
.tdh-cat-subcat__image { background:#fff; }
.tdh-cat-subcat__image img { object-fit:contain; background:#fff; }
#search_filters .facet { padding:0 0 20px; border:0; border-top:1px solid var(--line); border-radius:0; background:#fff; box-shadow:none; }
#search_filters .facet .facet-title { min-height:58px; margin:0; padding:20px 0 10px; color:var(--ink); font-family:var(--font-body); font-size:14px; }
#search_filters .custom-checkbox input + span { border-radius:0; }
.tdh-cat-toolbar { min-height:56px; margin-bottom:24px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.products-sort-order .select-title { border:0; border-radius:0; background:#fff; box-shadow:none; }
.tdh-cat-grid-inner,.products.row { grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(32px,3vw,58px) clamp(16px,2vw,34px); }

/* Product */
.tdh-pdp { padding-top:26px; }
.tdh-pdp-cols { grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(42px,5vw,92px); }
.tdh-gal { grid-template-columns:minmax(0,1fr); gap:14px; }
.tdh-gal__stage { grid-column:1; }
.tdh-gal__cover { aspect-ratio:4/3; border-radius:0; background:#fff; }
.tdh-gal__img { object-fit:contain; background:#fff; }
.tdh-gal__thumbs { grid-column:1; grid-row:2; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.tdh-gal__thumb { width:100%; aspect-ratio:4/3; border-radius:0; background:#fff; }
.tdh-gal__thumb img { object-fit:contain; background:#fff; }
.tdh-gal__bought { display:none; }
.tdh-pdp-info { position:sticky; top:112px; }
.tdh-pdp-info .tdh-pdp-title { margin-top:12px; font-size:clamp(42px,4.5vw,72px); line-height:.96; }
.tdh-pdp-rating { color:var(--fg3); }
.tdh-pdp-rating .stars,.tdh-pdp-rating .tdh-stars__glifos { color:var(--ink); }
.tdh-pdp-info .product-prices .current-price,
.tdh-pdp-info .product-prices .price { font-family:var(--font-body); font-size:32px; font-weight:700; }
.tdh-pdp-info .product-prices .discount-percentage,
.tdh-pdp-info .product-prices .discount { border-radius:0; background:var(--pink); color:var(--ink); }
.tdh-pdp-variants .tdh-variant .tdh-variant__select,
.product-variants > .product-variants-item select.tdh-variant__select { min-height:56px; border:1px solid var(--ink); border-radius:0; font-family:var(--font-body); }
.tdh-pdp-stepper { border:1px solid var(--ink); border-radius:0; }
.tdh-pdp-stock { min-height:54px; border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); }
.tdh-pdp-payments { padding:18px 0; border-bottom:1px solid var(--line); color:var(--fg3); }
.tdh-pdp-usps { grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); }
.tdh-pdp-tabs { padding-top:36px; border-top:1px solid var(--line); }
.tdh-pdp-tabs .nav-tabs { border-bottom:1px solid var(--line); }
.tdh-pdp-tabs .nav-link { border-radius:0; }
.tdh-pdp-tabs .tab-content { max-width:900px; }
.tdh-pdp-related { margin-top:32px; padding-top:54px; border-top:1px solid var(--line); }
.tdh-pdp-related-title { font-size:clamp(44px,5vw,76px); }
.tdh-rel-row { border-radius:0; box-shadow:none; }
.tdh-rel-row__img img { object-fit:contain; background:#fff; }

/* Cart, checkout, account and contact */
#cart #wrapper > .container,
#checkout #wrapper > .container,
.page-authentication #wrapper > .container,
.page-registration #wrapper > .container,
.page-contact #wrapper > .container { padding-right:var(--gutter); padding-left:var(--gutter); }
#cart .cart-grid { padding:clamp(46px,6vw,88px) 0 var(--section); }
#cart .cart-grid-body .card,#cart .cart-summary,.checkout-step,#cart-summary {
  border:0;
  border-radius:0;
  box-shadow:none;
}
#cart .cart-grid-body .card { border-top:1px solid var(--ink); }
#cart .cart-grid-body h1 { font-size:clamp(58px,8vw,128px); text-transform:none; }
#cart .cart-summary { position:sticky; top:112px; padding:28px; background:var(--bg3); }
.tdh-cart-usps { border-radius:0; background:var(--pink); }
.tdh-cart-usp { color:var(--ink); }
.tdh-checkout-head { padding:clamp(36px,5vw,72px) 0 42px; }
.tdh-checkout-title { font-size:clamp(58px,8vw,128px); }
.checkout-step { border-top:1px solid var(--ink); border-bottom:1px solid var(--line); margin-bottom:0; }
.checkout-step.-current { border:1px solid var(--ink); }
.checkout-step .step-number { border-radius:0; background:var(--ink); color:#fff; }
.checkout-step.-current .step-number,.checkout-step.-complete .step-number { background:var(--turquoise); color:var(--ink); }
.checkout-step .nav-inline[role="tablist"],.tdh-auth-tabs { border:1px solid var(--line); border-radius:0; background:#fff; }
.checkout-step .nav-inline[role="tablist"] .nav-link,.tdh-auth-tab { border-radius:0; }
.tdh-auth-card { max-width:none; grid-template-columns:1fr 1fr; border:0; border-radius:0; box-shadow:none; }
.tdh-auth-brand { min-height:680px; padding:clamp(52px,7vw,110px); background:var(--turquoise); color:var(--ink); }
.tdh-auth-brand * { color:var(--ink)!important; }
.tdh-auth-claim { font-size:clamp(52px,6vw,96px); }
.tdh-auth-rating { display:none; }
.tdh-auth-form { padding:clamp(52px,7vw,110px); }
.tdh-contact { max-width:none; padding:0 0 var(--section); }
.tdh-contact-hero { padding:var(--section) 0; border-radius:0; background:#fff; text-align:left; }
.tdh-contact-hero::after { display:none; }
.tdh-contact-hero h1 { max-width:1200px; margin:16px 0 28px; font-size:clamp(64px,9vw,150px); }
.tdh-contact-hero p { max-width:700px; margin:0; font-size:20px; }
.tdh-contact-grid { grid-template-columns:1fr 1fr; gap:clamp(50px,7vw,120px); margin:0; }
.tdh-ci-card,.tdh-contact-formwrap form { border:0; border-top:1px solid var(--ink); border-radius:0; box-shadow:none; }
.tdh-contact-formwrap form { padding:30px 0; }
.tdh-ci-wa { border-radius:0; background:var(--pink); color:var(--ink); }

/* Newsletter and footer */
.tdh-newsletter { border:0; background:var(--ink); color:#fff; }
.tdh-newsletter .tdh-nl-inner { display:grid; grid-template-columns:1fr 1fr; gap:80px; padding:var(--section) 0; }
.tdh-newsletter .tdh-eyebrow { color:var(--turquoise); }
.tdh-newsletter h2 { margin:12px 0 18px; color:#fff; font-size:clamp(48px,5.4vw,86px); }
.tdh-newsletter p { color:#bebdb8; font-size:18px; }
.tdh-nl-form { align-self:end; max-width:none; }
.tdh-nl-input { display:grid; grid-template-columns:1fr auto; gap:0; }
.tdh-nl-input .tdh-nl-field { min-height:58px; padding:0 2px; border:0; border-bottom:1px solid #777; border-radius:0; background:transparent; }
.tdh-nl-input .tdh-nl-field input { color:#fff; font-size:20px; }
.tdh-nl-input .tdh-ico { color:var(--turquoise); }
.tdh-nl-input .btn { border-color:#fff; background:#fff; color:var(--ink); }
.footer-container { border-top:1px solid #333; background:var(--ink); }
.footer-container > .tdh-wrap { padding-top:var(--section); padding-bottom:64px; }
.footer-container .tdh-footer-grid { grid-template-columns:1.3fr repeat(4,1fr); gap:clamp(28px,4vw,72px); }
.tdh-footer-brand img { width:min(250px,100%); }
.tdh-footer-desc { margin-top:26px; color:#aaa; }
.tdh-footer-title { color:#fff; font-family:var(--font-body); font-size:11px; letter-spacing:.11em; text-transform:uppercase; }
.tdh-footer-col > a { color:#d5d4cf; font-size:14px; }
.tdh-footer-contact p { margin-top:12px; color:#8f8e8a; font-size:13px; }
.tdh-footer-social a { border-radius:0; }
.tdh-footer-copyright { border-top:1px solid #333; }
.tdh-wa-float { border:1px solid var(--ink); border-radius:0; background:var(--pink); color:var(--ink); box-shadow:none; }
.tdh-wa-float .tdh-ico { color:var(--ink); }

@media (max-width:1180px) {
  .tdh-cat-grid-inner,.products.row { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .footer-container .tdh-footer-grid { grid-template-columns:1.3fr repeat(2,1fr); }
  .tdh-footer-brandcol { grid-row:span 2; }
}

@media (max-width:991px) {
  .tdh-promo { grid-template-columns:1fr auto; }
  .tdh-promo-message { display:none; }
  .header-nav { border-bottom:1px solid var(--line); box-shadow:none; }
  .tdh-search-wrap form { border-color:var(--line); }
  .tdh-slider .rslides li.slide { min-height:620px; }
  .tdh-slider .caption { bottom:54px; }
  .tdh-tiles { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tdh-whatsapp-band .tdh-wrap { grid-template-columns:1fr; }
  .tdh-whatsapp-band .tdh-whatsapp-img { display:none; }
  .tdh-brands-list { grid-template-columns:repeat(4,1fr); }
  .tdh-pdp-cols { grid-template-columns:1fr; }
  .tdh-pdp-info { position:static; }
  .tdh-auth-card,.tdh-contact-grid { grid-template-columns:1fr; }
  .tdh-auth-brand { min-height:520px; }
  .tdh-newsletter .tdh-nl-inner { grid-template-columns:1fr; gap:44px; }
}

@media (max-width:640px) {
  :root { --gutter:18px; --section:76px; }
  .tdh-promo { min-height:32px; font-size:10px; }
  .tdh-slider .rslides li.slide { height:calc(100svh - 128px); min-height:570px; }
  .tdh-slider .caption { right:var(--gutter); bottom:48px; width:auto; padding:26px 24px; }
  .tdh-slider .caption h1,.tdh-slider .caption h2 { font-size:clamp(48px,15vw,70px); }
  .tdh-trustbar { grid-template-columns:1fr; }
  .tdh-trust { justify-content:flex-start; min-height:74px; border-right:0; border-bottom:1px solid var(--line); }
  .tdh-section h2.tdh-title { font-size:52px; }
  .tdh-tiles { grid-template-columns:1fr; }
  .tdh-tile-foot { min-height:138px; }
  .tdh-tile-foot span { font-size:42px; }
  .tdh-home-hooks .products-section-title { font-size:48px; }
  .tdh-home-hooks .products.row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:38px 10px; }
  .product-miniature .product-title a { font-size:14px; }
  .product-miniature .price { font-size:16px; }
  .product-miniature .tdh-addbtn { min-height:44px; padding:10px 6px; font-size:12px; }
  .tdh-whatsapp-copy h2 { font-size:54px; }
  .tdh-brands-list { grid-template-columns:repeat(2,1fr); }
  .tdh-seo h2.tdh-title { font-size:52px; }
  .tdh-seo .tdh-seo-cols { columns:1; }
  .tdh-cat-title { font-size:58px; }
  .tdh-cat-subcats__grid { display:grid; grid-auto-columns:minmax(170px,72vw); grid-auto-flow:column; grid-template-columns:none; overflow-x:auto; }
  .tdh-cat-grid-inner,.products.row { grid-template-columns:repeat(2,minmax(0,1fr)); gap:38px 10px; }
  .tdh-gal__thumbs { display:flex; overflow-x:auto; }
  .tdh-gal__thumb { flex:0 0 44vw; }
  .tdh-pdp-info .tdh-pdp-title { font-size:40px; }
  .tdh-pdp-usps { grid-template-columns:1fr; }
  #cart .cart-grid-body h1,.tdh-checkout-title { font-size:60px; }
  .tdh-auth-brand,.tdh-auth-form { padding:54px 24px; }
  .tdh-auth-claim { font-size:52px; }
  .tdh-contact-hero h1 { font-size:62px; }
  .tdh-nl-input { grid-template-columns:1fr; gap:14px; }
  .tdh-nl-input .btn { width:100%; }
  .footer-container .tdh-footer-grid { grid-template-columns:1fr 1fr; gap:42px 26px; }
  .tdh-footer-brandcol,.tdh-footer-contact { grid-column:1/-1; grid-row:auto; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}

/* ===== Diseño-8 (26-08-2026): social login, cookies y meta de ficha ===== */
.tdh-social-login { margin:0 0 8px; }
.tdh-social-login__hook .btn,
.tdh-social-login__hook button,
.tdh-social-login__hook a {
  display:flex; align-items:center; justify-content:center; gap:14px;
  width:100%; min-height:52px; padding:12px 24px;
  border:1px solid var(--ink); border-radius:0;
  background:#fff; color:var(--ink);
  font-size:17px; font-weight:700; text-decoration:none; cursor:pointer;
  transition:background .25s cubic-bezier(.16,1,.3,1), color .25s cubic-bezier(.16,1,.3,1);
}
.tdh-social-login__hook .btn:hover,
.tdh-social-login__hook button:hover,
.tdh-social-login__hook a:hover { background:var(--ink); color:#fff; }
.tdh-social-login__hook svg, .tdh-social-login__hook img { width:22px; height:22px; flex-shrink:0; }
.tdh-auth-micro { margin:12px 0 0; color:var(--fg3); font-size:12px; }
.tdh-auth-divider { display:flex; align-items:center; gap:16px; margin:26px 0; color:var(--fg3); font-size:13px; }
.tdh-auth-divider::before, .tdh-auth-divider::after { content:''; flex:1; height:1px; background:var(--line); }

.tdh-pdp-meta { margin:10px 0 0; color:var(--fg3); font-size:13px; }

.tdh-cookie-banner {
  position:fixed; z-index:999; right:clamp(16px,2.6vw,32px); bottom:clamp(16px,2.6vw,32px); left:clamp(16px,2.6vw,32px);
  display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px 28px; align-items:center;
  padding:22px 24px; background:var(--ink); color:#fff;
}
.tdh-cookie-banner[hidden] { display:none; }
.tdh-cookie-banner p { margin:0; color:#c9c8c3; font-size:13px; }
.tdh-cookie-banner__actions { display:flex; flex-wrap:wrap; gap:4px 18px; align-items:center; }
.tdh-cookie-accept {
  min-height:48px; padding:12px 24px; border:1px solid #fff; border-radius:0;
  background:#fff; color:var(--ink); font-size:15px; font-weight:700; cursor:pointer;
  transition:background .25s cubic-bezier(.16,1,.3,1);
}
.tdh-cookie-accept:hover { background:var(--turquoise); border-color:var(--turquoise); }
.tdh-cookie-plain {
  padding:12px 2px; border:0; background:none; color:#fff; font-size:14px;
  text-decoration:underline; text-underline-offset:4px; cursor:pointer;
}
@media (max-width:900px) {
  .tdh-cookie-banner { grid-template-columns:1fr; }
}

/* ============================================================
   DISENO-8 (31-08-2026): home, header y footer segun prototipo local.
   Hero full-bleed con degradado, trust strip turquesa, escaparate 3x2, rails de producto,
   split editorial, banda ayuda rosa, marcas, newsletter y footer tinta.
   ============================================================ */

/* --- Promo bar (3 zonas) --- */
.tdh8-promo{
  display:grid; grid-template-columns:1fr auto 1fr; align-items:center;
  min-height:36px; padding:6px var(--gutter);
  background:var(--ink); color:#fff;
  font-family:var(--font-body); font-size:13px; font-weight:400; letter-spacing:.02em; text-transform:none; text-align:left;
}
.tdh8-promo .tdh8-promo-side{ justify-self:start; }
.tdh8-promo .tdh-promo-message{ justify-self:center; }
.tdh8-promo .tdh8-promo-tel{ justify-self:end; color:#fff; text-decoration:none; }
.tdh8-promo .tdh8-promo-tel:hover{ text-decoration:underline; }

/* --- Header: marca | navegacion | acciones --- */
.tdh8-header{ background:rgba(255,255,255,.96); backdrop-filter:saturate(1.2) blur(12px); }
.tdh8-header-main{
  display:grid; grid-template-columns:minmax(150px,.8fr) minmax(0,2.3fr) minmax(280px,.9fr);
  align-items:stretch; min-height:80px; padding:0 var(--gutter); gap:0;
}
.tdh8-logo{ display:flex; align-items:center; }
.tdh8-logo img{ width:clamp(148px,12vw,214px); height:auto; }

@media (min-width:1181px){
  #header .tdh8-nav{ display:flex; align-items:stretch; padding:0; }
  #header .tdh8-nav #_desktop_top_menu{ display:flex; align-items:stretch; width:100%; margin:0; padding:0; }
  #header .tdh8-nav .tdh-menu{ flex:1; height:auto; flex-wrap:nowrap; }
}

/* Nav desktop: seis disclosures y megamenú compacto a ancho completo */
.tdh8-header{ position:relative; }
.tdh8-nav{ border-top:0; background:transparent; }
.tdh8-nav .tdh-menu{ height:100%; align-items:stretch; justify-content:center; gap:0 clamp(14px,1.5vw,30px); }
.tdh8-nav .tdh-menu > .tdh-menu-item{ display:flex !important; align-items:stretch; position:static; }
.tdh8-nav .tdh-menu-trigger{
  position:relative; display:flex; align-items:center; justify-content:center; gap:5px;
  min-height:80px; padding:0; border:0; background:transparent; color:var(--ink);
  font-family:var(--font-display); font-size:clamp(14px,1.15vw,18px); font-weight:650;
  letter-spacing:.01em; line-height:1.1; white-space:nowrap; cursor:pointer;
}
.tdh8-nav .tdh-menu-trigger::after{
  content:""; position:absolute; right:0; bottom:0; left:0; height:3px;
  background:var(--turquoise); transform:scaleX(0); transform-origin:right;
  transition:transform .3s var(--ease);
}
.tdh8-nav .tdh-menu-item.is-open > .tdh-menu-trigger::after,
.tdh8-nav .tdh-menu-item.is-current > .tdh-menu-trigger::after{ transform:scaleX(1); transform-origin:left; }
.tdh8-nav .tdh-menu-caret{ transition:transform .2s var(--ease); }
.tdh8-nav .tdh-menu-item.is-open > .tdh-menu-trigger .tdh-menu-caret{ transform:rotate(180deg); }
.tdh8-nav .tdh-menu-trigger:focus,
.tdh8-nav .tdh-sub a:focus,
.tdh-burger:focus,
.tdh8-mobile-menu button:focus,
.tdh8-mobile-menu a:focus{ outline:none; }
.tdh8-nav .tdh-menu-trigger:focus-visible::after{ transform:scaleX(1); transform-origin:left; }
.tdh8-nav .tdh-sub a:focus-visible,
.tdh-burger:focus-visible,
.tdh8-mobile-menu button:focus-visible,
.tdh8-mobile-menu a:focus-visible{
  background:var(--teal-50);
  box-shadow:inset 0 -3px 0 var(--turquoise);
}
.tdh8-nav .tdh-sub[hidden],
#mobile_top_menu_wrapper .tdh-sub[hidden]{ display:none !important; }
.tdh8-nav .tdh-sub{
  position:absolute; z-index:80; top:100%; left:0; display:block; width:100%; max-height:min(470px,calc(100vh - 170px));
  margin:0; padding:clamp(18px,2vw,28px) var(--gutter); overflow-y:auto; opacity:1; visibility:visible; transform:none;
  border:0; border-top:1px solid var(--line); border-bottom:1px solid var(--ink); border-radius:0; background:#fff; box-shadow:0 20px 34px rgba(17,17,17,.12);
}
.tdh-menu-panel-layout{ display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,310px); gap:clamp(28px,4vw,68px); max-width:1440px; margin:0 auto; }
.tdh-menu-panel-main{ min-width:0; }
.tdh-menu-all{
  display:inline-flex; align-items:center; gap:12px; min-height:44px; margin-bottom:10px;
  color:var(--ink); font-family:var(--font-display); font-size:16px; font-weight:700; text-decoration:none;
}
.tdh-menu-all:hover{ color:var(--ink); text-decoration:underline; text-underline-offset:4px; }
.tdh-mega-links{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 clamp(24px,3.2vw,54px); margin:0; padding:0; list-style:none; }
.tdh-mega-item{ min-width:0; border-top:1px solid var(--line); }
.tdh-mega-link{
  display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:48px; padding:9px 0;
  color:var(--ink); font-size:14px; font-weight:600; line-height:1.3; text-decoration:none;
}
.tdh-mega-link:hover{ color:var(--ink); text-decoration:none; }
.tdh-mega-arrow{ flex:0 0 auto; transition:transform .2s var(--ease); }
.tdh-mega-link:hover .tdh-mega-arrow,
.tdh-mega-link:focus-visible .tdh-mega-arrow{ transform:translateX(5px); }
.tdh-mega-item.is-current .tdh-mega-link{ font-weight:750; }
.tdh-menu-help{ align-self:start; padding:clamp(18px,1.7vw,26px); background:var(--turquoise); color:var(--ink); }
.tdh-menu-help strong{ display:block; margin-bottom:8px; font-family:var(--font-display); font-size:clamp(19px,1.5vw,24px); font-weight:650; line-height:1.1; letter-spacing:-.02em; }
.tdh-menu-help p{ margin:0 0 12px; color:var(--ink); font-size:13px; }
.tdh-menu-help a{ display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; border-top:1px solid rgba(17,17,17,.3); color:var(--ink); font-size:13px; font-weight:700; text-decoration:none; }
.tdh-menu-help a:hover{ color:var(--ink); text-decoration:none; }
.tdh-menu-help a .tdh-ico{ flex:0 0 auto; font-size:16px; }

/* Acciones: icono sobre etiqueta */
.tdh8-actions{ display:flex; justify-content:flex-end; align-items:stretch; gap:2px; margin-left:0; }
.tdh8-action{
  position:relative; display:grid; place-items:center; align-content:center; gap:3px;
  min-width:62px; min-height:56px; padding:5px 7px; border:0; background:transparent;
  color:var(--ink); font-family:var(--font-body); font-size:14px; font-weight:600; cursor:pointer; text-decoration:none;
}
.tdh8-action:hover{ background:var(--bg3); color:var(--ink); text-decoration:none; }
.tdh8-action .tdh-ico{ font-size:25px; width:25px; height:25px; color:var(--ink); }
.tdh8-action span{ display:block; line-height:1.2; }

/* Cesta dentro de acciones */
.tdh8-action.tdh8-cartslot{ padding:0; }
.tdh8-cartslot .blockcart{ background:none; padding:0; margin:0; }
.tdh8-cartslot .blockcart .header a,
.tdh8-cartslot .tdh8-cart-link{
  display:grid; place-items:center; align-content:center; gap:3px;
  min-width:62px; min-height:56px; padding:5px 7px;
  color:var(--ink) !important; font-family:var(--font-body); font-size:14px; font-weight:600; text-decoration:none;
}
.tdh8-cartslot .tdh8-cart-link .tdh-ico{ font-size:25px; width:25px; height:25px; color:var(--ink); }
.tdh8-cartslot .blockcart:hover{ background:var(--bg3); }
.tdh8-cartslot .tdh8-cart-count{
  position:absolute; top:3px; right:8px; min-width:19px; height:19px; padding:0 5px;
  border-radius:50%; background:var(--pink); color:var(--ink);
  font-family:var(--font-body); font-size:10px; font-weight:700; line-height:19px; text-align:center;
}
.tdh8-cartslot .tdh8-cart.inactive .tdh8-cart-count{ display:none; }

/* --- Capa de búsqueda: formulario nativo y resultados reales de JoliSearch. --- */
.tdh8-searchlayer{
  position:fixed; z-index:110; inset:0; display:flex; align-items:flex-start;
  background:rgba(28,28,26,.48); opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .2s ease, visibility 0s .2s;
}
.tdh8-searchlayer.is-open{ opacity:1; visibility:visible; pointer-events:auto; transition-delay:0s; }
body.tdh8-layer-open{ overflow:hidden; }
.tdh8-searchpanel{
  width:100%; max-height:100dvh; overflow-y:auto; padding:clamp(20px,3vw,42px) var(--gutter) clamp(22px,3vw,38px);
  background:#fff; box-shadow:0 20px 48px rgba(28,28,26,.18);
}
.tdh8-searchlayer-top,
.tdh8-searchform{ width:min(100%,960px); margin-right:auto; margin-left:auto; }
.tdh8-searchlayer-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:22px; }
.tdh8-search-title{ max-width:20ch; margin:0; color:var(--ink); font-size:clamp(28px,3vw,42px); font-weight:700; line-height:1.1; }
.tdh8-searchclose{ display:grid; place-items:center; flex:none; width:48px; height:48px; padding:0; border:1px solid var(--line); background:#fff; color:var(--ink); cursor:pointer; }
.tdh8-searchclose:hover{ background:var(--bg3); }
.tdh8-searchclose .tdh-ico{ font-size:22px; }
.tdh8-searchform-label{ margin:0 0 8px; color:var(--fg2); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.tdh8-searchform #search_widget,
.tdh8-searchform .search-widgets{ width:100% !important; max-width:none !important; float:none !important; margin:0 !important; }
.tdh8-searchform #search_widget form{
  display:flex !important; align-items:center; gap:12px; width:100%; min-height:64px; margin:0; padding:7px 8px 7px 18px;
  border:1px solid var(--line); border-radius:2px; background:#fff;
}
.tdh8-searchform #search_widget form:focus-within{
  border-color:var(--line-dark);
  box-shadow:inset 0 -3px 0 var(--turquoise);
}
.tdh8-searchform #search_widget form svg.search{ flex:none; width:22px; height:22px; color:var(--fg2); }
.tdh8-search-input-label{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.tdh8-searchform #search_widget form input[type="text"]{
  flex:1 1 auto; min-width:0; height:48px; margin:0; padding:0 !important; border:0 !important; outline:0 !important;
  box-shadow:none !important; background:transparent !important; color:var(--ink);
  font-family:var(--font-body); font-size:20px; line-height:1.3;
}
.tdh8-searchform #search_widget form input::placeholder{ color:var(--fg2); opacity:1; }
.tdh8-search-clear,
.tdh8-search-submit{ display:inline-flex; align-items:center; justify-content:center; flex:none; min-height:48px; border:0; border-radius:2px; cursor:pointer; }
.tdh8-search-clear{ width:48px; padding:0; background:transparent; color:var(--fg2); }
.tdh8-search-clear:hover{ background:var(--bg3); color:var(--ink); }
.tdh8-search-clear[hidden],
.tdh8-searcherror[hidden]{ display:none !important; }
.tdh8-search-clear .tdh-ico{ font-size:20px; }
.tdh8-search-submit{ gap:10px; min-width:124px; padding:0 18px; background:var(--ink); color:#fff; font-size:16px; font-weight:700; }
.tdh8-search-submit:hover{ background:var(--teal-800); color:#fff; }
.tdh8-search-submit .tdh-ico{ font-size:18px; }
.tdh8-searchhint{ margin:12px 0 0; color:var(--fg2); font-size:14px; }
.tdh8-searcherror{ margin:8px 0 0; color:#9E3B32; font-size:14px; font-weight:700; }
.tdh8-searchform #search_widget form input:focus{ outline:none !important; }
.tdh8-searchclose:focus,
.tdh8-search-clear:focus,
.tdh8-search-submit:focus{ outline:none; }
.tdh8-searchclose:focus-visible,
.tdh8-search-clear:focus-visible,
.tdh8-search-submit:focus-visible{ box-shadow:inset 0 -3px 0 var(--turquoise); }

/* El módulo añade su menú en .tdh8-searchform. Lo mostramos debajo del campo,
   dentro del diálogo, con altura acotada y filas legibles. */
.tdh8-searchform .ui-jolisearch.ui-menu{
  position:static !important; top:auto !important; left:auto !important; transform:none !important;
  display:flex !important; flex-wrap:wrap; width:100% !important; max-width:none !important;
  max-height:min(48dvh,430px); margin:10px 0 0 !important; padding:8px 12px !important; overflow-y:auto;
  border:1px solid var(--line) !important; border-radius:2px !important; background:#fff; box-shadow:var(--sh-card);
}
.tdh8-searchform .ui-jolisearch.ui-menu[style*="display: none"]{ display:none !important; }
.tdh8-searchform .ui-jolisearch .separator{ display:none; }
.tdh8-searchform .ui-jolisearch.ui-menu .jolisearch-container{
  flex:0 0 100%; width:100% !important; padding:13px 6px 5px !important; margin:0;
  border-bottom:1px solid var(--line);
}
.tdh8-searchform .ui-jolisearch .jolisearch-title{
  position:static; width:auto; margin:0; padding:0; background:transparent; color:var(--ink);
  box-shadow:none; text-shadow:none; font-size:12px; font-weight:700; letter-spacing:.06em;
}
.tdh8-searchform .ui-jolisearch .jolisearch-title::after{ display:none; }
.tdh8-searchform .ui-jolisearch.ui-menu .ui-menu-item:not(.jolisearch-container){
  flex:0 0 50%; width:50% !important; padding:0 6px !important; margin:0;
}
.tdh8-searchform .ui-jolisearch.ui-menu .ui-menu-item a{
  display:flex; align-items:center; gap:10px; min-height:62px; padding:8px 4px;
  border:0; border-bottom:1px solid var(--line-2); color:var(--ink); text-align:left;
}
.tdh8-searchform .ui-jolisearch.ui-menu .ui-menu-item a:hover,
.tdh8-searchform .ui-jolisearch.ui-menu .ui-menu-item a.ui-state-focus{ background:var(--bg3) !important; color:var(--ink); }
.tdh8-searchform .ui-jolisearch .jolisearch-image{ flex:none; width:52px; height:52px; object-fit:cover; }
.tdh8-searchform .ui-jolisearch .category .jolisearch-image,
.tdh8-searchform .ui-jolisearch .manufacturer .jolisearch-image{ display:none; }
.tdh8-searchform .ui-jolisearch .jolisearch-description,
.tdh8-searchform .ui-jolisearch .jolisearch-description.category,
.tdh8-searchform .ui-jolisearch .jolisearch-description.manufacturer{ flex:1; height:auto; min-width:0; margin:0; padding:0; }
.tdh8-searchform .ui-jolisearch .jolisearch-name{ color:var(--ink); font-size:14px; font-weight:600; line-height:1.3; }
.tdh8-searchform .ui-jolisearch .jolisearch-results{ color:var(--fg2); font-size:12px; font-style:normal; }
@media (max-width:640px){
  .tdh8-searchpanel{ padding:18px var(--gutter) 24px; }
  .tdh8-searchlayer-top{ margin-bottom:18px; }
  .tdh8-searchlayer h2{ font-size:28px; }
  .tdh8-searchform #search_widget form{
    display:grid !important; grid-template-columns:22px minmax(0,1fr) 44px; gap:8px; min-height:0; padding:10px;
  }
  .tdh8-searchform #search_widget form svg.search{ grid-column:1; }
  .tdh8-searchform #search_widget form input[type="text"]{ grid-column:2; width:100%; height:44px; font-size:16px; }
  .tdh8-search-clear{ grid-column:3; width:44px; min-height:44px; }
  .tdh8-search-submit{ grid-column:1 / -1; width:100%; min-height:48px; }
  .tdh8-searchform .ui-jolisearch.ui-menu{ max-height:calc(100dvh - 240px); }
  .tdh8-searchform .ui-jolisearch.ui-menu .ui-menu-item:not(.jolisearch-container){ flex-basis:100%; width:100% !important; }
}
@media (prefers-reduced-motion:reduce){ .tdh8-searchlayer{ transition:none; } }

/* --- Hero full-bleed con degradado, fiel al prototipo local --- */
body.page-index #wrapper{ padding-top:0 !important; }
.tdh8-hero{ position:relative; min-height:min(840px,calc(100svh - 120px)); overflow:hidden; background:var(--bg-cream); }
.tdh8-hero-slide{ position:absolute; inset:0; display:block; visibility:hidden; transition:visibility 0s .8s; }
.tdh8-hero-slide.is-active{ visibility:visible; z-index:1; transition-delay:0s; }
.tdh8-hero-slide::after{
  content:""; position:absolute; z-index:1; inset:0; pointer-events:none;
  background:linear-gradient(90deg,rgba(17,17,17,.84) 0%,rgba(17,17,17,.58) 34%,rgba(17,17,17,.14) 62%,rgba(17,17,17,.03) 100%);
}
.tdh8-hero-slide:first-of-type::after{
  background:linear-gradient(90deg,rgba(8,8,8,.94) 0%,rgba(8,8,8,.84) 30%,rgba(8,8,8,.38) 56%,rgba(8,8,8,.04) 82%);
}
.tdh8-hero-media{ position:absolute; inset:0; min-width:0; overflow:hidden; }
.tdh8-hero-img{ width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.025); transition:opacity .8s ease, transform 7s var(--ease); }
.tdh8-hero-slide.is-active .tdh8-hero-img{ opacity:1; transform:scale(1); }
.tdh8-hero-slide:not(.is-active) .tdh8-hero-content{ visibility:hidden; }
.tdh8-hero-content{
  position:absolute; z-index:2; inset:0 auto 0 0; display:flex; flex-direction:column; justify-content:center;
  width:min(42vw,660px); min-width:0;
  padding:clamp(48px,6vw,96px) clamp(32px,5vw,88px) 112px var(--gutter); background:transparent; color:#fff;
}
.tdh8-hero-content h1, .tdh8-hero-content h2{ margin:0 0 18px; color:#fff; font-size:clamp(44px,4.2vw,72px); line-height:.95; letter-spacing:-.045em; }
.tdh8-hero-content p{ max-width:38ch; margin:0 0 28px; color:rgba(255,255,255,.88); font-size:clamp(16px,1.15vw,19px); }
.tdh8-hero-slide:first-of-type .tdh8-hero-content p{ color:#fff; }
.tdh8-hero-description{ position:relative; z-index:2; pointer-events:none; }
.tdh8-hero-description .tdh-slide-cta{
  display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:14px 24px;
  border:1px solid #fff; background:#fff; color:var(--ink); font-size:17px; font-weight:700;
}
.tdh8-hero-hitarea{ position:absolute; z-index:1; inset:0; }
.tdh8-hero-hitarea:focus-visible{ outline:3px solid var(--turquoise); outline-offset:-7px; }
.tdh8-hero-controls{ position:absolute; z-index:5; right:var(--gutter); bottom:38px; display:flex; align-items:center; gap:7px; }
.tdh8-hero-controls button{
  display:grid; place-items:center; width:48px; height:48px; padding:0;
  border:1px solid rgba(255,255,255,.7); background:rgba(17,17,17,.2); color:#fff; cursor:pointer;
}
.tdh8-hero-controls button:hover{ background:#fff; color:var(--ink); }
.tdh8-hero-controls button:disabled{ opacity:.45; cursor:not-allowed; }
.tdh8-hero-controls .tdh-ico{ width:22px; height:22px; }
.tdh8-hero-controls .tdh-ico[hidden]{ display:none; }
.tdh8-hero-dots{ position:absolute; z-index:5; left:var(--gutter); bottom:15px; display:flex; gap:0; }
.tdh8-hero-dots button{ position:relative; width:44px; height:44px; padding:0; border:0; background:transparent; cursor:pointer; }
.tdh8-hero-dots button::before{ content:""; position:absolute; left:5px; right:5px; top:20px; height:4px; background:rgba(255,255,255,.4); }
.tdh8-hero-dots button:hover::before,
.tdh8-hero-dots button.is-active::before{ background:#fff; }
.tdh8-hero-progress{ position:absolute; z-index:5; inset:auto 0 0; height:4px; background:rgba(255,255,255,.2); }
.tdh8-hero-progress span{ display:block; width:100%; height:100%; background:var(--turquoise); transform:scaleX(.5); transform-origin:left; transition:transform .7s var(--ease); }

@media (min-width:901px){
  .tdh8-hero-controls{ right:calc(var(--gutter) + 72px); }
}

/* Botones y enlaces del prototipo */
.tdh8-btn{ display:inline-flex; align-items:center; justify-content:center; gap:18px; min-height:52px; width:fit-content; padding:14px 24px; border:1px solid var(--ink); background:var(--ink); color:#fff; font-size:17px; font-weight:700; text-decoration:none; }
.tdh8-btn:hover{ background:var(--turquoise); border-color:var(--turquoise); color:var(--ink); text-decoration:none; }
.tdh8-btn--light{ border-color:#fff; background:#fff; color:var(--ink); }
.tdh8-btn--light:hover{ border-color:var(--turquoise); background:var(--turquoise); color:var(--ink); }
.tdh8-link{ display:inline-flex; align-items:center; gap:10px; min-height:42px; border:0; border-bottom:1px solid currentColor; background:transparent; color:var(--ink); font-size:17px; font-weight:700; text-decoration:none; }
.tdh8-link .tdh-ico{ width:22px; height:22px; transition:transform .35s var(--ease); }
.tdh8-link:hover{ color:var(--ink); text-decoration:none; }
.tdh8-link:hover .tdh-ico{ transform:translateX(7px); }

/* --- Trust strip turquesa --- */
.tdh8-trust{ display:grid; grid-template-columns:repeat(4,1fr); background:var(--turquoise); }
.tdh8-trust-item{ display:flex; align-items:center; justify-content:center; gap:16px; min-height:96px; padding:20px clamp(14px,1.6vw,32px); border-right:1px solid rgba(17,17,17,.18); }
.tdh8-trust-item:last-child{ border-right:0; }
.tdh8-trust-item .tdh-ico{ flex:0 0 auto; width:28px; height:28px; font-size:28px; color:var(--ink); }
.tdh8-trust-item p{ margin:0; color:var(--ink); font-weight:700; }
.tdh8-trust-item span{ display:block; margin-top:1px; color:var(--ink); font-size:13px; font-weight:400; }

/* --- Encabezados de seccion --- */
.tdh8-section{ padding:var(--section) var(--gutter); }
.tdh8-section--mist{ background:var(--bg3); }
.tdh8-heading{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:end; gap:50px; margin-bottom:clamp(38px,5vw,78px); }
.tdh8-heading h2{ max-width:1180px; margin:0; font-size:clamp(38px,4.8vw,80px); }
.tdh8-heading-aside{ justify-self:end; max-width:430px; }
.tdh8-heading-aside p{ margin:0 0 22px; font-size:18px; }

/* --- Escaparate de categorias 3x2 --- */
.tdh8-tiles{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.tdh8-tile{ display:grid; grid-template-rows:auto auto; min-height:0; overflow:hidden; background:var(--bg-cream); text-decoration:none; }
.tdh8-tile:hover{ text-decoration:none; }
.tdh8-tile img{ width:100%; height:auto; aspect-ratio:4/3; object-fit:contain; background:#fff; display:block; }
.tdh8-tile-content{ position:relative; min-height:166px; padding:clamp(24px,2.5vw,42px); background:var(--ink); color:#fff; }
.tdh8-tile:nth-child(3n+2) .tdh8-tile-content{ background:var(--turquoise); color:var(--ink); }
.tdh8-tile:nth-child(3n) .tdh8-tile-content{ background:var(--pink); color:var(--ink); }
.tdh8-tile-content h3{ margin:0 0 8px; color:#fff; font-size:clamp(27px,2.8vw,46px); }
.tdh8-tile-content h4{ color:#fff; }
.tdh8-tile-content p{ margin:0; color:#fff; font-size:17px; }
.tdh8-tile:nth-child(3n+2) .tdh8-tile-content h3,
.tdh8-tile:nth-child(3n+2) .tdh8-tile-content h4,
.tdh8-tile:nth-child(3n) .tdh8-tile-content h3,
.tdh8-tile:nth-child(3n) .tdh8-tile-content h4,
.tdh8-tile:nth-child(3n+2) .tdh8-tile-content p,
.tdh8-tile:nth-child(3n) .tdh8-tile-content p{ color:var(--ink); }
.tdh8-tile-content .tdh-ico{ position:absolute; right:clamp(24px,2.5vw,42px); bottom:clamp(28px,2.8vw,46px); width:36px; height:36px; font-size:36px; }

/* --- Rails de producto --- */
.tdh8-rail .products{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(18px,2vw,34px); margin:0; }
.tdh8-rail .products > *{ width:auto !important; max-width:none !important; flex:none !important; padding:0 !important; margin:0 !important; min-width:0; }
.tdh8-home .tdh8-rail .product-miniature,
.tdh8-home .tdh8-rail .product-miniature .thumbnail-container{ height:100% !important; }
.tdh8-section.featured-products{ margin-top:0; }
.tdh8-section .products-section-title{ display:none; }
.tdh8-home .product-miniature .product-title a{ font-size:18px; font-weight:650; line-height:1.25; }
.tdh8-home .product-miniature .price{ font-size:24px; font-weight:700; font-variant-numeric:tabular-nums; }
.tdh8-home .product-miniature .regular-price{ font-size:15px; }
.tdh8-home .product-miniature .tdh-addbtn{ min-height:48px; font-size:17px; }

/* --- Split editorial --- */
.tdh8-editorial{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); min-height:760px; }
.tdh8-editorial-media{ min-height:600px; overflow:hidden; }
.tdh8-editorial-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.tdh8-editorial-copy{ display:flex; flex-direction:column; justify-content:space-between; gap:40px; padding:clamp(48px,6vw,108px) var(--gutter); background:var(--turquoise); }
.tdh8-editorial-copy h2{ margin:0 0 36px; color:var(--ink); font-size:clamp(36px,4.1vw,68px); }
.tdh8-editorial-copy p{ max-width:580px; margin:0; color:var(--ink); font-size:clamp(18px,1.55vw,25px); }
.tdh8-editorial-copy .tdh8-link{ color:var(--ink); }
.tdh8-fabric{ display:flex; overflow:hidden; border-top:1px solid rgba(17,17,17,.25); color:var(--ink); }
.tdh8-fabric span{ flex:none; padding:22px 38px 0 0; font-family:var(--font-display); font-size:13px; font-weight:700; text-transform:uppercase; }

/* --- Banda de ayuda rosa --- */
.tdh8-help{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:end; gap:60px; padding:var(--section) var(--gutter); background:var(--pink); }
.tdh8-help h2{ max-width:1000px; margin:0 0 24px; color:var(--ink); font-size:clamp(34px,4.7vw,76px); }
.tdh8-help p{ max-width:690px; margin:0; color:var(--ink); font-size:20px; }
.tdh8-help-actions{ display:flex; flex-direction:column; align-items:flex-start; gap:14px; }
.tdh8-help-actions .tdh8-link{ color:var(--ink); }

/* --- Tira de marcas --- */
.tdh8-brands{ display:flex; gap:0; overflow:hidden; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.tdh8-brands a{ flex:1 0 auto; padding:28px clamp(24px,3vw,58px); border-right:1px solid var(--line); color:var(--ink); font-family:var(--font-display); font-size:clamp(18px,2vw,29px); font-weight:650; text-align:center; text-decoration:none; }
.tdh8-brands a:hover{ background:var(--turquoise); color:var(--ink); text-decoration:none; }
.tdh8-brands a:last-child{ border-right:0; }

/* --- Newsletter tinta --- */
.tdh8-newsletter.block_newsletter{ width:100% !important; max-width:none !important; margin:0 !important; }
.tdh8-newsletter{ display:grid; grid-template-columns:1fr 1fr; gap:80px; padding:clamp(60px,7vw,112px) var(--gutter); background:var(--ink); color:#fff; }
.tdh8-newsletter h2{ margin:0 0 18px; color:#fff; font-size:clamp(33px,3.4vw,56px); }
.tdh8-newsletter p{ max-width:560px; margin:0; color:#bebdb8; font-size:18px; }
.tdh8-newsletter form{ align-self:end; }
.tdh8-newsletter-row{ display:grid; grid-template-columns:1fr auto; align-items:end; gap:24px; }
.tdh8-newsletter input[type="email"]{
  min-width:0; min-height:0; padding:17px 2px; border:0; border-bottom:1px solid #777; border-radius:0;
  outline:0; background:transparent; color:#fff; font-size:21px;
}
.tdh8-newsletter input[type="email"]:focus-visible{ outline:2px solid #fff; outline-offset:4px; }
.tdh8-newsletter input::placeholder{ color:#aaa; }
.tdh8-newsletter-submit{
  display:inline-flex; align-items:center; gap:18px; min-height:42px; padding:0 0 2px;
  border:0; border-bottom:1px solid currentColor; background:transparent; color:#fff;
  font-family:var(--font-body); font-size:17px; font-weight:700; cursor:pointer; white-space:nowrap;
}
.tdh8-newsletter-submit .tdh-ico{ width:22px; height:22px; transition:transform .35s var(--ease); }
.tdh8-newsletter-submit:hover{ color:#fff; }
.tdh8-newsletter-submit:hover .tdh-ico{ transform:translateX(7px); }
.tdh8-newsletter-legal{ grid-column:1/-1; margin:18px 0 0; color:#aaa !important; font-size:13px !important; max-width:none !important; }
.tdh8-newsletter .psgdpr_consent_message, .tdh8-newsletter label, .tdh8-newsletter .custom-control-label{ color:#aaa; font-size:13px; }

/* --- Footer tinta 5 columnas --- */
.tdh8-footer{ border-top:1px solid #333; background:var(--ink); }
.tdh8-footer-grid{ display:grid; grid-template-columns:minmax(0,1.4fr) repeat(4,minmax(0,1fr)); gap:clamp(30px,4vw,76px); padding:clamp(60px,7vw,110px) var(--gutter) 28px; }
.tdh8-footer-linkblocks{ display:contents; }
.tdh8-footer-brand img{ width:min(260px,100%); height:auto; }
.tdh8-footer-brand p{ max-width:310px; margin:28px 0 0; color:#aaa; }
.tdh8-footer-social{ display:flex; gap:6px; margin-top:22px; }
.tdh8-footer-social a{ display:grid; place-items:center; width:44px; height:44px; border:1px solid #333; border-radius:0; color:#d5d4cf; }
.tdh8-footer-social a:hover{ color:var(--turquoise); border-color:var(--turquoise); }
.tdh8-footer-social .tdh-ico{ font-size:20px; width:20px; height:20px; }
.tdh8-footer h3{ margin:0 0 20px; color:#fff; font-family:var(--font-body); font-size:14px; font-weight:750; line-height:1.35; letter-spacing:.01em; text-transform:none; text-wrap:balance; }
.tdh8-footer-col{ display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.tdh8-footer-col a{ display:block; min-height:30px; padding:4px 0; color:#d5d4cf; font-size:15px; line-height:1.45; text-decoration:none; transition:color .2s ease,text-decoration-color .2s ease; }
.tdh8-footer-linkblocks .tdh8-footer-col a{ text-transform:lowercase; }
.tdh8-footer-linkblocks .tdh8-footer-col a::first-letter{ text-transform:uppercase; }
.tdh8-footer-col a:hover{ color:#fff; text-decoration:underline; text-decoration-color:currentColor; text-underline-offset:3px; }
.tdh8-footer-col a:focus-visible,
.tdh8-footer-legal a:focus-visible,
.tdh8-footer-social a:focus-visible{ outline:2px solid var(--turquoise); outline-offset:4px; color:#fff; }
.tdh8-footer-contact p{ margin:12px 0 0; color:#8f8e8a; font-size:13px; }
.tdh8-footer-bottom{
  display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:10px 24px;
  margin:0 var(--gutter); padding:24px 0 28px; border-top:1px solid #333;
  color:#aaa; font-size:12px; line-height:1.5; text-transform:none; letter-spacing:0;
}
.tdh8-footer-legal{ display:flex; flex-wrap:wrap; gap:6px 18px; padding-right:72px; }
.tdh8-footer-legal a{ min-height:30px; color:#c2c0bb; text-decoration:none; }
.tdh8-footer-legal a:hover{ color:#d5d4cf; text-decoration:underline; text-decoration-color:currentColor; }

/* --- Barra movil del prototipo --- */
.tdh8-mobilenav{ border-bottom:1px solid var(--line); }
.tdh8-mobilenav-row{ display:grid; grid-template-columns:48px 1fr auto; align-items:center; gap:4px; min-height:64px; padding:4px 8px; }
.tdh8-mobilelogo{ justify-self:center; }
.tdh8-mobilelogo img{ max-height:40px; width:auto; }
.tdh8-mobileactions{ display:flex; align-items:center; gap:0; }
.tdh8-mobaction{ display:grid; place-items:center; width:48px; height:48px; border:0; background:transparent; color:var(--ink); }
.tdh8-mobaction .tdh-ico{ font-size:24px; }
#header .tdh8-mobilecart .blockcart{ background:none; height:auto; padding:0; margin:0; }
.tdh8-mobilecart .tdh8-cart-link{ display:flex; align-items:center; justify-content:center; min-width:48px; min-height:48px; padding:4px; }
.tdh8-mobileuser{ display:none; }

/* Cajón móvil/tableta. El UL de ps_mainmenu se mueve aquí sin clonarlo. */
.tdh8-mobile-menu,
.tdh8-mobile-menu-scrim{ display:none; }

/* --- Responsive Diseno-8 --- */
@media (max-width:1180px){
  .tdh8-header-main{ grid-template-columns:auto 1fr auto; min-height:72px; }
  .tdh8-nav{ display:none; }
  .tdh8-mobile-menu{
    position:fixed; z-index:132; inset:0 auto 0 0; display:flex !important; flex-direction:column;
    width:min(90vw,430px); height:100vh; height:100dvh; margin:0; background:#fff;
    transform:translateX(-102%); visibility:hidden; pointer-events:none;
    transition:transform .35s var(--ease),visibility 0s .35s; box-shadow:18px 0 40px rgba(17,17,17,.18);
  }
  .tdh8-mobile-menu.is-open{ transform:translateX(0); visibility:visible; pointer-events:auto; transition-delay:0s; }
  .tdh8-mobile-menu-scrim{
    position:fixed; z-index:131; inset:0; display:block; width:100%; height:100%; padding:0; border:0;
    background:rgba(17,17,17,.48); cursor:pointer;
  }
  .tdh8-mobile-menu-scrim[hidden]{ display:none !important; }
  body.tdh8-nav-open{ overflow:hidden; }
  .tdh8-mobile-menu-head{
    display:grid; grid-template-columns:minmax(90px,1fr) auto 48px; align-items:center; gap:12px;
    min-height:72px; padding:8px 12px 8px 18px; border-bottom:1px solid var(--line); background:#fff;
  }
  .tdh8-mobile-menu-head strong{ font-family:var(--font-display); font-size:17px; }
  .tdh8-mobile-menu-logo{ display:flex; align-items:center; min-height:44px; }
  .tdh8-mobile-menu-logo img{ width:min(145px,100%); height:auto; }
  .tdh8-mobile-menu-close{ display:grid; place-items:center; width:48px; height:48px; padding:0; border:0; background:transparent; color:var(--ink); cursor:pointer; }
  .tdh8-mobile-menu-close .tdh-ico{ font-size:24px; }
  .tdh8-mobile-menu-scroll{ flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding-bottom:max(18px,env(safe-area-inset-bottom)); }
  #mobile_top_menu_wrapper .tdh-menu{ display:flex; flex-direction:column; flex-wrap:nowrap; gap:0; width:100%; margin:0; padding:0; list-style:none; }
  #mobile_top_menu_wrapper .tdh-menu > .tdh-menu-item{ display:block !important; border-bottom:1px solid var(--line); }
  #mobile_top_menu_wrapper .tdh-menu-trigger{
    display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; min-height:56px; padding:10px 20px;
    border:0; background:#fff; color:var(--ink); font-family:var(--font-display); font-size:18px; font-weight:650; text-align:left; cursor:pointer;
  }
  #mobile_top_menu_wrapper .tdh-menu-item.is-current > .tdh-menu-trigger{ box-shadow:inset 4px 0 0 var(--turquoise); }
  #mobile_top_menu_wrapper .tdh-menu-item.is-open > .tdh-menu-trigger{ background:var(--bg3); }
  #mobile_top_menu_wrapper .tdh-menu-caret{ flex:0 0 auto; transition:transform .2s var(--ease); }
  #mobile_top_menu_wrapper .tdh-menu-item.is-open > .tdh-menu-trigger .tdh-menu-caret{ transform:rotate(180deg); }
  #mobile_top_menu_wrapper .tdh-sub{
    position:static; display:block; width:100%; max-height:none; margin:0; padding:0 20px 16px; overflow:visible;
    opacity:1; visibility:visible; transform:none; border:0; border-radius:0; background:var(--bg3); box-shadow:none;
  }
  #mobile_top_menu_wrapper .tdh-menu-panel-layout{ display:block; max-width:none; margin:0; }
  #mobile_top_menu_wrapper .tdh-menu-all{ display:flex; justify-content:space-between; width:100%; min-height:48px; margin:0; border-top:1px solid var(--line); font-size:14px; }
  #mobile_top_menu_wrapper .tdh-mega-links{ display:block; margin:0; padding:0; }
  #mobile_top_menu_wrapper .tdh-mega-item{ border-top:1px solid var(--line); }
  #mobile_top_menu_wrapper .tdh-mega-link{ min-height:48px; padding:9px 0; font-size:14px; text-transform:none; }
  #mobile_top_menu_wrapper .tdh-menu-help{ display:none; }
  .tdh8-mobile-menu-account{ display:grid; margin:18px 20px 0; border-top:1px solid var(--ink); }
  .tdh8-mobile-menu-account a{ display:flex; align-items:center; gap:12px; min-height:48px; border-bottom:1px solid var(--line); color:var(--ink); font-size:14px; font-weight:650; text-decoration:none; }
  .tdh8-mobile-menu-help{ margin:20px; padding:20px; background:var(--turquoise); color:var(--ink); }
  .tdh8-mobile-menu-help strong{ display:block; margin-bottom:8px; font-family:var(--font-display); font-size:21px; line-height:1.15; }
  .tdh8-mobile-menu-help p{ margin:0 0 12px; color:var(--ink); font-size:13px; }
  .tdh8-mobile-menu-help a{ display:flex; align-items:center; min-height:44px; border-top:1px solid rgba(17,17,17,.3); color:var(--ink); font-size:13px; font-weight:750; }
  .tdh8-mobile-menu-selectors{ margin:0 20px; }
  .tdh8-rail .products{ grid-template-columns:repeat(4,minmax(230px,1fr)); }
  .tdh8-footer-grid{ grid-template-columns:1.4fr repeat(2,1fr); }
  .tdh8-footer-contact{ grid-column:auto; }
}
@media (min-width:1181px){
  .tdh8-mobile-menu,
  .tdh8-mobile-menu-scrim{ display:none !important; }
}
@media (max-width:900px){
  .tdh8-promo{ grid-template-columns:1fr auto; }
  .tdh8-promo .tdh-promo-message{ display:none; }
  .tdh8-hero{ min-height:min(760px,calc(100svh - 108px)); }
  .tdh8-hero-slide::after{ background:linear-gradient(90deg,rgba(17,17,17,.8) 0%,rgba(17,17,17,.5) 48%,rgba(17,17,17,.08) 100%); }
  .tdh8-hero-slide:first-of-type::after{ background:linear-gradient(90deg,rgba(8,8,8,.94) 0%,rgba(8,8,8,.84) 46%,rgba(8,8,8,.36) 78%,rgba(8,8,8,.08) 100%); }
  .tdh8-hero-img{ object-position:58% center; }
  .tdh8-hero-slide:nth-of-type(2) .tdh8-hero-img{ object-position:55% center; }
  .tdh8-hero-content{ width:min(62vw,540px); padding:52px clamp(22px,4.5vw,42px) 96px var(--gutter); }
  .tdh8-hero-content h1, .tdh8-hero-content h2{ font-size:clamp(42px,6.7vw,58px); }
  .tdh8-trust{ grid-template-columns:repeat(2,1fr); }
  .tdh8-trust-item{ justify-content:flex-start; min-height:84px; padding:16px var(--gutter); border-right:0; border-bottom:1px solid rgba(17,17,17,.18); }
  .tdh8-trust-item:nth-child(odd){ border-right:1px solid rgba(17,17,17,.18); }
  .tdh8-trust-item:nth-last-child(-n+2){ border-bottom:0; }
  .tdh8-heading{ grid-template-columns:1fr; gap:25px; }
  .tdh8-heading-aside{ justify-self:start; }
  .tdh8-tiles{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tdh8-editorial{ grid-template-columns:1fr; min-height:0; }
  .tdh8-editorial-media{ min-height:66vw; }
  .tdh8-help{ grid-template-columns:1fr; }
  .tdh8-help-actions{ margin-top:10px; }
  .tdh8-newsletter{ grid-template-columns:1fr; gap:45px; }
  .tdh8-footer-grid{ grid-template-columns:repeat(2,1fr); }
  .tdh8-footer-brand{ grid-column:1/-1; }
}
@media (max-width:640px){
  .tdh8-promo{ min-height:32px; font-size:10px; }
  .tdh8-hero{ min-height:max(540px,calc(100svh - 140px)); background:var(--ink); }
  .tdh8-hero-slide{ display:block; }
  .tdh8-hero-slide::after{ background:linear-gradient(180deg,rgba(17,17,17,.08) 20%,rgba(17,17,17,.16) 44%,rgba(17,17,17,.92) 79%,var(--ink) 100%); }
  .tdh8-hero-slide:first-of-type::after{ background:linear-gradient(180deg,rgba(8,8,8,.06) 18%,rgba(8,8,8,.24) 42%,rgba(8,8,8,.95) 74%,#080808 100%); }
  .tdh8-hero-media{ position:absolute; inset:0; }
  .tdh8-hero-img{ object-position:62% center; }
  .tdh8-hero-slide:nth-of-type(2) .tdh8-hero-img{ object-position:54% center; }
  .tdh8-hero-content{ position:absolute; z-index:2; inset:auto 0 0; width:100%; justify-content:flex-end; padding:0 var(--gutter) 28px; background:transparent; }
  .tdh8-hero-content h1, .tdh8-hero-content h2{ max-width:10ch; margin-bottom:12px; font-size:clamp(38px,11.2vw,48px); line-height:.93; letter-spacing:-.05em; }
  .tdh8-hero-content p{ max-width:34ch; margin-bottom:20px; color:rgba(255,255,255,.88); font-size:15px; line-height:1.42; }
  .tdh8-hero-description .tdh-slide-cta{ width:100%; max-width:100%; min-height:54px; padding:13px 18px; font-size:15px; line-height:1.2; text-align:center; white-space:normal; overflow-wrap:anywhere; }
  .tdh8-hero-controls{ top:18px; right:var(--gutter); bottom:auto; }
  .tdh8-hero-controls button{ width:44px; height:44px; border-color:rgba(255,255,255,.46); background:rgba(17,17,17,.24); backdrop-filter:blur(10px); }
  .tdh8-hero-dots{ top:18px; bottom:auto; }
  .tdh8-hero-dots button::before{ left:9px; right:9px; height:3px; }
  .tdh8-trust-item{ gap:12px; min-height:76px; padding:14px var(--gutter); }
  .tdh8-trust-item .tdh-ico{ width:24px; height:24px; font-size:24px; }
  .tdh8-trust-item p{ font-size:14px; }
  .tdh8-trust-item span{ font-size:12px; }
  .tdh8-heading h2{ font-size:34px; }
  .tdh8-tiles{ grid-template-columns:1fr; }
  .tdh8-tile-content{ min-height:138px; }
  .tdh8-tile-content h3{ font-size:30px; }
  .tdh8-rail{ overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x mandatory; scrollbar-width:thin; }
  .tdh8-rail .products{ grid-template-columns:repeat(4,76vw); gap:14px; }
  .tdh8-rail .products > *{ scroll-snap-align:start; }
  .tdh8-home .product-miniature .product-title a{ font-size:15px; }
  .tdh8-home .product-miniature .price{ font-size:20px; }
  .tdh8-editorial-copy{ min-height:620px; }
  .tdh8-editorial-copy h2{ font-size:36px; }
  .tdh8-help h2{ font-size:36px; }
  .tdh8-newsletter-row{ grid-template-columns:1fr; }
  .tdh8-newsletter-submit{ justify-content:space-between; margin-top:12px; }
  .tdh8-footer-grid{ grid-template-columns:1fr 1fr; gap:44px 28px; }
  .tdh8-footer-col{ gap:2px; }
  .tdh8-footer-col a{ min-height:44px; padding:11px 0; }
  .tdh8-footer-legal{ gap:0 18px; padding-right:0; }
  .tdh8-footer-legal a{ display:flex; align-items:center; min-height:44px; }
  .tdh8-footer-bottom{ flex-direction:column; align-items:flex-start; gap:7px; }
}

/* Fix especificidad classic (#header a) sobre promo y acciones */
#header .tdh8-promo a{ color:#fff; }
#header .tdh8-promo a:hover{ color:#fff; }
