/* TEXTILIA — propuesta visual azul y blanco, híbrida B+D.
   Capa visual adicional: conserva HTML, catálogo, controles y scripts existentes. */
:root{
  color-scheme:light;
  --bg:#f3f7fc; --surface:#ffffff; --surface-2:#eaf1fa; --field:#ffffff;
  --line:#d5e1f0; --ink:#102b4e; --ink-soft:#405875;
  --terracotta:#0753a6; --terracotta-dark:#063b79; --on-accent:#ffffff;
  --accent-soft:#e8f1ff; --ok:#176447; --warn:#855b12; --warn-bg:#fff3d6;
  --radius:12px; --header-h:112px;
}
:root[data-theme="dark"]{color-scheme:dark;--bg:#101a2a;--surface:#18263a;--surface-2:#223550;--field:#18263a;--line:#344a67;--ink:#f2f7ff;--ink-soft:#c0d0e4;--terracotta:#4d94f0;--terracotta-dark:#78afff;--on-accent:#071a32;--accent-soft:#1b3454;}
body{background:linear-gradient(180deg,#f8fbff 0%,var(--bg) 45%);color:var(--ink);}
a{color:var(--terracotta-dark)}
header{background:rgba(255,255,255,.97);border-bottom:1px solid #cbdcf0;box-shadow:0 5px 20px rgba(13,54,102,.08);}
.topbar{min-height:82px;gap:16px;}
.wordmark{font-size:clamp(25px,2.2vw,38px);font-weight:700;letter-spacing:-.045em;color:#0b4385;white-space:nowrap;}
.wordmark em{color:#1672cf;font-style:normal;}
.header-search{min-height:46px;border:1px solid #b8cde7;border-radius:12px;background:#fff;box-shadow:0 2px 8px rgba(13,54,102,.06);}
.header-search input{color:#163352;}
.header-search button,.cta,.searchbox .camera-search{background:linear-gradient(135deg,#1268c4,#063b79);color:white;border-radius:9px;}
.mainnav{gap:5px;align-items:center;}
.mainnav a{border-radius:8px;padding:10px 11px;font-weight:650;color:#183958;}
.mainnav a:hover,.mainnav a:focus-visible{background:#e8f1ff;color:#06488f;}
.headicons .iconbtn{border-radius:10px;color:#0b4d99;}
.megamenu{background:#fff;border:1px solid var(--line);box-shadow:0 18px 40px rgba(12,49,94,.16);border-radius:0 0 14px 14px;}
.trustbar{background:#0a3f80;color:#fff;border-color:#0a3f80;}
.trustbar a,.trustbar strong{color:#fff;}
.hero{padding:22px 0 18px;background:linear-gradient(110deg,#eef5ff,#fff 55%,#e8f1fc);}
.hero>.wrap{gap:26px;align-items:stretch;}
.hero h1{color:#073c7c;letter-spacing:-.035em;line-height:1.02;font-size:clamp(36px,4vw,60px);}
.hero .eyebrow{color:#0753a6;letter-spacing:.12em;font-weight:800;}
.hero .lead{color:#314b69;max-width:58ch;}
.hero-visual{border-radius:16px;overflow:hidden;border:1px solid #d1e0f2;box-shadow:0 14px 35px rgba(12,55,105,.14);}
.hero-visual img{width:100%;height:100%;min-height:300px;object-fit:cover;}
.hero-visual-caption{background:linear-gradient(0deg,rgba(5,32,67,.78),transparent);color:white;}
.searchbox{background:#fff;border:1px solid #b7cde7;border-radius:13px;box-shadow:0 8px 22px rgba(8,55,111,.09);min-height:54px;}
.searchbox input{color:#183958;}
.search-suggestions{border:1px solid #c6d8ee;border-radius:12px;box-shadow:0 18px 40px rgba(11,51,98,.18);background:#fff;}
.cta{border:1px solid #0753a6;box-shadow:0 3px 9px rgba(7,83,166,.12);font-weight:750;}
.cta:hover{background:#063b79;transform:translateY(-1px);}
.cta.ghost{background:#fff;color:#0753a6;border:1px solid #78a6dc;}
.hero-shortcuts a{border:1px solid #c8d9ee;background:#fff;color:#174b83;border-radius:999px;padding:8px 12px;text-decoration:none;font-weight:650;}
.stats>div,.stat,.trust-item{border-color:#d8e4f2;}
.visual-categories{padding:24px 0;background:#fff;}
.section-heading h2,.h-title,.toolbar h2{color:#103b6c;}
.trapezoid{border-radius:12px;overflow:hidden;box-shadow:0 5px 16px rgba(11,48,90,.10);}
.trapezoid span{background:rgba(5,54,111,.88);color:#fff;border-radius:7px;padding:10px 12px;}
.discovery-hub,.filtros,.calc,.linen-guide,.promo-editorial article,.animalista-banner,.product-card,.productgrid article{border:1px solid #d7e3f2;border-radius:14px;box-shadow:0 5px 18px rgba(15,54,98,.055);}
.discovery-hub{background:#fff;}
.discovery-tags a{background:#edf4ff;color:#164d88;border:1px solid #d4e3f5;border-radius:999px;}
.discovery-tags a:hover{background:#dbeaff;}
.promo-editorial article{overflow:hidden;background:#fff;}
.linen-guide{background:linear-gradient(120deg,#fff,#edf5ff);}
.linen-pills span{background:#e8f1ff;color:#154b86;border:1px solid #cfe0f4;border-radius:999px;}
.filtros{background:#fff;padding:20px;}
.filtros select,.field input,.field select,.field textarea{border:1px solid #c6d8ed;border-radius:9px;background:#fff;color:#183958;}
.colorchips button,.color-chip{outline-color:#0753a6;}
.filtros-tecnicos{border:1px solid #d2e0f0;border-radius:10px;background:#f7faff;padding:12px;}
.toolbar{border-bottom:2px solid #d5e3f4;}
.productgrid{gap:16px;}
.product-card,.productgrid>*{background:#fff;border-radius:13px;overflow:hidden;}
.product-card img,.productgrid img{transition:transform .25s ease;}
.product-card:hover img,.productgrid>*:hover img{transform:scale(1.025);}
.product-card h3,.productgrid h3{color:#123b68;}
.price,.product-price,.linen-price strong{color:#0753a6!important;}
.badge,.pill{border-radius:999px;}
button,.iconbtn,select{accent-color:#0753a6;}
.calc{background:linear-gradient(135deg,#edf5ff,#fff);padding:28px;border-radius:16px;}
.calc h2{color:#073c7c;}
footer{background:#092f5d;color:#eef5ff;}
footer a{color:#d7e9ff;}
.assistant-launch{background:#0753a6;color:#fff;box-shadow:0 8px 24px rgba(7,83,166,.25);}
.modal-card,.drawer{border:1px solid #d4e2f3;border-radius:16px;}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #6aa9f4;outline-offset:2px;}
@media(min-width:1100px){.topbar{grid-template-columns:auto minmax(300px,1fr) auto;}.mainnav{padding:9px 0;}.hero>.wrap{grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);}.hero-visual img{min-height:350px;}.productgrid{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:900px){.topbar{gap:9px}.wordmark{font-size:25px}.hero>.wrap{gap:16px}.hero h1{font-size:clamp(32px,7vw,46px)}.hero-visual img{min-height:220px}.mainnav{overflow-x:auto;white-space:nowrap}.productgrid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:560px){.topbar{flex-wrap:wrap;padding-block:10px}.wordmark{order:1}.hamb{order:0}.headicons{order:2;margin-left:auto}.header-search{order:3;flex:1 0 100%;width:100%}.mainnav{order:4;width:100%;}.hero>.wrap{grid-template-columns:1fr}.hero-visual{order:-1}.hero-visual img{min-height:190px}.hero-shortcuts{display:flex;flex-wrap:wrap;gap:7px}.productgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.filtros{padding:12px}.visual-categories .trapezoid-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}


/* Ajustes solicitados V5.1: interfaz clara fija y tarjetas con contraste uniforme. */
:root, :root[data-theme="dark"]{color-scheme:light!important;--bg:#f3f7fc;--surface:#fff;--surface-2:#eaf1fa;--field:#fff;--line:#d5e1f0;--ink:#102b4e;--ink-soft:#405875;--terracotta:#0753a6;--terracotta-dark:#063b79;--on-accent:#fff;--accent-soft:#e8f1ff;}
html,body{color-scheme:light!important;background:#f3f7fc!important;color:#102b4e;}
/* Tarjetas y botones de herramientas: mismo fondo, contorno y contraste tipográfico. */
.discovery-tags a,.discovery-hub button,.quick-tool,.tool-card,.hero-shortcuts a,.filter-quicklinks a{background:#fff!important;color:#174b83!important;border:1px solid #cbdcf0!important;box-shadow:none!important;font-weight:600!important;}
.discovery-tags a:hover,.discovery-hub button:hover,.quick-tool:hover,.tool-card:hover,.hero-shortcuts a:hover,.filter-quicklinks a:hover{background:#edf4ff!important;border-color:#8db4e4!important;color:#063b79!important;}
.discovery-hub,.discovery-hub *:not(svg):not(path),.tool-card,.quick-tool{color:#183958;}
.palette-expander{margin-top:12px;border:1px solid #d5e1f0;border-radius:12px;background:#fff;padding:12px;color:#183958;}
.palette100{display:grid;grid-template-columns:repeat(auto-fill,minmax(22px,1fr));gap:5px;margin-top:12px;}
.palette-dot{min-width:22px;aspect-ratio:1;border:1px solid #d3deeb;border-radius:5px;cursor:pointer;}
.palette-dot.palette-selected{outline:3px solid #0753a6;outline-offset:2px;}
@media(prefers-color-scheme:dark){html,body{color-scheme:light!important;background:#f3f7fc!important;color:#102b4e!important;}}

/* V5.2: corrección de distribución de filtros y paleta en la portada. */
.filtros-extra{display:block;min-width:0;overflow:visible;margin-top:18px;padding-top:16px;}
.filtros-extra h3{display:block;line-height:1.45;margin:0 0 12px;white-space:normal;}
#usoChips.usochips,.filtros-extra .usochips{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px;min-width:0;width:100%;}
#usoChips .usochip,.filtros-extra .usochip,.filtros-tecnicos .fchip{display:inline-flex;align-items:center;justify-content:center;flex:0 1 auto;min-height:34px;max-width:100%;white-space:normal;line-height:1.3;text-align:center;padding:7px 13px;border:1px solid #cbdcf0;border-radius:999px;background:#fff;color:#294764;font-size:12.5px;}
#usoChips .usochip span,.filtros-tecnicos .fchip span{margin-left:2px;white-space:nowrap;}
#colorChips.colorchips{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,155px),1fr));align-items:stretch;gap:8px;width:100%;}
/* Los colores rápidos son botones tipo etiqueta, no círculos que aplastan el texto. */
#colorChips .colorchip{display:inline-flex!important;align-items:center;justify-content:flex-start;gap:8px;box-sizing:border-box;width:100%!important;min-width:0;height:auto!important;min-height:38px;padding:8px 12px!important;border:1px solid #cbdcf0!important;border-radius:10px!important;background:#fff!important;color:#294764!important;box-shadow:none!important;white-space:normal;line-height:1.3;text-align:left;font-size:12.5px;}
#colorChips .colorchip .dot{display:inline-block;flex:0 0 16px;width:16px;height:16px;border-radius:50%;border:1px solid #c3cfdd;}
#colorChips .colorchip span:last-child{margin-left:auto;flex:0 0 auto;}
#colorChips .colorchip.activo{border-color:#0753a6!important;background:#edf4ff!important;color:#063b79!important;box-shadow:0 0 0 1px #0753a6!important;}
.palette-expander{clear:both;display:block;margin-top:14px;padding:14px 16px;border:1px solid #d5e1f0;border-radius:12px;background:#f8fbff;}
.palette-expander summary{cursor:pointer;font-weight:700;line-height:1.5;padding:3px 0;color:#123b68;}
.palette100{display:grid;grid-template-columns:repeat(auto-fill,minmax(25px,1fr));gap:7px;margin-top:14px;}
.palette-dot{display:block;width:100%;min-width:0;max-width:42px;aspect-ratio:1;border:1px solid #c8d4e3;border-radius:7px;cursor:pointer;}
.filtros-tecnicos{clear:both;margin-top:16px;padding:16px;background:#f7faff;}
.filtros-tecnicos summary{line-height:1.5;padding:2px 0;cursor:pointer;}
.filtros-tecnicos .grupo{margin-top:14px;}
.filtros-tecnicos .grupo>span{display:block;margin-bottom:8px;font-size:12px;font-weight:750;letter-spacing:.04em;color:#345574;}
@media(max-width:640px){#colorChips.colorchips{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;}#colorChips .colorchip{padding:8px!important;font-size:12px;}#usoChips .usochip{font-size:12px;padding:7px 10px;}.palette100{grid-template-columns:repeat(auto-fill,minmax(23px,1fr));gap:5px;}}

/* Corrección final de contraste TEXTILIA: texto legible y tarjetas consistentes */
:root{--bg:#f3f7fc;--surface:#fff;--surface-2:#eaf1fa;--field:#fff;--line:#cbdcf0;--ink:#102b4e;--ink-soft:#405875;--terracotta:#0753a6;--terracotta-dark:#063b79;--on-accent:#fff;color-scheme:light}
html,body{background:#f3f7fc!important;color:#102b4e!important}
body,main,p,li,dd,dt,label,small,.h-sub,.sub,.description,.pcard .info,.pcard .name,.pcard .cat,.pcard .price small,.precio-rollo,.muted,.eyebrow{color:#294665}
h1,h2,h3,h4,.h-title,.section-heading h2,.pcard .name a,.pcard .name{color:#103b6c!important}
a{color:#0753a6}
a:hover,a:focus-visible{color:#063b79}
.pcard,.product-card,.discovery-hub,.modal-card,.drawer,.catgrid>*,.category-card{background:#fff!important;color:#102b4e!important;border-color:#cbdcf0!important}
.pcard .info,.pcard .info *{text-shadow:none}
.pcard .cat,.pcard .precio-rollo,.pcard .price small{color:#405875!important}
.pcard .price{color:#0753a6!important}
.pcard .name a{color:#103b6c!important;text-decoration:none}
.pcard .name a:hover{text-decoration:underline}
.pcard .swatch.product-photo{background:#fff!important;overflow:hidden}
.pcard .swatch.product-photo img{display:block!important;visibility:visible!important;opacity:1!important;width:100%;height:100%;object-fit:cover;background:#fff}
.pcard .quick,.pcard button,.discovery-tags a{color:#06488f;border:1px solid #b9d0ed;background:#fff}
.pcard .quick:hover,.discovery-tags a:hover{background:#e8f1ff;color:#063b79}
.discovery-hub{background:#fff!important;border:1px solid #cbdcf0!important}
.discovery-hub h2{color:#103b6c!important}
.discovery-tags a{color:#06488f!important}
/* No permitir que reglas heredadas vuelvan ilegibles los textos en tarjetas o paneles */
html[data-theme=light] .pcard *,html[data-theme=light] .discovery-hub *,html[data-theme=light] .modal-card *{text-shadow:none}


/* === Corrección de contraste solicitada: banners y tarjetas editoriales === */
.animalista-banner,
.animalista-banner > div,
.animalista-banner .eyebrow,
.animalista-banner h1,
.animalista-banner h2,
.animalista-banner h3,
.animalista-banner p,
.animalista-banner strong,
.animalista-banner span,
.animalista-banner a:not(.cta) {
  color: #ffffff !important;
  text-shadow: 0 1px 3px rgba(0,0,0,.55);
}
.animalista-banner .cta,
.animalista-banner a.cta,
.promo-editorial article a,
.promo-editorial article a:visited {
  background: linear-gradient(180deg, #e5c574 0%, #c49a3b 100%) !important;
  border: 1px solid #f1d994 !important;
  color: #241b0b !important;
  text-shadow: none !important;
  box-shadow: 0 3px 10px rgba(0,0,0,.24) !important;
  border-radius: 9px !important;
  font-weight: 750 !important;
}
.animalista-banner .cta:hover,
.promo-editorial article a:hover {
  background: linear-gradient(180deg, #f0d68d 0%, #d5ad50 100%) !important;
  color: #171006 !important;
}
.promo-editorial article > div,
.promo-editorial article > div * ,
.promo-editorial article span,
.promo-editorial article h3,
.promo-editorial article p {
  color: #ffffff !important;
  text-shadow: 0 1px 4px rgba(0,0,0,.82) !important;
}
.promo-editorial article > div {
  background: linear-gradient(0deg, rgba(15,10,6,.78), rgba(15,10,6,.12)) !important;
}
.promo-editorial article a {
  display: inline-block;
  padding: 10px 14px;
  text-decoration: none;
}
.trapezoid-grid .trapezoid,
.trapezoid-grid .trapezoid span {
  color: #ffffff !important;
  text-shadow: 0 2px 5px rgba(0,0,0,.85) !important;
}
.trapezoid-grid .trapezoid::after {
  background: linear-gradient(0deg, rgba(18,12,7,.72), rgba(18,12,7,.04)) !important;
}


/* FIX REAL: panel principal (hero-showcase) y sus controles.
   La versión previa apuntaba a .animalista-banner, que no existe en index.html.
   Se aplican estilos a los selectores reales del primer panel. */
.hero.hero-showcase,
.hero.hero-showcase > .wrap,
.hero.hero-showcase > .wrap > div:first-child {
  color: #fff !important;
}
.hero.hero-showcase .eyebrow,
.hero.hero-showcase h1,
.hero.hero-showcase h2,
.hero.hero-showcase h3,
.hero.hero-showcase p,
.hero.hero-showcase .lead,
.hero.hero-showcase .stats,
.hero.hero-showcase .stats *,
.hero.hero-showcase .hero-visual-caption,
.hero.hero-showcase .hero-visual-caption * {
  color: #fff !important;
  text-shadow: 0 2px 5px rgba(0,0,0,.78) !important;
}
.hero.hero-showcase .hero-shortcuts a,
.hero.hero-showcase .cta-bloque .cta,
.hero.hero-showcase .cta-bloque button,
.hero.hero-showcase a.cta,
.hero.hero-showcase button.cta {
  background: linear-gradient(180deg,#e8ca7b 0%,#c49a3b 100%) !important;
  border: 1px solid #f2dc9b !important;
  color: #241b0b !important;
  text-shadow: none !important;
  box-shadow: 0 3px 10px rgba(0,0,0,.28) !important;
  font-weight: 750 !important;
}
.hero.hero-showcase .hero-shortcuts a:hover,
.hero.hero-showcase .cta-bloque .cta:hover,
.hero.hero-showcase .cta-bloque button:hover {
  background: linear-gradient(180deg,#f1d991 0%,#d4ad50 100%) !important;
  color: #171006 !important;
}
/* El campo de búsqueda conserva su fondo claro y texto oscuro para que sea usable. */
.hero.hero-showcase .searchbox,
.hero.hero-showcase .searchbox input {
  background: #fff !important;
  color: #24384e !important;
  text-shadow: none !important;
}
.hero.hero-showcase .searchbox input::placeholder {
  color: #6b7280 !important;
  opacity: 1 !important;
}


/* Revisión consolidada R4: máxima especificidad para el panel principal real. */
html body section.hero.hero-showcase h1#heroTitle,
html body section.hero.hero-showcase .eyebrow,
html body section.hero.hero-showcase .lead,
html body section.hero.hero-showcase p,
html body section.hero.hero-showcase .stats,
html body section.hero.hero-showcase .stats *,
html body section.hero.hero-showcase .hero-visual-caption,
html body section.hero.hero-showcase .hero-visual-caption * {
  color: #fff !important;
  text-shadow: 0 2px 5px rgba(0,0,0,.82) !important;
}
html body section.hero.hero-showcase .hero-shortcuts a,
html body section.hero.hero-showcase .cta-bloque .cta,
html body section.hero.hero-showcase .cta-bloque button {
  background: linear-gradient(180deg,#e8ca7b 0%,#c49a3b 100%) !important;
  color: #241b0b !important;
  border: 1px solid #f2dc9b !important;
  text-shadow: none !important;
}
html body section.hero.hero-showcase .searchbox input::placeholder {
  color: #5f6875 !important;
  opacity: 1 !important;
}



/* ==============================================================
   TEXTILIA R5 — CORRECCIÓN GLOBAL DE CONTRASTE
   Causa corregida: la preferencia de modo oscuro del sistema podía
   reactivar variables beige/marrón mientras la página mantenía
   fondos claros. Se fija la paleta azul/blanco solicitada.
   ============================================================== */
:root,
:root:not([data-theme="light"]),
:root[data-theme="light"],
:root[data-theme="dark"] {
  color-scheme: light !important;
  --bg: #f3f7fc !important;
  --surface: #ffffff !important;
  --surface-2: #eaf1fa !important;
  --field: #ffffff !important;
  --line: #cbdcf0 !important;
  --ink: #102b4e !important;
  --ink-soft: #405875 !important;
  --terracotta: #0753a6 !important;
  --terracotta-dark: #063b79 !important;
  --on-accent: #ffffff !important;
  --accent-soft: #e8f1ff !important;
  --ok: #176447 !important;
  --warn: #855b12 !important;
  --warn-bg: #fff3d6 !important;
}
/* El modo oscuro heredado también usaba sus propias variables tx-*. */
html[data-theme="dark"] {
  color-scheme: light !important;
  --tx-bg: #f3f7fc !important;
  --tx-fg: #102b4e !important;
  --tx-card: #ffffff !important;
  --tx-line: #cbdcf0 !important;
  --tx-accent: #0753a6 !important;
}

/* Textos secundarios y de descripción sobre superficies claras. */
html body main p,
html body main li,
html body main dt,
html body main dd,
html body main label,
html body main small,
html body main td,
html body main th,
html body main .h-sub,
html body main .sub,
html body main .description,
html body main .muted,
html body main .field-hint,
html body main .page-head p,
html body main .related > p,
html body main .faq details p,
html body main .prose p,
html body main .prose li,
html body main .tarjeta-bloque p,
html body main .ficha-vista p,
html body main .ficha-vista-pendiente span,
html body main .impresion-cabecera span,
html body main .precio-rollo,
html body main .specs dt {
  color: #405875 !important;
}
/* Los encabezados de contenido quedan en azul oscuro, legible sobre blanco. */
html body main h1,
html body main h2,
html body main h3,
html body main h4,
html body main .h-title,
html body main .page-head .eyebrow,
html body main .section-heading .eyebrow,
html body main .tarjeta-bloque h2,
html body main .discovery-hub h2,
html body main .related h2,
html body main .faq summary {
  color: #103b6c !important;
}
/* Navegación superior: nunca beige claro sobre el encabezado blanco. */
html body header .mainnav a {
  color: #183958 !important;
}
html body header .mainnav a:first-child {
  background: #a9281f !important;
  color: #ffffff !important;
}
html body header .mainnav a.active,
html body header .mainnav a[aria-current],
html body header .mainnav a[aria-selected="true"] {
  background: #0753a6 !important;
  color: #ffffff !important;
}
/* Paneles y tablas usan superficies claras de forma consistente. */
html body main .tarjeta-bloque,
html body main .discovery-hub,
html body main .quote-builder,
html body main .filtros,
html body main .filtros-tecnicos,
html body main .related,
html body main .faq {
  color: #294665;
}
html body main table {
  border-collapse: collapse;
  color: #294665 !important;
}
html body main table thead th,
html body main table th {
  background: #eaf1fa !important;
  color: #183958 !important;
  border-color: #cbdcf0 !important;
}
html body main table td {
  background: #ffffff !important;
  color: #294665 !important;
  border-color: #d5e1f0 !important;
}
html body main table tbody tr:nth-child(even) td {
  background: #f7faff !important;
  color: #294665 !important;
}
html body main table td a {
  color: #0753a6 !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}
/* Tarjetas y detalles que antes tomaban texto beige por el tema heredado. */
html body main .catcard,
html body main .catcard .name,
html body main .catcard .cnt,
html body main .pcard .cat,
html body main .pcard .precio-rollo,
html body main .pcard .price small,
html body main .faq details p,
html body main .related p {
  color: #405875 !important;
}
html body main .pcard .name a,
html body main .pcard .price,
html body main .catcard .name {
  color: #103b6c !important;
}
html body main .discovery-tags a,
html body main .hero-shortcuts a:not(.cta) {
  color: #174b83 !important;
}
/* Mantener el primer banner con letras blancas sobre la foto y botones oro. */
html body main section.hero.hero-showcase h1,
html body main section.hero.hero-showcase h2,
html body main section.hero.hero-showcase h3,
html body main section.hero.hero-showcase p,
html body main section.hero.hero-showcase .eyebrow,
html body main section.hero.hero-showcase .lead,
html body main section.hero.hero-showcase .stats,
html body main section.hero.hero-showcase .stats *,
html body main section.hero.hero-showcase .hero-visual-caption,
html body main section.hero.hero-showcase .hero-visual-caption * {
  color: #ffffff !important;
  text-shadow: 0 2px 5px rgba(0,0,0,.82) !important;
}
html body main section.hero.hero-showcase .hero-shortcuts a,
html body main section.hero.hero-showcase .cta-bloque .cta,
html body main section.hero.hero-showcase .cta-bloque button {
  background: linear-gradient(180deg,#e8ca7b 0%,#c49a3b 100%) !important;
  border: 1px solid #f2dc9b !important;
  color: #241b0b !important;
  text-shadow: none !important;
  font-weight: 750 !important;
}
html body main section.hero.hero-showcase .searchbox,
html body main section.hero.hero-showcase .searchbox input {
  background: #ffffff !important;
  color: #24384e !important;
  text-shadow: none !important;
}
html body main section.hero.hero-showcase .searchbox input::placeholder {
  color: #5f6875 !important;
  opacity: 1 !important;
}
/* Pie de página oscuro: conservar texto claro, incluso con reglas antiguas. */
html body footer,
html body footer p,
html body footer li,
html body footer strong,
html body footer h3 {
  color: #eef5ff !important;
}
html body footer a,
html body footer button.linkish {
  color: #d7e9ff !important;
}


/* TEXTILIA — correcciones puntuales solicitadas (13-oct-2026) */
/* Accesos dorados: asegurar texto blanco y contraste consistente. */
html body .hero-shortcuts a,
html body .header-quote-links a,
html body .filter-quicklinks a,
html body .discovery-tags a,
html body .discovery-hub button,
html body .quick-tool,
html body .tool-card,
html body a[ class*="gold" ],
html body button[class*="gold"],
html body a[class*="dorado"],
html body button[class*="dorado"] {
  color: #fff !important;
}

/* Paleta dentro de fichas/modales: permitir que la cuadrícula se adapte al móvil
   y evitar que las muestras se compriman o desborden. */
html body .palette-expander,
html body .palette100 {
  box-sizing: border-box;
  max-width: 100%;
}
html body .palette100 {
  grid-template-columns: repeat(auto-fill, minmax(22px, 1fr));
  gap: 7px;
}
html body .palette-dot {
  min-width: 22px;
  min-height: 22px;
  box-sizing: border-box;
}
@media (max-width: 480px) {
  html body .palette100 {
    grid-template-columns: repeat(8, minmax(22px, 1fr));
    gap: 6px;
  }
}

/* Acciones de compra/cotización: mismos criterios de legibilidad y altura.
   No se alteran sus funciones ni sus destinos. */
html body .hero-shortcuts a,
html body .header-quote-links a,
html body .filter-quicklinks a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}


/* ==========================================================
   TEXTILIA R7 — microanimaciones elegantes y discretas
   No desenfoca ni oscurece el fondo, no hace zoom a los paneles
   y no cambia las dimensiones de la interfaz.
   ========================================================== */
:root {
  --tx-motion-fast: 140ms;
  --tx-motion-normal: 210ms;
  --tx-motion-ease: cubic-bezier(.2,.7,.2,1);
}

/* Botones y enlaces: respuesta visual sin cambiar su tamaño */
html body button,
html body .mainnav a,
html body .megamenu a,
html body .cta,
html body .quick-tool,
html body .tool-card,
html body .hero-shortcuts a,
html body .filter-quicklinks a,
html body .pcard .quick {
  transition:
    color var(--tx-motion-fast) ease,
    background-color var(--tx-motion-fast) ease,
    border-color var(--tx-motion-fast) ease,
    box-shadow var(--tx-motion-normal) ease,
    transform var(--tx-motion-fast) ease;
}

html body button:active,
html body .cta:active,
html body .mainnav a:active,
html body .megamenu a:active {
  transform: translateY(1px);
}

/* Navegación: resaltado azul suave, sin reacomodar elementos */
html body header .mainnav a:hover,
html body header .mainnav a:focus-visible,
html body .megamenu a:hover,
html body .megamenu a:focus-visible {
  background-color: #eaf3ff;
  border-color: #a9c9ef;
}

/* Menú desplegable: aparece suavemente; el resto de la página queda nítido */
@keyframes tx-menu-appear {
  from { opacity: 0; transform: translateY(-5px); }
  to   { opacity: 1; transform: translateY(0); }
}
html body .megamenu:not(.hidden) {
  animation: tx-menu-appear var(--tx-motion-normal) var(--tx-motion-ease) both;
  transform-origin: top center;
}

/* Categorías: realce sutil de borde y sombra, sin ampliar las tarjetas */
html body .trapezoid,
html body .category-card,
html body .catgrid > * {
  transition:
    border-color var(--tx-motion-normal) ease,
    box-shadow var(--tx-motion-normal) ease,
    filter var(--tx-motion-normal) ease;
}
html body .trapezoid:hover,
html body .category-card:hover,
html body .catgrid > *:hover {
  border-color: #a8c9f0;
  box-shadow: 0 5px 16px rgba(7, 83, 166, .12);
}

/* Fotografías: movimiento mínimo dentro de su propio recuadro */
html body .pcard .swatch.product-photo img,
html body .pcard img,
html body .product-card img {
  transition: filter var(--tx-motion-normal) ease, transform 260ms var(--tx-motion-ease);
}
html body .pcard:hover .swatch.product-photo img,
html body .product-card:hover img {
  filter: saturate(1.035);
}

/* Tarjetas: destacar sin desplazar la cuadrícula */
html body .pcard,
html body .product-card {
  transition:
    border-color var(--tx-motion-normal) ease,
    box-shadow var(--tx-motion-normal) ease;
}
html body .pcard:hover,
html body .product-card:hover {
  border-color: #a8c9f0 !important;
  box-shadow: 0 5px 18px rgba(7, 83, 166, .10);
}

/* Selector de color y controles: estados activos fáciles de reconocer */
html body .palette-dot,
html body input[type="checkbox"],
html body input[type="radio"],
html body select {
  accent-color: #0753a6;
}
html body .palette-dot {
  transition: outline-color var(--tx-motion-fast) ease, box-shadow var(--tx-motion-fast) ease;
}
html body .palette-dot:hover {
  box-shadow: 0 0 0 2px #9ec4f2;
}
html body input[type="checkbox"],
html body input[type="radio"] {
  transition: outline-color var(--tx-motion-fast) ease;
}

/* Campos y botones de acción: foco visible y accesible */
html body button:focus-visible,
html body a:focus-visible,
html body input:focus-visible,
html body select:focus-visible,
html body textarea:focus-visible {
  outline: 2px solid #2d83df;
  outline-offset: 2px;
}

/* Respeta la preferencia del usuario para reducir movimiento */
@media (prefers-reduced-motion: reduce) {
  html body *,
  html body *::before,
  html body *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}



/* R12 — Restaurar las visualizaciones completas de producto solicitadas.
   No ocultar ni sustituir las láminas visuales de color/tela/modelo. */
.pcard .swatch.product-photo {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 1.55 / 1 !important;
  overflow: hidden !important;
  background: #fff !important;
  padding: 0 !important;
  border-radius: 0 !important;
}
.pcard .swatch.product-photo > img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center !important;
  margin: 0 !important;
}
.pcard .swatch.product-photo .product-gallery-strip {
  display: none !important;
}
.pcard .swatch.product-photo .gallery-dots {
  display: flex !important;
}
@media (max-width: 760px) {
  .productgrid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  .pcard .swatch.product-photo {
    aspect-ratio: 1.25 / 1 !important;
  }
}
@media (max-width: 380px) {
  .productgrid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .pcard .swatch.product-photo {
    aspect-ratio: 1.45 / 1 !important;
  }
}


/* R13 — Enlace explícito a la ficha completa e independiente del producto */
.pcard .pcard-acciones-con-ficha {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 7px !important;
}
.pcard .pcard-acciones-con-ficha .ficha-completa {
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  width: 100%;
  box-sizing: border-box;
  padding: 9px 12px;
  border: 1px solid #155da8;
  border-radius: 9px;
  background: #0d4f91;
  color: #fff !important;
  font: inherit;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  text-decoration: none !important;
}
.pcard .pcard-acciones-con-ficha .ficha-completa:hover,
.pcard .pcard-acciones-con-ficha .ficha-completa:focus-visible {
  background: #083b70;
  border-color: #083b70;
  color: #fff !important;
}
.pcard .pcard-acciones-con-ficha .quick:not(.ficha-completa) {
  min-width: 0;
}
