/*
Theme Name: COMPUMAX
Theme URI: https://compumax.com.ar
Author: COMPUMAX
Description: Tema WordPress para COMPUMAX — tienda de computadoras, notebooks y monitores. Paleta roja, dual theme, header/body/footer separados, landing Empresas y todo editable desde Personalizar.
Version: 2.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU GPL v2 or later
Text Domain: compumax
Tags: ecommerce, woocommerce, dark-mode, custom-logo, custom-menu, two-columns, three-columns, full-width-template, custom-colors
*/

/* =========================================================
   COMPUMAX v2 — paleta roja + dual theme
   ========================================================= */

:root[data-theme='dark']{
	--cmx-brand:#E60023;
	--cmx-brand-2:#B8001C;
	--cmx-brand-3:#FF3D58;
	--cmx-accent:#FFB400;
	--cmx-wa:#25D366;
	--cmx-wa-2:#128C7E;
	--cmx-bg:#0B0D10;
	--cmx-bg-2:#0E1115;
	--cmx-surface:#15191F;
	--cmx-surface-2:#1B2027;
	--cmx-line:rgba(255,255,255,.08);
	--cmx-line-2:rgba(255,255,255,.14);
	--cmx-ink:#F4F6FA;
	--cmx-ink-dim:rgba(244,246,250,.62);
	--cmx-ink-mute:rgba(244,246,250,.42);
	--cmx-shadow:0 24px 60px -20px rgba(0,0,0,.55);
}
:root[data-theme='light']{
	--cmx-brand:#E60023;
	--cmx-brand-2:#B8001C;
	--cmx-brand-3:#FF3D58;
	--cmx-accent:#E69500;
	--cmx-wa:#25D366;
	--cmx-wa-2:#128C7E;
	--cmx-bg:#F7F7F8;
	--cmx-bg-2:#FFFFFF;
	--cmx-surface:#FFFFFF;
	--cmx-surface-2:#F0F2F5;
	--cmx-line:rgba(11,13,16,.08);
	--cmx-line-2:rgba(11,13,16,.14);
	--cmx-ink:#0B0D10;
	--cmx-ink-dim:rgba(11,13,16,.62);
	--cmx-ink-mute:rgba(11,13,16,.42);
	--cmx-shadow:0 18px 40px -18px rgba(11,13,16,.18);
}

*,*::before,*::after{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
body{
	font-family:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
	color:var(--cmx-ink);
	background:var(--cmx-bg);
	line-height:1.55;
	-webkit-font-smoothing:antialiased;
}
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
h1,h2,h3,h4,h5{ font-family:'Space Grotesk','Manrope',sans-serif; letter-spacing:-.02em; line-height:1.1; margin:0; color:var(--cmx-ink); }
.cmx-mono,code{ font-family:'JetBrains Mono',ui-monospace,monospace; }
.cmx-wrap{ max-width:1280px; margin:0 auto; padding:0 28px; }

/* -------- BUTTONS -------- */
.cmx-btn{
	display:inline-flex; align-items:center; gap:8px;
	padding:11px 20px; border-radius:999px; font-weight:700;
	font-size:14px; letter-spacing:-.005em; cursor:pointer; border:none;
	transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
	white-space:nowrap;
}
.cmx-btn svg{ width:16px; height:16px; }
.cmx-btn--lg{ padding:14px 26px; font-size:15px; }
.cmx-btn--primary{
	background:var(--cmx-brand); color:#fff;
	box-shadow:0 8px 22px -8px rgba(230,0,35,.6), inset 0 -2px 0 rgba(0,0,0,.18);
}
.cmx-btn--primary:hover{ background:var(--cmx-brand-2); transform:translateY(-1px); }
.cmx-btn--whatsapp{ background:var(--cmx-wa); color:#fff; box-shadow:0 8px 22px -8px rgba(37,211,102,.55), inset 0 -2px 0 rgba(0,0,0,.18); }
.cmx-btn--whatsapp:hover{ background:var(--cmx-wa-2); transform:translateY(-1px); }
.cmx-btn--ghost{
	background:transparent; color:var(--cmx-ink);
	border:1.5px solid var(--cmx-line-2);
}
.cmx-btn--ghost:hover{ border-color:var(--cmx-brand); color:var(--cmx-brand); }
.cmx-btn--ambar{ background:var(--cmx-accent); color:#1a1300; }

/* -------- TOPSTRIP -------- */
.cmx-topstrip{
	background:linear-gradient(90deg,var(--cmx-brand-2),var(--cmx-brand));
	color:#fff; font-size:12.5px; font-family:'JetBrains Mono',monospace;
}
.cmx-topstrip .cmx-wrap{ display:flex; justify-content:space-between; align-items:center; height:36px; }
.cmx-topstrip .feats{ display:flex; gap:24px; align-items:center; }
.cmx-topstrip .feats span{ display:inline-flex; align-items:center; gap:6px; }
.cmx-topstrip .feats svg{ width:14px; height:14px; }
.cmx-topstrip .right{ display:flex; gap:18px; }
.cmx-topstrip a{ color:#fff; opacity:.92; }
.cmx-topstrip a:hover{ opacity:1; text-decoration:underline; }

/* -------- HEADER -------- */
.cmx-header{
	position:sticky; top:0; z-index:50;
	background:color-mix(in oklab, var(--cmx-bg) 88%, transparent);
	backdrop-filter:blur(14px) saturate(140%);
	border-bottom:1px solid var(--cmx-line);
}
.cmx-nav{ display:flex; align-items:center; gap:32px; height:72px; }
.cmx-logo{ font-family:'Orbitron',sans-serif; font-weight:900; font-size:24px; letter-spacing:.04em; color:var(--cmx-brand); flex-shrink:0; }
.cmx-logo img{ max-height:40px; width:auto; }
.cmx-mainmenu{ flex:1; display:flex; justify-content:center; }
.cmx-menu{ list-style:none; margin:0; padding:0; display:flex; gap:4px; flex-wrap:nowrap; align-items:center; }
.cmx-menu > li{ position:relative; }
.cmx-menu a{
	display:inline-flex; align-items:center; gap:6px;
	padding:10px 16px; border-radius:10px;
	font-weight:600; font-size:14.5px; color:var(--cmx-ink-dim);
	transition:color .12s ease, background .12s ease;
	white-space:nowrap;
}
.cmx-menu a:hover{ color:var(--cmx-ink); background:var(--cmx-surface); }
.cmx-menu .menu-item-has-children > a::after{
	content:''; width:0; height:0;
	border-left:4px solid transparent; border-right:4px solid transparent;
	border-top:4px solid currentColor; opacity:.6; margin-left:4px;
	transition:transform .15s ease;
}
.cmx-menu .menu-item-has-children:hover > a::after{ transform:rotate(180deg); }
.cmx-menu .menu-item-empresas > a{
	color:var(--cmx-ink); background:var(--cmx-surface);
	border:1px solid var(--cmx-line-2);
}
.cmx-menu .menu-item-empresas > a::before{
	content:''; width:6px; height:6px; border-radius:50%; background:var(--cmx-brand);
	display:inline-block;
}

/* SUBMENÚS — ocultos por defecto, abren en hover */
.cmx-menu .sub-menu,
.cmx-menu ul.sub-menu{
	position:absolute; top:100%; left:0; min-width:240px;
	list-style:none; margin:0; padding:8px;
	background:var(--cmx-surface); border:1px solid var(--cmx-line-2);
	border-radius:14px; box-shadow:var(--cmx-shadow);
	opacity:0; visibility:hidden; transform:translateY(8px);
	transition:opacity .15s ease, transform .15s ease, visibility .15s ease;
	z-index:60; display:block;
}
.cmx-menu > li:hover > .sub-menu,
.cmx-menu > li:focus-within > .sub-menu{
	opacity:1; visibility:visible; transform:translateY(0);
}
.cmx-menu .sub-menu li{ position:relative; }
.cmx-menu .sub-menu a{
	display:flex; padding:9px 12px; border-radius:8px; font-size:13.5px;
	color:var(--cmx-ink-dim); font-weight:500;
}
.cmx-menu .sub-menu a:hover{ background:var(--cmx-surface-2); color:var(--cmx-ink); }
.cmx-menu .sub-menu .sub-menu{
	top:-8px; left:100%; margin-left:4px;
}
.cmx-menu .sub-menu .menu-item-has-children > a::after{
	margin-left:auto; transform:rotate(-90deg);
}

/* MEGA MENÚ — opcional, si li tiene clase .mega */
.cmx-menu li.mega{ position:static; }
.cmx-menu li.mega > .sub-menu{
	left:0; right:0; width:100%; max-width:1200px; margin:0 auto;
	display:grid; grid-template-columns:repeat(4,1fr); gap:8px; padding:24px;
}
.cmx-menu li.mega > .sub-menu > li > a{
	font-family:'JetBrains Mono',monospace; font-size:11px; text-transform:uppercase;
	letter-spacing:.06em; color:var(--cmx-brand); padding:6px 10px; pointer-events:none;
}
.cmx-menu li.mega .sub-menu .sub-menu{
	position:static; opacity:1; visibility:visible; transform:none;
	background:transparent; border:none; box-shadow:none; padding:0; margin-top:4px;
}
.cmx-nav-actions{ display:flex; align-items:center; gap:8px; }
.cmx-iconbtn{
	width:40px; height:40px; border-radius:50%; background:transparent; border:1px solid transparent;
	color:var(--cmx-ink-dim); cursor:pointer; display:inline-flex; align-items:center; justify-content:center;
	position:relative; transition:all .12s ease;
}
.cmx-iconbtn:hover{ color:var(--cmx-ink); background:var(--cmx-surface); border-color:var(--cmx-line); }
.cmx-iconbtn svg{ width:18px; height:18px; }
.cmx-iconbtn .badge{
	position:absolute; top:2px; right:2px; min-width:16px; height:16px; padding:0 4px;
	background:var(--cmx-brand); color:#fff; border-radius:8px; font-size:10px; font-weight:700;
	display:inline-flex; align-items:center; justify-content:center;
}

/* -------- HERO -------- */
.cmx-hero{ padding:80px 0 100px; position:relative; overflow:hidden; }
.cmx-hero::before{
	content:''; position:absolute; top:-200px; right:-200px; width:600px; height:600px;
	background:radial-gradient(circle, rgba(230,0,35,.18), transparent 70%);
	pointer-events:none;
}
.cmx-hero__grid{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.cmx-hero .eyebrow{
	font-family:'JetBrains Mono',monospace; font-size:12px; text-transform:uppercase;
	letter-spacing:.08em; color:var(--cmx-brand); display:inline-block; margin-bottom:18px;
}
.cmx-hero h1{ font-size:clamp(40px, 5.4vw, 76px); font-weight:700; }
.cmx-hero h1 strong{ color:var(--cmx-brand); font-weight:800; }
.cmx-hero .lead{ margin:24px 0 32px; font-size:18px; color:var(--cmx-ink-dim); max-width:540px; }
.cmx-hero .ctas{ display:flex; gap:14px; flex-wrap:wrap; }
.cmx-hero .meta{ display:flex; gap:36px; margin-top:40px; padding-top:28px; border-top:1px solid var(--cmx-line); }
.cmx-hero .meta .num{ font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:30px; color:var(--cmx-ink); display:block; }
.cmx-hero .meta .num span{ font-size:16px; color:var(--cmx-ink-mute); margin-left:2px; }
.cmx-hero .meta .lbl{ font-size:12.5px; color:var(--cmx-ink-mute); }
.cmx-hero__visual{
	background:linear-gradient(145deg,var(--cmx-surface),var(--cmx-surface-2));
	border:1px solid var(--cmx-line); border-radius:24px; aspect-ratio:1; display:flex;
	align-items:center; justify-content:center; box-shadow:var(--cmx-shadow);
}
.cmx-hero__visual .ph{ font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--cmx-ink-mute); }

/* -------- HERO PRODUCT CARD (variant 'card') -------- */
.cmx-hero__card{
	position:relative;
	background:#101319;
	border:1px solid rgba(255,255,255,.10);
	border-radius:22px;
	padding:18px;
	box-shadow:var(--cmx-shadow);
	display:flex; flex-direction:column; gap:18px;
	overflow:hidden;
}
.cmx-hero__card::after{
	content:''; position:absolute; right:-100px; top:-100px; width:300px; height:300px;
	background:radial-gradient(circle, rgba(230,0,35,.18), transparent 70%);
	pointer-events:none;
}
.cmx-hero__card-badge{
	position:absolute; top:24px; right:24px; z-index:2;
	background:var(--cmx-brand); color:#fff;
	padding:5px 11px; border-radius:6px;
	font-family:'JetBrains Mono',monospace; font-size:10.5px;
	font-weight:700; letter-spacing:.06em;
}
.cmx-hero__card-img{
	background:linear-gradient(145deg, #1a1f28, #0e1115);
	border:1px solid rgba(255,255,255,.06);
	border-radius:14px; aspect-ratio:4/3;
	display:flex; align-items:center; justify-content:center;
	position:relative; overflow:hidden;
	background-image:
		linear-gradient(145deg, #1a1f28, #0e1115),
		repeating-linear-gradient(45deg, transparent 0 8px, rgba(255,255,255,.025) 8px 9px);
	background-blend-mode:normal;
}
.cmx-hero__card-img img{ width:100%; height:100%; object-fit:contain; }
.cmx-hero__card-img .ph{ font-family:'JetBrains Mono',monospace; font-size:13px; color:rgba(255,255,255,.4); }
.cmx-hero__card-body{ display:flex; flex-direction:column; gap:12px; padding:6px 8px 8px; color:#fff; }
.cmx-hero__card-cat{ font-family:'JetBrains Mono',monospace; font-size:11px; opacity:.6; letter-spacing:.04em; color:#fff; }
.cmx-hero__card h3{ font-size:18px; font-weight:700; line-height:1.3; color:#fff; margin:0; }
.cmx-hero__card-specs{ display:flex; flex-wrap:wrap; gap:6px; }
.cmx-hero__card-specs span{
	font-family:'JetBrains Mono',monospace; font-size:10.5px;
	padding:4px 9px; border-radius:5px;
	background:rgba(255,255,255,.06); color:#fff;
	border:1px solid rgba(255,255,255,.08);
}
.cmx-hero__card-price-row{
	display:flex; justify-content:space-between; align-items:flex-end;
	border-top:1px solid rgba(255,255,255,.08); padding-top:14px; margin-top:4px; gap:12px;
}
.cmx-hero__card-price{ display:flex; flex-direction:column; gap:2px; }
.cmx-hero__card-price .old{ font-size:13px; color:rgba(255,255,255,.4); text-decoration:line-through; }
.cmx-hero__card-price .now{ font-size:26px; font-weight:800; color:var(--cmx-brand); font-family:'Space Grotesk',sans-serif; letter-spacing:-.01em; }
.cmx-hero__card-price .installments{ font-size:11.5px; color:rgba(255,255,255,.55); }
.cmx-hero__card-price-row .cmx-btn{ flex-shrink:0; align-self:center; }

/* HERO --card variant: el grid se ajusta para que el card no se estire */
.cmx-hero--card .cmx-hero__grid{ grid-template-columns:1.05fr .95fr; gap:48px; }

@media (max-width: 880px){
	.cmx-hero--card .cmx-hero__grid{ grid-template-columns:1fr; }
	.cmx-hero__card-price .now{ font-size:22px; }
	.cmx-hero__card-price-row{ flex-wrap:wrap; }
}

/* -------- SECTION HEADER -------- */
.cmx-section{ padding:80px 0; }
.cmx-section--alt{ background:var(--cmx-bg-2); }
.cmx-section--dark{ background:var(--cmx-surface); }
.cmx-sec-head{ display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:40px; gap:20px; flex-wrap:wrap; }
.cmx-sec-head .eyebrow{ font-family:'JetBrains Mono',monospace; font-size:11.5px; text-transform:uppercase; letter-spacing:.08em; color:var(--cmx-brand); display:block; margin-bottom:10px; }
.cmx-sec-head h2{ font-size:clamp(28px,3.4vw,46px); font-weight:700; }
.cmx-sec-head p{ margin:12px 0 0; color:var(--cmx-ink-dim); font-size:16px; max-width:520px; }
.cmx-sec-head .link{ font-family:'JetBrains Mono',monospace; font-size:13px; color:var(--cmx-brand); font-weight:600; }
.cmx-sec-head .link:hover{ text-decoration:underline; }

/* -------- CATEGORIES (rediseño v3.4 — negro con detalle rojo) -------- */
.cmx-cats{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.cmx-cat{
	display:flex; flex-direction:column; gap:16px;
	padding:28px 28px 26px; border-radius:18px; min-height:230px;
	background:#101319 !important;
	border:1px solid rgba(255,255,255,.08) !important;
	overflow:hidden; position:relative;
	transition:transform .18s ease, border-color .18s ease;
	color:#fff;
}
:root[data-theme='light'] .cmx-cat{
	background:#FFFFFF !important;
	border:1px solid rgba(11,13,16,.10) !important;
	box-shadow:0 8px 24px -10px rgba(11,13,16,.12);
}
:root[data-theme='light'] .cmx-cat .tag,
:root[data-theme='light'] .cmx-cat h3,
:root[data-theme='light'] .cmx-cat p{ color:var(--cmx-ink) !important; }
:root[data-theme='light'] .cmx-cat p{ opacity:.7; }
:root[data-theme='light'] .cmx-cat .tag{ opacity:.55; }
:root[data-theme='light'] .cmx-cat::after{
	background:radial-gradient(circle, rgba(230,0,35,.10), transparent 70%) !important;
}
:root[data-theme='light'] .cmx-cat .icon{
	background:rgba(230,0,35,.08) !important;
	border:1px solid rgba(230,0,35,.20) !important;
}
.cmx-cat:hover{ transform:translateY(-3px); border-color:var(--cmx-brand) !important; }
/* glow rojo decorativo en esquina inferior derecha */
.cmx-cat::after{
	content:''; position:absolute; right:-80px; bottom:-80px; width:240px; height:240px;
	background:radial-gradient(circle, rgba(230,0,35,.22), transparent 70%);
	pointer-events:none;
}
.cmx-cat .icon{
	width:46px; height:46px; border-radius:12px;
	background:rgba(230,0,35,.14); border:1px solid rgba(230,0,35,.3);
	display:inline-flex; align-items:center; justify-content:center; color:var(--cmx-brand);
	flex-shrink:0;
}
.cmx-cat .icon svg{ width:22px; height:22px; }
.cmx-cat .body{ flex:1; }
.cmx-cat .tag{ font-family:'JetBrains Mono',monospace; font-size:11px; opacity:.6; color:#fff !important; display:block; margin-bottom:6px; }
.cmx-cat h3{ font-size:24px; margin:0 0 10px; color:#fff !important; font-weight:700; }
.cmx-cat p{ font-size:14px; line-height:1.55; opacity:.72; max-width:340px; margin:0 0 18px; color:#fff !important; }
.cmx-cat .explore{
	font-family:'JetBrains Mono',monospace; font-size:12px; font-weight:600;
	color:var(--cmx-brand) !important; letter-spacing:.02em;
	text-transform:lowercase; display:inline-flex; align-items:center; gap:6px;
}
.cmx-cat:hover .explore{ gap:10px; }

/* -------- PRODUCT CARDS -------- */
.cmx-pgrid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.cmx-card{
	background:var(--cmx-surface); border:1px solid var(--cmx-line); border-radius:18px;
	overflow:hidden; display:flex; flex-direction:column;
	transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.cmx-card:hover{ transform:translateY(-3px); border-color:var(--cmx-line-2); box-shadow:var(--cmx-shadow); }
.cmx-card .img{
	aspect-ratio:1; background:linear-gradient(145deg,var(--cmx-bg-2),var(--cmx-surface-2));
	border-bottom:1px solid var(--cmx-line); position:relative;
	display:flex; align-items:center; justify-content:center;
	font-family:'JetBrains Mono',monospace; color:var(--cmx-ink-mute); font-size:11px;
}
.cmx-card .img img{ width:100%; height:100%; object-fit:cover; }
.cmx-card .badge{
	position:absolute; top:12px; left:12px; padding:5px 10px; border-radius:6px;
	font-family:'JetBrains Mono',monospace; font-size:10.5px; font-weight:700;
	letter-spacing:.04em; background:var(--cmx-brand); color:#fff;
}
.cmx-card .badge--sale{ background:var(--cmx-brand); }
.cmx-card .badge--top{ background:var(--cmx-accent); color:#1a1300; }
.cmx-card .badge--pro{ background:#0B0D10; color:#fff; border:1px solid var(--cmx-line-2); }
.cmx-card .badge--info{ background:#1f6feb; color:#fff; }
.cmx-card .heart{
	position:absolute; top:12px; right:12px; width:32px; height:32px; border-radius:50%;
	background:rgba(11,13,16,.5); backdrop-filter:blur(8px); color:#fff;
	display:flex; align-items:center; justify-content:center; cursor:pointer;
}
.cmx-card .heart svg{ width:16px; height:16px; }
.cmx-card .body{ padding:18px 18px 12px; flex:1; display:flex; flex-direction:column; gap:8px; }
.cmx-card .cat-tag{ font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--cmx-brand); text-transform:uppercase; letter-spacing:.04em; }
.cmx-card h4{ font-size:15px; line-height:1.3; font-weight:600; min-height:39px; }
.cmx-card .specs{ display:flex; flex-wrap:wrap; gap:5px; margin:2px 0 4px; }
.cmx-card .specs span{
	font-family:'JetBrains Mono',monospace; font-size:10.5px; padding:3px 7px; border-radius:4px;
	background:var(--cmx-surface-2); color:var(--cmx-ink-dim);
}
.cmx-card .stars{ font-size:12px; color:var(--cmx-ink-dim); }
.cmx-card .stars .s{ color:var(--cmx-accent); letter-spacing:1px; margin-right:4px; }
.cmx-card .stars b{ color:var(--cmx-ink); font-weight:700; }
.cmx-card .price-row{ display:flex; flex-direction:column; margin-top:auto; padding-top:6px; }
.cmx-card .old{ text-decoration:line-through; color:var(--cmx-ink-mute); font-size:12.5px; }
.cmx-card .price{ font-family:'Space Grotesk',sans-serif; font-size:22px; font-weight:700; color:var(--cmx-ink); }
.cmx-card .ctas{ padding:0 14px 14px; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.cmx-card .ctas .cmx-btn{ padding:10px 12px; font-size:12.5px; justify-content:center; }
.cmx-card .ctas .cmx-btn svg{ width:14px; height:14px; }

/* -------- PROMO BANNER -------- */
.cmx-promo{
	background:linear-gradient(135deg,var(--cmx-brand-2),var(--cmx-brand) 60%,#FF3D58);
	color:#fff; padding:48px 0;
}
.cmx-promo__inner{ display:grid; grid-template-columns:1fr auto; gap:32px; align-items:center; }
.cmx-promo .kicker{ font-family:'JetBrains Mono',monospace; font-size:12px; text-transform:uppercase; letter-spacing:.08em; opacity:.85; display:block; margin-bottom:8px; }
.cmx-promo h3{ font-size:clamp(22px,2.6vw,34px); color:#fff; line-height:1.2; }
.cmx-promo h3 strong{ color:var(--cmx-accent); font-weight:800; }
.cmx-promo p{ margin:8px 0 0; opacity:.88; font-size:15px; }
.cmx-promo .ctas{ display:flex; gap:12px; flex-wrap:wrap; }
.cmx-promo .cmx-btn--primary{ background:#fff; color:var(--cmx-brand); }
.cmx-promo .cmx-btn--primary:hover{ background:var(--cmx-bg); }

/* -------- CTA STRIP -------- */
.cmx-ctastrip{ padding:60px 0; border-top:1px solid var(--cmx-line); border-bottom:1px solid var(--cmx-line); }
.cmx-ctastrip__inner{ display:grid; grid-template-columns:1fr auto; gap:32px; align-items:center; }
.cmx-ctastrip h3{ font-size:clamp(22px,2.4vw,30px); }
.cmx-ctastrip p{ margin:8px 0 0; color:var(--cmx-ink-dim); font-size:15px; max-width:560px; }

/* -------- REVIEWS -------- */
.cmx-reviews{ background:var(--cmx-bg-2); }
.cmx-rev-summary{ display:flex; align-items:center; gap:28px; padding:28px; background:var(--cmx-surface); border:1px solid var(--cmx-line); border-radius:18px; margin-bottom:32px; }
.cmx-rev-summary .big{ font-family:'Space Grotesk',sans-serif; font-size:64px; font-weight:700; color:var(--cmx-brand); line-height:1; }
.cmx-rev-summary .big small{ font-size:24px; color:var(--cmx-ink-mute); }
.cmx-rev-summary .stars-big{ color:var(--cmx-accent); font-size:20px; letter-spacing:2px; margin-bottom:6px; }
.cmx-rev-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.cmx-rev{ background:var(--cmx-surface); border:1px solid var(--cmx-line); border-radius:16px; padding:24px; }
.cmx-rev .stars{ color:var(--cmx-accent); letter-spacing:2px; font-size:15px; margin-bottom:12px; }
.cmx-rev .txt{ font-size:14.5px; color:var(--cmx-ink); margin:0 0 18px; line-height:1.55; }
.cmx-rev .who{ display:flex; align-items:center; gap:10px; padding-top:14px; border-top:1px solid var(--cmx-line); flex-wrap:wrap; }
.cmx-rev .av{ width:38px; height:38px; border-radius:50%; background:var(--cmx-brand); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:13px; }
.cmx-rev strong{ display:block; font-size:13.5px; }
.cmx-rev small{ display:block; font-size:11.5px; color:var(--cmx-ink-mute); }
.cmx-rev .verified{ margin-left:auto; font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--cmx-wa); }

/* -------- BRANDS / TRUST -------- */
.cmx-trust{ padding:48px 0; border-top:1px solid var(--cmx-line); border-bottom:1px solid var(--cmx-line); }
.cmx-trust .label{ font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--cmx-ink-mute); text-transform:uppercase; letter-spacing:.08em; display:block; text-align:center; margin-bottom:24px; }
.cmx-brands{ display:flex; justify-content:center; gap:48px; flex-wrap:wrap; }
.cmx-brand-logo{
	font-family:'Orbitron',sans-serif; font-weight:700; font-size:18px; letter-spacing:.05em;
	color:var(--cmx-ink-mute); transition:color .15s ease;
}
.cmx-brand-logo:hover{ color:var(--cmx-brand); }

/* -------- CTA FINAL -------- */
.cmx-ctafinal{
	padding:96px 0; text-align:center;
	background:radial-gradient(ellipse at center top, rgba(230,0,35,.12), transparent 65%);
}
.cmx-ctafinal .kicker{ font-family:'JetBrains Mono',monospace; font-size:12px; text-transform:uppercase; letter-spacing:.08em; color:var(--cmx-brand); display:block; margin-bottom:14px; }
.cmx-ctafinal h2{ font-size:clamp(34px,4.4vw,60px); font-weight:700; max-width:820px; margin:0 auto; }
.cmx-ctafinal p{ font-size:17px; color:var(--cmx-ink-dim); max-width:580px; margin:18px auto 32px; }
.cmx-ctafinal .ctas{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

/* -------- BANNERS DOBLE -------- */
.cmx-banners{ padding:0 0 80px; }
.cmx-banners .grid{ display:grid; grid-template-columns:1.3fr 1fr; gap:20px; }
.cmx-banner{ padding:36px; border-radius:20px; }
.cmx-banner h3{ font-size:28px; color:#fff; }
.cmx-banner p{ margin:10px 0 22px; }
.cmx-banner--fin{ background:linear-gradient(135deg,#0E1115,var(--cmx-brand-2)); color:rgba(255,255,255,.86); }
.cmx-banner--emp{ background:var(--cmx-surface); border:1px solid var(--cmx-line); }
.cmx-banner--emp h3{ color:var(--cmx-ink); }
.cmx-banner--emp p{ color:var(--cmx-ink-dim); }

/* -------- BUILD PC -------- */
.cmx-build .grid{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.cmx-build .feats{ list-style:none; padding:0; margin:18px 0 26px; }
.cmx-build .feats li{ padding:6px 0; color:var(--cmx-ink-dim); font-size:14.5px; }
.cmx-buildcard{ background:var(--cmx-bg-2); border:1px solid var(--cmx-line); border-radius:18px; padding:24px; }
.cmx-buildcard h4{ font-size:14px; font-family:'JetBrains Mono',monospace; color:var(--cmx-ink-mute); margin-bottom:14px; }
.cmx-buildrow{ display:flex; justify-content:space-between; align-items:center; padding:12px 0; border-bottom:1px solid var(--cmx-line); }
.cmx-buildrow .lbl{ display:flex; gap:10px; align-items:center; font-size:14px; }
.cmx-buildrow .ic{ width:30px; height:30px; border-radius:6px; background:var(--cmx-brand); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'JetBrains Mono',monospace; font-size:10px; font-weight:700; }
.cmx-buildrow .val{ font-family:'JetBrains Mono',monospace; font-size:13px; color:var(--cmx-ink); }
.cmx-buildrow .val.empty{ color:var(--cmx-ink-mute); }
.cmx-buildtotal{ display:flex; justify-content:space-between; align-items:center; padding-top:18px; margin-top:8px; }
.cmx-buildtotal .price{ font-family:'Space Grotesk',sans-serif; font-size:28px; font-weight:700; color:var(--cmx-brand); }

/* -------- SERVICES -------- */
.cmx-svc-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.cmx-svc{ padding:24px; background:var(--cmx-surface); border:1px solid var(--cmx-line); border-radius:14px; }
.cmx-svc .ic{ width:42px; height:42px; border-radius:10px; background:rgba(230,0,35,.12); color:var(--cmx-brand); display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
.cmx-svc h4{ font-size:16px; margin-bottom:6px; }
.cmx-svc p{ font-size:13.5px; color:var(--cmx-ink-dim); margin:0; }

/* -------- FOOTER -------- */
.cmx-footer{ background:var(--cmx-bg-2); border-top:1px solid var(--cmx-line); padding:64px 0 24px; }
.cmx-foot-grid{ display:grid; grid-template-columns:1.4fr repeat(4,1fr); gap:36px; }
.cmx-foot-col h5{ font-size:13px; font-family:'JetBrains Mono',monospace; text-transform:uppercase; letter-spacing:.06em; color:var(--cmx-ink); margin-bottom:14px; }
.cmx-foot-col p{ font-size:13.5px; color:var(--cmx-ink-dim); margin:0 0 16px; }
.cmx-foot-col ul{ list-style:none; padding:0; margin:0; }
.cmx-foot-col ul li{ padding:5px 0; font-size:13.5px; color:var(--cmx-ink-dim); }
.cmx-foot-col ul li a:hover{ color:var(--cmx-brand); }
.cmx-pays{ display:flex; flex-wrap:wrap; gap:6px; }
.cmx-pays span{ font-family:'JetBrains Mono',monospace; font-size:10px; padding:4px 8px; border-radius:4px; background:var(--cmx-surface-2); color:var(--cmx-ink-dim); }
.cmx-socials{ display:flex; gap:8px; }
.cmx-socials a{ width:34px; height:34px; border-radius:50%; background:var(--cmx-surface-2); color:var(--cmx-ink-dim); display:flex; align-items:center; justify-content:center; transition:all .12s ease; }
.cmx-socials a:hover{ background:var(--cmx-brand); color:#fff; }
.cmx-foot-bottom{ display:flex; justify-content:space-between; padding-top:24px; margin-top:36px; border-top:1px solid var(--cmx-line); font-size:12.5px; color:var(--cmx-ink-mute); flex-wrap:wrap; gap:14px; }
.cmx-foot-bottom a{ color:var(--cmx-ink-dim); }
.cmx-foot-bottom a:hover{ color:var(--cmx-brand); }

/* -------- FAB WhatsApp -------- */
.cmx-fab{
	position:fixed; bottom:20px; right:20px; z-index:60;
	width:56px; height:56px; border-radius:50%;
	background:var(--cmx-wa); color:#fff;
	display:flex; align-items:center; justify-content:center;
	box-shadow:0 12px 30px -10px rgba(37,211,102,.55);
	transition:transform .15s ease;
}
.cmx-fab:hover{ transform:scale(1.05); background:var(--cmx-wa-2); }
.cmx-fab svg{ width:26px; height:26px; }

/* -------- EMPRESAS PAGE -------- */
.cmx-empresas-hero{ padding:80px 0 60px; background:linear-gradient(180deg,var(--cmx-bg),var(--cmx-bg-2)); }
.cmx-empresas-hero .pill{ display:inline-block; padding:6px 12px; border-radius:999px; background:var(--cmx-brand); color:#fff; font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700; letter-spacing:.06em; margin-bottom:18px; }

/* ============================================================
   PRODUCT PAGE (.cmx-pp)
   ============================================================ */
.cmx-pp{ padding:32px 0 80px; }
.cmx-pp__crumb{ font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--cmx-ink-mute); margin-bottom:18px; }
.cmx-pp__crumb a{ color:var(--cmx-ink-dim); }
.cmx-pp__crumb a:hover{ color:var(--cmx-brand); }
.cmx-pp__crumb span{ color:var(--cmx-ink); }
.cmx-pp__grid{ display:grid; grid-template-columns:1.2fr 1fr; gap:48px; }
@media (max-width:1024px){ .cmx-pp__grid{ grid-template-columns:1fr; } }

/* Gallery */
.cmx-pp__main{
	position:relative; aspect-ratio:4/3; border-radius:20px; overflow:hidden;
	background:linear-gradient(145deg,var(--cmx-surface),var(--cmx-surface-2));
	border:1px solid var(--cmx-line); display:flex; align-items:center; justify-content:center;
}
.cmx-pp__main img{ width:100%; height:100%; object-fit:cover; }
.cmx-pp__ph{ font-family:'JetBrains Mono',monospace; color:var(--cmx-ink-mute); font-size:13px; }
.cmx-pp__chip{
	position:absolute; top:16px; padding:5px 11px; border-radius:999px;
	font-family:'JetBrains Mono',monospace; font-size:10.5px; font-weight:700;
	letter-spacing:.06em; text-transform:uppercase; z-index:2;
}
.cmx-pp__chip--stock{ left:16px; background:rgba(37,211,102,.18); color:#7df0a3; border:1px solid rgba(37,211,102,.3); }
.cmx-pp__chip--sale{ left:120px; background:rgba(230,0,35,.18); color:#ff7088; border:1px solid rgba(230,0,35,.35); }
.cmx-pp__icon{
	position:absolute; top:14px; right:14px; width:36px; height:36px; border-radius:50%; z-index:2;
	background:rgba(11,13,16,.6); backdrop-filter:blur(8px); border:1px solid var(--cmx-line);
	color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center;
}
.cmx-pp__icon svg{ width:16px; height:16px; }
.cmx-pp__thumbs{ margin-top:14px; display:grid; grid-template-columns:repeat(5,1fr); gap:10px; }
.cmx-pp__thumb{
	aspect-ratio:1; border-radius:10px; background:var(--cmx-surface); border:2px solid var(--cmx-line);
	cursor:pointer; display:flex; align-items:center; justify-content:center;
	font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--cmx-ink-mute);
	transition:all .15s ease;
}
.cmx-pp__thumb img{ width:100%; height:100%; object-fit:cover; border-radius:8px; }
.cmx-pp__thumb.is-active{ border-color:var(--cmx-brand); box-shadow:0 0 0 3px rgba(230,0,35,.18); }
.cmx-pp__trust{ margin-top:24px; display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.cmx-pp__trust>div{
	padding:12px 14px; border-radius:12px; background:var(--cmx-bg-2); border:1px solid var(--cmx-line);
	display:flex; flex-direction:column;
}
.cmx-pp__trust strong{ font-size:12.5px; color:var(--cmx-ink); }
.cmx-pp__trust span{ font-size:11.5px; color:var(--cmx-ink-mute); }

/* Info */
.cmx-pp__meta{ display:flex; gap:14px; align-items:center; margin-bottom:8px; }
.cmx-pp__tag{ font-family:'JetBrains Mono',monospace; font-size:11.5px; color:var(--cmx-brand); text-transform:uppercase; letter-spacing:.06em; }
.cmx-pp__sku{ font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--cmx-ink-mute); }
.cmx-pp__title{ font-size:clamp(30px,3.6vw,46px); font-weight:700; }
.cmx-pp__sub{ margin:8px 0 18px; color:var(--cmx-ink-dim); font-size:15px; }
.cmx-pp__rating{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; font-size:13.5px; }
.cmx-pp__rating .stars{ color:var(--cmx-accent); letter-spacing:2px; }
.cmx-pp__rating b{ font-weight:700; }
.cmx-pp__rating a{ color:var(--cmx-ink-dim); text-decoration:underline; }
.cmx-pp__rating .dot{ color:var(--cmx-ink-mute); }
.cmx-pp__rating .hot{ color:var(--cmx-wa); }
.cmx-pp__hl{ list-style:none; padding:0; margin:22px 0; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.cmx-pp__hl li{ font-size:13.5px; color:var(--cmx-ink-dim); padding-left:14px; position:relative; }
.cmx-pp__hl li::before{ content:''; width:6px; height:6px; border-radius:50%; background:var(--cmx-brand); position:absolute; left:0; top:7px; }

/* Price box */
.cmx-pp__price{
	margin-top:14px; padding:22px 24px; border-radius:18px;
	background:linear-gradient(145deg,var(--cmx-surface),var(--cmx-surface-2));
	border:1px solid rgba(230,0,35,.32);
	box-shadow:0 12px 36px -16px rgba(230,0,35,.32);
	display:flex; gap:24px; align-items:flex-end; flex-wrap:wrap;
}
.cmx-pp__price-left .old{ font-size:14px; color:var(--cmx-ink-mute); text-decoration:line-through; }
.cmx-pp__price-left .now-row{ display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
.cmx-pp__price-left .now{ font-family:'Space Grotesk',sans-serif; font-size:38px; font-weight:800; color:var(--cmx-ink); line-height:1; }
.cmx-pp__price-left .save{
	font-family:'JetBrains Mono',monospace; font-size:11px; padding:4px 9px; border-radius:999px;
	background:rgba(37,211,102,.15); color:#7df0a3; font-weight:700;
}
.cmx-pp__price-left .cuotas{ margin-top:6px; font-family:'JetBrains Mono',monospace; font-size:13px; color:var(--cmx-ink-dim); }
.cmx-pp__price-right{ margin-left:auto; text-align:right; padding-left:18px; border-left:1px solid var(--cmx-line); }
.cmx-pp__price-right .lbl{ font-family:'JetBrains Mono',monospace; font-size:10.5px; color:var(--cmx-ink-mute); text-transform:uppercase; letter-spacing:.05em; }
.cmx-pp__price-right .tx{ font-family:'Space Grotesk',sans-serif; font-size:22px; font-weight:700; color:var(--cmx-wa); }
.cmx-pp__price-right .off{ font-size:11.5px; color:var(--cmx-ink-mute); }

/* Buy */
.cmx-pp__buy{ margin-top:18px; padding-top:18px; border-top:1px solid var(--cmx-line); }
.cmx-pp__stock{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-size:13.5px; margin-bottom:14px; }
.cmx-pp__stock .dot{ width:8px; height:8px; border-radius:50%; background:var(--cmx-wa); animation:cmx-pulse 1.6s infinite; }
@keyframes cmx-pulse{ 0%,100%{ opacity:1; } 50%{ opacity:.4; } }
.cmx-pp__stock strong{ color:var(--cmx-ink); font-weight:600; }
.cmx-pp__stock small{ margin-left:auto; color:var(--cmx-ink-mute); font-size:12px; }
.cmx-pp__qty-row{ display:flex; gap:10px; align-items:stretch; }
.cmx-pp__qty{ display:flex; border:1px solid var(--cmx-line-2); border-radius:10px; overflow:hidden; }
.cmx-pp__qty button{ width:40px; background:transparent; border:none; color:var(--cmx-ink); cursor:pointer; font-size:18px; }
.cmx-pp__qty input{ width:44px; background:transparent; border:none; color:var(--cmx-ink); text-align:center; border-left:1px solid var(--cmx-line); border-right:1px solid var(--cmx-line); }
.cmx-pp__cta{ flex:1; justify-content:center; }
.cmx-pp__cart{ margin-top:10px; width:100%; justify-content:center; }
.cmx-pp__wa{ margin-top:8px; width:100%; justify-content:center; }

/* Upgrades */
.cmx-pp__upg{ margin-top:24px; }
.cmx-pp__upg .lbl{ font-family:'JetBrains Mono',monospace; font-size:11.5px; color:var(--cmx-ink-dim); text-transform:uppercase; letter-spacing:.05em; display:block; margin-bottom:10px; }
.cmx-pp__upg .grid{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.cmx-pp__upg .upg{
	display:flex; gap:10px; padding:12px; border-radius:10px;
	border:1px solid var(--cmx-line); cursor:pointer; align-items:center;
	transition:border-color .15s ease;
}
.cmx-pp__upg .upg:hover{ border-color:var(--cmx-brand); }
.cmx-pp__upg .upg input{ accent-color:var(--cmx-brand); }
.cmx-pp__upg .upg span{ font-size:13.5px; display:block; }
.cmx-pp__upg .upg small{ font-size:11.5px; color:var(--cmx-ink-mute); }

/* Tabs */
.cmx-pp__tabs{ margin-top:60px; }
.cmx-pp__tabnav{ display:flex; gap:0; border-bottom:1px solid var(--cmx-line); overflow-x:auto; }
.cmx-pp__tabnav button{
	background:transparent; border:none; color:var(--cmx-ink-mute); cursor:pointer;
	padding:14px 22px; font-size:14px; font-weight:600; font-family:inherit;
	border-bottom:2px solid transparent; white-space:nowrap;
	transition:color .12s ease, border-color .12s ease;
}
.cmx-pp__tabnav button:hover{ color:var(--cmx-ink); }
.cmx-pp__tabnav button.is-active{ color:var(--cmx-ink); border-color:var(--cmx-brand); }
.cmx-pp__panel{ display:none; padding:32px 0; }
.cmx-pp__panel.is-active{ display:block; animation:cmx-fade .3s ease; }
@keyframes cmx-fade{ from{ opacity:0; } to{ opacity:1; } }

/* Specs */
.cmx-pp__specs{ display:grid; grid-template-columns:1fr 1fr; gap:0 48px; }
.cmx-pp__spec{ display:flex; justify-content:space-between; padding:13px 0; border-bottom:1px solid var(--cmx-line); font-size:13.5px; gap:16px; }
.cmx-pp__spec span:first-child{ color:var(--cmx-ink-mute); }
.cmx-pp__spec span:last-child{ color:var(--cmx-ink); text-align:right; }

/* Bench */
.cmx-pp__benchhead{ display:flex; align-items:center; gap:18px; margin-bottom:24px; flex-wrap:wrap; }
.cmx-pp__benchhead .chips{ display:flex; gap:6px; }
.cmx-pp__benchhead .chips button{
	background:transparent; border:1px solid var(--cmx-line); color:var(--cmx-ink-dim);
	padding:6px 12px; border-radius:999px; font-size:12px; cursor:pointer;
}
.cmx-pp__benchhead .chips button.is-active{ background:rgba(230,0,35,.12); border-color:var(--cmx-brand); color:var(--cmx-ink); }
.cmx-pp__bench-row{ margin-bottom:16px; }
.cmx-pp__bench-row .head{ display:flex; justify-content:space-between; font-size:13.5px; margin-bottom:7px; }
.cmx-pp__bench-row .head b{ font-family:'JetBrains Mono',monospace; color:var(--cmx-brand); }
.cmx-pp__bench-row .bar{ height:8px; border-radius:4px; background:var(--cmx-surface-2); overflow:hidden; }
.cmx-pp__bench-row .bar span{ display:block; height:100%; background:linear-gradient(90deg,var(--cmx-brand),var(--cmx-brand-3)); border-radius:4px; }
.cmx-pp__benchstats{ margin-top:30px; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.cmx-pp__benchstats>div{ padding:18px; border-radius:14px; background:var(--cmx-bg-2); border:1px solid var(--cmx-line); }
.cmx-pp__benchstats .lbl{ font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--cmx-ink-mute); text-transform:uppercase; }
.cmx-pp__benchstats b{ display:block; font-family:'Space Grotesk',sans-serif; font-size:26px; font-weight:700; margin-top:4px; }
.cmx-pp__benchstats small{ font-size:11.5px; color:var(--cmx-ink-mute); }

/* Reviews */
.cmx-pp__rev{ display:grid; grid-template-columns:260px 1fr; gap:36px; }
@media (max-width:768px){ .cmx-pp__rev{ grid-template-columns:1fr; } }
.cmx-pp__rev-summary .big{ font-family:'Space Grotesk',sans-serif; font-size:54px; font-weight:800; color:var(--cmx-brand); line-height:1; }
.cmx-pp__rev-summary .stars-big{ color:var(--cmx-accent); letter-spacing:2px; margin:6px 0 4px; }
.cmx-pp__rev-summary small{ font-size:12.5px; color:var(--cmx-ink-mute); }
.cmx-pp__rev-summary .bars{ margin:18px 0; display:flex; flex-direction:column; gap:6px; }
.cmx-pp__rev-summary .bars>div{ display:flex; align-items:center; gap:8px; font-size:11.5px; }
.cmx-pp__rev-summary .bars .lbl{ width:24px; color:var(--cmx-ink-mute); }
.cmx-pp__rev-summary .bars .bar{ flex:1; height:6px; border-radius:3px; background:var(--cmx-surface-2); overflow:hidden; }
.cmx-pp__rev-summary .bars .bar span{ display:block; height:100%; background:var(--cmx-brand); }
.cmx-pp__rev-list{ display:flex; flex-direction:column; gap:14px; }
.cmx-pp__rev-item{ background:var(--cmx-bg-2); border:1px solid var(--cmx-line); border-radius:14px; padding:20px; }
.cmx-pp__rev-item .head{ display:flex; gap:10px; align-items:center; }
.cmx-pp__rev-item .av{ width:36px; height:36px; border-radius:50%; background:var(--cmx-brand); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:12.5px; }
.cmx-pp__rev-item strong{ font-size:13.5px; }
.cmx-pp__rev-item em{ font-family:'JetBrains Mono',monospace; font-style:normal; font-size:10.5px; color:var(--cmx-wa); margin-left:6px; }
.cmx-pp__rev-item .meta{ font-size:11.5px; color:var(--cmx-ink-mute); display:block; }
.cmx-pp__rev-item h4{ margin:14px 0 6px; font-size:14.5px; }
.cmx-pp__rev-item p{ font-size:13.5px; color:var(--cmx-ink-dim); margin:0; line-height:1.55; }

/* Ship */
.cmx-pp__ship{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
@media (max-width:768px){ .cmx-pp__ship{ grid-template-columns:1fr; } }
.cmx-pp__ship .card{ padding:24px; border-radius:16px; background:var(--cmx-bg-2); border:1px solid var(--cmx-line); }
.cmx-pp__ship h3{ margin:6px 0 16px; font-size:18px; }
.cmx-pp__ship ul{ list-style:none; padding:0; margin:0; }
.cmx-pp__ship ul li{ display:flex; justify-content:space-between; padding:11px 0; border-bottom:1px solid var(--cmx-line); font-size:13.5px; }
.cmx-pp__ship ul li:last-child{ border:none; }
.cmx-pp__ship ul li b{ font-family:'JetBrains Mono',monospace; font-weight:600; }
.cmx-pp__ship ul li .ok{ color:var(--cmx-wa); }
.cmx-pp__ship .pays{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.cmx-pp__ship .pays>div{ padding:12px; border-radius:10px; background:var(--cmx-surface); border:1px solid var(--cmx-line); }
.cmx-pp__ship .pays>div.hl{ background:rgba(37,211,102,.08); border-color:rgba(37,211,102,.3); }
.cmx-pp__ship .pays>div.hl strong{ color:var(--cmx-wa); }
.cmx-pp__ship .pays strong{ display:block; font-size:13px; }
.cmx-pp__ship .pays small{ font-family:'JetBrains Mono',monospace; font-size:10.5px; color:var(--cmx-ink-mute); }

@media (max-width:640px){
	.cmx-pp__hl,.cmx-pp__upg .grid,.cmx-pp__specs,.cmx-pp__benchstats,.cmx-pp__trust{ grid-template-columns:1fr 1fr; }
	.cmx-pp__benchstats{ grid-template-columns:1fr; }
}

/* -------- 404 / PAGE / SINGLE -------- */
.cmx-page{ padding:80px 0; min-height:60vh; }
.cmx-404{ padding:120px 0; text-align:center; }
.cmx-404 h1{ font-size:96px; color:var(--cmx-brand); }

/* -------- RESPONSIVE -------- */
@media (max-width:1024px){
	.cmx-hero__grid{ grid-template-columns:1fr; }
	.cmx-cats,.cmx-pgrid{ grid-template-columns:repeat(2,1fr); }
	.cmx-rev-grid,.cmx-svc-grid{ grid-template-columns:repeat(2,1fr); }
	.cmx-foot-grid{ grid-template-columns:repeat(2,1fr); }
	.cmx-banners .grid,.cmx-build .grid{ grid-template-columns:1fr; }
}
@media (max-width:900px){
	/* Ocultar el CTA "Comprar ahora" del header en mobile/tablet */
	.cmx-header__cta{ display:none !important; }
}
@media (max-width:640px){
	.cmx-mainmenu{ display:none; }
	.cmx-topstrip .feats{ display:none; }
	.cmx-cats,.cmx-pgrid,.cmx-rev-grid,.cmx-svc-grid,.cmx-foot-grid{ grid-template-columns:1fr; }
	.cmx-promo__inner,.cmx-ctastrip__inner{ grid-template-columns:1fr; }
	.cmx-card .ctas{ grid-template-columns:1fr; }
	.cmx-foot-bottom{ flex-direction:column; align-items:flex-start; }

	/* === MOBILE OPTIMIZATIONS === */
	/* Topstrip más compacto */
	.cmx-topstrip{ font-size:11px; padding:6px 0; }
	.cmx-topstrip .right{ gap:10px; }
	.cmx-topstrip .right a{ font-size:11px; }

	/* Header más denso */
	.cmx-header{ padding:8px 0; }
	.cmx-nav{ gap:6px; }
	.cmx-nav-actions{ gap:2px; margin-left:auto; }
	.cmx-iconbtn{ width:38px; height:38px; }
	.cmx-iconbtn svg{ width:18px; height:18px; }
	.cmx-logo{ font-size:22px; }
	.cmx-logo span{ font-size:22px; }

	/* Hero ajustado a mobile */
	.cmx-hero{ padding:36px 0 56px; }
	.cmx-hero h1{ font-size:clamp(32px, 8.5vw, 44px); line-height:1.05; }
	.cmx-hero .eyebrow{ font-size:10.5px; margin-bottom:14px; }
	.cmx-hero .lead{ font-size:15px; margin:18px 0 24px; }
	.cmx-hero .ctas{ flex-direction:column; gap:10px; }
	.cmx-hero .ctas .cmx-btn{ width:100%; justify-content:center; min-height:52px; font-size:15px; }
	.cmx-hero .meta{ gap:18px; margin-top:28px; padding-top:20px; flex-wrap:wrap; }
	.cmx-hero .meta .num{ font-size:24px; }
	.cmx-hero .meta .num span{ font-size:13px; }
	.cmx-hero .meta .lbl{ font-size:11px; }
	.cmx-hero__visual{ margin-top:24px; aspect-ratio:4/3; border-radius:18px; }

	/* Wrap con menos padding lateral */
	.cmx-wrap{ padding-left:18px; padding-right:18px; }

	/* Botones full-width más tocables en general */
	.cmx-btn{ min-height:48px; }

	/* Product Page mobile */
	.cmx-pp{ padding:20px 0 100px; }
	.cmx-pp__title{ font-size:28px; }
	.cmx-pp__chip--sale{ left:auto; right:60px; top:16px; }
	.cmx-pp__price{ padding:18px; gap:14px; }
	.cmx-pp__price-left .now{ font-size:30px; }
	.cmx-pp__price-right{ margin-left:0; padding-left:0; padding-top:14px; border-left:none; border-top:1px solid var(--cmx-line); width:100%; text-align:left; }
	.cmx-pp__qty-row{ flex-direction:column; gap:10px; }
	.cmx-pp__qty{ width:100%; justify-content:center; }
	.cmx-pp__qty input{ flex:1; }
	.cmx-pp__cta{ width:100%; min-height:52px; }
	.cmx-pp__wa, .cmx-pp__cart{ min-height:50px; }
	.cmx-pp__rating{ font-size:12.5px; }
	.cmx-pp__tabnav button{ padding:12px 14px; font-size:13px; }
	.cmx-pp__rev{ gap:24px; }

	/* Banner CTA WhatsApp más cómodo */
	.cmx-ctastrip__inner .cmx-btn{ width:100%; min-height:54px; }

	/* Footer más compacto */
	.cmx-foot-grid{ gap:24px; }
}
@media (max-width:380px){
	.cmx-hero h1{ font-size:30px; }
	.cmx-iconbtn{ width:36px; height:36px; }
}


/* =========================================================
   WOOCOMMERCE TEMPLATES — single + archive (v3.4)
   ========================================================= */
.cmx-wc-main, .cmx-wc-single, .cmx-wc-archive{ padding:48px 0 80px; }
.cmx-bc{ display:flex; gap:8px; align-items:center; font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--cmx-ink-mute); margin-bottom:24px; flex-wrap:wrap; }
.cmx-bc a{ color:var(--cmx-brand); }
.cmx-bc span{ color:var(--cmx-ink-dim); }

/* SINGLE */
.cmx-wc-single__grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:start; }
.cmx-wc-single__media .main{
	background:linear-gradient(145deg,var(--cmx-surface),var(--cmx-surface-2));
	border:1px solid var(--cmx-line); border-radius:20px;
	aspect-ratio:1; display:flex; align-items:center; justify-content:center; overflow:hidden;
	box-shadow:var(--cmx-shadow);
}
.cmx-wc-single__media .main img{ width:100%; height:100%; object-fit:contain; padding:24px; }
.cmx-wc-single__media .main .ph{ color:var(--cmx-ink-mute); font-family:'JetBrains Mono',monospace; }
.cmx-wc-single__media .thumbs{ display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin-top:14px; }
.cmx-wc-single__media .thumbs img{
	border:1px solid var(--cmx-line); border-radius:10px; aspect-ratio:1; object-fit:cover;
	cursor:pointer; transition:border-color .15s ease;
}
.cmx-wc-single__media .thumbs img:hover{ border-color:var(--cmx-brand); }

.cmx-wc-single__cat{ font-family:'JetBrains Mono',monospace; font-size:11.5px; letter-spacing:.06em; color:var(--cmx-brand); margin-bottom:10px; display:block; }
.cmx-wc-single__info h1{ font-size:clamp(28px,3vw,40px); font-weight:700; margin:0 0 22px; line-height:1.15; }
.cmx-wc-single__price{ display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; padding:18px 0; border-top:1px solid var(--cmx-line); border-bottom:1px solid var(--cmx-line); margin-bottom:18px; }
.cmx-wc-single__price .old{ color:var(--cmx-ink-mute); text-decoration:line-through; font-size:15px; }
.cmx-wc-single__price .now{ font-family:'Space Grotesk',sans-serif; font-weight:800; font-size:34px; color:var(--cmx-brand); }
.cmx-wc-single__price .now .amount{ color:var(--cmx-brand); }
.cmx-wc-single__price .installments{ font-size:13px; color:var(--cmx-ink-dim); width:100%; margin-top:4px; }
.cmx-stock{ font-size:13px; font-family:'JetBrains Mono',monospace; padding:8px 12px; border-radius:8px; display:inline-block; margin-bottom:18px; }
.cmx-stock--ok{ background:rgba(37,211,102,.12); color:#25D366; border:1px solid rgba(37,211,102,.25); }
.cmx-stock--ko{ background:rgba(230,0,35,.12); color:var(--cmx-brand); border:1px solid rgba(230,0,35,.25); }
.cmx-wc-single__desc{ font-size:15px; line-height:1.7; color:var(--cmx-ink-dim); margin-bottom:24px; }
.cmx-wc-single__ctas{ display:flex; flex-wrap:wrap; gap:12px; margin-bottom:28px; }
.cmx-wc-single__ctas form{ display:contents; }
.cmx-wc-single__benefits{ list-style:none; padding:0; margin:0; display:grid; grid-template-columns:1fr 1fr; gap:10px 18px; }
.cmx-wc-single__benefits li{ font-size:13.5px; color:var(--cmx-ink-dim); padding:10px 14px; background:var(--cmx-surface); border:1px solid var(--cmx-line); border-radius:10px; }

/* ARCHIVE */
.cmx-wc-archive__head{ margin-bottom:32px; }
.cmx-wc-archive__head .eyebrow{ font-family:'JetBrains Mono',monospace; font-size:11.5px; letter-spacing:.08em; color:var(--cmx-brand); display:block; margin-bottom:8px; }
.cmx-wc-archive__head h1{ font-size:clamp(34px,4vw,52px); font-weight:700; margin:0 0 10px; }
.cmx-wc-archive__head p{ color:var(--cmx-ink-dim); max-width:640px; }
.cmx-wc-archive__bar{ display:flex; justify-content:space-between; align-items:center; padding:14px 0; border-top:1px solid var(--cmx-line); border-bottom:1px solid var(--cmx-line); margin-bottom:28px; flex-wrap:wrap; gap:12px; }
.cmx-wc-archive__count{ font-family:'JetBrains Mono',monospace; font-size:12.5px; color:var(--cmx-ink-dim); }
.cmx-wc-archive__bar .woocommerce-ordering select,
.cmx-wc-archive__bar select{
	background:var(--cmx-surface); color:var(--cmx-ink); border:1px solid var(--cmx-line-2);
	padding:9px 14px; border-radius:8px; font-size:13.5px;
}
.cmx-wc-archive__pagination{ margin-top:40px; display:flex; justify-content:center; }
.cmx-wc-archive__pagination .page-numbers{ list-style:none; display:flex; gap:6px; padding:0; }
.cmx-wc-archive__pagination .page-numbers li a,
.cmx-wc-archive__pagination .page-numbers li span{
	display:inline-flex; padding:8px 14px; border-radius:8px; border:1px solid var(--cmx-line-2);
	color:var(--cmx-ink-dim); font-size:13.5px; font-weight:600;
}
.cmx-wc-archive__pagination .page-numbers li .current{ background:var(--cmx-brand); color:#fff; border-color:var(--cmx-brand); }
.cmx-wc-archive__empty{ padding:80px 0; text-align:center; color:var(--cmx-ink-mute); font-family:'JetBrains Mono',monospace; }

@media(max-width: 880px){
	.cmx-wc-single__grid{ grid-template-columns:1fr; gap:32px; }
	.cmx-wc-single__benefits{ grid-template-columns:1fr; }
	.cmx-pgrid{ grid-template-columns:repeat(2,1fr) !important; }
}


/* =========================================================
   COMPUMAX v3.5 — fixes integrales
   - Hero dark con producto a la derecha (matchea homepage real)
   - Mobile drawer overlay con todo el menú desplegable
   - Empresas styling completo
   - Auto-categoría WooCommerce
   ========================================================= */

/* HERO dark con producto a la derecha (screenshot 3 de Compumax) */
.cmx-hero{
	background:radial-gradient(ellipse at top right, rgba(230,0,35,.18), transparent 60%), linear-gradient(180deg, #0B0D10 0%, #15191F 100%);
	color:#F4F6FA;
	border-bottom:3px solid var(--cmx-brand);
}
.cmx-hero h1, .cmx-hero h1 *{ color:#F4F6FA !important; }
.cmx-hero h1 strong{ color:var(--cmx-brand) !important; }
.cmx-hero .lead{ color:rgba(244,246,250,.72) !important; }
.cmx-hero .meta .num{ color:#F4F6FA !important; }
.cmx-hero .meta .num span{ color:var(--cmx-brand) !important; }
.cmx-hero .meta .lbl{ color:rgba(244,246,250,.45) !important; }
.cmx-hero .meta{ border-top-color:rgba(255,255,255,.08) !important; }
.cmx-hero__visual{
	background:#0E1115 !important;
	border:1px solid rgba(255,255,255,.10) !important;
	border-radius:24px;
	min-height:480px;
	display:flex; align-items:center; justify-content:center; overflow:hidden;
	box-shadow:0 30px 80px -30px rgba(230,0,35,.4);
}
.cmx-hero__visual img{ max-width:90%; max-height:90%; object-fit:contain; filter:drop-shadow(0 20px 40px rgba(230,0,35,.3)); }
.cmx-hero__visual .ph{ color:rgba(255,255,255,.4); font-family:'JetBrains Mono',monospace; }

/* Topstrip + header sin gap */
.cmx-topstrip + .cmx-header{ border-top:none; }

/* === MOBILE DRAWER === */
.cmx-burger{
	display:none;
	width:44px; height:44px; border-radius:10px;
	background:transparent; border:1px solid var(--cmx-line);
	cursor:pointer; padding:0; align-items:center; justify-content:center;
	flex-direction:column; gap:5px;
}
.cmx-burger span{
	display:block; width:20px; height:2px; background:var(--cmx-ink); border-radius:2px;
	transition:transform .2s ease, opacity .2s ease;
}
.cmx-burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.cmx-burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.cmx-burger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
.cmx-menu-close{ display:none; }

@media (max-width:1024px){
	.cmx-burger{ display:inline-flex; order:-1; }
	.cmx-mainmenu{
		position:fixed; inset:0; z-index:200;
		background:rgba(0,0,0,.6); backdrop-filter:blur(6px);
		opacity:0; visibility:hidden; transition:opacity .25s ease, visibility .25s ease;
		display:block !important; padding:0; margin:0;
	}
	.cmx-mainmenu.is-open{ opacity:1; visibility:visible; }
	.cmx-mainmenu::before{
		content:''; position:absolute; inset:0; pointer-events:none;
	}
	.cmx-menu{
		position:absolute; top:0; left:0; bottom:0; width:min(360px, 88vw);
		background:var(--cmx-bg); border-right:1px solid var(--cmx-line);
		flex-direction:column; gap:0; padding:80px 16px 32px; margin:0;
		overflow-y:auto;
		transform:translateX(-100%); transition:transform .3s ease;
		box-shadow:0 0 60px rgba(0,0,0,.5);
	}
	.cmx-mainmenu.is-open .cmx-menu{ transform:translateX(0); }
	.cmx-menu-close{
		display:flex !important;
		position:absolute; top:18px; right:18px; z-index:2;
		width:40px; height:40px; border-radius:50%;
		background:var(--cmx-surface); border:1px solid var(--cmx-line);
		color:var(--cmx-ink); font-size:24px; line-height:1;
		align-items:center; justify-content:center; cursor:pointer; padding:0;
	}
	.cmx-menu > li{ width:100%; border-bottom:1px solid var(--cmx-line); }
	.cmx-menu > li > a{
		padding:16px 12px; font-size:16px; border-radius:0;
		display:flex; align-items:center; justify-content:space-between; width:100%;
	}
	.cmx-menu .menu-item-has-children > a::after{
		margin-left:auto;
	}
	.cmx-menu .menu-item-has-children.is-active > a::after{ transform:rotate(180deg); }
	/* Sub-menús: ocultos por defecto en mobile, abren con .is-active */
	.cmx-menu .sub-menu{
		position:static; opacity:1; visibility:visible; transform:none;
		background:transparent; border:none; box-shadow:none; padding:0 0 12px 18px; margin:0;
		display:none; min-width:0;
	}
	.cmx-menu .menu-item-has-children.is-active > .sub-menu{ display:block; }
	.cmx-menu .sub-menu a{ padding:10px 12px; font-size:14.5px; }
	.cmx-menu .sub-menu .sub-menu{ left:0; margin-left:0; }
	.cmx-menu li.mega > .sub-menu{ display:none; grid-template-columns:1fr; padding:0 0 12px 18px; gap:0; }
	.cmx-menu li.mega.is-active > .sub-menu{ display:block; }
	body.cmx-nav-open{ overflow:hidden; }

	/* Hero a 1 columna en tablet/mobile */
	.cmx-hero__grid{ grid-template-columns:1fr !important; }
	.cmx-hero__visual{ min-height:340px; order:-1; margin-bottom:24px; }
}

@media (max-width:640px){
	.cmx-mainmenu{ display:block !important; }
	.cmx-mainmenu:not(.is-open){ visibility:hidden; }
	.cmx-hero__visual{ min-height:260px; aspect-ratio:auto !important; }
}

/* === EMPRESAS LANDING === */
.cmx-emp-hero{
	background:linear-gradient(180deg, var(--cmx-bg) 0%, var(--cmx-bg-2) 100%) !important;
	padding:80px 0 60px;
	border-bottom:1px solid var(--cmx-line) !important;
}
.cmx-emp-hero h1, .cmx-emp-hero h1 *{ color:var(--cmx-ink) !important; }
.cmx-emp-hero h1 strong{ color:var(--cmx-brand) !important; }
.cmx-emp-hero .lead{ color:var(--cmx-ink-dim) !important; }
.cmx-emp-hero .meta .num{ color:var(--cmx-ink) !important; }
.cmx-emp-hero .meta .lbl{ color:var(--cmx-ink-mute) !important; }
.cmx-buildcard{
	background:var(--cmx-surface); border:1px solid var(--cmx-line);
	border-radius:18px; padding:24px;
	box-shadow:var(--cmx-shadow);
}
.cmx-buildcard h4{
	font-size:18px; margin:0 0 4px;
	display:flex; align-items:center; justify-content:space-between; gap:12px;
}
.cmx-svc-grid{
	display:grid; grid-template-columns:repeat(3,1fr); gap:16px;
}
.cmx-svc{
	background:var(--cmx-surface); border:1px solid var(--cmx-line);
	border-radius:14px; padding:24px;
	transition:border-color .15s, transform .15s;
}
.cmx-svc:hover{ border-color:var(--cmx-brand); transform:translateY(-2px); }
.cmx-svc .ic{
	width:44px; height:44px; border-radius:12px;
	background:rgba(230,0,35,.10); color:var(--cmx-brand);
	display:flex; align-items:center; justify-content:center; margin-bottom:14px;
}
.cmx-svc .ic svg{ width:22px; height:22px; }
.cmx-svc h4{ font-size:16px; font-weight:700; margin-bottom:6px; }
.cmx-svc p{ color:var(--cmx-ink-dim); font-size:13.5px; line-height:1.55; margin:0; }

@media (max-width:1024px){
	.cmx-svc-grid{ grid-template-columns:repeat(2,1fr); }
	.cmx-hero__grid:has(> form){ grid-template-columns:1fr; }
}
@media (max-width:640px){
	.cmx-svc-grid{ grid-template-columns:1fr; }
	.cmx-emp-hero{ padding:40px 0 32px; }
}

/* === AUTO CATEGORY GRID === */
.cmx-auto-cat .cmx-sec-head{
	display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:32px; flex-wrap:wrap;
}
.cmx-empty{
	padding:60px 20px; text-align:center; color:var(--cmx-ink-mute);
	font-family:'JetBrains Mono',monospace; font-size:14px;
	border:1px dashed var(--cmx-line-2); border-radius:14px;
	grid-column:1 / -1;
}

/* === FIX: hero dual con form (empresas) - 2 cols hasta 1024px === */
@media (min-width:1025px){
	.cmx-hero__grid:has(> form#cotizar){ grid-template-columns:1.1fr .9fr; }
}

/* === SINGLE PRODUCT (cmx-pp) — refuerzo === */
.cmx-pp{ background:var(--cmx-bg); padding:32px 0 80px; }
.cmx-pp__crumb{
	display:flex; gap:8px; align-items:center; flex-wrap:wrap;
	font-family:'JetBrains Mono',monospace; font-size:12px;
	color:var(--cmx-ink-mute); margin-bottom:24px;
}
.cmx-pp__crumb a{ color:var(--cmx-brand); }
.cmx-pp__crumb span{ color:var(--cmx-ink-dim); }

.cmx-pp__grid{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
.cmx-pp__main{
	position:relative;
	background:linear-gradient(145deg,var(--cmx-surface),var(--cmx-surface-2));
	border:1px solid var(--cmx-line); border-radius:20px;
	aspect-ratio:1; display:flex; align-items:center; justify-content:center; overflow:hidden;
	box-shadow:var(--cmx-shadow);
}
.cmx-pp__main img{ width:100%; height:100%; object-fit:contain; padding:32px; }
.cmx-pp__chip{
	position:absolute; top:16px; padding:6px 12px; border-radius:999px;
	font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700;
	letter-spacing:.04em; text-transform:uppercase; z-index:2;
}
.cmx-pp__chip--stock{ left:16px; background:rgba(37,211,102,.14); color:#25D366; border:1px solid rgba(37,211,102,.3); }
.cmx-pp__chip--sale{ right:16px; background:var(--cmx-brand); color:#fff; }
.cmx-pp__ph{ color:var(--cmx-ink-mute); font-family:'JetBrains Mono',monospace; }

.cmx-pp__thumbs{ display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin-top:14px; }
.cmx-pp__thumb{
	aspect-ratio:1; border-radius:10px; padding:6px; cursor:pointer;
	background:var(--cmx-surface); border:1.5px solid var(--cmx-line);
	display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.cmx-pp__thumb img{ width:100%; height:100%; object-fit:contain; }
.cmx-pp__thumb.is-active{ border-color:var(--cmx-brand); }

.cmx-pp__trust{
	display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:18px;
}
.cmx-pp__trust > div{
	background:var(--cmx-surface); border:1px solid var(--cmx-line);
	border-radius:10px; padding:10px 12px; text-align:center;
	display:flex; flex-direction:column; gap:2px;
}
.cmx-pp__trust strong{ font-size:12.5px; color:var(--cmx-ink); }
.cmx-pp__trust span{ font-size:11px; color:var(--cmx-ink-mute); font-family:'JetBrains Mono',monospace; }

.cmx-pp__meta{ display:flex; justify-content:space-between; gap:12px; margin-bottom:10px; align-items:center; flex-wrap:wrap; }
.cmx-pp__tag{ font-family:'JetBrains Mono',monospace; font-size:11.5px; letter-spacing:.06em; color:var(--cmx-brand); }
.cmx-pp__sku{ font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--cmx-ink-mute); }
.cmx-pp__title{ font-size:clamp(28px,3.4vw,42px); font-weight:700; line-height:1.15; margin:0 0 14px; }
.cmx-pp__sub{ color:var(--cmx-ink-dim); font-size:15.5px; margin-bottom:18px; line-height:1.6; }
.cmx-pp__rating{ display:flex; gap:8px; align-items:center; margin-bottom:18px; font-size:13.5px; }
.cmx-pp__rating .stars{ color:var(--cmx-accent); }
.cmx-pp__rating b{ color:var(--cmx-ink); }
.cmx-pp__rating a{ color:var(--cmx-brand); text-decoration:underline; }

.cmx-pp__price{
	background:var(--cmx-surface); border:1px solid var(--cmx-line);
	border-radius:16px; padding:22px;
	margin-bottom:18px;
}
.cmx-pp__price-left .old{ color:var(--cmx-ink-mute); text-decoration:line-through; font-size:15px; margin-bottom:4px; }
.cmx-pp__price-left .now-row{ display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; }
.cmx-pp__price-left .now,
.cmx-pp__price-left .now .amount,
.cmx-pp__price-left .now bdi{
	font-family:'Space Grotesk',sans-serif !important;
	font-weight:800 !important; font-size:38px !important;
	color:var(--cmx-brand) !important; letter-spacing:-.01em;
}
.cmx-pp__price-left .save{
	background:rgba(37,211,102,.14); color:#25D366;
	padding:4px 10px; border-radius:999px; font-size:12px; font-weight:700;
	font-family:'JetBrains Mono',monospace;
}
.cmx-pp__price-left .cuotas{ color:var(--cmx-ink-dim); font-size:13.5px; margin-top:8px; }

.cmx-pp__buy{ display:flex; flex-direction:column; gap:14px; }
.cmx-pp__stock{
	display:flex; align-items:center; gap:10px; flex-wrap:wrap;
	background:rgba(37,211,102,.08); border:1px solid rgba(37,211,102,.25);
	border-radius:10px; padding:12px 14px;
}
.cmx-pp__stock .dot{ width:8px; height:8px; border-radius:50%; background:#25D366; box-shadow:0 0 8px #25D366; }
.cmx-pp__stock strong{ color:#25D366; font-size:13.5px; }
.cmx-pp__stock small{ color:var(--cmx-ink-dim); font-size:12.5px; margin-left:auto; }
.cmx-pp__stock--ko{ background:rgba(230,0,35,.08); border-color:rgba(230,0,35,.25); }
.cmx-pp__stock--ko .dot{ background:var(--cmx-brand); box-shadow:0 0 8px var(--cmx-brand); }
.cmx-pp__stock--ko strong{ color:var(--cmx-brand); }

.cmx-pp__qty-row{ display:flex; gap:10px; flex-wrap:wrap; align-items:stretch; }
.cmx-pp__qty{
	display:flex; align-items:center; background:var(--cmx-surface);
	border:1.5px solid var(--cmx-line-2); border-radius:12px; overflow:hidden;
}
.cmx-pp__qty button{
	width:44px; height:48px; border:none; background:transparent;
	color:var(--cmx-ink); font-size:18px; cursor:pointer;
}
.cmx-pp__qty button:hover{ background:var(--cmx-surface-2); }
.cmx-pp__qty input{
	width:50px; height:48px; border:none; background:transparent;
	text-align:center; color:var(--cmx-ink); font-weight:700; font-size:15px;
	font-family:inherit; padding:0;
}
.cmx-pp__qty input::-webkit-outer-spin-button,
.cmx-pp__qty input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.cmx-pp__qty input{ -moz-appearance:textfield; }
.cmx-pp__cta{ flex:1; min-width:200px; justify-content:center; }
.cmx-pp__wa{ width:100%; justify-content:center; min-height:50px; }

.cmx-pp__tabs{ margin-top:48px; }
.cmx-pp__tabnav{
	display:flex; gap:4px; border-bottom:1px solid var(--cmx-line);
	margin-bottom:24px; flex-wrap:wrap;
}
.cmx-pp__tabnav button{
	padding:14px 20px; background:transparent; border:none; cursor:pointer;
	color:var(--cmx-ink-dim); font-weight:600; font-size:14px;
	border-bottom:2px solid transparent; margin-bottom:-1px;
	transition:color .15s, border-color .15s;
}
.cmx-pp__tabnav button:hover{ color:var(--cmx-ink); }
.cmx-pp__tabnav button.is-active{ color:var(--cmx-brand); border-color:var(--cmx-brand); }
.cmx-pp__panel{ display:none; }
.cmx-pp__panel.is-active{ display:block; }
.cmx-pp__desc{ color:var(--cmx-ink-dim); font-size:15px; line-height:1.7; margin-bottom:24px; }
.cmx-pp__desc ul, .cmx-pp__desc ol{ padding-left:20px; }
.cmx-pp__desc li{ margin-bottom:6px; }
.cmx-pp__specs{ display:grid; grid-template-columns:1fr 1fr; gap:0; }
.cmx-pp__spec{
	display:flex; justify-content:space-between; padding:12px 16px;
	border-bottom:1px solid var(--cmx-line); gap:12px;
}
.cmx-pp__spec span:first-child{ color:var(--cmx-ink-mute); font-size:13.5px; }
.cmx-pp__spec span:last-child{ color:var(--cmx-ink); font-weight:600; font-size:13.5px; text-align:right; }

.cmx-pp__ship{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.cmx-pp__ship .card{
	background:var(--cmx-surface); border:1px solid var(--cmx-line);
	border-radius:14px; padding:22px;
}
.cmx-pp__ship h3{ font-size:18px; margin:8px 0 14px; }
.cmx-pp__ship ul{ list-style:none; padding:0; margin:0; }
.cmx-pp__ship ul li{
	display:flex; justify-content:space-between; padding:10px 0;
	border-bottom:1px solid var(--cmx-line); font-size:13.5px;
}
.cmx-pp__ship ul li:last-child{ border:none; }
.cmx-pp__ship ul li span{ color:var(--cmx-ink-dim); }
.cmx-pp__ship ul li b{ color:var(--cmx-ink); }
.cmx-pp__ship ul li b.ok{ color:#25D366; }
.cmx-pp__ship .pays{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.cmx-pp__ship .pays > div{
	background:var(--cmx-bg); border:1px solid var(--cmx-line);
	border-radius:10px; padding:10px 12px;
}
.cmx-pp__ship .pays > div.hl{ background:rgba(37,211,102,.08); border-color:rgba(37,211,102,.3); }
.cmx-pp__ship .pays > div.hl strong{ color:#25D366; }
.cmx-pp__ship .pays strong{ display:block; font-size:13px; color:var(--cmx-ink); }
.cmx-pp__ship .pays small{ color:var(--cmx-ink-mute); font-size:11.5px; font-family:'JetBrains Mono',monospace; }

@media (max-width:880px){
	.cmx-pp__grid{ grid-template-columns:1fr; gap:32px; }
	.cmx-pp__specs{ grid-template-columns:1fr; }
	.cmx-pp__ship{ grid-template-columns:1fr; }
	.cmx-pp__trust{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px){
	.cmx-pp__qty-row{ flex-direction:column; }
	.cmx-pp__cta{ width:100%; }
	.cmx-pp__price-left .now,
	.cmx-pp__price-left .now bdi{ font-size:30px !important; }
	.cmx-pp__title{ font-size:26px; }
}

/* === FIX: que el strip rojo de envío no rompa en mobile === */
@media (max-width:640px){
	.cmx-topstrip .cmx-wrap{ flex-direction:column; gap:6px; height:auto; padding:8px 18px; }
	.cmx-topstrip .feats{ display:flex; gap:14px; flex-wrap:wrap; justify-content:center; }
	.cmx-topstrip .feats span{ font-size:10.5px; }
}
