/*
 * Crypt Tuning — estilos que Elementor no cubre desde el panel.
 * Colores y tipografías vienen de las variables globales del Kit (Site Settings),
 * así que cambiarlos en Elementor ▸ Site Settings los actualiza también aquí.
 */

:root {
	/* Escala tipográfica fluida (375 → 1440 px). Igual a las tipografías globales del Kit de Elementor. */
	--ct-fs-display: clamp(48px, 29.69px + 4.883vw, 100px);
	--ct-fs-h1: clamp(32px, 27.77px + 1.127vw, 44px);
	--ct-fs-h2: clamp(28px, 23.77px + 1.127vw, 40px);
	--ct-fs-h2lg: clamp(32px, 25.31px + 1.784vw, 51px);
	--ct-fs-h3: clamp(20px, 18.24px + 0.469vw, 25px);
	--ct-fs-h4: clamp(16px, 14.94px + 0.282vw, 19px);
	--ct-fs-product: clamp(28px, 23.77px + 1.127vw, 40px);
	--ct-fs-pcard: clamp(15px, 13.94px + 0.282vw, 18px);
	--ct-fs-lead: clamp(16px, 15.30px + 0.188vw, 18px);
	--ct-fs-input-lg: clamp(16px, 14.59px + 0.376vw, 20px);
	--ct-fs-body: 16px;
	--ct-fs-sm: 14px;
	--ct-fs-xs: 12px;
}
:root {
	--ct-green: var(--e-global-color-primary, #00FF95);
	--ct-bg: var(--e-global-color-secondary, #23292F);
	--ct-card: var(--e-global-color-ct_card, #1C2329);
	--ct-muted: var(--e-global-color-ct_muted, #A3A3A3);
	--ct-ink: var(--e-global-color-ct_ink, #272E36);
	--ct-field: rgba(255, 255, 255, .056);
	--ct-key: rgba(255, 255, 255, .148);
	--ct-radius: 10px;
}

body {
	background: var(--ct-bg);
	-webkit-font-smoothing: antialiased;
}

/* Texto resaltado en títulos: <em>palabra</em> = verde itálica (editable en el título). */
.ct-hl em {
	color: var(--ct-green);
	font-style: italic;
}

/* ------------------------------------------------------------------ */
/* Header                                                              */
/* ------------------------------------------------------------------ */
.ct-header { position: relative; z-index: 50; }
.ct-header__left { flex: 1 1 auto !important; width: auto !important; min-width: 0; }
.ct-header__right { flex: 0 0 auto !important; width: auto !important; }
.ct-header__logo { flex: none; }
.ct-header__logo img { display: block; width: 132px; }
.ct-topbar .elementor-icon-list-icon svg { fill: var(--ct-ink); }
.ct-nav .elementor-item { background: transparent !important; }

.ct-overlay-header .ct-header__main {
	position: absolute;
	top: 46px;
	left: 0;
	right: 0;
	background: transparent;
}

.ct-topbar .elementor-icon-list-item a,
.ct-topbar .elementor-icon-list-text { white-space: nowrap; }
.ct-topbar .elementor-icon-list-items .elementor-icon-list-item:first-child { margin-right: 22px; }

.ct-nav .elementor-nav-menu .sub-menu {
	min-width: 220px;
	padding: 8px 0;
	border-radius: var(--ct-radius);
	box-shadow: 0 18px 40px rgba(0, 0, 0, .35);
	overflow: hidden;
}
.ct-nav .sub-arrow i, .ct-nav .sub-arrow svg { font-size: 12px; margin-left: 4px; }

.ct-cart .elementor-menu-cart__toggle .elementor-button {
	background: transparent;
	border: 0;
	padding: 0;
	color: var(--ct-green);
}
.ct-cart .elementor-menu-cart__toggle .elementor-button-icon svg { width: 28px; height: auto; fill: currentColor; }

/* Buscador del header (FiboSearch) con badge "/" del XD */
.ct-search .dgwt-wcas-search-wrapp { max-width: none; min-width: 0; }
.ct-search .dgwt-wcas-sf-wrapp {
	position: relative;
	background: transparent;
	padding: 0;
}
.ct-search .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input {
	height: 48px;
	padding: 0 56px 0 18px;
	border: 0;
	border-radius: 7px;
	background: var(--ct-field);
	color: #fff;
	font: 500 16px/1 Poppins, sans-serif;
	box-shadow: none;
}
.ct-search .dgwt-wcas-sf-wrapp input.dgwt-wcas-search-input::placeholder { color: #fff !important; opacity: 1 !important; font-style: normal !important; }
.ct-search .dgwt-wcas-sf-wrapp input.dgwt-wcas-search-input:focus { background: rgba(255, 255, 255, .1); outline: 1px solid var(--ct-green); }
.ct-search .dgwt-wcas-ico-magnifier,
.ct-search .dgwt-wcas-search-submit { display: none !important; }
.ct-search .dgwt-wcas-sf-wrapp::after {
	content: "/";
	position: absolute;
	top: 10px;
	right: 7px;
	width: 31px;
	height: 29px;
	border-radius: 7px;
	background: var(--ct-key);
	color: #ddd;
	font: 500 14px/29px Poppins, sans-serif;
	text-align: center;
	pointer-events: none;
}
.ct-search .dgwt-wcas-preloader { right: 46px; }

/* ------------------------------------------------------------------ */
/* Scroll Video (hero del Home)                                        */
/* ------------------------------------------------------------------ */
.ct-sv {
	position: relative;
	min-height: calc(100vh + var(--ct-sv-distance, 220vh));
}
.ct-sv__stage {
	position: sticky !important;
	top: 0;
	height: 100vh;
	overflow: hidden;
}
.ct-sv__stage > .elementor-widget-ct-scroll-video {
	position: absolute !important;
	inset: 0;
	z-index: 0;
	width: 100%;
	margin: 0 !important;
}
.ct-sv__stage > .elementor-widget-ct-scroll-video > .elementor-widget-container,
.ct-sv__media { position: absolute; inset: 0; }
.ct-sv__stage > .e-con { position: relative; z-index: 1; }
.ct-sv__video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	background: var(--ct-bg);
}
.ct-sv__shade {
	position: absolute;
	inset: auto 0 0 0;
	height: 34%;
	background: linear-gradient(to bottom, transparent, var(--ct-sv-shade, var(--ct-bg)));
	pointer-events: none;
}
.ct-sv__fade { transition: opacity .15s linear; will-change: opacity; }
.ct-sv__empty {
	position: absolute; inset: 0;
	display: grid; place-items: center;
	color: var(--ct-muted);
	border: 1px dashed var(--ct-muted);
}
/* Dentro del editor de Elementor el sticky no aplica bien: se muestra solo el stage. */
.elementor-editor-active .ct-sv { min-height: 100vh; }

@media (prefers-reduced-motion: reduce) {
	.ct-sv { min-height: 100vh; }
	.ct-sv__stage { position: relative !important; }
}

/* Link "Select your vehicle →" */
.ct-link-arrow .elementor-button { background: transparent !important; }
.ct-link-arrow .elementor-button-icon svg { width: 16px; height: auto; fill: currentColor; transition: transform .2s; }
.ct-link-arrow .elementor-button:hover .elementor-button-icon svg { transform: translateX(4px); }

/* ------------------------------------------------------------------ */
/* Tarjetas                                                            */
/* ------------------------------------------------------------------ */
.ct-card--lift { transition: transform .3s ease-out, box-shadow .3s ease-out; }
.ct-card--lift:hover { transform: translateY(-8px); box-shadow: 0 20px 40px rgba(0, 0, 0, .25); }
.ct-card__media { display: block; transition: filter .3s; }
.ct-card__media:hover { filter: brightness(1.05); }

/* ------------------------------------------------------------------ */
/* Formularios Contact / Fitment help: campos subrayados (XD 6–7)      */
/* ------------------------------------------------------------------ */
.ct-form .elementor-form-fields-wrapper { margin: 0 !important; }
.ct-form .elementor-field-group { margin: 0 !important; padding: 0 !important; }
.ct-form .elementor-field-group .elementor-field,
.ct-form .elementor-field-group .elementor-field:focus,
.ct-form .elementor-field-group select.elementor-field {
	min-height: 0;
	padding: 21px 0 21px !important;
	border: 0 !important;
	border-bottom: 1px solid #707070 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #fff !important;
	font: 500 var(--ct-fs-h3)/1.05 Poppins, sans-serif !important;
	letter-spacing: -.5px;
}
.ct-form .elementor-field::placeholder { color: #fff; opacity: 1; }
.ct-form .elementor-field:focus { border-bottom-color: var(--ct-green) !important; outline: 0; }
.ct-form textarea.elementor-field { resize: vertical; min-height: 68px; }
.ct-form .elementor-field-group .elementor-select-wrapper { padding: 0 !important; }
.ct-form .elementor-select-wrapper select.elementor-field-textual {
	width: 100%;
	min-height: 0;
	padding: 21px 28px 21px 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: #fff !important;
	font: 500 var(--ct-fs-h3)/1.05 Poppins, sans-serif;
	letter-spacing: -.5px;
	appearance: none;
	-webkit-appearance: none;
	box-shadow: none;
}
.ct-form .elementor-select-wrapper .select-caret-down-wrapper { right: 4px; }
.ct-form .elementor-select-wrapper .select-caret-down-wrapper svg { fill: #fff; width: 14px; height: 14px; }
.ct-form .elementor-select-wrapper select option { background: var(--ct-card); font-size: 16px; }
.ct-form .e-form__buttons, .ct-form .elementor-field-type-submit { margin-top: 20px !important; }
.ct-form .elementor-button,
.ct-form .elementor-button:hover,
.ct-form .elementor-button:focus {
	min-width: 139px;
	height: 35px;
	padding: 0 24px;
	border: 0;
	border-radius: 8px;
	background: var(--ct-green);
	color: var(--ct-bg);
	font: 700 16px/15px Helvetica, Arial, sans-serif;
}
.ct-form .elementor-button:hover { filter: brightness(1.1); }
.ct-form .e-form__buttons__wrapper__button-previous,
.ct-form .e-form__buttons__wrapper__button-previous:hover { background: transparent; color: #fff; border: 1px solid #707070; }
.ct-form .elementor-message { color: var(--ct-green); font: 500 16px/22px Poppins, sans-serif; margin-top: 16px; }
.ct-form .elementor-message.elementor-message-danger, .ct-form .elementor-error .elementor-field { color: #FF6B5E !important; }
.ct-form .elementor-field-group.elementor-error .elementor-field { border-bottom-color: #FF6B5E !important; }
.ct-form .elementor-message.elementor-help-inline { font-size: 13px; color: #FF6B5E; }
/* Indicador de pasos: 1 ──── 2 */
.ct-form .e-form__indicators { align-items: center; padding: 0 0 18px; margin: 0; }
.ct-form .e-form__indicators__indicator { flex: 0 0 auto; }
.ct-form .e-form__indicators__indicator__number {
	width: 45px;
	height: 45px;
	border: 1px solid #fff !important;
	border-radius: 50%;
	background: transparent !important;
	color: #fff !important;
	font: 500 20px/43px Poppins, sans-serif;
}
.ct-form .e-form__indicators__indicator--state-active .e-form__indicators__indicator__number,
.ct-form .e-form__indicators__indicator--state-completed .e-form__indicators__indicator__number { background: #fff !important; color: var(--ct-bg) !important; }
.ct-form .e-form__indicators__indicator__label { display: none; }
.ct-form .e-form__indicators__indicator__separator { flex: 1; height: 1px; margin: 0 -1px; background: #fff !important; }

/* FAQ (XD 5): pregunta con flecha al lado, respuestas visibles, separadores */
.ct-faq .elementor-toggle-item { border-bottom: 1px solid #707070; padding: 18px 0 20px; }
.ct-faq .elementor-toggle-item:last-child { border-bottom: 0; }
.ct-faq .elementor-tab-title { display: flex; align-items: center; gap: 14px; padding: 0 !important; border: 0 !important; cursor: pointer; }
.ct-faq .elementor-tab-title .elementor-toggle-title { order: 0; color: #fff; }
.ct-faq .elementor-tab-title .elementor-toggle-icon { order: 1; float: none; width: auto; margin: 0; font-size: 22px; }
.ct-faq .elementor-tab-title .elementor-toggle-icon svg { width: 16px; height: auto; fill: currentColor; }
.ct-faq .elementor-tab-content { max-width: 539px; padding: 10px 0 0 !important; border: 0 !important; }
.ct-faq .elementor-tab-content p { margin: 0; }

/* ------------------------------------------------------------------ */
/* Ficha de producto (WooCommerce)                                     */
/* ------------------------------------------------------------------ */
.ct-crumbs .woocommerce-breadcrumb { margin: 0; color: var(--ct-muted); font: 400 15px Poppins, sans-serif; }
.ct-crumbs .woocommerce-breadcrumb a { color: var(--ct-muted); text-decoration: none; }
.ct-crumbs .woocommerce-breadcrumb a:hover { color: var(--ct-green); }
.ct-pdp__gallery .woocommerce-product-gallery { margin: 0 !important; width: 100% !important; }
.ct-pdp__gallery .woocommerce-product-gallery__wrapper,
.ct-pdp__gallery .woocommerce-product-gallery__image { border-radius: var(--ct-radius); overflow: hidden; background: #23292f; /* fotos sin fondo sobre gris oscuro */ }
.ct-pdp__gallery .woocommerce-product-gallery__image img { padding: 14px; box-sizing: border-box; }
.ct-pdp__gallery .flex-control-thumbs li { background: #23292f; border-radius: 8px; }
.ct-pdp__gallery .flex-control-thumbs { display: grid !important; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-top: 12px !important; }
.ct-pdp__gallery .flex-control-thumbs li { width: auto !important; margin: 0 !important; }
.ct-pdp__gallery .flex-control-thumbs img { border-radius: 8px; opacity: .55; transition: opacity .2s; }
.ct-pdp__gallery .flex-control-thumbs img.flex-active, .ct-pdp__gallery .flex-control-thumbs img:hover { opacity: 1; }
.ct-pdp__gallery .woocommerce-product-gallery__trigger { background: var(--ct-card) !important; }
.ct-pdp__gallery .woocommerce-product-gallery__trigger::before { border-color: #fff !important; }
.ct-pdp__gallery .woocommerce-product-gallery__trigger::after { background: #fff !important; }
.ct-pdp__summary .price del { color: var(--ct-muted); font-size: .7em; font-weight: 400; margin-right: 8px; }
.ct-pdp__summary .price ins { text-decoration: none; }
.ct-pdp__summary .woocommerce-product-details__short-description p { margin: 0; }

.ct-pdp__cart form.cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px; margin: 0 !important; }
.ct-pdp__cart form.variations_form { display: block; }
.ct-pdp__cart table.variations { width: 100%; margin: 0 0 8px; border: 0; border-collapse: collapse; }
.ct-pdp__cart table.variations tr, .ct-pdp__cart table.variations td, .ct-pdp__cart table.variations th {
	display: block;
	padding: 0;
	border: 0;
	background: transparent !important;
	text-align: left;
}
.ct-pdp__cart table.variations tr { margin-bottom: 14px; }
.ct-pdp__cart table.variations th.label label, .ct-pdp__cart table.variations td.label label { display: block; margin-bottom: 6px; color: var(--ct-muted); font: 500 14px Poppins, sans-serif; }
.ct-pdp__cart table.variations select {
	width: 100%;
	height: 48px;
	padding: 0 16px;
	border: 1px solid transparent;
	border-radius: 7px;
	background: var(--ct-field) !important;
	color: #fff;
	font: 500 16px Poppins, sans-serif;
}
.ct-pdp__cart table.variations select option { background: var(--ct-card); }
.ct-pdp__cart table.variations select:focus { border-color: var(--ct-green); outline: 0; }
.ct-pdp__cart .reset_variations { color: var(--ct-muted); font-size: 13px; }
.ct-pdp__cart .woocommerce-variation-price .price { color: var(--ct-green); font: 600 22px Poppins, sans-serif; }
.ct-pdp__cart .woocommerce-variation-availability .stock { color: var(--ct-muted); font-size: 14px; }
.ct-pdp__cart .woocommerce-variation-add-to-cart { display: flex; gap: 12px; margin-top: 10px; }
.ct-pdp__cart .quantity .qty {
	width: 72px;
	height: 52px;
	border: 1px solid rgba(255, 255, 255, .2);
	border-radius: 10px;
	background: transparent;
	color: #fff;
	font: 500 17px Poppins, sans-serif;
	text-align: center;
}
.ct-pdp__cart .single_add_to_cart_button,
.ct-pdp__cart .single_add_to_cart_button:hover,
.ct-pdp__cart .single_add_to_cart_button:focus {
	flex: 1;
	height: 52px;
	padding: 0 32px;
	border: 0;
	border-radius: 12px;
	background: var(--ct-green) !important;
	color: var(--ct-ink) !important;
	font: 600 17px Poppins, sans-serif !important;
	transition: filter .2s;
}
.ct-pdp__cart .single_add_to_cart_button:hover { filter: brightness(1.08); }
.ct-pdp__cart .single_add_to_cart_button.disabled { opacity: .45; cursor: not-allowed; }
.ct-pdp__cart .stock.out-of-stock { color: #FF6B5E; }
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-info {
	margin: 0 0 20px;
	border: 0;
	border-left: 3px solid var(--ct-green);
	border-radius: 8px;
	background: var(--ct-card);
	color: #fff;
	font: 400 15px Poppins, sans-serif;
}
.woocommerce-notices-wrapper .woocommerce-message .button { background: var(--ct-green); color: var(--ct-ink); border-radius: 8px; }

/* ------------------------------------------------------------------ */
/* Footer                                                              */
/* ------------------------------------------------------------------ */
.ct-footer__links .elementor-icon-list-icon { display: none; }
/* Contacto del footer (shortcode [ct_contact], datos en Crypt Tuning ▸ Ajustes). */
.ct-footer__contact .ct-contact { margin: 0; padding: 0; list-style: none; display: grid; gap: 4px; }
.ct-footer__contact p { margin: 0; }
.ct-footer__contact a { color: inherit; text-decoration: none; transition: color .2s; }
.ct-footer__contact a:hover, .ct-footer__contact a:focus-visible { color: var(--ct-green); }
.ct-contact__tag { margin-left: 6px; padding: 1px 6px; border-radius: 4px; background: rgba(255,255,255,.08); color: var(--ct-muted); font-size: 11px; letter-spacing: .4px; text-transform: uppercase; vertical-align: 2px; }
.ct-footer__bottom { border-top: 1px solid rgba(255, 255, 255, .08); }
.ct-footer__bottom p { margin: 0; }

/* ------------------------------------------------------------------ */
/* Mini carrito (side cart del header)                                 */
/* ------------------------------------------------------------------ */
.ct-cart .elementor-menu-cart__container { background: rgba(10, 13, 16, .72); backdrop-filter: blur(2px); }
.ct-cart .elementor-menu-cart__main {
	width: min(420px, 100vw);
	padding: 26px 26px 28px;
	border: 0;
	background: var(--ct-card);
	box-shadow: -24px 0 60px rgba(0, 0, 0, .45);
	color: #fff;
	font-family: Poppins, sans-serif;
}
.ct-cart .elementor-menu-cart__main::before {
	content: "Your cart";
	display: block;
	margin: 0 0 18px;
	padding-bottom: 16px;
	border-bottom: 1px solid rgba(255, 255, 255, .1);
	color: var(--ct-green);
	font: 600 var(--ct-fs-h3)/1.15 Poppins, sans-serif;
	letter-spacing: -.02em;
}
.ct-cart .elementor-menu-cart__main { position: relative; }
.ct-cart .elementor-menu-cart__close-button { position: absolute; top: 28px; right: 24px; width: 24px; height: 24px; margin: 0; }
.ct-cart .elementor-menu-cart__main, .ct-cart .elementor-menu-cart__main * { letter-spacing: normal; }
.ct-cart .elementor-menu-cart__main::before { letter-spacing: -.6px; }
.ct-cart .elementor-menu-cart__container { z-index: 1001; }
body:has(.elementor-menu-cart--shown) .ct-mbar { display: none !important; }
.ct-cart .elementor-menu-cart__close-button::before, .ct-cart .elementor-menu-cart__close-button::after { background: #fff; }
.ct-cart .elementor-menu-cart__product {
	grid-template-columns: 72px auto;
	gap: 4px 14px;
	padding: 14px 0 !important;
	border-color: rgba(255, 255, 255, .08) !important;
}
.ct-cart .elementor-menu-cart__product-image img { width: 72px; height: 72px; object-fit: cover; border-radius: 8px; background: var(--ct-muted); }
.ct-cart .elementor-menu-cart__product-name a { color: #fff !important; font: 500 15px/19px Poppins, sans-serif; text-decoration: none; }
.ct-cart .elementor-menu-cart__product-name a:hover { color: var(--ct-green) !important; }
.ct-cart .elementor-menu-cart__product-price { color: var(--ct-muted); font-size: 14px; }
.ct-cart .elementor-menu-cart__product-price .amount { color: var(--ct-green); font-weight: 600; }
.ct-cart .elementor-menu-cart__product-remove { border-color: rgba(255, 255, 255, .25) !important; }
.ct-cart .elementor-menu-cart__product-remove::before, .ct-cart .elementor-menu-cart__product-remove::after { background: #fff !important; }
.ct-cart .elementor-menu-cart__product-remove:hover { border-color: var(--ct-green) !important; }
.ct-cart .elementor-menu-cart__subtotal {
	display: flex;
	justify-content: space-between;
	margin-top: 6px;
	padding: 18px 0 !important;
	border-color: rgba(255, 255, 255, .1) !important;
	color: #fff;
	font: 500 17px Poppins, sans-serif;
}
.ct-cart .elementor-menu-cart__subtotal .amount { color: var(--ct-green); font-weight: 600; }
.ct-cart .elementor-menu-cart__footer-buttons { display: grid; grid-template-columns: 1fr 1.4fr; gap: 10px; margin-top: 4px; }
.ct-cart .elementor-menu-cart__footer-buttons .elementor-button {
	min-height: 50px;
	border-radius: 12px !important;
	font: 600 15px/20px Poppins, sans-serif !important;
	text-decoration: none;
}
.ct-cart .elementor-menu-cart__footer-buttons .elementor-button--view-cart { background: transparent !important; border: 1px solid rgba(255, 255, 255, .3) !important; color: #fff !important; }
.ct-cart .elementor-menu-cart__footer-buttons .elementor-button--checkout { background: var(--ct-green) !important; color: var(--ct-ink) !important; }
.ct-cart .elementor-menu-cart__footer-buttons .elementor-button:hover { filter: brightness(1.08); }
.ct-cart .woocommerce-mini-cart__empty-message { color: var(--ct-muted); text-align: left; font-size: 16px; }
.ct-mini-note { display: flex; gap: 10px; margin: 14px 0 4px; padding: 12px 14px; border-radius: 10px; background: rgba(0, 255, 149, .07); }
.ct-mini-note span { flex: none; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--ct-green); color: var(--ct-ink); font: 700 12px/1 Poppins, sans-serif; }
.ct-mini-note p { margin: 0; color: #d8dadc; font: 400 13px/19px Poppins, sans-serif; }
.ct-cart .elementor-menu-cart__toggle .elementor-button-icon[data-counter]::before { background: #fff; color: var(--ct-ink); font-weight: 600; }

/* WooCommerce: avisos dentro de Mi Cuenta */
.woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-MyAccount-content .wc-block-components-notice-banner {
	border: 0 !important;
	border-left: 3px solid var(--ct-green) !important;
	border-radius: 8px;
	background: var(--ct-card) !important;
	color: #fff !important;
}

/* ------------------------------------------------------------------ */
/* Carrito y checkout (bloques de WooCommerce)                         */
/* ------------------------------------------------------------------ */
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title,
.woocommerce-account .entry-title {
	font: 600 var(--ct-fs-h1)/.96 Poppins, sans-serif;
	letter-spacing: -.03em;
	color: var(--ct-green);
}
.woocommerce-cart .site-main,
.woocommerce-checkout .site-main,
.woocommerce-account .site-main { max-width: 1320px; margin: 0 auto; padding: 56px 60px 140px; }
.woocommerce-cart .page-content,
.woocommerce-checkout .page-content { margin-top: 18px; }
.ct-checkout-notes { display: grid; gap: 6px; margin: 0 0 28px; padding: 16px 20px 16px 40px; border-radius: 10px; background: var(--ct-card); color: var(--ct-muted); font: 400 15px/22px Poppins, sans-serif; }
.ct-checkout-notes li::marker { color: var(--ct-green); }
.ct-checkout-note { margin: 0 0 24px; color: var(--ct-muted); font: 400 15px/22px Poppins, sans-serif; }
.ct-checkout-note.is-pay { padding: 14px 18px; border-left: 3px solid var(--ct-green); border-radius: 8px; background: var(--ct-card); color: #fff; }
.ct-checkout-note.is-secure { margin-top: 24px; }
.ct-checkout-legal { margin: 0 0 24px; padding: 16px 20px; border-radius: 10px; background: var(--ct-card); border-left: 3px solid #FFD400; color: #D8DADC; font: 400 14px/21px Poppins, sans-serif; }
.ct-checkout-legal p { margin: 0 0 8px; color: #fff; font-weight: 600; }
.ct-checkout-legal ul { margin: 0; padding-left: 18px; display: grid; gap: 6px; }
.ct-checkout-legal a { color: inherit; }
.ct-checkout-note.is-secure::before { content: "🔒 "; }

.wc-block-cart, .wc-block-checkout { color: #fff; font-family: Poppins, sans-serif; }
.wc-block-components-sidebar-layout .wc-block-components-main { padding-right: 4%; }
.wc-block-cart-items, .wc-block-cart-items th, .wc-block-cart-items td,
.wc-block-components-totals-wrapper, .wc-block-components-panel, .wc-block-components-totals-coupon,
.wc-block-cart .wc-block-cart__totals-title { border-color: rgba(255, 255, 255, .1) !important; }
.wc-block-cart-items__header, .wc-block-cart .wc-block-cart__totals-title { color: var(--ct-muted) !important; font-size: 13px !important; letter-spacing: .04em; }
.wc-block-components-product-name, .wc-block-cart-item__product a { color: #fff !important; font-weight: 500; text-decoration: none !important; }
.wc-block-components-product-name:hover { color: var(--ct-green) !important; }
.wc-block-cart-item__image img, .wc-block-components-order-summary-item__image img { border-radius: 8px; background: var(--ct-muted); }
.wc-block-components-product-metadata, .wc-block-components-product-metadata__description { color: var(--ct-muted); font-size: 13px; }
.wc-block-components-product-badge { border-color: var(--ct-green) !important; color: var(--ct-green) !important; background: transparent !important; border-radius: 6px !important; }
.wc-block-components-quantity-selector { border-color: rgba(255, 255, 255, .2) !important; border-radius: 8px !important; }
.wc-block-components-quantity-selector input, .wc-block-components-quantity-selector button { color: #fff !important; background: transparent !important; }
.wc-block-cart-item__remove-link { color: var(--ct-muted) !important; }
.wc-block-cart .wc-block-components-sidebar,
.wc-block-checkout .wc-block-components-sidebar { padding: 24px !important; border-radius: 10px; background: var(--ct-card); }
.wc-block-components-totals-item__label, .wc-block-components-totals-item__value { color: #fff; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { color: var(--ct-green); font-weight: 600; }
.wc-block-components-totals-item__description, .wc-block-components-totals-shipping__via { color: var(--ct-muted); }
.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	min-height: 52px;
	border: 0 !important;
	border-radius: 12px !important;
	background: var(--ct-green) !important;
	color: var(--ct-ink) !important;
	font: 600 17px Poppins, sans-serif !important;
	text-decoration: none !important;
}
.wc-block-components-button:not(.is-link):hover { filter: brightness(1.08); }
.wc-block-components-button.is-link, .wc-block-components-panel__button { color: var(--ct-green) !important; }
.wc-block-components-title.wc-block-components-title, .wc-block-components-checkout-step__title { color: #fff !important; font: 500 22px/26px Poppins, sans-serif !important; }
.wc-block-components-checkout-step__description { color: var(--ct-muted); }
.wc-block-checkout .wc-block-components-checkout-step { border-color: rgba(255, 255, 255, .1); }
.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-blocks-components-select__select,
.wc-block-components-form .wc-block-components-text-input input {
	border: 1px solid rgba(255, 255, 255, .18) !important;
	border-radius: 8px !important;
	background: var(--ct-field) !important;
	color: #fff !important;
}
.wc-block-components-text-input label, .wc-blocks-components-select__label, .wc-block-components-combobox label { color: var(--ct-muted) !important; }
.wc-block-components-text-input.is-active input:focus, .wc-blocks-components-select__select:focus { border-color: var(--ct-green) !important; box-shadow: none !important; }
.wc-blocks-components-select__container { background: transparent !important; }
.wc-blocks-components-select__expand { fill: #fff; }
.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option { border-color: rgba(255, 255, 255, .15) !important; color: #fff; }
.wc-block-components-radio-control__input { border-color: rgba(255, 255, 255, .5) !important; background: transparent !important; }
.wc-block-components-radio-control__input:checked::before { background: var(--ct-green) !important; }
.wc-block-components-radio-control__option-checked { box-shadow: inset 0 0 0 1px var(--ct-green) !important; border-radius: 8px; }
.wc-block-components-radio-control__label, .wc-block-components-radio-control__secondary-label { color: #fff; }
.wc-block-components-radio-control__description { color: var(--ct-muted); }
.wc-block-components-shipping-rates-control__package-title { color: #fff; font-weight: 500; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox] { border-color: rgba(255, 255, 255, .5); background: transparent; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked { background: var(--ct-green); border-color: var(--ct-green); }
.wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: var(--ct-ink); }
.wc-block-components-checkbox__label { color: #fff; font-size: 15px; line-height: 22px; }
.wc-block-checkout__additional-fields .wc-block-components-checkbox { padding: 16px; border: 1px solid rgba(0, 255, 149, .35); border-radius: 10px; background: rgba(0, 255, 149, .05); }
.wc-block-components-order-summary-item__quantity { background: var(--ct-green) !important; color: var(--ct-ink) !important; border: 0 !important; }
.wc-block-components-validation-error, .wc-block-components-notice-banner.is-error { color: #FF6B5E; }
.wc-block-components-notice-banner { background: var(--ct-card) !important; color: #fff !important; border-color: var(--ct-green) !important; }
.wc-block-cart__empty-cart__title, .with-empty-cart-icon { color: #fff; }
.wc-block-order-confirmation-status { padding: 28px; border-radius: 10px; background: var(--ct-card); }
.wc-block-order-confirmation-status p { color: var(--ct-muted); }
.ct-thanks__title { display: block; margin-bottom: 8px; color: var(--ct-green); font: 600 var(--ct-fs-h3)/1.15 Poppins, sans-serif; }
.wc-block-order-confirmation-summary, .wc-block-order-confirmation-totals, .wc-block-order-confirmation-address-wrapper { color: #fff; }
.wc-block-order-confirmation-totals table, .wc-block-order-confirmation-totals td, .wc-block-order-confirmation-totals th { border-color: rgba(255, 255, 255, .1) !important; background: transparent !important; }

/* ------------------------------------------------------------------ */
/* Mi Cuenta + My Garage                                               */
/* ------------------------------------------------------------------ */
/* Solo el bloque de Mi Cuenta (el buscador FiboSearch también usa la clase .woocommerce). */
.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) { display: grid; grid-template-columns: 260px minmax(0, 1fr); align-items: start; gap: 48px; margin-top: 32px; color: #fff; }
.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-MyAccount-navigation { grid-column: 1; position: sticky; top: 24px; }
.woocommerce-MyAccount-content { grid-column: 2; min-width: 0; }
.woocommerce-MyAccount-navigation { width: auto !important; float: none !important; }
.woocommerce-MyAccount-navigation ul { margin: 0; padding: 14px; list-style: none; border-radius: 18px; background: var(--ct-card); }
.woocommerce-MyAccount-navigation li a { display: block; padding: 12px 16px; border-radius: 10px; color: #fff; font: 400 16px Poppins, sans-serif; text-decoration: none; }
.woocommerce-MyAccount-navigation li a:hover { color: var(--ct-green); }
.woocommerce-MyAccount-navigation li.is-active a { background: var(--ct-bg); color: var(--ct-green); font-weight: 500; }
.woocommerce-MyAccount-content { width: auto !important; float: none !important; font: 400 16px/24px Poppins, sans-serif; color: #d8dadc; }
.woocommerce-MyAccount-content a { color: var(--ct-green); }
.woocommerce-MyAccount-content h2, .woocommerce-MyAccount-content h3 { color: #fff; font-weight: 500; }
.woocommerce-account table.shop_table, .woocommerce-account table.shop_table td, .woocommerce-account table.shop_table th { border-color: rgba(255, 255, 255, .1) !important; background: transparent !important; color: #fff; }
.woocommerce-account .button, .woocommerce-account button.button, .woocommerce-account .woocommerce-Button {
	padding: 12px 24px !important; border: 0 !important; border-radius: 12px !important;
	background: var(--ct-green) !important; color: var(--ct-ink) !important; font: 600 15px Poppins, sans-serif !important;
}
.woocommerce-account .woocommerce-orders-table .button { padding: 8px 16px !important; font-size: 14px !important; }
.woocommerce-account form .form-row input.input-text,
.woocommerce-account form .form-row select,
.woocommerce-account form .form-row textarea,
.woocommerce form.login input.input-text, .woocommerce form.register input.input-text {
	height: 48px; padding: 0 14px; border: 1px solid rgba(255, 255, 255, .18); border-radius: 8px; background: var(--ct-field); color: #fff;
}
.woocommerce-account form .form-row label, .woocommerce form.login label, .woocommerce form.register label { color: var(--ct-muted); }
.woocommerce-account .woocommerce-form-login, .woocommerce-account .woocommerce-form-register { padding: 32px !important; border: 0 !important; border-radius: 10px !important; background: var(--ct-card); }

.woocommerce-account .u-columns.col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.woocommerce-account .u-columns.col2-set .u-column1, .woocommerce-account .u-columns.col2-set .u-column2 { width: auto; float: none; }
.woocommerce-account .woocommerce-Address { padding: 24px; border-radius: 10px; background: var(--ct-card); }
.woocommerce-MyAccount-content 
/* ------------------------------------------------------------------ */
/* Responsive                                                          */
/* ------------------------------------------------------------------ */
@media (min-width: 1025px) and (max-width: 1365px) {
	.ct-search { flex: 1 1 auto; width: auto !important; max-width: 456px; min-width: 180px; margin-left: 32px !important; }
	.ct-header__main { column-gap: 14px !important; }
	.ct-nav--main .elementor-nav-menu > li + li { margin-left: 4px; }
}
/* Header tablet/móvil (XD iPhone): parte superior fija + barra inferior fija con buscador. */
.ct-mbar { display: none; }
@media (max-width: 1024px) {
	.elementor-location-header { position: sticky; top: 0; z-index: 990; }
	.admin-bar .elementor-location-header { top: 32px; }
	.ct-header__main { padding: 8px 20px !important; min-height: 54px; background: var(--ct-bg); }
	.ct-overlay-header .ct-header__main { position: static; background: var(--ct-bg); }
	.ct-header__left, .ct-header__right { flex: 0 0 auto !important; }
	.ct-header__right { gap: 18px !important; }
	.ct-menu-btn .elementor-button { padding: 6px 0 !important; background: transparent !important; color: var(--ct-green) !important; }
	.ct-menu-btn .elementor-button:hover { color: #fff !important; }
	.ct-menu-btn .elementor-button-icon svg { width: 26px; height: auto; fill: none !important; }
	.ct-menu-btn .elementor-button-content-wrapper { align-items: center; gap: 9px; }
	.ct-cart .elementor-menu-cart__toggle .elementor-button-icon svg { width: 22px; }

	.ct-header__right .ct-menu-btn { order: 1; }
	.ct-header__right .ct-cart { order: 2; }
	.ct-mbar {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		position: fixed !important;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 989;
		background: var(--ct-bg);
		box-shadow: 0 -12px 24px rgba(0, 0, 0, .35);
		padding-bottom: calc(19px + env(safe-area-inset-bottom)) !important;
	}
	.ct-mbar .ct-search { flex: 1 1 auto; width: auto !important; max-width: 520px; margin: 0 !important; }
	.ct-mbar .ct-search .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input { font-size: 14px; padding-right: 44px; text-overflow: ellipsis; }
	.ct-mbar .ct-search .dgwt-wcas-sf-wrapp::after { top: 12px; width: 26px; height: 24px; line-height: 24px; font-size: 12px; }
	.ct-mbar > .elementor-widget { margin: 0 !important; }
	.ct-mbar__vehicle { flex: 0 0 auto; width: auto !important; }
	.ct-mbar__vehicle .elementor-button { background: transparent !important; color: #fff !important; white-space: nowrap; }
	.ct-mbar__vehicle .elementor-button-icon svg { width: 10px; fill: currentColor; }
	body { padding-bottom: 78px; }
	/* Hero del Home: el stage arranca bajo el header fijo y respeta la barra inferior. */
	.ct-sv__stage { top: var(--ct-hdr-h, 100px); height: calc(100svh - var(--ct-hdr-h, 100px) - 78px) !important; min-height: 0 !important; }
	.ct-hero__copy, .ct-hero__copy > .e-con-inner { padding-top: 64px !important; }
}
@media (max-width: 767px) {
	/* Títulos display: en móvil el texto fluye (sin saltos forzados que dejan palabras huérfanas). */
	.ct-display br { display: none; }
	.ct-display .elementor-heading-title { text-wrap: balance; }
}
@media (max-width: 767px) {
	/* En móvil el selector vive en la barra inferior ("Shop by Vehicle"); el hero queda limpio. */
	.ct-hero__selector { display: none !important; }
	.ct-sv__stage { justify-content: flex-start !important; }
	.ct-hero__copy, .ct-hero__copy > .e-con-inner { padding-top: 36px !important; }
	.ct-sv__video { object-position: 64% 62%; }
	/* Degradado superior para que el titular se lea sobre el video. */
	.ct-sv__media::before { content: ""; position: absolute; inset: 0 0 auto 0; z-index: 1; height: 62%; background: linear-gradient(to bottom, var(--ct-bg) 8%, rgba(35, 41, 47, .7) 52%, rgba(35, 41, 47, 0)); pointer-events: none; }
}
@media (max-width: 782px) { .admin-bar .elementor-location-header { top: 46px; } }

/* Popup "Menú móvil": barra superior fija, navegación con área táctil de 48px, accesos en tarjetas */
.ct-mpop__top { position: sticky !important; top: 0; z-index: 3; background: var(--ct-bg); border-bottom: 1px solid rgba(255, 255, 255, .07); }
.ct-eyebrow .elementor-heading-title { text-transform: uppercase; }
.ct-mpop__nav .elementor-nav-menu--main .elementor-item {
	display: flex !important;
	align-items: center;
	min-height: 48px;
	border-bottom: 1px solid rgba(255, 255, 255, .07);
}
.ct-mpop__nav .elementor-nav-menu--main .elementor-item::after {
	content: "" !important;
	display: block !important;
	position: static !important;
	flex: none;
	width: 8px !important;
	height: 8px !important;
	margin-left: auto;
	background: none !important;
	border: solid currentColor;
	border-width: 2px 2px 0 0;
	opacity: .45 !important;
	transform: rotate(45deg);
	transition: opacity .2s, transform .2s;
}
.ct-mpop__nav .elementor-nav-menu--main .elementor-item:hover::after { opacity: 1; transform: translateX(3px) rotate(45deg); }
.ct-mpop__tiles .elementor-icon-list-items { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.ct-mpop__tiles .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
.ct-mpop__tiles .elementor-icon-list-item a {
	display: flex !important;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	width: 100%;
	min-height: 76px;
	padding: 14px 12px;
	border-radius: 12px;
	background: var(--ct-card);
	transition: background .2s;
}
.ct-mpop__tiles .elementor-icon-list-item a:hover { background: #262e35; }
.ct-mpop__tiles .elementor-icon-list-text { padding: 0 !important; }
.ct-mpop__contact a { color: var(--ct-green); }
.ct-mpop__contact a[href^="mailto"], .ct-mpop__contact a[href^="tel"] { color: inherit; }
.ct-mpop__vehicle .ct-vs--compact .ct-vs__toggle,
.ct-vpop .ct-vs--compact .ct-vs__toggle { background: var(--ct-bg) !important; }
.elementor-popup-modal .dialog-close-button {
	display: grid !important;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--ct-card);
	z-index: 5;
}
.elementor-popup-modal .dialog-close-button svg { fill: #fff; width: 16px; height: 16px; }
.elementor-popup-modal .dialog-close-button:hover svg { fill: var(--ct-green); }
.elementor-popup-modal .dialog-message { overscroll-behavior: contain; }

/* Animaciones de entrada (suaves, sin desplazar el layout; respetan "reducir movimiento"). */
@media (prefers-reduced-motion: no-preference) {
	.ct-reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s cubic-bezier(.2, .7, .2, 1), transform .6s cubic-bezier(.2, .7, .2, 1); transition-delay: var(--ct-delay, 0s); }
	.ct-reveal.is-in { opacity: 1; transform: none; }
}
/* Foco visible y consistente para teclado */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, [tabindex]:focus-visible { outline: 2px solid var(--ct-green); outline-offset: 2px; }

@media (max-width: 1024px) {
	.woocommerce-cart .site-main, .woocommerce-checkout .site-main, .woocommerce-account .site-main { padding: 36px 24px 96px; }
	.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) { grid-template-columns: 1fr; gap: 24px; }
	.woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content { grid-column: 1; position: static; }
	.woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 4px; padding: 8px; border-radius: 12px; }
	.woocommerce-MyAccount-navigation li a { padding: 10px 14px; font-size: 15px; }
	}
@media (max-width: 767px) {
	.ct-header__main { padding: 8px 16px !important; }
	.ct-topbar .elementor-icon-list-items .elementor-icon-list-item:nth-child(2) { display: none !important; } /* XD móvil: sin My Garage */
	.ct-mbar { padding-left: 18px !important; padding-right: 18px !important; }
	.woocommerce-cart .site-main, .woocommerce-checkout .site-main, .woocommerce-account .site-main { padding: 28px 16px 72px; }
	.woocommerce-account .u-columns.col2-set { grid-template-columns: 1fr; }
	.ct-topbar { padding-right: 31px !important; }
	.ct-topbar .elementor-icon-list-items .elementor-icon-list-item:first-child { margin-right: 6px; }
	.ct-footer__brand { width: 100% !important; margin-bottom: 24px; }
	.ct-footer__col { margin-bottom: 28px; }
}
