/*
Theme Name: Blitz
Theme URI: https://blitz.cl
Description: Tienda BLITZ by MiFoto Gift — carcasas y powerbanks magnéticos. Tema hijo de Storefront con identidad Blitz.
Author: ForSend
Template: storefront
Version: 1.1.0
Text Domain: blitz
*/

:root {
	--blitz-coral: #ED746F;
	--blitz-coral-dark: #D95A55;
	--blitz-ink: #17110F;
	--blitz-ink-soft: #5b514c;
	--blitz-bg: #ffffff;
	--blitz-soft: #F7EFEC;
	--blitz-soft-2: #FBE6E3;
	--blitz-line: #ECE2DE;
}

body, .site { background:#fff; color:var(--blitz-ink); font-family:"Inter",-apple-system,"Segoe UI",system-ui,sans-serif; }
a { color:var(--blitz-coral-dark); }
h1,h2,h3,.blitz-h2 { font-family:"Archivo","Inter",sans-serif; }

/* ---------- Header ---------- */
.site-header { background:#fff; border-bottom:1px solid var(--blitz-line); padding:1.1em 0; }
.site-branding .site-title, .site-branding .site-title a {
	font-family:"Archivo",sans-serif; font-weight:900; letter-spacing:.16em;
	color:var(--blitz-ink); text-transform:uppercase; font-size:1.6rem;
}
.blitz-bolt { color:var(--blitz-coral); }
.main-navigation ul li a { color:var(--blitz-ink); font-weight:700; text-transform:uppercase; letter-spacing:.04em; font-size:.86rem; }
.main-navigation ul li a:hover { color:var(--blitz-coral-dark); }
.site-header-cart .cart-contents { color:var(--blitz-ink); font-weight:600; }

/* ---------- Buttons (globales) ---------- */
.blitz-btn, button.button, input.button, .button, a.button,
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit.alt, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.woocommerce ul.products li.product .button {
	background:var(--blitz-coral); color:#fff !important; border:none; border-radius:999px;
	font-weight:800; letter-spacing:.02em; padding:.82em 1.8em; display:inline-block; text-decoration:none;
	transition:transform .12s ease, background .15s ease;
}
.blitz-btn:hover, .button:hover, a.button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce ul.products li.product .button:hover { background:var(--blitz-coral-dark); color:#fff !important; transform:translateY(-2px); }
.blitz-btn--ghost { background:transparent; color:var(--blitz-ink) !important; border:2px solid var(--blitz-ink); padding:calc(.82em - 2px) calc(1.8em - 2px); }
.blitz-btn--ghost:hover { background:var(--blitz-ink); color:#fff !important; }

/* ---------- Layout home ---------- */
.blitz-home { max-width:1180px; margin:0 auto; padding:0 22px 40px; }
.blitz-block { margin:0 0 66px; }
.blitz-h2 { font-weight:800; font-size:clamp(1.5rem,3.4vw,2.1rem); text-align:center; margin:0 0 30px; letter-spacing:-.01em; }
.blitz-center { text-align:center; margin-top:34px; }

/* ---------- Hero ---------- */
.blitz-hero {
	background:radial-gradient(120% 140% at 12% 0%, var(--blitz-soft-2) 0%, var(--blitz-soft) 42%, #fff 100%);
	border-radius:26px; margin:26px 0 20px; padding:clamp(46px,7vw,86px) clamp(26px,6vw,72px);
	position:relative; overflow:hidden;
}
.blitz-hero::after {
	content:"⚡"; position:absolute; right:-10px; bottom:-40px; font-size:clamp(180px,26vw,340px);
	line-height:1; opacity:.08; transform:rotate(-8deg); pointer-events:none;
}
.blitz-hero__inner { position:relative; max-width:min(640px,100%); }
.blitz-hero__eyebrow { font-family:"Archivo",sans-serif; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:var(--blitz-coral-dark); font-size:.82rem; margin:0 0 16px; }
.blitz-hero__title { font-weight:900; font-size:clamp(2.4rem,6vw,4.2rem); line-height:.98; letter-spacing:-.025em; color:var(--blitz-ink); margin:0 0 20px; word-break:normal; overflow-wrap:normal; }
.blitz-hero__title span { color:var(--blitz-coral); }
.blitz-hero__sub { font-size:1.16rem; color:var(--blitz-ink-soft); margin:0 0 30px; max-width:44ch; }
.blitz-hero__actions { display:flex; gap:14px; flex-wrap:wrap; }

/* ---------- Features ---------- */
.blitz-features { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin:0 0 62px; }
.blitz-feature { background:#fff; border:1px solid var(--blitz-line); border-radius:16px; padding:22px 18px; text-align:center; display:flex; flex-direction:column; gap:3px; }
.blitz-feature span { font-size:1.7rem; }
.blitz-feature strong { font-family:"Archivo",sans-serif; font-weight:800; font-size:1rem; margin-top:4px; }
.blitz-feature small { color:var(--blitz-ink-soft); font-size:.85rem; }

/* ---------- Category cards ---------- */
.blitz-cats { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.blitz-cat { display:flex; flex-direction:column; background:#fff; border:1px solid var(--blitz-line); border-radius:20px; overflow:hidden; text-decoration:none; transition:transform .18s ease, box-shadow .18s ease; }
.blitz-cat:hover { transform:translateY(-5px); box-shadow:0 18px 40px rgba(23,17,15,.12); border-color:var(--blitz-soft-2); }
.blitz-cat__media { display:block; aspect-ratio:1/1; background:var(--blitz-soft); display:flex; align-items:center; justify-content:center; }
.blitz-cat__media img { width:88%; height:88%; object-fit:contain; mix-blend-mode:multiply; }
.blitz-cat__foot { display:flex; align-items:center; gap:4px; padding:18px 20px; }
.blitz-cat__label { font-family:"Archivo",sans-serif; font-weight:800; font-size:1.25rem; color:var(--blitz-ink); }
.blitz-cat__desc { color:var(--blitz-ink-soft); font-size:.86rem; margin-left:auto; }
.blitz-cat__arrow { color:var(--blitz-coral); font-weight:800; font-size:1.2rem; margin-left:10px; transition:transform .15s ease; }
.blitz-cat:hover .blitz-cat__arrow { transform:translateX(4px); }

/* ---------- Callout ---------- */
.blitz-callout { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:30px; background:var(--blitz-ink); border-radius:24px; padding:clamp(30px,4vw,52px); margin:0 0 66px; overflow:hidden; }
.blitz-callout__eyebrow { font-family:"Archivo",sans-serif; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:var(--blitz-coral); font-size:.8rem; margin:0 0 10px; }
.blitz-callout h2 { color:#fff; font-weight:900; font-size:clamp(1.5rem,3.2vw,2.2rem); line-height:1.05; margin:0 0 12px; }
.blitz-callout p { color:#d8cfca; margin:0 0 22px; max-width:40ch; }
.blitz-callout p strong { color:#fff; }
.blitz-callout__img { background:#fff; border-radius:16px; aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; }
.blitz-callout__img img { width:90%; height:90%; object-fit:contain; }

/* ---------- Product grid ---------- */
.blitz-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.blitz-card { background:#fff; border:1px solid var(--blitz-line); border-radius:18px; overflow:hidden; text-decoration:none; display:flex; flex-direction:column; transition:transform .16s ease, box-shadow .16s ease; }
.blitz-card:hover { transform:translateY(-4px); box-shadow:0 16px 34px rgba(23,17,15,.1); }
.blitz-card__media { display:flex; align-items:center; justify-content:center; aspect-ratio:1/1; background:var(--blitz-soft); }
.blitz-card__media img { width:90%; height:90%; object-fit:contain; mix-blend-mode:multiply; }
.blitz-card__body { padding:16px 18px 20px; display:flex; flex-direction:column; gap:6px; }
.blitz-card__title { font-family:"Archivo",sans-serif; font-weight:700; font-size:.98rem; color:var(--blitz-ink); line-height:1.25; }
.blitz-card__price { color:var(--blitz-coral-dark); font-weight:800; }
.blitz-card__price del { color:var(--blitz-ink-soft); font-weight:400; }

/* ---------- Precio en tienda/ficha ---------- */
.woocommerce ul.products li.product .price, .woocommerce div.product p.price, .woocommerce div.product span.price { color:var(--blitz-coral-dark); font-weight:700; }
.woocommerce ul.products li.product h2, .woocommerce ul.products li.product .woocommerce-loop-product__title { font-family:"Archivo",sans-serif; font-weight:700; }

/* ---------- Footer ---------- */
.site-footer { background:var(--blitz-ink); color:#cfc7c2; }
.site-footer a { color:#fff; }
.blitz-foot-brand { font-family:"Archivo",sans-serif; font-weight:900; letter-spacing:.16em; font-size:1.4rem; color:#fff; }

@media (max-width:900px){
	.blitz-features { grid-template-columns:repeat(2,1fr); }
	.blitz-cats, .blitz-grid { grid-template-columns:repeat(2,1fr); }
	.blitz-callout { grid-template-columns:1fr; }
}
@media (max-width:560px){
	.blitz-cats, .blitz-grid { grid-template-columns:1fr; }
	.blitz-hero__title { font-size:2.6rem; }
}

/* ===================== HEADER BLITZ ===================== */
.site-header { padding:0 !important; border-bottom:1px solid var(--blitz-line); background:#fff; }
.site-header .col-full { max-width:1180px; }

.blitz-header-inner { display:flex; align-items:center; gap:26px; padding:16px 22px; }
.blitz-logo { font-family:"Archivo",sans-serif; font-weight:900; letter-spacing:.18em; text-transform:uppercase; font-size:1.7rem; color:var(--blitz-ink); text-decoration:none; white-space:nowrap; }
.blitz-logo .blitz-bolt { color:var(--blitz-coral); }

.blitz-search { flex:1; display:flex; align-items:center; background:var(--blitz-soft); border:1px solid var(--blitz-line); border-radius:999px; padding:4px 4px 4px 20px; max-width:560px; }
.blitz-search input[type="search"] { flex:1; border:0; background:transparent; font-size:.95rem; padding:10px 6px; outline:none; color:var(--blitz-ink); }
.blitz-search button { border:0; background:var(--blitz-coral); color:#fff; border-radius:999px; width:42px; height:42px; font-size:1rem; cursor:pointer; transition:background .15s; }
.blitz-search button:hover { background:var(--blitz-coral-dark); }

.blitz-actions { display:flex; align-items:center; gap:8px; }
.blitz-action { display:flex; align-items:center; gap:9px; padding:8px 14px; border-radius:12px; text-decoration:none; color:var(--blitz-ink); transition:background .15s; }
.blitz-action:hover { background:var(--blitz-soft); color:var(--blitz-ink); }
.blitz-action__ico { font-size:1.25rem; line-height:1; }
.blitz-action__txt { display:flex; flex-direction:column; font-weight:700; font-size:.9rem; line-height:1.15; }
.blitz-action__txt small { font-weight:500; color:var(--blitz-ink-soft); font-size:.72rem; }
.blitz-cart { background:var(--blitz-ink); color:#fff; }
.blitz-cart:hover { background:#000; color:#fff; }
.blitz-cart .blitz-action__txt small { color:rgba(255,255,255,.65); }

/* Navbar categorías */
.blitz-navbar { border-top:1px solid var(--blitz-line); background:#fff; }
.blitz-navbar .col-full { max-width:1180px; display:flex; align-items:center; padding:0 22px; }
.blitz-navmenu { display:flex; gap:6px; list-style:none; margin:0; padding:0; }
.blitz-navmenu li { margin:0; }
.blitz-navmenu a { display:block; padding:15px 18px; font-family:"Archivo",sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.05em; font-size:.82rem; color:var(--blitz-ink); text-decoration:none; border-bottom:3px solid transparent; transition:color .15s, border-color .15s; }
.blitz-navmenu a:hover, .blitz-navmenu .current-menu-item a { color:var(--blitz-coral-dark); border-bottom-color:var(--blitz-coral); }
.blitz-navbar__cta { margin-left:auto; display:inline-flex; align-items:center; gap:6px; background:var(--blitz-coral); color:#fff; font-family:"Archivo",sans-serif; font-weight:800; font-size:.82rem; text-transform:uppercase; letter-spacing:.04em; padding:9px 18px; border-radius:999px; text-decoration:none; transition:background .15s; }
.blitz-navbar__cta:hover { background:var(--blitz-coral-dark); color:#fff; }

/* Ocultar restos del header viejo de Storefront */
.site-header .site-branding, .site-header .site-search, .storefront-handheld-footer-bar { }

@media (max-width:860px){
	.blitz-header-inner { flex-wrap:wrap; gap:14px; }
	.blitz-search { order:3; max-width:100%; flex-basis:100%; }
	.blitz-action__txt { display:none; }
	.blitz-navbar .col-full { overflow-x:auto; }
	.blitz-navbar__cta { display:none; }
}

/* ---------- Full-width en páginas WooCommerce ---------- */
.blitz-no-sidebar #primary.content-area, .blitz-no-sidebar .content-area { width:100%; float:none; margin-right:0; }
.blitz-no-sidebar #secondary, .blitz-no-sidebar .widget-area { display:none; }
.woocommerce-breadcrumb { color:var(--blitz-ink-soft); font-size:.86rem; }
.woocommerce-breadcrumb a { color:var(--blitz-coral-dark); }
.woocommerce div.product .product_title { font-family:"Archivo",sans-serif; font-weight:900; letter-spacing:-.01em; line-height:1.05; }
.woocommerce div.product p.price, .woocommerce div.product span.price { font-size:1.7rem; }
.single_variation_wrap .price { color:var(--blitz-coral-dark) !important; }
.woocommerce div.product form.cart .variations td, .woocommerce div.product form.cart .variations th { padding:6px 0; }
.woocommerce div.product form.cart .variations label { font-family:"Archivo",sans-serif; font-weight:800; text-transform:uppercase; letter-spacing:.06em; font-size:.78rem; }

/* ===================== POLISH PROFESIONAL ===================== */

/* --- Foco accesible y con estilo (adiós outline morado/azul por defecto) --- */
*:focus { outline: none; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, .button:focus-visible, [tabindex]:focus-visible,
.blitz-card:focus-visible, .blitz-cat:focus-visible {
	outline: 2px solid var(--blitz-coral);
	outline-offset: 3px;
	border-radius: 8px;
}
input[type="text"]:focus, input[type="email"]:focus, input[type="tel"]:focus,
input[type="password"]:focus, input[type="search"]:focus, input[type="number"]:focus,
select:focus, textarea:focus {
	border-color: var(--blitz-coral) !important;
	box-shadow: 0 0 0 3px rgba(237,116,111,.18) !important;
	outline: none;
}

/* --- Inputs y selects custom --- */
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea,
.woocommerce .quantity input, input[type="text"], input[type="email"], input[type="tel"],
input[type="password"], input[type="number"], select, textarea {
	border: 1px solid var(--blitz-line);
	border-radius: 12px;
	padding: 12px 14px;
	background: #fff;
	color: var(--blitz-ink);
	font-family: inherit;
	transition: border-color .15s, box-shadow .15s;
}
select {
	-webkit-appearance: none; appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23ED746F' d='M6 8 0 2l1.4-1.4L6 5.2 10.6.6 12 2z'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 14px center;
	padding-right: 38px; cursor: pointer;
}

/* --- Cantidad --- */
.woocommerce .quantity .qty { border-radius: 12px; text-align: center; }

/* --- Swatches (pills) --- */
.woo-variation-swatches .variable-items-wrapper .variable-item {
	border-radius: 12px !important; border: 1px solid var(--blitz-line) !important;
	box-shadow: none !important; padding: 0 !important;
}
.woo-variation-swatches ul.variable-items-wrapper .variable-item:not(.radio-variable-item).selected,
.woo-variation-swatches ul.variable-items-wrapper .variable-item:not(.radio-variable-item):hover {
	border-color: var(--blitz-coral) !important; box-shadow: 0 0 0 2px var(--blitz-coral) !important;
}
.variable-item-span { font-family:"Archivo",sans-serif; font-weight:700; padding:10px 16px !important; }

/* --- Botón comprar / add to cart más marcado --- */
.woocommerce div.product form.cart .button, .single_add_to_cart_button {
	padding: 1em 2.4em !important; font-size: 1rem !important; width: auto;
}

/* --- Header sticky --- */
.blitz-sticky .site-header { position: sticky; top: 0; z-index: 999; box-shadow: 0 1px 0 var(--blitz-line); }

/* --- Menú: hover suave --- */
.blitz-navmenu a { position: relative; }

/* --- Cart / Checkout --- */
.woocommerce-cart .cart_totals, .woocommerce-checkout #order_review, .woocommerce-checkout #customer_details {
	border: 1px solid var(--blitz-line); border-radius: 18px; padding: 24px; background: #fff;
}
.woocommerce-cart table.cart, .woocommerce table.shop_table { border-radius: 14px; border-color: var(--blitz-line); }
.woocommerce table.shop_table th { font-family:"Archivo",sans-serif; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce #payment #place_order, .woocommerce-checkout button#place_order {
	background: var(--blitz-coral) !important; color:#fff !important; border-radius: 999px !important;
	font-family:"Archivo",sans-serif; font-weight:800; padding: 1em 2em !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-checkout button#place_order:hover { background: var(--blitz-coral-dark) !important; }
.woocommerce-info, .woocommerce-message {
	background: var(--blitz-soft) !important;
	border-top: 3px solid var(--blitz-coral) !important;
	border-radius: 10px;
	color: var(--blitz-ink) !important;
}
.woocommerce-info::before, .woocommerce-message::before { color: var(--blitz-coral) !important; }
.woocommerce-info a, .woocommerce-message a { color: var(--blitz-coral-dark) !important; }
.woocommerce-message .button, .woocommerce-info .button { background: var(--blitz-coral); color:#fff !important; }
/* Error: mantener rojo semántico pero con la forma de marca */
.woocommerce-error { border-radius: 10px; border-top: 3px solid var(--blitz-coral-dark); }

/* --- Tabs de producto --- */
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--blitz-coral); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-family:"Archivo",sans-serif; font-weight:700; }

/* --- Barra promo superior --- */
.blitz-promobar { background:var(--blitz-ink); color:#f3ece9; font-size:.82rem; font-weight:600; text-align:center; padding:9px 16px; display:flex; gap:12px; justify-content:center; align-items:center; flex-wrap:wrap; }
.blitz-promobar__sep { color:var(--blitz-coral); }
@media (max-width:700px){ .blitz-promobar span:not(.blitz-promobar__sep):nth-child(3), .blitz-promobar .blitz-promobar__sep { display:none; } }

/* --- Página Tiendas --- */
.blitz-tiendas { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:28px 0; }
.blitz-tienda { border:1px solid var(--blitz-line); border-radius:16px; padding:20px 22px; }
.blitz-tienda h3 { font-family:"Archivo",sans-serif; font-weight:800; font-size:1.05rem; margin:0 0 6px; color:var(--blitz-ink); }
.blitz-tienda p { margin:0; color:var(--blitz-ink-soft); font-size:.9rem; }
@media (max-width:860px){ .blitz-tiendas { grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .blitz-tiendas { grid-template-columns:1fr; } }

/* ===================== FIX v2 (feedback) ===================== */

/* 1) SIN swatches en el catálogo (kits/carcasas se veían saturadas) */
ul.products li.product form.variations_form,
ul.products li.product .variations,
ul.products li.product .woo-variation-swatches-stock-container,
ul.products li.product .variable-items-wrapper,
ul.products li.product .wvs-archive-variations-wrapper,
ul.products li.product .single_variation_wrap { display:none !important; }

/* 2) SIN foco visible en clickeables (botones, links, cards, swatches, selects) */
a:focus, a:focus-visible, button:focus, button:focus-visible, .button:focus, .button:focus-visible,
.blitz-card:focus, .blitz-cat:focus, .variable-item:focus, .single_add_to_cart_button:focus,
.blitz-navmenu a:focus, .blitz-action:focus, select:focus, select:focus-visible,
.woocommerce a.button:focus, .woocommerce button:focus, [tabindex]:focus, .qty:focus,
li.product a:focus, .add_to_cart_button:focus {
	outline: none !important; box-shadow: none !important;
}
/* inputs de texto: foco sutil (usabilidad de formularios) */
input[type=text]:focus, input[type=email]:focus, input[type=tel]:focus, input[type=password]:focus,
input[type=search]:focus, input[type=number]:focus, textarea:focus {
	border-color: var(--blitz-coral) !important; box-shadow: 0 0 0 2px rgba(237,116,111,.15) !important; outline:none !important;
}

/* 3) Swatches como pills (estilo mifoto) */
.woo-variation-swatches .variable-items-wrapper { gap:9px !important; }
.woo-variation-swatches .variable-item.button-variable-item {
	border-radius: 999px !important; border:1.5px solid var(--blitz-line) !important;
	padding:0 !important; min-width:auto !important; height:auto !important; box-shadow:none !important;
	background:#fff !important; margin:0 !important;
}
.woo-variation-swatches .variable-item.button-variable-item .variable-item-span {
	padding:10px 20px !important; font-family:"Archivo",sans-serif; font-weight:700; font-size:.86rem; color:var(--blitz-ink);
}
.woo-variation-swatches .variable-item.button-variable-item:hover,
.woo-variation-swatches .variable-item.button-variable-item.selected {
	border-color:var(--blitz-coral) !important; background:var(--blitz-coral) !important; box-shadow:none !important;
}
.woo-variation-swatches .variable-item.button-variable-item:hover .variable-item-span,
.woo-variation-swatches .variable-item.button-variable-item.selected .variable-item-span { color:#fff !important; }
.woocommerce div.product form.cart .variations label { margin-bottom:8px; display:block; }
.woocommerce div.product form.cart .reset_variations { font-size:.82rem; }

/* 4) Mi cuenta más pro */
.woocommerce-account .woocommerce { display:flex; gap:34px; align-items:flex-start; }
.woocommerce-account .woocommerce-MyAccount-navigation { width:250px; flex:0 0 250px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style:none; margin:0; padding:0; border:1px solid var(--blitz-line); border-radius:16px; overflow:hidden; }
.woocommerce-account .woocommerce-MyAccount-navigation li { margin:0; border-bottom:1px solid var(--blitz-line); }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom:0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display:block; padding:14px 20px; color:var(--blitz-ink); font-weight:600; text-decoration:none; transition:background .15s; }
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background:var(--blitz-soft); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background:var(--blitz-ink); color:#fff; }
.woocommerce-account .woocommerce-MyAccount-content { flex:1; border:1px solid var(--blitz-line); border-radius:16px; padding:28px; }
.woocommerce-account:not(.logged-in) .woocommerce { display:block; }
.woocommerce-account .u-columns { display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.woocommerce-account .col-1, .woocommerce-account .col-2 { border:1px solid var(--blitz-line); border-radius:16px; padding:26px; }
@media (max-width:768px){ .woocommerce-account .woocommerce, .woocommerce-account .u-columns { display:block; } .woocommerce-account .woocommerce-MyAccount-navigation { width:100%; margin-bottom:20px; } }

/* ===================== ICONOS SVG + HEADER LIMPIO ===================== */
.blitz-svg { display:inline-block; vertical-align:middle; flex:none; }
.blitz-logo { display:inline-flex; align-items:center; line-height:1; flex:none; }
.blitz-logo img { display:block; height:42px; width:auto; }
.blitz-logo .blitz-bolt { display:inline-flex; align-items:center; color:var(--blitz-coral); margin:0 1px; }
.blitz-logo .blitz-bolt svg { width:20px; height:26px; }

.blitz-action__ico { display:inline-flex; align-items:center; color:var(--blitz-ink); }
.blitz-cart .blitz-action__ico { color:#fff; }

.blitz-feature__ico { color:var(--blitz-coral); display:inline-flex; align-items:center; justify-content:center; margin-bottom:2px; }

.blitz-promobar span { display:inline-flex; align-items:center; gap:6px; }
.blitz-promobar svg { color:var(--blitz-coral); }
.blitz-navbar__cta { display:inline-flex; align-items:center; gap:6px; }
.blitz-navbar__cta svg { color:#fff; }
.blitz-hero__eyebrow { display:inline-flex; align-items:center; gap:6px; }

/* Header: alineación robusta */
.blitz-header-inner { align-items:center; }
.blitz-actions { flex:none; }
.blitz-cart { min-width:96px; }

/* ===================== SWATCHES cfvsw como pills (mifoto) ===================== */
.cfvsw-swatches-container { gap:9px !important; }
.cfvsw-swatches-option {
	border-radius:999px !important; border:1.5px solid var(--blitz-line) !important;
	box-shadow:none !important; padding:0 !important; margin:0 !important; overflow:hidden;
	min-width:auto !important; width:auto !important; height:auto !important; background:#fff !important;
}
.cfvsw-swatch-inner {
	padding:10px 20px !important; font-family:"Archivo",sans-serif !important; font-weight:700 !important;
	font-size:.86rem !important; color:var(--blitz-ink) !important; border-radius:999px !important;
	background:transparent !important; line-height:1.1 !important;
}
/* cfvsw agrega la clase real `cfvsw-selected-swatch` al elegir (no `cfvsw-swatch-selected`). */
.cfvsw-swatches-option:hover,
.cfvsw-swatches-option.cfvsw-selected-swatch,
.cfvsw-swatches-option.cfvsw-swatch-selected {
	border-color:var(--blitz-coral) !important; background:var(--blitz-coral) !important;
}
.cfvsw-swatches-option:hover .cfvsw-swatch-inner,
.cfvsw-swatches-option.cfvsw-selected-swatch .cfvsw-swatch-inner,
.cfvsw-swatches-option.cfvsw-swatch-selected .cfvsw-swatch-inner {
	color:#fff !important; background:var(--blitz-coral) !important;
}
/* Oculta el atributo Code (interno) en la ficha */
.cfvsw-swatches-container[data-attribute_name="attribute_pa_code"] { display:none !important; }
.woocommerce div.product form.cart .variations tr:has([data-attribute_name="attribute_pa_code"]) { display:none !important; }
/* Etiqueta del atributo */
.woocommerce div.product form.cart .variations th.label label { font-family:"Archivo",sans-serif; font-weight:800; text-transform:uppercase; letter-spacing:.06em; font-size:.78rem; color:var(--blitz-ink); }

/* ===================== HOME PREMIUM v3 ===================== */
.home { background:#FBF7F4; }
.blitz-home { max-width:1200px; }
.bz-kicker { font-family:"Archivo",sans-serif; font-weight:800; letter-spacing:.18em; text-transform:uppercase; font-size:.72rem; color:var(--blitz-ink-soft); margin:0 0 8px; }
.bz-kicker--coral { color:var(--blitz-coral); display:inline-flex; align-items:center; gap:6px; }
.bz-h2 { font-family:"Archivo",sans-serif; font-weight:800; font-size:clamp(1.6rem,3.2vw,2.1rem); letter-spacing:-.01em; margin:0 0 8px; color:var(--blitz-ink); }
.bz-subhead { color:var(--blitz-ink-soft); max-width:60ch; margin:0; font-size:.98rem; }
.bz-eyebrow { font-family:"Archivo",sans-serif; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--blitz-coral); font-size:.78rem; display:inline-flex; align-items:center; gap:6px; margin:0 0 16px; }

/* HERO */
.bz-hero { display:grid; grid-template-columns:1.05fr .95fr; gap:40px; align-items:center; margin:26px 0 40px;
	background:radial-gradient(120% 130% at 8% 0%, var(--blitz-soft-2) 0%, var(--blitz-soft) 40%, #fff 100%);
	border-radius:26px; padding:clamp(34px,4.5vw,60px); position:relative; overflow:hidden; }
.bz-hero__title { font-family:"Archivo",sans-serif; font-weight:900; font-size:clamp(2.3rem,4.6vw,3.5rem); line-height:1.02; letter-spacing:-.025em; color:var(--blitz-ink); margin:0 0 18px; }
.bz-hero__title span { color:var(--blitz-coral); }
.bz-hero__sub { color:var(--blitz-ink-soft); font-size:1.05rem; margin:0 0 26px; max-width:52ch; }
.bz-hero__cta { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:24px; }
.bz-hero__cta .blitz-btn { display:inline-flex; align-items:center; gap:8px; }
.bz-hero__micro { display:flex; gap:22px; flex-wrap:wrap; color:var(--blitz-ink-soft); font-size:.86rem; font-weight:600; }
.bz-hero__micro span { display:inline-flex; align-items:center; gap:7px; }
.bz-hero__micro svg { color:var(--blitz-coral); }
.bz-hero__card { display:flex; flex-direction:column; background:#fff; border:1px solid var(--blitz-line); border-radius:22px; padding:16px; box-shadow:0 24px 60px rgba(23,17,15,.12); text-decoration:none; position:relative; }
.bz-hero__badge { position:absolute; top:-14px; left:20px; background:var(--blitz-ink); color:#fff; font-size:.72rem; font-weight:700; padding:8px 14px; border-radius:999px; display:inline-flex; align-items:center; gap:6px; }
.bz-hero__badge svg { color:var(--blitz-coral); }
.bz-hero__media { display:flex; align-items:center; justify-content:center; background:var(--blitz-soft); border-radius:16px; padding:14px; margin-top:8px; }
.bz-hero__media img { width:80%; height:auto; object-fit:contain; mix-blend-mode:multiply; }
.bz-hero__info { display:flex; flex-direction:column; gap:4px; padding:14px 6px 4px; }
.bz-hero__name { font-family:"Archivo",sans-serif; font-weight:800; font-size:1.05rem; color:var(--blitz-ink); }
.bz-hero__meta { color:var(--blitz-ink-soft); font-size:.82rem; }
.bz-hero__price { color:var(--blitz-coral-dark); font-weight:800; font-size:1.3rem; margin-top:4px; }
.bz-hero__tag { display:inline-flex; align-items:center; gap:5px; align-self:flex-start; background:var(--blitz-soft); color:var(--blitz-ink-soft); font-size:.74rem; font-weight:600; padding:5px 10px; border-radius:999px; margin-top:6px; }

/* SECHEAD */
.bz-sechead, .bz-desthead { margin-bottom:26px; }
.bz-sechead { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; }
.bz-seelink { color:var(--blitz-coral-dark); font-weight:700; font-size:.9rem; display:inline-flex; align-items:center; gap:6px; white-space:nowrap; text-decoration:none; }
.bz-desthead { text-align:center; display:flex; flex-direction:column; align-items:center; }
.bz-desthead .bz-subhead { margin:0 auto 18px; }

/* CATS */
.bz-cats { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.bz-cat { display:flex; flex-direction:column; background:#fff; border:1px solid var(--blitz-line); border-radius:20px; overflow:hidden; text-decoration:none; transition:transform .18s, box-shadow .18s; }
.bz-cat:hover { transform:translateY(-5px); box-shadow:0 18px 40px rgba(23,17,15,.1); }
.bz-cat__media { position:relative; aspect-ratio:16/11; background:var(--blitz-soft); display:flex; align-items:center; justify-content:center; }
.bz-cat__media img { width:70%; height:80%; object-fit:contain; mix-blend-mode:multiply; }
.bz-cat__badge { position:absolute; top:12px; right:12px; background:var(--blitz-coral); color:#fff; font-size:.7rem; font-weight:700; padding:6px 11px; border-radius:999px; }
.bz-cat__foot { display:flex; align-items:center; justify-content:space-between; padding:18px 20px; }
.bz-cat__label { display:block; font-family:"Archivo",sans-serif; font-weight:800; font-size:1.08rem; color:var(--blitz-ink); }
.bz-cat__desc { display:block; color:var(--blitz-ink-soft); font-size:.85rem; margin-top:2px; }
.bz-cat__arrow { display:inline-flex; width:38px; height:38px; border-radius:50%; background:var(--blitz-soft); color:var(--blitz-coral); align-items:center; justify-content:center; transition:.15s; }
.bz-cat:hover .bz-cat__arrow { background:var(--blitz-coral); color:#fff; }

/* CONFIG */
.bz-config { display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:center; background:var(--blitz-ink); border-radius:26px; padding:clamp(30px,4vw,54px); margin:0 0 66px; }
.bz-config__text h2 { color:#fff; font-family:"Archivo",sans-serif; font-weight:900; font-size:clamp(1.6rem,3vw,2.3rem); line-height:1.05; margin:0 0 14px; }
.bz-config__text > p { color:#cabfb9; margin:0 0 22px; max-width:42ch; }
.bz-config__text strong { color:#fff; }
.bz-config__save { display:flex; align-items:center; justify-content:space-between; gap:14px; background:rgba(237,116,111,.14); border:1px solid rgba(237,116,111,.4); border-radius:14px; padding:16px 18px; margin-bottom:22px; }
.bz-config__save > span:first-child { color:#f0e7e3; font-size:.86rem; display:flex; align-items:center; gap:8px; }
.bz-config__save svg { color:var(--blitz-coral); }
.bz-config__save small { color:#a99f99; }
.bz-config__save-amt { font-family:"Archivo",sans-serif; font-weight:900; font-size:1.5rem; color:var(--blitz-coral); }
.bz-config__preview { background:#fff; border-radius:18px; padding:20px; }
.bz-config__live { display:inline-flex; align-items:center; gap:6px; background:var(--blitz-soft); color:var(--blitz-coral-dark); font-size:.72rem; font-weight:700; padding:6px 12px; border-radius:999px; }
.bz-config__pvbody { display:flex; flex-direction:column; margin-top:14px; }
.bz-config__pvname { font-family:"Archivo",sans-serif; font-weight:800; color:var(--blitz-ink); }
.bz-config__pvprice { color:var(--blitz-coral-dark); font-weight:800; font-size:1.2rem; margin:2px 0 10px; }
.bz-config__pvimg { display:flex; justify-content:center; background:var(--blitz-soft); border-radius:14px; padding:14px; }
.bz-config__pvimg img { width:65%; height:auto; mix-blend-mode:multiply; }
.bz-config__pvrow { font-size:.8rem; color:var(--blitz-ink-soft); font-weight:600; margin:14px 0 8px; }
.bz-config__dots { display:flex; gap:8px; }
.bz-config__dots i { width:24px; height:24px; border-radius:50%; display:inline-block; border:2px solid #fff; box-shadow:0 0 0 1px var(--blitz-line); }
.bz-config__select { display:flex; align-items:center; justify-content:space-between; border:1px solid var(--blitz-line); border-radius:12px; padding:11px 14px; font-weight:600; color:var(--blitz-ink); }

/* TABS */
.bz-tabs { display:flex; gap:8px; flex-wrap:wrap; justify-content:center; margin-top:4px; }
.bz-tab { padding:9px 18px; border-radius:999px; background:#fff; border:1px solid var(--blitz-line); font-weight:700; font-size:.84rem; color:var(--blitz-ink-soft); cursor:pointer; }
.bz-tab.is-active { background:var(--blitz-ink); color:#fff; border-color:var(--blitz-ink); }

/* GRID DESTACADOS */
.bz-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.bz-card { background:#fff; border:1px solid var(--blitz-line); border-radius:18px; overflow:hidden; display:flex; flex-direction:column; transition:transform .16s, box-shadow .16s; }
.bz-card:hover { transform:translateY(-4px); box-shadow:0 16px 34px rgba(23,17,15,.1); }
.bz-card__media { position:relative; aspect-ratio:1/1; background:var(--blitz-soft); overflow:hidden; display:block; }
/* Imagen posicionada en absoluto: fuera del flujo, así NUNCA aporta su tamaño
   intrínseco a la altura de la fila del grid (arreglo de cards estiradas, sobre
   todo con carga lazy). Centrada con inset:0 + margin:auto. */
.bz-card__media img { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:86%; height:86%; object-fit:contain; mix-blend-mode:multiply; }
.bz-card__badge { position:absolute; top:12px; left:12px; font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.03em; padding:5px 10px; border-radius:999px; color:#fff; background:var(--blitz-ink); }
/* Etiqueta de oferta (producto con descuento) */
.bz-card__sale { position:absolute; top:12px; left:12px; z-index:2; font-family:"Archivo",sans-serif; font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; padding:5px 11px; border-radius:999px; color:#fff; background:var(--blitz-coral); box-shadow:0 2px 8px rgba(237,116,111,.35); }
.bz-badge--mas-vendido { background:var(--blitz-coral); }
.bz-badge--descuento { background:#2e7d5b; }
.bz-badge--nuevo { background:#2b3a67; }
.bz-card__body { padding:14px 16px 16px; display:flex; flex-direction:column; gap:5px; }
.bz-card__rating { color:#f0b429; font-size:.8rem; letter-spacing:1px; }
.bz-card__rating em { color:var(--blitz-ink-soft); font-style:normal; letter-spacing:normal; font-size:.78rem; }
.bz-card__title { font-family:"Archivo",sans-serif; font-weight:700; font-size:.95rem; color:var(--blitz-ink); text-decoration:none; line-height:1.25; }
.bz-card__cat { color:var(--blitz-ink-soft); font-size:.78rem; }
.bz-card__foot { display:flex; align-items:center; justify-content:space-between; margin-top:6px; }
.bz-card__price { color:var(--blitz-coral-dark); font-weight:800; font-size:.92rem; }
.bz-card__price small { color:var(--blitz-ink-soft); font-weight:500; font-size:.72rem; display:block; }
.bz-card__add { width:40px; height:40px; border-radius:12px; background:var(--blitz-soft); color:var(--blitz-ink); display:inline-flex; align-items:center; justify-content:center; transition:.15s; }
.bz-card__add:hover { background:var(--blitz-coral); color:#fff; }

/* SOCIAL */
.bz-social { text-align:center; margin:0 0 40px; }
.bz-social__stars, .bz-social__head em { color:#f0b429; }
.bz-social__stars em { color:var(--blitz-ink); font-style:normal; font-weight:800; }
.bz-social__head { margin-bottom:26px; }
.bz-testis { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; text-align:left; }
.bz-testi { background:#fff; border:1px solid var(--blitz-line); border-radius:18px; padding:24px; }
.bz-testi__stars { color:#f0b429; letter-spacing:2px; }
.bz-testi p { color:var(--blitz-ink); margin:12px 0 16px; font-size:.94rem; line-height:1.5; }
.bz-testi__who strong { display:block; font-size:.9rem; }
.bz-testi__who small { color:var(--blitz-ink-soft); font-size:.8rem; }

@media (max-width:900px){
	.bz-hero, .bz-config { grid-template-columns:1fr; }
	.bz-cats, .bz-testis { grid-template-columns:1fr; }
	.bz-grid { grid-template-columns:1fr 1fr; }
	.bz-sechead { flex-direction:column; align-items:flex-start; }
}

/* ===================== FOOTER ===================== */
.site-footer { background:var(--blitz-ink) !important; color:#b8ada7; padding:48px 0 0 !important; }
.bz-footer { max-width:1180px; margin:0 auto; padding:0 22px 34px; display:grid; grid-template-columns:1.7fr 1fr 1fr 1.3fr; gap:34px; }
.bz-footer__brandcol .blitz-foot-brand { font-size:1.5rem; }
.bz-footer__logo { display:block; height:44px; width:auto; }
.bz-footer__brandcol p { color:#8f847e; font-size:.86rem; margin-top:16px; max-width:36ch; line-height:1.55; }
.bz-footer__col h4 { color:#fff; font-family:"Archivo",sans-serif; font-weight:800; font-size:.82rem; text-transform:uppercase; letter-spacing:.08em; margin:0 0 16px; }
.bz-footer__col a { display:block; color:#b8ada7; text-decoration:none; font-size:.9rem; margin-bottom:11px; transition:color .15s; }
.bz-footer__col a:hover { color:var(--blitz-coral); }
.bz-footer__club p { color:#8f847e; font-size:.86rem; margin:0 0 14px; }
.bz-newsletter { display:flex; gap:8px; }
.bz-newsletter input { flex:1; min-width:0; border-radius:999px; border:1px solid #3a302c; background:#241c18; color:#fff; padding:11px 16px; }
.bz-newsletter input::placeholder { color:#7d726c; }
.bz-newsletter button { background:var(--blitz-coral); color:#fff; border:0; border-radius:999px; padding:11px 22px; font-weight:800; cursor:pointer; white-space:nowrap; }
.bz-newsletter button:hover { background:var(--blitz-coral-dark); }
.bz-footer__bar { max-width:1180px; margin:0 auto; padding:20px 22px; border-top:1px solid #2c2320; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:.8rem; color:#8f847e; }
.bz-footer__pay { display:inline-flex; align-items:center; gap:6px; }
.bz-footer__pay svg { color:var(--blitz-coral); }
.site-info, .storefront-credit, .site-footer .col-full > .site-info { display:none !important; }

/* by MiFoto junto al logo */
.blitz-logo__by { font-family:"Inter",sans-serif; font-weight:600; font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:var(--blitz-ink-soft); margin-left:8px; }

@media (max-width:860px){ .bz-footer { grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .bz-footer { grid-template-columns:1fr; } }

/* ===================== HEADER refinamiento ===================== */
.blitz-header-inner { padding:14px 22px; gap:22px; }
.blitz-search { padding:5px 6px 5px 20px; max-width:520px; }
.blitz-search input[type="search"] { padding:9px 6px; font-size:.92rem; }
.blitz-search button { width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center; }
.blitz-search button svg { color:#fff; }
.blitz-logo { font-size:1.55rem; }
.blitz-logo__by { align-self:center; }
.blitz-actions { gap:6px; }
.blitz-action { padding:8px 12px; }
.blitz-cart { background:var(--blitz-ink); color:#fff; padding:8px 16px; }
.blitz-cart .blitz-action__txt, .blitz-cart__data { color:#fff; }
.blitz-cart__data { display:flex; flex-direction:column; font-weight:700; font-size:.9rem; line-height:1.15; }
.blitz-cart__data small { font-weight:500; color:rgba(255,255,255,.7); font-size:.72rem; }

/* ===================== HEADER 1 FILA (referencia) ===================== */
.blitz-navbar { display:none !important; }
.site-header .col-full, .blitz-header-inner { max-width:1380px !important; }
.blitz-header-inner { display:flex !important; align-items:center; gap:16px; padding:14px 26px; flex-wrap:nowrap; }
.blitz-logo { flex:none; }

.blitz-search { flex:0 0 auto; width:280px; background:#fff !important; border:1px solid var(--blitz-line) !important; border-radius:999px; padding:5px 5px 5px 16px; display:flex; align-items:center; gap:6px; max-width:280px; }
.blitz-search__ico { display:flex; }
.blitz-search__ico svg { color:var(--blitz-ink-soft); }
.blitz-search input[type="search"] { flex:1; min-width:0; border:0; background:transparent; padding:8px 4px; font-size:.9rem; }
.blitz-search button { width:38px; height:38px; border-radius:50%; background:var(--blitz-coral); flex:none; }
.blitz-search button svg { color:#fff; }

.blitz-nav-inline { margin-left:auto; }
.blitz-nav-inline .blitz-navmenu { display:flex; gap:2px; list-style:none; margin:0; padding:0; }
.blitz-nav-inline .blitz-navmenu li { margin:0; }
.blitz-nav-inline .blitz-navmenu a { display:block; padding:8px 13px; font-family:"Archivo",sans-serif; font-weight:700; font-size:.92rem; color:var(--blitz-ink); text-decoration:none; border-radius:8px; text-transform:none; letter-spacing:0; border:0; }
.blitz-nav-inline .blitz-navmenu a:hover, .blitz-nav-inline .blitz-navmenu .current-menu-item a { color:var(--blitz-coral-dark); background:transparent; }

.blitz-armaset { flex:none; display:inline-flex; align-items:center; gap:7px; background:var(--blitz-coral); color:#fff; font-family:"Archivo",sans-serif; font-weight:800; font-size:.9rem; padding:11px 20px; border-radius:999px; text-decoration:none; transition:background .15s; white-space:nowrap; }
.blitz-armaset:hover { background:var(--blitz-coral-dark); color:#fff; }
.blitz-armaset svg { color:#fff; }

.blitz-cart2 { flex:none; display:flex; align-items:center; background:#fff; border:1px solid var(--blitz-line); border-radius:999px; padding:8px 18px 8px 15px; text-decoration:none; }
.blitz-cart2 .blitz-cart__data { display:flex; align-items:center; gap:12px; }
.blitz-cart2__icowrap { position:relative; display:flex; color:var(--blitz-ink); }
.blitz-cart2__count { position:absolute; top:-7px; right:-9px; background:var(--blitz-coral); color:#fff; font-size:.62rem; font-weight:800; min-width:17px; height:17px; padding:0 4px; border-radius:999px; display:flex; align-items:center; justify-content:center; line-height:1; }
.blitz-cart2__total { font-family:"Archivo",sans-serif; font-weight:800; font-size:.95rem; color:var(--blitz-ink); }

.blitz-account2 { flex:none; width:44px; height:44px; border-radius:50%; background:var(--blitz-coral-dark); color:#fff; display:flex; align-items:center; justify-content:center; text-decoration:none; transition:background .15s; }
.blitz-account2:hover { background:var(--blitz-ink); }
.blitz-account2 svg { color:#fff; }

@media (max-width:1200px){
	.blitz-header-inner { flex-wrap:wrap; }
	.blitz-nav-inline { order:5; width:100%; margin-left:0; border-top:1px solid var(--blitz-line); padding-top:8px; }
	.blitz-nav-inline .blitz-navmenu { justify-content:center; flex-wrap:wrap; }
	.blitz-search { flex:1; max-width:none; order:2; }
	.blitz-armaset { order:3; margin-left:auto; }
}

/* ===================== STEPS + FREE SHIPPING ===================== */
.bz-steps { display:flex; align-items:center; justify-content:center; gap:12px; margin:8px 0 28px; flex-wrap:wrap; }
.bz-step { display:inline-flex; align-items:center; gap:9px; font-family:"Archivo",sans-serif; font-weight:800; font-size:.8rem; letter-spacing:.05em; color:var(--blitz-ink-soft); }
.bz-step b { width:26px; height:26px; border-radius:50%; background:#e2d7d1; color:#fff; display:inline-flex; align-items:center; justify-content:center; font-size:.78rem; }
.bz-step.is-active { color:var(--blitz-ink); }
.bz-step.is-active b { background:var(--blitz-coral); }
.bz-step.is-done b { background:var(--blitz-ink); }
.bz-step__line { width:60px; height:2px; background:#e2d7d1; }
.bz-step__line.is-done { background:var(--blitz-coral); }

.bz-freeship { background:#fff; border:1px solid var(--blitz-line); border-radius:18px; padding:22px 26px; margin-bottom:26px; }
.bz-freeship__top { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:14px; }
.bz-freeship__msg { display:inline-flex; align-items:center; gap:10px; color:var(--blitz-ink); font-size:.98rem; }
.bz-freeship__msg svg { color:var(--blitz-coral); flex:none; }
.bz-freeship__msg b { color:var(--blitz-coral-dark); }
.bz-freeship__pct { font-family:"Archivo",sans-serif; font-weight:800; font-size:.74rem; letter-spacing:.05em; text-transform:uppercase; background:var(--blitz-soft); color:var(--blitz-ink); padding:8px 14px; border-radius:999px; white-space:nowrap; }
.bz-freeship__bar { height:10px; background:#efe6e1; border-radius:999px; overflow:hidden; }
.bz-freeship__bar i { display:block; height:100%; background:linear-gradient(90deg,var(--blitz-coral-dark),#f0a03f); border-radius:999px; transition:width .4s; }

/* ===================== CART LAYOUT ===================== */
.woocommerce-cart .site-main .woocommerce { display:grid; grid-template-columns:1fr 370px; gap:30px; align-items:start; }
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-cart .woocommerce > .bz-steps,
.woocommerce-cart .woocommerce > .bz-freeship { grid-column:1 / -1; }
.woocommerce-cart .woocommerce-cart-form { grid-column:1; background:#fff; border:1px solid var(--blitz-line); border-radius:18px; padding:8px 22px; }
.woocommerce-cart .cart-collaterals { grid-column:2; width:100% !important; float:none !important; margin:0 !important; }
.woocommerce-cart .cart-collaterals .cart_totals { width:100% !important; float:none !important; background:#fff; border:1px solid var(--blitz-line); border-radius:18px; padding:24px; }
.woocommerce-cart .cart-collaterals .cross-sells { display:none; }
.woocommerce-cart .cart_totals h2 { font-family:"Archivo",sans-serif; font-weight:800; font-size:1.15rem; margin-bottom:16px; }
.woocommerce-cart table.cart { border:0; margin:0; }
.woocommerce-cart table.cart img { width:74px; border-radius:12px; }
.woocommerce-cart table.cart td, .woocommerce-cart table.cart th { border-top:1px solid var(--blitz-line); }
.woocommerce-cart table.cart thead th { font-family:"Archivo",sans-serif; text-transform:uppercase; font-size:.72rem; letter-spacing:.05em; color:var(--blitz-ink-soft); }
.woocommerce-cart .product-name a { font-family:"Archivo",sans-serif; font-weight:700; color:var(--blitz-ink); }
.woocommerce-cart .actions .button { border-radius:999px; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { width:100%; text-align:center; font-size:1rem; padding:1.1em 1em !important; }
.woocommerce-cart .cart_totals .order-total .amount { color:var(--blitz-coral-dark); font-size:1.3rem; }
/* Trust badges bajo el total */
.bz-trust { margin-top:16px; display:flex; flex-direction:column; gap:9px; }
.bz-trust span { display:inline-flex; align-items:center; gap:9px; color:var(--blitz-ink-soft); font-size:.84rem; }
.bz-trust svg { color:var(--blitz-coral); }
@media (max-width:900px){ .woocommerce-cart .site-main .woocommerce { grid-template-columns:1fr; } }

/* Testi mark */
.bz-testi__mark { color:var(--blitz-coral); display:inline-flex; }

/* ===================== SHOP BANNER ===================== */
.bz-shopbanner { display:flex; justify-content:space-between; align-items:center; gap:26px; background:linear-gradient(100deg,#1a1210,#2c1f1a); border-radius:22px; padding:26px 32px; margin:0 0 28px; flex-wrap:wrap; }
.bz-shopbanner__tag { display:inline-flex; align-items:center; gap:6px; background:var(--blitz-coral); color:#fff; font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; padding:6px 12px; border-radius:999px; }
.bz-shopbanner__l strong { display:block; font-family:"Archivo",sans-serif; font-weight:800; color:#fff; font-size:1.25rem; margin:12px 0 6px; }
.bz-shopbanner__l p { color:#c9bdb6; font-size:.9rem; margin:0; max-width:52ch; }
.bz-shopbanner__l b { color:#fff; }
.bz-shopbanner__r { display:flex; align-items:center; gap:16px; }
.bz-shopbanner__save { display:inline-flex; flex-direction:column; gap:2px; background:rgba(237,116,111,.16); border:1px solid rgba(237,116,111,.4); color:#f0e7e3; font-size:.72rem; padding:12px 18px; border-radius:14px; }
.bz-shopbanner__save svg { color:var(--blitz-coral); }
.bz-shopbanner__save b { color:#fff; font-size:.98rem; }
.bz-shopbanner .blitz-btn { display:inline-flex; align-items:center; gap:7px; white-space:nowrap; }
@media (max-width:760px){ .bz-shopbanner__r { width:100%; } }

/* ===================== SUCURSALES ===================== */
.bz-tiendas-intro { max-width:62ch; color:var(--blitz-ink-soft); margin:0 0 26px; }
.bz-tiendas-region { font-family:"Archivo",sans-serif; font-weight:800; font-size:1.15rem; color:var(--blitz-ink); margin:30px 0 16px; display:flex; align-items:center; gap:10px; }
.bz-tiendas-region span { background:var(--blitz-soft); color:var(--blitz-coral-dark); font-size:.8rem; padding:3px 10px; border-radius:999px; }
.bz-tienda-hrs { color:var(--blitz-ink-soft); font-size:.82rem; margin-top:6px !important; }

/* ===================== CHECKOUT LAYOUT (ref. 3) ===================== */
/* Contenedor más ancho para que el formulario y "Tu pedido" respiren. */
.woocommerce-checkout #content .col-full,
.woocommerce-checkout .storefront-breadcrumb .col-full { max-width:1360px !important; margin-left:auto !important; margin-right:auto !important; padding-left:22px; padding-right:22px; box-sizing:border-box; }
.woocommerce-checkout .site-main .woocommerce { max-width:1320px; margin:0 auto; }
.woocommerce-checkout form.checkout.woocommerce-checkout { display:grid; grid-template-columns:1fr 460px; gap:36px; align-items:start; }
/* Alertas de validación: fila propia a todo el ancho (fila 1); el resto baja a fila 2+. */
.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup,
.woocommerce-checkout form.checkout > .woocommerce-error,
.woocommerce-checkout form.checkout > .woocommerce-message,
.woocommerce-checkout form.checkout > .woocommerce-info { grid-column:1 / -1; grid-row:1; margin:0; }
.woocommerce-checkout #customer_details { grid-column:1; grid-row:2 / span 2; }
.woocommerce-checkout h3#order_review_heading { grid-column:2; grid-row:2; margin:0 0 12px; font-family:"Archivo",sans-serif; }
.woocommerce-checkout #order_review { grid-column:2; grid-row:3; }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { float:none; width:100%; }
.woocommerce-checkout #customer_details .woocommerce-billing-fields, .woocommerce-checkout #customer_details .woocommerce-shipping-fields, .woocommerce-checkout #customer_details .woocommerce-additional-fields { background:#fff; border:1px solid var(--blitz-line); border-radius:18px; padding:26px; margin-bottom:20px; }
.woocommerce-checkout #customer_details h3 { font-family:"Archivo",sans-serif; font-weight:800; font-size:1.05rem; margin:0 0 18px; }
.woocommerce-checkout #order_review { background:#fff; border:1px solid var(--blitz-line); border-radius:18px; padding:26px; position:sticky; top:110px; }
.woocommerce-checkout .form-row label { font-weight:600; font-size:.86rem; margin-bottom:5px; }
.woocommerce-checkout #payment { background:transparent; border-radius:0; }
.woocommerce-checkout #payment ul.payment_methods { border:0; padding:0; }
.woocommerce-checkout #payment ul.payment_methods li { border:1px solid var(--blitz-line); border-radius:14px; padding:14px 16px; margin-bottom:10px; list-style:none; }
.woocommerce-checkout #payment div.payment_box { background:var(--blitz-soft); border-radius:12px; }
.woocommerce-checkout #payment div.payment_box::before { display:none; }
.woocommerce-checkout #place_order { width:100%; font-size:1.05rem; padding:1.1em !important; margin-top:12px; }
.woocommerce-checkout table.shop_table { border:0; }
@media (max-width:900px){ .woocommerce-checkout form.checkout.woocommerce-checkout { grid-template-columns:1fr; } .woocommerce-checkout h3#order_review_heading, .woocommerce-checkout #order_review { grid-column:1; } .woocommerce-checkout #order_review { position:static; } }

/* ===================== CHECKOUT: grid único (2 columnas) ===================== */
/* Storefront le pone width:48%;float:left a estas columnas: forzarlas a llenar su celda del grid. */
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review { width:100% !important; float:none !important; min-width:0; margin:0; }
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 { width:100% !important; float:none !important; }
.woocommerce-checkout #order_review table.shop_table { width:100%; table-layout:auto; }
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td { white-space:normal; word-break:normal; overflow-wrap:break-word; }
.woocommerce-checkout #order_review .product-name { width:auto; word-break:normal; }
/* Cupón notice sutil */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { background:var(--blitz-soft); border-top-color:var(--blitz-coral); color:var(--blitz-ink); border-radius:12px; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a { color:var(--blitz-coral-dark); }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before { color:var(--blitz-coral); }

/* ===================== SHOP FILTERS SIDEBAR ===================== */
.blitz-shop-sidebar .content-area { width:75%; float:right; }
.blitz-shop-sidebar #secondary { width:22%; float:left; margin-right:3%; margin-top:0; }
@media (max-width:900px){ .blitz-shop-sidebar .content-area, .blitz-shop-sidebar #secondary { width:100%; float:none; margin:0 0 20px; } }

.bz-filters { position:sticky; top:110px; }
.bz-filters__head { display:flex; justify-content:space-between; align-items:center; padding-bottom:14px; border-bottom:1px solid var(--blitz-line); margin-bottom:18px; }
.bz-filters__head span { display:inline-flex; align-items:center; gap:7px; font-family:"Archivo",sans-serif; font-weight:800; font-size:.95rem; }
.bz-filters__head span svg { color:var(--blitz-coral); }
.bz-filters__head a { color:var(--blitz-coral-dark); font-size:.8rem; font-weight:700; text-decoration:none; }
.bz-filters__head a:hover { text-decoration:underline; }
.bz-filter { margin-bottom:24px; }
.bz-filter h4 { font-family:"Archivo",sans-serif; font-weight:800; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:var(--blitz-ink-soft); margin:0 0 12px; }
.bz-filter__cats { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px; }
.bz-filter__cats a { display:flex; justify-content:space-between; align-items:center; padding:9px 12px; border-radius:10px; color:var(--blitz-ink); text-decoration:none; font-size:.9rem; font-weight:600; transition:background .15s, color .15s; }
.bz-filter__cats a span { color:var(--blitz-ink-soft); font-size:.78rem; background:var(--blitz-soft); padding:1px 8px; border-radius:999px; transition:.15s; }
.bz-filter__cats a:hover { background:var(--blitz-soft); color:var(--blitz-coral-dark); }
.bz-filter__cats li.is-active a { background:var(--blitz-ink); color:#fff; }
.bz-filter__cats li.is-active a span { background:rgba(255,255,255,.2); color:#fff; }
.bz-pricefilter__row { display:flex; align-items:center; gap:8px; margin-bottom:12px; }
.bz-pricefilter__row input { width:100%; border:1px solid var(--blitz-line); border-radius:10px; padding:9px 10px; font-size:.85rem; }
.bz-pricefilter__row span { color:var(--blitz-ink-soft); }
.blitz-btn--sm { padding:.6em 1.3em !important; font-size:.82rem !important; width:100%; text-align:center; }
.bz-filter--pickup { background:var(--blitz-soft); border-radius:14px; padding:18px; text-align:center; }
.bz-filter--pickup .bz-filter__pico { display:inline-flex; color:var(--blitz-coral); margin-bottom:8px; }
.bz-filter--pickup strong { display:block; font-family:"Archivo",sans-serif; font-size:.92rem; }
.bz-filter--pickup p { color:var(--blitz-ink-soft); font-size:.8rem; margin:6px 0 10px; }
.bz-filter--pickup a { color:var(--blitz-coral-dark); font-weight:700; font-size:.82rem; text-decoration:none; }

/* ===================== HOVER EFFECTS globales ===================== */
.woocommerce ul.products li.product { transition:transform .18s ease; }
.woocommerce ul.products li.product:hover { transform:translateY(-4px); }
.woocommerce ul.products li.product a img { transition:transform .3s ease; }
/* Mantener el centrado (translate) al hacer el zoom de hover en la imagen. */
.woocommerce ul.products li.product:hover a img { transform:translate(-50%,-50%) scale(1.04); }
.blitz-navmenu a, .bz-seelink, .bz-filters__head a, .blitz-action2, .bz-cat, .blitz-cart2, .blitz-account2 { transition:all .16s ease; }
.blitz-cart2:hover { border-color:var(--blitz-coral); box-shadow:0 4px 14px rgba(237,116,111,.15); }

/* Shop layout con filtros (robusto) */
.bz-shop-layout { display:flex; gap:32px; align-items:flex-start; margin-top:6px; }
.bz-filters-col { width:250px; flex:none; }
.bz-shop-content { flex:1; min-width:0; }
.bz-shop-content ul.products { margin:0 !important; }
@media (max-width:900px){ .bz-shop-layout { flex-direction:column; } .bz-filters-col { width:100%; position:static; } .bz-filters { position:static; } }

/* ===================== BUSCADOR mejorado ===================== */
.blitz-search { width:300px; transition:box-shadow .2s ease, border-color .2s ease; }
.blitz-search:focus-within { border-color:var(--blitz-coral) !important; box-shadow:0 6px 20px rgba(237,116,111,.18); }
.blitz-search input[type="search"]::placeholder { color:var(--blitz-ink-soft); }
.blitz-search button { transition:background .15s ease, transform .15s ease; }
.blitz-search button:hover { background:var(--blitz-coral-dark); transform:scale(1.06); }
.blitz-search__ico svg { transition:color .2s ease; }
.blitz-search:focus-within .blitz-search__ico svg { color:var(--blitz-coral); }

/* ===================== TABS destacados funcionales ===================== */
.bz-tabs .bz-tab { cursor:pointer; border:1px solid var(--blitz-line); background:#fff; font-family:inherit; font-size:.95rem; font-weight:600; color:var(--blitz-ink); padding:.6rem 1.4rem; border-radius:999px; transition:background .15s ease, color .15s ease, border-color .15s ease, transform .15s ease; }
.bz-tabs .bz-tab:hover { border-color:var(--blitz-ink); transform:translateY(-1px); }
.bz-tabs .bz-tab.is-active { background:var(--blitz-ink); color:#fff; border-color:var(--blitz-ink); }
.bz-grid__empty { grid-column:1/-1; text-align:center; color:var(--blitz-ink-soft); padding:2rem 0; }

/* ===================== Configurador real (dots clicables) ===================== */
.bz-config__dots { display:flex; gap:.5rem; flex-wrap:wrap; }
.bz-config__dot { padding:0; width:44px; height:44px; border-radius:12px; border:2px solid transparent; background:#fff; cursor:pointer; overflow:hidden; transition:border-color .15s ease, transform .15s ease; }
.bz-config__dot img { width:100%; height:100%; object-fit:cover; display:block; }
.bz-config__dot:hover { transform:translateY(-2px); border-color:var(--blitz-line); }
.bz-config__dot.is-active { border-color:var(--blitz-coral); }
.bz-config__note { display:flex; align-items:center; gap:.4rem; font-size:.82rem; color:var(--blitz-ink-soft); margin-top:.25rem; }
a.bz-config__pvimg { display:block; }
a.bz-config__pvimg:hover img { transform:scale(1.03); transition:transform .2s ease; }

/* ===================== Newsletter funcional ===================== */
.bz-newsletter__msg { margin:.5rem 0 0; font-size:.85rem; }
.bz-newsletter__msg.is-ok { color:#2e7d32; }
.bz-newsletter__msg.is-err { color:var(--blitz-coral-dark); }

/* ===================== Ficha producto ===================== */
/* Navegación prev/next de Storefront: sus miniaturas sangran por los bordes
   y no forma parte del diseño Blitz (usamos "Volver a Blitz" + relacionados). */
.storefront-product-pagination { display: none !important; }
.mvd-carousel { overflow: hidden !important; }
.mvd-carousel-sec { overflow: hidden; }

/* ===================== CARRITO: tabla legible (fix char-by-char) ===================== */
.woocommerce-cart table.cart { table-layout: auto; width: 100%; }
.woocommerce-cart table.cart td,
.woocommerce-cart table.cart th { word-break: normal !important; overflow-wrap: break-word; white-space: normal; }
.woocommerce-cart table.cart td.product-remove { width: 34px; text-align:center; }
.woocommerce-cart table.cart td.product-thumbnail { width: 94px; }
.woocommerce-cart table.cart td.product-name { width: auto; min-width: 200px; text-align: left; }
.woocommerce-cart table.cart td.product-name a { word-break: normal !important; }
.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart td.product-subtotal { width: 88px; white-space: nowrap; text-align: right; }
.woocommerce-cart table.cart td.product-quantity { width: 92px; }
.woocommerce-cart table.cart .variation, .woocommerce-cart table.cart dl.variation dd,
.woocommerce-cart table.cart dl.variation dt { word-break: normal !important; overflow-wrap: break-word; }

/* Checkout: título del resumen alineado a su columna */
.woocommerce-checkout h3#order_review_heading { text-align:left !important; }

/* ===================== CORRECCIONES FEEDBACK CLIENTE ===================== */
/* Buscador: centrado vertical real + sin sombra del input */
.blitz-search { box-shadow:none; align-items:center; }
.blitz-search input[type="search"] {
	box-shadow:none !important; -webkit-appearance:none; appearance:none;
	line-height:1.2; height:auto; margin:0; min-height:0;
}
.blitz-search input[type="search"]::-webkit-search-decoration,
.blitz-search input[type="search"]::-webkit-search-cancel-button { -webkit-appearance:none; }
.blitz-search__ico { align-self:center; }
.blitz-search button { align-self:center; }

/* Carrito en el header: bolsa + total EN LÍNEA (sin salto de línea) */
.blitz-cart2 .blitz-cart__data { flex-direction:row !important; align-items:center; gap:10px; }

/* Tabs de destacados: el atributo [hidden] debe ocultar la card
   (vence a .bz-card{display:flex}, que si no la deja siempre visible) */
.bz-card[hidden] { display:none !important; }
.bz-grid__empty[hidden] { display:none !important; }

/* Botón "Comprar este pack" dentro del configurador */
.bz-config__cta { display:inline-flex; align-items:center; justify-content:center; gap:8px; width:100%; margin-top:14px; }
.bz-config__cta svg { flex:none; }

/* Footer: texto más legible (menos gris apagado) */
/* Links del footer: Storefront fuerza color:#333333 con .site-footer a:not(.button)...
   (más especificidad). Igualamos la especificidad + !important para que se vean. */
.site-footer .bz-footer__col a,
.bz-footer__col a { color:#a2a2a2 !important; }
.site-footer .bz-footer__col a:hover,
.bz-footer__col a:hover { color:var(--blitz-coral) !important; }
.bz-footer__brandcol p, .bz-footer__club p { color:#c7bcb5; }
.bz-footer__bar { color:#a2a2a2; }

/* ===================== AJUSTES HEADER (feedback inspector) ===================== */
/* 1) El buscador arrastraba el margin-bottom de 1.618em del <form> genérico → descentra */
.blitz-search { margin-bottom: 0 !important; }
/* 2) Aire simétrico VISUAL: el logo trae ~8px de bearing del glifo, así que el lado
   derecho lleva 8px extra para que el user quede igual de separado del borde que el logo. */
.blitz-header-inner { padding-left: 34px !important; padding-right: 50px !important; }
/* Buscador flexible: encoge si falta espacio (nunca desborda). El grupo de acciones se
   ancla al borde derecho con margin-left:auto → el user queda SIEMPRE a ras del
   padding-right (gap 50 = mismo aire visual que el logo, en cualquier ancho). */
.blitz-header-inner .blitz-search { flex: 1 1 auto !important; min-width: 0 !important; max-width: 300px !important; }
.blitz-header-inner .blitz-armaset { margin-left: auto !important; }

/* ===================== CARDS DE TIENDA = mismo diseño que la home (.bz-card) ===================== */
body.mvd-archive ul.products li.product.bz-card {
	background:#fff; border:1px solid var(--blitz-line); border-radius:18px;
	padding:0; overflow:hidden; display:flex; flex-direction:column;
}
body.mvd-archive ul.products li.product.bz-card:hover {
	transform:translateY(-4px); box-shadow:0 16px 34px rgba(23,17,15,.1);
}
body.mvd-archive ul.products li.product.bz-card .bz-card__media {
	aspect-ratio:1/1; background:var(--blitz-soft); padding:0; margin:0;
}
body.mvd-archive ul.products li.product.bz-card .bz-card__media img {
	width:86% !important; height:86% !important; aspect-ratio:auto !important;
	object-fit:contain !important; margin:0 !important; border-radius:0 !important;
	background:transparent !important; mix-blend-mode:multiply;
}
body.mvd-archive li.product.bz-card .bz-card__title { min-height:0; -webkit-line-clamp:2; }
/* ===================== CARDS DE IGUAL ALTURA (grid/carrusel) ===================== */
/* Las grillas estiran las cards a la altura de la fila; la card llena la celda,
   el cuerpo crece y el precio+bolsa se anclan abajo → todas quedan iguales. */
body.mvd-archive ul.products { align-items:stretch !important; }
.bz-grid, .mvd-carousel__track { align-items:stretch; }
.bz-card { height:100%; }
.mvd-carousel__slide { display:flex; }
.mvd-carousel__slide .bz-card { width:100%; }
.bz-card__body { flex:1 1 auto; }
.bz-card__foot { margin-top:auto !important; padding-top:8px; }

/* ===================== FEEDBACK CLIENTE (tanda 2) ===================== */
/* Quitar botón "Volver a Blitz" de la ficha */
.mvd-volver { display:none !important; }

/* Menos espacio en blanco arriba del contenido (archivos, carrito, checkout, páginas) */
.storefront-breadcrumb { margin-bottom:0 !important; padding:12px 0 4px !important; }
.site-content { padding-top:14px !important; }
.woocommerce-products-header { margin:0 0 6px !important; padding:0 !important; }
.woocommerce-products-header__title, .page-title, h1.entry-title.show-title { display:none !important; }
.entry-header .entry-title, .page .entry-header { margin-top:0 !important; }
/* Títulos de página (Carrito, Finalizar compra) más compactos */
.woocommerce-cart .entry-header, .woocommerce-checkout .entry-header { margin-bottom:10px !important; }
.woocommerce-cart .entry-title, .woocommerce-checkout .entry-title { margin:.2em 0 !important; }

/* Alertas de error del checkout con el estilo de la marca (no el bloque rojo duro) */
.woocommerce-error {
	background:#fff4f3 !important; border:1px solid var(--blitz-coral) !important;
	border-left:4px solid var(--blitz-coral) !important; border-radius:12px !important;
	color:var(--blitz-ink) !important; box-shadow:0 6px 18px rgba(237,116,111,.12);
	padding:16px 18px 16px 46px !important;
}
.woocommerce-error li { color:var(--blitz-ink) !important; }
.woocommerce-error li strong { color:var(--blitz-coral-dark) !important; }
.woocommerce-error li a { color:var(--blitz-coral-dark) !important; }
.woocommerce-error::before { color:var(--blitz-coral) !important; }
.woocommerce-error a { text-decoration:none !important; }
/* Carrito/Checkout: título compacto y menos aire (feedback espacio en blanco) */
.woocommerce-cart .entry-title, .woocommerce-checkout .entry-title {
	font-size:1.9rem !important; margin:0 0 6px !important; text-align:left !important;
}
.woocommerce-cart .bz-steps, .woocommerce-checkout .bz-steps { margin-top:6px !important; }
/* Compactar el carrito (menos espacio en blanco entre secciones) */
.woocommerce-cart .entry-header, .woocommerce-checkout .entry-header { margin:0 0 6px !important; }
.woocommerce-cart .entry-content { margin-top:0 !important; }
.woocommerce-cart .bz-steps { margin:4px 0 16px !important; }
.woocommerce-cart .bz-freeship { margin:0 0 16px !important; }
.woocommerce-checkout .bz-steps { margin:4px 0 16px !important; }
/* Cart/checkout: matar el margen grande de Storefront entre título y contenido */
.woocommerce-cart .site-main .entry-header,
.woocommerce-checkout .site-main .entry-header { margin:0 0 4px !important; padding:0 !important; }
.woocommerce-cart .site-main article.hentry,
.woocommerce-checkout .site-main article.hentry { margin:0 !important; }
.woocommerce-cart .site-main .entry-content,
.woocommerce-checkout .site-main .entry-content { margin:0 !important; padding:0 !important; }

/* ===================== FILTROS POR ATRIBUTO (sidebar tienda) ===================== */
.bz-filter__terms { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:1px; }
.bz-filter__terms a { display:flex; align-items:center; gap:9px; padding:7px 8px; border-radius:10px; text-decoration:none; color:var(--blitz-ink); font-size:.9rem; transition:background .12s; }
.bz-filter__terms a:hover { background:var(--blitz-soft); }
.bz-filter__check { width:16px; height:16px; border:1.5px solid var(--blitz-line); border-radius:5px; flex:none; display:inline-flex; align-items:center; justify-content:center; transition:.12s; }
.bz-filter__name { flex:1; }
.bz-filter__count { color:var(--blitz-ink-soft); font-size:.76rem; background:var(--blitz-soft); border-radius:999px; padding:1px 8px; }
.bz-filter__terms li.is-active a { color:var(--blitz-coral-dark); font-weight:700; }
.bz-filter__terms li.is-active .bz-filter__check { background:var(--blitz-coral); border-color:var(--blitz-coral); }
.bz-filter__terms li.is-active .bz-filter__check::after { content:''; width:5px; height:9px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); margin-top:-2px; }
.bz-filter__terms li.is-active .bz-filter__count { background:#fff; color:var(--blitz-coral-dark); }

/* ===================== IMÁGENES DE PRODUCTO UNIFORMES ===================== */
/* Las imágenes ahora son recortes transparentes sobre el fondo del card (#F7EFEC),
   así que no necesitan mix-blend-mode y no se recortan (son cuadradas). */
.bz-card__media img { mix-blend-mode:normal !important; }

/* ===================== BARRA DE TIENDA (orden · resultados · paginación) ===================== */
/* Todo va dentro de .storefront-sorting → esa es la fila (centrada verticalmente). */
.bz-shop-content > .storefront-sorting {
	display:flex; flex-wrap:wrap; align-items:center; column-gap:12px; row-gap:12px;
	float:none; width:auto; margin:0 0 22px;
}
.bz-shop-content > .storefront-sorting > .woocommerce-notices-wrapper { flex:1 1 100%; margin:0; }
.storefront-sorting .woocommerce-ordering { order:1; float:none; margin:0; }
.storefront-sorting .woocommerce-result-count { order:2; float:none; margin:0; color:var(--blitz-ink-soft); font-size:.9rem; }
.storefront-sorting .woocommerce-pagination { order:3; float:none; width:auto; margin:0 0 0 auto; border:0; }

/* Select de orden: pill de marca (consistente con la paginación) */
.woocommerce-ordering select.orderby {
	-webkit-appearance:none; appearance:none; background:#fff; border:1px solid var(--blitz-line);
	border-radius:999px; padding:0 38px 0 16px; height:38px; font-family:inherit; font-size:.9rem;
	font-weight:600; color:var(--blitz-ink); cursor:pointer;
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23ED746F' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
	background-repeat:no-repeat; background-position:right 16px center;
}

/* Paginación: mismos pills que el resto, activo coral */
.woocommerce-pagination ul { display:inline-flex; align-items:center; gap:5px; border:0 !important; margin:0; padding:0; }
.woocommerce-pagination ul li { border:0 !important; margin:0; display:inline-flex; }
.woocommerce-pagination ul li .page-numbers {
	display:inline-flex; align-items:center; justify-content:center; min-width:36px; height:36px; padding:0 8px;
	border:1px solid var(--blitz-line) !important; border-radius:10px; background:#fff; color:var(--blitz-ink);
	font-family:"Archivo",sans-serif; font-weight:700; font-size:.88rem; text-decoration:none;
	transition:background .15s, color .15s, border-color .15s;
}
.woocommerce-pagination ul li .page-numbers:hover { border-color:var(--blitz-coral) !important; color:var(--blitz-coral-dark); background:var(--blitz-soft); }
.woocommerce-pagination ul li .page-numbers.current,
.woocommerce-pagination ul li span.page-numbers.current { background:var(--blitz-coral) !important; border-color:var(--blitz-coral) !important; color:#fff !important; }
.woocommerce-pagination ul li .page-numbers.dots { border:0 !important; min-width:auto; background:transparent; color:var(--blitz-ink-soft); }

/* Barra de ABAJO (2º .storefront-sorting, tras la grilla): ocultar orden+conteo, solo paginación centrada */
.bz-shop-content > ul.products ~ .storefront-sorting { justify-content:center; margin:14px 0 0; }
.bz-shop-content > ul.products ~ .storefront-sorting .woocommerce-ordering,
.bz-shop-content > ul.products ~ .storefront-sorting .woocommerce-result-count { display:none !important; }
.bz-shop-content > ul.products ~ .storefront-sorting .woocommerce-pagination { margin:0 auto !important; }

/* ===================== CHECKOUT: campos en 2 columnas + diseño uniforme ===================== */
/* Pares Región/Comuna y Nombre/Apellidos lado a lado. */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row { width:auto !important; min-width:0; float:none; margin:0 0 16px; grid-column:1 / -1; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-first,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row-first { grid-column:1; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-last,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row-last { grid-column:2; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .bz-hidden-field,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .bz-hidden-field { display:none !important; }
/* El JS de WC reclasifica Región/Comuna a ancho completo; forzamos las 2 columnas por ID. */
#billing_state_field, #shipping_state_field { grid-column:1 !important; }
#billing_city_field, #shipping_city_field { grid-column:2 !important; }

/* Mismo diseño para el select2 de Región que para el resto de los campos. */
.woocommerce-checkout .select2-container { width:100% !important; }
.woocommerce-checkout .select2-container--default .select2-selection--single {
	height:47px; border:1px solid var(--blitz-line); border-radius:12px; background:#fff;
	display:flex; align-items:center; padding:0 14px;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height:1.4; padding:0; color:var(--blitz-ink); font-family:inherit;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__placeholder { color:#9b8f89; }
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow { height:100%; right:10px; }
.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--single,
.woocommerce-checkout .select2-container--default.select2-container--open .select2-selection--single { border-color:var(--blitz-coral); }
/* Teléfono es obligatorio: ocultar "(opcional)" que el JS de WC reañade y marcar con * */
#billing_phone_field label .optional, #shipping_phone_field label .optional { display:none !important; }
#billing_phone_field label:not(:has(.required))::after { content:" *"; color:var(--blitz-coral); font-weight:700; }

/* Carrito: separar la fila de cupón/actualizar de la tabla (no pegada arriba) */
.woocommerce-cart .woocommerce-cart-form .actions { margin-top:20px; padding-top:22px; border-top:1px solid var(--blitz-line); }
.woocommerce-cart .woocommerce-cart-form .actions .coupon { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.woocommerce-cart .woocommerce-cart-form .actions .coupon input#coupon_code { min-height:46px; }

/* ===================== MI CUENTA (feedback cliente) ===================== */
/* Sin título "Mi cuenta"/"Direcciones" (el breadcrumb da contexto) */
.woocommerce-account .entry-header, .woocommerce-account .entry-title { display:none !important; }
.woocommerce-account .site-content { padding-top:14px !important; }

/* Sidebar: texto a la izquierda con aire, ícono a la derecha.
   WooCommerce fuerza padding:.875em 0 y el ícono es un ::before → lo corregimos. */
.woocommerce-account .entry-content .woocommerce-MyAccount-navigation ul li a,
.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display:flex !important; align-items:center; gap:14px;
	padding:15px 22px !important; text-align:left;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a::before,
.woocommerce-account .woocommerce-MyAccount-navigation li a::after {
	order:2; margin-left:auto; opacity:.6; flex:none;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a::before,
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a::after { opacity:1; }

/* Contenido de cuenta */
.woocommerce-account .woocommerce-MyAccount-content { padding:30px 32px; }

/* Direcciones: 2 columnas, cards con ancho correcto y títulos normales (no letra por letra) */
.woocommerce-account .woocommerce-Addresses.u-columns,
.woocommerce-account .woocommerce-Addresses {
	display:grid !important; grid-template-columns:1fr 1fr; gap:22px; width:100%; margin:18px 0 0;
}
.woocommerce-account .woocommerce-Address {
	width:auto !important; float:none !important; margin:0 !important;
	border:1px solid var(--blitz-line); border-radius:14px; padding:22px;
}
.woocommerce-account .woocommerce-Address-title { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.woocommerce-account .woocommerce-Address-title h3, .woocommerce-account .woocommerce-Address h3 {
	font-family:"Archivo",sans-serif; font-weight:800; font-size:1.05rem !important;
	margin:0 !important; word-break:normal !important; overflow-wrap:break-word;
}
.woocommerce-account .woocommerce-Address-title a.edit { flex:none; color:var(--blitz-coral-dark); font-weight:700; text-decoration:none; white-space:nowrap; }
.woocommerce-account .woocommerce-Address address { font-style:normal; color:var(--blitz-ink-soft); line-height:1.6; word-break:normal; }
@media (max-width:640px){
	.woocommerce-account .woocommerce-Addresses.u-columns,
	.woocommerce-account .woocommerce-Addresses { grid-template-columns:1fr !important; }
}

/* Login / Registro: una card por columna, centradas */
/* El .woocommerce (login/registro) contiene notices + .u-columns; el grid de 2
   columnas debe ir en .u-columns, NO aquí (si no, el notices vacío toma una columna). */
.woocommerce-account:not(.logged-in) .woocommerce { display:block; max-width:860px; margin:10px auto 0; }
.woocommerce-account .u-column1.col-1, .woocommerce-account .u-column2.col-2 {
	width:auto !important; float:none !important; margin:0 !important;
	border:1px solid var(--blitz-line); border-radius:18px; padding:28px; background:#fff;
}
.woocommerce-account .woocommerce-form-login, .woocommerce-account .woocommerce-form-register {
	border:0 !important; padding:0 !important; background:transparent !important; margin:0 !important;
}
.woocommerce-account h2 { font-family:"Archivo",sans-serif; font-weight:800; font-size:1.2rem; margin:0 0 18px; }
.woocommerce-account .woocommerce-form-login .form-row,
.woocommerce-account .woocommerce-form-register .form-row { width:100%; margin:0 0 16px; }
.woocommerce-account .woocommerce-form-login input:not([type="checkbox"]):not([type="submit"]),
.woocommerce-account .woocommerce-form-register input:not([type="submit"]) { width:100%; }
.woocommerce-account .woocommerce-form-login .woocommerce-form-login__submit,
.woocommerce-account .woocommerce-form-register .woocommerce-form-register__submit { width:100%; margin-top:4px; }
.woocommerce-account .woocommerce-form-login__rememberme { display:flex; align-items:center; gap:8px; }
@media (max-width:720px){ .woocommerce-account:not(.logged-in) .woocommerce { grid-template-columns:1fr; } }
/* Ocultar el enlace "Editar" de página (edit_post_link) en Mi cuenta */
.woocommerce-account .edit-link, .woocommerce-account .post-edit-link { display:none !important; }

/* Mi cuenta en pantallas angostas: apilar con el mismo gutter que el resto (no pegado al borde) */
@media (max-width:900px){
	.woocommerce-account .woocommerce { display:block; padding-left:18px; padding-right:18px; }
	.woocommerce-account .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce-MyAccount-content { width:100% !important; flex:none !important; float:none !important; margin:0 0 20px !important; }
}

/* ===================== FORM DE DIRECCIONES (Mi cuenta) = mismo estilo que checkout ===================== */
.woocommerce-account .bz-hidden-field { display:none !important; }
.woocommerce-account .woocommerce-address-fields__field-wrapper { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
.woocommerce-account .woocommerce-address-fields__field-wrapper > .form-row { width:auto !important; min-width:0; float:none; margin:0 0 16px; grid-column:1 / -1; }
.woocommerce-account .woocommerce-address-fields__field-wrapper > .form-row-first { grid-column:1; }
.woocommerce-account .woocommerce-address-fields__field-wrapper > .form-row-last { grid-column:2; }
.woocommerce-account .woocommerce-address-fields__field-wrapper > .bz-hidden-field { display:none !important; }
.woocommerce-account .select2-container { width:100% !important; }
.woocommerce-account .select2-container--default .select2-selection--single { height:47px; border:1px solid var(--blitz-line); border-radius:12px; background:#fff; display:flex; align-items:center; padding:0 14px; }
.woocommerce-account .select2-container--default .select2-selection--single .select2-selection__rendered { line-height:1.4; padding:0; color:var(--blitz-ink); font-family:inherit; }
.woocommerce-account .select2-container--default .select2-selection--single .select2-selection__arrow { height:100%; right:10px; }
.woocommerce-account .select2-container--default.select2-container--focus .select2-selection--single { border-color:var(--blitz-coral); }

/* ===================== Autocompletado del navegador: mismo estilo (sin amarillo) ===================== */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active,
textarea:-webkit-autofill,
select:-webkit-autofill {
	-webkit-box-shadow: 0 0 0 1000px #fff inset !important;
	box-shadow: 0 0 0 1000px #fff inset !important;
	-webkit-text-fill-color: var(--blitz-ink) !important;
	caret-color: var(--blitz-ink);
	border:1px solid var(--blitz-line) !important;
	transition: background-color 9999s ease-in-out 0s;
}
/* Detalles de la cuenta: campos homologados (mismo diseño que checkout) */
.woocommerce-account .woocommerce-EditAccountForm .woocommerce-form-row,
.woocommerce-account .woocommerce-EditAccountForm .form-row { margin:0 0 18px; }
.woocommerce-account .woocommerce-EditAccountForm input:not([type="submit"]),
.woocommerce-account .woocommerce-EditAccountForm .woocommerce-Input { width:100%; }

/* ===================== DETALLES DE CUENTA: sección contraseña homologada ===================== */
/* Sección "Cambio de contraseña": card blanca (sin fondo gris) */
.woocommerce-account .woocommerce-EditAccountForm fieldset {
	background:#fff !important; border:1px solid var(--blitz-line); border-radius:14px;
	padding:20px 24px 4px; margin:18px 0 0;
}
.woocommerce-account .woocommerce-EditAccountForm fieldset legend {
	font-family:"Archivo",sans-serif; font-weight:800; font-size:1.05rem; color:var(--blitz-ink);
	padding:0 8px; margin-left:-8px; width:auto; float:none;
}
/* Campo de contraseña con ojo integrado dentro del input (no caja gris) */
.woocommerce-account .password-input { position:relative; display:block; width:100%; }
.woocommerce-account .password-input .input-text,
.woocommerce-account .password-input input { width:100% !important; padding-right:48px !important; background:#fff !important; }
.woocommerce-account .show-password-input,
.woocommerce-account .hide-password-input {
	position:absolute !important; top:50% !important; right:14px !important; transform:translateY(-50%);
	background:transparent !important; border:0 !important; box-shadow:none !important;
	width:auto !important; height:auto !important; padding:0 !important; margin:0 !important;
	cursor:pointer; color:var(--blitz-ink-soft);
}

/* ==========================================================================
   Línea de tiempo del pedido (Ver pedido · Mi Cuenta)
   ========================================================================== */
.bz-timeline-box{
	background:var(--blitz-soft);
	border:1px solid var(--blitz-line);
	border-radius:24px;
	padding:30px 26px;
	margin:0 0 34px;
}
.bz-timeline-head{ text-align:center; margin-bottom:26px; }
.bz-timeline-title{
	margin:0 0 6px;
	font-size:22px; font-weight:800; color:var(--blitz-ink);
}
.bz-timeline-sub{
	margin:0; font-size:14px; color:var(--blitz-ink-soft); line-height:1.6;
}
.bz-timeline-sub strong{ color:var(--blitz-ink); }
.bz-timeline-state{ color:var(--blitz-coral) !important; }

.bz-timeline{
	display:flex; justify-content:space-between; align-items:flex-start;
	position:relative; margin:10px 14px 6px; --bz-progress:0%;
}
.bz-timeline::before{
	content:""; position:absolute; top:29px; left:0; width:100%; height:4px;
	border-radius:4px;
	background:linear-gradient(to right,
		var(--blitz-coral) 0%, var(--blitz-coral) var(--bz-progress),
		var(--blitz-line) var(--bz-progress), var(--blitz-line) 100%);
	transition:background .35s ease; z-index:0;
}
.bz-step{
	position:relative; z-index:1; flex:1 1 0; text-align:center;
	display:flex; flex-direction:column; align-items:center;
	min-height:120px;
}
.bz-step__circle{
	width:60px; height:60px; border-radius:50%;
	display:flex; align-items:center; justify-content:center;
	background:#fff; border:3px solid var(--blitz-line);
	color:var(--blitz-ink-soft); margin-bottom:12px;
	transition:all .3s ease;
}
.bz-step.is-done .bz-step__circle{
	background:var(--blitz-coral); border-color:var(--blitz-coral); color:#fff;
}
.bz-step.is-current .bz-step__circle{
	box-shadow:0 0 0 6px var(--blitz-soft-2);
	animation:bz-breath 1.6s ease-in-out infinite;
}
.bz-step__label{
	font-size:13px; line-height:1.35; color:var(--blitz-ink-soft); font-weight:600;
}
.bz-step.is-done .bz-step__label{ color:var(--blitz-ink); font-weight:700; }

.bz-step__tip{
	visibility:hidden; opacity:0;
	position:absolute; bottom:calc(100% + 10px); left:50%;
	transform:translateX(-50%) translateY(6px);
	width:210px; padding:12px 14px;
	background:#fff; color:var(--blitz-ink);
	border:1px solid var(--blitz-line); border-radius:14px;
	box-shadow:0 8px 26px rgba(23,17,15,.12);
	font-size:13px; line-height:1.5; text-align:center;
	transition:opacity .25s ease, transform .25s ease; z-index:5;
}
.bz-step__tip::after{
	content:""; position:absolute; top:100%; left:50%; transform:translateX(-50%);
	border:7px solid transparent; border-top-color:#fff;
}
.bz-step:hover .bz-step__tip{
	visibility:visible; opacity:1; transform:translateX(-50%) translateY(0);
}

.bz-timeline-cancel{
	background:#FBE7E7; color:#b23636; border:1px solid #F1CFCF;
	border-radius:14px; padding:14px 18px; text-align:center;
	font-size:14px; margin:6px 0 4px;
}
.bz-timeline-cta{ text-align:center; margin-top:26px; }
.bz-timeline-btn{
	display:inline-block; padding:12px 28px;
	background:var(--blitz-coral); color:#fff !important;
	border-radius:999px; text-decoration:none;
	font-size:14px; font-weight:800; letter-spacing:.2px;
	transition:background .2s ease;
}
.bz-timeline-btn:hover{ background:var(--blitz-coral-dark); }

@keyframes bz-breath{
	0%{ transform:scale(1); } 50%{ transform:scale(1.08); } 100%{ transform:scale(1); }
}

@media (max-width:600px){
	/* Timeline vertical limpio: círculo + etiqueta por fila (sin tooltips) */
	.bz-timeline{ flex-direction:column; align-items:stretch; margin:8px 2px 0; }
	.bz-timeline::before{
		top:12px; bottom:12px; left:26px; width:4px; height:auto;
		background:linear-gradient(to bottom,
			var(--blitz-coral) 0%, var(--blitz-coral) var(--bz-progress),
			var(--blitz-line) var(--bz-progress), var(--blitz-line) 100%);
	}
	.bz-step{
		flex:0 0 auto !important; flex-direction:row; align-items:center; text-align:left;
		min-height:0; margin:0 0 16px; gap:16px; width:100%;
	}
	.bz-step:last-child{ margin-bottom:0; }
	.bz-step__circle{ margin:0 !important; flex:0 0 52px; width:52px; height:52px; }
	.bz-step__label{ font-size:15px; line-height:1.3; }
	.bz-step__tip{ display:none !important; }
}

/* ==========================================================================
   Muestras de variación (swatches) propias · sin plugin
   ========================================================================== */
/* Oculta el <select> nativo pero lo mantiene funcional para WooCommerce */
.bz-swatch-native{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; }
.bz-swatch-field--single{ display:none !important; }
/* Si un atributo tiene un solo valor (sin elección real), ocultamos toda la
   fila para no dejar el rótulo huérfano sin botones. */
.woocommerce div.product form.cart .variations tr:has(.bz-swatch-field--single){ display:none !important; }

.bz-swatches{
	display:flex; flex-wrap:wrap; gap:10px; margin:2px 0 4px;
}
.bz-swatch{
	appearance:none; cursor:pointer;
	padding:9px 16px; min-width:44px;
	background:#fff; color:var(--blitz-ink);
	border:1.5px solid var(--blitz-line); border-radius:999px;
	font-size:14px; font-weight:600; line-height:1.1;
	font-family:inherit;
	transition:border-color .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
}
.bz-swatch span{ display:block; }
.bz-swatch:hover{ border-color:var(--blitz-coral); color:var(--blitz-coral); }
.bz-swatch.is-selected{
	background:var(--blitz-coral); border-color:var(--blitz-coral); color:#fff;
	box-shadow:0 4px 14px rgba(237,116,111,.30);
}
.bz-swatch.is-selected:hover{ color:#fff; }
.bz-swatch.is-disabled{
	opacity:.4; cursor:not-allowed; text-decoration:line-through;
	border-color:var(--blitz-line); color:var(--blitz-ink-soft); background:var(--blitz-soft);
	box-shadow:none;
}
.bz-swatch:focus-visible{ outline:2px solid var(--blitz-coral); outline-offset:2px; }

/* La tabla de variaciones de WooCommerce, alineada al estilo Blitz */
.woocommerce div.product form.cart .variations{ margin-bottom:14px; }
.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th{
	border:0; padding:6px 0; vertical-align:top;
}
.woocommerce div.product form.cart .variations th.label{
	font-weight:700; color:var(--blitz-ink); padding-right:16px; padding-top:14px;
	text-transform:none;
}
.woocommerce div.product form.cart .variations td.value .reset_variations{
	display:inline-block; margin-top:6px; font-size:12px; color:var(--blitz-ink-soft);
}

/* ==========================================================================
   Diferenciales de marca (home · reemplaza testimonios)
   ========================================================================== */
.bz-diff{ text-align:center; display:flex; flex-direction:column; align-items:center; }
.bz-diff__ico{
	display:inline-flex; align-items:center; justify-content:center;
	width:54px; height:54px; border-radius:16px;
	background:var(--blitz-soft-2); color:var(--blitz-coral); margin-bottom:14px;
}
.bz-diff__title{ font-family:"Archivo",sans-serif; font-weight:800; font-size:1.05rem; color:var(--blitz-ink); margin-bottom:8px; }
.bz-diff p{ color:var(--blitz-ink-soft); font-size:.92rem; line-height:1.55; margin:0; }

/* ==========================================================================
   Páginas informativas (FAQ · Envíos · Garantía · Contacto)
   ========================================================================== */
.bz-infopage .entry-header,
.bz-infopage .page-header{ text-align:center; margin-bottom:8px; }
.bz-infopage .entry-title,
.bz-infopage .page-title{
	font-family:"Archivo",sans-serif; font-weight:900;
	font-size:clamp(2rem,4vw,2.8rem); color:var(--blitz-ink);
	text-align:center; margin:10px 0 30px;
}
.bz-infopage .entry-content{ max-width:760px; margin-left:auto; margin-right:auto; }
.bz-infopage .site-main{ padding-bottom:50px; }

/* ---- Páginas legales (Términos / Privacidad) ---- */
.bz-legal{ color:var(--blitz-ink-soft); font-size:.96rem; line-height:1.7; }
.bz-legal__updated{ font-size:.82rem; color:var(--blitz-ink-soft); opacity:.75; margin:0 0 26px; padding-bottom:16px; border-bottom:1px solid var(--blitz-line); }
.bz-legal h2{
	font-family:"Archivo",sans-serif; font-weight:800; font-size:1.2rem; color:var(--blitz-ink);
	margin:34px 0 12px; padding-top:6px;
}
.bz-legal h2:first-of-type{ margin-top:6px; }
.bz-legal h3{ font-family:"Archivo",sans-serif; font-weight:800; font-size:1rem; color:var(--blitz-ink); margin:22px 0 8px; }
.bz-legal p{ margin:0 0 14px; }
.bz-legal strong{ color:var(--blitz-ink); }
.bz-legal a{ color:var(--blitz-coral); text-decoration:underline; overflow-wrap:anywhere; }
.bz-legal ul,
.bz-legal ol{ margin:0 0 16px; padding-left:22px; }
.bz-legal li{ margin:0 0 8px; }

/* Nav legal en la barra inferior del footer */
.bz-footer__legal{ display:flex; gap:18px; flex-wrap:wrap; }
.bz-footer__legal a{ color:#a2a2a2; text-decoration:none; }
.bz-footer__legal a:hover{ color:#fff; }

/* ---- FAQ acordeón ---- */
.bz-faq-list{ display:flex; flex-direction:column; gap:14px; }
.bz-faq-item{
	background:#fff; border:1px solid var(--blitz-line); border-radius:16px;
	padding:0 22px; overflow:hidden; transition:border-color .2s ease, box-shadow .2s ease;
}
.bz-faq-item[open]{ border-color:var(--blitz-coral); box-shadow:0 6px 24px rgba(237,116,111,.10); }
.bz-faq-q{
	list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between;
	gap:16px; padding:20px 0; font-family:"Archivo",sans-serif; font-weight:800;
	font-size:1.05rem; color:var(--blitz-ink);
}
.bz-faq-q::-webkit-details-marker{ display:none; }
.bz-faq-ico{ position:relative; flex:0 0 auto; width:20px; height:20px; }
.bz-faq-ico::before,.bz-faq-ico::after{
	content:""; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
	background:var(--blitz-coral); border-radius:2px; transition:transform .25s ease;
}
.bz-faq-ico::before{ width:14px; height:2.5px; }
.bz-faq-ico::after{ width:2.5px; height:14px; }
.bz-faq-item[open] .bz-faq-ico::after{ transform:translate(-50%,-50%) scaleY(0); }
.bz-faq-a{ padding:0 0 22px; color:var(--blitz-ink-soft); line-height:1.6; }
.bz-faq-a p{ margin:0 0 10px; }
.bz-faq-a p:last-child{ margin-bottom:0; }

/* ---- Tarjetas de sección (Envíos / Garantía / Contacto) ---- */
.bz-info-cards{ display:flex; flex-direction:column; gap:16px; }
.bz-info-card{
	background:#fff; border:1px solid var(--blitz-line); border-radius:16px;
	padding:22px 24px; position:relative; padding-left:28px;
}
.bz-info-card::before{
	content:""; position:absolute; left:0; top:18px; bottom:18px; width:4px;
	background:var(--blitz-coral); border-radius:0 4px 4px 0;
}
.bz-info-card__title{ font-family:"Archivo",sans-serif; font-weight:800; font-size:1.15rem; color:var(--blitz-ink); margin:0 0 8px; }
.bz-info-card__body{ color:var(--blitz-ink-soft); line-height:1.6; }
.bz-info-card__body p{ margin:0 0 8px; }
.bz-info-card__body p:last-child{ margin-bottom:0; }
.bz-info-card__body a{ color:var(--blitz-coral); font-weight:600; }
.bz-contact-cta{ text-align:center; margin-top:22px; }
.bz-btn-wa{
	display:inline-block; padding:14px 30px; border-radius:999px;
	background:var(--blitz-coral); color:#fff!important; text-decoration:none;
	font-weight:800; font-size:1rem; transition:background .2s ease;
}
.bz-btn-wa:hover{ background:var(--blitz-coral-dark); }

/* ==========================================================================
   Sucursales
   ========================================================================== */
.bz-suc__hero{ text-align:center; margin:0 auto 26px; max-width:720px; }
.bz-suc__logo{ display:block; margin:0 auto 16px; max-width:180px; height:auto; }
.bz-suc__intro{ color:var(--blitz-ink-soft); line-height:1.6; margin:0; }
.bz-suc__intro strong{ color:var(--blitz-ink); }

.bz-suc__filters{
	display:flex; flex-wrap:wrap; align-items:flex-end; gap:16px;
	background:var(--blitz-soft); border:1px solid var(--blitz-line); border-radius:18px;
	padding:18px 20px; margin:0 0 30px;
}
.bz-suc__field{ display:flex; flex-direction:column; gap:6px; flex:1 1 200px; }
.bz-suc__field span{ font-family:"Archivo",sans-serif; font-weight:800; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--blitz-ink-soft); }
.bz-suc__field select{
	appearance:none; -webkit-appearance:none; width:100%;
	padding:12px 40px 12px 16px; border-radius:12px; border:1.5px solid var(--blitz-line);
	background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23ED746F' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>") no-repeat right 14px center;
	font-size:.95rem; color:var(--blitz-ink); cursor:pointer;
}
.bz-suc__field select:focus{ outline:none; border-color:var(--blitz-coral); box-shadow:0 0 0 3px rgba(237,116,111,.16); }
.bz-suc__field select:disabled{ opacity:.55; cursor:not-allowed; }
.bz-suc__count{ margin:0; padding-bottom:12px; font-weight:800; color:var(--blitz-coral); font-family:"Archivo",sans-serif; white-space:nowrap; }

.bz-suc__region{ margin:0 0 30px; }
.bz-suc__region-title{
	font-family:"Archivo",sans-serif; font-weight:800; font-size:1.25rem; color:var(--blitz-ink);
	display:flex; align-items:center; gap:10px; margin:0 0 16px;
	padding-bottom:10px; border-bottom:2px solid var(--blitz-line);
}
.bz-suc__region-n{
	font-size:.78rem; background:var(--blitz-soft-2); color:var(--blitz-coral);
	border-radius:999px; padding:2px 10px; font-weight:800;
}
.bz-suc__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.bz-suc__card{
	position:relative;
	background:#fff; border:1px solid var(--blitz-line); border-radius:16px; padding:20px;
	display:flex; flex-direction:column; transition:border-color .2s ease, box-shadow .2s ease;
}
.bz-suc__card:hover{ border-color:var(--blitz-coral); box-shadow:0 6px 22px rgba(23,17,15,.07); }
.bz-suc__card.is-pickup{ border-color:rgba(237,116,111,.55); box-shadow:0 4px 16px rgba(237,116,111,.10); }
/* Badge "Retiro de pedidos" sobre la card */
.bz-suc__badge{
	display:inline-flex; align-items:center; gap:6px; align-self:flex-start;
	background:var(--blitz-coral); color:#fff;
	font-family:"Archivo",sans-serif; font-weight:800; font-size:.66rem; letter-spacing:.05em; text-transform:uppercase;
	padding:5px 11px; border-radius:999px; margin:0 0 10px; line-height:1;
}
/* Variante en línea dentro del texto de intro */
.bz-suc__badge--inline{ font-size:.62rem; padding:3px 9px; margin:0 2px; vertical-align:middle; }
/* Checkbox "Solo tiendas de retiro" */
.bz-suc__check{ display:flex; align-items:center; gap:9px; flex:0 0 auto; cursor:pointer; padding-bottom:12px; }
.bz-suc__check input{ width:18px; height:18px; accent-color:var(--blitz-coral); cursor:pointer; }
.bz-suc__check span{ font-family:"Archivo",sans-serif; font-weight:800; font-size:.82rem; color:var(--blitz-ink); }
.bz-suc__name{ font-family:"Archivo",sans-serif; font-weight:800; font-size:1rem; color:var(--blitz-ink); margin:0 0 8px; }
.bz-suc__addr{ color:var(--blitz-ink); font-size:.9rem; margin:0 0 4px; line-height:1.45; }
.bz-suc__hrs{ color:var(--blitz-ink-soft); font-size:.82rem; margin:0 0 16px; line-height:1.45; }
.bz-suc__map{
	margin-top:auto; align-self:flex-start; display:inline-flex; align-items:center; gap:6px;
	padding:9px 16px; border-radius:999px; border:1.5px solid var(--blitz-coral);
	color:var(--blitz-coral)!important; text-decoration:none; font-weight:700; font-size:.85rem;
	transition:background .2s ease, color .2s ease;
}
.bz-suc__map:hover{ background:var(--blitz-coral); color:#fff!important; }
.bz-suc__map svg{ stroke:currentColor; }
.bz-suc__empty{ text-align:center; color:var(--blitz-ink-soft); padding:30px 0; }

@media (max-width:900px){
	.bz-suc__grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:600px){
	.bz-suc__grid{ grid-template-columns:1fr; }
	.bz-suc__filters{ flex-direction:column; align-items:stretch; gap:14px; }
	/* En columna, flex-basis se aplica a la ALTURA: forzar altura natural */
	.bz-suc__field{ flex:0 0 auto; }
	.bz-suc__count{ padding-bottom:0; }
}

/* Quitar subrayado heredado del tema en botones de estas secciones */
.bz-infopage a.bz-btn-wa,
.entry-content a.bz-suc__map,
.bz-suc a.bz-suc__map{ text-decoration:none !important; }

/* ===================== CART: centrar contenedor (márgenes iguales) ===================== */
.woocommerce-cart #content .col-full,
.woocommerce-cart .storefront-breadcrumb .col-full{
	max-width:1180px; margin-left:auto !important; margin-right:auto !important;
	padding-left:22px; padding-right:22px; box-sizing:border-box;
}

/* ===================== CHECKOUT: Despacho / Retiro ===================== */
.bz-delivery{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:0 0 26px; }
.bz-delivery__opt{
	display:flex; flex-direction:column; align-items:flex-start; gap:2px;
	text-align:left; cursor:pointer; padding:16px 18px 15px;
	background:#fff; border:2px solid var(--blitz-line); border-radius:16px;
	font-family:inherit; transition:border-color .18s ease, background .18s ease, box-shadow .18s ease;
	position:relative;
}
.bz-delivery__opt svg{ color:var(--blitz-ink-soft); margin-bottom:6px; transition:color .18s ease; }
.bz-delivery__t{ font-family:"Archivo",sans-serif; font-weight:800; font-size:1rem; color:var(--blitz-ink); }
.bz-delivery__s{ font-size:.82rem; color:var(--blitz-ink-soft); }
.bz-delivery__opt:hover{ border-color:var(--blitz-coral); }
.bz-delivery__opt.is-active{
	border-color:var(--blitz-coral); background:var(--blitz-soft-2);
	box-shadow:0 6px 20px rgba(237,116,111,.14);
}
.bz-delivery__opt.is-active svg{ color:var(--blitz-coral); }
.bz-delivery__opt.is-active::after{
	content:"✓"; position:absolute; top:12px; right:14px;
	width:22px; height:22px; border-radius:50%; background:var(--blitz-coral); color:#fff;
	display:flex; align-items:center; justify-content:center; font-size:.8rem; font-weight:800;
}

/* Campo tienda de retiro: oculto en despacho, visible en retiro */
.bz-pickup-field{ display:none !important; }
form.checkout.bz-retiro .bz-pickup-field{ display:block !important; }
/* En retiro se ocultan dirección, región y comuna */
form.checkout.bz-retiro #billing_address_1_field,
form.checkout.bz-retiro #billing_address_2_field,
form.checkout.bz-retiro #billing_state_field,
form.checkout.bz-retiro #billing_city_field{ display:none !important; }

/* Bloque de retiro en el detalle del pedido */
.bz-order-pickup{ margin:18px 0; padding:16px 18px; background:var(--blitz-soft); border:1px solid var(--blitz-line); border-radius:14px; }
.bz-order-pickup h2{ font-family:"Archivo",sans-serif; font-weight:800; font-size:1.05rem; margin:0 0 6px; }
.bz-order-pickup p{ margin:0; color:var(--blitz-ink); }

@media (max-width:560px){ .bz-delivery{ grid-template-columns:1fr; } }

/* Checkout: el método de envío lo controla el toggle Despacho/Retiro,
   así que en "Tu pedido" se muestra solo el método elegido (sin selector). */
.woocommerce-checkout #order_review ul.woocommerce-shipping-methods li{ display:none; list-style:none; margin:0; }
.woocommerce-checkout #order_review ul.woocommerce-shipping-methods li:has(input[type="radio"]:checked){ display:block; }
.woocommerce-checkout #order_review ul.woocommerce-shipping-methods input[type="radio"]{ display:none !important; }
.woocommerce-checkout #order_review ul.woocommerce-shipping-methods label{ pointer-events:none; margin:0; color:var(--blitz-ink); }

/* ===================== CHECKOUT: "Tu pedido" con imagen y más aire ===================== */
.woocommerce-checkout #order_review{ padding:30px 30px; }
.woocommerce-checkout #order_review table.shop_table thead th{
	font-family:"Archivo",sans-serif; text-transform:uppercase; font-size:.72rem;
	letter-spacing:.05em; color:var(--blitz-ink-soft); padding:10px 4px 14px;
}
.woocommerce-checkout #order_review table.shop_table td,
.woocommerce-checkout #order_review table.shop_table th{ padding:16px 4px; }
/* Línea del producto: miniatura a la izquierda, texto flotando a la derecha */
.woocommerce-checkout #order_review table.shop_table td.product-name{
	position:relative; padding:16px 4px 16px 84px; min-height:66px; line-height:1.5;
}
.woocommerce-checkout .bz-review-thumb{
	position:absolute; left:0; top:14px; width:66px; height:66px;
}
.woocommerce-checkout .bz-review-thumb img,
.woocommerce-checkout img.bz-review-img{
	width:66px !important; height:66px !important; border-radius:12px;
	object-fit:cover; margin:0 !important; border:1px solid var(--blitz-line); background:var(--blitz-soft);
}
.woocommerce-checkout #order_review td.product-name .product-quantity{ color:var(--blitz-ink-soft); font-weight:700; }
.woocommerce-checkout #order_review td.product-name dl.variation{ margin:8px 0 0; font-size:.85rem; }
.woocommerce-checkout #order_review td.product-name dl.variation dt{ font-weight:700; color:var(--blitz-ink); float:left; margin-right:6px; clear:left; }
.woocommerce-checkout #order_review td.product-name dl.variation dd{ margin:0; color:var(--blitz-ink-soft); }
.woocommerce-checkout #order_review td.product-name dl.variation p{ margin:0; }
.woocommerce-checkout #order_review .cart-subtotal td,
.woocommerce-checkout #order_review .order-total td{ text-align:right; }
.woocommerce-checkout #order_review .order-total .amount{ color:var(--blitz-coral-dark); font-size:1.25rem; }
@media (min-width:901px) and (max-width:1040px){
	.woocommerce-checkout form.checkout.woocommerce-checkout{ grid-template-columns:1fr 400px; }
}

/* ===================== SELECT2 DROPDOWN (identidad Blitz) =====================
   El desplegable se renderiza en <body>, así que estos estilos van globales. */
.select2-dropdown{
	border:1px solid var(--blitz-line) !important; border-radius:14px !important; overflow:hidden;
	box-shadow:0 14px 36px rgba(23,17,15,.14); background:#fff; margin-top:6px;
}
.select2-container--open .select2-dropdown--above{ margin-top:0; margin-bottom:6px; }
/* Buscador */
.select2-search--dropdown{ padding:12px 12px 6px; }
.select2-container--default .select2-search--dropdown .select2-search__field{
	border:1.5px solid var(--blitz-line); border-radius:10px; padding:11px 14px;
	outline:none; font-family:inherit; font-size:.95rem; color:var(--blitz-ink);
}
.select2-container--default .select2-search--dropdown .select2-search__field:focus{
	border-color:var(--blitz-coral); box-shadow:0 0 0 3px rgba(237,116,111,.16);
}
/* Opciones (alineadas con el texto del campo: 14px) */
.select2-results__options{ max-height:264px; padding:6px; }
.select2-container--default .select2-results__option{
	padding:11px 14px; margin:1px 0; border-radius:10px; color:var(--blitz-ink); font-size:.95rem;
	transition:background .12s ease, color .12s ease;
}
/* Opción resaltada (hover/teclado): coral (antes azul) */
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected]{
	background:var(--blitz-coral) !important; color:#fff !important;
}
/* Opción ya seleccionada: fondo suave coral */
.select2-container--default .select2-results__option[aria-selected="true"],
.select2-container--default .select2-results__option[data-selected="true"]{
	background:var(--blitz-soft-2); color:var(--blitz-coral-dark); font-weight:600;
}
/* Seleccionada + resaltada: gana el coral relleno */
.select2-container--default .select2-results__option--highlighted[aria-selected="true"]{
	background:var(--blitz-coral) !important; color:#fff !important;
}

/* =========================================================================
   PASE RESPONSIVE MÓVIL
   ========================================================================= */
/* Red de seguridad contra desbordes horizontales (clip no rompe position:sticky). */
html{ overflow-x:hidden; }
body{ overflow-x:clip; max-width:100%; }
img{ max-width:100%; height:auto; }

/* Hamburguesa: oculta en escritorio */
.blitz-burger{ display:none; }

@media (max-width:900px){
	/* ---------- HEADER MÓVIL ---------- */
	.blitz-header-inner{ flex-wrap:wrap !important; gap:10px 12px !important; padding:12px 16px !important; }
	.blitz-burger{
		display:flex; flex-direction:column; justify-content:center; gap:5px;
		order:1; width:44px; height:44px; padding:0 10px; flex:none; cursor:pointer;
		background:var(--blitz-soft); border:1px solid var(--blitz-line); border-radius:12px;
	}
	.blitz-burger span{ display:block; width:100%; height:2.5px; background:var(--blitz-ink); border-radius:2px; transition:transform .25s ease, opacity .2s ease; }
	.blitz-header-inner.nav-open .blitz-burger span:nth-child(1){ transform:translateY(7.5px) rotate(45deg); }
	.blitz-header-inner.nav-open .blitz-burger span:nth-child(2){ opacity:0; }
	.blitz-header-inner.nav-open .blitz-burger span:nth-child(3){ transform:translateY(-7.5px) rotate(-45deg); }

	.blitz-logo{ order:2; flex:1 1 auto; font-size:1.35rem; }
	.blitz-logo img{ height:34px; }
	.blitz-cart2{ order:3; flex:none; padding:8px 13px; }
	/* Buscador, cuenta y "Arma tu set" viven DENTRO del menú (ocultos hasta abrir) */
	.blitz-armaset{ display:none; }
	.blitz-account2{ order:6; flex:none; display:none !important; }
	.blitz-search{ order:4; width:100% !important; max-width:none !important; flex:1 1 100% !important; display:none !important; }

	/* Menú desplegable (acordeón bajo el header) */
	.blitz-nav-inline{ order:5; width:100%; margin:0 !important; padding:0 !important; display:none !important; }
	.blitz-header-inner.nav-open .blitz-search{ display:flex !important; margin:8px 0 2px; }
	.blitz-header-inner.nav-open .blitz-nav-inline{ display:block !important; border-top:1px solid var(--blitz-line); padding-top:6px !important; }
	.blitz-nav-inline .blitz-navmenu{ flex-direction:column !important; gap:0 !important; justify-content:flex-start !important; flex-wrap:nowrap !important; }
	.blitz-nav-inline .blitz-navmenu a{ padding:14px 6px !important; font-size:1.02rem; border-radius:0 !important; border-bottom:1px solid var(--blitz-line); }
	.blitz-nav-inline .blitz-navmenu li:last-child a{ border-bottom:0; }
	/* "Mi cuenta" como fila del menú */
	.blitz-header-inner.nav-open .blitz-account2{
		display:flex !important; order:6; width:100%; height:auto;
		background:transparent; color:var(--blitz-ink); border-radius:0;
		justify-content:flex-start; gap:12px; padding:14px 6px;
	}
	.blitz-header-inner.nav-open .blitz-account2 svg{ color:var(--blitz-coral); }
	.blitz-header-inner.nav-open .blitz-account2::after{ content:"Mi cuenta"; font-family:"Archivo",sans-serif; font-weight:700; font-size:1.02rem; }
	.blitz-header-inner.nav-open .blitz-armaset{ display:inline-flex; order:7; width:100%; justify-content:center; margin-top:10px; }

	/* Evitar que el menú abierto haga scroll del body */
	body.blitz-nav-lock{ overflow:hidden; }

	/* ---------- CONTENIDO ---------- */
	.blitz-home{ padding-left:16px !important; padding-right:16px !important; }
	.blitz-features{ grid-template-columns:1fr 1fr !important; }
	.bz-config__save{ flex-wrap:wrap; }
	/* Checkout / carrito ya apilan; asegurar gutters chicos */
	.woocommerce-checkout #content .col-full,
	.woocommerce-cart #content .col-full{ padding-left:16px !important; padding-right:16px !important; }
}

@media (max-width:480px){
	.blitz-features{ grid-template-columns:1fr !important; }
	.blitz-cart2__total{ font-size:.88rem; }
	.blitz-logo{ font-size:1.25rem; }
	.blitz-logo__by{ display:none; }
}

/* Ocultar la barra inferior móvil de Storefront (el header Blitz ya cubre búsqueda/carrito/cuenta) */
.storefront-handheld-footer-bar{ display:none !important; }

/* Checkout en móvil: apilar en una columna con orden natural (form → Tu pedido → review) */
@media (max-width:900px){
	.woocommerce-checkout form.checkout.woocommerce-checkout{ grid-template-columns:1fr !important; }
	.woocommerce-checkout #customer_details,
	.woocommerce-checkout h3#order_review_heading,
	.woocommerce-checkout #order_review{ grid-column:1 !important; grid-row:auto !important; }
	.woocommerce-checkout #order_review{ position:static !important; margin-top:8px; }
	/* Todo en una columna: toggle y campos apilados */
	.woocommerce-checkout .bz-delivery{ grid-template-columns:1fr !important; }
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
	.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{ grid-template-columns:1fr !important; }
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row,
	.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row{ grid-column:1 !important; }
}

/* ===== Ajustes móviles adicionales (detalles reportados) ===== */
@media (max-width:900px){
	/* Carrito: una sola columna (ítems arriba, totales abajo) */
	.woocommerce-cart .site-main .woocommerce{ grid-template-columns:1fr !important; }
	.woocommerce-cart .woocommerce-cart-form,
	.woocommerce-cart .cart-collaterals{ grid-column:1 !important; }

	/* Barra de envío gratis: mensaje como texto fluido + % debajo */
	.bz-freeship__top{ flex-direction:column; align-items:flex-start; gap:12px; }
	.bz-freeship__msg{ display:block; line-height:1.5; }
	.bz-freeship__msg svg{ display:inline-block; vertical-align:-5px; margin-right:8px; }

	/* Newsletter del footer: input y botón apilados (no se corta) */
	.bz-newsletter{ flex-direction:column; }
	.bz-newsletter button{ width:100%; }
	/* Footer: gutters seguros */
	.bz-footer, .bz-footer__bar{ padding-left:18px; padding-right:18px; }
}

/* Móvil: Región y Comuna también en una sola columna (vence las reglas por ID) */
@media (max-width:900px){
	#billing_state_field, #shipping_state_field,
	#billing_city_field, #shipping_city_field{ grid-column:1 !important; }
}

/* ===== Carrito móvil: cada ítem como tarjeta (≤767px, donde Storefront colapsa la tabla) ===== */
@media (max-width:767px){
	.woocommerce-cart table.cart{ display:block; border:0; }
	.woocommerce-cart table.cart thead{ display:none; }
	.woocommerce-cart table.cart tbody{ display:block; }

	.woocommerce-cart table.cart tr.cart_item{
		display:flex; flex-wrap:wrap; align-items:flex-start; gap:12px 14px;
		position:relative; border:1px solid var(--blitz-line); border-radius:16px;
		padding:18px 16px; margin:0 0 14px;
	}
	.woocommerce-cart table.cart tr.cart_item td{
		display:block; border:0 !important; padding:0 !important; margin:0 !important;
		text-align:left !important; width:auto !important; white-space:normal;
	}
	/* Quitar los rótulos pegados por defecto */
	.woocommerce-cart table.cart tr.cart_item td::before{ content:none !important; }

	/* Imagen */
	.woocommerce-cart table.cart td.product-thumbnail{ order:1; flex:0 0 74px; }
	.woocommerce-cart table.cart td.product-thumbnail img{ width:74px !important; height:74px; object-fit:cover; border-radius:12px; margin:0 !important; }
	/* Nombre + atributos (a la derecha de la imagen) */
	.woocommerce-cart table.cart td.product-name{ order:2; flex:1 1 calc(100% - 100px); min-width:0; padding-right:28px !important; font-weight:700; color:var(--blitz-ink); }
	.woocommerce-cart table.cart td.product-name a{ font-family:"Archivo",sans-serif; font-weight:800; }
	.woocommerce-cart table.cart td.product-name .variation{ margin:8px 0 0; font-size:.85rem; }
	.woocommerce-cart table.cart td.product-name .variation dt{ font-weight:700; color:var(--blitz-ink); margin:0; float:left; margin-right:6px; clear:left; }
	.woocommerce-cart table.cart td.product-name .variation dd{ margin:0; color:var(--blitz-ink-soft); }
	.woocommerce-cart table.cart td.product-name .variation p{ margin:0; }
	/* Botón eliminar arriba a la derecha */
	.woocommerce-cart table.cart td.product-remove{ position:absolute; top:12px; right:12px; order:0; }
	.woocommerce-cart table.cart td.product-remove a{ font-size:20px; }

	/* Precio / Cantidad / Subtotal: fila inferior con etiquetas */
	.woocommerce-cart table.cart td.product-price,
	.woocommerce-cart table.cart td.product-quantity,
	.woocommerce-cart table.cart td.product-subtotal{
		flex:1 1 0; padding-top:12px !important; border-top:1px solid var(--blitz-line) !important;
		margin-top:2px !important; min-width:90px;
	}
	.woocommerce-cart table.cart td.product-price{ order:3; }
	.woocommerce-cart table.cart td.product-quantity{ order:4; text-align:center !important; }
	.woocommerce-cart table.cart td.product-subtotal{ order:5; text-align:right !important; font-weight:800; }
	.woocommerce-cart table.cart tr.cart_item td.product-price::before,
	.woocommerce-cart table.cart tr.cart_item td.product-quantity::before,
	.woocommerce-cart table.cart tr.cart_item td.product-subtotal::before{
		display:block !important;
		font:800 .64rem/1 "Archivo",sans-serif; text-transform:uppercase; letter-spacing:.05em;
		color:var(--blitz-ink-soft); margin-bottom:6px;
	}
	.woocommerce-cart table.cart tr.cart_item td.product-price::before{ content:"Precio" !important; }
	.woocommerce-cart table.cart tr.cart_item td.product-quantity::before{ content:"Cantidad" !important; }
	.woocommerce-cart table.cart tr.cart_item td.product-subtotal::before{ content:"Subtotal" !important; }
	.woocommerce-cart table.cart td.product-quantity .quantity{ display:inline-flex; }
	.woocommerce-cart table.cart td.product-quantity input.qty{ width:64px; }

	/* Fila de acciones (cupón / actualizar) como bloque */
	.woocommerce-cart table.cart tr td.actions{
		display:block; border:0 !important; padding:16px 0 0 !important; margin-top:6px;
	}
	.woocommerce-cart table.cart .coupon{ display:flex; gap:10px; flex-wrap:wrap; }
	.woocommerce-cart table.cart .coupon .input-text{ flex:1 1 100%; }
}

/* Carrito móvil: montos en una línea, celda de precio/subtotal alineadas */
@media (max-width:767px){
	.woocommerce-cart table.cart tr.cart_item td.product-price,
	.woocommerce-cart table.cart tr.cart_item td.product-subtotal{ white-space:nowrap; }
	.woocommerce-cart table.cart tr.cart_item td.product-price .amount,
	.woocommerce-cart table.cart tr.cart_item td.product-subtotal .amount{ font-size:1rem; }
}

/* Pasos (Carrito · Checkout · Confirmación) en una columna en móvil */
@media (max-width:640px){
	.bz-steps{ flex-direction:column; align-items:flex-start; gap:14px; }
	.bz-step{ width:100%; justify-content:flex-start; }
	.bz-step__line{ display:none; }
}

/* ===== Tienda / categorías en móvil ===== */
@media (max-width:900px){
	/* Quitar banner promocional en móvil */
	.bz-shopbanner{ display:none !important; }
	/* Filtros al final (después de los productos) */
	.bz-shop-content{ order:1; }
	.bz-filters-col{ order:2; margin-top:24px; }
}
@media (max-width:767px){
	/* Productos en 2 columnas, igual que el home */
	.bz-shop-content ul.products{
		display:grid !important; grid-template-columns:1fr 1fr !important;
		gap:14px !important; margin:0 !important;
	}
	.bz-shop-content ul.products li.product{
		width:auto !important; margin:0 !important; float:none !important;
	}
	/* Card más compacta en 2 columnas */
	.bz-shop-content ul.products li.product .bz-card__body{ padding:12px; }
	.bz-shop-content ul.products li.product .bz-card__title{ font-size:.92rem; }
	.bz-shop-content ul.products li.product .bz-card__cat{ font-size:.72rem; }
}

/* Márgenes laterales en tienda/categorías móvil (el contenido usa .col-full de Storefront) */
@media (max-width:900px){
	body.woocommerce-shop #content .col-full,
	body.post-type-archive-product #content .col-full,
	body.tax-product_cat #content .col-full,
	body.tax-product_tag #content .col-full,
	body.woocommerce-page.archive #content .col-full{
		padding-left:16px !important; padding-right:16px !important; box-sizing:border-box;
		max-width:1180px; margin-left:auto; margin-right:auto;
	}
}

/* ===== Mi Cuenta móvil: tabla de pedidos como tarjetas ===== */
@media (max-width:767px){
	.woocommerce-account .woocommerce-orders-table,
	.woocommerce-account .woocommerce-orders-table tbody{ display:block; }
	.woocommerce-account .woocommerce-orders-table thead{ display:none; }
	.woocommerce-account .woocommerce-orders-table tr{
		display:block; border:1px solid var(--blitz-line); border-radius:16px;
		padding:4px 16px 16px; margin:0 0 14px; background:#fff;
	}
	.woocommerce-account .woocommerce-orders-table tr td{
		display:flex; justify-content:flex-start; align-items:baseline; gap:6px;
		border:0 !important; border-bottom:1px solid var(--blitz-line) !important;
		padding:12px 0 !important; margin:0 !important; text-align:right !important;
		width:auto !important; white-space:normal;
	}
	.woocommerce-account .woocommerce-orders-table tr td::before{
		content:attr(data-title) !important; display:inline !important;
		font:800 .82rem/1.4 "Archivo",sans-serif; color:var(--blitz-ink-soft);
		text-align:left; flex:0 0 auto; text-transform:none; letter-spacing:0;
		margin-right:auto; padding-right:12px;
	}
	.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-number{ font-weight:800; }
	.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions{
		border-bottom:0 !important; justify-content:flex-end; padding-top:14px !important; padding-bottom:2px !important;
	}
	.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions::before{ content:none !important; }
	.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .button{ margin:0; }
	/* Contenido de cuenta con menos padding en móvil */
	.woocommerce-account .woocommerce-MyAccount-content{ padding:18px 16px !important; }
	/* Nav de cuenta: separación */
	.woocommerce-account .woocommerce-MyAccount-navigation{ margin-bottom:22px; }
}

/* Mi Cuenta móvil: título de dirección + enlace editar apilados */
@media (max-width:640px){
	.woocommerce-account .woocommerce-Address-title{ flex-direction:column; align-items:flex-start; gap:6px; }
	.woocommerce-account .woocommerce-Address-title a.edit{ font-size:.9rem; }
}

/* Botón dentro de avisos (verificación de correo, etc.): rectangular, no círculo, texto más chico */
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button,
.woocommerce-account .woocommerce-message .button,
.woocommerce-account .woocommerce-info .button{
	border-radius:12px !important;
	font-size:.82rem !important;
	padding:10px 18px !important;
	line-height:1.35 !important;
	width:auto !important; max-width:100%;
	white-space:normal; vertical-align:middle;
}

/* ==========================================================================
   Banners de imagen (home hero, promos, categorías)
   ========================================================================== */
.bz-homehero{ display:block; border-radius:24px; overflow:hidden; margin:20px 0 26px; line-height:0; }
.bz-homehero img{ width:100%; height:auto; display:block; }

.bz-promobanners{ display:grid; grid-template-columns:1fr 1fr; gap:22px; margin:0 0 44px; }
.bz-promobanner{ display:block; border-radius:20px; overflow:hidden; line-height:0; transition:transform .2s ease, box-shadow .2s ease; }
.bz-promobanner:hover{ transform:translateY(-3px); box-shadow:0 14px 34px rgba(23,17,15,.10); }
.bz-promobanner img{ width:100%; height:auto; display:block; }

.bz-catbanner{ border-radius:22px; overflow:hidden; margin:6px 0 26px; line-height:0; }
.bz-catbanner img{ width:100%; height:auto; display:block; }

@media (max-width:768px){
	.bz-homehero{ border-radius:18px; margin:14px 0 20px; }
	.bz-promobanners{ grid-template-columns:1fr; gap:16px; margin-bottom:30px; }
	.bz-promobanner{ border-radius:16px; }
	.bz-catbanner{ border-radius:16px; margin-bottom:20px; }
}

/* Banner de packs en el home (ancho completo) */
.bz-homebanner{ display:block; border-radius:22px; overflow:hidden; margin:0 0 26px; line-height:0; transition:transform .2s ease, box-shadow .2s ease; }
.bz-homebanner:hover{ transform:translateY(-2px); box-shadow:0 14px 34px rgba(23,17,15,.10); }
.bz-homebanner img{ width:100%; height:auto; display:block; }
@media (max-width:768px){ .bz-homebanner{ border-radius:16px; margin-bottom:16px; } }

/* ==========================================================================
   FIX grid de productos en la tienda (desktop) — celdas fantasma del clearfix
   ========================================================================== */
@media (min-width:768px){
	.bz-shop-content ul.products{
		display:grid !important;
		/* minmax(0,1fr) evita que la columna crezca al tamaño intrínseco de la imagen
		   (era lo que estiraba las filas). Igual mecanismo que la grilla del home. */
		grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
		gap:26px 18px !important;
		margin:0 !important;
	}
	/* Storefront agrega ::before/::after (clearfix de floats) que en grid se
	   vuelven celdas vacías: eliminarlos. */
	.bz-shop-content ul.products::before,
	.bz-shop-content ul.products::after{ content:none !important; display:none !important; }
	.bz-shop-content ul.products li.product{
		width:auto !important; margin:0 !important; float:none !important; max-width:none !important; min-width:0 !important;
	}
}

/* La imagen de la card trae aspect-ratio implícito (width/height del <img>) que
   estira la card en el grid del archivo. Forzar aspect-ratio:auto para que se
   contenga dentro de la media cuadrada. */
.bz-card__media img { aspect-ratio:auto !important; }

/* ===================== LOGIN / REGISTRO de la cuenta (sin sesión) ===================== */
/* La página de login trae sidebar y deja las columnas angostas a la derecha:
   forzar ancho completo, ocultar sidebar y centrar las 2 columnas. */
.woocommerce-account:not(.logged-in) #primary.content-area{ width:100% !important; float:none !important; margin:0 !important; }
.woocommerce-account:not(.logged-in) #secondary{ display:none !important; }
.woocommerce-account .woocommerce-notices-wrapper{ max-width:840px; margin-left:auto; margin-right:auto; }
.woocommerce-account .u-columns.col2-set,
.woocommerce-account .u-columns{
	display:grid !important; grid-template-columns:1fr 1fr !important; gap:26px !important;
	max-width:840px; width:auto !important; margin:24px auto 0 !important; float:none !important;
}
.woocommerce-account .u-columns .col-1,
.woocommerce-account .u-columns .col-2,
.woocommerce-account .u-column1,
.woocommerce-account .u-column2{
	width:auto !important; float:none !important; margin:0 !important; min-width:0 !important;
}
@media (max-width:768px){
	.woocommerce-account .u-columns.col2-set,
	.woocommerce-account .u-columns{ grid-template-columns:1fr !important; }
}

/* ===================== TIEMPOS DE ENVÍO (ficha de producto) ===================== */
.bz-shiptimes{
	margin:20px 0 6px; padding:16px 18px;
	background:var(--blitz-soft); border:1px solid var(--blitz-line); border-radius:14px;
	display:flex; flex-direction:column; gap:12px;
}
.bz-shiptimes__row{ display:flex; align-items:flex-start; gap:11px; }
.bz-shiptimes__ico{ flex:none; display:inline-flex; color:var(--blitz-coral); margin-top:1px; }
.bz-shiptimes__ico svg{ stroke:currentColor; }
.bz-shiptimes__txt{ font-size:.9rem; line-height:1.5; color:var(--blitz-ink-soft); }
.bz-shiptimes__txt strong{ color:var(--blitz-ink); font-weight:700; }
