/* Urbantex — estética «premium streetwear»: negro, blanco, Poppins, mayúsculas espaciadas */
:root {
  --ux-bg: #0b0b0b;
  --ux-surface: #141414;
  --ux-surface-2: #1b1b1b;
  --ux-line: #262626;
  --ux-text: #ececec;
  --ux-muted: #9a9a9a;
  --ux-accent: #ffffff;
  --ux-on-accent: #0b0b0b;
  --ux-sale: #ff4545;
  --ux-track: .32em;
  --ux-ink: var(--ux-text);
  --ux-soft: var(--ux-surface);
}
html, body { background: var(--ux-bg); }
body { color: var(--ux-text); -webkit-font-smoothing: antialiased; }
a { text-underline-offset: 3px; }
::selection { background: #fff; color: #000; }
h1, h2, h3, .entry-title, .page-title, .woocommerce-products-header__title { text-transform: uppercase; letter-spacing: .02em; }
.ux-label, .ux-kicker { font-size: 12px !important; font-weight: 600; letter-spacing: var(--ux-track); text-transform: uppercase; color: var(--ux-muted); }

/* ── Barra superior ── */
.ux-promo { background: #000; color: #d6d6d6; font-size: 11px; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; text-align: center; padding: 9px 16px; border-bottom: 1px solid #1c1c1c; }
.ux-promo span + span::before { content: "///"; margin: 0 18px; opacity: .45; letter-spacing: 0; }
@media (max-width: 767px) { .ux-promo span:not(:first-child) { display: none; } }

/* ── Cabecera ── */
#masthead, #masthead .site-header-row-container-inner, #mobile-header .site-header-row-container-inner { background: var(--ux-bg) !important; }
#masthead .site-bottom-header-wrap .site-header-row-container-inner { border-top: 1px solid var(--ux-line); border-bottom: 1px solid var(--ux-line); }
#mobile-header .site-main-header-wrap .site-header-row-container-inner { border-bottom: 1px solid var(--ux-line); }
.custom-logo { filter: invert(1); }
.site-branding .site-title { color: #fff !important; font-weight: 700 !important; letter-spacing: .2em; text-transform: uppercase; font-size: 26px !important; }
.mobile-site-branding .site-title { font-size: 19px !important; }
.secondary-navigation .menu > li > a { color: #fff !important; font-weight: 600; font-size: 12px; letter-spacing: .2em; text-transform: uppercase; padding: 22px 12px !important; border-bottom: 2px solid transparent; }
.secondary-navigation .menu > li > a:hover, .secondary-navigation .menu > li.current-menu-item > a { border-bottom-color: #fff; }
.secondary-navigation .menu > li:nth-child(2) > a { color: var(--ux-sale) !important; }
.main-navigation .primary-menu-container > ul > li.menu-item > a { color: #cfcfcf !important; font-size: 12.5px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; padding-top: 14px; padding-bottom: 14px; }
.main-navigation .primary-menu-container > ul > li.menu-item > a:hover { color: #fff !important; }
.ux-search { display: flex; align-items: center; background: var(--ux-surface-2); border: 1px solid var(--ux-line); border-radius: 0; height: 40px; min-width: 320px; padding: 0 12px; }
.ux-search input[type="search"] { border: 0 !important; background: transparent !important; box-shadow: none !important; flex: 1; font-size: 14px; padding: 0 8px !important; height: 38px; color: #fff !important; }
.ux-search input[type="search"]::placeholder { color: #8a8a8a; }
.ux-search button { background: none !important; border: 0; padding: 0; color: #fff; display: flex; box-shadow: none !important; }
.ux-search svg { width: 19px; height: 19px; }
.mobile-html-inner .ux-search { min-width: 0; width: 100%; }
#mobile-header .site-bottom-header-inner-wrap { padding: 0 0 10px; }
.header-button-wrap .button.header-button { background: none !important; border: 0 !important; color: #fff !important; box-shadow: none !important; padding: 8px 10px !important; font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; display: inline-flex; align-items: center; gap: 8px; }
.header-button-wrap .button.header-button::before { content: ""; width: 21px; height: 21px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 4-6 8-6s8 2 8 6'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 4-6 8-6s8 2 8 6'/%3E%3C/svg%3E") center/contain no-repeat; }
.header-cart-wrap .header-cart-button, .header-mobile-cart-wrap .header-cart-button, .menu-toggle-open, .drawer-toggle { color: #fff !important; }
.header-cart-button .header-cart-total { background: #fff !important; color: #000 !important; font-size: 11px; }
.popup-drawer .drawer-inner, #cart-drawer .drawer-inner { background: var(--ux-bg) !important; color: var(--ux-text); }
.mobile-navigation ul li > a, .mobile-navigation ul li.menu-item-has-children > .drawer-nav-drop-wrap { color: #fff !important; text-transform: uppercase; letter-spacing: .14em; font-size: 14px; border-bottom-color: var(--ux-line) !important; }

/* ── Botones y formularios ── */
.button, button, input[type="submit"], .wp-block-button__link, .woocommerce a.button, .woocommerce button.button, .single_add_to_cart_button, .wc-block-components-button {
  border-radius: 0 !important; font-weight: 600 !important; letter-spacing: .14em; text-transform: uppercase; font-size: 13px !important;
}
.wp-block-button__link, .woocommerce a.button, .woocommerce button.button, .single_add_to_cart_button, .woocommerce .checkout-button, #place_order, .wc-block-components-button:not(.is-link) {
  background: var(--ux-accent) !important; color: var(--ux-on-accent) !important; border: 1px solid var(--ux-accent) !important;
}
.wp-block-button__link:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .single_add_to_cart_button:hover { background: #d9d9d9 !important; border-color: #d9d9d9 !important; }
.is-style-outline .wp-block-button__link { background: transparent !important; color: #fff !important; border: 1px solid #fff !important; }
.is-style-outline .wp-block-button__link:hover { background: #fff !important; color: #000 !important; }
.single_add_to_cart_button, .woocommerce .checkout-button, #place_order { min-height: 54px; }
input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="password"], input[type="search"], textarea, select, .select2-container .select2-selection, .quantity .qty {
  background: var(--ux-surface) !important; color: var(--ux-text) !important; border: 1px solid #333 !important; border-radius: 0 !important;
}
.select2-dropdown, .select2-results__option { background: var(--ux-surface) !important; color: var(--ux-text) !important; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner { background: var(--ux-surface) !important; color: var(--ux-text) !important; border-color: var(--ux-line) !important; }

/* ── Rejilla de productos ── */
.woocommerce ul.products { row-gap: 36px; }
.woocommerce ul.products li.product, .woocommerce ul.products li.product .product-details { box-shadow: none !important; background: transparent !important; }
.woocommerce ul.products li.product .product-details { padding: 0 !important; }
.woocommerce ul.products li.product a img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; margin-bottom: 12px; background: var(--ux-surface); transition: transform .5s ease; }
.woocommerce ul.products li.product:hover a img { transform: scale(1.015); }
.woocommerce ul.products li.product .ux-brand { display: block; font-size: 10.5px; font-weight: 600; letter-spacing: var(--ux-track); text-transform: uppercase; color: var(--ux-muted); margin: 6px 0 4px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 14px !important; font-weight: 500 !important; color: #fff !important; padding: 0; margin: 0 0 6px !important; line-height: 1.35; text-transform: none; letter-spacing: 0; }
.woocommerce ul.products li.product .price { font-size: 14px !important; font-weight: 600; color: #fff !important; }
.woocommerce ul.products li.product .price ins, .woocommerce div.product p.price ins, .woocommerce div.product span.price ins { color: var(--ux-sale); text-decoration: none; font-weight: 600; }
.woocommerce ul.products li.product .price del, .woocommerce div.product p.price del { color: var(--ux-muted); font-weight: 400; opacity: 1; }
.woocommerce ul.products li.product .price .woocommerce-price-suffix { display: none; }
.woocommerce span.onsale { background: var(--ux-sale) !important; color: #fff; border-radius: 0 !important; min-height: 0; min-width: 0; line-height: 1; padding: 6px 9px !important; font-size: 11px; font-weight: 700; letter-spacing: .08em; top: 12px !important; left: 12px !important; right: auto !important; }
.woocommerce ul.products.woo-archive-action-on-hover li.product .product-action-wrap { background: transparent; }
.woocommerce ul.products li.product-category .woocommerce-loop-category__title { font-size: 13px !important; font-weight: 600 !important; letter-spacing: .2em; text-transform: uppercase; text-align: left; color: #fff; }
.woocommerce ul.products li.product-category .woocommerce-loop-category__title .count { display: none; }

/* ── Tienda: filtros ── */
.woocommerce .primary-sidebar .widget { margin-bottom: 28px; padding-bottom: 22px; border-bottom: 1px solid var(--ux-line); }
.woocommerce .primary-sidebar .widget-title { font-size: 11.5px !important; font-weight: 600; letter-spacing: .26em; text-transform: uppercase; margin-bottom: 14px; color: #fff; }
.woocommerce .primary-sidebar .widget ul li { font-size: 14px; padding: 3px 0; border-color: var(--ux-line) !important; }
.woocommerce .primary-sidebar .widget ul li a { color: #cfcfcf; }
.woocommerce .widget_price_filter .ui-slider .ui-slider-range, .woocommerce .widget_price_filter .ui-slider .ui-slider-handle { background: #fff; }
.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content { background: #333; }
@media (min-width: 1025px) {
  .has-left-sidebar .content-container, .has-sidebar.has-left-sidebar .content-container { grid-template-columns: 250px minmax(0, 1fr) !important; column-gap: 48px; }
}
.woocommerce-result-count, .woocommerce-ordering select { color: var(--ux-muted) !important; }

/* ── Ficha de producto ── */
.single-product div.product .product_title { font-size: 28px; font-weight: 700; line-height: 1.2; color: #fff; }
.single-product div.product .ux-brand-single { font-size: 11px; font-weight: 600; letter-spacing: var(--ux-track); text-transform: uppercase; color: var(--ux-muted); margin-bottom: 8px; display: block; }
.single-product div.product p.price { font-size: 21px; font-weight: 600; color: #fff; }
.woocommerce div.product p.price .woocommerce-price-suffix, .woocommerce div.product span.price .woocommerce-price-suffix { font-size: 12px; font-weight: 400; color: var(--ux-muted); letter-spacing: .04em; }
.single-product div.product .woocommerce-product-gallery .flex-viewport, .single-product div.product .woocommerce-product-gallery__image { background: var(--ux-surface); }
.single-product div.product form.cart .variations th.label, .single-product .variations label { font-weight: 600; font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: #fff; }
.single-product .woocommerce-tabs ul.tabs li a { text-transform: uppercase; letter-spacing: .16em; font-size: 12.5px; }
.ux-trust-mini { list-style: none; margin: 22px 0 0; padding: 18px 0 0; border-top: 1px solid var(--ux-line); font-size: 13.5px; color: #cfcfcf; }
.ux-trust-mini li { padding: 5px 0 5px 28px; position: relative; }
.ux-trust-mini li::before { content: "›››"; position: absolute; left: 0; font-weight: 700; letter-spacing: -1px; color: #fff; }
.ux-trust-mini a { color: #fff; }
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item) { border-radius: 0 !important; box-shadow: 0 0 0 1px #3a3a3a !important; background: var(--ux-surface) !important; color: #fff !important; }
.woo-variation-swatches .variable-items-wrapper .variable-item.button-variable-item { min-width: 54px; height: 44px; font-weight: 500; }
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item):hover { box-shadow: 0 0 0 1px #8a8a8a !important; }
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).selected { box-shadow: 0 0 0 2px #fff !important; }
.woo-variation-swatches .variable-items-wrapper .variable-item.color-variable-item { border-radius: 50% !important; width: 34px; height: 34px; }

/* ── Portada ── */
.ux-home > :not(.alignfull) { padding-left: clamp(16px, 2.5vw, 40px); padding-right: clamp(16px, 2.5vw, 40px); }
.ux-home h2.wp-block-heading { font-size: 22px; font-weight: 700; letter-spacing: .1em; margin: 64px 0 22px; color: #fff; }
.ux-home h2.wp-block-heading::after { content: "››››"; display: inline-block; margin-left: 16px; font-weight: 400; letter-spacing: -2px; color: #5a5a5a; }
.ux-hero { color: #fff; }
.ux-hero .wp-block-cover__inner-container { padding-left: clamp(0px, 3vw, 48px); }
.ux-hero h1 { font-size: clamp(38px, 5.6vw, 82px); font-weight: 800; line-height: .98; letter-spacing: -.005em; color: #fff; margin: 18px 0 20px; }
.ux-hero p { color: #bdbdbd; max-width: 46ch; }
.ux-hero .ux-kicker { color: #9a9a9a; }
.ux-hero .wp-block-buttons { margin-top: 30px; gap: 12px; }
.ux-hero .wp-block-button__link { padding: 16px 30px; }
.ux-split .wp-block-cover { min-height: 400px !important; }
.ux-split h3 { font-size: 30px; font-weight: 800; color: #fff; letter-spacing: .04em; }
.ux-split a { color: #fff; font-size: 12px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; }
.woocommerce ul.products li.product-category a img { aspect-ratio: 4 / 5; object-fit: cover; }
.ux-manifesto { position: relative; overflow: hidden; background: #000; margin-top: 72px; padding: clamp(48px, 8vw, 110px) clamp(20px, 6vw, 90px) !important; border-top: 1px solid var(--ux-line); border-bottom: 1px solid var(--ux-line); }
.ux-manifesto .ux-manifesto-bg { position: absolute; right: -4%; top: 50%; transform: translateY(-50%); width: min(62%, 760px); opacity: .07; filter: invert(1); pointer-events: none; }
.ux-manifesto p.ux-manifesto-text { position: relative; margin: 0; max-width: 1100px; font-size: clamp(26px, 4.1vw, 58px); font-weight: 800; line-height: 1.04; text-transform: uppercase; text-align: justify; color: #fff; letter-spacing: .01em; }
.ux-manifesto .ux-manifesto-foot { position: relative; display: flex; gap: 28px; align-items: center; margin-top: 34px; color: #8a8a8a; font-size: 11.5px; font-weight: 600; letter-spacing: var(--ux-track); text-transform: uppercase; }
.ux-manifesto .ux-chevrons { color: #fff; font-size: 26px; letter-spacing: -3px; font-weight: 400; }
@media (max-width: 767px) {
  .ux-hero { min-height: 520px !important; }
  .ux-hero .wp-block-cover__image-background { object-position: 78% center; opacity: .35; }
  .ux-split .wp-block-cover { min-height: 320px !important; }
  .ux-home h2.wp-block-heading { margin-top: 44px; font-size: 18px; }
}

/* ── Páginas de texto ── */
.entry-content { color: #d9d9d9; }
.entry-content a { color: #fff; }
.entry-content table th, .entry-content table td { border-color: var(--ux-line) !important; }
.entry-content table thead th { background: var(--ux-surface); color: #fff; }

/* ── Pie de página ── */
.ux-footer { font-size: 14px; color: #bdbdbd; background: #000; margin-top: 0; border-top: 1px solid var(--ux-line); }
.ux-foot-wrap { max-width: 1400px; margin: 0 auto; padding: 0 clamp(16px, 2.5vw, 40px); }
.ux-footer a { color: inherit; text-decoration: none; }
.ux-footer a:hover { color: #fff; text-decoration: underline; }
.ux-ico { width: 24px; height: 24px; flex: none; }
.ux-foot-perks { background: var(--ux-bg); color: #fff; border-bottom: 1px solid var(--ux-line); }
.ux-foot-perks .ux-foot-wrap { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; padding-top: 28px; padding-bottom: 28px; }
.ux-perk { display: flex; gap: 14px; align-items: center; }
.ux-perk .ux-ico { width: 32px; height: 32px; }
.ux-perk strong { display: block; font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }
.ux-perk span { display: block; font-size: 13px; color: var(--ux-muted); margin-top: 3px; }
.ux-foot-main { padding: 56px 0 42px; }
.ux-foot-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr 1.3fr; gap: 40px; }
.ux-foot-logo { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.ux-foot-logo img { width: 40px; height: auto; filter: invert(1); }
.ux-foot-logo span { color: #fff; font-weight: 700; letter-spacing: .2em; font-size: 21px; }
.ux-foot-brand p { line-height: 1.65; max-width: 34ch; margin: 0 0 18px; }
.ux-foot-social { display: flex; gap: 10px; }
.ux-foot-social a { width: 40px; height: 40px; border-radius: 50%; border: 1px solid #3a3a3a; display: grid; place-items: center; color: #fff; }
.ux-foot-social a:hover { background: #fff; color: #000; text-decoration: none; }
.ux-foot-social .ux-ico { width: 20px; height: 20px; }
.ux-foot-title { color: #fff; font-size: 11.5px !important; font-weight: 600; margin: 0 0 18px; letter-spacing: .26em; text-transform: uppercase; }
.ux-foot-links { list-style: none; margin: 0; padding: 0; }
.ux-foot-links li { margin: 0 0 10px; }
.ux-foot-contact p { margin: 0 0 14px; line-height: 1.55; }
.ux-foot-btn { display: inline-block; background: #fff; color: #000 !important; font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; padding: 12px 22px; }
.ux-foot-btn:hover { background: #d9d9d9; text-decoration: none !important; }
.ux-foot-small { font-size: 12px; color: #7d7d7d; margin-top: 12px !important; }
.ux-foot-pay { border-top: 1px solid var(--ux-line); }
.ux-foot-pay .ux-foot-wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px; padding-top: 20px; padding-bottom: 20px; }
.ux-foot-pay-label { color: #fff; font-size: 11.5px; font-weight: 600; letter-spacing: .26em; text-transform: uppercase; }
.ux-pay-list { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; }
.ux-pay-list li { background: #fff; color: #000; font-size: 11.5px; font-weight: 700; padding: 6px 10px; letter-spacing: .02em; }
.ux-foot-ssl { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; font-size: 13px; }
.ux-foot-ssl .ux-ico { width: 18px; height: 18px; }
.ux-foot-legal { background: #000; border-top: 1px solid var(--ux-line); font-size: 12px; color: #858585; }
.ux-foot-legal .ux-foot-wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; padding-top: 16px; padding-bottom: 16px; }
.ux-legal-links { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0 0 0 auto; padding: 0; }
@media (max-width: 1024px) {
  .ux-foot-grid { grid-template-columns: 1fr 1fr 1fr; }
  .ux-foot-brand, .ux-foot-contact { grid-column: 1 / -1; }
  .ux-foot-perks .ux-foot-wrap { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .ux-foot-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
  .ux-foot-perks .ux-foot-wrap { grid-template-columns: 1fr; gap: 16px; }
  .ux-foot-ssl, .ux-legal-links { margin-left: 0; }
}

/* ── Barra superior en rojo ── */
.ux-promo { background: #d0021b !important; color: #fff !important; border-bottom: 0 !important; font-weight: 600; }
.ux-promo span + span::before { opacity: .6; }

/* ── Ventana de newsletter ── */
.ux-nl[hidden] { display: none; }
.ux-nl { position: fixed; inset: 0; z-index: 99990; display: grid; place-items: center; padding: 16px; }
.ux-nl-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.72); opacity: 0; transition: opacity .3s; }
.ux-nl-box { position: relative; display: grid; grid-template-columns: 1fr 1.15fr; width: min(880px, 100%); max-height: calc(100vh - 32px); overflow: auto; background: #0b0b0b; border: 1px solid #2a2a2a; color: var(--ux-text); transform: translateY(16px) scale(.98); opacity: 0; transition: transform .35s ease, opacity .35s ease; }
.ux-nl.is-in .ux-nl-backdrop { opacity: 1; }
.ux-nl.is-in .ux-nl-box { transform: none; opacity: 1; }
html.ux-nl-open { overflow: hidden; }
.ux-nl-img { background: #141414 center/cover no-repeat; min-height: 420px; }
.ux-nl-body { padding: 46px 40px 34px; }
.ux-nl-body h2 { font-size: 30px; font-weight: 800; line-height: 1.05; text-transform: uppercase; color: #fff; margin: 12px 0 14px; }
.ux-nl-lead { color: #bdbdbd; margin: 0 0 22px; line-height: 1.55; }
.ux-nl-form input[type="email"] { width: 100%; height: 50px; padding: 0 14px !important; font-size: 15px; }
.ux-nl-form button[type="submit"] { width: 100%; height: 52px; margin-top: 12px; background: #fff !important; color: #000 !important; border: 0 !important; }
.ux-nl-form button[type="submit"]:disabled { opacity: .6; }
.ux-nl-check { display: flex; gap: 10px; align-items: flex-start; margin-top: 14px; font-size: 12.5px; line-height: 1.5; color: #9a9a9a; cursor: pointer; }
.ux-nl-check input { margin-top: 3px; accent-color: #fff; }
.ux-nl-check a, .ux-nl-legal a { color: #fff; }
.ux-nl-hp { position: absolute !important; left: -9999px !important; }
.ux-nl-msg { min-height: 20px; margin: 12px 0 0; font-size: 14px; }
.ux-nl-msg.ok { color: #7ddc8b; } .ux-nl-msg.err { color: #ff6b6b; }
.ux-nl-legal { margin: 18px 0 0; font-size: 11px; line-height: 1.5; color: #6f6f6f; }
.ux-nl-close { position: absolute; top: 10px; right: 12px; z-index: 2; width: 38px; height: 38px; background: transparent !important; border: 0 !important; color: #fff !important; font-size: 28px !important; line-height: 1; letter-spacing: 0; padding: 0 !important; box-shadow: none !important; }
@media (max-width: 700px) {
  .ux-nl-box { grid-template-columns: 1fr; }
  .ux-nl-img { min-height: 170px; }
  .ux-nl-body { padding: 26px 22px 24px; }
  .ux-nl-body h2 { font-size: 24px; }
}

/* ── Aviso de cookies (Complianz) ── */
.cmplz-cookiebanner { background: #0b0b0b !important; color: #d9d9d9 !important; border: 1px solid #2a2a2a !important; border-radius: 0 !important; box-shadow: 0 20px 60px rgba(0,0,0,.6) !important; font-family: inherit !important; }
.cmplz-cookiebanner .cmplz-title, .cmplz-cookiebanner .cmplz-header .cmplz-title { color: #fff !important; text-transform: uppercase; letter-spacing: .18em; font-size: 13px !important; font-weight: 600 !important; }
.cmplz-cookiebanner .cmplz-message, .cmplz-cookiebanner .cmplz-message * { color: #bdbdbd !important; font-size: 13.5px !important; }
.cmplz-cookiebanner a, .cmplz-cookiebanner .cmplz-link { color: #fff !important; }
.cmplz-cookiebanner .cmplz-btn { border-radius: 0 !important; text-transform: uppercase; letter-spacing: .14em; font-size: 12px !important; font-weight: 600 !important; height: 46px !important; }
.cmplz-cookiebanner .cmplz-btn.cmplz-accept { background: #fff !important; color: #000 !important; border: 1px solid #fff !important; }
.cmplz-cookiebanner .cmplz-btn.cmplz-deny, .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences, .cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences { background: transparent !important; color: #fff !important; border: 1px solid #555 !important; }
.cmplz-cookiebanner .cmplz-close { color: #fff !important; }
.cmplz-cookiebanner .cmplz-categories .cmplz-category { background: #141414 !important; }
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-title, .cmplz-cookiebanner .cmplz-always-active { color: #fff !important; }
#cmplz-manage-consent .cmplz-manage-consent { background: #0b0b0b !important; color: #fff !important; border: 1px solid #333 !important; }

/* ── Mi cuenta: acceso y registro ── */
.woocommerce-account .u-columns.col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.woocommerce-account .u-columns .u-column1, .woocommerce-account .u-columns .u-column2 { width: auto !important; float: none !important; padding: 34px; border: 1px solid var(--ux-line); background: var(--ux-surface); }
.woocommerce-account .u-columns h2 { font-size: 18px; letter-spacing: .14em; }
@media (max-width: 767px) { .woocommerce-account .u-columns.col2-set { grid-template-columns: 1fr; gap: 20px; } }

/* ── Selector de tema ── */
.ux-theme-btn { width: 38px; height: 38px; display: inline-grid; place-items: center; background: transparent !important; border: 1px solid var(--ux-line) !important; border-radius: 50% !important; color: var(--ux-fg, #fff) !important; padding: 0 !important; margin-right: 8px; box-shadow: none !important; cursor: pointer; transition: border-color .2s; }
.ux-theme-btn:hover { border-color: var(--ux-muted) !important; }
.ux-theme-btn svg { width: 18px; height: 18px; }
#mobile-header .ux-theme-btn { width: 34px; height: 34px; margin-right: 4px; }
.ux-theme-seg { display: inline-flex; align-items: center; gap: 0; border: 1px solid #333; }
.ux-theme-seg span { padding: 0 10px; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: #777; }
.ux-theme-seg button { background: transparent !important; color: #9a9a9a !important; border: 0 !important; border-left: 1px solid #333 !important; padding: 6px 12px !important; font-size: 11px !important; letter-spacing: .12em; height: auto; box-shadow: none !important; }
.ux-theme-seg button[aria-pressed="true"] { background: #fff !important; color: #000 !important; }
:root { --ux-fg: #ffffff; }

/* ── Tema claro ── */
html[data-theme="light"] {
  --ux-bg: #ffffff; --ux-surface: #f4f4f4; --ux-surface-2: #f2f2f2; --ux-line: #e4e4e4;
  --ux-text: #1a1a1a; --ux-muted: #6b6b6b; --ux-accent: #0b0b0b; --ux-on-accent: #ffffff; --ux-sale: #d0021b; --ux-fg: #0b0b0b;
  --global-palette1: #0b0b0b; --global-palette2: #333333; --global-palette3: #0b0b0b; --global-palette4: #1a1a1a;
  --global-palette5: #4d4d4d; --global-palette6: #6b6b6b; --global-palette7: #e6e6e6; --global-palette8: #ffffff; --global-palette9: #ffffff;
  color-scheme: light;
}
html[data-theme="dark"] { color-scheme: dark; }
html[data-theme="light"] ::selection { background: #0b0b0b; color: #fff; }
html[data-theme="light"] .custom-logo { filter: none; }
html[data-theme="light"] .site-branding .site-title,
html[data-theme="light"] .secondary-navigation .menu > li > a,
html[data-theme="light"] .header-button-wrap .button.header-button,
html[data-theme="light"] .header-cart-wrap .header-cart-button, html[data-theme="light"] .header-mobile-cart-wrap .header-cart-button,
html[data-theme="light"] .menu-toggle-open, html[data-theme="light"] .drawer-toggle,
html[data-theme="light"] .mobile-navigation ul li > a,
html[data-theme="light"] .ux-search button, html[data-theme="light"] .ux-search input[type="search"] { color: #0b0b0b !important; }
html[data-theme="light"] .secondary-navigation .menu > li:nth-child(2) > a { color: var(--ux-sale) !important; }
html[data-theme="light"] .secondary-navigation .menu > li > a:hover, html[data-theme="light"] .secondary-navigation .menu > li.current-menu-item > a { border-bottom-color: #0b0b0b; }
html[data-theme="light"] .main-navigation .primary-menu-container > ul > li.menu-item > a { color: #3a3a3a !important; }
html[data-theme="light"] .main-navigation .primary-menu-container > ul > li.menu-item > a:hover { color: #000 !important; }
html[data-theme="light"] .ux-search input[type="search"]::placeholder { color: #7a7a7a; }
html[data-theme="light"] .header-cart-button .header-cart-total { background: #0b0b0b !important; color: #fff !important; }
html[data-theme="light"] .wp-block-button__link:hover, html[data-theme="light"] .woocommerce a.button:hover, html[data-theme="light"] .woocommerce button.button:hover, html[data-theme="light"] .single_add_to_cart_button:hover { background: #333 !important; border-color: #333 !important; }
html[data-theme="light"] .ux-hero .wp-block-button__link:not(.is-style-outline .wp-block-button__link) { background: #fff !important; color: #000 !important; border-color: #fff !important; }
html[data-theme="light"] input[type="text"], html[data-theme="light"] input[type="email"], html[data-theme="light"] input[type="tel"], html[data-theme="light"] input[type="number"], html[data-theme="light"] input[type="password"], html[data-theme="light"] textarea, html[data-theme="light"] select, html[data-theme="light"] .quantity .qty { border-color: #cfcfcf !important; background: #fff !important; }
html[data-theme="light"] .woocommerce ul.products li.product .woocommerce-loop-product__title,
html[data-theme="light"] .woocommerce ul.products li.product .price,
html[data-theme="light"] .woocommerce ul.products li.product-category .woocommerce-loop-category__title,
html[data-theme="light"] .ux-home h2.wp-block-heading,
html[data-theme="light"] .single-product div.product .product_title,
html[data-theme="light"] .single-product div.product p.price,
html[data-theme="light"] .single-product div.product form.cart .variations th.label, html[data-theme="light"] .single-product .variations label,
html[data-theme="light"] .woocommerce .primary-sidebar .widget-title,
html[data-theme="light"] .ux-trust-mini a, html[data-theme="light"] .ux-trust-mini li::before,
html[data-theme="light"] .entry-content a, html[data-theme="light"] .entry-content table thead th { color: #0b0b0b !important; }
html[data-theme="light"] .woocommerce .primary-sidebar .widget ul li a, html[data-theme="light"] .ux-trust-mini, html[data-theme="light"] .entry-content { color: #3a3a3a; }
html[data-theme="light"] .woocommerce .widget_price_filter .ui-slider .ui-slider-range, html[data-theme="light"] .woocommerce .widget_price_filter .ui-slider .ui-slider-handle { background: #0b0b0b; }
html[data-theme="light"] .woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content { background: #ddd; }
html[data-theme="light"] .woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item) { background: #fff !important; color: #0b0b0b !important; box-shadow: 0 0 0 1px #cfcfcf !important; }
html[data-theme="light"] .woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).selected { box-shadow: 0 0 0 2px #0b0b0b !important; }
html[data-theme="light"] .ux-foot-perks { background: #f4f4f4; color: #0b0b0b; border-top: 1px solid #e4e4e4; }
html[data-theme="light"] .woocommerce ul.products li.product .ux-brand, html[data-theme="light"] .single-product div.product .ux-brand-single { color: #6b6b6b; }
html[data-theme="light"] .ux-hero .is-style-outline .wp-block-button__link { background: transparent !important; color: #fff !important; border-color: #fff !important; }
html[data-theme="light"] .ux-hero .is-style-outline .wp-block-button__link:hover { background: #fff !important; color: #000 !important; }

/* ── Barra de envío gratis ── */
.ux-freeship { margin: 0 0 16px; padding: 14px 16px; background: var(--ux-surface); border: 1px solid var(--ux-line); }
.ux-freeship p { margin: 0 0 9px; font-size: 13.5px; }
.ux-freeship-bar { height: 4px; background: var(--ux-line); overflow: hidden; }
.ux-freeship-bar span { display: block; height: 100%; background: var(--ux-fg); transition: width .5s ease; }
.ux-freeship.is-done .ux-freeship-bar span { background: #2fbf55; }
.ux-freeship-live { max-width: 1400px; margin: 0 auto; }

/* ── Tarjeta: talla rápida y favoritos ── */
.woocommerce ul.products li.product { position: relative; }
.ux-card-over { position: absolute; left: 0; right: 0; top: 0; aspect-ratio: 4 / 5; pointer-events: none; z-index: 3; }
.ux-fav { pointer-events: auto; position: absolute; top: 10px; right: 10px; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50% !important; background: rgba(11,11,11,.55) !important; border: 0 !important; padding: 0 !important; color: #fff !important; box-shadow: none !important; cursor: pointer; transition: transform .15s; }
.ux-fav:hover { transform: scale(1.08); }
.ux-fav svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.ux-fav.is-on svg { fill: var(--ux-sale); stroke: var(--ux-sale); }
.ux-fav-single { position: static; margin-left: 10px; width: 54px; height: 54px; border-radius: 0 !important; background: transparent !important; border: 1px solid var(--ux-line) !important; color: var(--ux-fg) !important; vertical-align: top; }
.ux-qs { pointer-events: auto; position: absolute; left: 10px; right: 10px; bottom: 10px; background: rgba(11,11,11,.92); border: 1px solid #2a2a2a; padding: 10px; opacity: 0; transform: translateY(8px); transition: opacity .2s, transform .2s; }
.ux-qs p { margin: 0 0 8px; font-size: 10.5px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: #bdbdbd; }
.ux-qs-sizes { display: flex; flex-wrap: wrap; gap: 6px; }
.ux-qs-size { flex: 1 0 34px; height: 34px; padding: 0 6px !important; background: transparent !important; color: #fff !important; border: 1px solid #444 !important; border-radius: 0 !important; font-size: 12px !important; letter-spacing: .04em !important; box-shadow: none !important; cursor: pointer; }
.ux-qs-size:hover { background: #fff !important; color: #000 !important; border-color: #fff !important; }
.ux-qs-size.is-loading { opacity: .5; }
.ux-qs-size.is-added { background: #2fbf55 !important; border-color: #2fbf55 !important; color: #fff !important; }
@media (hover: hover) { .woocommerce ul.products li.product:hover .ux-qs, .woocommerce ul.products li.product:focus-within .ux-qs { opacity: 1; transform: none; } }
@media (hover: none) { .ux-qs { display: none; } }
.woocommerce ul.products.woo-archive-action-on-hover li.product .product-action-wrap { display: none; }

/* Corazón de la cabecera */
.ux-favs-link { position: relative; display: inline-grid; place-items: center; width: 38px; height: 38px; margin-right: 6px; color: var(--ux-fg) !important; }
.ux-favs-link svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.ux-favs-count { position: absolute; top: 2px; right: 0; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 9px; background: var(--ux-sale); color: #fff; font-size: 10.5px; font-weight: 700; line-height: 17px; text-align: center; }
.ux-favs-link-m { width: 32px; height: 32px; margin-right: 0; }

/* Página de favoritos */
.ux-favs-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.ux-favs-grid li { position: relative; }
.ux-favs-grid a { color: var(--ux-text); text-decoration: none; display: block; }
.ux-favs-grid img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; background: var(--ux-surface); margin-bottom: 10px; }
.ux-favs-grid .ux-brand { display: block; font-size: 10.5px; font-weight: 600; letter-spacing: var(--ux-track); text-transform: uppercase; color: var(--ux-muted); }
.ux-favs-grid .t { display: block; font-size: 14px; font-weight: 500; margin: 4px 0; }
.ux-favs-grid .p { font-size: 14px; font-weight: 600; }
.ux-favs-grid .p ins { color: var(--ux-sale); text-decoration: none; }
.ux-favs-empty { font-size: 16px; padding: 40px 0; }
@media (max-width: 900px) { .ux-favs-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; } }

/* Guía de tallas emergente */
.ux-modal[hidden] { display: none; }
.ux-modal { position: fixed; inset: 0; z-index: 99991; display: grid; place-items: center; padding: 16px; }
.ux-modal-bg { position: absolute; inset: 0; background: rgba(0,0,0,.72); }
.ux-modal-box { position: relative; width: min(760px, 100%); max-height: calc(100vh - 32px); overflow: auto; background: var(--ux-bg); border: 1px solid var(--ux-line); padding: 36px 32px; }
.ux-modal-box h2 { font-size: 22px; margin: 0 0 16px; letter-spacing: .1em; }
.ux-modal-x { position: absolute; top: 8px; right: 10px; width: 38px; height: 38px; background: transparent !important; border: 0 !important; color: var(--ux-fg) !important; font-size: 28px !important; padding: 0 !important; box-shadow: none !important; }

/* Últimas unidades */
.stock.ux-low-stock { color: var(--ux-sale) !important; font-weight: 600; }
.single-product .stock.in-stock { font-size: 13px; letter-spacing: .04em; }

/* 404 */
.ux-404 { max-width: 1400px; margin: 0 auto; padding: 80px clamp(16px, 2.5vw, 40px) 40px; }
.ux-404 h1 { font-size: clamp(40px, 7vw, 92px); font-weight: 800; line-height: .98; margin: 14px 0 18px; }
.ux-404-lead { max-width: 52ch; color: var(--ux-muted); margin-bottom: 26px; }
.ux-404-search { max-width: 480px; margin-bottom: 20px; }
.ux-404-btns { display: flex; gap: 12px; margin-bottom: 70px; }
.ux-404 .ux-404-btns .is-style-outline .wp-block-button__link { color: var(--ux-fg) !important; border-color: var(--ux-fg) !important; }
.ux-404-h { font-size: 22px; letter-spacing: .1em; margin-bottom: 22px; }

/* WhatsApp */
.ux-wa { position: fixed; right: 18px; bottom: 18px; z-index: 9990; width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center; background: #25d366; color: #fff !important; box-shadow: 0 8px 24px rgba(0,0,0,.35); }
.ux-wa svg { width: 30px; height: 30px; }
/* Tarjetas: sin la animación de Kadence y el panel sobre la foto */
.woocommerce ul.products li.product .product-details { position: static !important; transform: none !important; }
.woocommerce ul.products.woo-archive-action-on-hover li.product:hover .product-details, .woocommerce ul.products.woo-archive-action-on-hover li.product:focus-within .product-details { transform: none !important; }
.woocommerce ul.products.woo-archive-action-on-hover li.product .product-details .product-action-wrap { display: none !important; }
.woocommerce ul.products li.product .woo-archive-image-wrap, .woocommerce ul.products li.product a.woocommerce-loop-image-link { transform: none !important; }
.ux-qs .added_to_cart, .ux-card-over .added_to_cart { display: none !important; }

/* ── Ficha de producto tipo configurador ── */
.ux-combo { margin: -4px 0 18px; font-size: 13.5px; color: var(--ux-muted); }
.ux-combo strong { color: var(--ux-fg); font-weight: 600; }
.ux-hide-row { display: none !important; }
.ux-tiles { margin: 0 0 18px; }
.ux-tiles-t, .single-product div.product form.cart .variations th.label { font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--ux-fg); margin: 0 0 10px; }
.ux-tiles-row { display: grid; grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); gap: 10px; }
.ux-tile { display: flex; flex-direction: column; gap: 6px; padding: 6px !important; background: var(--ux-surface) !important; border: 1px solid var(--ux-line) !important; border-radius: 0 !important; color: var(--ux-text) !important; text-transform: none !important; letter-spacing: 0 !important; font-size: 12px !important; font-weight: 500 !important; box-shadow: none !important; cursor: pointer; text-align: center; transition: border-color .15s; }
.ux-tile img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block; }
.ux-tile:hover { border-color: var(--ux-muted) !important; }
.ux-tile.is-on { border-color: var(--ux-fg) !important; box-shadow: 0 0 0 1px var(--ux-fg) !important; }
.ux-tile.is-out { opacity: .4; cursor: not-allowed; }
.single-product form.cart .variations { margin-bottom: 8px; }

.ux-bt { margin: 28px 0 0; padding: 20px; border: 1px solid var(--ux-line); background: var(--ux-surface); }
.ux-bt h3 { font-size: 13px !important; letter-spacing: .24em; margin: 0 0 14px; color: var(--ux-fg); }
.ux-bt-list { display: flex; flex-direction: column; gap: 6px; }
.ux-bt-item { display: grid; grid-template-columns: 22px 64px 1fr; gap: 12px; align-items: center; transition: opacity .2s; }
.ux-bt-item.is-off { opacity: .45; }
.ux-bt-check input { position: absolute; opacity: 0; }
.ux-bt-check span { display: block; width: 20px; height: 20px; border: 1px solid #555; position: relative; cursor: pointer; }
.ux-bt-check input:checked + span { background: var(--ux-fg); border-color: var(--ux-fg); }
.ux-bt-check input:checked + span::after { content: ""; position: absolute; left: 6px; top: 2px; width: 5px; height: 10px; border: solid var(--ux-bg); border-width: 0 2px 2px 0; transform: rotate(45deg); }
.ux-bt-check input:disabled + span { cursor: default; }
.ux-bt-img img { width: 64px; aspect-ratio: 4 / 5; object-fit: cover; display: block; background: var(--ux-bg); }
.ux-bt-info { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ux-bt-name { font-size: 13.5px; font-weight: 600; color: var(--ux-fg) !important; text-decoration: none !important; }
.ux-bt-sel { font-size: 12px; color: var(--ux-muted); }
.ux-bt-selects { display: flex; gap: 6px; }
.ux-bt-selects select { height: 32px !important; padding: 0 8px !important; font-size: 12px !important; min-width: 0; flex: 1; }
.ux-bt-price { font-size: 13px; font-weight: 600; color: var(--ux-text); }
.ux-bt-plus { text-align: left; padding-left: 4px; font-size: 18px; color: var(--ux-muted); line-height: 1; }
.ux-bt-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--ux-line); }
.ux-bt-total { display: flex; align-items: baseline; gap: 10px; }
.ux-bt-total del { color: var(--ux-muted); font-size: 14px; }
.ux-bt-total strong { font-size: 20px; color: var(--ux-fg); }
.ux-bt-badge { background: var(--ux-sale); color: #fff; font-size: 11px; font-weight: 700; padding: 4px 7px; }
.ux-bt-add { height: 46px; padding: 0 20px !important; background: var(--ux-accent) !important; color: var(--ux-on-accent) !important; border: 0 !important; }
.ux-bt-msg { margin: 10px 0 0; font-size: 13px; min-height: 18px; }
.ux-bt-msg.ok { color: #2fbf55; } .ux-bt-msg.err { color: var(--ux-sale); }

.ux-acc { margin-top: 28px; border-top: 1px solid var(--ux-line); }
.ux-acc details { border-bottom: 1px solid var(--ux-line); }
.ux-acc summary { list-style: none; cursor: pointer; padding: 18px 34px 18px 0; position: relative; font-size: 12.5px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--ux-fg); }
.ux-acc summary::-webkit-details-marker { display: none; }
.ux-acc summary::after { content: "+"; position: absolute; right: 4px; top: 50%; transform: translateY(-50%); font-size: 22px; font-weight: 300; letter-spacing: 0; transition: transform .2s; }
.ux-acc details[open] summary::after { content: "–"; }
.ux-acc-body { padding: 0 0 20px; font-size: 14px; line-height: 1.65; color: var(--ux-text); }
.ux-acc-body h2, .ux-acc-body h3 { font-size: 14px !important; letter-spacing: .1em; margin: 14px 0 8px; }
.ux-acc-body ul { margin: 0 0 12px 18px; }
.ux-acc-body table { width: 100%; border-collapse: collapse; font-size: 13px; margin: 8px 0 12px; }
.ux-acc-body th, .ux-acc-body td { border: 1px solid var(--ux-line); padding: 7px 10px; text-align: left; }
.ux-acc-body th { background: var(--ux-bg); color: var(--ux-fg); }
.ux-acc-body a { color: var(--ux-fg); }
.ux-acc #reviews .comment-form textarea { min-height: 110px; }

/* ── Personalizador ── */
.ux-custom-product div.product .woocommerce-product-gallery { display: none !important; }
.ux-custom-product div.product .ux-ed { float: left; width: 48%; margin-bottom: 40px; }
@media (max-width: 1024px) { .ux-custom-product div.product .ux-ed { float: none; width: 100%; } }
.ux-ed { display: flex; flex-direction: column; gap: 18px; }
.ux-ed-stage { background: var(--ux-surface); border: 1px solid var(--ux-line); padding: 14px; }
.ux-ed-views { display: flex; gap: 6px; margin-bottom: 12px; }
.ux-ed-views button, .ux-ed-areas button, .ux-ed-tool-row button, .ux-ed-addtext { background: transparent !important; color: var(--ux-fg) !important; border: 1px solid var(--ux-line) !important; border-radius: 0 !important; padding: 8px 14px !important; font-size: 11.5px !important; letter-spacing: .14em; box-shadow: none !important; height: auto; }
.ux-ed-views button.is-on, .ux-ed-areas button.is-on { background: var(--ux-fg) !important; color: var(--ux-bg) !important; border-color: var(--ux-fg) !important; }
.ux-ed-areas button i { font-style: normal; color: #2fbf55; }
.ux-ed-areas button.is-on i { color: inherit; }
.ux-ed-canvas-wrap { width: 100%; max-width: 500px; margin: 0 auto; aspect-ratio: 4 / 5; }
.ux-ed-canvas-wrap .canvas-container, .ux-ed-canvas-wrap canvas { width: 100% !important; height: 100% !important; }
.ux-ed-hint { margin: 10px 0 0; text-align: center; font-size: 12px; color: var(--ux-muted); }
.ux-ed-panel { border: 1px solid var(--ux-line); padding: 18px; }
.ux-ed-step { margin: 0 0 10px; font-size: 11.5px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--ux-fg); }
.ux-ed-areas { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 20px; }
.ux-ed-upload { display: block; cursor: pointer; }
.ux-ed-upload input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ux-ed-upload span { display: block; text-align: center; padding: 16px; border: 1px dashed #666; font-size: 12.5px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--ux-fg); }
.ux-ed-upload:hover span { border-color: var(--ux-fg); }
.ux-ed-note { font-size: 12px; color: var(--ux-muted); margin: 6px 0 14px; }
.ux-ed-text { display: grid; grid-template-columns: 1fr auto 44px; gap: 6px; }
.ux-ed-text input[type="text"] { grid-column: 1 / -1; height: 44px; padding: 0 12px !important; }
.ux-ed-text select { height: 40px !important; padding: 0 8px !important; font-size: 13px !important; }
.ux-ed-text input[type="color"], .ux-ed-tool-row input[type="color"] { width: 44px; height: 40px; padding: 2px !important; cursor: pointer; }
.ux-ed-addtext { grid-column: 1 / -1; background: var(--ux-accent) !important; color: var(--ux-on-accent) !important; height: 44px; }
.ux-ed-tools { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--ux-line); }
.ux-ed-tools[hidden] { display: none; }
.ux-ed-tool-row { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-bottom: 8px; font-size: 13px; }
.ux-ed-tool-row label { display: flex; gap: 8px; align-items: center; }
.ux-ed-del { border-color: var(--ux-sale) !important; color: var(--ux-sale) !important; }
.ux-ed-sum { margin-top: 18px; padding: 12px 14px; background: var(--ux-surface); font-size: 13.5px; line-height: 1.6; }
.ux-ed-msg { margin: 10px 0 0; min-height: 18px; font-size: 13px; color: #2fbf55; }
.ux-ed-msg.err { color: var(--ux-sale); }

/* Personalizador: elementos, 3D */
.ux-ed-3d { display: block; margin: 10px auto 0; background: transparent !important; color: var(--ux-fg) !important; border: 1px solid var(--ux-fg) !important; padding: 9px 18px !important; font-size: 11.5px !important; letter-spacing: .18em; box-shadow: none !important; }
.ux-ed-layers { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--ux-line); }
.ux-ed-layers[hidden] { display: none; }
.ux-ed-layers ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.ux-ed-layers li { display: grid; grid-template-columns: 44px 1fr; gap: 10px; align-items: center; padding: 8px; background: var(--ux-surface); border: 1px solid var(--ux-line); }
.ux-ly-thumb { width: 44px; height: 44px; display: grid; place-items: center; background: #d9d9d9; overflow: hidden; }
.ux-ly-thumb img { max-width: 40px; max-height: 40px; }
.ux-ly-thumb b { color: #111; font-size: 20px; }
.ux-ly-name { font-size: 13px; font-weight: 600; color: var(--ux-fg); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ux-ly-name small { display: block; font-weight: 400; color: var(--ux-muted); font-size: 11.5px; }
.ux-ly-act { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 6px; }
.ux-ly-act button { background: transparent !important; color: var(--ux-fg) !important; border: 1px solid var(--ux-line) !important; padding: 6px 10px !important; font-size: 10.5px !important; letter-spacing: .12em; box-shadow: none !important; height: auto; }
.ux-ly-act .ux-ly-del { color: var(--ux-sale) !important; border-color: var(--ux-sale) !important; }
.ux-3d { position: fixed; inset: 0; z-index: 99995; display: grid; place-items: center; padding: 16px; }
.ux-3d-bg { position: absolute; inset: 0; background: rgba(0,0,0,.82); }
.ux-3d-box { position: relative; width: min(620px, 100%); background: radial-gradient(ellipse at 50% 40%, #3a3a3a, #0b0b0b 70%); border: 1px solid #2a2a2a; padding: 28px 20px 18px; text-align: center; color: #cfcfcf; }
.ux-3d-x { position: absolute; top: 6px; right: 10px; background: transparent !important; border: 0 !important; color: #fff !important; font-size: 30px !important; padding: 0 !important; box-shadow: none !important; }
.ux-3d-scene { perspective: 1100px; height: min(70vh, 560px); display: grid; place-items: center; cursor: grab; touch-action: none; position: relative; }
.ux-3d-scene:active { cursor: grabbing; }
.ux-3d-card { position: relative; width: min(420px, 80vw); aspect-ratio: 4 / 5; transform-style: preserve-3d; }
.ux-3d-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.ux-3d-f { transform: translateZ(1px); }
.ux-3d-b { transform: rotateY(180deg) translateZ(1px); }
.ux-3d-floor { position: absolute; bottom: 4%; left: 25%; right: 25%; height: 26px; border-radius: 50%; background: radial-gradient(ellipse, rgba(0,0,0,.6), transparent 70%); }
.ux-3d-box p { margin: 10px 0 0; font-size: 12.5px; letter-spacing: .08em; }
.ux-3d-auto { background: transparent !important; border: 0 !important; color: #fff !important; text-decoration: underline; padding: 0 !important; font-size: 12.5px !important; letter-spacing: .08em; box-shadow: none !important; text-transform: none !important; }

/* Redes en la fila de pagos (centradas) */
.ux-foot-pay .ux-foot-social { margin: 0 auto; display: flex; gap: 10px; }
.ux-foot-pay .ux-foot-social a, .ux-foot-pay .ux-foot-social span { width: 38px; height: 38px; border-radius: 50%; border: 1px solid #3a3a3a; display: grid; place-items: center; color: #fff; }
.ux-foot-pay .ux-foot-social span { opacity: .55; }
.ux-foot-pay .ux-foot-social a:hover { background: #fff; color: #000; text-decoration: none; }
.ux-foot-pay .ux-foot-social .ux-ico { width: 19px; height: 19px; }
.ux-foot-pay .ux-foot-ssl { margin-left: 0; }
@media (max-width: 900px) { .ux-foot-pay .ux-foot-social { margin: 4px 0; order: 3; width: 100%; } }

/* ── Chat ── */
.ux-chat { position: fixed; right: 18px; bottom: 18px; z-index: 9992; font-size: 14px; }
.ux-chat-fab { width: 58px; height: 58px; border-radius: 50% !important; background: #fff !important; color: #000 !important; border: 0 !important; padding: 0 !important; display: grid; place-items: center; box-shadow: 0 10px 30px rgba(0,0,0,.45) !important; cursor: pointer; }
html[data-theme="light"] .ux-chat-fab { background: #0b0b0b !important; color: #fff !important; }
.ux-chat-fab svg { width: 26px; height: 26px; }
.ux-chat-fab .i-close, .ux-chat.is-open .ux-chat-fab .i-open { display: none; }
.ux-chat.is-open .ux-chat-fab .i-close { display: block; }
.ux-chat-panel { position: absolute; right: 0; bottom: 72px; width: min(380px, calc(100vw - 36px)); height: min(560px, calc(100vh - 120px)); display: flex; flex-direction: column; background: var(--ux-bg); border: 1px solid var(--ux-line); box-shadow: 0 20px 60px rgba(0,0,0,.55); }
.ux-chat-panel[hidden] { display: none; }
.ux-chat-panel header { padding: 16px 18px; background: #000; color: #fff; border-bottom: 1px solid #222; }
.ux-chat-panel header strong { display: block; letter-spacing: .22em; text-transform: uppercase; font-size: 13px; }
.ux-chat-panel header span { font-size: 11.5px; color: #a9a9a9; }
.ux-chat-panel header i { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #2fbf55; margin-right: 4px; }
.ux-chat-log { flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 10px; }
.ux-msg { max-width: 86%; padding: 10px 13px; line-height: 1.5; font-size: 13.5px; }
.ux-msg.bot { background: var(--ux-surface); border: 1px solid var(--ux-line); color: var(--ux-text); align-self: flex-start; }
.ux-msg.me { background: var(--ux-fg); color: var(--ux-bg); align-self: flex-end; }
.ux-msg a { color: inherit; text-decoration: underline; }
.ux-chat-chips { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 16px 10px; }
.ux-chat-chips button { background: transparent !important; color: var(--ux-fg) !important; border: 1px solid var(--ux-line) !important; border-radius: 999px !important; padding: 7px 12px !important; font-size: 12px !important; letter-spacing: .02em !important; text-transform: none !important; font-weight: 500 !important; box-shadow: none !important; height: auto; }
.ux-chat-chips button:hover { border-color: var(--ux-fg) !important; }
.ux-chat-input { display: flex; border-top: 1px solid var(--ux-line); }
.ux-chat-input input { flex: 1; border: 0 !important; height: 50px; padding: 0 14px !important; background: transparent !important; }
.ux-chat-input button { width: 50px; background: transparent !important; color: var(--ux-fg) !important; border: 0 !important; padding: 0 !important; box-shadow: none !important; }
.ux-chat-input button svg { width: 20px; height: 20px; }
.ux-chat-form { display: flex; flex-direction: column; gap: 6px; padding: 10px; background: var(--ux-surface); border: 1px solid var(--ux-line); }
.ux-chat-form input, .ux-chat-form textarea { height: 38px; padding: 0 10px !important; font-size: 13px !important; }
.ux-chat-form textarea { height: auto; padding: 8px 10px !important; }
.ux-chat-form label { font-size: 12px; color: var(--ux-muted); display: flex; gap: 6px; align-items: center; }
.ux-chat-form label a { color: var(--ux-fg); }
.ux-chat-form button { height: 42px; }
.ux-chat-err { margin: 0; color: var(--ux-sale); font-size: 12.5px; min-height: 0; }
.ux-hp { position: absolute !important; left: -9999px !important; }
.ux-wa { display: none !important; } /* el WhatsApp va dentro del chat */
@media (max-width: 600px) { .ux-chat { right: 12px; bottom: 12px; } }
/* Personalizador: capas ocultas, posiciones rápidas y etiqueta del 3D */
.ux-ed-layers li.is-hidden .ux-ly-thumb, .ux-ed-layers li.is-hidden .ux-ly-name { opacity: .4; }
.ux-ly-eye[aria-pressed="true"] { background: var(--ux-fg) !important; color: var(--ux-bg) !important; }
.ux-ed-presets span { font-size: 12px; color: var(--ux-muted); margin-right: 4px; }
.ux-3d-side { position: absolute; top: 4px; left: 50%; transform: translateX(-50%); padding: 6px 14px; background: #fff; color: #000; font-size: 12px; font-weight: 700; letter-spacing: .28em; text-transform: uppercase; pointer-events: none; }
.ux-3d-side.is-back { background: var(--ux-sale); color: #fff; }
.ux-3d-go { background: transparent !important; border: 0 !important; color: #fff !important; text-decoration: underline; padding: 0 !important; font-size: 12.5px !important; letter-spacing: .08em; box-shadow: none !important; text-transform: none !important; }
.ux-ed-stage-btns { display: flex; justify-content: center; gap: 8px; margin-top: 10px; }
.ux-ed-stage-btns .ux-ed-3d { margin: 0; }
.ux-ed-ruler { background: transparent !important; color: var(--ux-fg) !important; border: 1px solid var(--ux-line) !important; padding: 9px 16px !important; font-size: 11.5px !important; letter-spacing: .18em; box-shadow: none !important; }
.ux-ed-measure { margin: 10px 0 0; text-align: center; font-size: 12.5px; color: var(--ux-text); min-height: 18px; }
.ux-ed-measure b { color: #4ea8ff; }
/* Visor 3D real */
.ux-3d-gl { height: min(68vh, 560px); cursor: grab; }
.ux-3d-gl:active { cursor: grabbing; }
.ux-3d-gl canvas { display: block; width: 100% !important; height: 100% !important; }
.ux-3d-box > .ux-3d-side { top: 14px; }
.ux-3d-box p .ux-3d-go { margin: 2px 0; }
.ux-3d-x { z-index: 6; } .ux-3d-box > p { position: relative; z-index: 5; }
