/* Source: 00-tokens.css */
:root {
	--ru-black: #050505;
	--ru-black-soft: #101010;
	--ru-surface: #171717;
	--ru-surface-raised: #202020;
	--ru-white: #fff;
	--ru-text: #f7f7f7;
	--ru-muted: #b8b8b8;
	--ru-border: rgba(255, 255, 255, 0.16);
	--ru-red: #d60000;
	--ru-red-hover: #b80000;
	--ru-success: #1f9d55;
	--ru-warning: #f0a000;
	--ru-error: #d63638;
	--ru-radius-sm: 2px;
	--ru-radius-md: 6px;
	--ru-shadow: 0 18px 50px rgba(0, 0, 0, 0.28);
	--ru-container: 1180px;
	--ru-reading: 760px;
	--ru-gutter: clamp(16px, 4vw, 32px);
	--ru-space-1: 0.5rem;
	--ru-space-2: 0.75rem;
	--ru-space-3: 1rem;
	--ru-space-4: 1.5rem;
	--ru-space-5: 2rem;
	--ru-space-6: 3rem;
	--ru-space-7: 4.5rem;
	--ru-font-display: "Nunito Sans", "Arial Black", sans-serif;
	--ru-font-body: "Nunito Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--ru-step--1: clamp(0.82rem, 0.8rem + 0.1vw, 0.9rem);
	--ru-step-0: clamp(1rem, 0.96rem + 0.18vw, 1.1rem);
	--ru-step-1: clamp(1.2rem, 1.08rem + 0.45vw, 1.5rem);
	--ru-step-2: clamp(1.5rem, 1.25rem + 0.9vw, 2.1rem);
	--ru-step-3: clamp(2rem, 1.55rem + 1.8vw, 3.2rem);
	--ru-step-4: clamp(2.7rem, 1.9rem + 3.1vw, 5rem);
}



/* Source: 01-base.css */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	min-width: 0;
	background: var(--ru-black);
	color: var(--ru-text);
	font-family: var(--ru-font-body);
	font-size: var(--ru-step-0);
	line-height: 1.55;
}

img,
svg,
video,
iframe {
	max-width: 100%;
}

img {
	height: auto;
}

a {
	text-underline-offset: 0.18em;
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
	outline: 3px solid var(--ru-white);
	outline-offset: 3px;
	box-shadow: 0 0 0 5px var(--ru-red);
}

:where(button, input, select, textarea) {
	font: inherit;
}

:where(input, select, textarea) {
	min-height: 48px;
	border: 1px solid #777;
	border-radius: var(--ru-radius-sm);
	background: var(--ru-white);
	color: #111;
}

:where(h1, h2, h3) {
	font-family: var(--ru-font-display);
	text-wrap: balance;
}

:where(p, li) {
	overflow-wrap: anywhere;
}

.screen-reader-text:focus {
	z-index: 100000;
}


/* Source: 02-layout.css */
.wp-site-blocks,
.wp-site-blocks > *,
.wp-site-blocks main,
.entry-content,
.wp-block-post-content,
.woocommerce {
	min-width: 0;
}

.ru-container,
.wp-site-blocks > main > :where(.alignwide, .woocommerce),
.woocommerce-page main > .woocommerce {
	width: min(var(--ru-container), calc(100% - (2 * var(--ru-gutter))));
	margin-inline: auto;
}

.alignfull {
	width: 100%;
	max-width: none;
}

.ru-section {
	padding-block: var(--ru-space-7);
}

.ru-stack > * + * {
	margin-block-start: var(--ru-space-4);
}

.ru-cluster {
	display: flex;
	flex-wrap: wrap;
	gap: var(--ru-space-3);
	align-items: center;
}

.ru-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
	gap: var(--ru-space-4);
}



/* Source: 03-components.css */
.ru-eyebrow {
	margin: 0 0 var(--ru-space-2);
	color: var(--ru-red);
	font-size: var(--ru-step--1);
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.ru-actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--ru-space-3);
	margin-top: var(--ru-space-4);
}

.ru-button,
.woocommerce :where(button.button, a.button),
.wp-element-button {
	display: inline-flex;
	min-height: 48px;
	align-items: center;
	justify-content: center;
	padding: 0.8rem 1.25rem;
	border: 2px solid transparent;
	border-radius: var(--ru-radius-sm);
	font-weight: 900;
	letter-spacing: 0.045em;
	line-height: 1.1;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.ru-button--primary {
	background: var(--ru-red);
	color: var(--ru-white);
}

.ru-button--primary:hover {
	background: var(--ru-red-hover);
	color: var(--ru-white);
}

.ru-button--secondary {
	border-color: var(--ru-white);
	background: transparent;
	color: var(--ru-white);
}

.ru-button--secondary:hover {
	border-color: var(--ru-red);
	background: var(--ru-red);
	color: var(--ru-white);
}

.ru-empty-state {
	padding: clamp(28px, 5vw, 56px);
	border: 1px solid var(--ru-border);
	background: var(--ru-surface);
	text-align: center;
}

.ru-empty-state__title {
	margin-top: 0;
	color: var(--ru-white);
	font-size: var(--ru-step-1);
	font-weight: 900;
}

.ru-empty-state .ru-actions {
	justify-content: center;
}

.woocommerce :where(.woocommerce-message, .woocommerce-info, .woocommerce-error),
.wc-block-components-notice-banner {
	border: 1px solid var(--ru-border);
	border-left: 4px solid var(--ru-red);
	border-radius: var(--ru-radius-sm);
	background: var(--ru-surface);
	color: var(--ru-white);
}

.ru-trust-strip {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	margin-top: var(--ru-space-6);
	border: 1px solid var(--ru-border);
	background: var(--ru-border);
}

.ru-trust-strip span {
	padding: var(--ru-space-3);
	background: var(--ru-black-soft);
	font-size: var(--ru-step--1);
	font-weight: 800;
	text-align: center;
	text-transform: uppercase;
}



/* Source: 04-header.css */
.site-header,
.hostinger-ai-menu {
	position: relative;
	z-index: 100;
}

.hostinger-ai-menu-wrapper {
	width: min(var(--ru-container), calc(100% - (2 * var(--ru-gutter))));
	min-width: 0;
	margin-inline: auto;
}

.hostinger-ai-site-navigation-wrapper {
	min-width: 0;
}

.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close,
.wc-block-mini-cart__button,
.wc-block-customer-account__account-icon {
	min-width: 44px;
	min-height: 44px;
}

.wp-block-navigation__responsive-container.is-menu-open {
	padding: var(--ru-gutter);
	background: var(--ru-black);
	color: var(--ru-white);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	padding-block: 0.65rem;
	font-size: var(--ru-step-1);
}



/* Source: 05-footer.css */
.ru-footer {
	width: 100%;
	margin: 0;
	padding: clamp(48px, 7vw, 76px) var(--ru-gutter) 28px;
	border-top: 1px solid var(--ru-border);
	background: var(--ru-black);
	color: var(--ru-white);
}

.ru-footer__inner {
	display: grid;
	width: min(var(--ru-container), 100%);
	margin-inline: auto;
	grid-template-columns: minmax(220px, 1.35fr) repeat(3, minmax(130px, 0.8fr)) minmax(220px, 1.1fr);
	gap: clamp(24px, 4vw, 42px);
}

.ru-footer__logo {
	display: inline-block;
	width: min(220px, 100%);
}

.ru-footer__brand p,
.ru-footer__cta p {
	max-width: 36ch;
	color: var(--ru-muted);
}

.ru-footer h2 {
	margin: 0 0 var(--ru-space-3);
	color: var(--ru-white);
	font-size: 0.82rem;
	font-weight: 950;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.ru-footer ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ru-footer li + li {
	margin-top: 0.4rem;
}

.ru-footer a {
	color: #d2d2d2;
	text-decoration: none;
}

.ru-footer a:hover {
	color: var(--ru-white);
	text-decoration: underline;
	text-decoration-color: var(--ru-red);
}

.ru-footer__social {
	display: flex;
	gap: var(--ru-space-2);
	margin-top: var(--ru-space-4);
}

.ru-footer__social a {
	display: inline-flex;
	width: 46px;
	height: 46px;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--ru-border);
}

.ru-footer__social a:hover {
	border-color: var(--ru-red);
	background: var(--ru-red);
}

.ru-footer__social svg {
	width: 20px;
	height: 20px;
	fill: currentColor;
}

.ru-footer__cta .ru-eyebrow {
	margin-bottom: 0.65rem;
}

.ru-footer__cta h2 {
	font-size: clamp(1.35rem, 2.2vw, 2rem);
	line-height: 1.02;
	letter-spacing: -0.025em;
}

.ru-footer__cta .ru-button {
	margin-top: var(--ru-space-3);
}

.ru-footer__bottom {
	display: flex;
	width: min(var(--ru-container), 100%);
	justify-content: space-between;
	gap: var(--ru-space-3);
	margin: var(--ru-space-6) auto 0;
	padding-top: var(--ru-space-4);
	border-top: 1px solid var(--ru-border);
	color: #929292;
	font-size: 0.78rem;
}


/* Source: 06-shop.css */
.woocommerce-shop main,
.post-type-archive-product main,
.tax-product_cat main,
.ru-landing {
	background: var(--ru-black);
	color: var(--ru-white);
}

.wp-block-woocommerce-product-collection,
.wc-block-product-template,
.products {
	min-width: 0;
	max-width: 100%;
}

.wc-block-product-template,
.woocommerce ul.products {
	gap: clamp(16px, 3vw, 28px);
}

.wc-block-product,
.woocommerce ul.products li.product {
	min-width: 0;
	padding-bottom: var(--ru-space-4);
	border: 1px solid var(--ru-border);
	background: var(--ru-surface);
}

.wc-block-product :where(.wp-block-post-title, .wc-block-components-product-price),
.woocommerce ul.products li.product :where(.woocommerce-loop-product__title, .price) {
	padding-inline: var(--ru-space-3);
}

.wc-block-product img,
.woocommerce ul.products li.product img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.wc-block-product .wp-block-button,
.woocommerce ul.products li.product .button {
	margin-inline: var(--ru-space-3);
}

.woocommerce-ordering select {
	max-width: 100%;
}



/* Source: 07-product.css */
body.single-product main,
body.single-product .wp-block-woocommerce-product-details {
	min-width: 0;
	max-width: 100%;
}

body.single-product :where(.woocommerce-product-gallery, .wp-block-woocommerce-product-image-gallery, div.images) {
	width: 100%;
	min-width: 0;
	max-width: 100%;
}

body.single-product :where(.woocommerce-product-gallery, .wp-block-woocommerce-product-image-gallery, div.images) img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	object-fit: contain;
}

body.single-product .wp-block-columns {
	min-width: 0;
}

body.single-product .wp-block-column {
	min-width: 0;
}

body.single-product :where(.variations, .variations tbody, .variations tr, .variations th, .variations td) {
	max-width: 100%;
}

body.single-product .variations select {
	width: 100%;
	max-width: 100%;
}

body.single-product .single_variation_wrap,
body.single-product .woocommerce-variation-add-to-cart {
	min-width: 0;
	max-width: 100%;
}

body.single-product .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	gap: var(--ru-space-2);
}

body.single-product .quantity .qty {
	width: 72px;
	min-height: 48px;
}

body.single-product .single_add_to_cart_button {
	min-height: 48px;
	flex: 1 1 220px;
}

body.single-product .woocommerce-tabs {
	width: 100%;
	min-width: 0;
}

body.single-product .woocommerce-tabs ul.tabs {
	display: flex;
	max-width: 100%;
	flex-wrap: wrap;
	gap: var(--ru-space-2);
	padding: 0;
}

body.single-product .woocommerce-tabs ul.tabs li {
	margin: 0;
}

body.single-product .related.products {
	max-width: 100%;
}



/* Source: 08-cart.css */
body.woocommerce-cart :where(.wc-block-cart, .wc-block-components-sidebar-layout, .wc-block-cart__main, .wc-block-cart__sidebar) {
	min-width: 0;
	max-width: 100%;
}

.wc-block-cart-item__wrap,
.wc-block-components-product-metadata {
	min-width: 0;
}

.wc-block-cart-item__product {
	overflow-wrap: anywhere;
}

.wc-block-cart .wc-block-components-quantity-selector {
	min-height: 44px;
}

.wc-block-cart__submit-button {
	min-height: 52px;
	background: var(--ru-red);
	color: var(--ru-white);
	font-weight: 900;
}

.wc-block-mini-cart__drawer,
.wc-block-mini-cart__drawer .wc-block-components-drawer__content {
	width: min(100%, 480px);
	max-width: 100%;
}

.wc-block-mini-cart__footer-actions {
	display: grid;
	gap: var(--ru-space-2);
}

.wc-block-mini-cart__footer-actions .wc-block-components-button {
	min-height: 48px;
}



/* Source: 09-checkout.css */
body.woocommerce-checkout :where(.wc-block-checkout, .wc-block-components-sidebar-layout, .wc-block-checkout__main, .wc-block-checkout__sidebar, .wc-block-components-sidebar) {
	min-width: 0;
	max-width: 100%;
}

.wc-block-checkout__form {
	min-width: 0;
}

.wc-block-components-text-input input,
.wc-block-components-combobox input,
.wc-block-components-address-form select {
	min-height: 50px;
}

.wc-block-components-checkbox .wc-block-components-checkbox__input,
.wc-block-components-radio-control__input {
	width: 22px;
	min-width: 22px;
	height: 22px;
	min-height: 22px;
}

.wc-block-components-radio-control__option {
	min-height: 48px;
}

.wc-block-components-checkout-place-order-button {
	min-height: 54px;
	background: var(--ru-red);
	color: var(--ru-white);
	font-weight: 950;
}

.wc-block-components-checkout-step__heading {
	gap: var(--ru-space-2);
}



/* Source: 10-account.css */
body.woocommerce-account .woocommerce {
	display: grid;
	grid-template-columns: minmax(190px, 260px) minmax(0, 1fr);
	gap: clamp(24px, 5vw, 56px);
}

body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content {
	width: auto;
	min-width: 0;
	float: none;
}

.woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 0;
	border: 1px solid var(--ru-border);
	list-style: none;
}

.woocommerce-MyAccount-navigation a {
	display: block;
	min-height: 44px;
	padding: 0.75rem 1rem;
	border-bottom: 1px solid var(--ru-border);
	color: var(--ru-white);
	text-decoration: none;
}

.woocommerce-MyAccount-navigation .is-active a {
	border-left: 4px solid var(--ru-red);
	background: var(--ru-surface);
}

.woocommerce-account table {
	display: block;
	max-width: 100%;
	overflow-x: auto;
}



/* Source: 11-landings.css */
.ru-landing {
	width: min(var(--ru-container), calc(100% - (2 * var(--ru-gutter))));
	margin-inline: auto;
	padding-block: clamp(36px, 7vw, 84px);
}

:is(
	body.page-id-9,
	body.page-id-11,
	body.page-id-12,
	body.page-id-15,
	body.page-id-16,
	body.page-id-32,
	body.page-id-79,
	body.page-id-81
) main > .wp-block-group:first-child {
	width: min(var(--ru-container), calc(100% - (2 * var(--ru-gutter))));
	margin-inline: auto;
	padding-top: clamp(32px, 6vw, 72px);
}

:is(
	body.page-id-9,
	body.page-id-11,
	body.page-id-12,
	body.page-id-15,
	body.page-id-16,
	body.page-id-32,
	body.page-id-79,
	body.page-id-81
) main > .wp-block-group:first-child .wp-block-post-title {
	color: var(--ru-white) !important;
}

:is(
	body.page-id-9,
	body.page-id-11,
	body.page-id-12,
	body.page-id-15,
	body.page-id-16,
	body.page-id-32,
	body.page-id-79,
	body.page-id-81
) main > .wp-block-post-content {
	margin-top: 0;
}

.ru-landing__header {
	max-width: 760px;
	margin-bottom: var(--ru-space-6);
}

.ru-landing__header h2 {
	margin: 0;
	color: var(--ru-white);
	font-size: var(--ru-step-3);
	line-height: 1;
	text-transform: uppercase;
}

.ru-landing__header > p:last-child {
	color: var(--ru-muted);
}

.ru-landing__products .woocommerce {
	width: 100%;
}

.ru-brand-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--ru-space-4);
}

.ru-brand-card {
	display: flex;
	min-height: 300px;
	flex-direction: column;
	padding: clamp(24px, 4vw, 40px);
	border: 1px solid var(--ru-border);
	background: linear-gradient(145deg, var(--ru-surface-raised), var(--ru-black-soft));
	color: var(--ru-white);
	text-decoration: none;
	transition: border-color 160ms ease, transform 160ms ease;
}

.ru-brand-card:hover {
	border-color: var(--ru-red);
	transform: translateY(-3px);
}

.ru-brand-card__code {
	color: var(--ru-red);
	font-size: var(--ru-step--1);
	font-weight: 950;
	letter-spacing: 0.14em;
}

.ru-brand-card h3 {
	margin-block: auto var(--ru-space-2);
	font-size: var(--ru-step-2);
}

.ru-brand-card p {
	color: var(--ru-muted);
}

.ru-brand-card__cta {
	margin-top: var(--ru-space-3);
	font-weight: 900;
	text-transform: uppercase;
}

.ru-404 {
	max-width: 680px;
	margin-inline: auto;
	text-align: center;
}

.ru-404 .ru-actions {
	justify-content: center;
}

.ru-404 .search-form {
	display: flex;
	max-width: 520px;
	gap: var(--ru-space-2);
	margin: var(--ru-space-5) auto 0;
}


/* Source: 12-legal.css */
body :where(.privacy-policy, .page-id-962, .page-id-964, .page-id-965, .page-id-983) .wp-block-post-content {
	max-width: var(--ru-reading);
	margin-inline: auto;
}

body :where(.privacy-policy, .page-id-962, .page-id-964, .page-id-965, .page-id-983) .wp-block-post-content :where(h2, h3) {
	margin-top: 2em;
}

body :where(.privacy-policy, .page-id-962, .page-id-964, .page-id-965, .page-id-983) .wp-block-post-content a {
	color: inherit;
	text-decoration-color: var(--ru-red);
}



/* Source: 13-responsive.css */
@media (max-width: 1100px) {
	.ru-footer__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ru-footer__brand,
	.ru-footer__cta {
		grid-column: span 2;
	}
}

@media (max-width: 781px) {
	.wp-block-columns:not(.is-not-stacked-on-mobile) {
		gap: var(--ru-space-5);
	}

	body.single-product .wp-block-columns > .wp-block-column {
		flex-basis: 100%;
	}

	body.woocommerce-account .woocommerce {
		grid-template-columns: 1fr;
	}

	.woocommerce-MyAccount-navigation ul {
		display: flex;
		max-width: 100%;
		overflow-x: auto;
		scroll-snap-type: x proximity;
	}

	.woocommerce-MyAccount-navigation li {
		flex: 0 0 auto;
		scroll-snap-align: start;
	}

	.woocommerce-MyAccount-navigation a {
		white-space: nowrap;
	}

	.wc-block-components-sidebar-layout {
		display: flex;
		flex-direction: column;
	}

	.wc-block-components-sidebar-layout :where(.wc-block-components-main, .wc-block-components-sidebar) {
		width: 100%;
	}

	.ru-brand-grid {
		grid-template-columns: 1fr;
	}

	.ru-trust-strip {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {
	:root {
		--ru-gutter: 16px;
	}

	body.woocommerce-cart.woocommerce-page main.has-global-padding,
	body.woocommerce-checkout.woocommerce-page main.has-global-padding {
		padding-inline: 0;
	}

	body.woocommerce-cart.woocommerce-page main .entry-content.alignwide,
	body.woocommerce-checkout.woocommerce-page main .entry-content.alignwide {
		width: 100%;
		max-width: 100%;
		margin-inline: 0;
		/*
		 * Legacy Customizer rules use !important on the page wrapper.
		 * This page-scoped bridge preserves an 8 px safe gutter at 320 px.
		 */
		padding-inline: 8px !important;
	}

	body.woocommerce-cart.woocommerce-page .entry-content .wp-block-woocommerce-cart.alignwide,
	body.woocommerce-cart.woocommerce-page .wp-block-woocommerce-cart .wc-block-cart,
	body.woocommerce-cart.woocommerce-page .wc-block-cart .wc-block-cart__main,
	body.woocommerce-checkout.woocommerce-page .entry-content .wp-block-woocommerce-checkout.alignwide,
	body.woocommerce-checkout.woocommerce-page .wp-block-woocommerce-checkout .wc-block-checkout,
	body.woocommerce-checkout.woocommerce-page .wc-block-checkout .wc-block-checkout__main {
		width: 100% !important;
		max-width: 100%;
		margin-inline: 0 !important;
		padding-inline: 0 !important;
	}

	body.woocommerce-cart.woocommerce-page .wc-block-cart-items {
		display: block;
		width: 100% !important;
		max-width: 100%;
	}

	body.woocommerce-cart.woocommerce-page .wc-block-cart-items tbody {
		display: block;
		width: 100%;
	}

	body.woocommerce-cart.woocommerce-page .wc-block-cart-items__row {
		grid-template-columns: 64px minmax(0, 1fr) 16px auto;
	}

	.ru-footer__inner {
		grid-template-columns: 1fr;
	}

	.ru-footer__brand,
	.ru-footer__cta {
		grid-column: auto;
	}

	.ru-footer__bottom {
		flex-direction: column;
	}

	.ru-actions {
		display: grid;
	}

	.ru-actions > * {
		width: 100%;
	}

	.ru-404 .search-form {
		display: grid;
	}

	.wc-block-cart-items thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto;
		transition-duration: 0.01ms;
		animation-duration: 0.01ms;
		animation-iteration-count: 1;
	}
}


/* Source: 14-redesign-1-1.css */
/*
 * REBELD URBANIA 1.1.0 — capa editorial y de conversión.
 * Todo queda acotado a clases del proyecto o contextos nativos de WooCommerce.
 */

html,
body {
	max-width: 100%;
	overflow-x: clip;
}

.site-header {
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	background: rgba(5, 5, 5, 0.94);
	backdrop-filter: blur(12px);
}

.site-header .hostinger-ai-menu-wrapper {
	padding-block: clamp(12px, 1.5vw, 20px);
}

.site-header .wp-block-site-logo .custom-logo-link .custom-logo {
	width: clamp(68px, 6.3vw, 92px);
	max-width: none;
	height: auto;
}

.site-header .wp-block-navigation-item__content {
	position: relative;
	font-size: 0.84rem;
	font-weight: 850;
	letter-spacing: 0.035em;
	text-transform: uppercase;
}

.site-header .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	position: absolute;
	right: 0;
	bottom: -0.45rem;
	left: 0;
	height: 2px;
	background: var(--ru-red);
	content: "";
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 180ms ease;
}

.site-header .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover::after,
.site-header .current-menu-item > .wp-block-navigation-item__content::after {
	transform: scaleX(1);
	transform-origin: left;
}

/* Inicio */
.ru-hero {
	min-height: clamp(620px, calc(100svh - 96px), 900px);
	background-position: center;
	background-size: cover;
}

body.home .ru-hero .ru-hero__content h1 {
	max-width: 9.3ch;
	font-size: clamp(3.35rem, 6.3vw, 6.8rem);
	line-height: 0.86;
	letter-spacing: -0.055em;
}

.ru-quick a,
.ru-stores a {
	transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.ru-quick a:hover,
.ru-stores a:hover {
	transform: translateY(-3px);
}

.ru-intro,
.ru-brands,
.ru-stores {
	padding-block: clamp(76px, 10vw, 144px);
}

.ru-parallax {
	--ru-parallax-y: 0%;
	min-height: clamp(520px, 74vw, 820px);
	background-position: center calc(50% + var(--ru-parallax-y));
	background-size: cover;
	will-change: background-position;
}

.ru-parallax h2 {
	max-width: 11ch;
	font-size: clamp(2.9rem, 6.2vw, 6.5rem);
	line-height: 0.9;
	letter-spacing: -0.045em;
}

/* Cabeceras comerciales */
body:is(
	.page-id-9,
	.page-id-11,
	.page-id-12,
	.page-id-15,
	.page-id-16,
	.page-id-19,
	.page-id-31,
	.page-id-32,
	.page-id-33,
	.page-id-79,
	.page-id-81
) main > .wp-block-group:first-child {
	display: none;
}

.woocommerce-shop main,
.post-type-archive-product main,
.ru-landing {
	position: relative;
}

.woocommerce-shop main::before,
.post-type-archive-product main::before {
	display: block;
	width: min(var(--ru-container), calc(100% - (2 * var(--ru-gutter))));
	height: 5px;
	margin: clamp(28px, 5vw, 68px) auto 0;
	background: linear-gradient(90deg, var(--ru-red) 0 16%, rgba(255, 255, 255, 0.14) 16%);
	content: "";
}

.woocommerce-shop .wp-block-post-title,
.post-type-archive-product .wp-block-query-title {
	font-size: clamp(2.8rem, 6vw, 5.6rem);
	line-height: 0.92;
	letter-spacing: -0.04em;
	text-transform: uppercase;
}

.ru-shop-hero {
	min-height: clamp(280px, 34vw, 390px);
	padding: clamp(38px, 7vw, 82px);
	background:
		linear-gradient(90deg, rgba(5, 5, 5, 0.98) 0%, rgba(5, 5, 5, 0.7) 56%, rgba(5, 5, 5, 0.28) 100%),
		url("../../../../uploads/2026/06/rebeld-urbania-home-parallax-identidad-1.jpg") center 52% / cover;
}

.woocommerce-shop .ru-shop-hero .wp-block-query-title {
	margin: 0;
}

.ru-shop-hero > p {
	max-width: 48ch;
	margin: var(--ru-space-3) 0 0;
	color: #d5d5d5;
}

.ru-landing .ru-landing__header {
	position: relative;
	max-width: none;
	padding: clamp(34px, 6vw, 72px);
	overflow: hidden;
	border: 1px solid var(--ru-border);
	background:
		linear-gradient(110deg, rgba(5, 5, 5, 0.98) 0%, rgba(5, 5, 5, 0.78) 58%, rgba(5, 5, 5, 0.28) 100%),
		radial-gradient(circle at 85% 25%, rgba(214, 0, 0, 0.34), transparent 34%),
		var(--ru-surface);
}

.ru-landing .ru-landing__header::after {
	position: absolute;
	top: 0;
	right: 0;
	width: clamp(7px, 0.8vw, 12px);
	height: 100%;
	background: var(--ru-red);
	content: "";
}

.ru-landing .ru-landing__header :is(h1, h2) {
	max-width: 10ch;
	font-size: clamp(3rem, 7vw, 7rem);
	letter-spacing: -0.055em;
}

.ru-landing .ru-landing__header > p:last-child {
	max-width: 54ch;
	margin-bottom: 0;
	font-size: clamp(1rem, 1.4vw, 1.25rem);
}

.ru-landing.ru-landing--night .ru-landing__header {
	background:
		linear-gradient(100deg, rgba(5, 5, 5, 0.98) 0%, rgba(5, 5, 5, 0.74) 56%, rgba(5, 5, 5, 0.16) 100%),
		url("../../../../uploads/2026/06/ru-card-cierrabares-bg.webp") 72% 44% / cover;
}

.ru-landing.ru-landing--collection .ru-landing__header,
.ru-landing.ru-landing--new .ru-landing__header {
	background:
		linear-gradient(100deg, rgba(5, 5, 5, 0.98) 0%, rgba(5, 5, 5, 0.72) 58%, rgba(5, 5, 5, 0.2) 100%),
		url("../../../../uploads/2026/06/rebeld-urbania-home-hero-principal-1.jpg") center 38% / cover;
}

.ru-landing.ru-landing--urban .ru-landing__header {
	background:
		linear-gradient(100deg, rgba(5, 5, 5, 0.98) 0%, rgba(5, 5, 5, 0.7) 56%, rgba(5, 5, 5, 0.18) 100%),
		url("../../../../uploads/2026/06/ru-card-onr-bg.webp") 65% 35% / cover;
}

.ru-landing.ru-landing--sale .ru-landing__header {
	background:
		linear-gradient(100deg, rgba(214, 0, 0, 0.94) 0%, rgba(92, 0, 0, 0.78) 54%, rgba(5, 5, 5, 0.32) 100%),
		url("../../../../uploads/2026/06/ru-card-rebeld-bg.webp") 72% 34% / cover;
}

.ru-landing.ru-landing--freak .ru-landing__header {
	background:
		linear-gradient(100deg, rgba(5, 5, 5, 0.98) 0%, rgba(5, 5, 5, 0.68) 58%, rgba(214, 0, 0, 0.22) 100%),
		url("../../../../uploads/2026/06/rebeld-urbania-home-parallax-identidad-1.jpg") 62% 48% / cover;
}

.ru-empty-state {
	border-left: 5px solid var(--ru-red);
	background:
		linear-gradient(120deg, rgba(255, 255, 255, 0.035), transparent 52%),
		var(--ru-surface);
}

/* Catálogo */
body.woocommerce-shop .wc-block-product-template,
body.post-type-archive-product .wc-block-product-template {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.wc-block-product,
.woocommerce ul.products li.product {
	position: relative;
	overflow: hidden;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.wc-block-product:hover,
.woocommerce ul.products li.product:hover {
	border-color: rgba(255, 255, 255, 0.42);
	box-shadow: 0 20px 52px rgba(0, 0, 0, 0.35);
	transform: translateY(-5px);
}

.wc-block-product img,
.woocommerce ul.products li.product img {
	transition: filter 260ms ease, transform 420ms cubic-bezier(0.22, 1, 0.36, 1);
}

.wc-block-product:hover img,
.woocommerce ul.products li.product:hover img {
	filter: contrast(1.04);
	transform: scale(1.025);
}

.wc-block-product .wp-block-post-title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	margin-top: var(--ru-space-3);
	font-size: clamp(1rem, 1.25vw, 1.18rem);
	line-height: 1.2;
}

.wc-block-product .wc-block-components-product-price,
.woocommerce ul.products li.product .price {
	color: var(--ru-white);
	font-weight: 900;
}

/* Marcas */
.ru-brand-card {
	position: relative;
	min-height: clamp(390px, 36vw, 520px);
	justify-content: flex-end;
	overflow: hidden;
	isolation: isolate;
	background-position: center;
	background-size: cover;
}

.ru-brand-card::before {
	position: absolute;
	z-index: -1;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.06) 18%, rgba(0, 0, 0, 0.95) 88%);
	content: "";
	transition: background 220ms ease;
}

.ru-brand-card:hover::before {
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.02) 10%, rgba(0, 0, 0, 0.88) 82%);
}

.ru-brand-card--oveja-negra-rebelde {
	background-image: url("../../../../uploads/2026/06/ru-card-onr-bg.webp");
}

.ru-brand-card--rebeld {
	background-image: url("../../../../uploads/2026/06/ru-card-rebeld-bg.webp");
}

.ru-brand-card--cierrabares {
	background-image: url("../../../../uploads/2026/06/ru-card-cierrabares-bg.webp");
}

.ru-brand-card h3 {
	margin-block: var(--ru-space-3) 0;
	line-height: 0.95;
}

.rebeld-hero {
	max-width: 100%;
	overflow: hidden;
	background:
		linear-gradient(90deg, rgba(5, 5, 5, 0.96) 0%, rgba(5, 5, 5, 0.68) 54%, rgba(5, 5, 5, 0.18) 100%),
		url("../../../../uploads/2026/06/ru-card-rebeld-bg.webp") 72% 36% / cover;
}

.ru-brand-editorial,
.ru-brand-extension,
.ru-brand-products,
.ru-brand-editorial__final {
	width: min(var(--ru-container), calc(100% - (2 * var(--ru-gutter))));
	margin-inline: auto;
}

.ru-brand-editorial__hero {
	display: grid;
	min-height: clamp(560px, 72vw, 780px);
	align-items: end;
	padding: clamp(30px, 7vw, 84px);
	background:
		linear-gradient(90deg, rgba(5, 5, 5, 0.96) 0%, rgba(5, 5, 5, 0.58) 60%, rgba(5, 5, 5, 0.18) 100%),
		url("../../../../uploads/2026/06/ru-card-cierrabares-bg.webp") 60% 40% / cover;
}

.ru-brand-editorial__hero > div {
	max-width: 640px;
}

.ru-brand-editorial__hero :is(h1, h2) {
	margin: 0;
	font-size: clamp(3.2rem, 8vw, 7.6rem);
	line-height: 0.86;
	letter-spacing: -0.06em;
}

.ru-brand-editorial__hero > div > p:not(.ru-eyebrow) {
	max-width: 50ch;
	color: #d7d7d7;
}

.ru-brand-editorial__story {
	display: grid;
	padding-block: clamp(72px, 10vw, 130px);
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
	gap: clamp(32px, 8vw, 100px);
}

.ru-brand-editorial__story h2,
.ru-brand-extension h2,
.ru-brand-products h2,
.ru-brand-editorial__final h2 {
	margin: 0;
	font-size: clamp(2.3rem, 5vw, 5rem);
	line-height: 0.94;
	letter-spacing: -0.045em;
}

.ru-brand-editorial__story > p,
.ru-brand-extension__copy > p:last-child {
	margin: 0;
	align-self: end;
	color: var(--ru-muted);
	font-size: clamp(1.05rem, 1.7vw, 1.35rem);
}

.ru-brand-editorial__manifesto {
	display: flex;
	min-height: 560px;
	flex-direction: column;
	justify-content: flex-end;
	padding: clamp(30px, 7vw, 80px);
	background:
		linear-gradient(180deg, rgba(5, 5, 5, 0.12), rgba(5, 5, 5, 0.94)),
		url("../../../../uploads/2026/06/rebeld-urbania-home-parallax-identidad-1.jpg") center / cover;
}

.ru-brand-editorial__manifesto h2 {
	max-width: 14ch;
	margin: 0;
	font-size: clamp(2.8rem, 6vw, 6rem);
	line-height: 0.9;
}

.ru-brand-editorial__manifesto > p:last-child {
	max-width: 52ch;
	margin-bottom: 0;
}

.ru-brand-products {
	padding-block: clamp(76px, 10vw, 128px);
}

.ru-brand-products > header {
	margin-bottom: var(--ru-space-6);
}

.ru-brand-editorial__final {
	margin-bottom: clamp(72px, 10vw, 130px);
	padding: clamp(36px, 7vw, 80px);
	border-left: 7px solid var(--ru-red);
	background: var(--ru-surface);
}

.ru-brand-editorial__final h2 {
	max-width: 16ch;
}

.ru-brand-extension {
	display: grid;
	margin-top: clamp(64px, 9vw, 120px);
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	background: var(--ru-surface);
}

.ru-brand-extension__visual {
	min-height: 560px;
	background:
		linear-gradient(180deg, transparent 30%, rgba(5, 5, 5, 0.78)),
		url("../../../../uploads/2026/06/ru-card-rebeld-bg.webp") center 32% / cover;
}

.ru-brand-extension__copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(32px, 6vw, 72px);
}

.onr-hero,
.onr-manifiesto,
.onr-collections,
.onr-categories,
.onr-featured-products,
.brand-hero {
	max-width: 100%;
}

/* Sobre nosotros */
.ru-about-hero,
.ru-about-story,
.ru-about-brands,
.ru-about-values,
.ru-about-final {
	max-width: 100%;
	overflow: hidden;
}

.ru-about-hero {
	position: relative;
	background:
		linear-gradient(90deg, rgba(5, 5, 5, 0.96), rgba(5, 5, 5, 0.52)),
		url("../../../../uploads/2026/06/rebeld-urbania-home-parallax-identidad-1.jpg") center / cover;
}

body.page-id-19 .ru-about-hero h1 {
	max-width: 10ch;
	font-size: clamp(3rem, 7vw, 7rem);
	line-height: 0.88;
	letter-spacing: -0.055em;
}

/* Cuenta */
body.woocommerce-account:not(.logged-in) .entry-content {
	display: grid;
	width: min(var(--ru-container), calc(100% - (2 * var(--ru-gutter))));
	max-width: none;
	margin-inline: auto;
	padding-inline: 0;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.ru-account-intro {
	display: flex;
	min-height: 650px;
	align-items: flex-end;
	padding: clamp(28px, 5vw, 56px);
	background:
		linear-gradient(180deg, rgba(5, 5, 5, 0.08), rgba(5, 5, 5, 0.94)),
		url("../../../../uploads/2026/06/ru-card-onr-bg.webp") center 30% / cover;
}

.ru-account-intro__content {
	max-width: 48ch;
}

.ru-account-intro h2 {
	margin: 0;
	font-size: clamp(2.4rem, 4.8vw, 4.8rem);
	line-height: 0.92;
	letter-spacing: -0.045em;
}

.ru-account-intro ul {
	margin: var(--ru-space-4) 0 0;
	padding: 0;
	list-style: none;
}

.ru-account-intro li {
	padding-block: 0.5rem;
	border-top: 1px solid var(--ru-border);
	font-weight: 800;
}

body.woocommerce-account .entry-content > .woocommerce {
	width: min(620px, 100%);
	margin-inline: auto;
	padding: clamp(24px, 5vw, 52px);
	border: 1px solid var(--ru-border);
	border-top: 5px solid var(--ru-red);
	background: var(--ru-surface);
	box-shadow: var(--ru-shadow);
}

body.woocommerce-account:not(.logged-in) .entry-content > .woocommerce {
	display: flex;
	width: 100%;
	min-height: 650px;
	flex-direction: column;
	justify-content: center;
}

body.woocommerce-account:not(.logged-in) .entry-content > :not(.ru-account-intro, .woocommerce) {
	grid-column: 1 / -1;
}

body.woocommerce-account:not(.logged-in) .ru-account-help {
	grid-column: 1 / -1;
}

body.woocommerce-account .woocommerce-form-login {
	margin-bottom: 0;
}

body.woocommerce-account .woocommerce-form-login :where(input[type="text"], input[type="password"]) {
	width: 100%;
}

body.woocommerce-account .woocommerce-form-login__submit {
	min-width: 160px;
	background: var(--ru-red);
	color: var(--ru-white);
}

/* Producto */
body.single-product .wp-block-post-title {
	font-size: clamp(2rem, 4vw, 4.6rem);
	line-height: 0.96;
	letter-spacing: -0.035em;
}

body.single-product .single_add_to_cart_button {
	border-color: var(--ru-red);
	background: var(--ru-red);
	color: var(--ru-white);
}

body.single-product .product_meta,
body.single-product .woocommerce-tabs {
	border-color: var(--ru-border);
}

@media (max-width: 1000px) {
	body.woocommerce-shop .wc-block-product-template,
	body.post-type-archive-product .wc-block-product-template {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 781px) {
	.site-header {
		backdrop-filter: none;
	}

	.site-header .wp-block-site-logo .custom-logo-link .custom-logo {
		width: 64px;
	}

	.ru-hero {
		min-height: calc(100svh - 82px);
		background-image:
			linear-gradient(180deg, rgba(0, 0, 0, 0.32) 0%, rgba(0, 0, 0, 0.2) 36%, rgba(0, 0, 0, 0.94) 100%),
			url("../../../../uploads/2026/06/rebeld-urbania-home-hero-principal-mobile.jpg");
		background-position: center 24%;
	}

	.ru-parallax {
		min-height: 640px;
		background-image:
			linear-gradient(180deg, rgba(0, 0, 0, 0.22), rgba(0, 0, 0, 0.9)),
			url("../../../../uploads/2026/06/rebeld-urbania-home-parallax-identidad-mobile.jpg");
		background-position: center;
	}

	body.woocommerce-shop .wc-block-product-template,
	body.post-type-archive-product .wc-block-product-template {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ru-landing .ru-landing__header {
		padding: 32px 24px 38px;
	}

	.ru-landing .ru-landing__header :is(h1, h2) {
		font-size: clamp(2.7rem, 16vw, 4.7rem);
	}

	.ru-about-hero {
		background-image:
			linear-gradient(180deg, rgba(5, 5, 5, 0.4), rgba(5, 5, 5, 0.92)),
			url("../../../../uploads/2026/06/rebeld-urbania-home-parallax-identidad-mobile.jpg");
	}

	.rebeld-hero {
		background-position: 62% 35%;
	}

	.ru-brand-editorial__story,
	.ru-brand-extension,
	body.woocommerce-account:not(.logged-in) .entry-content {
		grid-template-columns: 1fr;
	}

	.ru-brand-extension__visual {
		min-height: 520px;
	}

	.ru-account-intro,
	body.woocommerce-account:not(.logged-in) .entry-content > .woocommerce {
		min-height: auto;
	}

	.ru-account-intro {
		min-height: 560px;
	}
}

@media (max-width: 480px) {
	body.woocommerce-shop main > .wp-block-group:has(> .wc-block-product-results-count) {
		align-items: stretch;
		flex-direction: column;
		gap: var(--ru-space-3);
	}

	body.woocommerce-shop :where(.wc-block-product-results-count, .wc-block-catalog-sorting, .woocommerce-ordering, .woocommerce-ordering select) {
		width: 100%;
	}

	body.woocommerce-shop .woocommerce-result-count {
		margin: 0;
	}

	body.woocommerce-shop .wc-block-product-template,
	body.post-type-archive-product .wc-block-product-template {
		grid-template-columns: 1fr;
	}

	body.home .ru-hero .ru-hero__content h1 {
		font-size: clamp(3.05rem, 15.5vw, 4.2rem);
	}

	.ru-brand-card {
		min-height: 440px;
	}

	.ru-footer__inner {
		gap: 34px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ru-parallax {
		background-position: center;
		will-change: auto;
	}
}


/* Source: 99-utilities.css */
/*
 * Puente temporal sobre el CSS histórico del Customizer.
 * Estas cuatro declaraciones necesitan !important porque las reglas heredadas
 * usan la misma marca en propiedades estructurales. Se retirarán al migrar el
 * bloque histórico correspondiente.
 */
body.single-product :where(.woocommerce-product-gallery, .wp-block-woocommerce-product-image-gallery, div.images) {
	width: 100% !important;
	max-width: 100% !important;
	margin-inline: 0 !important;
	transform: none !important;
}

body :where(.wc-block-cart, .wc-block-checkout, .wc-block-components-sidebar-layout) {
	max-width: 100%;
}

.ru-no-scroll {
	overflow: hidden;
}

