@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600;700&family=Inter:wght@400;500;600;700&display=swap");

:root {
  --blue-900: #0f2440;
  --blue-700: #1a3e6e;
  --blue-600: #1e3a5f;
  --blue-500: #2e5a8a;
  --blue-300: #6c9bc7;
  --blue-100: #d6e4f0;
  --gold-500: #ffd700;
  --gold-700: #b89b00;
  --gray-50: #f5f7fa;
  --gray-200: #e2e8f0;
  --gray-300: #cbd5e0;
  --gray-400: #a0aec0;
  --gray-600: #4a5568;
  --gray-800: #2d3748;
  --gray-900: #1a202c;
  --success-500: #2f855a;
  --success-100: #c6f6d5;
  --ink: var(--gray-900);
  --muted: var(--gray-600);
  --line: var(--gray-200);
  --primary: var(--blue-700);
  --primary-dark: var(--blue-900);
  --accent: var(--gold-500);
  --white: #fff;
  --soft: var(--gray-50);
  --font-body: "Inter", system-ui, sans-serif;
  --font-display: "IBM Plex Sans", var(--font-body);
  --font-mono: "IBM Plex Mono", monospace;
  --maxw: 1280px;
  --gutter: clamp(16px, 4vw, 48px);
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 40px;
  --space-8: 48px;
  --radius-sm: 4px;
  --radius: 8px;
  --radius-lg: 12px;
  --shadow-sm: 0 1px 2px rgba(0,0,0,.06);
  --shadow-md: 0 2px 6px rgba(15,36,64,.12);
}

*,*::before,*::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--gray-900); background: #fff; font-family: var(--font-body); font-size: 16px; line-height: 1.5; }
a { color: inherit; text-decoration: none; }
button,input,select { font: inherit; }
button { cursor: pointer; }
p { margin-top: 0; }
h1, h2, h3, h4 { color: var(--gray-900); font-family: var(--font-display); letter-spacing: -.025em; }
h1 { font-size: clamp(2rem, 1.4rem + 2vw, 2.75rem); line-height: 1.1; }
h2 { font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); line-height: 1.2; }
h3 { font-size: 1.2rem; line-height: 1.3; }
img { max-width: 100%; }
button, input, select { font: inherit; }
:focus-visible { outline: 3px solid var(--blue-500); outline-offset: 2px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.container { width: min(100%, var(--maxw)); margin-inline: auto; padding-inline: var(--gutter); }
.section { width: min(100%, var(--maxw)); margin-inline: auto; padding: 36px var(--gutter); }
.section--soft { width:100%; max-width:none; background:var(--gray-50); }
.section--soft > .container { padding-inline: 0; }
.section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:24px; }
.section-head h2 { margin: 4px 0 0; }
.section-head > a { position:relative; padding-bottom:3px; color:var(--blue-700); font-size:13px; font-weight:700; }
.section-head > a::after { content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--blue-700); transform:scaleX(0); transform-origin:left; transition:transform .25s ease; }
.section-head > a:hover::after, .section-head > a:focus-visible::after { transform:scaleX(1); }
.eyebrow { color:var(--blue-700); display:inline-flex; align-items:center; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.eyebrow:before { content:""; width:28px; height:3px; margin-right:9px; background:var(--gold-500); }
.eyebrow--light { color:#e8f0f8; }
.button { min-height:44px; padding:10px 20px; border:1px solid var(--blue-700); border-radius:4px; display:inline-flex; align-items:center; justify-content:center; gap:8px; background:#fff; color:var(--blue-700); font-size:13px; font-weight:700; transition:transform .2s ease, box-shadow .2s ease, background-color .2s ease, border-color .2s ease; }
.button:hover { transform:translateY(-2px); box-shadow:0 8px 18px rgba(15,36,64,.18); }
.button:active { transform:translateY(0); box-shadow:0 4px 10px rgba(15,36,64,.14); }
.button--accent:hover { background:#f2cf00; border-color:#f2cf00; }
.button--accent { background:var(--gold-500); border-color:var(--gold-500); color:var(--blue-900); }
.button--outline { background:transparent; }
.button--block { width:100%; }

.site-header { position:sticky; top:0; z-index:50; }
.topbar { min-height:38px; background:var(--blue-900); color:#fff; display:flex; align-items:center; justify-content:space-between; padding:4px var(--gutter); font-size:11px; }
.topbar nav { display:flex; align-items:center; gap:16px; }
.topbar__msg { display:inline-block; transition:opacity .6s cubic-bezier(.33,.02,.18,1), transform .6s cubic-bezier(.33,.02,.18,1), filter .6s ease; }
.topbar__msg--out { opacity:0; transform:translateY(-7px); filter:blur(3px); }
.topbar__msg--in { opacity:0; transform:translateY(7px); filter:blur(3px); }
.navbar { min-height:76px; height:auto; padding:16px var(--gutter); display:flex; align-items:center; gap:16px; background:#fff; border-bottom:1px solid var(--line); box-shadow:var(--shadow-sm); }
.logo { display:flex; align-items:center; flex:0 0 auto; }
.logo:before { content:none; }
.logo img { display:block; width:auto; height:56px; }
.nav-links { display:flex; gap:18px; margin-left:16px; font-size:12px; font-weight:700; white-space:nowrap; }
.nav-links a:after { content:none; }
.site-search { width:min(280px,24vw); height:38px; margin-left:auto; display:flex; border:1px solid var(--gray-300); border-radius:4px; background:white; }
.site-search input { min-width:0; flex:1; padding:0 10px; border:0; border-radius:3px 0 0 3px; background:white; font-size:12px; }
.site-search button { width:40px; display:grid; place-items:center; border:0; border-radius:0 3px 3px 0; background:var(--blue-700); color:white; }
.site-search button svg { width:19px; height:19px; }
.account, .cart-link { position:relative; display:inline-flex; flex-direction:column; align-items:center; font-size:11px; font-weight:700; white-space:nowrap; }
.account svg, .cart-link svg { width:22px; height:22px; }
.cart-count { position:absolute; right:-8px; top:-5px; min-width:17px; height:17px; display:grid; place-items:center; border-radius:50%; background:var(--gold-500); color:var(--blue-900); font-size:10px; }

.hero { position:relative; min-height:0; overflow:hidden; color:white; background:var(--blue-900); }
.hero__bg { position:absolute; inset:0; z-index:0; background-position:center; background-size:cover; background-repeat:no-repeat; }
.hero__overlay { position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(15,36,64,.94),rgba(15,36,64,.58) 48%,rgba(15,36,64,.08) 100%); }
.hero__content { position:relative; z-index:2; max-width:640px; padding:40px var(--gutter); }
.hero h1 { margin:8px 0 12px; color:white; }
.hero h1 em { color:var(--gold-500); font-style:normal; }
.hero p { color:rgba(255,255,255,.9); font-size:18px; }
.hero__search { display:flex; align-items:center; gap:0; width:min(440px,100%); height:48px; padding:4px; border-radius:5px; background:white; }
.hero__search input { min-width:0; flex:1; padding:0 8px; border:0; outline:0; color:var(--gray-900); font-size:13px; }
.hero__search button { width:44px; height:100%; display:grid; place-items:center; border:0; border-radius:4px; background:var(--gold-500); color:var(--blue-900); }
.hero__search button svg { width:19px; height:19px; }
.hero__search-icon { width:18px; height:18px; margin-left:12px; flex:0 0 auto; color:var(--blue-700); }
.hero__search-icon svg { width:100%; height:100%; }
.hero__hint { margin-top:5px; color:rgba(255,255,255,.8); font-size:10px; }
.hero__claims { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-top:24px; }
.hero__claim { display:inline-flex; align-items:center; gap:8px; font-size:13px; }
.hero__claim svg { width:22px; height:22px; flex:0 0 auto; color:var(--gold-500); }
.hero__claim b { font-size:12px; line-height:1.2; font-weight:600; }
.hero--home { height:520px; min-height:520px; }
.hero--home .hero__bg { inset:0; background-image:url("../assets/images/hero1.png"); background-position:right center; background-size:contain; background-repeat:no-repeat; }
.hero--home .hero__overlay { background:linear-gradient(90deg,#001526 0%,rgba(0,21,38,.95) 43%,rgba(0,21,38,.72) 55%,rgba(0,21,38,.16) 70%,rgba(0,21,38,0) 82%); }
.hero--home .hero__content { width:100%; max-width:none; height:100%; padding:44px max(40px,calc((100vw - var(--maxw))/2)) 136px; }
.hero--home .eyebrow { color:#e8f0f8; font-size:15px; }
.hero--home h1 { max-width:470px; margin:8px 0 16px; font-size:58px; line-height:.98; }
.hero--home p:not(.hero__hint) { max-width:520px; margin-bottom:22px; font-size:22px; line-height:1.25; }
.hero--home .hero__ctas { display:flex; flex-wrap:wrap; gap:14px; }
.hero--home .hero__cta { min-height:50px; padding:12px 24px; border-radius:6px; font-size:14px; }
.hero--home .hero__cta--ghost { background:rgba(8,20,36,.55); border-color:rgba(255,255,255,.6); color:#fff; }
.hero--home .hero__cta--ghost svg { width:19px; height:19px; }
.hero--home .hero__cta--ghost:hover { background:rgba(255,255,255,.14); border-color:#fff; }
.hero--home .hero__search { width:420px; height:56px; min-height:56px; padding:0 4px 0 0; }
.hero--home .hero__search input { padding-inline:10px; font-size:15px; }
.hero--home .hero__search-icon { width:20px; height:20px; }
.hero--home .hero__search button { width:52px; min-width:52px; height:48px; }
.hero--home .hero__search button svg { width:22px; height:22px; }
.hero--home .hero__hint { margin-top:6px; font-size:13px; white-space:nowrap; }
.hero--home .hero__claims { position:absolute; right:auto; bottom:36px; left:max(40px,calc((100vw - var(--maxw))/2)); width:min(calc(100vw - 80px),var(--maxw)); justify-content:flex-start; flex-wrap:nowrap; gap:16px; margin:0; }
.hero--home .hero__claim { flex:0 0 auto; gap:9px; font-size:13px; line-height:1.2; }
.hero--home .hero__claim svg { width:32px; height:32px; color:white; }
.hero--home .hero__claim b { min-width:0; font-size:13px; font-weight:500; }
.hero--page { min-height:380px; }
.hero--page .hero__content { max-width:640px; padding:46px max(40px,calc((100vw - var(--maxw))/2)) 42px; }
.hero--page .hero__overlay { background:linear-gradient(90deg,rgba(15,36,64,.95),rgba(15,36,64,.7) 50%,rgba(15,36,64,.1)); }
.hero--page h1 { margin:6px 0 14px; font-size:46px; line-height:1.02; }
.hero--page p { max-width:540px; margin:0 0 24px; color:#dfe7f0; font-size:17px; line-height:1.4; }
.hero--page .hero__ctas { display:flex; flex-wrap:wrap; gap:14px; margin-bottom:28px; }
.hero--page .hero__cta { min-height:48px; padding:11px 22px; border-radius:6px; font-size:14px; white-space:nowrap; }
.hero--page .hero__cta svg { flex:0 0 auto; }
.hero--page .hero__cta--ghost { background:rgba(8,20,36,.55); border-color:rgba(255,255,255,.6); color:#fff; }
.hero--page .hero__cta--ghost svg { width:19px; height:19px; }
.hero--page .hero__cta--ghost:hover { background:rgba(255,255,255,.14); border-color:#fff; }
.hero--page .hero__claims { gap:26px; margin-top:0; }
.hero--page .hero__claim i { font-size:24px; line-height:1; color:var(--gold-500); }
.hero--page .hero__claim-text { display:grid; gap:2px; }
.hero--page .hero__claim-text b { font-size:13px; font-weight:700; }
.hero--page .hero__claim-text small { color:#c8d4e2; font-size:11px; line-height:1.2; }
.hero--store,.hero--cart,.hero--checkout,.hero--thanks { min-height:430px; }
.hero--store h1,.hero--cart h1,.hero--checkout h1,.hero--thanks h1 { font-size:58px; line-height:.98; }
.hero--store .hero__content,.hero--cart .hero__content,.hero--checkout .hero__content,.hero--thanks .hero__content { width:100%; max-width:none; padding:42px max(40px,calc((100vw - var(--maxw))/2)) 122px; }
.hero--store .hero__claims,.hero--cart .hero__claims,.hero--checkout .hero__claims,.hero--thanks .hero__claims { position:absolute; left:max(40px,calc((100vw - var(--maxw))/2)); right:auto; bottom:34px; margin:0; gap:28px; flex-wrap:nowrap; }
.hero--store .hero__bg,.hero--cart .hero__bg,.hero--checkout .hero__bg,.hero--thanks .hero__bg { background-image:url("../assets/images/hero-datacenter-hq.png"); background-position:center; }
.hero--product .hero__bg { background-image:url("../assets/images/hero-commerce-hq.png"); }
.hero--page .breadcrumb { margin:0; padding:0 0 10px; color:#eaf1f7; }
.hero--page .breadcrumb a { color:#eaf1f7; }
.hero__success { width:52px; height:52px; margin-bottom:12px; display:grid; place-items:center; border:3px solid var(--gold-500); border-radius:50%; color:var(--gold-500); font-size:28px; }

.breadcrumb { max-width:var(--maxw); margin:0 auto; padding:18px var(--gutter); color:var(--gray-600); font-size:12px; }
.breadcrumb ol { display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none; }
.breadcrumb li+li:before { content:"›"; margin-right:8px; color:var(--gray-400); }
.breadcrumb [aria-current="page"] { font-weight:600; color:var(--gray-900); }

.category-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:14px; }
.category { position:relative; --cat-glow:0; min-height:244px; padding:12px; display:grid; grid-template-rows:134px 1fr; gap:0; border:1px solid var(--line); border-radius:6px; background:var(--gray-50); }
.category::after { content:""; position:absolute; inset:0; border-radius:inherit; box-shadow:0 18px 44px rgba(26,62,110,.32), 0 0 0 2px rgba(58,109,190,.45); opacity:var(--cat-glow); pointer-events:none; }
.category img { width:100%; height:134px; object-fit:contain; object-position:center top; mix-blend-mode:multiply; }
.category__label { height:100%; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:0; font-size:14px; line-height:1.2; font-weight:700; }
.category__arrow { width:28px; height:28px; margin-top:auto; flex:0 0 auto; display:grid; place-items:center; border:1px solid var(--blue-700); border-radius:50%; color:var(--blue-700); font-style:normal; }
.spotlight { position:relative; min-height:470px; display:flex; align-items:center; padding:48px max(var(--gutter),calc((100vw - var(--maxw))/2)); overflow:hidden; background-color:#eef3f8; }
.spotlight__bg { position:absolute; top:0; bottom:0; right:0; height:100%; aspect-ratio:1983/793; background:url("../assets/images/producto-destacado.png") center/cover no-repeat; -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 30%); mask-image:linear-gradient(90deg,transparent 0%,#000 30%); }
.spotlight__card { position:relative; z-index:1; width:min(392px,100%); padding:30px 32px; border:1px solid rgba(255,255,255,.6); border-radius:12px; background:rgba(255,255,255,.55); -webkit-backdrop-filter:blur(14px) saturate(1.15); backdrop-filter:blur(14px) saturate(1.15); box-shadow:0 24px 54px rgba(15,36,64,.14); }
.spotlight__card h2 { margin:10px 0 6px; color:var(--blue-700); font-size:32px; line-height:1.05; }
.spotlight__sub { margin:0 0 16px; color:var(--gray-700); font-size:14px; }
.spotlight__features { margin:0 0 22px; padding:0; display:grid; gap:9px; list-style:none; }
.spotlight__features li { position:relative; padding-left:24px; color:var(--blue-900); font-size:13px; font-weight:600; }
.spotlight__features li::before { content:"✓"; position:absolute; left:0; top:0; color:var(--blue-700); font-weight:800; }
.energy-banner { position:relative; display:grid; grid-template-columns:minmax(0,1.55fr) minmax(320px,.9fr); min-height:400px; overflow:hidden; background-color:var(--blue-900); color:#fff; }
.energy-banner__bg { position:absolute; inset:-15% 0; background:url("../assets/images/banner-energia-hoy-para-un-mejor-man%CC%83ana.png") center/cover no-repeat; will-change:transform; }
.energy-banner__copy { position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:56px 40px 56px max(var(--gutter),calc((100vw - var(--maxw))/2)); }
.energy-banner__copy h2 { margin:12px 0 14px; color:#fff; font-size:40px; line-height:1.05; }
.energy-banner__copy h2 em { color:var(--gold-500); font-style:normal; }
.energy-banner__copy p { margin:0 0 24px; max-width:440px; color:#dfe7f0; font-size:15px; }
.energy-banner__panel { position:relative; z-index:1; display:flex; flex-direction:column; justify-content:center; gap:20px; padding:32px max(var(--gutter),calc((100vw - var(--maxw))/2)) 32px 42px; background:rgba(8,18,34,.55); -webkit-backdrop-filter:blur(7px); backdrop-filter:blur(7px); }
.energy-banner__item { display:flex; align-items:center; gap:14px; color:#fff; font-size:15px; font-weight:600; }
.energy-banner__item i { font-size:27px; line-height:1; }
.experiencia { position:relative; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1.05fr) minmax(240px,.65fr); align-items:stretch; min-height:480px; background:linear-gradient(270deg,#eef3f8 20%,rgba(238,243,248,.85) 42%,rgba(238,243,248,.3) 55%,rgba(238,243,248,0) 62%),url("../assets/images/banner-experiencia-y-respaldo.png") left center/auto 100% no-repeat #eef3f8; color:var(--blue-900); }
.experiencia__copy { grid-column:2; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:72px 40px 72px 12px; }
.experiencia__copy h2 { margin:12px 0 14px; font-size:40px; line-height:1.05; }
.experiencia__copy p { margin:0 0 24px; max-width:480px; color:var(--muted); font-size:15px; }
.experiencia__panel { grid-column:3; display:flex; flex-direction:column; justify-content:center; gap:22px; padding:48px max(var(--gutter),calc((100vw - var(--maxw))/2)) 48px 20px; }
.experiencia__item { display:flex; align-items:center; gap:14px; color:var(--blue-900); font-size:15px; font-weight:600; }
.experiencia__item i { font-size:30px; line-height:1; color:var(--blue-700); }
.experiencia .button svg { width:18px; height:18px; }
.blog-section { padding-block:76px; }
.blog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.blog-card { display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--line); border-radius:12px; background:#fff; text-decoration:none; transition:transform .25s ease, box-shadow .25s ease; }
.blog-card:hover { transform:translateY(-4px); box-shadow:0 14px 30px rgba(15,36,64,.12); }
.blog-card__media { position:relative; height:200px; }
.blog-card__media img { width:100%; height:100%; object-fit:cover; display:block; }
.blog-card__tag { position:absolute; left:14px; bottom:14px; padding:5px 12px; border-radius:999px; background:var(--gold-500); color:var(--blue-900); font-size:10.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.blog-card__body { display:flex; flex-direction:column; gap:8px; padding:18px 18px 22px; }
.blog-card__body b { color:var(--blue-900); font-size:15px; line-height:1.3; }
.blog-card__body p { margin:0; color:var(--muted); font-size:12.5px; line-height:1.5; }
.problem-section { padding-block:72px; }
.problem { position:relative; display:grid; grid-template-columns:minmax(220px,1.45fr) repeat(4,minmax(0,1fr)); align-items:stretch; gap:10px; min-height:220px; }
.problem__intro { position:relative; z-index:2; align-self:center; padding-right:10px; }
.problem__intro h2 { margin:8px 0 12px; font-size:30px; }
.problem__intro p { color:var(--muted); font-size:13px; line-height:1.4; }
.problem-card { position:relative; z-index:1; min-width:0; min-height:210px; padding:130px 12px 14px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; border:1px solid rgba(255,255,255,.18); border-radius:6px; color:white; background:transparent; }
.problem-card__bg { position:absolute; inset:0; z-index:0; background-color:var(--blue-900); background-size:cover; background-position:center; }
.problem-card__bg[data-image-slot="power-outage"] { background-image:linear-gradient(0deg,rgba(15,36,64,.92),rgba(15,36,64,.14) 70%),url("../assets/images/cortes-de-energia.png"); }
.problem-card__bg[data-image-slot="voltage-variation"] { background-image:linear-gradient(0deg,rgba(15,36,64,.92),rgba(15,36,64,.14) 70%),url("../assets/images/variaciones-de-voltaje.png"); }
.problem-card__bg[data-image-slot="critical-equipment"] { background-image:linear-gradient(0deg,rgba(15,36,64,.92),rgba(15,36,64,.14) 70%),url("../assets/images/proteccion-de-equipos.png?v=2"); }
.problem-card__bg[data-image-slot="energy-project"] { background-image:linear-gradient(0deg,rgba(15,36,64,.92),rgba(15,36,64,.14) 70%),url("../assets/images/expansion-o-nuevos-proyectos.png?v=2"); }
.problem-card b,.problem-card span { position:relative; z-index:2; }
.problem-card b { margin-bottom:6px; font-size:14px; }
.problem-card span { font-size:11px; line-height:1.25; }

.product-grid { display:grid; gap:14px; }
.product-grid--4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.product-grid--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.product-grid--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.product-card { position:relative; min-height:310px; padding:12px; display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--line); border-radius:6px; background:white; transition:box-shadow .25s ease, transform .25s ease; }
.product-card:hover { transform:translateY(-3px); box-shadow:0 14px 30px rgba(15,36,64,.14); }
.product-card__media { position:relative; }
.product-card__media img,.product-card > a img { display:block; width:100%; height:145px; object-fit:contain; mix-blend-mode:multiply; }
.product-card__badge { position:absolute; z-index:1; top:8px; right:8px; padding:5px 10px; border-radius:999px; background:var(--gold-500); color:var(--blue-900); font-size:10px; font-weight:700; white-space:nowrap; }
.product-card__badge--offer { background:#e5484d; color:white; }
.product-card__body { display:flex; flex:1; flex-direction:column; }
.product-card h3 { margin:7px 0 5px; color:var(--gray-900); font-size:15px; line-height:1.2; }
.product-card__specs { margin:0 0 6px; color:var(--gray-600); font-family:var(--font-mono); font-size:10px; }
.product-card__desc { margin:0 0 8px; color:var(--muted); font-size:11px; line-height:1.3; }
.product-card__brand { margin-top:6px; color:var(--blue-700); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.product-card__rating { margin:0 0 5px; color:var(--gold-700); font-size:12px; letter-spacing:1px; }
.product-card__rating span { color:var(--muted); font-size:11px; letter-spacing:0; }
.product-card__price { margin-bottom:7px; color:var(--gray-900); font-family:var(--font-display); font-size:20px; font-weight:700; }
.product-card__price s { margin-left:6px; color:var(--muted); font-family:var(--font-body); font-size:12px; font-weight:500; }
.product-card__footer { display:flex; align-items:center; gap:8px; margin-top:auto; }
.product-card__stock { display:flex; align-items:center; gap:6px; margin-bottom:10px; color:var(--success-500); font-size:11px; font-weight:700; white-space:nowrap; }
.product-card__stock i { width:7px; height:7px; border-radius:50%; background:var(--success-500); }
.product-card__stock--order { color:var(--muted); }
.product-card__stock--order i { background:var(--muted); }
.mini-cart { min-height:38px; flex:1; display:flex; align-items:center; justify-content:center; gap:7px; border:1px solid var(--gold-500); border-radius:5px; background:var(--gold-500); color:var(--blue-900); font-size:12px; font-weight:700; transition:background .22s ease, color .22s ease, border-color .22s ease; }
.product-card:not(.product-card--featured):hover .mini-cart { border-color:var(--blue-700); background:var(--blue-700); color:white; }
.mini-cart svg { width:15px; height:15px; }
.featured .product-card { min-height:372px; padding:0; transition:box-shadow .25s ease; }
.featured .product-card:hover { box-shadow:0 12px 28px rgba(15,36,64,.14); }
.featured .product-card__media { height:216px; flex:0 0 216px; overflow:hidden; background:var(--gray-50); }
.featured .product-card__media > a { display:block; width:100%; height:100%; }
.featured .product-card__media img { height:100%; padding:8px 10px; }
.featured .product-card__specs,.featured .product-card__rating,.featured .product-card__stock { display:none; }
.featured .product-card__body { display:grid; grid-template-columns:minmax(0,1fr) 38px; grid-template-rows:auto auto 1fr 38px; gap:0 8px; padding:8px 12px 12px; }
.featured .product-card__body > a { grid-column:1/-1; }
.featured .product-card h3 { max-width:170px; font-size:17px; }
.featured .product-card__desc { grid-column:1/-1; grid-row:2; min-height:38px; margin:0; font-size:12px; }
.featured .product-card__price { grid-column:1; grid-row:4; align-self:center; margin:0; font-size:24px; }
.featured .product-card__footer { grid-column:2; grid-row:4; align-self:center; justify-content:flex-end; margin:0; }
.featured .mini-cart { width:auto; min-width:42px; height:42px; min-height:42px; padding:0 11px; flex:0 0 auto; overflow:hidden; border-color:var(--gray-300); background:#fff; color:var(--blue-700); transition:border-color .2s ease, color .2s ease; }
.featured .mini-cart__label { display:inline-block; max-width:0; overflow:hidden; white-space:nowrap; font-size:11px; font-weight:700; opacity:0; transform:translateX(6px); transition:max-width .3s ease, opacity .2s ease, transform .3s ease; }
.featured .product-card:hover .mini-cart__label, .featured .mini-cart:focus-visible .mini-cart__label { max-width:120px; opacity:1; transform:none; }
.featured .product-card:hover .mini-cart { border-color:var(--gold-500); color:var(--blue-900); }

.chooser { position:relative; min-height:324px; padding:32px max(var(--gutter),calc((100vw - var(--maxw))/2)); display:grid; grid-template-columns:minmax(260px,300px) minmax(0,1fr); align-items:center; gap:40px; overflow:hidden; background:var(--blue-900); color:white; }
.chooser__intro { position:relative; z-index:2; }
.chooser h2 { margin:10px 0; color:white; font-size:32px; }
.chooser h2 em { color:var(--gold-500); font-style:normal; }
.chooser p { color:#dbe6f0; font-size:13px; }
.chooser__options { position:relative; z-index:2; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:16px; }
.chooser__option { position:relative; min-height:252px; padding:18px 12px 12px; border:1px solid rgba(255,255,255,.3); border-radius:8px; background:rgba(15,36,64,.78); text-align:center; }
.chooser__icon { position:relative; z-index:2; width:40px; height:40px; margin:-34px auto 8px; display:grid; place-items:center; border-radius:50%; background:white; color:var(--blue-700); }
.chooser__icon svg { width:22px; height:22px; }
.chooser__option b { position:relative; z-index:2; display:block; margin-bottom:4px; font-size:18px; }
.chooser__option img { position:relative; z-index:2; display:block; width:140px; height:112px; margin:0 auto 4px; object-fit:contain; mix-blend-mode:normal; }
.chooser__bullets { position:relative; z-index:2; margin:0; padding-left:0; color:#e4edf5; text-align:center; list-style:none; font-size:11.5px; line-height:1.2; }
.chooser__bullets li+li { margin-top:3px; }
.sector { position:relative; padding:60px max(var(--gutter),calc((100vw - var(--maxw))/2)); overflow:hidden; background-color:#0b1a30; color:#fff; }
.sector__bg { position:absolute; z-index:0; top:-15%; bottom:-15%; left:0; right:0; background:url("../assets/images/fondo-soluciones-para-cada-industria.png") center/cover no-repeat; will-change:transform; }
.sector::before { content:""; position:absolute; z-index:1; inset:0; background:rgba(7,17,33,.74); }
.sector__head { position:relative; z-index:2; display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:30px; }
.sector__head h2 { margin:10px 0 0; color:#fff; font-size:34px; line-height:1.08; }
.sector__head h2 em { color:var(--gold-500); font-style:normal; }
.sector__head > a { position:relative; margin-top:8px; padding-bottom:3px; color:#fff; font-size:13px; font-weight:700; white-space:nowrap; }
.sector__head > a::after { content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--gold-500); transform:scaleX(0); transform-origin:left; transition:transform .25s ease; }
.sector__head > a:hover::after, .sector__head > a:focus-visible::after { transform:scaleX(1); }
.sector__grid { position:relative; z-index:2; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }
.sector-card { position:relative; height:236px; overflow:hidden; border:1px solid rgba(255,255,255,.18); border-radius:10px; background:#0b1a30; transition:border-color .25s ease, box-shadow .25s ease; }
.sector-card:hover, .sector-card:focus-within { border-color:var(--gold-500); box-shadow:0 0 0 2px rgba(255,215,0,.55), 0 0 26px rgba(255,215,0,.38); }
.sector-card:hover .sector-card__label, .sector-card:focus-within .sector-card__label { background:var(--gold-500); }
.sector-card:hover .sector-card__label i, .sector-card:hover .sector-card__label b, .sector-card:focus-within .sector-card__label i, .sector-card:focus-within .sector-card__label b { color:var(--blue-900); }
.sector-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.sector-card::after { content:""; position:absolute; inset:auto 0 0; height:48%; background:linear-gradient(180deg,rgba(5,14,28,0),rgba(5,14,28,.94)); }
.sector-card__label { position:absolute; z-index:2; left:10px; right:10px; bottom:10px; display:flex; align-items:center; gap:9px; padding:9px 11px; border-radius:8px; background:rgba(9,22,40,.74); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); transition:background-color .25s ease; }
.sector-card__label i { color:#fff; font-size:21px; line-height:1; transition:color .25s ease; }
.sector-card__label b { color:#fff; font-size:13px; line-height:1.15; transition:color .25s ease; }
.consult-section { width:100%; }
.consult { min-height:400px; padding-inline:max(0px,calc((100vw - 1440px)/2)); display:grid; grid-template-columns:minmax(320px,clamp(390px,38vw,460px)) minmax(0,1fr) minmax(300px,clamp(320px,31.5vw,420px)); overflow:hidden; background-color:var(--blue-900); background-image:linear-gradient(90deg,rgba(15,36,64,.15) 0%,rgba(15,36,64,.55) 16%,rgba(15,36,64,.88) 32%,rgba(15,36,64,.98) 46%,#0f2440 54%,#0f2440 100%),url("../assets/images/hombre-casco.png?v=6"); background-position:center,left center; background-size:100% 100%,auto 100%; background-repeat:no-repeat; color:white; }
.consult__visual-space { grid-column:1; }
.support-banner { min-height:210px; display:grid; grid-template-columns:30% 1.1fr .9fr; overflow:hidden; border-radius:8px; background:var(--blue-900); color:white; }
.support-banner>img { width:100%; height:100%; min-height:210px; object-fit:cover; }
.consult__body { position:relative; z-index:1; padding:18px 26px; display:flex; flex-direction:column; justify-content:center; }
.support-banner__body { padding:26px; }
.consult h2,.support-banner h2 { margin:8px 0; color:white; font-size:27px; }
.consult p,.support-banner p { color:#dbe6f0; font-size:13px; line-height:1.4; }
.consult p { max-width:360px; }
.consult__benefits { position:relative; z-index:1; margin:0; padding:16px 24px; display:flex; flex-direction:column; justify-content:center; gap:13px; border-left:1px solid rgba(255,255,255,.2); list-style:none; color:white; font-size:13px; }
.consult__benefits li { display:flex; align-items:center; gap:14px; min-height:26px; }
.consult__benefits i { width:24px; flex:0 0 24px; color:#e8f0f8; font-size:24px; line-height:1; text-align:center; }
.support-banner h2 em { color:var(--gold-500); font-style:italic; }
.support-banner .eyebrow--light { color:#dbe6f0; }
.support-banner ul { margin:0; padding:26px; display:flex; flex-direction:column; justify-content:center; gap:16px; border-left:1px solid rgba(255,255,255,.16); list-style:none; font-size:12px; }
.support-banner ul li { display:flex; align-items:center; gap:10px; }
.support-banner ul li .ph { width:20px; flex:0 0 20px; color:var(--gold-500); font-size:18px; }
.trust { display:flex; justify-content:center; flex-wrap:wrap; gap:36px; padding:18px var(--gutter); border-block:1px solid var(--line); background:var(--gray-50); }
.trust__item { display:flex; align-items:center; gap:8px; font-size:20px; }
.trust__item>span { display:flex; flex-direction:column; }
.trust__item b { font-size:12px; }
.trust__item small { color:var(--muted); font-size:10px; }
.trust--compact .trust__item { gap:9px; }
.trust--compact .trust__item .ph { color:var(--blue-700); font-size:21px; }
.trust--home { min-height:82px; padding:54px var(--gutter); display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; background:#fff; }
.trust--home .trust__item { position:relative; min-width:0; padding:0 8px 0 24px; gap:12px; font-size:13px; }
.trust--home .trust__item:not(:last-child)::after { content:""; position:absolute; top:16px; right:0; bottom:16px; width:1px; background:var(--line); }
.trust--home .trust__item > i { width:38px; flex:0 0 38px; display:grid; place-items:center; color:var(--blue-700); font-size:36px; line-height:1; }
.trust--home .trust__item > span { gap:3px; }
.trust--home .trust__item b { font-size:12px; line-height:1.2; }
.trust--home .trust__item small { font-size:10.5px; line-height:1.2; }
.trust--compact { padding:14px var(--gutter); gap:24px; }
.brands { display:flex; justify-content:space-around; align-items:center; flex-wrap:wrap; gap:18px; padding:48px var(--gutter); color:var(--blue-700); font-family:var(--font-display); font-size:22px; font-weight:700; }

.category-strip { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; padding-block:18px; }
.category-strip a { min-height:120px; padding:9px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; border:1px solid var(--line); border-radius:6px; background:var(--gray-50); color:var(--gray-800); text-align:center; font-size:12px; font-weight:700; }
.category-strip img { width:100%; height:70px; object-fit:contain; mix-blend-mode:multiply; }
.catalog-body { display:grid; grid-template-columns:240px minmax(0,1fr); gap:24px; padding-block:44px 36px; }
.catalog-body > * { min-width:0; }
.filters { padding-right:16px; border-right:1px solid var(--line); }
.filter-title { display:flex; justify-content:space-between; align-items:center; }
.filter-title h3 { font-size:20px; }
.filter-title button { color:var(--blue-700); font-size:11px; }
.filter-clear { display:inline-flex; align-items:center; gap:6px; padding:7px 13px; border:1px solid var(--blue-700); border-radius:999px; background:transparent; font-weight:700; transition:background .2s ease, color .2s ease, border-color .2s ease; }
.filter-clear .ph { font-size:13px; transition:transform .35s ease; }
.filter-clear:hover { background:var(--blue-700); color:white; }
.filter-clear:hover .ph { transform:rotate(-180deg); }
.filters fieldset { margin:0; padding:14px 0; border:0; border-top:1px solid var(--line); }
.filters legend { width:100%; font-size:13px; font-weight:700; }
.filters fieldset label { display:flex; align-items:center; margin-top:4px; padding:7px 9px; border-radius:6px; color:var(--gray-600); font-size:11.5px; cursor:pointer; transition:background .18s ease, color .18s ease, padding-left .18s ease; }
.filters fieldset label:hover { padding-left:13px; background:rgba(27,79,144,.07); color:var(--blue-900); }
.filters fieldset label:has(input:checked) { background:var(--blue-100); color:var(--blue-700); font-weight:700; }
.filters input[type=checkbox] { margin-right:8px; accent-color:var(--blue-700); transition:transform .15s ease; }
.filters input[type=checkbox]:checked { transform:scale(1.12); }
.filters fieldset label:active input[type=checkbox] { transform:scale(.85); }
.filters a { color:var(--blue-700); font-size:11px; }
.filters .filters__search { display:flex; align-items:center; gap:9px; margin:0 0 18px; padding:0 12px; border:1px solid var(--gray-300); border-radius:6px; background:white; color:var(--gray-600); font-size:12px; }
.filters__search svg { width:16px; height:16px; flex:0 0 auto; }
.filters__search input { width:100%; height:40px; border:0; outline:0; background:transparent; font:inherit; font-size:12px; }
.filters__search:focus-within { border-color:var(--blue-700); box-shadow:0 0 0 3px rgba(27,79,144,.14); }
.filters__help { margin-top:22px; overflow:hidden; border-radius:10px; background:var(--blue-900); color:white; }
.filters__help img { display:block; width:100%; height:120px; object-fit:cover; object-position:top; }
.filters__help-body { padding:16px 16px 18px; }
.filters__help-body b { display:block; font-size:14px; }
.filters__help-body p { margin:5px 0 12px; color:#dbe6f0; font-size:11px; line-height:1.45; }
.filters__help-body .button { width:100%; justify-content:center; font-size:12px; }
.site-search,.hero__search,.filters .filters__search { position:relative; }
.search-suggest { position:absolute; z-index:70; top:calc(100% + 8px); left:0; width:100%; padding:8px; border:1px solid var(--line); border-radius:12px; background:white; box-shadow:0 20px 44px rgba(15,36,64,.2); visibility:hidden; opacity:0; transform:translateY(-6px); pointer-events:none; transition:opacity .18s ease, transform .18s ease, visibility .18s; }
.search-suggest.is-open { visibility:visible; opacity:1; transform:none; pointer-events:auto; }
.search-suggest__item { display:flex; align-items:center; gap:11px; padding:8px; border-radius:8px; cursor:pointer; transition:background .15s ease; }
.search-suggest__item:hover,.search-suggest__item.is-active { background:rgba(27,79,144,.08); }
.search-suggest__item img { width:46px; height:46px; flex:0 0 46px; object-fit:contain; border-radius:8px; background:var(--gray-50); }
.search-suggest__info { min-width:0; flex:1; }
.search-suggest__name { display:block; overflow:hidden; color:var(--blue-900); font-size:12.5px; font-weight:600; line-height:1.25; text-overflow:ellipsis; }
.search-suggest__name mark { padding:0 1px; border-radius:3px; background:rgba(255,215,0,.45); color:inherit; }
.search-suggest__meta { display:block; margin-top:2px; color:var(--muted); font-size:10.5px; }
.search-suggest__price { margin-left:auto; padding-left:8px; color:var(--blue-900); font-family:var(--font-display); font-size:14px; font-weight:700; white-space:nowrap; }
.search-suggest__all { display:flex; align-items:center; justify-content:center; gap:6px; margin-top:6px; padding:10px; border-top:1px solid var(--line); color:var(--blue-700); font-size:12px; font-weight:700; transition:background .15s ease, color .15s ease; }
.search-suggest__all:hover { background:rgba(27,79,144,.06); color:var(--blue-900); }
.search-suggest__empty { padding:16px 12px; color:var(--muted); font-size:12px; text-align:center; }
.range { width:100%; accent-color:var(--blue-700); }
.price-range { display:flex; justify-content:space-between; gap:8px; }
.price-range span { padding:6px; border:1px solid var(--gray-300); border-radius:4px; font-family:var(--font-mono); font-size:10px; }
.products-heading { display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:12px; margin-bottom:14px; }
.products-heading h2 { font-size:23px; }
.products-heading h2 span { color:var(--muted); font-size:14px; font-weight:500; }
.products-heading__filters { display:flex; gap:7px; margin-top:7px; }
.products-heading__filters button { padding:6px 9px; border-radius:4px; background:var(--blue-100); color:var(--blue-700); font-size:10px; }
.products-heading__sort { display:flex; align-items:center; flex-wrap:wrap; gap:10px; font-size:11px; }
.products-heading__sort-label { color:var(--gray-600); font-size:12px; }
.sort-select { position:relative; }
.sort-select__trigger { min-height:38px; padding:0 12px; display:inline-flex; align-items:center; gap:10px; border:1px solid var(--gray-300); border-radius:8px; background:white; color:var(--blue-900); font-size:12px; font-weight:600; cursor:pointer; transition:border-color .2s ease, box-shadow .2s ease; }
.sort-select__trigger:hover { border-color:var(--blue-700); }
.sort-select__trigger .ph { color:var(--blue-700); font-size:14px; transition:transform .25s ease; }
.sort-select.is-open .sort-select__trigger { border-color:var(--blue-700); box-shadow:0 0 0 3px rgba(27,79,144,.14); }
.sort-select.is-open .sort-select__trigger .ph { transform:rotate(180deg); }
.sort-select__menu { position:absolute; z-index:40; top:calc(100% + 6px); right:0; min-width:100%; margin:0; padding:6px; list-style:none; border:1px solid var(--line); border-radius:10px; background:white; box-shadow:0 16px 36px rgba(15,36,64,.16); opacity:0; transform:translateY(-6px) scale(.98); pointer-events:none; transition:opacity .18s ease, transform .18s ease; }
.sort-select.is-open .sort-select__menu { opacity:1; transform:none; pointer-events:auto; }
.sort-select__menu li { padding:9px 12px; border-radius:6px; color:var(--gray-800); font-size:12px; white-space:nowrap; cursor:pointer; transition:background .15s ease, color .15s ease; }
.sort-select__menu li:hover { background:rgba(27,79,144,.07); color:var(--blue-700); }
.sort-select__menu li.is-active { background:var(--blue-700); color:white; font-weight:700; }
.view-switch { display:inline-flex; gap:6px; }
.view-toggle { min-height:38px; padding:0 12px; display:inline-flex; align-items:center; gap:6px; border:1px solid var(--gray-300); border-radius:8px; background:white; color:var(--blue-700); font-size:12px; font-weight:600; cursor:pointer; transition:background .2s ease, color .2s ease, border-color .2s ease; }
.view-toggle .ph { font-size:15px; }
.view-toggle:hover { border-color:var(--blue-700); background:rgba(27,79,144,.06); }
.view-toggle--active, .view-toggle--active:hover { border-color:var(--blue-700); background:var(--blue-700); color:white; }
.store-grid--list { grid-template-columns:1fr; }
.store-grid--list .product-card { min-height:0; flex-direction:row; align-items:stretch; padding:14px 16px; }
.store-grid--list .product-card__media { flex:0 0 140px; align-self:center; }
.store-grid--list .product-card__media img { height:105px; }
.store-grid--list .product-card__body { flex:1; min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto; align-content:center; align-items:center; gap:3px 24px; padding-left:18px; }
.store-grid--list .product-card__brand { margin-top:0; }
.store-grid--list .product-card h3 { max-width:none; }
.store-grid--list .product-card__desc { margin-bottom:2px; }
.store-grid--list .product-card__rating { margin-bottom:0; }
.store-grid--list .product-card__price { grid-column:2; grid-row:1; margin:0; text-align:right; }
.store-grid--list .product-card__stock { grid-column:2; grid-row:2; margin:0; justify-content:flex-end; }
.store-grid--list .product-card__footer { grid-column:2; grid-row:3; min-width:170px; }
.store-grid .product-card { min-height:330px; }
.store-grid .product-card__media img { height:130px; }
.pagination { display:flex; justify-content:center; gap:6px; padding-top:20px; }
.pagination button { min-width:30px; height:30px; border:1px solid var(--line); border-radius:4px; background:white; }
.pagination .active { background:var(--blue-700); color:white; }
.support-banner { margin-block:28px; }

.product-detail { max-width:var(--maxw); margin:0 auto; padding:8px var(--gutter) 40px; display:grid; grid-template-columns:1.05fr .95fr; align-items:start; gap:36px; }
.product-gallery { min-height:540px; padding:18px; display:grid; grid-template-columns:76px minmax(0,1fr); gap:14px; border:1px solid var(--line); border-radius:10px; background:var(--gray-50); }
.product-gallery__main { position:relative; min-height:0; display:grid; place-items:center; overflow:hidden; border-radius:8px; background:white; }
.product-gallery__main img { max-width:88%; max-height:470px; object-fit:contain; }
.gallery-nav { position:absolute; top:50%; transform:translateY(-50%); width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; background:white; color:var(--blue-700); font-size:24px; box-shadow:0 2px 8px rgba(15,36,64,.08); transition:border-color .2s ease, color .2s ease; }
.gallery-nav:hover { border-color:var(--blue-700); color:var(--blue-900); }
.gallery-nav--left { left:12px; }.gallery-nav--right { right:12px; }
.gallery-expand { position:absolute; right:12px; bottom:12px; width:34px; height:34px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; background:white; color:var(--blue-700); font-size:17px; transition:border-color .2s ease; }
.gallery-expand:hover { border-color:var(--blue-700); }
.thumbs { display:flex; flex-direction:column; gap:10px; }
.thumbs__btn { width:100%; aspect-ratio:1; padding:6px; border:1px solid var(--gray-300); border-radius:8px; background:white; transition:border-color .2s ease, box-shadow .2s ease; }
.thumbs__btn:hover { border-color:var(--blue-700); }
.thumbs__btn--active { border:2px solid var(--blue-700); box-shadow:0 0 0 2px rgba(27,79,144,.12); }
.thumbs img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.product-summary { display:flex; flex-direction:column; gap:10px; }
.product-summary h1 { margin:0; color:var(--blue-900); font-size:38px; line-height:1.04; }
.product-summary__meta { margin:0; color:var(--gray-600); font-size:12px; }
.product-summary__rating { margin:0; display:flex; align-items:center; gap:9px; }
.product-summary__rating .stars { color:var(--gold-500); font-size:16px; letter-spacing:1.5px; }
.product-summary__rating a { color:var(--blue-700); font-size:12px; }
.product-summary__desc { margin:0; color:var(--muted); font-size:14px; line-height:1.55; }
.price-line { margin:6px 0 0; display:flex; justify-content:space-between; align-items:center; }
.price-line strong { color:var(--blue-900); font-family:var(--font-display); font-size:38px; }
.price-line .stock { display:flex; align-items:center; gap:8px; }
.price-line .stock .ph { color:var(--success-500); font-size:24px; }
.price-line .stock>span { display:flex; flex-direction:column; }
.price-line .stock b { color:var(--success-500); font-size:13px; }
.price-line small { color:var(--muted); font-size:11px; font-weight:400; }
.price-note { margin:0 0 2px; color:var(--muted); font-size:11.5px; }
.feature-list { margin:0; padding:0; display:grid; gap:8px; list-style:none; }
.feature-list li { display:flex; gap:8px; color:var(--muted); font-size:12px; }
.feature-list i { color:var(--gold-700); font-style:normal; }
.feature-list b { color:var(--gray-900); }
.variants { display:grid; gap:12px; }
.variant { display:grid; gap:6px; }
.variant__label { color:var(--gray-600); font-size:12px; font-weight:700; }
.variant__options { display:flex; flex-wrap:wrap; gap:7px; }
.variant__chip { padding:7px 12px; border:1px solid var(--gray-300); border-radius:4px; background:white; font-family:var(--font-mono); font-size:11px; }
.variant__chip--active { border-color:var(--blue-700); background:var(--blue-100); color:var(--blue-700); }
.qty { display:inline-flex; align-items:center; border:1px solid var(--gray-300); border-radius:10px; overflow:hidden; background:#fff; }
.qty button { width:38px; height:100%; min-height:42px; display:grid; place-items:center; border:0; background:transparent; color:var(--blue-700); font-size:17px; font-weight:700; transition:background .18s ease, color .18s ease, transform .12s ease; }
.qty button:hover { background:var(--blue-100); color:var(--blue-900); }
.qty button:active { transform:scale(.86); }
.qty button svg { width:15px; height:15px; }
.qty output { min-width:36px; padding:8px 0; text-align:center; font-family:var(--font-mono); font-size:14px; font-weight:700; color:var(--gray-900); border-inline:1px solid var(--line); }
.product-actions { display:flex; flex-wrap:wrap; gap:10px; }
.product-actions .button { flex:1; min-width:150px; }
.product-actions__cart { height:48px; justify-content:center; border-radius:8px; font-size:14px; }
.product-actions--secondary { margin-top:2px; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.product-actions--secondary .button:only-child { grid-column:1 / -1; }
.product-actions--secondary .button { min-width:0; height:44px; justify-content:center; border-radius:8px; font-size:12.5px; }
.product-trust { display:flex; gap:24px; margin-top:14px; padding-top:14px; border-top:1px solid var(--line); }
.product-trust__item { display:flex; align-items:center; gap:9px; }
.product-trust__item>i { color:var(--blue-700); font-size:23px; }
.product-trust__item>span { display:flex; flex-direction:column; }
.product-trust__item b { color:var(--gray-900); font-size:11.5px; line-height:1.2; }
.product-trust__item small { color:var(--muted); font-size:10px; line-height:1.25; }
.product-desc { display:grid; grid-template-columns:1.1fr .9fr; gap:44px; align-items:center; padding-block:48px; }
.product-desc__body h2 { position:relative; margin:0 0 18px; padding-bottom:12px; color:var(--blue-900); font-size:26px; }
.product-desc__body h2::after { content:""; position:absolute; bottom:0; left:0; width:46px; height:4px; border-radius:2px; background:var(--gold-500); }
.product-desc__body p { margin:0 0 14px; color:#4a5568; font-size:14.5px; line-height:1.7; }
.product-desc__img { width:100%; height:360px; object-fit:cover; border-radius:12px; background:var(--gray-50); }
.feature-band { padding-block:28px; border-block:1px solid var(--line); background:var(--gray-50); }
.feature-band__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.feature-band__item { display:flex; align-items:center; gap:12px; }
.feature-band__item .ph { width:42px; height:42px; flex:0 0 42px; padding:9px; border:1.5px solid var(--blue-700); border-radius:11px; color:var(--blue-700); font-size:22px; }
.feature-band__item b { color:var(--blue-900); font-size:12.5px; line-height:1.3; }
.docs-related { display:grid; grid-template-columns:1fr 1fr; gap:52px; padding-block:46px; }
.docs-related h2 { position:relative; margin:0 0 16px; padding-bottom:10px; color:var(--blue-900); font-size:19px; }
.docs-related h2::after { content:""; position:absolute; bottom:0; left:0; width:40px; height:3px; border-radius:2px; background:var(--gold-500); }
.doc-row { display:flex; align-items:center; gap:12px; margin-top:10px; padding:14px 16px; border:1px solid var(--line); border-radius:10px; background:white; transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.doc-row:hover { border-color:var(--blue-700); box-shadow:0 6px 16px rgba(15,36,64,.08); transform:translateY(-1px); }
.doc-row>span { min-width:0; flex:1; display:flex; flex-direction:column; }
.doc-row b { color:var(--gray-900); font-size:13px; }
.doc-row small { color:var(--muted); font-size:11px; }
.doc-row .ph-file-pdf { color:#e5484d; font-size:26px; }
.doc-row .ph-seal-check { color:var(--blue-700); font-size:26px; }
.doc-row .ph-download-simple { margin-left:auto; color:var(--blue-700); font-size:21px; }
.docs-related__head { display:flex; justify-content:space-between; align-items:baseline; }
.docs-related__head h2 { margin-bottom:0; }
.docs-related__head a { color:var(--blue-700); font-size:12px; font-weight:700; }
.docs-related__grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:16px; }
.docs-related__grid .product-card { min-height:0; flex-direction:row; align-items:center; gap:12px; padding:12px; }
.docs-related__grid .product-card__media { flex:0 0 84px; align-self:center; }
.docs-related__grid .product-card__media img { height:78px; }
.docs-related__grid .product-card__badge,.docs-related__grid .product-card__brand,.docs-related__grid .product-card__specs,.docs-related__grid .product-card__desc,.docs-related__grid .product-card__rating,.docs-related__grid .product-card__stock { display:none; }
.docs-related__grid .product-card__body { flex:1; min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto auto; gap:4px 10px; align-items:center; }
.docs-related__grid .product-card__body>a { grid-column:1; grid-row:1; min-width:0; }
.docs-related__grid .product-card h3 { margin:0; font-size:12.5px; line-height:1.25; }
.docs-related__grid .product-card__price { grid-column:1; grid-row:2; margin:0; font-size:15px; white-space:nowrap; }
.docs-related__grid .product-card__footer { grid-column:2; grid-row:1/3; margin:0; }
.docs-related__grid .mini-cart { width:34px; height:34px; min-height:34px; flex:0 0 34px; padding:0; border-radius:6px; }
.docs-related__grid .mini-cart span { display:none; }
.product-tabs { margin-block:32px; }
.tabs__nav { display:flex; flex-wrap:wrap; border-bottom:1px solid var(--line); }
.tabs__nav button { padding:12px 15px; border-bottom:3px solid transparent; color:var(--muted); font-weight:700; }
.tabs__nav button[data-active] { color:var(--blue-700); border-bottom-color:var(--gold-500); }
.tabs__panel { padding-block:18px; }
.spec-table { width:100%; border-collapse:collapse; font-size:13px; }
.spec-table th,.spec-table td { padding:10px 12px; border-bottom:1px solid var(--line); text-align:left; }
.spec-table th { width:40%; color:var(--muted); }
.spec-table td { font-family:var(--font-mono); }
.spec-table tr:nth-child(even) { background:var(--gray-50); }
.resource-list { display:grid; gap:8px; }
.resource-list a { padding:12px; border:1px solid var(--line); border-radius:4px; color:var(--blue-700); font-size:13px; font-weight:600; }
.related { padding-block:24px; }

.panel { border:1px solid var(--line); border-radius:7px; background:white; }
.panel__header { padding:16px 20px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--line); }
.panel__header h2 { margin:0; font-size:20px; }
.panel__header button { color:var(--blue-700); font-size:12px; }
.cart-layout { max-width:var(--maxw); margin:0 auto; padding:28px var(--gutter); display:grid; grid-template-columns:1.7fr .85fr; gap:22px; align-items:start; }
.cart-columns,.cart-item { display:grid; grid-template-columns:2.1fr 1fr .85fr .9fr; align-items:center; gap:10px; }
.cart-columns { padding:12px 18px; background:var(--gray-50); color:var(--gray-600); font-size:11px; font-weight:700; }
.cart-item { padding:14px 18px; border-bottom:1px solid var(--line); font-size:12px; }
.cart-item__name { display:flex; align-items:center; gap:10px; }
.cart-item__name img { width:78px; height:76px; object-fit:contain; }
.cart-item__info { display:grid; }
.cart-item__info b { font-size:12px; }
.cart-item__info small { color:var(--muted); font-family:var(--font-mono); font-size:10px; }
.cart-item__info .stock { color:var(--success-500); }
.cart-item .qty button { width:32px; min-height:34px; }
.cart-item .qty output { min-width:30px; padding:5px 0; font-size:13px; }
.cart-item__subtotal { display:flex; justify-content:space-between; align-items:center; gap:5px; }
.remove-btn { width:32px; height:32px; display:grid; place-items:center; border:0; border-radius:8px; background:transparent; color:var(--gray-400); transition:background .18s ease, color .18s ease, transform .12s ease; }
.remove-btn:hover { background:#fdecea; color:#c62828; }
.remove-btn:active { transform:scale(.86); }
.remove-btn svg { width:17px; height:17px; }
.cart-box__footer { padding:14px 18px; display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.cart-box__footer .button { display:inline-flex; align-items:center; gap:8px; font-size:.875rem; }
.cart-box__footer .ph { font-size:17px; }
.cart-box__clear { display:inline-flex; align-items:center; gap:6px; border:0; background:none; padding:0; color:var(--blue-700); font-size:.8125rem; font-weight:600; cursor:pointer; transition:color .2s ease; }
.cart-box__clear:hover { color:#c0392b; }
.cart-box__clear .ph { font-size:16px; }
.order-summary { position:sticky; top:85px; padding:0 18px 18px; }
.order-summary h2 { margin:0; padding:16px 0; border-bottom:1px solid var(--line); font-size:20px; }
.order-summary__row { display:flex; justify-content:space-between; gap:12px; padding:8px 0; color:var(--muted); font-size:12px; }
.order-summary__row b { color:var(--gray-900); }
.order-summary__row .ph { font-size:14px; vertical-align:-2px; }
.order-summary__row a { color:var(--blue-700); font-size:.8125rem; }
.order-summary__row a:hover { text-decoration:underline; }
.order-summary__total { display:flex; justify-content:space-between; align-items:center; padding:12px; border-radius:4px; background:var(--blue-100); font-weight:700; }
.order-summary__total b { font-family:var(--font-display); font-size:22px; }
.order-summary .button svg { width:19px; height:19px; flex:0 0 19px; }
.secure-box { margin-top:12px; padding:10px; display:flex; align-items:center; gap:9px; border:1px solid #d8e5f2; border-radius:4px; background:#eef4fb; font-size:11px; }
.secure-box svg { width:20px; height:20px; flex:0 0 20px; }
.payments-title { margin:14px 0 0; font-size:.9375rem; }
.payments { margin-top:8px; }
.payments img { display:block; width:100%; height:auto; }
.coupon { margin:0 var(--gutter) 24px; padding:16px 18px; display:flex; align-items:center; gap:16px; border:1px solid var(--line); border-radius:8px; background:#fff; }
.coupon__icon { width:46px; height:46px; flex:0 0 46px; display:grid; place-items:center; border-radius:10px; background:var(--blue-100); color:var(--blue-700); font-size:24px; }
.coupon__text { flex:1 1 auto; display:grid; gap:2px; }
.coupon__text b { font-size:.9375rem; }
.coupon__text small { color:var(--muted); font-size:.8125rem; }
.coupon__input { display:flex; gap:8px; flex:0 0 auto; }
.coupon__input input { min-width:220px; padding:10px 12px; border:1px solid var(--gray-300); border-radius:8px; font-size:.875rem; }
.coupon__input input:focus { border-color:var(--blue-700); box-shadow:0 0 0 3px rgba(26,62,110,.12); outline:none; }
.coupon__input .button { background:var(--blue-700); color:#fff; font-size:.875rem; padding-inline:22px; }
.coupon__input .button:hover { background:var(--blue-900); }

/* ---- Mini carrito lateral ---- */
.cart-drawer-overlay { position:fixed; inset:0; z-index:400; background:rgba(8,20,36,.55); opacity:0; visibility:hidden; transition:opacity .3s ease, visibility .3s ease; }
.cart-drawer-overlay--show { opacity:1; visibility:visible; }
.cart-drawer { position:fixed; top:0; right:0; z-index:401; width:min(400px,92vw); height:100dvh; display:flex; flex-direction:column; background:#fff; box-shadow:-18px 0 50px rgba(15,36,64,.2); transform:translateX(105%); transition:transform .4s cubic-bezier(.32,.72,.28,1); }
.cart-drawer--open { transform:translateX(0); }
body.cart-lock { overflow:hidden; }
.cart-drawer__head { padding:18px 20px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.cart-drawer__head h3 { margin:0; font-size:18px; color:var(--blue-900); }
.cart-drawer__head h3 span { color:var(--muted); font-weight:500; font-size:.875rem; }
.cart-drawer__close { width:34px; height:34px; display:grid; place-items:center; border:0; border-radius:8px; background:var(--gray-50); color:var(--gray-600); font-size:20px; line-height:1; cursor:pointer; transition:background .18s ease, color .18s ease; }
.cart-drawer__close:hover { background:var(--blue-100); color:var(--blue-700); }
.cart-drawer__items { flex:1; overflow-y:auto; padding:4px 20px; }
.mini-item { padding:14px 0; display:grid; grid-template-columns:56px 1fr auto; align-items:center; gap:12px; border-bottom:1px solid var(--line); }
.mini-item img { width:56px; height:56px; object-fit:contain; }
.mini-item__info b { display:block; color:var(--blue-900); font-size:.8125rem; font-weight:700; line-height:1.3; }
.mini-item__info small { display:block; margin-top:4px; color:var(--muted); font-size:.75rem; }
.mini-item__side { display:grid; gap:5px; justify-items:end; }
.mini-item__side b { color:var(--blue-900); font-size:.8125rem; }
.cart-drawer__empty { min-height:320px; display:grid; place-content:center; justify-items:center; gap:12px; color:var(--muted); font-size:.875rem; text-align:center; }
.cart-drawer__empty svg { width:46px; height:46px; opacity:.35; }
.cart-drawer__foot { padding:16px 20px 20px; border-top:1px solid var(--line); background:#fff; }
.cart-drawer__subtotal { display:flex; justify-content:space-between; align-items:center; margin:0 0 12px; color:var(--muted); font-size:.875rem; }
.cart-drawer__subtotal b { color:var(--blue-900); font-family:var(--font-display); font-size:1.25rem; }
.cart-drawer__btn { width:100%; height:46px; border-radius:9px; font-size:.875rem; }
.cart-drawer__btn svg { width:17px; height:17px; }
.cart-drawer__btn + .cart-drawer__btn { margin-top:8px; }

/* ---- Mi cuenta ---- */
.crumbs-bar { background:#fff; border-bottom:1px solid var(--line); }
.crumbs-bar .breadcrumb { padding-block:12px; }
.crumbs-bar .breadcrumb a { color:var(--gray-600); }
.crumbs-bar .breadcrumb a:hover { color:var(--blue-700); }
.hero--account .hero__bg { background-image:url("../assets/images/hombre-casco.png"); background-position:right center; }
.hero--account .hero__content { max-width:none; padding:34px max(40px,calc((100vw - var(--maxw))/2)); }
.hero--account h1 { font-size:40px; }
.hero--account h1 em { color:var(--gold-500); font-style:normal; }
.hero--account p { margin:0; font-size:15px; }
.account-layout { max-width:var(--maxw); margin:0 auto; padding:26px var(--gutter) 60px; display:grid; grid-template-columns:230px minmax(0,1fr); gap:22px; align-items:start; }
.account-nav { position:sticky; top:85px; padding:10px; display:grid; gap:2px; }
.account-nav a { display:flex; align-items:center; gap:10px; padding:11px 12px; border-radius:8px; color:var(--gray-600); font-size:.85rem; font-weight:600; transition:background .18s ease, color .18s ease; }
.account-nav a .ph { font-size:18px; }
.account-nav a:hover { background:var(--gray-50); color:var(--blue-700); }
.account-nav a.active { background:var(--blue-700); color:#fff; }
.account-nav a.danger { color:#c62828; }
.account-nav a.danger:hover { background:#fdecea; color:#c62828; }
.account-nav hr { margin:8px 4px; border:0; border-top:1px solid var(--line); }
.account-main { min-width:0; display:grid; gap:18px; }
.account-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.account-card { padding:17px 16px; display:flex; align-items:center; gap:13px; transition:transform .2s ease, box-shadow .2s ease; }
.account-card:hover { transform:translateY(-2px); box-shadow:0 10px 26px rgba(15,36,64,.1); }
.account-card__icon { width:46px; height:46px; flex:0 0 46px; display:grid; place-items:center; border-radius:11px; background:var(--blue-100); color:var(--blue-700); font-size:23px; }
.account-card b { display:block; color:var(--gray-900); font-size:.875rem; }
.account-card small { display:block; margin-top:3px; color:var(--muted); font-size:.75rem; }
.account-card__chev { margin-left:auto; color:var(--gray-400); font-size:20px; transition:color .2s ease, transform .2s ease; }
.account-card:hover .account-card__chev { color:var(--blue-700); transform:translateX(3px); }
.panel__body { padding:16px 20px; }
.orders-table { width:100%; border-collapse:collapse; font-size:.8125rem; }
.orders-table th { padding:12px 16px; background:var(--gray-50); color:var(--gray-600); font-size:.6875rem; font-weight:700; letter-spacing:.04em; text-align:left; text-transform:uppercase; }
.orders-table td { padding:13px 16px; border-top:1px solid var(--line); color:var(--gray-900); }
.orders-table td:first-child { color:var(--blue-900); font-weight:700; }
.status-pill { padding:5px 11px; border-radius:999px; font-size:.6875rem; font-weight:700; white-space:nowrap; }
.status--success { background:var(--success-100); color:#15803d; }
.status--info { background:var(--blue-100); color:var(--blue-700); }
.status--danger { background:#fdecea; color:#c62828; }
.detail-btn { display:inline-block; padding:7px 13px; border:1px solid var(--gray-300); border-radius:7px; background:#fff; color:var(--blue-700); font-size:.75rem; font-weight:700; white-space:nowrap; text-decoration:none; cursor:pointer; transition:border-color .18s ease, background .18s ease; }
.detail-btn:hover { border-color:var(--blue-700); background:var(--blue-100); }
.account-duo { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.saved-card { padding:16px; border:1px solid var(--line); border-radius:10px; }
.saved-card__tag { display:inline-block; margin-bottom:10px; padding:4px 10px; border-radius:999px; background:var(--gold-500); color:var(--blue-900); font-size:.625rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.saved-card b { color:var(--gray-900); font-size:.875rem; }
.saved-card p { margin:7px 0 12px; color:var(--muted); font-size:.8125rem; line-height:1.5; }
.saved-card__actions { display:flex; gap:16px; }
.saved-card__actions a { color:var(--blue-700); font-size:.75rem; font-weight:600; }
.saved-card__actions a:hover { text-decoration:underline; }
.saved-card__actions a:last-child { color:#c62828; }
.account-data { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.account-data p { margin:0; }
.account-data small { display:block; margin-bottom:5px; color:var(--muted); font-size:.6875rem; }
.account-data b { color:var(--gray-900); font-size:.875rem; }
.account-help { display:grid; grid-template-columns:minmax(0,.85fr) 1.4fr; border:1px solid var(--line); border-radius:8px; overflow:hidden; background:#fff; }
.account-help img { width:100%; height:100%; min-height:150px; object-fit:cover; }
.account-help>div { padding:24px 26px; display:grid; gap:7px; align-content:center; justify-items:start; }
.account-help h3 { margin:0; color:var(--blue-900); font-size:17px; }
.account-help p { margin:0 0 8px; color:var(--muted); font-size:.8125rem; }
.empty-state { padding:36px; text-align:center; }
.empty-state svg { width:48px; height:48px; margin:0 auto 12px; color:var(--gray-400); }
.empty-state p { color:var(--muted); }

.checkout-layout { max-width:var(--maxw); margin:0 auto; padding:28px var(--gutter) 80px; display:grid; grid-template-columns:1.5fr 1fr; align-items:start; gap:22px; }
.checkout-form { display:grid; gap:14px; }
.form-card { padding:22px 20px; }
.form-card h2 { margin-bottom:18px; display:flex; align-items:center; gap:11px; font-size:17px; color:var(--blue-900); }
.form-card h2 .ph { width:34px; height:34px; flex:0 0 34px; display:grid; place-items:center; border-radius:9px; background:var(--blue-100); color:var(--blue-700); font-size:19px; }
.two-field { display:grid; grid-template-columns:1.2fr .9fr; gap:14px; }
.form-field { display:block; margin-bottom:12px; color:var(--gray-900); font-size:.8125rem; font-weight:600; }
.form-field input,.form-field select { display:block; width:100%; height:46px; margin-top:7px; padding:0 14px; border:1px solid var(--gray-300); border-radius:8px; background:#fff; font-size:.875rem; transition:border-color .18s ease, box-shadow .18s ease; }
.form-field input:focus,.form-field select:focus { border-color:var(--blue-700); box-shadow:0 0 0 3px rgba(26,62,110,.12); outline:none; }
.check-line { display:flex; align-items:center; gap:8px; color:var(--gray-600); font-size:12px; }
.check-line input { accent-color:var(--blue-700); }
.tabs--persona { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:16px; }
.tabs--persona button { height:48px; display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1px solid var(--gray-300); border-radius:8px; background:#fff; color:var(--gray-600); font-size:.875rem; font-weight:600; cursor:pointer; transition:border-color .18s ease, background .18s ease, color .18s ease; }
.tabs--persona button .ph { font-size:19px; }
.tabs--persona button.button--active { border:1.5px solid var(--blue-700); background:#f6f9fd; color:var(--blue-700); }
.payment-option { min-height:64px; margin-bottom:9px; padding:13px 14px; display:flex; align-items:center; gap:14px; border:1px solid var(--line); border-radius:8px; background:#fff; cursor:pointer; transition:border-color .18s ease, background .18s ease; }
.payment-option:last-of-type { margin-bottom:0; }
.payment-option:hover { border-color:var(--blue-300); }
.payment-option:has(input:checked) { border-color:var(--blue-700); background:#f6f9fd; }
.payment-option input { accent-color:var(--blue-700); width:17px; height:17px; flex:0 0 auto; }
.payment-option__icon { margin-left:auto; width:38px; height:38px; flex:0 0 38px; display:grid; place-items:center; border-radius:9px; background:var(--blue-100); color:var(--blue-700); font-size:20px; }
.payment-option__body { flex:1; }
.payment-option__body b,.payment-option__body small { display:block; }
.payment-option__body b { font-size:.875rem; font-weight:700; color:var(--gray-900); }
.payment-option__body small { margin-top:2px; color:var(--muted); font-size:.75rem; }
.checkout-summary { position:sticky; top:85px; padding:0 18px 18px; }
.checkout-summary .panel__header { margin:0 -18px; }
.checkout-summary .panel__header h2 { font-size:18px; }
.checkout-summary .panel__header h2 span { color:var(--muted); font-weight:500; }
.edit-cart-link { color:var(--blue-700); font-size:.8125rem; font-weight:700; }
.edit-cart-link:hover { text-decoration:underline; }
.checkout-item { padding:14px 0; display:grid; grid-template-columns:56px 1fr auto; align-items:center; gap:12px; border-bottom:1px solid var(--line); font-size:11px; }
.checkout-item img { width:56px; height:56px; object-fit:contain; align-self:start; margin-top:2px; }
.checkout-item__info { display:grid; gap:5px; justify-items:start; }
.checkout-item__info b { display:block; color:var(--blue-900); font-size:.8125rem; font-weight:700; line-height:1.3; }
.checkout-item__info small { display:block; color:var(--muted); font-family:var(--font-mono); font-size:.625rem; }
.checkout-item__info .qty { margin-top:3px; }
.checkout-item .qty button { width:30px; min-height:32px; }
.checkout-item .qty output { min-width:28px; padding:4px 0; font-size:12.5px; }
.checkout-item__side { display:grid; gap:7px; justify-items:end; }
.checkout-item__price { color:var(--blue-900); font-size:.875rem; font-weight:700; }
.checkout-coupon { margin-top:14px; padding-top:14px; border-top:1px solid var(--line); }
.checkout-coupon__label { display:flex; align-items:center; gap:8px; margin-bottom:10px; color:var(--blue-700); font-size:.8125rem; font-weight:600; }
.checkout-coupon__label .ph { font-size:17px; }
.checkout-coupon__row { display:flex; gap:8px; }
.checkout-coupon__row input { flex:1; min-width:0; height:42px; padding:0 12px; border:1px solid var(--gray-300); border-radius:8px; font-size:.8125rem; }
.checkout-coupon__row input:focus { border-color:var(--blue-700); box-shadow:0 0 0 3px rgba(26,62,110,.12); outline:none; }
.checkout-coupon__row .button { height:42px; padding-inline:16px; border-color:var(--blue-700); color:var(--blue-700); font-size:.8125rem; border-radius:8px; }
.checkout-coupon__row .button:hover { background:var(--blue-700); color:#fff; }
.checkout-summary>.order-summary__row { margin-top:14px; font-size:.8125rem; }
.checkout-summary>.order-summary__total { margin-top:10px; }
.checkout-total { padding:14px; border-radius:8px; }
.checkout-total span { font-size:1rem; font-weight:700; color:var(--blue-900); }
.checkout-total b { font-size:1.375rem; color:var(--blue-900); }
.checkout-total small { margin-left:2px; font-size:.7rem; font-weight:600; color:var(--muted); }
.pay-now { margin-top:14px; height:52px; display:flex; align-items:center; justify-content:center; gap:8px; border-radius:10px; font-size:.9375rem; font-weight:700; }
.pay-now .ph { font-size:18px; }
.pay-now__amount { font-weight:800; }

.thanks-layout { max-width:var(--maxw); margin:0 auto; padding:28px var(--gutter); display:grid; grid-template-columns:1.6fr .85fr; align-items:start; gap:22px; }
.order-detail { padding:0 20px 18px; }
.order-detail__header { padding:16px 0; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--line); }
.order-detail__header h2 { margin:0; font-size:20px; }
.order-detail__status { padding:7px 10px; border-radius:4px; background:var(--success-100); color:var(--success-500); font-size:11px; font-weight:700; }
.detail-metadata { padding:14px 0; display:grid; grid-template-columns:1fr 1fr; border-bottom:1px solid var(--line); }
.detail-metadata p { margin:0; color:var(--muted); font-size:12px; }
.detail-metadata b { display:block; margin-top:5px; color:var(--gray-900); font-size:16px; }
.thanks-item { padding:12px 0; display:grid; grid-template-columns:55px 1fr 60px 90px; align-items:center; gap:8px; border-bottom:1px solid var(--line); font-size:12px; }
.thanks-item img { width:55px; height:50px; object-fit:contain; }
.thanks-item small { display:block; color:var(--muted); font-size:10px; }
.paid-total { width:62%; margin:18px 0 0 auto; }
.paid-total p { margin:6px 0; display:flex; justify-content:space-between; color:var(--muted); font-size:12px; }
.paid-total strong { padding:12px; display:flex; justify-content:space-between; background:var(--blue-100); border-radius:4px; }
.paid-total strong b { font-size:21px; }
.thanks-aside { display:grid; gap:12px; }
.thanks-aside section { padding:16px; }
.thanks-aside h2 { margin-bottom:10px; font-size:17px; }
.thanks-aside p,.thanks-aside ul { color:var(--muted); font-size:12px; }
.thanks-aside ul { padding-left:0; list-style:none; line-height:1.9; }
.bank-box { margin-top:8px; padding:10px; border-radius:4px; background:var(--gray-50); font-size:11px; }

.site-footer { position:relative; min-height:240px; padding:46px var(--gutter) 24px; display:grid; grid-template-columns:1.5fr repeat(4,1fr); gap:32px; background:var(--blue-900); color:white; }
.site-footer__brand img { height:52px; width:auto; margin-bottom:14px; filter:brightness(0) invert(1); }
.site-footer p { max-width:280px; color:#d2e3f2; font-size:14px; line-height:1.55; }
.site-footer h4 { margin:6px 0 12px; color:white; font-size:15px; }
.site-footer a { display:block; margin:7px 0; color:#d2e3f2; font-size:13.5px; }
.site-footer a:hover { color:var(--gold-500); }
.site-footer__social { display:flex; gap:10px; }
.site-footer__social a { width:38px; height:38px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.2); border-radius:50%; }
.site-footer__social svg { width:18px; height:18px; }
.site-footer__copyright { grid-column:1/-1; padding-top:18px; border-top:1px solid rgba(255,255,255,.18); display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:6px 20px; color:#aebdcc; font-size:12px; }
.site-footer__copyright a { display:inline; margin:0; color:#aebdcc; font-size:12px; }
.site-footer__copyright a:hover { color:var(--gold-500); }
.toast { position:fixed; right:20px; bottom:20px; z-index:100; padding:12px 16px; display:flex; align-items:center; gap:8px; border-radius:7px; background:var(--gray-900); color:white; box-shadow:var(--shadow-md); transform:translateY(150%); transition:transform .25s; font-size:13px; }
.toast--show { transform:translateY(0); }
.toast svg { width:19px; height:19px; color:#68b984; }

@media (max-width: 1024px) {
  .category-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .sector__grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .product-grid--4:not(.featured) { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (min-width:769px) and (max-width:959px) {
  .consult { padding-inline:0; grid-template-columns:minmax(220px,28%) minmax(0,1fr) minmax(220px,30%); }
  .consult__body { padding-inline:18px; }
  .consult__benefits { padding-inline:14px; }
}
@media (max-width: 768px) {
  .nav-links { display:none; }
  .hero--home { height:500px; min-height:500px; }
  .category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .category { min-height:244px; }
  .category img { height:140px; }
  .sector__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .problem { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .product-grid--4,.product-grid--3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .chooser { grid-template-columns:1fr; }
  .chooser__options { grid-template-columns:1fr; }
  .catalog-body { grid-template-columns:1fr; }
  .filters { border-right:0; border-bottom:1px solid var(--line); padding:0 0 16px; }
  .product-detail { grid-template-columns:1fr; }
  .product-desc { grid-template-columns:1fr; gap:24px; padding-block:34px; }
  .product-desc__img { height:280px; }
  .feature-band__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .docs-related { grid-template-columns:1fr; gap:36px; padding-block:34px; }
  .cart-layout,.checkout-layout,.thanks-layout { grid-template-columns:1fr; }
  .account-layout { grid-template-columns:1fr; }
  .account-nav { position:static; display:flex; overflow-x:auto; gap:6px; }
  .account-nav a { flex:0 0 auto; white-space:nowrap; }
  .account-nav hr { display:none; }
  .account-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .account-duo { grid-template-columns:1fr; }
  .orders-panel { overflow-x:auto; }
  .orders-table { min-width:560px; }
  .order-summary,.checkout-summary { position:static; }
  .site-footer { grid-template-columns:1fr 1fr; }
  .site-footer__brand { grid-column:1/-1; }
  .category-strip { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .support-banner { grid-template-columns:1fr 1fr; }
  .consult { grid-template-columns:27% minmax(0,1fr); }
  .consult__visual-space { grid-column:1; grid-row:1; }
  .consult__body { grid-column:2; grid-row:1; }
  .consult__benefits { grid-column:1/-1; grid-row:2; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:14px 24px; border-top:1px solid rgba(255,255,255,.2); border-left:0; gap:10px 18px; }
  .trust--home { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .trust--home .trust__item { min-height:78px; }
  .trust--home .trust__item:nth-child(2)::after { display:none; }
  .trust--home .trust__item:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .support-banner ul { display:none; }
}
@media (min-width: 601px) and (max-width: 768px) {
  .topbar { height:27px; min-height:27px; padding:3px 36px; font-size:10px; line-height:21px; }
  .navbar { height:auto; min-height:70px; gap:9px; padding:12px 36px; }
  .logo img { height:44px; }
  .nav-links { display:flex; gap:10px; margin-left:12px; font-size:10px; }
  .site-search { width:100px; height:34px; flex:0 0 100px; }
  .site-search input { padding-inline:6px; font-size:10px; }
  .site-search button { width:32px; }
  .account,.cart-link { font-size:9px; }
  .account svg,.cart-link svg { width:20px; height:20px; }
}
@media (min-width:671px) and (max-width:768px) {
  .hero--home .hero__bg { background-position:right center; background-size:contain; }
  .category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
  .problem { grid-template-columns:1.25fr repeat(4,minmax(0,1fr)); gap:6px; min-height:185px; }
  .problem__intro { grid-column:auto; padding-right:2px; }
  .problem__intro h2 { margin-block:6px; font-size:22px; }
  .problem__intro p { font-size:10px; }
  .problem__intro .button { min-height:36px; padding:8px; font-size:10px; }
  .problem-card { min-height:180px; padding:94px 8px 10px; }
  .problem-card b { font-size:11px; }
  .problem-card span { font-size:9px; }
  .featured { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .chooser { grid-template-columns:220px minmax(0,1fr); gap:20px; padding-block:32px; }
  .chooser__options { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .chooser__option { min-height:212px; padding-inline:10px; }
  .chooser__option img { width:120px; height:100px; }
  .chooser__option b { font-size:16px; }
  .chooser__bullets { font-size:10.5px; }
}
@media (max-width: 670px) {
  .topbar { min-height:32px; padding:5px 16px; font-size:10px; }
  .topbar nav a:not(.region) { display:none; }
  .nav-links { display:none; }
  .navbar { min-height:64px; gap:10px; padding:12px 16px; }
  .logo img { height:42px; }
  .site-search { width:40px; flex:0 0 40px; }
  .site-search input { display:none; }
  .site-search button { width:40px; }
  .category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sector__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .consult { grid-template-columns:1fr; background-position:left top; background-size:100% 100%,auto 100%; }
  .consult__visual-space { display:none; }
  .consult__body { grid-column:1; grid-row:1; padding:28px 20px 20px; background:rgba(15,36,64,.42); }
  .consult__benefits { grid-column:1; grid-row:2; grid-template-columns:repeat(2,minmax(0,1fr)); padding:14px 20px; }
  .hero--home { height:460px; min-height:460px; }
  .hero--home h1 { max-width:380px; font-size:48px; }
  .hero--store h1,.hero--cart h1,.hero--checkout h1,.hero--thanks h1 { font-size:48px; }
  .hero--home p:not(.hero__hint) { font-size:19px; }
  .hero--home .hero__bg { inset:0; background-image:url("../assets/images/hero1.png"); background-position:65% center; background-size:auto 100%; opacity:.58; }
  .hero--home .hero__overlay { background:linear-gradient(90deg,rgba(0,21,38,.98),rgba(0,21,38,.88) 55%,rgba(0,21,38,.42)); }
  .hero--home .hero__claims { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); right:24px; left:24px; width:auto; gap:12px 8px; }
  .hero--home .hero__claim { min-width:0; flex:1 1 auto; gap:7px; }
  .hero--home .hero__claim svg { width:24px; height:24px; }
  .hero--home .hero__claim b { font-size:11px; }
}
@media (max-width: 480px) {
  .topbar { padding-inline:14px; font-size:10px; }
  .topbar nav { gap:8px; }
  .topbar a:not(:last-child) { display:none; }
  .navbar { min-height:64px; gap:8px; padding:12px 14px; }
  .logo img { height:42px; }
  .site-search { width:40px; }
  .site-search input { display:none; }
  .site-search button { width:40px; }
  .account span { display:none; }
  .consult__benefits { grid-template-columns:1fr; }
  .trust--home { grid-template-columns:1fr; }
  .trust--home .trust__item { min-height:70px; padding:12px 20px; border-bottom:1px solid var(--line); }
  .trust--home .trust__item::after { display:none; }
  .trust--home .trust__item:last-child { border-bottom:0; }
  .hero--page { min-height:0; }
  .hero--page .hero__content { padding:34px 20px 32px; }
  .hero--page h1 { font-size:34px; }
  .hero--page p { font-size:15px; }
  .hero--page .hero__claims { flex-direction:column; align-items:flex-start; gap:14px; }
  .hero--page .hero__claim i { font-size:22px; }
  .hero--store,.hero--cart,.hero--checkout,.hero--thanks { min-height:0; }
  .hero--store h1,.hero--cart h1,.hero--checkout h1,.hero--thanks h1 { font-size:40px; }
  .hero--store .hero__content,.hero--cart .hero__content,.hero--checkout .hero__content,.hero--thanks .hero__content { padding:34px 20px 32px; }
  .hero--store .hero__claims,.hero--cart .hero__claims,.hero--checkout .hero__claims,.hero--thanks .hero__claims { position:static; margin-top:26px; }
  .hero--home { height:auto; min-height:600px; }
  .hero--home .hero__bg { inset:0; background-image:url("../assets/images/hero1.png"); background-position:65% center; background-size:auto 100%; opacity:.58; }
  .hero--home .hero__overlay { background:linear-gradient(90deg,rgba(0,21,38,.98),rgba(0,21,38,.88) 55%,rgba(0,21,38,.42)); }
  .hero--home .hero__content { width:100%; padding:36px 20px 180px; }
  .hero--home h1 { max-width:320px; font-size:40px; }
  .hero--home p:not(.hero__hint) { font-size:18px; }
  .hero--home .hero__search { width:100%; max-width:360px; }
  .hero--home .hero__hint { white-space:normal; font-size:11px; }
  .hero--home .hero__claims { right:20px; left:20px; bottom:22px; }
  .experiencia { grid-template-columns:1fr; min-height:0; background:linear-gradient(0deg,rgba(238,243,248,.88),rgba(238,243,248,.72)),url("../assets/images/banner-experiencia-y-respaldo.png") left top/auto 78% no-repeat #eef3f8; }
  .blog-grid { grid-template-columns:1fr; }
  .experiencia__copy { grid-column:1; padding:44px 20px 20px; }
  .experiencia__copy h2 { font-size:30px; }
  .experiencia__panel { grid-column:1; padding:12px 20px 32px; gap:16px; }
  .energy-banner { grid-template-columns:1fr; min-height:0; }
  .energy-banner__copy { padding:44px 20px 32px; }
  .energy-banner__copy h2 { font-size:30px; }
  .energy-banner__panel { padding:24px 20px 28px; gap:16px; }
  .spotlight { min-height:auto; padding-block:40px; }
  .spotlight__bg { inset:0; height:auto; aspect-ratio:auto; background-position:right center; background-size:auto 62%; -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 22%); mask-image:linear-gradient(90deg,transparent 0%,#000 22%); }
  .spotlight__card { margin-inline:auto; padding:24px; }
  .category-grid,.product-grid--4,.product-grid--3,.product-grid--2,.sector__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .store-grid--list { grid-template-columns:1fr; }
  .store-grid--list .product-card { flex-direction:column; padding:12px; }
  .store-grid--list .product-card__media { flex:none; }
  .store-grid--list .product-card__media img { height:130px; }
  .store-grid--list .product-card__body { display:flex; flex-direction:column; padding-left:0; }
  .store-grid--list .product-card__price { margin:0 0 7px; text-align:left; }
  .store-grid--list .product-card__stock { margin:0 0 10px; justify-content:flex-start; }
  .store-grid--list .product-card__footer { min-width:0; }
  .problem { grid-template-columns:1fr; }
  .problem__intro { grid-column:auto; }
  .category-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .product-gallery { grid-template-columns:1fr; min-height:0; }
  .product-gallery__main { order:1; min-height:300px; }
  .product-gallery__main img { max-height:290px; }
  .thumbs { order:2; flex-direction:row; overflow-x:auto; }
  .thumbs__btn { width:56px; flex:0 0 56px; }
  .product-detail>* { min-width:0; }
  .product-summary h1 { font-size:30px; }
  .price-line strong { font-size:30px; }
  .product-actions--secondary { grid-template-columns:1fr; }
  .product-trust { flex-wrap:wrap; gap:14px; }
  .feature-band__grid { grid-template-columns:1fr; gap:14px; }
  .docs-related__grid { grid-template-columns:1fr; }
  .two-field { grid-template-columns:1fr; }
  .cart-columns { display:none; }
  .cart-item { grid-template-columns:1fr; }
  .account-cards { grid-template-columns:1fr; }
  .account-data { grid-template-columns:1fr; gap:12px; }
  .account-help { grid-template-columns:1fr; }
  .account-help img { max-height:160px; }
  .hero--account h1 { font-size:32px; }
  .checkout-item { grid-template-columns:48px 1fr auto; gap:10px 12px; }
  .checkout-item img { width:48px; height:48px; }
  .checkout-coupon__row { flex-wrap:wrap; }
  .checkout-coupon__row input { flex:1 1 160px; }
  .pay-now { font-size:.875rem; }
  .thanks-item { grid-template-columns:50px 1fr; }
  .thanks-item .unit,.thanks-item strong { grid-column:2; }
  .site-footer { grid-template-columns:1fr; }
  .coupon { margin-inline:14px; flex-direction:column; align-items:stretch; }
  .coupon__icon { display:none; }
  .coupon__input input { flex:1; min-width:0; }
}

/* ---- Cuenta: subsecciones WooCommerce ---- */
.field { display:block; margin-bottom:14px; }
.field>label { display:block; margin-bottom:7px; color:var(--gray-900); font-size:.8125rem; font-weight:600; }
.field input,.field select { display:block; width:100%; height:46px; padding:0 14px; border:1px solid var(--gray-300); border-radius:8px; background:#fff; font-size:.875rem; transition:border-color .18s ease, box-shadow .18s ease; }
.field input:focus,.field select:focus { border-color:var(--blue-700); box-shadow:0 0 0 3px rgba(26,62,110,.12); outline:none; }
.field__req { color:#d64545; font-style:normal; }
.field__hint { display:block; margin-top:6px; color:var(--muted); font-size:.75rem; }
.check { display:flex; align-items:center; gap:8px; margin-bottom:14px; color:var(--gray-600); font-size:.8125rem; cursor:pointer; }
.check input { accent-color:var(--blue-700); }
.form-card .panel__body .button { margin-top:4px; }
.muted { color:var(--muted); font-weight:500; }
.status--warn { background:#fff6dc; color:#8a6200; }
.pay-tag { display:inline-block; padding:4px 10px; border-radius:999px; background:var(--gold-500); color:var(--blue-900); font-size:.625rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.saved-card .panel__header { padding-bottom:10px; }
.saved-card .panel__body { padding-top:12px; display:grid; gap:4px; }
.saved-card .panel__body p { margin:2px 0; }
.saved-card__actions { padding:0 20px 16px; }
.saved-card__actions button { border:0; background:none; padding:0; color:var(--blue-700); font-size:.75rem; font-weight:600; cursor:pointer; }
.saved-card__actions button:hover { text-decoration:underline; }
.saved-card__actions button.danger,.saved-card__actions button:last-child.danger { color:#c62828; }
.orders-foot { display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--muted); font-size:.75rem; }
.orders-foot .pagination { padding-top:0; }
.pagination button { cursor:pointer; font-size:.75rem; font-weight:600; color:var(--gray-700); transition:all .15s ease; }
.pagination button:hover { border-color:var(--blue-700); color:var(--blue-700); }
.pagination button[aria-current=page] { background:var(--blue-700); border-color:var(--blue-700); color:#fff; }
.wishlist { display:grid; }
.wishlist-item { position:relative; display:grid; grid-template-columns:84px 1fr auto; gap:16px; align-items:center; padding:14px 0; border-bottom:1px solid var(--line); }
.wishlist-item:last-child { border-bottom:0; }
.wishlist-item__img { width:84px; height:84px; display:grid; place-items:center; border:1px solid var(--line); border-radius:10px; background:#fff; }
.wishlist-item__img img { max-width:72px; max-height:72px; object-fit:contain; }
.wishlist-item__info { display:grid; gap:4px; }
.wishlist-item__info a b { color:var(--blue-900); font-size:.875rem; }
.wishlist-item__info a:hover b { color:var(--blue-700); }
.wishlist-item__info small { color:var(--muted); font-family:var(--font-mono); font-size:.6875rem; }
.stock { display:inline-flex; align-items:center; gap:5px; font-size:.75rem; font-weight:700; }
.stock .ph { font-size:14px; }
.stock--ok { color:var(--success-500); }
.stock--warn { color:#b07d00; }
.wishlist-item__side { display:grid; gap:8px; justify-items:end; }
.wishlist-item__side .price { color:var(--blue-900); font-size:.9375rem; font-weight:800; }
.button--sm { padding:8px 14px; font-size:.75rem; border-radius:7px; }
.wishlist-remove { position:absolute; top:14px; right:0; width:26px; height:26px; display:grid; place-items:center; border:0; border-radius:7px; background:none; color:var(--muted); font-size:15px; cursor:pointer; transition:all .15s ease; }
.wishlist-remove:hover { background:#fdecea; color:#c62828; }
.login-layout { max-width:var(--maxw); margin:0 auto; padding:30px var(--gutter) 60px; display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.login-row { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.login-row .check { margin-bottom:0; }
.login-layout .button { width:100%; justify-content:center; text-align:center; }
@media (max-width:768px) {
  .login-layout { grid-template-columns:1fr; }
  .wishlist-item { grid-template-columns:64px 1fr; }
  .wishlist-item__img { width:64px; height:64px; }
  .wishlist-item__side { grid-column:1/-1; grid-auto-flow:column; align-items:center; justify-content:space-between; padding-right:30px; }
  .orders-foot { flex-direction:column; align-items:flex-start; }
}
