/*
 * Tema Nukleo Parts (slug nukleoparts-ec) — alineado con nukleoparts.com
 * Requiere :root { --nukleo-hero-image: url(...); } en layout (hero catálogo).
 */
body.store-theme-nukleo {
    /* Fuerza línea gráfica Nukleo aunque theme.accent en BD siga en naranja */
    --store-accent: #91d500;
    --store-accent-hover: #6fa800;
    --store-font: 'Lato', system-ui, -apple-system, sans-serif;
    --store-font-display: 'Poppins', system-ui, sans-serif;
    --store-bg: #2c302d;
    --store-bg-elevated: #252825;
    --store-text: #f0f2f3;
    --store-muted: #a8b0ad;
    --store-border: rgba(255, 255, 255, 0.1);
    --store-accent-soft: rgba(145, 213, 0, 0.18);
    --store-accent-ring: rgba(145, 213, 0, 0.35);
    /* Tarjetas al estilo referencia: gris medio sobre carbón (no blanco puro) */
    --nukleo-card: #3d4240;
    --nukleo-card-deep: #333836;
    --nukleo-card-inner: #2f3431;
    --nukleo-card-border: rgba(255, 255, 255, 0.09);
    --nukleo-card-text: #f4f6f5;
    --nukleo-card-muted: #9ea6a3;
    --store-surface: var(--nukleo-card);
    --store-shadow: 0 4px 28px rgba(0, 0, 0, 0.4);
    --store-shadow-hover: 0 14px 40px rgba(0, 0, 0, 0.5);
}

body.store-theme-nukleo .store-skip-link {
    color: #343936;
    background: var(--store-accent);
    font-weight: 700;
}

body.store-theme-nukleo .store-header {
    background: rgba(52, 57, 54, 0.94);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

body.store-theme-nukleo .store-brand {
    color: #f0f2f3 !important;
}

body.store-theme-nukleo .store-brand-logo-nukleo {
    height: 36px;
    width: auto;
    display: block;
}

body.store-theme-nukleo .store-nav-link {
    color: #d1d5db;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

body.store-theme-nukleo .store-nav-link:hover,
body.store-theme-nukleo .store-nav-link.active {
    color: #343936;
    background: var(--store-accent);
}

body.store-theme-nukleo .store-header-menu-btn {
    color: #f0f2f3;
    border-color: rgba(255, 255, 255, 0.2);
    background: rgba(0, 0, 0, 0.15);
}

body.store-theme-nukleo .store-wa-context {
    background: rgba(37, 40, 37, 0.95);
    border: 1px solid rgba(145, 213, 0, 0.25);
}

body.store-theme-nukleo .store-wa-context-badge {
    color: #c8f28a;
}

body.store-theme-nukleo .store-wa-context .text-muted {
    color: #a8b0ad !important;
}

body.store-theme-nukleo .store-branch-bar {
    background: var(--store-bg-elevated);
    border-bottom: 1px solid var(--store-border);
}

body.store-theme-nukleo .store-hero {
    background:
        linear-gradient(180deg, rgba(12, 14, 12, 0.55) 0%, rgba(52, 57, 54, 0.88) 45%, rgba(52, 57, 54, 0.95) 100%),
        radial-gradient(ellipse 100% 80% at 50% 20%, rgba(145, 213, 0, 0.12), transparent 55%),
        var(--nukleo-hero-image, none) center / cover no-repeat #1a1c1a;
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: var(--store-shadow);
}

body.store-theme-nukleo .store-hero::before {
    background:
        radial-gradient(circle at 80% 10%, rgba(255, 255, 255, 0.08), transparent 42%),
        radial-gradient(circle at 15% 85%, rgba(0, 0, 0, 0.35), transparent 45%);
}

body.store-theme-nukleo .store-hero .btn-light {
    background: #fff;
    color: #343936;
    border: none;
    font-weight: 700;
}

body.store-theme-nukleo .store-hero .btn-light:hover {
    background: #e8ebe8;
    color: #1a1d1a;
}

body.store-theme-nukleo .store-hero .btn-outline-light {
    border: 2px solid rgba(145, 213, 0, 0.55);
    color: #fff;
    font-weight: 600;
}

body.store-theme-nukleo .store-hero .btn-outline-light:hover {
    background: rgba(145, 213, 0, 0.15);
    color: #fff;
    border-color: rgba(145, 213, 0, 0.85);
}

body.store-theme-nukleo .store-breadcrumb .breadcrumb-item a {
    color: #a8b0ad;
}

body.store-theme-nukleo .store-breadcrumb .breadcrumb-item a:hover {
    color: var(--store-accent);
}

body.store-theme-nukleo .store-page-title {
    color: #fff;
}

body.store-theme-nukleo .store-page-subtitle {
    color: rgba(240, 242, 243, 0.88);
}

body.store-theme-nukleo .store-eyebrow {
    color: var(--store-accent);
    letter-spacing: 0.12em;
}

body.store-theme-nukleo .store-results-meta {
    color: var(--nukleo-card-muted);
}

body.store-theme-nukleo .store-sidebar-card {
    background: var(--nukleo-card);
    border: 1px solid var(--nukleo-card-border);
    border-radius: 18px;
    box-shadow: var(--store-shadow);
}

body.store-theme-nukleo .store-sidebar-title {
    color: var(--nukleo-card-muted);
}

/* Sidebar: anular list-group de Bootstrap (fondos blancos / texto gris claro) */
body.store-theme-nukleo .store-sidebar-card .list-group {
    --bs-list-group-color: #f0f2f3;
    --bs-list-group-bg: transparent;
    --bs-list-group-border-color: transparent;
    --bs-list-group-action-color: #f0f2f3;
    --bs-list-group-action-hover-color: #1a1d1a;
    --bs-list-group-action-hover-bg: rgba(145, 213, 0, 0.45);
    --bs-list-group-action-active-color: #1a1d1a;
    --bs-list-group-action-active-bg: #91d500;
    --bs-list-group-disabled-color: #6b7280;
    --bs-list-group-disabled-bg: transparent;
}

body.store-theme-nukleo .store-sidebar-card .list-group-item,
body.store-theme-nukleo .store-sidebar-card .list-group-item-action {
    background-color: rgba(0, 0, 0, 0.22) !important;
    color: #f0f2f3 !important;
    border: none !important;
    border-radius: 999px;
    padding: 0.5rem 0.85rem !important;
    margin-bottom: 0.35rem;
    font-weight: 500;
    transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

body.store-theme-nukleo .store-sidebar-card .list-group-item:last-child,
body.store-theme-nukleo .store-sidebar-card .list-group-item-action:last-child {
    margin-bottom: 0;
}

body.store-theme-nukleo .store-sidebar-card .list-group-item-action:hover {
    background-color: rgba(145, 213, 0, 0.22) !important;
    color: #fff !important;
}

body.store-theme-nukleo .store-sidebar-card .list-group-item-action:focus-visible {
    outline: 2px solid var(--store-accent);
    outline-offset: 2px;
    box-shadow: 0 0 0 3px rgba(145, 213, 0, 0.25);
}

body.store-theme-nukleo .store-sidebar-card .list-group-item-action.active {
    background-image: linear-gradient(155deg, #d2ef9a 0%, #91d500 42%, #6fa800 100%) !important;
    color: #1a1d1a !important;
    font-weight: 700;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

body.store-theme-nukleo .store-search .input-group {
    background: var(--nukleo-card);
    border: 1px solid var(--nukleo-card-border);
    border-radius: 999px;
    overflow: hidden;
    box-shadow: var(--store-shadow);
}

body.store-theme-nukleo .store-search .input-group-text {
    background: transparent;
    color: var(--nukleo-card-muted);
    border: none;
}

body.store-theme-nukleo .store-search .form-control {
    background: transparent;
    color: var(--nukleo-card-text);
    border: none;
}

body.store-theme-nukleo .store-search .form-control::placeholder {
    color: var(--nukleo-card-muted);
    opacity: 1;
}

body.store-theme-nukleo .store-search .form-control:focus {
    background: rgba(0, 0, 0, 0.15);
    color: #fff;
    box-shadow: none;
}

body.store-theme-nukleo .store-search .btn-search {
    color: #252825 !important;
    font-family: var(--store-font-display), system-ui, sans-serif;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-size: 0.78rem;
    border-radius: 0 999px 999px 0 !important;
    background-image: linear-gradient(155deg, #d2ef9a 0%, #91d500 42%, #6fa800 100%) !important;
    border: none !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

body.store-theme-nukleo .store-chip {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.15);
    color: #e4e7ec;
}

body.store-theme-nukleo .store-chip:hover,
body.store-theme-nukleo .store-chip.is-active {
    color: #343936;
    background: var(--store-accent);
    border-color: var(--store-accent);
}

body.store-theme-nukleo .product-card {
    background: var(--nukleo-card);
    border: 1px solid var(--nukleo-card-border) !important;
    border-radius: 18px;
    box-shadow: var(--store-shadow);
}

body.store-theme-nukleo .product-card:hover {
    border-color: rgba(145, 213, 0, 0.35) !important;
    box-shadow: var(--store-shadow-hover) !important;
}

body.store-theme-nukleo .product-card-media {
    background: linear-gradient(165deg, var(--nukleo-card-deep) 0%, #252825 100%);
}

body.store-theme-nukleo .product-img-placeholder {
    color: var(--nukleo-card-muted);
    opacity: 0.55;
}

body.store-theme-nukleo .product-card-title a {
    color: var(--nukleo-card-text) !important;
}

body.store-theme-nukleo .product-card-title a:hover {
    color: #dff6a8 !important;
}

body.store-theme-nukleo .product-card-category {
    color: rgba(200, 242, 138, 0.85) !important;
}

body.store-theme-nukleo .product-card-category:hover {
    color: var(--store-accent) !important;
}

body.store-theme-nukleo .product-card .price {
    color: var(--store-accent);
    text-shadow: 0 0 24px rgba(145, 213, 0, 0.2);
}

body.store-theme-nukleo .product-card-compare {
    color: var(--nukleo-card-muted);
}

body.store-theme-nukleo .product-card .btn-store-ghost {
    color: var(--nukleo-card-muted) !important;
}

body.store-theme-nukleo .product-card .btn-store-ghost:hover {
    color: var(--store-accent) !important;
}

body.store-theme-nukleo .product-card-gate-hint {
    color: var(--nukleo-card-muted);
}

body.store-theme-nukleo .btn-primary {
    --bs-btn-color: #252825;
    --bs-btn-bg: #91d500;
    --bs-btn-border-color: transparent;
    --bs-btn-hover-color: #1a1d1a;
    --bs-btn-hover-bg: #6fa800;
    --bs-btn-hover-border-color: transparent;
    --bs-btn-active-color: #1a1d1a;
    --bs-btn-active-bg: #5c8f00;
    --bs-btn-active-border-color: transparent;
    --bs-btn-disabled-color: rgba(37, 40, 37, 0.55);
    --bs-btn-disabled-bg: #b8e063;
    --bs-btn-disabled-border-color: transparent;
    --bs-btn-focus-shadow-rgb: 145, 213, 0;
    font-family: var(--store-font-display), system-ui, sans-serif;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-size: 0.6875rem;
    line-height: 1.2;
    color: #252825 !important;
    border-radius: 999px;
    border: none !important;
    background-color: transparent !important;
    background-image: linear-gradient(155deg, #d2ef9a 0%, #91d500 42%, #6fa800 100%) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.42),
        0 2px 8px rgba(0, 0, 0, 0.12);
}

body.store-theme-nukleo .btn-primary.btn-lg {
    font-size: 0.82rem;
    letter-spacing: 0.07em;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

body.store-theme-nukleo .btn-primary:hover,
body.store-theme-nukleo .btn-primary:focus,
body.store-theme-nukleo .btn-primary:active {
    color: #1a1d1a !important;
    background-image: linear-gradient(155deg, #dff6a8 0%, #9ad916 38%, #5c8f00 100%) !important;
    filter: brightness(1.04);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.5),
        0 4px 14px rgba(145, 213, 0, 0.35);
}

body.store-theme-nukleo .product-card-actions-primary .btn-primary {
    min-height: 2.35rem;
}

/* WhatsApp compacto: círculo al lado del pill (como referencia nukleoparts.com) */
body.store-theme-nukleo .product-card-actions-primary .btn-whatsapp.btn-sm {
    width: 2.35rem !important;
    min-width: 2.35rem !important;
    height: 2.35rem !important;
    padding: 0 !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    box-shadow: 0 2px 10px rgba(37, 211, 102, 0.35);
}

body.store-theme-nukleo .product-card-actions-primary .btn-whatsapp.btn-sm:hover {
    transform: scale(1.04);
}

body.store-theme-nukleo .btn-whatsapp.btn-lg {
    border-radius: 999px;
    font-family: var(--store-font-display), system-ui, sans-serif;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

body.store-theme-nukleo .btn-outline-primary {
    border-radius: 999px;
    border-width: 2px;
    color: #91d500;
    border-color: rgba(145, 213, 0, 0.55);
    background: transparent;
    font-family: var(--store-font-display), system-ui, sans-serif;
    font-weight: 700;
    letter-spacing: 0.04em;
}

body.store-theme-nukleo .btn-outline-primary:hover {
    color: #252825;
    background: #91d500;
    border-color: #91d500;
}

body.store-theme-nukleo .btn-store-soft {
    background: rgba(145, 213, 0, 0.18);
    color: #d2ef9a;
    border-color: rgba(145, 213, 0, 0.35);
}

body.store-theme-nukleo .btn-store-soft:hover {
    background: rgba(145, 213, 0, 0.28);
    color: #fff;
}

/* Texto “Mostrando X a Y de Z” — text-muted de Bootstrap es para fondo claro */
body.store-theme-nukleo .store-pagination p.small.text-muted,
body.store-theme-nukleo .store-pagination .text-muted {
    color: #c4cdc7 !important;
    --bs-text-opacity: 1;
}

body.store-theme-nukleo .store-pagination .fw-semibold {
    color: #fff !important;
}

body.store-theme-nukleo .store-pagination .page-link {
    background: rgba(255, 255, 255, 0.06);
    color: #e4e7ec;
    border-color: rgba(255, 255, 255, 0.12);
}

body.store-theme-nukleo .store-pagination .page-link:hover {
    background: rgba(145, 213, 0, 0.2);
    color: #fff;
}

body.store-theme-nukleo .store-pagination .page-item.active .page-link {
    color: #343936;
    font-weight: 700;
}

body.store-theme-nukleo footer.store-footer {
    background: #252825;
    border-top-color: rgba(255, 255, 255, 0.08);
    color: #a8b0ad;
}

body.store-theme-nukleo footer.store-footer .text-muted {
    color: #a8b0ad !important;
}

body.store-theme-nukleo footer.store-footer .text-success {
    color: #25d366 !important;
}

body.store-theme-nukleo .store-mobile-bar {
    background: rgba(37, 40, 37, 0.98);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

body.store-theme-nukleo .store-mobile-bar a,
body.store-theme-nukleo .store-mobile-bar button {
    color: #a8b0ad;
}

body.store-theme-nukleo .store-mobile-bar a.active,
body.store-theme-nukleo .store-mobile-bar button.active {
    color: var(--store-accent);
}

body.store-theme-nukleo .store-offcanvas {
    background: #252825;
    color: #f0f2f3;
}

body.store-theme-nukleo .store-offcanvas .offcanvas-title {
    color: #fff;
}

body.store-theme-nukleo .store-offcanvas .list-group-item {
    color: #e4e7ec;
    background: transparent;
}

body.store-theme-nukleo .store-offcanvas .list-group-item:hover {
    background: rgba(145, 213, 0, 0.12);
    color: var(--store-accent);
}

body.store-theme-nukleo .store-empty {
    background: var(--nukleo-card);
    border: 1px dashed rgba(145, 213, 0, 0.28);
    color: var(--nukleo-card-text);
}

body.store-theme-nukleo .store-empty .text-muted {
    color: var(--nukleo-card-muted) !important;
}

body.store-theme-nukleo .store-empty h2 {
    color: #fff;
}

body.store-theme-nukleo .store-product-gallery {
    background: var(--nukleo-card);
    border: 1px solid var(--nukleo-card-border);
    border-radius: 20px;
    box-shadow: var(--store-shadow);
}

body.store-theme-nukleo .store-product-gallery .product-img-placeholder {
    background: linear-gradient(165deg, var(--nukleo-card-deep), #1a1c1a);
    color: var(--nukleo-card-muted);
}

body.store-theme-nukleo .store-purchase-panel,
body.store-theme-nukleo .store-cart-summary-card {
    background: var(--nukleo-card);
    color: var(--nukleo-card-text);
    border: 1px solid var(--nukleo-card-border);
    border-radius: 20px;
    box-shadow: var(--store-shadow);
}

body.store-theme-nukleo .store-purchase-panel .store-qty-stepper,
body.store-theme-nukleo .cart-line-qty {
    background: var(--nukleo-card-deep);
    border-color: var(--nukleo-card-border);
}

body.store-theme-nukleo .store-purchase-panel .store-qty-btn,
body.store-theme-nukleo .cart-line-qty button {
    color: var(--nukleo-card-muted);
}

body.store-theme-nukleo .store-purchase-panel .store-qty-input,
body.store-theme-nukleo .cart-line-qty input {
    color: var(--nukleo-card-text);
}

body.store-theme-nukleo .store-purchase-hint,
body.store-theme-nukleo .store-product-info .text-muted {
    color: var(--nukleo-card-muted) !important;
}

body.store-theme-nukleo .store-product-info .price,
body.store-theme-nukleo .store-product-info [data-product-price] {
    color: var(--store-accent);
}

body.store-theme-nukleo .store-cart-line-title,
body.store-theme-nukleo .store-cart-line-title a {
    color: var(--nukleo-card-text);
}

body.store-theme-nukleo .store-cart-line {
    border-color: var(--nukleo-card-border);
}

body.store-theme-nukleo .store-cart-line .text-muted {
    color: var(--nukleo-card-muted) !important;
}

body.store-theme-nukleo .store-cart-line .fw-bold {
    color: var(--store-accent);
}

body.store-theme-nukleo .store-cart-thumb {
    background: linear-gradient(145deg, var(--nukleo-card-deep), #252825);
    color: var(--nukleo-card-muted);
    border: 1px solid var(--nukleo-card-border);
}

body.store-theme-nukleo .store-cart-summary-card .border-bottom {
    border-color: var(--nukleo-card-border) !important;
}

body.store-theme-nukleo .store-cart-summary-card .text-muted {
    color: var(--nukleo-card-muted) !important;
}

body.store-theme-nukleo .store-cart-summary-card .store-wa-context {
    background: rgba(0, 0, 0, 0.22);
    border-color: rgba(145, 213, 0, 0.22);
}

body.store-theme-nukleo .store-cart-summary-card .store-wa-context .text-muted {
    color: rgba(232, 255, 200, 0.75) !important;
}

body.store-theme-nukleo .store-cart-note-form .form-label {
    color: var(--nukleo-card-text);
}

body.store-theme-nukleo .store-cart-note-form .form-control {
    background: var(--nukleo-card-deep);
    border: 1px solid var(--nukleo-card-border);
    color: var(--nukleo-card-text);
    border-radius: 12px;
}

body.store-theme-nukleo .store-cart-note-form .form-control::placeholder {
    color: var(--nukleo-card-muted);
}

body.store-theme-nukleo .store-cart-mobile-checkout {
    background: rgba(37, 40, 37, 0.96);
    border-top: 1px solid var(--nukleo-card-border);
    box-shadow: 0 -12px 32px rgba(0, 0, 0, 0.45);
}

body.store-theme-nukleo .store-cart-mobile-checkout .text-muted {
    color: var(--nukleo-card-muted) !important;
}

body.store-theme-nukleo .store-personalization {
    background: rgba(145, 213, 0, 0.1);
    border-color: rgba(145, 213, 0, 0.25);
    color: #f0f2f3;
}

body.store-theme-nukleo .store-product-info .product-card-category {
    color: var(--store-accent) !important;
}

body.store-theme-nukleo .store-product-info .text-secondary {
    color: #b8c0bc !important;
}

body.store-theme-nukleo .store-product-info .store-stock-list {
    background: var(--nukleo-card-deep);
    border: 1px solid var(--nukleo-card-border);
    border-radius: 14px;
}

body.store-theme-nukleo .store-product-info .store-stock-list .list-group-item {
    background: transparent;
    color: var(--nukleo-card-text);
    border-color: var(--nukleo-card-border);
}

body.store-theme-nukleo .store-cart-line .btn-link.text-danger {
    color: #f87171 !important;
}

body.store-theme-nukleo .store-cart-line .btn-link.text-danger:hover {
    color: #fca5a5 !important;
}

body.store-theme-nukleo .store-breadcrumb .breadcrumb-item.active {
    color: var(--nukleo-card-muted);
}

body.store-theme-nukleo .store-branch-picker .form-select {
    background-color: var(--nukleo-card-deep);
    border-color: var(--nukleo-card-border);
    color: var(--nukleo-card-text);
}

body.store-theme-nukleo .product-variation-option {
    background: var(--nukleo-card-deep);
    border-color: var(--nukleo-card-border) !important;
    color: var(--nukleo-card-text);
}

body.store-theme-nukleo .product-variation-option:hover {
    border-color: rgba(145, 213, 0, 0.45) !important;
}
