/*
Theme Name: TBB Automotive
Theme URI: https://trucuma.com
Author: Summum Automotive Solutions México
Description: Tienda TBB Automotive (Toys for Big Boys / AERON). WooCommerce con Mi Garage, compatibilidad por vehículo, kit/pintura/instalación, tiempos de llegada y servicios. Juan 14:6.
Version: 1.1.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: tbb
WC requires at least: 8.0
*/

/* ==========================================================================
   Tokens
   ========================================================================== */
:root {
	--ink: #121414;
	--carbon: #111214;
	--graphite: #18191c;
	--steel: #24262b;
	--line: rgba(255, 255, 255, .09);
	--line-2: rgba(255, 255, 255, .16);
	--silver: #a9adb5;
	--chalk: #F5F0E5;
	--orange: #FF4B12;
	--orange-2: #FF6A3A;
	--orange-deep: #AC3B17;
	--orange-glow: rgba(255, 75, 18, .35);
	--turq: #00d1a7;
	--ok: #3ddc84;
	--bad: #ff4d4d;

	--f-display: "Barlow Condensed", "Arial Narrow", sans-serif;
	--f-body: "Barlow", system-ui, -apple-system, "Segoe UI", sans-serif;

	--r: 4px;
	--r-lg: 10px;
	--wrap: 1320px;
	--gutter: clamp(16px, 4vw, 40px);
	--header-h: 68px;
	--ease: cubic-bezier(.2, .8, .2, 1);
	--fast: 180ms;
}

/* ==========================================================================
   Base
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--ink);
	color: var(--chalk);
	font: 400 16px/1.6 var(--f-body);
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
body.tbb-lock { overflow: hidden; }
img, svg, video { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--orange); }
button { font: inherit; color: inherit; cursor: pointer; }
:focus-visible { outline: 2px solid var(--orange); outline-offset: 3px; }
::selection { background: var(--orange); color: var(--ink); }
[hidden] { display: none !important; }

.screen-reader-text, .tbb-skip {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}
.tbb-skip:focus { width: auto; height: auto; clip: auto; z-index: 1000; top: 8px; left: 8px; background: var(--orange); color: var(--ink); padding: 8px 14px; }

.tbb-wrap { width: 100%; max-width: var(--wrap); margin-inline: auto; padding-inline: var(--gutter); }
.tbb-muted { color: var(--silver); }
.tbb-i { width: 20px; height: 20px; flex: none; }

/* Tipografía */
.tbb-kicker {
	display: inline-flex; align-items: center; gap: 8px;
	margin: 0 0 12px;
	font: 700 13px/1 var(--f-display);
	letter-spacing: .22em; text-transform: uppercase;
	color: var(--orange);
}
.tbb-kicker::before { content: ""; width: 22px; height: 2px; background: currentColor; transform: skewX(-30deg); }
.tbb-kicker .tbb-i { width: 16px; height: 16px; }
.tbb-kicker:has(.tbb-i)::before { display: none; }
.tbb-h2, .tbb-h3, h1, h2, h3, h4 {
	font-family: var(--f-display);
	font-style: italic;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: -.01em;
	line-height: .95;
	margin: 0 0 .4em;
}
.tbb-h2 { font-size: clamp(34px, 6vw, 64px); }
.tbb-h3 { font-size: clamp(26px, 3.5vw, 38px); }

/* Botones */
.tbb-btn, .button, button.button, a.button, input[type=submit],
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 50px; padding: 0 26px;
	border: 0; border-radius: var(--r);
	background: var(--chalk); color: var(--ink);
	font: 800 italic 17px/1 var(--f-display);
	letter-spacing: .06em; text-transform: uppercase;
	clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
	transition: transform var(--fast) var(--ease), background var(--fast), box-shadow var(--fast);
	text-decoration: none;
}
.tbb-btn:hover, .button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover {
	transform: translateX(3px);
	background: #fff; color: var(--ink);
}
.tbb-btn--primary,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.woocommerce .single_add_to_cart_button, .woocommerce #place_order, .checkout-button,
.wc-block-components-button:not(.is-link) {
	background: var(--orange) !important; color: var(--ink) !important;
	box-shadow: 0 10px 30px -10px var(--orange-glow);
}
.tbb-btn--primary:hover, .woocommerce .single_add_to_cart_button:hover, .woocommerce button.button.alt:hover {
	background: var(--orange-2) !important; color: var(--ink) !important;
	box-shadow: 0 14px 40px -10px var(--orange-glow);
}
.tbb-btn--ghost { background: transparent; color: var(--chalk); box-shadow: inset 0 0 0 1.5px var(--line-2); }
.tbb-btn--ghost:hover { background: var(--chalk); color: var(--ink); }
.tbb-btn--wa { background: #1fb855; color: #fff; }
.tbb-btn--wa:hover { background: #22c95e; color: #fff; }
.tbb-btn--sm { min-height: 40px; padding: 0 18px; font-size: 15px; }
.tbb-btn .tbb-i { width: 18px; height: 18px; }

.tbb-link { display: inline-flex; align-items: center; gap: 8px; font: 700 italic 16px/1 var(--f-display); text-transform: uppercase; letter-spacing: .08em; }
.tbb-link .tbb-i { transition: transform var(--fast) var(--ease); }
.tbb-link:hover .tbb-i { transform: translateX(4px); }

/* Formularios */
input[type=text], input[type=email], input[type=tel], input[type=password], input[type=number], input[type=search], input[type=url], textarea, select,
.woocommerce form .form-row .input-text, .woocommerce form .form-row select, .select2-container .select2-selection--single,
.wc-block-components-text-input input, .wc-block-components-combobox .components-combobox-control__input, .wc-block-components-select select {
	width: 100%;
	min-height: 50px;
	padding: 12px 14px;
	background: var(--graphite) !important;
	color: var(--chalk) !important;
	border: 1px solid var(--line-2) !important;
	border-radius: var(--r) !important;
	font: 500 16px/1.3 var(--f-body);
	transition: border-color var(--fast), box-shadow var(--fast);
}
input:focus, textarea:focus, select:focus { outline: 0; border-color: var(--orange) !important; box-shadow: 0 0 0 3px var(--orange-glow); }
select {
	appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, var(--silver) 50%), linear-gradient(135deg, var(--silver) 50%, transparent 50%) !important;
	background-position: calc(100% - 20px) 50%, calc(100% - 14px) 50% !important;
	background-size: 6px 6px !important;
	background-repeat: no-repeat !important;
	padding-right: 36px;
}
select:disabled { opacity: .45; }
label { font-weight: 600; }
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--chalk); line-height: 26px; }
.select2-dropdown { background: var(--graphite); color: var(--chalk); border-color: var(--line-2); }
.wc-block-components-text-input label, .wc-block-components-combobox label { color: var(--silver) !important; }

/* ==========================================================================
   Loader: tacómetro
   ========================================================================== */
.tbb-loader {
	position: fixed; inset: 0; z-index: 9999;
	display: grid; place-items: center;
	background: var(--ink);
	transition: opacity .5s var(--ease), visibility .5s;
}
.tbb-ready .tbb-loader { opacity: 0; visibility: hidden; pointer-events: none; }
.tbb-loader { animation: tbb-loader-out .4s 3s forwards; } /* respaldo si falla JS */
@keyframes tbb-loader-out { to { opacity: 0; visibility: hidden; pointer-events: none; } }
.tbb-tach { width: min(260px, 60vw); text-align: center; }
.tbb-tach svg { overflow: visible; }
.tbb-tach__arc { fill: none; stroke: var(--steel); stroke-width: 6; stroke-linecap: round; }
.tbb-tach__red { fill: none; stroke: var(--orange); stroke-width: 6; stroke-linecap: round; }
.tbb-tach__jn { fill: var(--orange); font: 700 7px var(--f-display); letter-spacing: .1em; opacity: .55; }
.tbb-tach__needle { stroke: var(--chalk); stroke-width: 3; stroke-linecap: round; transform-origin: 100px 110px; transform: rotate(-80deg); animation: tbb-rev 1.6s var(--ease) infinite; }
.tbb-tach__hub { fill: var(--orange); }
.tbb-tach__label { display: block; margin-top: 14px; font: 800 italic 14px var(--f-display); letter-spacing: .3em; text-transform: uppercase; color: var(--silver); }
@keyframes tbb-rev {
	0% { transform: rotate(-80deg); }
	45% { transform: rotate(68deg); }
	60% { transform: rotate(58deg); }
	100% { transform: rotate(-80deg); }
}

/* ==========================================================================
   Ticker + header
   ========================================================================== */
.tbb-ticker { overflow: hidden; background: var(--orange); color: var(--ink); height: 32px; display: flex; align-items: center; }
.tbb-ticker__track { display: flex; gap: 18px; white-space: nowrap; animation: tbb-ticker 38s linear infinite; font: 800 italic 13px/1 var(--f-display); letter-spacing: .14em; text-transform: uppercase; }
.tbb-ticker__track i { opacity: .45; font-style: normal; }
@keyframes tbb-ticker { to { transform: translateX(-50%); } }

.tbb-header {
	position: sticky; top: 0; z-index: 100;
	background: rgba(18, 20, 20, .78);
	backdrop-filter: saturate(160%) blur(14px);
	-webkit-backdrop-filter: saturate(160%) blur(14px);
	border-bottom: 1px solid transparent;
	transition: transform .3s var(--ease), border-color .3s, background .3s;
}
.tbb-header.is-scrolled { border-color: var(--line); background: rgba(18, 20, 20, .92); }
.tbb-header.is-hidden { transform: translateY(-100%); }
.tbb-header__inner { display: flex; align-items: center; gap: 12px; height: var(--header-h); max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gutter); }
.tbb-header__logo { flex: none; }
.tbb-header__logo img { max-height: 40px; width: auto; }
.tbb-header__actions { margin-left: auto; display: flex; align-items: center; gap: 4px; }

.tbb-wordmark { display: inline-flex; align-items: baseline; gap: 8px; line-height: 1; }
.tbb-wordmark__mono {
	font: 900 italic 30px/1 var(--f-display); letter-spacing: -.02em;
	color: var(--ink); background: var(--orange);
	padding: 4px 10px 2px 8px;
	clip-path: polygon(6px 0, 100% 0, calc(100% - 6px) 100%, 0 100%);
}
.tbb-wordmark__sub { font: 700 italic 14px var(--f-display); letter-spacing: .28em; text-transform: uppercase; color: var(--silver); }
.tbb-wordmark:hover { color: inherit; }

.tbb-nav { display: none; margin-left: 28px; }
.tbb-nav__list { display: flex; gap: 26px; list-style: none; margin: 0; padding: 0; }
.tbb-nav__list a { position: relative; font: 700 italic 16px/1 var(--f-display); text-transform: uppercase; letter-spacing: .1em; padding: 8px 0; }
.tbb-nav__list a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 0; height: 2px; background: var(--orange); transition: right .25s var(--ease); }
.tbb-nav__list a:hover::after, .tbb-nav__list .current-menu-item > a::after { right: 0; }
.tbb-nav__list .sub-menu { display: none; }

.tbb-iconbtn {
	position: relative; display: inline-grid; place-items: center;
	width: 44px; height: 44px; padding: 0;
	background: none; border: 0; border-radius: var(--r);
	color: var(--chalk);
	transition: background var(--fast);
}
.tbb-iconbtn:hover { background: var(--steel); color: var(--chalk); }
.tbb-cart-count {
	position: absolute; top: 4px; right: 2px; min-width: 18px; height: 18px; padding: 0 5px;
	display: grid; place-items: center;
	font: 800 11px/1 var(--f-body); color: var(--ink); background: var(--orange); border-radius: 9px;
}
.tbb-cart-count[data-count="0"] { display: none; }

.tbb-garagepill {
	display: inline-flex; align-items: center; gap: 8px;
	height: 38px; padding: 0 12px; margin-right: 4px;
	border: 1px solid var(--line-2); border-radius: 19px;
	background: transparent;
	font: 700 italic 14px/1 var(--f-display); letter-spacing: .06em; text-transform: uppercase;
	max-width: 46vw;
	transition: border-color var(--fast), background var(--fast);
}
.tbb-garagepill .tbb-i { width: 18px; height: 18px; color: var(--orange); }
.tbb-garagepill__txt { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tbb-garagepill:hover { border-color: var(--orange); }
.tbb-garagepill.has-car { border-color: var(--orange); background: rgba(255, 75, 18, .1); }

.tbb-searchbar { border-top: 1px solid var(--line); }
.tbb-searchbar form { display: flex; align-items: center; gap: 10px; max-width: var(--wrap); margin: 0 auto; padding: 10px var(--gutter); }
.tbb-searchbar input { border: 0 !important; background: transparent !important; font-size: 18px; }

/* Drawer móvil */
.tbb-drawer { position: fixed; inset: 0; z-index: 200; background: rgba(0, 0, 0, .6); }
.tbb-drawer__panel {
	width: min(360px, 88vw); height: 100%; padding: 70px 26px 26px;
	background: var(--carbon); border-right: 1px solid var(--line);
	display: flex; flex-direction: column; gap: 24px;
	animation: tbb-slide .3s var(--ease);
}
.tbb-drawer__close { position: absolute; top: 14px; left: calc(min(360px, 88vw) - 58px); }
.tbb-drawer__list { list-style: none; margin: 0; padding: 0; }
.tbb-drawer__list a { display: block; padding: 12px 0; border-bottom: 1px solid var(--line); font: 800 italic 30px/1 var(--f-display); text-transform: uppercase; }
@keyframes tbb-slide { from { transform: translateX(-100%); } }

@media (min-width: 960px) {
	.tbb-header__menu { display: none; }
	.tbb-nav { display: block; }
}
@media (max-width: 520px) {
	.tbb-hide-sm { display: none; }
	.tbb-wordmark__sub { display: none; }
	.tbb-garagepill { max-width: 38vw; }
}

/* ==========================================================================
   Hero
   ========================================================================== */
.tbb-hero {
	position: relative; overflow: hidden;
	min-height: min(88vh, 860px);
	display: flex; align-items: center;
	padding: 70px 0 90px;
	background:
		radial-gradient(70% 60% at 85% 20%, rgba(255, 75, 18, .22), transparent 60%),
		radial-gradient(50% 50% at 10% 100%, rgba(0, 209, 167, .07), transparent 60%),
		linear-gradient(180deg, var(--ink), var(--carbon));
}
.tbb-hero__lines { position: absolute; inset: 0; pointer-events: none; transform: skewY(-8deg); }
.tbb-hero__lines i {
	position: absolute; left: -40%; height: 2px; width: 40%;
	background: linear-gradient(90deg, transparent, var(--orange), transparent);
	opacity: .5; animation: tbb-streak 3.2s linear infinite;
}
.tbb-hero__lines i:nth-child(1) { top: 18%; animation-delay: 0s; }
.tbb-hero__lines i:nth-child(2) { top: 34%; animation-delay: 1.1s; width: 25%; opacity: .3; }
.tbb-hero__lines i:nth-child(3) { top: 52%; animation-delay: .5s; }
.tbb-hero__lines i:nth-child(4) { top: 70%; animation-delay: 2s; width: 30%; opacity: .25; }
.tbb-hero__lines i:nth-child(5) { top: 86%; animation-delay: 1.6s; }
@keyframes tbb-streak { to { left: 140%; } }

.tbb-hero__inner { position: relative; z-index: 1; }
.tbb-hero__title {
	max-width: 13ch;
	font-size: clamp(56px, 11vw, 148px);
	line-height: .86;
	margin: 0 0 22px;
	text-shadow: 0 20px 60px rgba(0, 0, 0, .5);
	user-select: none;
}
.tbb-hero__text { max-width: 560px; margin: 0 0 32px; font-size: clamp(17px, 2vw, 20px); color: var(--silver); }

.tbb-hero__picker {
	display: grid; gap: 10px;
	max-width: 980px; padding: 14px;
	background: rgba(24, 25, 28, .75);
	border: 1px solid var(--line-2); border-radius: var(--r-lg);
	backdrop-filter: blur(10px);
}
.tbb-hero__picker-label { display: flex; align-items: center; gap: 8px; font: 800 italic 18px/1 var(--f-display); text-transform: uppercase; letter-spacing: .06em; padding: 6px 4px; }
.tbb-hero__picker-label .tbb-i { color: var(--orange); }
.tbb-hero__picker label { margin: 0; }
@media (min-width: 860px) {
	.tbb-hero__picker { grid-template-columns: auto 1fr 1fr .7fr auto; align-items: center; }
}

.tbb-hero__stats { display: flex; flex-wrap: wrap; gap: 28px; margin-top: 34px; }
.tbb-hero__stats div { display: flex; flex-direction: column; }
.tbb-hero__stats b { font: 900 italic 30px/1 var(--f-display); color: var(--orange); }
.tbb-hero__stats span { font-size: 13px; color: var(--silver); text-transform: uppercase; letter-spacing: .1em; }

.tbb-hero__plate {
	position: absolute; right: var(--gutter); bottom: 26px;
	padding: 6px 14px; border: 2px solid var(--line-2); border-radius: 6px;
	font: 800 18px/1 var(--f-display); letter-spacing: .2em; color: var(--silver);
	background: rgba(255, 255, 255, .03);
	cursor: pointer; user-select: none;
	transition: color var(--fast), border-color var(--fast);
}
.tbb-hero__plate:hover { color: var(--orange); border-color: var(--orange); }

/* ==========================================================================
   Secciones
   ========================================================================== */
.tbb-section { padding: clamp(60px, 9vw, 120px) 0; }
.tbb-section--dark { background: var(--carbon); border-block: 1px solid var(--line); }
.tbb-section__head { margin-bottom: 36px; }
.tbb-section__head--row { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; }

/* Categorías */
.tbb-cats { display: grid; gap: 12px; grid-template-columns: repeat(2, 1fr); }
@media (min-width: 900px) { .tbb-cats { grid-template-columns: repeat(3, 1fr); } }
.tbb-cat {
	position: relative; overflow: hidden;
	display: flex; flex-direction: column; justify-content: flex-end;
	min-height: clamp(150px, 24vw, 260px); padding: 18px;
	background: var(--graphite) var(--img, none) center / cover no-repeat;
	border: 1px solid var(--line); border-radius: var(--r-lg);
	isolation: isolate;
	transition: transform .35s var(--ease), border-color .35s;
}
.tbb-cat::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, transparent 20%, rgba(18, 20, 20, .92)); }
.tbb-cat::after {
	content: ""; position: absolute; top: 0; left: -60%; width: 40%; height: 100%; z-index: -1;
	background: linear-gradient(100deg, transparent, rgba(255, 75, 18, .25), transparent);
	transform: skewX(-20deg); transition: left .6s var(--ease);
}
.tbb-cat:hover { transform: translateY(-4px); border-color: var(--orange); color: var(--chalk); }
.tbb-cat:hover::after { left: 130%; }
.tbb-cat__n { position: absolute; top: 14px; left: 18px; font: 800 italic 14px var(--f-display); color: var(--orange); letter-spacing: .1em; }
.tbb-cat__name { font: 900 italic clamp(24px, 3.4vw, 40px)/.95 var(--f-display); text-transform: uppercase; }
.tbb-cat__count { font-size: 13px; color: var(--silver); margin-top: 6px; }

/* Servicios */
.tbb-svcgrid { display: grid; gap: 14px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .tbb-svcgrid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1040px) { .tbb-svcgrid { grid-template-columns: repeat(3, 1fr); } }
.tbb-svc {
	--accent: var(--orange);
	position: relative; display: flex; flex-direction: column; overflow: hidden;
	background: var(--graphite); border: 1px solid var(--line); border-radius: var(--r-lg);
	transition: border-color .3s, transform .3s var(--ease);
}
.tbb-svc--proteccion { --accent: var(--turq); }
.tbb-svc--blindaje { --accent: #4f7dff; }
.tbb-svc:hover { border-color: var(--accent); transform: translateY(-4px); color: var(--chalk); }
.tbb-svc__media {
	display: block; aspect-ratio: 16 / 9;
	background: var(--steel) center / cover no-repeat;
	background-image: repeating-linear-gradient(115deg, transparent 0 22px, rgba(255, 255, 255, .03) 22px 24px), linear-gradient(135deg, var(--steel), var(--carbon));
}
.tbb-svc__media[style] { background-size: cover; }
.tbb-svc__body { display: flex; flex-direction: column; gap: 8px; padding: 18px 20px 20px; flex: 1; }
.tbb-svc__line { font: 700 12px var(--f-display); letter-spacing: .2em; text-transform: uppercase; color: var(--accent); }
.tbb-svc__line b { color: var(--chalk); }
.tbb-svc__title { font: 900 italic 28px/1 var(--f-display); text-transform: uppercase; }
.tbb-svc__desc { color: var(--silver); font-size: 15px; }
.tbb-svc__foot { margin-top: auto; padding-top: 12px; display: flex; justify-content: space-between; align-items: center; border-top: 1px solid var(--line); font: 700 italic 16px var(--f-display); text-transform: uppercase; letter-spacing: .06em; }
.tbb-svc__foot .tbb-i { color: var(--accent); transition: transform var(--fast) var(--ease); }
.tbb-svc:hover .tbb-svc__foot .tbb-i { transform: translateX(5px); }
.tbb-svcsection { padding: 36px 0; }

/* Blindaje */
.tbb-armor {
	position: relative; overflow: hidden;
	padding: clamp(60px, 9vw, 120px) 0;
	background:
		radial-gradient(60% 80% at 100% 0, rgba(40, 100, 255, .2), transparent 60%),
		linear-gradient(135deg, #0c1020, var(--ink) 70%);
	border-block: 1px solid var(--line);
}
.tbb-armor .tbb-kicker { color: #6f95ff; }
.tbb-armor__inner { display: grid; gap: 40px; align-items: center; }
@media (min-width: 960px) { .tbb-armor__inner { grid-template-columns: 1.2fr 1fr; } }
.tbb-armor__title { font-size: clamp(40px, 7vw, 84px); max-width: 12ch; }
.tbb-armor__text { color: var(--silver); max-width: 560px; font-size: 18px; }
.tbb-armor__ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 26px; }
.tbb-armor__from { font: 700 italic 18px var(--f-display); text-transform: uppercase; letter-spacing: .04em; }
.tbb-armor__specs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.tbb-armor__specs li { padding: 22px; border: 1px solid rgba(111, 149, 255, .25); border-radius: var(--r-lg); background: rgba(255, 255, 255, .02); }
.tbb-armor__specs b { display: block; font: 900 italic 40px/1 var(--f-display); }
.tbb-armor__specs span { color: var(--silver); font-size: 14px; text-transform: uppercase; letter-spacing: .1em; }
.tbb-armor__soon { border-style: dashed !important; }
.tbb-armor__soon b { color: #6f95ff; }

/* Pasos */
.tbb-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; counter-reset: s; }
@media (min-width: 760px) { .tbb-steps { grid-template-columns: repeat(4, 1fr); } }
.tbb-steps li { position: relative; padding: 24px; border-top: 2px solid var(--orange); background: linear-gradient(180deg, rgba(255, 75, 18, .06), transparent 60%); }
.tbb-steps span { font: 900 italic 46px/1 var(--f-display); color: var(--orange); opacity: .9; }
.tbb-steps b { display: block; margin: 10px 0 6px; font: 800 italic 24px/1 var(--f-display); text-transform: uppercase; }
.tbb-steps p { margin: 0; color: var(--silver); font-size: 15px; }

/* Reveal */
.tbb-reveal.is-in { animation: tbb-in .7s var(--ease) both; }
@keyframes tbb-in { from { opacity: 0; transform: translateY(18px); } }

/* ==========================================================================
   Encabezado de página
   ========================================================================== */
.tbb-pagehead { padding: 48px 0 28px; border-bottom: 1px solid var(--line); background: linear-gradient(180deg, var(--carbon), var(--ink)); margin-bottom: 32px; }
.tbb-pagehead--big { padding: 80px 0 48px; }
.tbb-pagehead__title { font-size: clamp(42px, 8vw, 96px); margin: 0; }
.tbb-crumbs { font-size: 13px; color: var(--silver); margin-bottom: 14px; text-transform: uppercase; letter-spacing: .08em; }
.tbb-crumbs a:hover { color: var(--orange); }
.tbb-prose { padding-block: 20px 80px; max-width: 860px; }
.tbb-prose a { color: var(--orange); }
.tbb-wcpage { padding-bottom: 80px; }

/* ==========================================================================
   WooCommerce — catálogo
   ========================================================================== */
.tbb-shop { padding-bottom: 80px; }
.woocommerce .woocommerce-result-count { color: var(--silver); font-size: 14px; margin: 10px 0 20px; }
.woocommerce .woocommerce-ordering select { min-height: 42px; width: auto; }

.tbb-fitbar {
	display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px;
	padding: 12px 16px; margin-bottom: 22px;
	border: 1px solid rgba(255, 75, 18, .4); border-radius: var(--r-lg);
	background: rgba(255, 75, 18, .08);
}
.tbb-fitbar .tbb-i { color: var(--orange); }
.tbb-fitbar strong { color: var(--orange); }
.tbb-fitbar a { margin-left: auto; font: 700 italic 15px var(--f-display); text-transform: uppercase; letter-spacing: .08em; text-decoration: underline; text-underline-offset: 4px; }

.woocommerce ul.products, .woocommerce-page ul.products {
	display: grid !important; grid-template-columns: repeat(2, 1fr); gap: 12px;
	margin: 0 0 30px !important; padding: 0;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
@media (min-width: 900px) {
	.woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, 1fr); gap: 18px; }
	.woocommerce ul.products.columns-4 { grid-template-columns: repeat(4, 1fr); gap: 18px; }
}
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
	position: relative; width: auto !important; margin: 0 !important; float: none !important;
	display: flex; flex-direction: column;
	padding: 0 0 14px !important;
	background: var(--graphite); border: 1px solid var(--line); border-radius: var(--r-lg);
	overflow: hidden;
	transition: border-color .3s, transform .3s var(--ease);
}
.woocommerce ul.products li.product:hover { border-color: var(--orange); transform: translateY(-4px); }
.woocommerce ul.products li.product a img { margin: 0 0 12px !important; aspect-ratio: 1; object-fit: cover; background: var(--steel); transition: transform .6s var(--ease); }
.woocommerce ul.products li.product:hover a img { transform: scale(1.04); }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	padding: 0 14px !important; margin: 0 0 6px;
	font: 800 italic clamp(17px, 2vw, 21px)/1.05 var(--f-display) !important; text-transform: uppercase;
}
.woocommerce ul.products li.product .price {
	padding: 0 14px; margin: 0 0 8px !important;
	color: var(--chalk) !important; font: 800 20px var(--f-display) !important;
}
.woocommerce ul.products li.product .price del { color: var(--silver); opacity: .7; font-size: 15px; }
.woocommerce ul.products li.product .price ins { text-decoration: none; color: var(--orange); }
.woocommerce ul.products li.product .button {
	margin: auto 14px 0 !important; min-height: 42px; font-size: 15px; padding: 0 14px;
}
.woocommerce ul.products li.product .added_to_cart { display: block; padding: 8px 14px 0; font-size: 13px; color: var(--orange); }
.woocommerce span.onsale {
	top: 10px !important; left: 10px !important; right: auto !important; margin: 0 !important;
	min-width: 0; min-height: 0; padding: 6px 10px; line-height: 1;
	border-radius: 2px; background: var(--orange); color: var(--ink);
	font: 800 italic 13px var(--f-display); text-transform: uppercase; letter-spacing: .08em;
}
.tbb-badge {
	position: absolute; z-index: 2; top: 10px; right: 10px;
	padding: 6px 10px; background: var(--chalk); color: var(--ink);
	font: 800 italic 12px/1 var(--f-display); text-transform: uppercase; letter-spacing: .1em;
	clip-path: polygon(5px 0, 100% 0, calc(100% - 5px) 100%, 0 100%);
}
.tbb-fit-chip {
	position: absolute; z-index: 2; top: 10px; left: 10px;
	display: inline-flex; align-items: center; gap: 4px;
	padding: 5px 9px; border-radius: 12px;
	background: rgba(18, 20, 20, .85); color: var(--ok);
	font: 700 12px/1 var(--f-body); border: 1px solid rgba(61, 220, 132, .4);
}
.tbb-fit-chip .tbb-i { width: 14px; height: 14px; }
li.product:has(.onsale) .tbb-fit-chip { top: 42px; }

.tbb-eta { display: inline-flex; align-items: center; gap: 6px; padding: 0 14px; margin-bottom: 12px; font-size: 13px; color: var(--silver); }
.tbb-eta .tbb-i { width: 15px; height: 15px; color: var(--orange); }
.tbb-eta--now .tbb-i { color: var(--ok); }

.woocommerce nav.woocommerce-pagination ul { border: 0 !important; display: flex; justify-content: center; gap: 6px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0 !important; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span {
	min-width: 42px; padding: 12px !important; border-radius: var(--r); background: var(--graphite); color: var(--chalk) !important;
}
.woocommerce nav.woocommerce-pagination ul li span.current, .woocommerce nav.woocommerce-pagination ul li a:hover { background: var(--orange) !important; color: var(--ink) !important; }

/* ==========================================================================
   WooCommerce — producto
   ========================================================================== */
.tbb-shop--product { padding-top: 28px; }
.woocommerce div.product { display: grid; gap: 32px; }
@media (min-width: 960px) {
	.woocommerce div.product { grid-template-columns: 1.15fr 1fr; gap: 56px; align-items: start; }
	.woocommerce div.product .summary { position: sticky; top: calc(var(--header-h) + 20px); }
}
.woocommerce div.product div.images, .woocommerce div.product div.summary { width: 100% !important; float: none !important; margin: 0 !important; }
.woocommerce div.product .woocommerce-tabs, .woocommerce div.product .related, .woocommerce div.product .upsells { grid-column: 1 / -1; }
.woocommerce div.product div.images img { border-radius: var(--r-lg); background: var(--graphite); }
.woocommerce div.product div.images .flex-control-thumbs { display: flex; gap: 8px; margin-top: 8px !important; }
.woocommerce div.product div.images .flex-control-thumbs li { width: 72px !important; }
.woocommerce div.product div.images .flex-control-thumbs li img { border-radius: var(--r); opacity: .5; }
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active { opacity: 1; outline: 2px solid var(--orange); }

.woocommerce div.product .product_title { font-size: clamp(36px, 5vw, 60px); margin-bottom: 12px; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--chalk) !important; font: 800 clamp(30px, 3.6vw, 40px)/1 var(--f-display) !important; margin: 10px 0 14px; }
.woocommerce div.product p.price ins { color: var(--orange); text-decoration: none; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--silver); }
.woocommerce .product_meta { font-size: 13px; color: var(--silver); border-top: 1px solid var(--line); padding-top: 14px; margin-top: 20px; }
.woocommerce .product_meta > span { display: block; margin-bottom: 4px; }
.woocommerce .product_meta .sku { color: var(--chalk); font-weight: 700; letter-spacing: .06em; }

.tbb-fit {
	display: flex; align-items: center; gap: 10px; width: 100%;
	padding: 12px 14px; margin: 0 0 14px;
	border-radius: var(--r-lg); border: 1px solid var(--line-2);
	font-size: 15px; text-align: left; background: transparent;
}
.tbb-fit--yes { border-color: rgba(61, 220, 132, .45); background: rgba(61, 220, 132, .08); }
.tbb-fit--yes .tbb-i { color: var(--ok); }
.tbb-fit--no { border-color: rgba(255, 77, 77, .4); background: rgba(255, 77, 77, .07); }
.tbb-fit--no .tbb-i { color: var(--bad); }
.tbb-fit--uni .tbb-i { color: var(--turq); }
.tbb-fit--ask { border-style: dashed; border-color: var(--orange); }
.tbb-fit--ask .tbb-i { color: var(--orange); }
.tbb-fit--ask:hover { background: rgba(255, 75, 18, .08); }

.tbb-eta--full { display: flex; padding: 0; margin: 0 0 20px; font-size: 15px; color: var(--chalk); }
.tbb-eta--full .tbb-i { width: 20px; height: 20px; }
.tbb-eta--full span { display: flex; flex-direction: column; line-height: 1.3; }
.tbb-eta--full small { color: var(--silver); font-size: 13px; }

/* Extras */
.tbb-extras { display: grid; gap: 10px; padding: 18px; margin: 4px 0 18px; border: 1px solid var(--line-2); border-radius: var(--r-lg); background: var(--carbon); }
.tbb-extras__title { margin: 0 0 4px; font: 800 italic 20px var(--f-display); text-transform: uppercase; letter-spacing: .04em; }
.tbb-extras__note { display: flex; gap: 8px; align-items: center; margin: 0; font-size: 13px; color: var(--silver); }
.tbb-extras__note .tbb-i { width: 16px; height: 16px; color: var(--orange); }
.tbb-seg { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.tbb-seg__opt { position: relative; margin: 0; cursor: pointer; }
.tbb-seg__opt input { position: absolute; opacity: 0; }
.tbb-seg__opt > span {
	display: flex; flex-direction: column; justify-content: center; gap: 2px; min-height: 64px; padding: 10px 14px;
	border: 1.5px solid var(--line-2); border-radius: var(--r); transition: border-color var(--fast), background var(--fast);
}
.tbb-seg__opt b { font: 800 italic 18px/1 var(--f-display); text-transform: uppercase; }
.tbb-seg__opt em { font-style: normal; font-size: 14px; font-weight: 700; color: var(--orange); }
.tbb-seg__opt input:checked + span { border-color: var(--orange); background: rgba(255, 75, 18, .1); }
.tbb-seg__opt input:focus-visible + span { outline: 2px solid var(--orange); outline-offset: 2px; }

.tbb-toggle {
	position: relative; display: grid; grid-template-columns: 44px 1fr auto; align-items: center; gap: 12px;
	padding: 12px; margin: 0; cursor: pointer;
	border: 1.5px solid var(--line-2); border-radius: var(--r);
	transition: border-color var(--fast), background var(--fast);
}
.tbb-toggle input { position: absolute; opacity: 0; }
.tbb-toggle__ui { display: grid; place-items: center; width: 44px; height: 44px; border-radius: var(--r); background: var(--steel); color: var(--silver); transition: background var(--fast), color var(--fast); }
.tbb-toggle__txt { display: flex; flex-direction: column; line-height: 1.25; }
.tbb-toggle__txt b { font: 800 italic 17px var(--f-display); text-transform: uppercase; }
.tbb-toggle__txt small { color: var(--silver); font-size: 12.5px; font-weight: 400; }
.tbb-toggle__price { font: 800 16px var(--f-display); white-space: nowrap; }
.tbb-toggle:has(input:checked) { border-color: var(--orange); background: rgba(255, 75, 18, .08); }
.tbb-toggle:has(input:checked) .tbb-toggle__ui { background: var(--orange); color: var(--ink); }
.tbb-toggle:has(input:focus-visible) { outline: 2px solid var(--orange); outline-offset: 2px; }
.tbb-paint-field input { min-height: 46px; }
.tbb-extras__total { display: flex; justify-content: space-between; align-items: baseline; padding-top: 12px; margin-top: 4px; border-top: 1px solid var(--line); }
.tbb-extras__total span { text-transform: uppercase; letter-spacing: .14em; font-size: 13px; color: var(--silver); }
.tbb-extras__total strong { font: 900 italic 32px/1 var(--f-display); color: var(--orange); }
.tbb-extras__total strong.is-bump { animation: tbb-bump .35s var(--ease); }
@keyframes tbb-bump { 40% { transform: scale(1.08); } }

.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 14px !important; }
.woocommerce div.product form.cart .tbb-extras { flex-basis: 100%; }
.woocommerce div.product form.cart div.quantity { margin: 0 !important; }
.woocommerce .quantity .qty { width: 72px; min-height: 50px; text-align: center; }
.woocommerce div.product form.cart .button { flex: 1; min-height: 54px; font-size: 19px; }
.woocommerce div.product form.cart table.variations td, .woocommerce div.product form.cart table.variations th { padding: 4px 0; }
.tbb-shipnote { display: flex; gap: 8px; align-items: center; font-size: 13px; color: var(--silver); }
.tbb-shipnote .tbb-i { width: 16px; height: 16px; color: var(--orange); }

.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0 !important; margin: 40px 0 0 !important; display: flex; gap: 4px; overflow-x: auto; border-bottom: 1px solid var(--line); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: none !important; border: 0 !important; margin: 0 !important; padding: 0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: block; padding: 14px 18px !important; color: var(--silver) !important; font: 800 italic 17px var(--f-display) !important; text-transform: uppercase; letter-spacing: .06em; white-space: nowrap; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--chalk) !important; box-shadow: inset 0 -3px 0 var(--orange); }
.woocommerce div.product .woocommerce-tabs .panel { padding: 24px 0; color: var(--silver); }
.woocommerce div.product .woocommerce-tabs .panel h2 { display: none; }
.tbb-fitlist { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }
.tbb-fitlist li { padding: 10px 14px; background: var(--graphite); border-radius: var(--r); color: var(--chalk); }
.woocommerce table.shop_attributes, .woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td { border-color: var(--line) !important; background: none !important; color: var(--chalk); }
.related > h2, .upsells > h2 { font-size: clamp(30px, 4vw, 46px); margin: 30px 0 20px; }

/* Pit stop flotante */
.tbb-pitchip {
	position: fixed; z-index: 90; left: 16px; bottom: 16px;
	display: inline-flex; align-items: center; gap: 8px;
	padding: 10px 14px; border: 1px solid var(--orange); border-radius: 22px;
	background: rgba(18, 20, 20, .9); color: var(--chalk);
	font: 800 italic 14px/1 var(--f-display); text-transform: uppercase; letter-spacing: .08em;
	transform: translateY(80px); transition: transform .5s var(--ease);
}
.tbb-pitchip.is-on { transform: none; }
.tbb-pitchip span { color: var(--orange); }

/* ==========================================================================
   WooCommerce — carrito, checkout, cuenta, avisos
   ========================================================================== */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner {
	background: var(--graphite) !important; color: var(--chalk) !important;
	border: 1px solid var(--line-2) !important; border-left: 4px solid var(--orange) !important;
	border-radius: var(--r) !important;
}
.woocommerce-error { border-left-color: var(--bad) !important; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--orange) !important; }
.woocommerce-message .button { min-height: 38px; font-size: 14px; }

.woocommerce table.shop_table { border: 1px solid var(--line) !important; border-radius: var(--r-lg) !important; border-collapse: separate; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-color: var(--line) !important; color: var(--chalk); }
.woocommerce table.shop_table th { font: 800 italic 15px var(--f-display); text-transform: uppercase; letter-spacing: .08em; color: var(--silver); }
.woocommerce table.shop_table td.product-name a { font-weight: 700; }
.woocommerce table.shop_table dl.variation { font-size: 13px; color: var(--silver); }
.woocommerce a.remove { color: var(--bad) !important; }
.woocommerce a.remove:hover { background: var(--bad) !important; color: #fff !important; }
.woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals { background: var(--carbon); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 20px; }
.woocommerce .cart_totals h2 { font-size: 30px; }
.woocommerce-shipping-calculator .shipping-calculator-button { color: var(--orange); }
.woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register { border-color: var(--line) !important; border-radius: var(--r-lg) !important; background: var(--carbon); }
#add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment { background: var(--carbon) !important; border-radius: var(--r-lg) !important; }
.woocommerce-checkout #payment div.payment_box { background: var(--graphite) !important; color: var(--chalk) !important; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--graphite) !important; }
.woocommerce-checkout #payment ul.payment_methods { border-color: var(--line) !important; }
#order_review_heading, .woocommerce-billing-fields h3, .woocommerce-shipping-fields h3 { font-size: 30px; }

/* Bloques de carrito/checkout */
.wc-block-cart, .wc-block-checkout { color: var(--chalk); }
.wc-block-components-sidebar-layout .wc-block-components-sidebar, .wp-block-woocommerce-checkout-order-summary-block {
	background: var(--carbon); border-radius: var(--r-lg);
}
.wc-block-components-totals-wrapper, .wc-block-components-order-summary-item, .wc-block-cart-items td, .wc-block-cart-items th { border-color: var(--line) !important; }
.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option { border-color: var(--line-2) !important; }
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted { box-shadow: inset 0 0 0 2px var(--orange) !important; }
.wc-block-components-title, .wc-block-cart__totals-title { font-family: var(--f-display) !important; font-style: italic; text-transform: uppercase !important; }
.wc-block-components-product-name { color: var(--chalk) !important; font-weight: 700; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox] { background: var(--graphite); border-color: var(--line-2); }

/* Mi cuenta */
.woocommerce-account .woocommerce { display: grid; gap: 28px; }
@media (min-width: 900px) { .woocommerce-account .woocommerce { grid-template-columns: 240px 1fr; } }
.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { width: auto !important; float: none !important; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
@media (min-width: 900px) { .woocommerce-MyAccount-navigation ul { flex-direction: column; } }
.woocommerce-MyAccount-navigation a { display: block; padding: 10px 14px; border-radius: var(--r); background: var(--graphite); font: 700 italic 16px var(--f-display); text-transform: uppercase; letter-spacing: .06em; }
.woocommerce-MyAccount-navigation .is-active a { background: var(--orange); color: var(--ink); }
.woocommerce-MyAccount-navigation-link--mi-garage a::before { content: "⚡ "; }

/* ==========================================================================
   Mi Garage
   ========================================================================== */
.tbb-modal { position: fixed; inset: 0; z-index: 300; display: grid; place-items: end center; }
@media (min-width: 700px) { .tbb-modal { place-items: center; } }
.tbb-modal__backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, .7); opacity: 0; transition: opacity .25s; }
.tbb-modal__panel {
	position: relative; width: min(560px, 100%); max-height: 92vh; overflow: auto;
	padding: 32px 24px 26px;
	background: var(--carbon); border: 1px solid var(--line-2);
	border-radius: 16px 16px 0 0;
	transform: translateY(40px); opacity: 0; transition: transform .3s var(--ease), opacity .3s;
}
@media (min-width: 700px) { .tbb-modal__panel { border-radius: 16px; padding: 38px 34px 30px; } }
.tbb-modal__panel::before { content: ""; position: absolute; top: 0; left: 24px; right: 24px; height: 3px; background: linear-gradient(90deg, var(--orange), transparent); }
.tbb-modal.is-open .tbb-modal__backdrop { opacity: 1; }
.tbb-modal.is-open .tbb-modal__panel { transform: none; opacity: 1; }
.tbb-modal__x { position: absolute; top: 12px; right: 12px; }
.tbb-modal__foot { margin: 18px 0 0; font-size: 14px; color: var(--silver); }
.tbb-modal__foot a { color: var(--orange); text-decoration: underline; }

.tbb-picker { display: grid; gap: 10px; margin-top: 18px; }
.tbb-picker label { display: grid; gap: 6px; margin: 0; }
.tbb-picker label > span:not(.screen-reader-text) { font-size: 12px; text-transform: uppercase; letter-spacing: .14em; color: var(--silver); }
.tbb-picker .tbb-btn { margin-top: 6px; }
.tbb-hero__picker.tbb-picker { margin-top: 0; }
.tbb-hero__picker .tbb-btn { margin-top: 0; }

.tbb-garage-cars, [data-tbb-garage-list] { display: grid; gap: 8px; margin-top: 16px; }
.tbb-carrow { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid var(--line-2); border-radius: var(--r); }
.tbb-carrow.is-active { border-color: var(--orange); background: rgba(255, 75, 18, .08); }
.tbb-carrow__name { flex: 1; font: 800 italic 18px var(--f-display); text-transform: uppercase; }
.tbb-carrow__tag { font-size: 12px; font-weight: 700; color: var(--orange); text-transform: uppercase; letter-spacing: .1em; }
.tbb-carrow__use { padding: 6px 12px; border: 1px solid var(--line-2); border-radius: var(--r); background: none; font-size: 13px; font-weight: 700; }
.tbb-carrow__use:hover { border-color: var(--orange); color: var(--orange); }
.tbb-carrow__del { width: 32px; height: 32px; border: 0; border-radius: var(--r); background: none; color: var(--silver); font-size: 22px; line-height: 1; }
.tbb-carrow__del:hover { background: rgba(255, 77, 77, .15); color: var(--bad); }
.tbb-carrow__clear { justify-self: start; padding: 4px 0; border: 0; background: none; color: var(--silver); font-size: 13px; text-decoration: underline; text-underline-offset: 3px; }
.tbb-garage-page .tbb-btn { margin-top: 18px; }

.tbb-pitstop { margin-top: 18px; padding: 16px; border-radius: var(--r-lg); background: linear-gradient(135deg, rgba(255, 75, 18, .16), rgba(255, 75, 18, .04)); border: 1px solid rgba(255, 75, 18, .35); animation: tbb-bump .5s var(--ease); }
.tbb-pitstop b { font: 800 italic 15px var(--f-display); text-transform: uppercase; letter-spacing: .1em; color: var(--orange); }
.tbb-pitstop p { margin: 6px 0 0; }

/* ==========================================================================
   Toast, WhatsApp, footer
   ========================================================================== */
.tbb-toast {
	position: fixed; z-index: 400; left: 50%; bottom: 20px;
	width: min(440px, calc(100vw - 32px));
	padding: 14px 18px;
	background: var(--graphite); border: 1px solid var(--line-2); border-left: 4px solid var(--orange); border-radius: var(--r);
	box-shadow: 0 20px 60px rgba(0, 0, 0, .5);
	transform: translate(-50%, 30px); opacity: 0; transition: transform .35s var(--ease), opacity .35s;
}
.tbb-toast.is-on { transform: translate(-50%, 0); opacity: 1; }
.tbb-toast b { display: block; font: 800 italic 15px var(--f-display); text-transform: uppercase; letter-spacing: .1em; color: var(--orange); }
.tbb-toast span { display: block; margin-top: 4px; font-size: 15px; }

.tbb-wafab {
	position: fixed; z-index: 90; right: 16px; bottom: 16px;
	display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%;
	background: #1fb855; color: #fff; box-shadow: 0 10px 30px rgba(31, 184, 85, .4);
	transition: transform var(--fast) var(--ease);
}
.tbb-wafab:hover { transform: scale(1.08); color: #fff; }
.tbb-wafab .tbb-i { width: 28px; height: 28px; }

.tbb-footer { position: relative; padding: 70px 0 30px; background: var(--carbon); border-top: 1px solid var(--line); }
.tbb-footer__speed { position: absolute; top: -1px; left: 0; height: 2px; width: 30%; background: linear-gradient(90deg, transparent, var(--orange), transparent); animation: tbb-streak 5s linear infinite; }
.tbb-footer__grid { display: grid; gap: 36px; }
@media (min-width: 900px) { .tbb-footer__grid { grid-template-columns: 1.4fr 1fr 1fr 1.2fr; } }
.tbb-footer__claim { margin: 18px 0 4px; font: 800 italic 24px/1.05 var(--f-display); text-transform: uppercase; max-width: 18ch; }
.tbb-footer__sub { margin: 0; font-size: 13px; color: var(--silver); letter-spacing: .14em; text-transform: uppercase; }
.tbb-footer__h { font-size: 18px; color: var(--silver); letter-spacing: .1em; }
.tbb-footer__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.tbb-footer__txt { margin: 0 0 12px; font-size: 15px; color: var(--silver); }
.tbb-paylist { list-style: none; margin: 0 0 10px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.tbb-paylist li { padding: 6px 10px; border: 1px solid var(--line-2); border-radius: var(--r); font: 700 12px var(--f-body); letter-spacing: .04em; }
.tbb-social { display: flex; gap: 14px; margin-top: 14px; font-weight: 700; }
.tbb-footer__legal { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 50px; padding-top: 22px; border-top: 1px solid var(--line); font-size: 13px; color: var(--silver); }
.tbb-cross { width: 30px; height: 30px; border: 0; border-radius: 50%; background: none; color: var(--silver); opacity: .35; font-size: 15px; transition: opacity .3s, color .3s, transform .3s; }
.tbb-cross:hover { opacity: 1; color: var(--orange); transform: scale(1.2); }

/* ==========================================================================
   404
   ========================================================================== */
.tbb-404 { padding: 90px 0 110px; text-align: center; overflow: hidden; }
.tbb-404__code { margin: 0; font: 900 italic clamp(120px, 26vw, 300px)/.8 var(--f-display); color: transparent; -webkit-text-stroke: 2px var(--orange); }
.tbb-404__verse { max-width: 560px; margin: 0 auto 30px; color: var(--silver); font-size: 18px; }
.tbb-404__ctas { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; }
.tbb-404__road { position: relative; height: 4px; margin: 60px auto 0; max-width: 700px; background: repeating-linear-gradient(90deg, var(--line-2) 0 40px, transparent 40px 70px); }
.tbb-404__road i { position: absolute; top: -8px; left: 0; width: 26px; height: 20px; background: var(--orange); clip-path: polygon(0 40%, 70% 40%, 70% 0, 100% 50%, 70% 100%, 70% 60%, 0 60%); animation: tbb-drive 4s var(--ease) infinite; }
@keyframes tbb-drive { from { left: 0; } to { left: calc(100% - 26px); } }

/* Servicio individual */
.tbb-svchero { --accent: var(--orange); position: relative; padding: clamp(70px, 10vw, 130px) 0; background: linear-gradient(90deg, rgba(18, 20, 20, .96) 35%, rgba(18, 20, 20, .55)), var(--img, linear-gradient(135deg, var(--steel), var(--ink))) center / cover; border-bottom: 1px solid var(--line); margin-bottom: 30px; }
.tbb-svchero.tbb-svc--proteccion { --accent: var(--turq); }
.tbb-svchero.tbb-svc--blindaje { --accent: #4f7dff; }
.tbb-svchero .tbb-kicker { color: var(--accent); }
.tbb-svchero__title { font-size: clamp(46px, 9vw, 110px); max-width: 14ch; }
.tbb-svchero__text { max-width: 560px; font-size: 19px; color: var(--silver); }
.tbb-svchero__ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 26px; }
.tbb-svchero__from { font: 800 italic 20px var(--f-display); text-transform: uppercase; }
.tbb-pills { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 22px 0 0; }
.tbb-pills li { display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; border: 1px solid var(--line-2); border-radius: 20px; font-size: 14px; background: rgba(255, 255, 255, .03); }
.tbb-pills .tbb-i { width: 15px; height: 15px; color: var(--accent); }

/* ==========================================================================
   EASTER EGGS
   ========================================================================== */
/* Modo Camino */
.tbb-camino {
	position: fixed; inset: 0; z-index: 9000;
	display: grid; place-items: center; align-content: center; gap: 24px;
	background: radial-gradient(60% 50% at 50% 35%, rgba(255, 220, 170, .18), transparent 70%), #050506;
	opacity: 0; transition: opacity .6s var(--ease); cursor: pointer; text-align: center; padding: 24px;
}
.tbb-camino.is-on { opacity: 1; }
.tbb-camino__road { position: absolute; bottom: 0; left: 50%; width: 140vw; height: 55vh; transform: translateX(-50%) perspective(400px) rotateX(62deg); transform-origin: bottom; background: linear-gradient(90deg, transparent 30%, #1a1b1e 30%, #1a1b1e 70%, transparent 70%); }
.tbb-camino__road i { position: absolute; left: 50%; top: 0; bottom: 0; width: 8px; transform: translateX(-50%); background: repeating-linear-gradient(180deg, #ffdca8 0 50px, transparent 50px 100px); animation: tbb-roadmove .7s linear infinite; }
@keyframes tbb-roadmove { to { background-position: 0 100px; } }
.tbb-camino__cross { position: relative; width: 70px; height: 110px; filter: drop-shadow(0 0 30px rgba(255, 220, 170, .9)); animation: tbb-glow 3s ease-in-out infinite; }
.tbb-camino__cross::before, .tbb-camino__cross::after { content: ""; position: absolute; background: #fff6e6; border-radius: 2px; }
.tbb-camino__cross::before { left: 50%; top: 0; width: 12px; height: 100%; transform: translateX(-50%); }
.tbb-camino__cross::after { top: 28%; left: 0; width: 100%; height: 12px; }
@keyframes tbb-glow { 50% { filter: drop-shadow(0 0 55px rgba(255, 220, 170, 1)); } }
.tbb-camino__verse { position: relative; margin: 0; max-width: 18ch; font: 800 italic clamp(30px, 6vw, 56px)/1 var(--f-display); text-transform: uppercase; color: #fff6e6; }
.tbb-camino__verse small { display: block; margin-top: 12px; font-size: .4em; letter-spacing: .3em; color: var(--orange); }
.tbb-camino__x { position: relative; padding: 10px 18px; border: 1px solid rgba(255, 246, 230, .4); border-radius: 22px; background: none; color: #fff6e6; font-size: 14px; }

/* Luces (cristo / jesus) */
html.tbb-egg-lights body::after {
	content: ""; position: fixed; inset: 0; z-index: 8000; pointer-events: none;
	background:
		radial-gradient(35% 45% at 28% 100%, rgba(255, 246, 220, .5), transparent 70%),
		radial-gradient(35% 45% at 72% 100%, rgba(255, 246, 220, .5), transparent 70%);
	mix-blend-mode: screen; animation: tbb-lights 5.2s ease forwards;
}
@keyframes tbb-lights { 0% { opacity: 0; } 8% { opacity: 1; } 12% { opacity: .5; } 16%, 85% { opacity: 1; } 100% { opacity: 0; } }

/* 88 mph */
html.tbb-egg-88 body { animation: tbb-flux 2.6s steps(2) 1; }
html.tbb-egg-88 body::after { content: ""; position: fixed; inset: 0; z-index: 8000; pointer-events: none; background: linear-gradient(115deg, transparent 45%, rgba(120, 190, 255, .7) 50%, transparent 55%); animation: tbb-bolt .3s steps(2) 6; }
@keyframes tbb-flux { 0%, 100% { filter: none; } 50% { filter: hue-rotate(160deg) saturate(1.6); } }
@keyframes tbb-bolt { 50% { opacity: 0; } }

/* Nitro */
html.tbb-egg-nitro .tbb-main { animation: tbb-shake .12s linear 14; }
html.tbb-egg-nitro body::after {
	content: ""; position: fixed; inset: 0; z-index: 8000; pointer-events: none;
	background: repeating-linear-gradient(90deg, transparent 0 60px, rgba(255, 75, 18, .18) 60px 62px);
	animation: tbb-whoosh .3s linear infinite;
}
@keyframes tbb-shake { 25% { transform: translate(2px, -1px); } 75% { transform: translate(-2px, 1px); } }
@keyframes tbb-whoosh { to { background-position: -62px 0; } }

/* Arranque (logo ×3) */
html.tbb-egg-rev .tbb-header__logo { animation: tbb-shake .08s linear 12; }

/* Escáner */
.tbb-kitt { position: fixed; z-index: 8000; top: 0; left: 0; right: 0; height: 4px; pointer-events: none; }
.tbb-kitt::after { content: ""; position: absolute; top: 0; height: 100%; width: 18%; background: radial-gradient(closest-side, #ff1a1a, rgba(255, 26, 26, 0)); animation: tbb-scan 1.1s ease-in-out infinite alternate; }
@keyframes tbb-scan { from { left: 0; } to { left: 82%; } }

/* Movimiento reducido */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
	.tbb-reveal { opacity: 1; transform: none; }
}

/* ==========================================================================
   Identidad TBB: logos, alerón, franjas, patrón
   ========================================================================== */
.tbb-brandlogo { display: inline-flex; align-items: center; }
.tbb-brandlogo svg { display: block; height: 30px; width: auto; }
.tbb-brandlogo--mono { display: none; }
@media (max-width: 520px) {
	.tbb-brandlogo--full { display: none; }
	.tbb-brandlogo--mono { display: inline-flex; }
	.tbb-brandlogo--mono svg { height: 26px; }
}
.tbb-footer .tbb-brandlogo svg { height: 88px; }
.tbb-aleron { display: block; width: min(320px, 70%); height: auto; margin: 0 0 14px; }
.tbb-aleron--center { margin-inline: auto; }
.tbb-section__head .tbb-kicker::before, .tbb-hero .tbb-kicker::before { display: none; }
.tbb-franjas { display: inline-block; width: 46px; height: 14px; vertical-align: middle; background: url("assets/brand/franjas-color.svg") center / contain no-repeat; }
.tbb-pattern { position: relative; isolation: isolate; }
.tbb-pattern::before {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background: url("assets/brand/patron-aleron.svg") 0 0 / 520px auto repeat;
	opacity: .06;
}
.tbb-loader__emblem svg { width: min(220px, 50vw); height: auto; margin: 0 auto 18px; display: block; }
.tbb-404__emblem svg { width: 200px; height: auto; margin: 0 auto 24px; display: block; }
.tbb-hero__brand svg { width: min(520px, 90%); height: auto; display: block; margin-bottom: 20px; filter: drop-shadow(0 20px 50px rgba(0,0,0,.5)); }
.tbb-badge { background: var(--chalk); }
.woocommerce span.onsale::after { content: ""; display: inline-block; width: 22px; height: 8px; margin-left: 6px; background: url("assets/brand/franjas-color.svg") center / contain no-repeat; vertical-align: middle; filter: brightness(0); }
.tbb-btn--primary:active, .woocommerce .single_add_to_cart_button:active { background: var(--orange-deep) !important; }


/* ==========================================================================
   Ajustes v1.1: responsive, tienda, cuenta, carrito
   ========================================================================== */
.tbb-main { overflow-x: clip; }
img { max-width: 100%; }

/* Ficha de producto: nunca más ancha que la pantalla */
.woocommerce div.product { grid-template-columns: minmax(0, 1fr); }
.woocommerce div.product > * { min-width: 0; }
.woocommerce div.product .woocommerce-product-gallery { max-width: 100%; overflow: hidden; }
.woocommerce div.product .woocommerce-product-gallery .flex-viewport { max-width: 100%; }
@media (min-width: 768px) {
	.woocommerce div.product { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 36px; align-items: start; }
	.woocommerce div.product .summary { position: sticky; top: calc(var(--header-h) + 20px); }
}
@media (min-width: 1100px) {
	.woocommerce div.product { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 56px; }
}
.woocommerce div.product .woocommerce-tabs ul.tabs { scrollbar-width: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none; }
.tbb-seg__opt > span { min-height: 70px; }

/* Botones de tarjetas alineados */
.woocommerce ul.products li.product .button {
	display: flex !important; align-items: center; justify-content: center;
	line-height: 1 !important; padding-top: 0 !important; padding-bottom: 0 !important;
}
.woocommerce ul.products li.product a.added_to_cart { text-align: center; }
@media (max-width: 480px) {
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 16px !important; }
	.woocommerce ul.products li.product .price { font-size: 18px !important; }
	.tbb-eta { font-size: 12px; padding: 0 12px; }
	.woocommerce ul.products li.product .button { margin: auto 10px 0 !important; font-size: 14px; min-height: 40px; }
}
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { margin-bottom: 16px !important; }
.woocommerce .woocommerce-ordering { float: none !important; }
.woocommerce .woocommerce-ordering select { width: 100%; }
@media (min-width: 640px) {
	.tbb-shop .woocommerce-notices-wrapper + .woocommerce-result-count, .woocommerce-result-count { float: left; }
	.woocommerce .woocommerce-ordering { float: right !important; }
	.woocommerce .woocommerce-ordering select { width: auto; min-width: 240px; }
	ul.products { clear: both; }
}

/* Texto de servicios y páginas */
.tbb-prose h2, .tbb-prose h3 { margin: 36px 0 14px; color: var(--chalk); }
.tbb-prose h3 { font-size: clamp(22px, 3vw, 28px); padding-left: 14px; border-left: 4px solid var(--orange); }
.tbb-prose p, .tbb-prose li { color: #d7d3ca; font-size: 17px; line-height: 1.7; }
.tbb-prose ul, .tbb-prose ol { padding-left: 0; list-style: none; display: grid; gap: 10px; margin: 0 0 20px; }
.tbb-prose ul li { position: relative; padding-left: 26px; }
.tbb-prose ul li::before { content: ""; position: absolute; left: 0; top: .62em; width: 12px; height: 4px; background: var(--orange); transform: skewX(-30deg); }
.tbb-prose ol { counter-reset: tbbol; }
.tbb-prose ol li { position: relative; padding-left: 44px; counter-increment: tbbol; }
.tbb-prose ol li::before { content: counter(tbbol, decimal-leading-zero); position: absolute; left: 0; top: 0; font: 900 italic 22px/1.4 var(--f-display); color: var(--orange); }
.tbb-prose strong { color: var(--chalk); }

/* Carrito / checkout clásicos */
.woocommerce-cart .tbb-wcpage, .woocommerce-checkout .tbb-wcpage { max-width: var(--wrap); }
.woocommerce table.shop_table_responsive tr td::before { color: var(--silver); font-weight: 700; }
.woocommerce table.shop_table img { width: 64px; border-radius: var(--r); }
.woocommerce .cart .coupon { display: flex; flex-wrap: wrap; gap: 8px; }
.woocommerce .cart .coupon .input-text { width: auto !important; flex: 1; min-width: 160px; }
.woocommerce .cart-collaterals .cart_totals { float: none !important; width: 100% !important; }
@media (min-width: 900px) {
	.woocommerce .cart-collaterals .cart_totals { max-width: 460px; margin-left: auto; }
	.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 0 40px; align-items: start; }
	.woocommerce-checkout form.checkout #customer_details { grid-column: 1; grid-row: 1 / span 3; }
	.woocommerce-checkout form.checkout #order_review_heading, .woocommerce-checkout form.checkout #order_review { grid-column: 2; }
}
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { width: 100% !important; float: none !important; }
.woocommerce-checkout #order_review { background: var(--carbon); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 18px; }
.woocommerce form .form-row { padding: 0 !important; margin: 0 0 14px !important; }
.woocommerce form .form-row label { display: block; margin-bottom: 6px; font-size: 14px; color: var(--silver); font-weight: 600; }
.woocommerce form .form-row .required { color: var(--orange); text-decoration: none; }
.cart-empty.woocommerce-info { text-align: center; }
.woocommerce-cart .return-to-shop { text-align: center; }
.woocommerce-cart .return-to-shop .button { margin: 10px auto 40px; }

/* ===== Cuenta: Entrar / Crear cuenta ===== */
.tbb-auth { display: grid; gap: 24px; padding: 8px 0 60px; }
@media (min-width: 900px) { .tbb-auth { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 48px; align-items: start; } }
.tbb-auth__aside {
	position: relative; overflow: hidden; isolation: isolate;
	padding: 28px 24px; border-radius: 16px; border: 1px solid var(--line);
	background: radial-gradient(80% 70% at 100% 0, rgba(255, 75, 18, .22), transparent 60%), var(--carbon);
}
.tbb-auth__aside::after { content: ""; position: absolute; inset: 0; z-index: -1; background: url("assets/brand/patron-aleron.svg") 0 0 / 420px auto repeat; opacity: .05; }
.tbb-auth__emblem svg { width: 120px; height: auto; display: block; margin-bottom: 18px; }
.tbb-auth__title { font-size: clamp(30px, 5vw, 46px); margin: 0 0 18px; }
.tbb-auth__perks { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.tbb-auth__perks li { display: flex; gap: 10px; align-items: flex-start; color: #d7d3ca; font-size: 15px; }
.tbb-auth__perks .tbb-i { color: var(--orange); flex: none; margin-top: 2px; }
@media (max-width: 899px) {
	.tbb-auth__aside { padding: 20px; }
	.tbb-auth__emblem svg { width: 84px; margin-bottom: 10px; }
	.tbb-auth__perks { gap: 8px; }
	.tbb-auth__perks li { font-size: 14px; }
}
.tbb-auth__main { min-width: 0; }
.tbb-auth__tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 6px; margin-bottom: 18px; border-radius: 12px; background: var(--graphite); border: 1px solid var(--line); }
.tbb-auth__tabs button {
	min-height: 48px; border: 0; border-radius: 8px; background: transparent; color: var(--silver);
	font: 800 italic 18px/1 var(--f-display); text-transform: uppercase; letter-spacing: .06em;
	transition: background var(--fast), color var(--fast);
}
.tbb-auth[data-tab="login"] [data-tbb-tab="login"], .tbb-auth[data-tab="register"] [data-tbb-tab="register"] { background: var(--orange); color: var(--ink); }
.tbb-auth #customer_login { display: block !important; width: 100% !important; margin: 0 !important; }
.tbb-auth #customer_login::before, .tbb-auth #customer_login::after { display: none !important; }
.tbb-auth #customer_login .u-column1, .tbb-auth #customer_login .u-column2 { width: 100% !important; float: none !important; padding: 0 !important; }
.tbb-auth[data-tab="login"] #customer_login .u-column2, .tbb-auth[data-tab="register"] #customer_login .u-column1 { display: none; }
.tbb-auth #customer_login h2 { display: none; }
.tbb-auth form.login, .tbb-auth form.register {
	margin: 0 !important; padding: 24px !important; border-radius: 16px !important;
	border: 1px solid var(--line-2) !important; background: var(--carbon) !important;
}
.tbb-auth .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 14px; font-size: 14px; color: var(--silver); }
.tbb-auth .woocommerce-form-login .button, .tbb-auth .woocommerce-form-register .button { width: 100%; background: var(--orange) !important; color: var(--ink) !important; float: none !important; margin: 6px 0 0 !important; }
.tbb-auth .woocommerce-LostPassword { margin: 14px 0 0; text-align: center; font-size: 14px; }
.tbb-auth .woocommerce-LostPassword a, .tbb-auth .woocommerce-privacy-policy-text a { color: var(--orange); text-decoration: underline; text-underline-offset: 3px; }
.tbb-auth .woocommerce-privacy-policy-text p { font-size: 13px; color: var(--silver); line-height: 1.5; }
.tbb-form-2col { display: grid; gap: 0 12px; }
@media (min-width: 480px) { .tbb-form-2col { grid-template-columns: 1fr 1fr; } }
.woocommerce form .show-password-input { top: 50% !important; transform: translateY(-50%); right: 12px !important; color: var(--silver); }
.woocommerce form .password-input { display: block; position: relative; }
.woocommerce-password-strength { margin-top: 8px; padding: 8px 10px !important; border-radius: var(--r); font-size: 13px; border: 0 !important; }
.woocommerce-password-strength.short, .woocommerce-password-strength.bad { background: rgba(255, 77, 77, .15) !important; color: #ff9a9a !important; }
.woocommerce-password-strength.good { background: rgba(255, 196, 0, .14) !important; color: #ffd76a !important; }
.woocommerce-password-strength.strong { background: rgba(61, 220, 132, .14) !important; color: var(--ok) !important; }
.woocommerce-password-hint { display: block; margin-top: 6px; font-size: 12px; color: var(--silver); }
.tbb-auth__notice { display: flex; gap: 12px; align-items: flex-start; padding: 16px; margin-bottom: 18px; border-radius: 12px; border: 1px solid rgba(255, 77, 77, .4); background: rgba(255, 77, 77, .08); }
.tbb-auth__notice--ok { border-color: rgba(61, 220, 132, .45); background: rgba(61, 220, 132, .08); }
.tbb-auth__notice .tbb-i { flex: none; color: var(--bad); }
.tbb-auth__notice--ok .tbb-i { color: var(--ok); }
.tbb-auth__notice b { font: 800 italic 18px var(--f-display); text-transform: uppercase; }
.tbb-auth__notice p { margin: 4px 0 0; color: #d7d3ca; font-size: 14px; }
.woocommerce-account:not(.logged-in) .tbb-pagehead { padding-bottom: 18px; margin-bottom: 18px; }

/* Mi cuenta (logueado) */
.woocommerce-MyAccount-content { min-width: 0; }
.woocommerce-MyAccount-content p { color: #d7d3ca; }
.woocommerce-MyAccount-content a { color: var(--orange); }
@media (max-width: 899px) {
	.woocommerce-MyAccount-navigation ul { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding-bottom: 4px; }
	.woocommerce-MyAccount-navigation li { flex: none; }
}

/* Tablet: un poco más de aire */
@media (min-width: 640px) and (max-width: 1023px) {
	.woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(3, 1fr) !important; gap: 14px; }
	.tbb-hero__title { font-size: clamp(64px, 10vw, 110px); }
	.tbb-armor__inner { gap: 28px; }
}
@media (max-width: 380px) {
	.tbb-garagepill { padding: 0 10px; }
	.tbb-garagepill__txt { max-width: 26vw; }
}
