/* =========================================================
   Sbalott Home — Estilo Sbalott (inspirado en la experiencia de
   Alibaba.com: cabecera clara, buscador prominente con borde e
   ícono degradado en naranja, barra de categorías compacta).
   Paleta: fondo blanco + naranja de marca Sbalott.
   CSS puro, sin frameworks, para mantener el sitio liviano.
   ========================================================= */

:root{
	--sah-dark: #232F3E;
	--sah-dark-2: #37475A;
	--sah-orange: #FF6A00;
	--sah-orange-2: #FF3D00;
	--sah-orange-hover: #ff8c1a;
	--sah-bg: #f4f4f4;
	--sah-card-bg: #ffffff;
	--sah-text: #0f1111;
	--sah-text-light: #6b7280;
	--sah-border: #e3e6e9;
	--sah-radius: 10px;
	--sah-shadow: 0 2px 6px rgba(0,0,0,.08);
	--sah-shadow-hover: 0 6px 16px rgba(0,0,0,.15);
	--sah-gutter: clamp(16px, 2.2vw, 40px);
	/* Cabecera estilo Alibaba: clara, no el navy oscuro estilo Amazon */
	--sah-header-bg: #ffffff;
	--sah-header-bg-2: #ffffff;
	--sah-header-text: #1a1a1a;
}

/* Oculta la cabecera propia del tema en TODO el sitio: la cabecera de
   Sbalott (ver sah_render_global_header, enganchada a wp_body_open)
   ya se muestra en cualquier página, así que si el tema además pinta
   la suya se ve duplicada. Cubre los contenedores de cabecera más
   comunes en temas de WordPress/WooCommerce; si tu tema no coincide
   con ninguno, dime su nombre para añadir el selector exacto. */
body > header:not(.sah-header),
#page > header:not(.sah-header),
.site > header:not(.sah-header),
#masthead:not(.sah-header),
.site-header:not(.sah-header),
.storefront-header,
.ast-header-wrap,
#main-header:not(.sah-header),
.main-header:not(.sah-header),
.header-main:not(.sah-header),
.woocommerce-header:not(.sah-header){
	display:none !important;
}

.sah-wrapper *{ box-sizing:border-box; }
.sah-wrapper{ background:var(--sah-bg); font-family: -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; color:var(--sah-text); }
.sah-wrapper a{ text-decoration:none; color:inherit; }
.sah-wrapper ul{ list-style:none; margin:0; padding:0; }

/* ---------- Cabecera (estilo Alibaba: clara, buscador protagonista) ---------- */
.sah-header{ position:relative; z-index:40; }
.sah-header-top{ background:var(--sah-header-bg); color:var(--sah-header-text); padding:14px 0; border-bottom:1px solid var(--sah-border); }
.sah-header-inner{ width:100%; display:flex; align-items:center; gap:18px; padding:0 var(--sah-gutter); }

.sah-logo{ flex-shrink:0; display:flex; align-items:center; }
.sah-logo-img{ width:185px; height:auto; display:block; }
.sah-logo-text{ font-size:22px; font-weight:800; color:var(--sah-header-text); letter-spacing:.3px; }
.sah-logo-dot{ color:var(--sah-orange); }

.sah-deliver-to{ display:flex; flex-direction:column; font-size:12px; line-height:1.3; white-space:nowrap; }
.sah-small-label{ color:var(--sah-text-light); font-size:11px; }
.sah-deliver-to strong{ color:var(--sah-header-text); }

/* Buscador — estilo Alibaba: pill con borde naranja, sin fondo oscuro detrás.
   Ahora también aloja "Categorías" y "Entregar en" como secciones propias
   dentro de la misma barra (como en los grandes marketplaces), separadas
   por un divisor vertical sutil. */
.sah-search{ flex:1; display:flex; align-items:center; height:46px; border-radius:999px; overflow:visible; background:#fff; border:1.5px solid var(--sah-orange); box-shadow:0 1px 3px rgba(0,0,0,.06); transition:box-shadow .15s; position:relative; }
.sah-search:focus-within{ box-shadow:0 0 0 3px rgba(255,106,0,.25); }
.sah-search-divider{ width:1px; height:24px; background:var(--sah-border); flex-shrink:0; }
.sah-search .sah-cat-all{ flex-shrink:0; padding:0 14px 0 18px; }
.sah-search .sah-deliver-to{ flex-shrink:0; padding:0 14px; }
.sah-search-input{ flex:1; border:none; outline:none; padding:0 6px 0 16px; font-size:14px; min-width:0; height:100%; }
/* Botones de voz / imagen: círculo visible con buen contraste, para
   que se vean claramente dentro del buscador (antes eran solo un
   ícono gris casi imperceptible). */
.sah-search-icon-btn{ background:#f2f3f5; border:none; width:32px; height:32px; margin:0 3px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#4b5563; cursor:pointer; flex-shrink:0; transition:background .15s, color .15s; }
.sah-search-icon-btn:hover{ background:#ffe4cc; color:var(--sah-orange); }
.sah-search-icon-btn.is-listening{ background:#fde2e2; color:#e02424; animation:sah-pulse 1s infinite; }
@keyframes sah-pulse{ 0%,100%{ opacity:1; } 50%{ opacity:.4; } }
.sah-search-btn{ background:linear-gradient(135deg, var(--sah-orange), var(--sah-orange-2)); border:none; width:54px; height:100%; color:#fff; cursor:pointer; transition:opacity .15s; display:flex; align-items:center; justify-content:center; flex-shrink:0; border-radius:0 999px 999px 0; }
.sah-search-btn:hover{ opacity:.92; }

/* Sugerencias de búsqueda en vivo (autocompletado con productos reales) */
.sah-live-search-results{ display:none; position:absolute; top:calc(100% + 8px); left:0; right:0; background:#fff; border:1px solid var(--sah-border); border-radius:12px; box-shadow:var(--sah-shadow-hover); z-index:70; max-height:420px; overflow-y:auto; }
.sah-live-search-results.is-open{ display:block; }
.sah-live-item{ display:flex; align-items:center; gap:10px; padding:8px 14px; }
.sah-live-item:hover{ background:#fafafa; }
.sah-live-item img{ width:40px; height:40px; object-fit:contain; flex-shrink:0; border-radius:6px; border:1px solid var(--sah-border); background:#fff; }
.sah-live-item-info{ min-width:0; display:flex; flex-direction:column; }
.sah-live-item-title{ font-size:13px; color:var(--sah-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sah-live-item-price{ font-size:12.5px; color:var(--sah-orange); font-weight:700; }
.sah-live-empty, .sah-live-loading{ padding:14px; font-size:13px; color:var(--sah-text-light); text-align:center; }
.sah-live-viewall{ display:block; text-align:center; padding:10px; font-size:13px; font-weight:700; color:var(--sah-orange); border-top:1px solid var(--sah-border); }
.sah-live-quicklinks{ display:flex; flex-direction:column; border-bottom:1px solid var(--sah-border); padding:6px 0; }
.sah-live-quicklink{ padding:7px 14px; font-size:13px; color:var(--sah-text); }
.sah-live-quicklink:hover{ background:#fafafa; color:var(--sah-orange); }
.sah-live-quicklink strong{ color:var(--sah-orange); font-weight:700; }
.sah-live-recognized{ padding:8px 14px; font-size:12.5px; color:var(--sah-text-light); border-bottom:1px solid var(--sah-border); }
.sah-live-recognized strong{ color:var(--sah-text); }

/* Desplegable "Categorías" (todas, sin límite) */
.sah-cat-all-trigger{ display:flex; align-items:center; gap:5px; background:none; border:none; font-size:13px; font-weight:700; color:var(--sah-header-text); cursor:pointer; flex-shrink:0; white-space:nowrap; padding:2px 0; }
.sah-cat-all-trigger:hover{ color:var(--sah-orange); }
.sah-cat-all-trigger svg{ transition:transform .15s; }
.sah-cat-all.is-open .sah-cat-all-trigger svg{ transform:rotate(180deg); }
.sah-cat-all-panel{ left:0; right:auto; min-width:280px; max-width:520px; max-height:70vh; overflow-y:auto; padding:10px 0; }
.sah-cat-all-panel::before{ left:22px; right:auto; }
.sah-cat-all-panel ul{ display:grid; grid-template-columns:repeat(2, minmax(140px,1fr)); gap:2px 18px; padding:0 16px; }
.sah-cat-all-panel ul a{ display:block; padding:6px 0; font-size:13.5px; }

.sah-header-links{ display:flex; align-items:center; gap:16px; flex-shrink:0; }
.sah-header-links a{ display:flex; flex-direction:column; font-size:13px; line-height:1.3; white-space:nowrap; color:var(--sah-header-text); }
.sah-header-links strong{ font-size:13px; }

/* Menús desplegables (cuenta y carrito) — se abren al pasar el mouse */
.sah-dropdown-wrap{ position:relative; }
.sah-dropdown-wrap.sah-cart .sah-dropdown-trigger{ flex-direction:row !important; align-items:center; gap:6px; position:relative; }
.sah-cart-count{ position:absolute; top:-8px; left:14px; background:var(--sah-orange); color:#111; font-size:11px; font-weight:700; border-radius:50%; padding:1px 5px; }

.sah-dropdown-panel{ display:none; position:absolute; top:100%; right:0; margin-top:10px; background:#fff; color:var(--sah-text); border-radius:var(--sah-radius); box-shadow:var(--sah-shadow-hover); min-width:240px; padding:14px 16px; z-index:60; max-height:80vh; overflow-y:auto; }
.sah-dropdown-panel::before{ content:""; position:absolute; top:-6px; right:22px; width:12px; height:12px; background:#fff; transform:rotate(45deg); box-shadow:-2px -2px 4px rgba(0,0,0,.03); }
.sah-dropdown-wrap:hover .sah-dropdown-panel,
.sah-dropdown-wrap:focus-within .sah-dropdown-panel,
.sah-dropdown-wrap.is-open .sah-dropdown-panel{ display:block; }
/* Puente invisible para que el panel no se cierre al mover el mouse hacia él */
.sah-dropdown-wrap::after{ content:""; position:absolute; top:100%; left:0; right:0; height:12px; }

.sah-dropdown-title{ font-weight:700; font-size:14px; margin-bottom:6px; }
.sah-dropdown-balance{ display:block; font-size:12.5px; color:var(--sah-text-light); margin-bottom:10px; padding-bottom:10px; border-bottom:1px solid var(--sah-border); }
.sah-dropdown-balance-link{ color:var(--sah-orange); font-weight:600; }
.sah-dropdown-panel ul{ display:flex; flex-direction:column; gap:8px; }
.sah-dropdown-panel ul a{ color:var(--sah-text); font-size:13.5px; display:block; }
.sah-dropdown-panel ul a:hover{ color:var(--sah-orange); }
.sah-dropdown-panel ul li.sah-dropdown-divider{ margin-top:4px; padding-top:10px; border-top:1px solid var(--sah-border); }
.sah-dropdown-mired-link{ margin-bottom:10px; padding-bottom:10px; border-bottom:1px solid var(--sah-border); }
.sah-dropdown-cta{ display:block; text-align:center; background:var(--sah-orange); color:#111 !important; font-weight:700; padding:9px; border-radius:6px; margin-bottom:8px; }
.sah-dropdown-note{ font-size:12.5px; color:var(--sah-text-light); }
.sah-dropdown-note a{ color:var(--sah-orange); font-weight:600; }

.sah-cart-panel{ min-width:290px; }
.sah-cart-list{ display:flex; flex-direction:column; gap:10px; max-height:280px; overflow-y:auto; margin-bottom:10px; }
.sah-cart-list-item{ display:flex; gap:10px; align-items:center; }
.sah-cart-thumb img{ width:44px; height:44px; object-fit:cover; border-radius:6px; border:1px solid var(--sah-border); }
.sah-cart-info{ display:flex; flex-direction:column; font-size:12.5px; gap:2px; min-width:0; }
.sah-cart-name{ font-weight:600; color:var(--sah-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:180px; }
.sah-cart-qty{ color:var(--sah-text-light); }
.sah-cart-subtotal{ font-weight:700; font-size:13.5px; padding-top:8px; border-top:1px solid var(--sah-border); margin-bottom:10px; }
.sah-cart-actions{ display:flex; gap:8px; }
.sah-cart-btn-outline, .sah-cart-btn-solid{ flex:1; text-align:center; font-size:12.5px; font-weight:700; padding:9px 6px; border-radius:6px; }
.sah-cart-btn-outline{ border:1px solid var(--sah-dark); color:var(--sah-dark) !important; }
.sah-cart-btn-solid{ background:var(--sah-orange); color:#111 !important; }
.sah-cart-empty{ font-size:13px; color:var(--sah-text-light); }

/* Barra de categorías: clara y compacta. Ahora es su propia franja fija
   (sticky) para que, al bajar a ver productos, la cabecera completa
   (logo + buscador) se desplace hacia arriba pero esta barra de
   categorías permanezca siempre visible — igual que en los grandes
   marketplaces. */
.sah-header-bottom{ background:var(--sah-header-bg-2); color:var(--sah-header-text); border-bottom:1px solid var(--sah-border); position:sticky; top:0; z-index:45; transition:box-shadow .15s; }
.sah-header-bottom.is-stuck{ box-shadow:0 3px 10px rgba(0,0,0,.08); }
.sah-header-bottom .sah-header-inner{ padding-top:9px; padding-bottom:9px; gap:20px; overflow-x:auto; }
.sah-cat-menu{ display:flex; gap:20px; overflow-x:auto; }
.sah-cat-menu li a{ font-size:13px; white-space:nowrap; color:var(--sah-text); font-weight:500; }
.sah-cat-menu li a:hover{ color:var(--sah-orange); }
.sah-cat-highlight a{ color:var(--sah-orange) !important; font-weight:700; }
.sah-cat-active a{ color:var(--sah-orange) !important; font-weight:700; }

/* Menú lateral simple en móvil */
@media (max-width: 780px){
	.sah-header-inner{ flex-wrap:wrap; }
	.sah-search{ order:3; width:100%; }
	.sah-header-links{ order:2; margin-left:auto; gap:10px; }
	.sah-header-links .sah-orders{ display:none; }
	.sah-dropdown-panel{ right:-10px; left:auto; min-width:260px; max-width:calc(100vw - 20px); }
	.sah-search .sah-cat-all,
	.sah-search .sah-deliver-to{ padding:0 8px; }
	.sah-search .sah-deliver-to .sah-small-label{ display:none; }
}

@media (max-width: 420px){
	.sah-dropdown-panel{ right:-60px; min-width:250px; padding:12px 14px; }
	.sah-account .sah-small-label{ display:none; }
	.sah-account strong{ font-size:12.5px; }
}

/* ---------- Banner / Hero ---------- */
.sah-hero{ position:relative; width:100%; margin:14px 0 0; padding:0 var(--sah-gutter); }
.sah-hero-slides{ position:relative; height:280px; border-radius:var(--sah-radius); overflow:hidden; }
.sah-hero-slide{ position:absolute; inset:0; background-size:cover; background-position:center; display:flex; align-items:flex-end; opacity:0; transition:opacity .6s ease; }
.sah-hero-slide.is-active{ opacity:1; }
.sah-hero-caption{ background:linear-gradient(0deg, rgba(35,47,62,.85), transparent); color:#fff; width:100%; padding:24px 20px 16px; font-size:20px; font-weight:700; }
.sah-hero-prev, .sah-hero-next{ position:absolute; top:50%; transform:translateY(-50%); background:rgba(255,255,255,.85); border:none; width:36px; height:36px; border-radius:50%; cursor:pointer; font-size:14px; }
.sah-hero-prev{ left:26px; } .sah-hero-next{ right:26px; }
@media (max-width:600px){ .sah-hero-slides{ height:160px; } .sah-hero-caption{ font-size:15px; padding:14px; } }

/* ---------- Filas de productos ---------- */
.sah-sections{ width:100%; padding:20px var(--sah-gutter) 40px; }
.sah-row{ background:var(--sah-card-bg); border-radius:var(--sah-radius); box-shadow:var(--sah-shadow); padding:18px 16px 20px; margin-bottom:18px; }
.sah-row-title{ font-size:19px; font-weight:700; margin:0 0 12px; color:var(--sah-dark); }

.sah-row-scroll{ position:relative; }
.sah-row-track{ display:flex; gap:14px; overflow-x:auto; scroll-behavior:smooth; padding-bottom:6px; }
.sah-row-track::-webkit-scrollbar{ height:6px; }
.sah-row-track::-webkit-scrollbar-thumb{ background:#d8dde3; border-radius:6px; }

.sah-row-arrow{ position:absolute; top:40%; transform:translateY(-50%); background:#fff; border:1px solid #e3e6e9; width:34px; height:34px; border-radius:50%; cursor:pointer; box-shadow:var(--sah-shadow); z-index:2; }
.sah-row-arrow-left{ left:-6px; } .sah-row-arrow-right{ right:-6px; }

.sah-card{ flex:0 0 190px; border:1px solid #eee; border-radius:8px; padding:10px; position:relative; transition:box-shadow .15s, transform .15s; background:#fff; }
.sah-card:hover{ box-shadow:var(--sah-shadow-hover); transform:translateY(-2px); }
.sah-card-image{ height:150px; display:flex; align-items:center; justify-content:center; margin-bottom:8px; }
.sah-card-image img{ max-height:100%; max-width:100%; object-fit:contain; }
.sah-card-title{ font-size:13.5px; line-height:1.35; height:55px; overflow:hidden; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; margin-bottom:6px; color:var(--sah-text); }
.sah-card-rating .star-rating{ font-size:13px; margin-bottom:4px; }
.sah-card-price{ font-weight:700; color:var(--sah-dark); font-size:15px; }
.sah-card-price ins{ text-decoration:none; color:var(--sah-orange); }
.sah-card-price del{ color:var(--sah-text-light); font-size:12px; margin-right:4px; }

.sah-badge{ position:absolute; top:8px; left:8px; font-size:10.5px; font-weight:700; padding:3px 8px; border-radius:4px; color:#fff; z-index:1; }
.sah-badge-oferta{ background:var(--sah-orange); }
.sah-badge-tendencia{ background:var(--sah-dark); }
.sah-badge-nuevo{ background:#0f9d58; }
.sah-badge-agotado{ background:#6b7280; }

/* ---------- Estrellas de calificación (compartidas: filas y grilla) ---------- */
.sah-stars{ display:inline-flex; gap:1px; font-size:13px; line-height:1; letter-spacing:0; }
.sah-star{ color:#d5dbe2; }
.sah-star-full, .sah-star-half{ color:var(--sah-orange); }
.sah-rating-count{ font-size:11.5px; color:var(--sah-text-light); margin-left:4px; }

/* ---------- Botón volver arriba ---------- */
.sah-back-top{ display:block; width:100%; background:var(--sah-dark-2); color:#fff; border:none; padding:14px; font-size:13px; cursor:pointer; }
.sah-back-top:hover{ background:var(--sah-dark); }

/* ---------- Pie de página ---------- */
.sah-footer{ background:var(--sah-dark); color:#d5dbe2; }
.sah-footer-columns{ width:100%; display:grid; grid-template-columns:repeat(4,1fr); gap:24px; padding:36px var(--sah-gutter); }
.sah-footer-col h4{ color:#fff; font-size:15px; margin:0 0 12px; }
.sah-footer-col ul li{ margin-bottom:8px; font-size:13px; }
.sah-footer-col ul li a:hover{ text-decoration:underline; }
.sah-footer-brand{ text-align:center; padding:18px 0; border-top:1px solid #3a4655; }
.sah-footer-brand .sah-logo-text{ font-size:20px; font-weight:800; }
.sah-footer-bottom{ background:#1a232f; text-align:center; font-size:12px; padding:14px; color:#9aa5b1; }

@media (max-width:780px){
	.sah-footer-columns{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:480px){
	.sah-footer-columns{ grid-template-columns:1fr; text-align:center; }
	.sah-card{ flex-basis:150px; }
	.sah-card-image{ height:120px; }
}

/* =========================================================
   Tienda / Categoría / Búsqueda — grilla con filtros laterales
   ========================================================= */

.sah-shop-page{ width:100%; padding:18px var(--sah-gutter) 40px; }

/* ---------- Barra superior: título, contador, orden ---------- */
.sah-shop-toolbar{ display:flex; align-items:center; flex-wrap:wrap; gap:12px 20px; margin-bottom:16px; padding-bottom:14px; border-bottom:1px solid var(--sah-border); }
.sah-shop-heading{ flex:1; min-width:220px; }
.sah-shop-heading h1{ font-size:21px; font-weight:700; color:var(--sah-dark); margin:0 0 4px; }
.sah-shop-count{ font-size:13px; color:var(--sah-text-light); }
.sah-shop-count p{ margin:0; }
.sah-shop-sort select{ height:38px; border:1px solid var(--sah-border); border-radius:6px; padding:0 10px; font-size:13.5px; background:#fff; color:var(--sah-text); }
.sah-filter-toggle{ display:none; background:var(--sah-dark); color:#fff; border:none; border-radius:6px; padding:9px 16px; font-size:13.5px; font-weight:600; cursor:pointer; }

/* ---------- Layout: barra lateral + grilla ---------- */
.sah-shop-layout{ display:flex; align-items:flex-start; gap:26px; width:100%; }

.sah-shop-sidebar{ flex:0 0 250px; background:var(--sah-card-bg); border-radius:var(--sah-radius); box-shadow:var(--sah-shadow); padding:18px 18px 22px; position:sticky; top:14px; max-height:calc(100vh - 28px); overflow-y:auto; }
.sah-shop-main{ flex:1; min-width:0; }

/* ---------- Formulario de filtros ---------- */
.sah-filter-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.sah-filter-head h3{ font-size:16px; font-weight:700; color:var(--sah-dark); margin:0; }
.sah-filter-clear{ font-size:12.5px; color:var(--sah-orange); }
.sah-filter-clear:hover{ text-decoration:underline; }

.sah-filter-group{ padding:14px 0; border-bottom:1px solid #eee; }
.sah-filter-group:last-of-type{ border-bottom:none; }
.sah-filter-title{ font-size:13.5px; font-weight:700; color:var(--sah-dark); margin:0 0 10px; text-transform:uppercase; letter-spacing:.3px; }

.sah-filter-check{ display:flex; align-items:center; gap:8px; font-size:13.5px; color:var(--sah-text); margin-bottom:9px; cursor:pointer; }
.sah-filter-check input{ accent-color:var(--sah-orange); width:15px; height:15px; flex-shrink:0; }
.sah-filter-rating .sah-stars{ font-size:13px; }
.sah-filter-count{ color:var(--sah-text-light); font-size:12px; }

.sah-filter-links{ margin:0; padding:0; list-style:none; }
.sah-filter-links li{ margin-bottom:9px; }
.sah-filter-links a{ font-size:13.5px; color:var(--sah-text); }
.sah-filter-links a:hover{ color:var(--sah-orange); }

.sah-price-range{ display:flex; align-items:center; gap:8px; }
.sah-price-range input{ width:100%; height:36px; border:1px solid var(--sah-border); border-radius:6px; padding:0 8px; font-size:13px; }
.sah-price-range span{ color:var(--sah-text-light); }

.sah-filter-apply{ width:100%; margin-top:6px; background:var(--sah-orange); color:#1a1a1a; border:none; border-radius:6px; padding:11px; font-size:13.5px; font-weight:700; cursor:pointer; transition:background .15s; }
.sah-filter-apply:hover{ background:var(--sah-orange-hover); }

/* ---------- Grilla de productos ---------- */
.sah-shop-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(200px, 1fr)); gap:16px; }

.sah-grid-card{ background:#fff; border:1px solid #eee; border-radius:8px; padding:12px 12px 14px; position:relative; display:flex; flex-direction:column; transition:box-shadow .15s, transform .15s; }
.sah-grid-card:hover{ box-shadow:var(--sah-shadow-hover); transform:translateY(-2px); }
.sah-grid-card-link{ display:flex; flex-direction:column; flex:1; }
.sah-grid-card-image{ height:170px; display:flex; align-items:center; justify-content:center; margin-bottom:10px; }
.sah-grid-card-image img{ max-height:100%; max-width:100%; object-fit:contain; }
.sah-grid-card-title{ font-size:13.5px; line-height:1.4; height:57px; margin-bottom:6px; color:var(--sah-text); display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.sah-grid-card-rating{ min-height:18px; margin-bottom:6px; display:flex; align-items:center; }
.sah-grid-card-price{ font-weight:700; color:var(--sah-dark); font-size:16px; margin-top:auto; }
.sah-grid-card-price ins{ text-decoration:none; color:var(--sah-orange); }
.sah-grid-card-price del{ color:var(--sah-text-light); font-size:12px; margin-right:4px; }
.sah-grid-card-action{ margin-top:10px; }
.sah-add-to-cart{ display:block; text-align:center; background:#fff; border:1px solid var(--sah-orange); color:var(--sah-orange) !important; border-radius:20px; padding:8px 10px; font-size:12.5px; font-weight:700; transition:background .15s, color .15s; }
.sah-add-to-cart:hover{ background:var(--sah-orange); color:#1a1a1a !important; }

/* ---------- Sin resultados / paginación ---------- */
.sah-shop-empty{ background:#fff; border-radius:var(--sah-radius); box-shadow:var(--sah-shadow); padding:40px 20px; text-align:center; color:var(--sah-text-light); }
.sah-shop-reset{ display:inline-block; margin-top:10px; background:var(--sah-orange); color:#1a1a1a; border-radius:20px; padding:9px 20px; font-size:13.5px; font-weight:700; }
.sah-shop-pagination{ margin-top:26px; text-align:center; }
.sah-shop-pagination .page-numbers{ display:inline-flex; align-items:center; justify-content:center; min-width:34px; height:34px; margin:0 3px; border-radius:6px; border:1px solid var(--sah-border); font-size:13px; color:var(--sah-text); }
.sah-shop-pagination .page-numbers.current{ background:var(--sah-dark); border-color:var(--sah-dark); color:#fff; }
.sah-shop-pagination .page-numbers:hover{ border-color:var(--sah-orange); color:var(--sah-orange); }

/* ---------- Responsive: tienda ---------- */
@media (max-width:960px){
	.sah-shop-layout{ gap:0; }
	.sah-filter-toggle{ display:inline-block; }
	.sah-shop-sidebar{ position:fixed; top:0; left:0; height:100vh; max-height:none; width:82vw; max-width:320px; z-index:50; border-radius:0; box-shadow:0 0 24px rgba(0,0,0,.25); transform:translateX(-100%); transition:transform .2s ease; }
	.sah-shop-sidebar.is-open{ transform:translateX(0); }
	.sah-shop-grid{ grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); gap:12px; }
	.sah-grid-card-image{ height:130px; }
}
@media (max-width:480px){
	.sah-shop-grid{ grid-template-columns:repeat(2, 1fr); }
}

/* ================= Ventana emergente de login / registro ================= */
.sah-auth-modal{ position:fixed; inset:0; z-index:200; display:none; }
.sah-auth-modal.is-open{ display:block; }
.sah-auth-modal-backdrop{ position:absolute; inset:0; background:rgba(20,22,28,.55); }
.sah-auth-modal-card{
	position:relative; z-index:1; background:#fff; border-radius:14px;
	max-width:620px; width:calc(100% - 32px); margin:6vh auto 0;
	max-height:88vh; overflow-y:auto; padding:32px 34px 34px;
	box-shadow:0 20px 60px rgba(0,0,0,.25);
}
body.sah-modal-open{ overflow:hidden; }
.sah-auth-modal-close{
	position:absolute; top:12px; right:14px; width:32px; height:32px; border:none;
	background:#f2f3f5; border-radius:50%; font-size:20px; line-height:1; cursor:pointer;
	color:var(--sah-text-light); display:flex; align-items:center; justify-content:center;
}
.sah-auth-modal-close:hover{ background:#e7e9ec; color:var(--sah-text); }
.sah-auth-modal-brand{ text-align:center; margin-bottom:14px; }
.sah-auth-modal-brand img{ width:130px; height:auto; }

/* Reseteo del formulario nativo de WooCommerce dentro del modal: sin
   distracciones — solo login + registro, sin heredar estilos del tema. */
.sah-auth-modal-body .woocommerce-notices-wrapper{ margin-bottom:12px; }
.sah-auth-modal-body .woocommerce-MyAccount-content > p:first-child{ display:none; } /* oculta el mensaje genérico de WC */
.sah-auth-modal-body .u-columns.col2-set{
	display:flex !important; flex-wrap:wrap; gap:28px; list-style:none; margin:0; padding:0;
}
.sah-auth-modal-body .u-columns.col2-set .col-1,
.sah-auth-modal-body .u-columns.col2-set .col-2{
	flex:1 1 240px; min-width:220px;
}
.sah-auth-modal-body .u-columns.col2-set .col-1{ border-right:1px solid var(--sah-border); padding-right:28px; }
.sah-auth-modal-body h2{ font-size:16px; font-weight:700; margin:0 0 14px; color:var(--sah-dark); text-transform:none; }
.sah-auth-modal-body form.woocommerce-form{ display:flex; flex-direction:column; gap:12px; }
.sah-auth-modal-body .form-row{ margin:0; }
.sah-auth-modal-body label{ display:block; font-size:12.5px; font-weight:600; color:var(--sah-text); margin-bottom:4px; }
.sah-auth-modal-body input.input-text,
.sah-auth-modal-body input[type="text"],
.sah-auth-modal-body input[type="email"],
.sah-auth-modal-body input[type="password"]{
	width:100%; padding:10px 12px; border:1px solid var(--sah-border); border-radius:7px;
	font-size:14px; box-sizing:border-box;
}
.sah-auth-modal-body input.input-text:focus{ outline:none; border-color:var(--sah-orange); }
.sah-auth-modal-body .woocommerce-form-login__rememberme{ display:flex; align-items:center; gap:6px; font-size:12.5px; margin:0; }
.sah-auth-modal-body .woocommerce-form-login__rememberme input{ width:auto; }
.sah-auth-modal-body button[type="submit"],
.sah-auth-modal-body input[type="submit"]{
	background:var(--sah-orange); color:#111; border:none; border-radius:7px;
	padding:11px 18px; font-weight:700; font-size:14px; cursor:pointer; width:100%; margin-top:4px;
}
.sah-auth-modal-body button[type="submit"]:hover,
.sah-auth-modal-body input[type="submit"]:hover{ filter:brightness(0.95); }
.sah-auth-modal-body .woocommerce-LostPassword{ font-size:12.5px; margin:6px 0 0; }
.sah-auth-modal-body .woocommerce-LostPassword a{ color:var(--sah-text-light); }
.sah-auth-modal-body .woocommerce-form-register p:last-child{ font-size:11.5px; color:var(--sah-text-light); margin-top:2px; }
/* Al abrir en modo "registrarse" desde "Crea tu cuenta", resalta esa columna en móvil poniéndola primero. */
.sah-auth-focus-register .u-columns.col2-set{ flex-direction:row-reverse; }

@media (max-width:560px){
	.sah-auth-modal-card{ padding:26px 20px 26px; margin-top:4vh; max-height:92vh; }
	.sah-auth-modal-body .u-columns.col2-set{ flex-direction:column !important; gap:22px; }
	.sah-auth-modal-body .u-columns.col2-set .col-1{ border-right:none; padding-right:0; border-bottom:1px solid var(--sah-border); padding-bottom:22px; }
	.sah-auth-focus-register .u-columns.col2-set{ flex-direction:column-reverse !important; }
}
