/* =================================================================
   GROWROOM — Design System v1.1
   Paleta: negro carbón + amarillo/lima eléctrico
   Tipografía: Bebas Neue (display), DM Sans (body), JetBrains Mono (técnico)
   ================================================================= */

:root{
	--bg:#0C0C0C;
	--surface:#161616;
	--surface-2:#1E1E1E;
	--line:#2A2A2A;
	--accent:#E7FF00;
	--accent-ink:#0C0C0C;
	--text:#F5F5F5;
	--muted:#B8B8B8;
	--muted-2:#7A7A7A;
	--danger:#FF3B30;

	--f-display:"Bebas Neue","Impact",system-ui,sans-serif;
	--f-body:"DM Sans",system-ui,-apple-system,sans-serif;
	--f-mono:"JetBrains Mono",ui-monospace,monospace;

	--container:1280px;
	--gutter:clamp(20px, 4vw, 48px);
}

/* ============ RESET ============ */
*,*::before,*::after{box-sizing:border-box}
html{
	scroll-behavior:smooth;
	-webkit-text-size-adjust:100%;
	padding-left:env(safe-area-inset-left);
	padding-right:env(safe-area-inset-right);
}
html, body{overflow-x:hidden}
body.gr-theme{
	margin:0;
	background:var(--bg);
	color:var(--text);
	font-family:var(--f-body);
	font-size:16px;
	line-height:1.5;
	-webkit-font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
body.is-locked{overflow:hidden;touch-action:none}

img,svg{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit;padding:0}

/* Grain sutil para evitar fondo plástico */
body.gr-theme::after{
	content:"";position:fixed;inset:0;pointer-events:none;z-index:1000;
	opacity:.05;mix-blend-mode:overlay;
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

.container{
	width:100%;
	max-width:var(--container);
	margin:0 auto;
	padding:0 var(--gutter);
}

.sr{position:absolute;width:1px;height:1px;clip:rect(0 0 0 0);overflow:hidden}

/* ============ TIPOGRAFÍA ============ */
.eyebrow{
	font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;
	text-transform:uppercase;color:var(--muted);
}
.eyebrow .dot{
	display:inline-block;width:6px;height:6px;border-radius:50%;
	background:var(--accent);margin-right:8px;vertical-align:middle;
}
.display{font-family:var(--f-display);font-weight:400;line-height:.88;letter-spacing:.005em;text-transform:uppercase}
.h1{font-size:clamp(48px, 10vw, 144px)}
.h2{font-size:clamp(36px, 6.5vw, 88px)}
.h3{font-size:clamp(26px, 4vw, 48px)}
.lead{font-size:clamp(15px, 1.6vw, 18px);color:var(--muted);max-width:56ch;line-height:1.55}

/* ============ BOTONES ============ */
.btn{
	display:inline-flex;align-items:center;justify-content:center;gap:10px;
	height:52px;padding:0 22px;
	font-family:var(--f-mono);font-size:13px;font-weight:500;
	text-transform:uppercase;letter-spacing:.12em;
	border:1px solid transparent;
	transition:transform .15s ease, background .15s ease, border-color .15s ease, color .15s ease;
	white-space:nowrap;
}
.btn--primary{background:var(--accent);color:var(--accent-ink)}
.btn--primary:hover{background:#fff}
.btn--primary:active{transform:translateY(1px)}
.btn--ghost{background:transparent;color:var(--text);border-color:var(--line)}
.btn--ghost:hover{border-color:var(--accent);color:var(--accent)}
.btn--sm{height:42px;padding:0 16px;font-size:11px}
.btn--block{width:100%}
.btn__arrow svg{width:14px;height:14px;display:block}

/* ============ BADGES / CHIPS ============ */
.badge{
	display:inline-flex;align-items:center;gap:6px;
	font-family:var(--f-mono);font-size:10px;font-weight:500;
	text-transform:uppercase;letter-spacing:.14em;
	padding:5px 9px;border:1px solid var(--line);
	color:var(--muted);background:rgba(0,0,0,.4);
}
.badge--accent{color:var(--accent);border-color:var(--accent)}
.badge--solid{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}

.chip{
	display:inline-flex;align-items:center;gap:8px;
	font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;
	text-transform:uppercase;color:var(--text);
	padding:8px 14px;border:1px solid var(--line);
	background:rgba(255,255,255,.02);
	transition:border-color .15s ease, color .15s ease;
}
.chip:hover{border-color:var(--accent);color:var(--accent)}
.chip .dot{width:5px;height:5px;background:var(--accent);border-radius:50%}

/* ============ ANNOUNCEMENT BAR ============ */
.announce{
	border-bottom:1px solid var(--line);
	background:#080808;
	font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;
	text-transform:uppercase;color:var(--muted);overflow:hidden;
}
.announce__track{
	display:flex;gap:48px;white-space:nowrap;padding:10px 0;
	animation:gr-marquee 35s linear infinite;will-change:transform;
}
.announce__track span{display:inline-flex;align-items:center;gap:10px}
.announce__track span::after{content:"";width:4px;height:4px;background:var(--accent)}
@keyframes gr-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ============ HEADER ============ */
.header{
	position:sticky;top:0;z-index:80;
	background:rgba(12,12,12,.86);
	backdrop-filter:saturate(140%) blur(14px);
	-webkit-backdrop-filter:saturate(140%) blur(14px);
	border-bottom:1px solid var(--line);
}
.nav{
	display:flex;align-items:center;justify-content:space-between;
	height:64px;gap:16px;
}
.brand{
	display:flex;align-items:center;gap:10px;
	font-family:var(--f-display);font-size:26px;letter-spacing:.02em;
	text-transform:uppercase;line-height:1;
}
.brand img,.brand__logo{max-height:36px;width:auto}
.brand__mark{
	width:26px;height:26px;background:var(--accent);position:relative;flex:0 0 26px;
}
.brand__mark::before,.brand__mark::after{content:"";position:absolute;background:var(--bg)}
.brand__mark::before{inset:5px 5px 11px 11px}
.brand__mark::after{inset:13px 11px 5px 5px}
.brand__tag{
	font-family:var(--f-mono);font-size:9px;letter-spacing:.18em;
	color:var(--muted);text-transform:uppercase;align-self:flex-end;margin-bottom:3px;
}
.nav__menu{
	display:flex;align-items:center;gap:28px;
	font-family:var(--f-mono);font-size:12px;
	text-transform:uppercase;letter-spacing:.14em;
}
.nav__menu a,
.nav__menu li > a{
	color:var(--muted);transition:color .15s ease;padding:6px 0;display:inline-block;
}
.nav__menu a:hover,.nav__menu .current-menu-item > a{color:var(--text)}
.nav__menu ul{list-style:none;margin:0;padding:0;display:flex;gap:28px}

.nav__actions{display:flex;align-items:center;gap:8px}
.icon-btn{
	width:42px;height:42px;
	display:inline-flex;align-items:center;justify-content:center;
	border:1px solid var(--line);color:var(--muted);
	transition:border-color .15s ease, color .15s ease;
}
.icon-btn:hover{border-color:var(--accent);color:var(--accent)}
.icon-btn svg{width:16px;height:16px}
.icon-btn--cart{position:relative}
.icon-btn--cart::after{
	content:attr(data-count);position:absolute;top:-6px;right:-6px;
	font-family:var(--f-mono);font-size:9px;
	background:var(--accent);color:var(--accent-ink);
	padding:2px 5px;letter-spacing:.08em;min-width:18px;text-align:center;line-height:1.2;
}
.icon-btn--cart[data-count="0"]::after{display:none}

.burger{
	display:none;width:42px;height:42px;border:1px solid var(--line);
	align-items:center;justify-content:center;flex-direction:column;gap:4px;
}
.burger span{display:block;width:18px;height:1.5px;background:var(--text);transition:transform .2s ease}

@media (max-width:960px){
	.nav__menu{display:none}
	.burger{display:inline-flex}
	.icon-btn[data-hide-mobile]{display:none}
}

/* ============ DRAWER MOBILE ============ */
.drawer{
	position:fixed;inset:0;z-index:90;
	pointer-events:none;visibility:hidden;
}
.drawer.is-open{visibility:visible;pointer-events:auto}
.drawer__backdrop{
	position:absolute;inset:0;background:rgba(0,0,0,.6);
	opacity:0;transition:opacity .25s ease;
}
.drawer.is-open .drawer__backdrop{opacity:1}
.drawer__panel{
	position:absolute;top:0;right:0;bottom:0;
	width:min(420px, 90vw);
	background:var(--bg);border-left:1px solid var(--line);
	transform:translateX(100%);
	transition:transform .3s cubic-bezier(.4,0,.2,1);
	display:flex;flex-direction:column;
	padding-top:env(safe-area-inset-top);
	padding-bottom:env(safe-area-inset-bottom);
	overflow-y:auto;
	-webkit-overflow-scrolling:touch;
	overscroll-behavior:contain;
}
.drawer.is-open .drawer__panel{transform:translateX(0)}
.drawer__head{
	display:flex;align-items:center;justify-content:space-between;
	padding:18px 24px;border-bottom:1px solid var(--line);
	flex:0 0 auto;
}
.drawer__close{
	width:38px;height:38px;border:1px solid var(--line);
	display:inline-flex;align-items:center;justify-content:center;color:var(--muted);
}
.drawer__close:hover{border-color:var(--accent);color:var(--accent)}
.drawer__nav{
	padding:24px;flex:1;display:flex;flex-direction:column;gap:2px;
}
.drawer__nav a{
	display:flex;align-items:center;justify-content:space-between;
	font-family:var(--f-display);font-size:32px;letter-spacing:.02em;
	text-transform:uppercase;padding:14px 0;
	border-bottom:1px solid var(--line);
	transition:color .15s ease, padding .15s ease;
}
.drawer__nav a::after{
	content:"→";font-family:var(--f-mono);font-size:18px;color:var(--muted-2);
}
.drawer__nav a:hover{color:var(--accent);padding-left:6px}
.drawer__nav a:hover::after{color:var(--accent)}
.drawer__foot{
	padding:20px 24px;border-top:1px solid var(--line);
	display:flex;flex-direction:column;gap:10px;
	flex:0 0 auto;
}

/* ============ HERO ============ */
.hero{
	position:relative;border-bottom:1px solid var(--line);overflow:hidden;
}
.hero__grid{
	display:grid;grid-template-columns:1.05fr .95fr;
	min-height:min(760px, 88vh);align-items:stretch;
}
@media (max-width:960px){.hero__grid{grid-template-columns:1fr;min-height:auto}}

.hero__content{
	padding:clamp(40px, 7vw, 96px) var(--gutter) clamp(36px, 5vw, 64px);
	display:flex;flex-direction:column;justify-content:space-between;gap:40px;
}
.hero__top{display:flex;flex-direction:column;gap:24px}
.hero__title{margin:0}
.hero__title .line{display:block}
.hero__title .line--accent{color:var(--accent)}
.hero__sub{
	max-width:48ch;color:var(--muted);line-height:1.55;
	font-size:clamp(15px, 1.5vw, 17px);
}
.hero__ctas{display:flex;gap:12px;flex-wrap:wrap}
@media (max-width:420px){.hero__ctas .btn{width:100%}}

.hero__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}

.hero__bottom{display:flex;flex-direction:column;gap:20px}
.hero__bullets{
	display:grid;grid-template-columns:repeat(3,1fr);gap:0;
	border-top:1px solid var(--line);padding:20px 0 0;margin:0;
	list-style:none;
}
.hero__bullets li{display:flex;flex-direction:column;gap:6px;padding-right:16px}
.hero__bullets li + li{padding-left:20px;border-left:1px solid var(--line)}
.hero__bullets .k{
	font-family:var(--f-mono);font-size:10px;letter-spacing:.16em;
	text-transform:uppercase;color:var(--accent);
}
.hero__bullets .v{
	font-family:var(--f-display);font-size:clamp(18px, 2vw, 22px);
	letter-spacing:.02em;text-transform:uppercase;line-height:1;
}
@media (max-width:560px){
	.hero__bullets{grid-template-columns:1fr;gap:14px}
	.hero__bullets li + li{padding-left:0;border-left:0;border-top:1px solid var(--line);padding-top:14px}
}

.hero__visual{
	position:relative;
	background:linear-gradient(180deg, #141414 0%, #0A0A0A 100%);
	border-left:1px solid var(--line);overflow:hidden;min-height:380px;
}
@media (max-width:960px){
	.hero__visual{border-left:0;border-top:1px solid var(--line);min-height:340px;aspect-ratio:4/3}
}
.hero__img{
	position:absolute;inset:0;width:100%;height:100%;
	object-fit:cover;object-position:center;
}
.hero__placeholder{
	position:absolute;inset:0;
	background:
		radial-gradient(70% 60% at 70% 30%, rgba(231,255,0,.06), transparent 60%),
		linear-gradient(180deg, #141414 0%, #0A0A0A 100%);
	display:flex;align-items:center;justify-content:center;padding:40px;
}
.hero__placeholder::before{
	content:"";position:absolute;inset:0;
	background-image:
		linear-gradient(to right, rgba(255,255,255,.022) 1px, transparent 1px),
		linear-gradient(to bottom, rgba(255,255,255,.022) 1px, transparent 1px);
	background-size:48px 48px;
	mask-image:radial-gradient(80% 80% at 60% 40%, #000, transparent 100%);
	-webkit-mask-image:radial-gradient(80% 80% at 60% 40%, #000, transparent 100%);
}
.hero__placeholder-inner{
	position:relative;text-align:center;display:flex;flex-direction:column;gap:18px;align-items:center;
}
.hero__placeholder-inner .label{
	font-family:var(--f-mono);font-size:10px;letter-spacing:.22em;
	text-transform:uppercase;color:var(--muted-2);
}
.hero__placeholder-inner .big{
	font-family:var(--f-display);font-size:clamp(64px, 9vw, 128px);
	letter-spacing:.02em;line-height:.85;color:var(--text);
}
.hero__placeholder-inner .big span{color:var(--accent)}
.hero__placeholder-inner .note{
	font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;
	color:var(--muted-2);text-transform:uppercase;
	border:1px dashed var(--line);padding:8px 12px;
}
.hero__tag{
	position:absolute;left:20px;bottom:20px;
	font-family:var(--f-mono);font-size:10px;letter-spacing:.16em;
	text-transform:uppercase;color:var(--text);
	background:rgba(0,0,0,.55);backdrop-filter:blur(8px);
	border:1px solid var(--line);padding:8px 12px;
	display:flex;align-items:center;gap:8px;
}
.hero__tag .dot{width:6px;height:6px;background:var(--accent);border-radius:50%}

/* ============ TRUST STRIP ============ */
.trust{border-bottom:1px solid var(--line);background:var(--surface)}
.trust__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}
@media (max-width:760px){.trust__grid{grid-template-columns:repeat(2,1fr)}}
.trust__item{background:var(--surface);padding:22px 24px;display:flex;align-items:center;gap:14px}
.trust__icon{
	width:36px;height:36px;flex:0 0 36px;
	border:1px solid var(--line);color:var(--accent);
	display:inline-flex;align-items:center;justify-content:center;
}
.trust__icon svg{width:18px;height:18px}
.trust__text .k{
	font-family:var(--f-display);font-size:18px;line-height:1;letter-spacing:.02em;text-transform:uppercase;
}
.trust__text .v{
	font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;
	color:var(--muted);text-transform:uppercase;margin-top:4px;
}

/* ============ SECTION SCAFFOLD ============ */
.section{padding:clamp(64px, 8vw, 120px) 0;position:relative}
.section--tight{padding:clamp(48px, 6vw, 80px) 0}
.section__head{
	display:flex;align-items:flex-end;justify-content:space-between;
	gap:24px;margin-bottom:40px;flex-wrap:wrap;
}
.section__head h2{margin:0}
.section__head .lead{margin-top:14px}
.section__index{
	font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;
	text-transform:uppercase;color:var(--muted-2);
	display:flex;align-items:center;gap:10px;
}
.section__index::before{content:"";display:inline-block;width:24px;height:1px;background:var(--accent)}

/* ============ CATEGORÍAS ============ */
.cats{
	display:grid;grid-template-columns:repeat(4,1fr);
	gap:1px;background:var(--line);border:1px solid var(--line);
}
@media (max-width:960px){.cats{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.cats{grid-template-columns:1fr}}

.cat{
	position:relative;background:var(--surface);
	display:flex;flex-direction:column;
	transition:background .2s ease;overflow:hidden;min-height:240px;
}
.cat:hover{background:#1a1a1a}
.cat__media{
	position:relative;aspect-ratio:16/10;
	background:linear-gradient(180deg, #1a1a1a 0%, #0e0e0e 100%);
	overflow:hidden;border-bottom:1px solid var(--line);
}
.cat__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.cat__placeholder{
	position:absolute;inset:0;
	display:flex;align-items:center;justify-content:center;
	font-family:var(--f-display);font-size:clamp(36px, 5vw, 56px);
	letter-spacing:.02em;color:#252525;text-transform:uppercase;
}
.cat__placeholder::after{
	content:"";position:absolute;inset:0;
	background-image:
		linear-gradient(to right, rgba(255,255,255,.022) 1px, transparent 1px),
		linear-gradient(to bottom, rgba(255,255,255,.022) 1px, transparent 1px);
	background-size:32px 32px;
}
.cat__body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.cat__num{
	font-family:var(--f-mono);font-size:10px;letter-spacing:.16em;
	color:var(--muted-2);text-transform:uppercase;
}
.cat__name{
	font-family:var(--f-display);font-size:28px;line-height:.95;
	letter-spacing:.02em;text-transform:uppercase;margin:0;
}
.cat__desc{font-size:13px;color:var(--muted);line-height:1.5;margin:0}
.cat__foot{
	display:flex;align-items:center;justify-content:space-between;
	margin-top:auto;padding-top:14px;
	font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;
	text-transform:uppercase;color:var(--muted);
}
.cat:hover .cat__foot{color:var(--accent)}
.cat__arrow{
	width:16px;height:16px;background:currentColor;
	transition:transform .2s ease;
	-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 17L17 7M9 7h8v8' stroke='black' stroke-width='2.2' fill='none'/></svg>") center/contain no-repeat;
	        mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 17L17 7M9 7h8v8' stroke='black' stroke-width='2.2' fill='none'/></svg>") center/contain no-repeat;
}
.cat:hover .cat__arrow{transform:translate(3px,-3px)}

/* ============ PRODUCTOS ============ */
.products{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media (max-width:1100px){.products{grid-template-columns:repeat(3,1fr)}}
@media (max-width:820px){.products{grid-template-columns:repeat(2,1fr);gap:14px}}
@media (max-width:420px){.products{grid-template-columns:1fr;gap:16px}}

.product{
	background:var(--surface);border:1px solid var(--line);
	display:flex;flex-direction:column;
	transition:border-color .2s ease, transform .2s ease;
	position:relative;
}
.product:hover{border-color:var(--accent);transform:translateY(-2px)}

.product__media{
	position:relative;aspect-ratio:1/1;
	background:linear-gradient(180deg, #161616 0%, #0c0c0c 100%);
	overflow:hidden;border-bottom:1px solid var(--line);
}
.product__img{
	position:absolute;inset:0;width:100%;height:100%;
	object-fit:contain;padding:12%;z-index:1;
}
.product__placeholder{
	position:absolute;inset:0;
	display:flex;align-items:center;justify-content:center;
	font-family:var(--f-display);font-size:48px;color:#222;letter-spacing:.02em;
	text-transform:uppercase;
}
.product__placeholder::before{
	content:"";position:absolute;inset:0;
	background-image:
		linear-gradient(to right, rgba(255,255,255,.02) 1px, transparent 1px),
		linear-gradient(to bottom, rgba(255,255,255,.02) 1px, transparent 1px);
	background-size:28px 28px;
}
.product__badges{
	position:absolute;top:12px;left:12px;right:12px;
	display:flex;justify-content:space-between;align-items:flex-start;gap:8px;z-index:2;
}

.product__body{padding:18px;display:flex;flex-direction:column;gap:10px;flex:1}
.product__meta{
	display:flex;align-items:center;justify-content:space-between;
	font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;
	text-transform:uppercase;color:var(--muted-2);gap:8px;
}
.product__meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.product__name{
	font-family:var(--f-display);font-size:24px;letter-spacing:.02em;
	text-transform:uppercase;line-height:1;margin:0;
}
.product__specs{
	font-family:var(--f-mono);font-size:11px;color:var(--muted);
	display:flex;gap:12px;flex-wrap:wrap;
}
.product__specs span{display:inline-flex;align-items:center;gap:6px}
.product__specs span::before{content:"";width:4px;height:4px;background:var(--accent)}
.product__foot{
	display:flex;align-items:center;justify-content:space-between;gap:12px;
	margin-top:auto;padding-top:14px;border-top:1px solid var(--line);
}
.product__price{display:flex;flex-direction:column;line-height:1}
.product__price .price,
.product__price .amount{
	font-family:var(--f-display);font-size:24px;letter-spacing:.02em;color:var(--text);
}
.product__price del{opacity:.4;font-size:14px;margin-right:6px}
.product__buy{
	height:42px;padding:0 14px;
	background:var(--accent);color:var(--accent-ink);
	display:inline-flex;align-items:center;gap:8px;
	font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;
	text-transform:uppercase;font-weight:500;
	transition:transform .15s ease, background .15s ease;
}
.product__buy:hover{background:#fff}
.product__buy:active{transform:translateY(1px)}
.product__buy svg{width:14px;height:14px}

/* Empty state cuando no hay productos cargados todavía */
.empty-state{
	background:var(--surface);border:1px solid var(--line);
	padding:clamp(28px, 5vw, 56px);
	display:flex;align-items:center;justify-content:center;text-align:center;
}
.empty-state__inner{display:flex;flex-direction:column;gap:14px;align-items:center;max-width:48ch}
.empty-state p{color:var(--muted);font-size:15px;line-height:1.6;margin:0}

/* ============ MANIFIESTO ============ */
.manifesto{
	position:relative;background:var(--surface);
	border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;
}
.manifesto::before{
	content:"";position:absolute;inset:0;
	background:radial-gradient(40% 60% at 90% 10%, rgba(231,255,0,.06), transparent 60%);
}
.manifesto__inner{
	position:relative;
	display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:center;
}
@media (max-width:960px){.manifesto__inner{grid-template-columns:1fr;gap:36px}}
.manifesto__head{margin:16px 0 24px}
.manifesto__head .alt{color:var(--accent)}
.manifesto__copy{font-size:16px;color:var(--muted);line-height:1.65;max-width:52ch}
.manifesto__list{
	list-style:none;margin:28px 0 0;padding:0;
	display:grid;grid-template-columns:repeat(2,1fr);gap:1px;
	background:var(--line);border:1px solid var(--line);
}
@media (max-width:520px){.manifesto__list{grid-template-columns:1fr}}
.manifesto__list li{background:var(--surface-2);padding:16px 18px;display:flex;flex-direction:column;gap:6px}
.manifesto__list .k{
	font-family:var(--f-mono);font-size:10px;letter-spacing:.18em;
	color:var(--accent);text-transform:uppercase;
}
.manifesto__list .v{
	font-family:var(--f-display);font-size:20px;letter-spacing:.02em;
	text-transform:uppercase;line-height:1;
}
.manifesto__visual{
	position:relative;aspect-ratio:1/1;
	background:
		radial-gradient(80% 60% at 30% 30%, rgba(231,255,0,.10), transparent 60%),
		linear-gradient(180deg, #161616 0%, #0a0a0a 100%);
	border:1px solid var(--line);
	display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.manifesto__visual::before{
	content:"";position:absolute;inset:0;
	background-image:
		linear-gradient(to right, rgba(255,255,255,.025) 1px, transparent 1px),
		linear-gradient(to bottom, rgba(255,255,255,.025) 1px, transparent 1px);
	background-size:40px 40px;
}
.big-mono{
	font-family:var(--f-display);font-size:clamp(80px, 14vw, 200px);
	letter-spacing:.02em;line-height:.85;text-align:center;
	background:linear-gradient(180deg, #2a2a2a 0%, #0a0a0a 100%);
	-webkit-background-clip:text;background-clip:text;color:transparent;
	position:relative;z-index:1;
}
.big-mono .accent{
	background:linear-gradient(180deg, var(--accent) 0%, #88a000 100%);
	-webkit-background-clip:text;background-clip:text;color:transparent;
}

/* ============ WHATSAPP CTA ============ */
.wa{
	position:relative;
	background:
		radial-gradient(60% 80% at 80% 20%, rgba(231,255,0,.15), transparent 60%),
		linear-gradient(180deg, #101010 0%, #0a0a0a 100%);
	border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;
}
.wa__inner{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:center}
@media (max-width:820px){.wa__inner{grid-template-columns:1fr}}
.wa__title{margin:16px 0 16px}
.wa__title .alt{color:var(--accent)}
.wa__copy{color:var(--muted);font-size:16px;max-width:50ch;line-height:1.6}
.wa__cta{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}
.wa__btn{
	background:var(--accent);color:var(--accent-ink);
	height:58px;padding:0 26px;
	display:inline-flex;align-items:center;gap:12px;
	font-family:var(--f-mono);font-size:13px;letter-spacing:.14em;
	text-transform:uppercase;font-weight:500;
	transition:transform .15s ease, box-shadow .15s ease;
}
.wa__btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(231,255,0,.25)}
.wa__btn:active{transform:translateY(0)}
.wa__btn svg{width:20px;height:20px}

.wa__panel{background:#0a0a0a;border:1px solid var(--line);padding:22px;font-family:var(--f-mono)}
.wa__panel-head{
	display:flex;align-items:center;justify-content:space-between;
	padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:14px;
	font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2);
}
.wa__panel-head .live{display:inline-flex;align-items:center;gap:8px;color:var(--accent)}
.wa__panel-head .live::before{
	content:"";width:6px;height:6px;background:var(--accent);border-radius:50%;
	animation:gr-pulse 1.4s ease-in-out infinite;
}
@keyframes gr-pulse{50%{opacity:.4}}
.wa__msg{
	background:#161616;border:1px solid var(--line);padding:14px;
	font-size:13px;line-height:1.5;color:var(--text);
	font-family:var(--f-body);margin-bottom:10px;
}
.wa__msg small{
	display:block;font-family:var(--f-mono);font-size:10px;
	letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);margin-bottom:8px;
}
.wa__msg.is-us{background:#1a1a0a;border-color:rgba(231,255,0,.3)}
.wa__msg.is-us small{color:var(--accent)}

/* ============ LOCAL ROSARIO ============ */
.local{border-top:1px solid var(--line);background:var(--bg)}
.local__inner{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
@media (max-width:820px){.local__inner{grid-template-columns:1fr}}
.local__copy h2{margin:14px 0 16px}
.local__copy p{color:var(--muted);font-size:15px;line-height:1.6;max-width:48ch}
.local__info{
	margin-top:24px;display:flex;flex-direction:column;gap:1px;
	background:var(--line);border:1px solid var(--line);
}
.local__info-row{
	background:var(--surface);padding:14px 18px;
	display:flex;align-items:center;justify-content:space-between;gap:14px;
	font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;
}
.local__info-row .k{color:var(--muted-2);text-transform:uppercase;font-size:10px;letter-spacing:.16em}
.local__info-row .v{color:var(--text)}
.local__map{
	position:relative;aspect-ratio:4/3;
	background:linear-gradient(180deg, #141414 0%, #0a0a0a 100%);
	border:1px solid var(--line);overflow:hidden;
	display:flex;align-items:center;justify-content:center;
}
.local__map::before{
	content:"";position:absolute;inset:0;
	background-image:
		linear-gradient(to right, rgba(255,255,255,.03) 1px, transparent 1px),
		linear-gradient(to bottom, rgba(255,255,255,.03) 1px, transparent 1px);
	background-size:32px 32px;
}
.local__pin{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px}
.local__pin .dot{
	width:14px;height:14px;background:var(--accent);border-radius:50%;
	box-shadow:0 0 0 8px rgba(231,255,0,.15), 0 0 0 16px rgba(231,255,0,.06);
}
.local__pin .label{
	font-family:var(--f-mono);font-size:10px;letter-spacing:.16em;
	color:var(--text);text-transform:uppercase;
	border:1px solid var(--line);background:rgba(0,0,0,.6);padding:6px 10px;
}

/* ============ FOOTER ============ */
.footer{background:#080808;border-top:1px solid var(--line);padding:72px 0 28px}
.footer__grid{
	display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:40px;margin-bottom:48px;
}
@media (max-width:900px){.footer__grid{grid-template-columns:1fr 1fr;gap:36px}}
@media (max-width:520px){.footer__grid{grid-template-columns:1fr}}

.footer__brand p{color:var(--muted);max-width:36ch;font-size:14px;line-height:1.6;margin:18px 0 20px}
.footer__social{display:flex;gap:8px}

.footer__col h4{
	font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;
	text-transform:uppercase;color:var(--muted-2);
	margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid var(--line);
}
.footer__col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.footer__col a{color:var(--text);font-size:14px;transition:color .15s ease}
.footer__col a:hover{color:var(--accent)}

.footer__bottom{
	display:flex;align-items:center;justify-content:space-between;gap:20px;
	padding-top:24px;border-top:1px solid var(--line);
	font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;
	text-transform:uppercase;color:var(--muted-2);flex-wrap:wrap;
}
.footer__pay{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pay-chip{
	border:1px solid var(--line);padding:6px 10px;
	font-family:var(--f-mono);font-size:9px;letter-spacing:.14em;
	text-transform:uppercase;color:var(--muted);
}
.pay-chip.is-accent{color:var(--accent);border-color:var(--accent)}

/* ============ FAB WhatsApp ============ */
.fab{
	position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));
	z-index:70;
	width:58px;height:58px;background:var(--accent);color:var(--accent-ink);
	display:flex;align-items:center;justify-content:center;
	box-shadow:0 16px 36px rgba(0,0,0,.5), 0 0 0 6px rgba(231,255,0,.10);
	transition:transform .2s ease;
}
.fab:hover{transform:scale(1.06)}
.fab:active{transform:scale(.98)}
.fab svg{width:26px;height:26px}

/* ============ STICKY MOBILE BAR ============ */
.mobile-bar{
	display:none;
	position:fixed;left:0;right:0;bottom:0;z-index:75;
	background:rgba(8,8,8,.95);backdrop-filter:blur(14px);
	border-top:1px solid var(--line);
	padding:10px 14px calc(10px + env(safe-area-inset-bottom));
	gap:8px;
}
.mobile-bar .btn{flex:1;height:48px;font-size:12px}
@media (max-width:640px){
	.mobile-bar{display:flex}
	.fab{display:none}
	body.gr-theme{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
	.footer{padding-bottom:24px}
}

/* ============ WOOCOMMERCE — CATÁLOGO Y COMPRA ============ */
.wc-wrap{padding:clamp(40px, 6vw, 80px) 0}
.wc-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:48px;align-items:end;padding:18px 0 38px;border-bottom:1px solid var(--line);margin-bottom:24px}
.wc-hero__title{font-size:clamp(52px,7vw,106px);line-height:.86;margin:18px 0 20px;max-width:9ch}
.wc-hero__title span{color:var(--accent)}
.wc-hero p{color:var(--muted);font-size:15px;line-height:1.65;max-width:58ch;margin:0}
.gr-product-search{display:grid;grid-template-columns:1fr auto;background:var(--surface);border:1px solid var(--line)}
.gr-product-search:focus-within{border-color:var(--accent)}
.gr-product-search input{min-width:0;background:transparent;color:var(--text);border:0;padding:0 18px;height:56px;font-family:var(--f-body);font-size:14px;outline:0}
.gr-product-search input::placeholder{color:var(--muted-2)}
.gr-product-search button{height:56px;border:0;border-left:1px solid var(--line);background:var(--accent);color:var(--accent-ink);padding:0 18px;display:flex;align-items:center;gap:9px;font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.gr-product-search svg{width:17px;height:17px}
.wc-service-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin-bottom:42px}
.wc-service-strip span{padding:13px 15px;border-right:1px solid var(--line);font-family:var(--f-mono);font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);text-align:center}
.wc-service-strip span:last-child{border-right:0}
.woocommerce-breadcrumb{color:var(--muted-2)!important;font-family:var(--f-mono);font-size:10px!important;letter-spacing:.12em;text-transform:uppercase;margin:0 0 26px!important}
.woocommerce-breadcrumb a{color:var(--muted)!important}
.wc-breadcrumb__sep{color:var(--accent);padding:0 9px}
.woocommerce-products-header__title.page-title{font-family:var(--f-display);font-size:clamp(46px,6vw,82px);line-height:.9;text-transform:uppercase;margin:0 0 28px}
.term-description{max-width:70ch;color:var(--muted);line-height:1.7;margin-bottom:28px}
.woocommerce .woocommerce-result-count{margin:13px 0 28px!important}
.woocommerce .woocommerce-ordering{margin:0 0 28px!important}
.woocommerce .woocommerce-ordering select{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:0;padding:12px 38px 12px 14px;font-family:var(--f-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.woocommerce ul.products{
	display:grid !important;
	grid-template-columns:repeat(4,1fr);
	gap:20px;
	margin:0 !important;padding:0 !important;
}
.woocommerce ul.products li.product{
	width:auto !important;margin:0 !important;float:none !important;background:var(--surface);border:1px solid var(--line);padding:0 0 18px!important;display:flex;flex-direction:column;transition:border-color .2s ease,transform .2s ease;
}
.woocommerce ul.products li.product:hover{border-color:var(--accent);transform:translateY(-3px)}
.woocommerce ul.products li.product a img{aspect-ratio:1/1;object-fit:cover;margin:0 0 17px!important;background:#090909;border-bottom:1px solid var(--line)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{color:var(--text);font-family:var(--f-display);font-size:24px!important;line-height:1.05;text-transform:uppercase;letter-spacing:.025em;padding:0 16px!important;margin-bottom:8px!important}
.woocommerce ul.products li.product .price{padding:0 16px;display:block;margin:0 0 14px!important}
.woocommerce ul.products li.product .button{margin:0 16px!important;text-align:center;margin-top:auto!important}
.woocommerce ul.products li.product .onsale,.woocommerce span.onsale{min-height:auto;min-width:auto;line-height:1;border-radius:0;background:var(--accent);color:var(--accent-ink);font-family:var(--f-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;padding:9px 10px;top:10px;right:10px;left:auto;margin:0}
@media (max-width:1100px){.woocommerce ul.products{grid-template-columns:repeat(3,1fr)}}
@media (max-width:820px){.woocommerce ul.products{grid-template-columns:repeat(2,1fr);gap:14px}}
@media (max-width:420px){.woocommerce ul.products{grid-template-columns:1fr}}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering{color:var(--muted);font-family:var(--f-mono);font-size:12px}
.woocommerce-message,.woocommerce-info{
	background:var(--surface) !important;border-top-color:var(--accent) !important;color:var(--text) !important;
}
.woocommerce-error{background:var(--surface) !important;border-top-color:var(--danger) !important;color:var(--text) !important}

.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button{
	background:var(--accent) !important;color:var(--accent-ink) !important;
	font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.14em;font-size:12px;
	padding:14px 22px !important;border-radius:0 !important;
}
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover{background:#fff !important}

.woocommerce span.price,
.woocommerce-Price-amount{color:var(--accent);font-family:var(--f-display);font-size:18px;letter-spacing:.02em}
.woocommerce ul.products li.product .price{color:var(--accent)}

/* Ficha de producto */
.woocommerce div.product{display:flow-root}
.woocommerce div.product div.images,.woocommerce div.product div.summary{margin-bottom:58px}
.woocommerce div.product div.images img{background:var(--surface);border:1px solid var(--line)}
.woocommerce div.product .product_title{font-family:var(--f-display);font-size:clamp(48px,6vw,86px);line-height:.88;text-transform:uppercase;margin:0 0 18px}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--accent);font-family:var(--f-display);font-size:32px}
.woocommerce-product-details__short-description{color:var(--muted);font-size:15px;line-height:1.7;border-top:1px solid var(--line);padding-top:20px;margin-top:20px}
.woocommerce div.product form.cart{display:flex;gap:10px;margin:28px 0!important}
.woocommerce .quantity .qty{height:48px;width:72px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:0;padding:0 8px}
.product_meta{border-top:1px solid var(--line);padding-top:18px;display:flex;flex-direction:column;gap:8px;color:var(--muted-2);font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.product_meta a{color:var(--text)}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0!important;border-bottom:1px solid var(--line)}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:15px 18px!important;color:var(--muted)!important;font-family:var(--f-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{background:var(--accent);color:var(--accent-ink)!important}
.woocommerce div.product .woocommerce-tabs .panel{color:var(--muted);line-height:1.75;padding:18px 0 40px}
.woocommerce div.product .woocommerce-tabs .panel h2,.related.products>h2{font-family:var(--f-display);font-size:clamp(36px,5vw,58px);text-transform:uppercase;color:var(--text)}

/* Carrito y checkout */
.woocommerce table.shop_table{border:1px solid var(--line)!important;border-radius:0!important;background:var(--surface);border-collapse:collapse!important}
.woocommerce table.shop_table th{font-family:var(--f-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:15px!important}
.woocommerce table.shop_table td{border-color:var(--line)!important;padding:15px!important;color:var(--text)}
.woocommerce table.shop_table a{color:var(--text)}
.woocommerce table.shop_table img{width:74px!important;background:#090909;border:1px solid var(--line)}
.cart_totals,.woocommerce-checkout-review-order,.woocommerce form.checkout_coupon,.woocommerce form.login,.woocommerce form.register{background:var(--surface);border:1px solid var(--line)!important;border-radius:0!important;padding:22px}
.cart_totals h2,#order_review_heading,.woocommerce-billing-fields h3,.woocommerce-additional-fields h3{font-family:var(--f-display);font-size:38px;text-transform:uppercase}
.woocommerce form .form-row label{color:var(--muted);font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.select2-container--default .select2-selection--single{background:#0b0b0b;color:var(--text);border:1px solid var(--line);border-radius:0;min-height:48px;padding:11px 13px}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--text);line-height:25px}
#add_payment_method #payment,.woocommerce-cart #payment,.woocommerce-checkout #payment{background:var(--surface);border:1px solid var(--line);border-radius:0;color:var(--text)}
#add_payment_method #payment div.payment_box,.woocommerce-cart #payment div.payment_box,.woocommerce-checkout #payment div.payment_box{background:#090909;color:var(--muted)}
#add_payment_method #payment div.payment_box::before,.woocommerce-cart #payment div.payment_box::before,.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:#090909}
.woocommerce a.remove{color:var(--muted)!important}.woocommerce a.remove:hover{background:var(--accent)!important;color:var(--accent-ink)!important}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0 0 30px;padding:0;border:1px solid var(--line)}
.woocommerce-MyAccount-navigation a{display:block;padding:13px 16px;border-bottom:1px solid var(--line);color:var(--text);font-family:var(--f-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.woocommerce-MyAccount-navigation li:last-child a{border-bottom:0}.woocommerce-MyAccount-navigation .is-active a{background:var(--accent);color:var(--accent-ink)}

@media (max-width:820px){
	.wc-hero{grid-template-columns:1fr;gap:28px;padding-top:8px}.wc-hero__title{max-width:12ch}.wc-service-strip{grid-template-columns:repeat(2,1fr)}.wc-service-strip span:nth-child(2){border-right:0}.wc-service-strip span:nth-child(-n+2){border-bottom:1px solid var(--line)}
	.woocommerce div.product div.images,.woocommerce div.product div.summary{float:none!important;width:100%!important}
}
@media (max-width:560px){
	.wc-wrap{padding-top:28px}.wc-hero{margin-bottom:18px}.gr-product-search{grid-template-columns:1fr 52px}.gr-product-search button{padding:0;justify-content:center}.gr-product-search button span{display:none}
	.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{float:none!important;width:100%}.woocommerce .woocommerce-ordering select{width:100%}
	.woocommerce table.shop_table_responsive tr td,.woocommerce-page table.shop_table_responsive tr td{border-bottom:1px solid var(--line)!important}
	.woocommerce div.product form.cart{align-items:stretch}.woocommerce div.product form.cart .button{flex:1;padding-left:10px!important;padding-right:10px!important}
}

/* ============ BLOG (fallback prolijo para index.php) ============ */
.gr-page{padding:clamp(48px,7vw,96px) 0}.gr-page__inner{max-width:980px}.gr-page__header{padding-bottom:30px;border-bottom:1px solid var(--line);margin-bottom:34px}.gr-page__header h1{font-size:clamp(58px,9vw,120px);line-height:.86;text-transform:uppercase;margin:20px 0 0}.gr-page__content{color:var(--muted);font-size:16px;line-height:1.75}.gr-page__content h2,.gr-page__content h3{color:var(--text);font-family:var(--f-display);text-transform:uppercase;line-height:1}.gr-page__content h2{font-size:44px;margin-top:52px}.gr-page__content h3{font-size:30px;margin-top:38px}.gr-page__content a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.gr-page__content img{border:1px solid var(--line)}
.gr-404{min-height:70vh;display:grid;place-items:center;padding:60px 0}.gr-404__inner{text-align:center}.gr-404__number{color:#1d1d1d;font-size:clamp(130px,25vw,360px);line-height:.65;margin:40px 0 12px}.gr-404 h1{font-size:clamp(48px,7vw,92px);line-height:.9;text-transform:uppercase;margin:0}.gr-404 h1 span{color:var(--accent)}.gr-404 p{color:var(--muted)}.gr-404 .hero__ctas{justify-content:center;margin-top:28px}
.posts-list{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:40px}
@media (max-width:760px){.posts-list{grid-template-columns:1fr}}
.post-card{background:var(--surface);border:1px solid var(--line);transition:border-color .15s ease}
.post-card:hover{border-color:var(--accent)}
.post-card__link{display:block;color:inherit}
.post-card__media{aspect-ratio:16/10;background:#0a0a0a;overflow:hidden;border-bottom:1px solid var(--line)}
.post-card__media img{width:100%;height:100%;object-fit:cover}
.post-card__body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:10px}
.post-card__body h2{margin:0}
.post-card__body p{color:var(--muted);font-size:14px;line-height:1.6;margin:0}

/* ============ ACCESSIBILITY ============ */
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media (prefers-reduced-motion:reduce){
	*{animation:none !important;transition:none !important;scroll-behavior:auto !important}
}
