/* =========================================================
   Needle Syndicate · Neutralización de Storefront
   Storefront pinta claro. Aquí se sobreescribe lo justo para que el
   tema sea oscuro de punta a punta. Cada bloque nombra el selector
   de Storefront que pisa. Se carga DESPUÉS de storefront-style y
   ANTES de shop.css (ver functions.php).
   ========================================================= */

/* Fondos y texto base (Storefront: body, .site-content, customizer inline) */
body, .site, #page, .site-content, #content, .site-main { background-color: var(--ns-black) !important; color: var(--ns-bone); }
body { font-family: var(--ns-font-body) !important; }
.site { margin-bottom: 0 !important; }
.site-content { padding-top: 0 !important; }
.site-content .col-full, .site-footer .col-full { max-width: var(--ns-max); padding: 0 var(--ns-gutter); }
.storefront-full-width-content .content-area, .content-area { width: 100%; float: none; margin: 0; }
.site-main { margin-bottom: 0; }
/* Páginas a sangre completa (Pro Account): las secciones traen su propio .ns-container */
body.ns-page-pro .site-content .col-full { max-width: none; padding: 0; }

h1, h2, h3, h4, h5, h6 { color: #fff; font-family: var(--ns-font-body); }
a { color: var(--ns-bone); }
a:hover { color: #fff; }
::selection { background: var(--ns-red); color: #fff; }

/* Cabecera: Storefront deja <header id="masthead" class="site-header">; dentro va la nuestra */
.site-header { position: sticky; top: 0; z-index: 50; background: transparent !important; color: inherit !important; padding: 0 !important; margin: 0 !important; border: 0 !important; }
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }

/* Pie */
.site-footer { background-color: var(--ns-black) !important; color: var(--ns-bone-60) !important; padding: 0 !important; margin: 0 !important; border-top: 1px solid var(--ns-line); }
.site-footer a { color: var(--ns-bone); text-decoration: none; }
.site-footer a:hover { color: #fff; }

/* Botones (Storefront: button, input[type=submit], .button, .added_to_cart + bloques WC) */
button, input[type="button"], input[type="reset"], input[type="submit"], .button, .added_to_cart,
.wc-block-components-button, .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button {
  background-color: var(--ns-red); color: #fff; border: 1px solid transparent; border-radius: var(--ns-radius);
  font-family: var(--ns-font-body); font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
  transition: background var(--ns-dur-fast), box-shadow var(--ns-dur-fast), transform var(--ns-dur-fast) var(--ns-ease);
}
button:hover, input[type="submit"]:hover, .button:hover, .added_to_cart:hover, .wc-block-components-button:hover {
  background-color: var(--ns-red-hover); color: #fff; box-shadow: 0 0 24px rgba(255, 31, 74, 0.35);
}
.button.alt, .single_add_to_cart_button { background-color: var(--ns-red); }
.button.disabled, .button:disabled, button:disabled { background-color: var(--ns-surface-2); color: var(--ns-bone-60); }

/* Campos (Storefront: input[type=text|email|...], textarea, select con fondo #f2f2f2) */
.ns-theme input[type="text"], .ns-theme input[type="email"], .ns-theme input[type="url"], .ns-theme input[type="password"],
.ns-theme input[type="search"], .ns-theme input[type="number"], .ns-theme input[type="tel"], .ns-theme textarea, .ns-theme select,
.ns-theme .select2-container .select2-selection--single {
  background-color: #0b0908; color: var(--ns-bone); border: 1px solid var(--ns-bone-30); border-radius: var(--ns-radius); box-shadow: none;
}
.ns-theme input:focus, .ns-theme textarea:focus, .ns-theme select:focus { border-color: var(--ns-neon); outline: none; box-shadow: 0 0 0 3px rgba(255, 31, 74, 0.25); }
.ns-theme .select2-container .select2-selection--single .select2-selection__rendered { color: var(--ns-bone); }
.ns-theme label { color: var(--ns-bone); }

/* Migas, precios, pestañas, tablas */
.woocommerce-breadcrumb { color: var(--ns-bone-60); border-bottom: 1px solid var(--ns-line); font-size: var(--ns-text-xs); letter-spacing: 0.14em; text-transform: uppercase; }
.woocommerce-breadcrumb a { color: var(--ns-bone-60); }
.price, .woocommerce-Price-amount { color: var(--ns-bone); }
.price ins { color: var(--ns-red); text-decoration: none; }
.woocommerce-tabs ul.tabs li a { color: var(--ns-bone-60); }
.woocommerce-tabs ul.tabs li.active a { color: #fff; border-bottom: 2px solid var(--ns-red); }
.woocommerce-tabs .panel { color: var(--ns-bone); }
table th, table td { border-color: var(--ns-line) !important; }
table th { color: var(--ns-bone); }
.shop_table tbody tr:nth-child(2n) td { background-color: var(--ns-surface); }
.woocommerce-info, .woocommerce-message, .woocommerce-error { border-radius: var(--ns-radius); }
.storefront-sticky-add-to-cart { background-color: var(--ns-surface) !important; color: var(--ns-bone) !important; border-bottom: 1px solid var(--ns-line); }
.hentry .entry-header { border-bottom: 0; }
.widget, .site-content .widget { color: var(--ns-bone); }
.onsale { background-color: var(--ns-red); border-radius: 2px; }
