/* Estilos modernos para tienda Somelier Meats (incremental, no rompe estilos actuales) */
:root {
  --sm-gap: 0.75rem;
  --sm-radius: 8px;
  --sm-shadow: 0 2px 6px rgba(0,0,0,0.12);
  --sm-shadow-hover: 0 4px 14px rgba(0,0,0,0.18);
  --sm-transition: .18s ease-in-out;
  --sm-badge-bg: #222;
  --sm-badge-color: #fff;
  --sm-badge-warning-bg: #b8860b;
  --sm-badge-danger-bg: #8b0000;
  --sm-badge-piece-bg: #0d6efd;
  --sm-primary: #4b5563;           /* slate neutral */
  --sm-primary-700: #374151;
  --sm-primary-contrast: #ffffff;
  --sm-surface: #faf7f6;           /* fondo cálido suave */
  --sm-surface-strong: #f4eeec;    /* variante un poco más oscura */
  --sm-border: #e7dedb;            /* borde cálido */
}

.product-grid-modern { display: grid; grid-template-columns: repeat(auto-fill,minmax(220px,1fr)); gap: calc(var(--sm-gap) + .25rem); }

.product-card { background: #fff; border: 1px solid #eee; border-radius: var(--sm-radius); padding: .75rem; position: relative; display:flex; flex-direction:column; text-decoration:none; color:inherit; box-shadow: var(--sm-shadow); transition: var(--sm-transition); }
.product-card:hover { box-shadow: var(--sm-shadow-hover); transform: translateY(-2px); }
.product-card .pc-img-wrapper { width:100%; aspect-ratio: 1/1; overflow:hidden; border-radius: var(--sm-radius); background:#fafafa; display:flex; align-items:center; justify-content:center; }
.product-card img { width:100%; height:100%; object-fit:cover; display:block; }
.product-card h3 { font-size: 1.05rem; margin:.65rem 0 .45rem; line-height:1.25; min-height:2.4em; }
.product-card .pc-price { font-weight:700; font-size:1rem; }
.product-card .pc-price .old { text-decoration:line-through; font-weight:400; opacity:.55; margin-right:.35rem; }
.product-card .pc-badges { position:absolute; top:.5rem; left:.5rem; display:flex; flex-direction:column; gap:.35rem; }
.product-card .badge-sm { font-size:.65rem; letter-spacing:.5px; padding:.25rem .45rem; border-radius:4px; font-weight:600; background:var(--sm-badge-bg); color:var(--sm-badge-color); box-shadow:0 1px 2px rgba(0,0,0,.15); }
.badge-stock-out { background: var(--sm-badge-danger-bg); }
.badge-stock-piece { background: var(--sm-badge-piece-bg); }
.badge-stock-ok { background: #198754; }

.product-card .pc-actions { margin-top:auto; display:flex; justify-content:space-between; align-items:center; gap:.5rem; padding-top:.75rem; }
.product-card .pc-actions .btn-view { 
    font-size:1rem; 
    text-transform:uppercase; 
    letter-spacing:1px; 
    padding:.85rem 1.5rem; 
    border:2px solid var(--sm-primary, #d4af37); 
    background:var(--sm-primary, #d4af37); 
    color:#fff;
    border-radius:8px; 
    transition: all 0.3s ease; 
    text-decoration:none; 
    font-weight:700;
    width:100%;
    text-align:center;
    box-shadow: 0 4px 12px rgba(212, 175, 55, 0.3);
    cursor:pointer;
    position:relative;
    overflow:hidden;
}
.product-card .pc-actions .btn-view::before {
    content: '👁️ ';
    margin-right: 6px;
}
.product-card .pc-actions .btn-view:hover { 
    background:#c89d2b; 
    border-color:#c89d2b;
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 6px 20px rgba(212, 175, 55, 0.5);
}
.product-card .pc-actions .btn-view:active {
    transform: translateY(-1px);
}

/* Responsive tweaks */
@media (min-width:768px){
  .product-card h3 { font-size:1.1rem; }
  .product-card .pc-price { font-size:1.05rem; }
}

/* Sidebar moderno (categorías y filtros) */
.sidebar.filterbar { position: sticky; top: 70px; max-height: calc(100vh - 90px); overflow: auto; padding: 1.5rem 1rem; }
@media (max-width: 991.98px){ .sidebar.filterbar { position: static; max-height: none; } }
.sidebar .widget-title h2 { font-size: 1.35rem; font-weight: 700; margin: .75rem 0 1rem; color:#fff; }
.sidebar_categories { list-style: none; margin: 0; padding-left: 0; }
.sidebar_categories .level1 > a { display: flex; align-items:center; justify-content:space-between; gap:.5rem; padding: .8rem 1rem; border-radius: 8px; font-weight: 700; font-size: 1.05rem; text-decoration: none; transition: all 0.2s ease; }
.sidebar_categories .level1 > a:hover { background: #1e1e1e; transform: translateX(3px); }
.sidebar_categories .sublinks { margin: .35rem 0 .75rem .5rem; padding-left: .75rem; border-left: 3px solid var(--sm-primary); }
.sidebar_categories .sublinks .level2 a { display: block; padding: .6rem .9rem; border-radius: 6px; font-weight: 600; font-size: 1rem; text-decoration: none; transition: all 0.2s ease; }
.sidebar_categories a.active, .sidebar_categories .sublinks .level2 a.active { background: #171717; color: var(--sm-primary); }

/* Caret for categories with sublinks */
.sidebar_categories .cat-caret { width: 12px; height:12px; display:inline-block; border-right: 2px solid currentColor; border-bottom:2px solid currentColor; transform: rotate(-45deg); opacity:.6; transition: var(--sm-transition); }
.sidebar_categories .level1 > a.active .cat-caret { transform: rotate(45deg); opacity:1; }

/* Buscador en sidebar */
.sidebar .priceRow { margin: 1.5rem 0; padding: 1rem; background: #171717; border-radius: 8px; border: 1px solid #2a2a2a; }
.sidebar .product-price { display: flex; gap: .5rem; align-items: center; }
.sidebar .product-price input[type="text"] { flex: 1; padding: .75rem 1rem; font-size: 1rem; background: #0f0f0f; color: #fff; border: 2px solid #2a2a2a; border-radius: 6px; }
.sidebar .product-price input[type="text"]:focus { outline: none; border-color: var(--sm-primary); box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.2); }
.sidebar .product-price button { padding: .75rem 1.5rem; font-size: 1rem; font-weight: 700; background: var(--sm-primary); color: #000; border: none; border-radius: 6px; cursor: pointer; transition: all 0.3s ease; }
.sidebar .product-price button:hover { background: #c89d2b; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(212, 175, 55, 0.3); }

/* Ficha de producto: tabla de piezas */
.tabla-piezas { width: 100%; border-collapse: collapse; margin:.5rem 0 1rem; background:#fff; }
.tabla-piezas thead th { font-size:.9rem; font-weight:700; border-bottom:2px solid #eee; padding:.5rem .6rem; }
.tabla-piezas tbody td { padding:.5rem .6rem; border-bottom:1px solid #f0f0f0; vertical-align: middle; }
.tabla-piezas tbody tr:hover { background:#fafafa; }
.tabla-piezas .peso { font-variant-numeric: tabular-nums; }
.total-box { display:flex; align-items:center; gap:.5rem; font-size:1.1rem; font-weight:700; }
.total-box .money { font-size:1.25rem; }

/* Toolbar filtros */
.filters-toolbar__item select.form-control-sm { font-size: .95rem; padding: .25rem .5rem; }
.filters-toolbar__item label { font-weight: 600; }
.filters-toolbar__item--count { font-size: .95rem; }

/* Ficha de producto */
.product-single__title { font-size: 1.75rem; font-weight: 700; margin-bottom: .75rem; line-height: 1.3; }
.product-single__price { margin: 1rem 0; font-size: 1.35rem; font-weight: 700; color: #222; }
.precio-anterior { font-size: .9em; font-weight: 400; color: #999; margin-left: .5rem; }
.producto-descripcion { margin-top: 1.25rem; margin-bottom: 1.5rem; line-height: 1.6; color: #555; }
.product-details-img img { border-radius: var(--sm-radius); width: 100%; height: auto; }

@media (min-width: 992px){
  .product-single__title { font-size: 2rem; }
  .product-single__price { font-size: 1.5rem; }
}

/* Tienda: sin banners, sin espacios innecesarios */
#page-content { padding-top: 0 !important; margin-top: 0 !important; }
/* Ocultar slider SOLO en tienda.php */
.page-tienda .slideshow-wrapper,
.page-tienda .slideshow.slideshow-wrapper.pb-section { 
  display: none !important; 
  margin: 0 !important; 
  padding: 0 !important; 
}
#page-content > .container:first-of-type { margin-top: 1.5rem; } /* Compensar espacio superior */

/* Tienda - modo oscuro unificado */
.page-tienda { color: #e6e6e6; }
.page-tienda .container { background: transparent; }
.page-tienda a { color: var(--sm-primary); }
.page-tienda a:hover { filter: brightness(1.1); }
.page-tienda .filters-toolbar__item--count, 
.page-tienda #productCount, 
.page-tienda .filters-toolbar__product-count { color: #ddd !important; font-weight: 700; }
.page-tienda .filters-toolbar__item label { color: #ccc; font-weight: 600; }
.page-tienda .form-control-sm { background: #0f0f0f; color:#fff; border:1px solid #2a2a2a; border-radius:6px; }
.page-tienda .form-control-sm:focus { outline:none; border-color: var(--sm-primary); box-shadow: 0 0 0 2px rgba(0,0,0,.3), 0 0 0 2px var(--sm-primary) inset; }
.page-tienda .btn-filter { background: transparent; color: var(--sm-primary); border:2px solid var(--sm-primary); border-radius:6px; display:inline-flex; align-items:center; gap:.35rem; }
.page-tienda .btn-filter:hover { background:#151515; }

/* Sidebar oscura */
.page-tienda .sidebar.filterbar { background:#0f0f0f !important; border:1px solid #2a2a2a; border-radius: 8px; padding: 1.5rem 1rem !important; }
.page-tienda .sidebar hr { border: 0; border-top: 1px solid #2a2a2a; margin: 1.5rem 0; opacity: 0.5; }
.page-tienda .sidebar_tags { background: transparent; }
.page-tienda .sidebar .priceRow { margin: 1.5rem 0; padding: 1rem; background: #1a1a1a; border-radius: 8px; border: 1px solid #2a2a2a; }
.page-tienda .widget-title h2 { color: var(--sm-primary); font-size: 1.35rem; }
.page-tienda .sidebar_categories .level1 > a { color:#e6e6e6; font-size: 1.05rem; }
.page-tienda .sidebar_categories .level1 > a.active { background:#1a1a1a; color: var(--sm-primary); border-left: 4px solid var(--sm-primary); padding-left: calc(1rem - 4px); }
.page-tienda .sidebar_categories .level1 > a:hover { background:#1a1a1a; }
.page-tienda .sidebar_categories .sublinks { border-left:3px solid var(--sm-primary); margin-left: .5rem; }
.page-tienda .sidebar_categories .sublinks .level2 a { color:#dcdcdc; font-size: 1rem; }
.page-tienda .sidebar_categories .sublinks .level2 a.active { background:#1a1a1a; color: var(--sm-primary); }
.page-tienda .sidebar_categories .sublinks .level2 a:hover { background:#1a1a1a; }
.page-tienda .sidebar .btn, .page-tienda .sidebar button { background: var(--sm-primary); color: #000; border: none; font-weight: 700; padding: .75rem 1.5rem; border-radius: 6px; transition: all 0.3s ease; }
.page-tienda .sidebar .btn:hover, .page-tienda .sidebar button:hover { background: #c89d2b; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(212, 175, 55, 0.3); }
.page-tienda .sidebar input[type="text"], .page-tienda .sidebar input[type="search"], .page-tienda .sidebar .form-control { background:#0f0f0f; color:#fff; border:2px solid #2a2a2a; border-radius:6px; padding: .75rem 1rem; font-size: 1rem; }
.page-tienda .sidebar input[type="text"]:focus, .page-tienda .sidebar input[type="search"]:focus, .page-tienda .sidebar .form-control:focus { border-color: var(--sm-primary); box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.2); outline: none; }

/* Cards de producto en oscuro */
.page-tienda .product-card { background:#121212; border:1px solid #222; color:#eee; }
.page-tienda .product-card .pc-img-wrapper { background:#000; }
.page-tienda .product-card h3 { color:#fff; }
.page-tienda .product-card .pc-price { color: var(--sm-primary); }
.page-tienda .product-card .badge-sm { background:#1f1f1f; color:#fff; }
.page-tienda .product-card .pc-actions .btn-view { background:#111; color:#eaeaea; border:1px solid #222; }
.page-tienda .product-card .pc-actions .btn-view:hover { background:#1a1a1a; }

/* Home - modo oscuro unificado */
.page-home { color: #e6e6e6; background: transparent; }
.page-home a { color: var(--sm-primary); }
.page-home a:hover { filter: brightness(1.1); }
.page-home .home-section-header h2 { color: var(--sm-primary); font-weight: 800; letter-spacing: .3px; }
.page-home .section-home-dark { background: transparent; }
.page-home .product-card { background:#121212; border:1px solid #222; color:#eee; }
.page-home .product-card .pc-img-wrapper { background:#000; }
.page-home .product-card h3 { color:#fff; }
.page-home .product-card .pc-price { color: var(--sm-primary); }
.page-home .product-card .badge-sm { background:#1f1f1f; color:#fff; }
.page-home .product-card .pc-actions .btn-view { background:#111; color:#eaeaea; border:1px solid #222; }
.page-home .product-card .pc-actions .btn-view:hover { background:#1a1a1a; }

/* Páginas estáticas (Quienes somos / Cómo comprar / Contacto) - modo oscuro unificado */
.page-static { color: #e6e6e6; background: transparent; }
.page-static a { color: var(--sm-primary); }
.page-static a:hover { filter: brightness(1.1); }
.page-static #page-content > .collection-box.section { background: transparent; }
.page-static .container, .page-static .container-fluid { background: transparent; }
/* Limitar ancho y centrar contenido en estáticas */
.page-static .container-fluid { max-width: 1200px; margin-left: auto; margin-right: auto; padding-left: 1rem; padding-right: 1rem; }
.page-static .ck-content { color: #ddd; line-height: 1.7; font-size: 1.02rem; max-width: 860px; margin-left: auto; margin-right: auto; }
.page-static .ck-content h1, 
.page-static .ck-content h2,
.page-static .ck-content h3,
.page-static .ck-content h4 { color: var(--sm-primary); font-weight: 800; letter-spacing: .3px; }
.page-static .ck-content p { color: #e0e0e0; margin-bottom: .9rem; }
.page-static .ck-content ul, .page-static .ck-content ol { padding-left: 1.25rem; }
.page-static .ck-content img { display:block; max-width:100%; height:auto; border-radius: 6px; border:1px solid #222; background:#000; }
.page-static .ck-content hr { border: none; height: 1px; background: #2a2a2a; margin: 1rem 0; }
/* Encabezado consistente para páginas estáticas */
.page-static .static-header { text-align: center; margin: 1rem 0 1.25rem; padding-bottom: .5rem; position: relative; }
.page-static .static-title { color: var(--sm-primary); font-weight: 800; letter-spacing: .3px; margin: 0; }
.page-static .static-header::after { content:""; position:absolute; left: 10%; right: 10%; bottom: 0; height: 2px; background: var(--sm-primary); opacity: .85; }

/* Paneles simples oscuros en estáticas */
.page-static .about-details-cap,
.page-static .static-panel { background:#0f0f0f; border:1px solid #222; border-radius: 8px; padding: 1rem; color:#e0e0e0; box-shadow: var(--sm-shadow); }

/* Formulario de contacto en oscuro */
.page-static .contact-title { color: var(--sm-primary); font-weight: 800; margin: 1rem 0 .75rem; }
.page-static .form-group .form-control,
.page-static textarea.form-control,
.page-static input.form-control,
.page-static input[type="text"],
.page-static input[type="email"],
.page-static input[type="tel"],
.page-static .form-control { background:#0f0f0f; color:#fff; border:1px solid #2a2a2a; border-radius:6px; }
.page-static .form-control:focus,
.page-static textarea.form-control:focus,
.page-static input.form-control:focus { outline:none; border-color: var(--sm-primary); box-shadow: 0 0 0 2px rgba(0,0,0,.3), 0 0 0 2px var(--sm-primary) inset; }
.page-static .form-control::placeholder { color: #9c9c9c; }

/* Botón enviar contacto */
.page-static .boxed-btn { 
  background: var(--sm-primary);
  color: var(--sm-primary-contrast);
  border: 1px solid var(--sm-primary);
  border-radius: 6px; 
  padding: .5rem .95rem; 
  font-weight: 800; 
  box-shadow: 0 4px 10px rgba(0,0,0,.35);
  transition: var(--sm-transition);
}
.page-static .boxed-btn:hover { filter: brightness(.9); }

@media (max-width: 575.98px){
  .page-static .ck-content { font-size: 1rem; }
  .page-static .container-fluid { padding-left: .75rem; padding-right: .75rem; }
}

/* Carrito */
.cart__row { vertical-align: middle; }
.cart__image { border-radius: 6px; object-fit: contain; border: 1px solid #333; background: #000; display: block; }
.cart__meta-text { font-size: .85rem; color: #aaa; margin-top: .25rem; }
.qtyField { font-size: .95rem; }
.qtyField strong { font-size: 1.05rem; color: #eee; }
.cart-price .money { font-size: 1.05rem; font-weight: 600; color: #f0f0f0; }
.cart__subtotal .money { font-size: 1.35rem; font-weight: 700; color: var(--sm-primary); }

/* Controles de cantidad */
.qty-group { gap: .35rem; background: #111; border: 1px solid #2a2a2a; padding: .35rem; border-radius: 8px; }
.qty-input { max-width: 72px; text-align: center; background: #0f0f0f; color: #fff; border: 1px solid #2a2a2a; height: 32px; line-height: 32px; }
.btn-update-qty, .btn-qty-inc, .btn-qty-dec { line-height: 1.2; background: #222; color: #fff; border: 1px solid #2f2f2f; border-radius: 6px; height: 32px; min-width: 32px; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; }
.btn-update-qty:hover, .btn-qty-inc:hover, .btn-qty-dec:hover { background: #2e2e2e; }
/* Acentos de foco con dorado */
.qty-input:focus, .qty-input:focus-visible { outline: none; border-color: var(--sm-primary); box-shadow: 0 0 0 2px rgba(0,0,0,.3), 0 0 0 2px var(--sm-primary) inset; }
.btn-qty-inc:focus, .btn-qty-dec:focus, .btn-qty-inc:focus-visible, .btn-qty-dec:focus-visible { outline: none; border-color: var(--sm-primary); box-shadow: 0 0 0 2px rgba(0,0,0,.3), 0 0 0 2px var(--sm-primary) inset; }
/* Ocultar spinners nativos */
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
input[type=number] { -moz-appearance: textfield; appearance: textfield; }

/* Badge por pieza armonizada con tarjetas */
.badge-stock-piece { background: var(--sm-badge-piece-bg); color: #fff; border-radius: 4px; padding: .2rem .4rem; }

/* Panel resumen del carrito (oscuro) */
.cart__footer .solid-border { border: 1px solid #222; border-radius: var(--sm-radius); box-shadow: var(--sm-shadow); padding: .9rem; background: #0f0f0f; position: relative; overflow: hidden; color: #e0e0e0; }
.cart__footer .solid-border::before { content:""; position:absolute; left:0; top:0; right:0; height:2px; background: #2a2a2a; }
.cart__footer .cart__subtotal-title { font-weight: 700; color: #fff; text-align: center; width: 100%; display: block; }
.cart__footer ul { margin-top: .75rem; display: grid; grid-template-columns: 1fr; gap: .75rem; padding-left: 0; }
.cart__footer ul li { list-style: none; display:flex; align-items:center; justify-content: center; gap:.5rem; padding:.6rem .85rem; background: #141414; border: 1px solid #262626; border-radius: 10px; line-height: 1.4; text-align: center; }
.cart__footer ul li:hover { border-color: #2a2a2a; box-shadow: 0 0 0 1px var(--sm-primary); }
.cart__footer ul li + li { border-top: none; }
.cart__footer ul li::before { content:""; display:none; }

/* Centrar resumen contenedor */
#cart-summary { text-align: center; }

/* Acciones del carrito (oscuras) */
#cart-actions-row { display:flex; justify-content: center; gap: .6rem; align-items: center; flex-wrap: wrap; margin-top: 1.1rem; }
#cart-actions-row a.btn-lg { display: inline-flex; align-items: center; gap: .35rem; padding: .45rem .8rem; border-radius: 6px; border: 1px solid #2a2a2a; background: #1c1c1c; color: #eee; text-decoration: none; transition: var(--sm-transition); box-shadow: 0 1px 2px rgba(0,0,0,.35); height: 36px; font-size: .9rem; }
#cart-actions-row a.btn-lg:hover { background: #232323; }
#cart-actions-row a.btn-lg[onclick*="envia"] { background: var(--sm-primary); color: var(--sm-primary-contrast, #111); border-color: var(--sm-primary); box-shadow: 0 4px 10px rgba(0,0,0,.35), 0 0 0 1px rgba(0,0,0,.25) inset; font-weight: 700; }
#cart-actions-row a.btn-lg[onclick*="envia"]:hover { filter: brightness(.9); }
#cart-actions-row a.btn-lg[href*="tienda"] { background: transparent; color: var(--sm-primary); border-color: var(--sm-primary); border-width: 2px; box-shadow: 0 1px 2px rgba(0,0,0,.35); transition: box-shadow .2s ease, background-color .2s ease, color .2s ease; }
#cart-actions-row a.btn-lg[href*="tienda"]:hover { background: #151515; color: var(--sm-primary); box-shadow: 0 0 0 2px var(--sm-primary) inset, 0 0 10px var(--sm-primary), 0 1px 2px rgba(0,0,0,.35); }
#btnVaciarCarrito { padding: .45rem .8rem; border-color: #d9534f !important; color: #ff9f9c !important; background: transparent !important; box-shadow: none; border-radius: 6px !important; height: 36px; display: inline-flex; align-items: center; font-size: .9rem; }
#btnVaciarCarrito:hover { background: rgba(217,83,79,.12) !important; }

.cart-actions-right { display: inline-flex; gap: .4rem; align-items: center; }

@media (max-width: 575.98px){
  #cart-actions-row { flex-direction: column; align-items: center; }
  .cart-actions-right { width: 100%; display: grid; grid-template-columns: 1fr; gap: .5rem; justify-items: center; }
  #btnVaciarCarrito { width: 100%; justify-content: center; }
  #cart-actions-row a.btn-lg { width: 100%; justify-content: center; }
}

/* Botón 'Vaciar' bajo el carrito */
.cart-clear-under-items { margin-top: .75rem; display: flex; justify-content: flex-end; }
.cart-clear-under-items #btnVaciarCarrito { border-color: #d9534f !important; color: #ff9f9c !important; }
.cart-clear-under-items #btnVaciarCarrito i, 
.cart-clear-under-items #btnVaciarCarrito svg { margin-right: .35rem; }

/* Espaciado de iconos dentro de acciones */
#cart-actions-row a.btn-lg i, 
#cart-actions-row a.btn-lg svg { color: currentColor; vertical-align: middle; margin-right: .35rem; }
#cart-actions-row a.btn-lg[onclick*="envia"] i,
#cart-actions-row a.btn-lg[onclick*="envia"] svg { margin-right: 0; margin-left: .35rem; }

/* Título 'Resumen:' en dorado */
#cart-summary > strong { color: var(--sm-primary); display: inline-block; margin-bottom: .35rem; letter-spacing: .2px; }

/* Página de producto - modo oscuro */
.product-page-dark { color: #e6e6e6; }
.product-page-dark #page-content, 
.product-page-dark .product-template__container { background: transparent; }
.product-page-dark .product-single__title { color: #fff; }
.product-page-dark .product-single__price { color: var(--sm-primary); }
.product-page-dark .producto-descripcion { color: #ddd; }
.product-page-dark .tabla-piezas { background: transparent; border: 1px solid #222; }
.product-page-dark .tabla-piezas thead th { background:#111; color: var(--sm-primary); border-bottom: 2px solid var(--sm-primary); }
.product-page-dark .tabla-piezas tbody td { background:#151515; color: #e0e0e0; border-bottom: 1px solid #222; }
.product-page-dark .tabla-piezas tbody tr:nth-child(odd) td { background:#101010; }
.product-page-dark .tabla-piezas input[type="radio"] { accent-color: var(--sm-primary); }
.product-page-dark .form-text.text-muted { color: #b7b7b7 !important; }
.product-page-dark .prod-actions { gap: 1rem; margin-top:1.5rem; padding:1rem; background:#0f0f0f; border:1px solid #222; border-radius: 6px; }
.product-page-dark .prod-actions .btn-back { background: transparent; color: var(--sm-primary); border: 2px solid var(--sm-primary); border-radius: 6px; padding: .5rem .9rem; display: inline-flex; align-items: center; gap:.35rem; }
.product-page-dark .prod-actions .btn-back:hover { background:#151515; }
.product-page-dark .prod-actions .btn-add,
.product-page-dark .prod-actions a.btn.btn-primary.btn-add { 
  background: var(--sm-primary);
  color: var(--sm-primary-contrast) !important;
  border: 1px solid var(--sm-primary);
  border-radius: 6px;
  padding: .5rem .9rem;
  display: inline-flex;
  align-items: center;
  gap:.35rem;
  font-weight:800;
  box-shadow: 0 4px 10px rgba(0,0,0,.35);
  text-shadow: 0 1px 1px rgba(0,0,0,.55);
}
.product-page-dark .prod-actions .btn-add:hover,
.product-page-dark .prod-actions a.btn.btn-primary.btn-add:hover { filter: brightness(.9); }
.product-page-dark .prod-actions .btn-add span,
.product-page-dark .prod-actions .btn-add i,
.product-page-dark .prod-actions .btn-add svg { color: inherit !important; fill: currentColor; }
.product-page-dark .total-box { display:flex; align-items:center; gap:.5rem; font-size:1.1rem; font-weight:700; margin-right:auto; }
.product-page-dark .total-box .label { color:#fff; letter-spacing:.2px; }
.product-page-dark .total-box .money { color: var(--sm-primary); font-size: 1.25rem; font-weight: 800; }
.product-page-dark .product-details-img img { background:#000; border:1px solid #333; }
.product-page-dark .alert-warning-dark { background:#1a1a1a; border:1px solid #2a2a2a; padding: 15px; border-radius: 6px; color:#f0d58a; }
.product-page-dark .alert-warning-dark .icon { color:#f0d58a; font-size: 22px; }
.product-page-dark label { color: #e8e8e8; font-weight: 600; }
.product-page-dark label.lbl { color: var(--sm-primary); }
.product-page-dark .form-control-sm, 
.product-page-dark select.form-control-sm, 
.product-page-dark input.form-control-sm, 
.product-page-dark input[type="number"].form-control-sm { background:#0f0f0f; color:#fff; border:1px solid #2a2a2a; border-radius:6px; }
.product-page-dark input.form-control-sm:focus, 
.product-page-dark select.form-control-sm:focus { outline:none; border-color: var(--sm-primary); box-shadow: 0 0 0 2px rgba(0,0,0,.3), 0 0 0 2px var(--sm-primary) inset; }

/* Separadores sutiles en producto */
.product-page-dark .breadcrumbs { position: relative; padding-bottom: .6rem; color: #cfcfcf; }
.product-page-dark .breadcrumbs a { color: var(--sm-primary); text-decoration: none; }
.product-page-dark .breadcrumbs a:hover { text-decoration: underline; }
.product-page-dark .breadcrumbs span { color: #a8a8a8; }
.product-page-dark .breadcrumbs::after { content:""; position:absolute; left:8%; right:8%; bottom: 0; height:1px; background: var(--sm-primary); opacity:.85; }

.product-page-dark .product-details-img { position: relative; }
.product-page-dark .product-details-img::before { content:""; position:absolute; left:6%; right:6%; top: -6px; height:2px; background: var(--sm-primary); border-radius: 2px; }

/* Tabla del carrito (oscura) */
.cart.style2 table { width: 100%; border-collapse: collapse; }
.cart.style2 thead.cart__header th { font-size: .95rem; font-weight: 800; border-bottom: 2px solid var(--sm-primary); background: #111; color: var(--sm-primary); text-transform: uppercase; letter-spacing: .3px; }
.cart.style2 thead.cart__header th i, 
.cart.style2 thead.cart__header th svg { margin-right: .35rem; color: var(--sm-primary); }
.cart.style2 tbody td { border-bottom: 1px solid #222; padding-top: .6rem; padding-bottom: .6rem; background: #151515; color: #e0e0e0; }
.cart.style2 tbody tr:hover td { background: #1a1a1a; }
.cart.style2 tbody tr:nth-child(odd) td { background: #101010; }
/* Compactar la celda de imagen para reducir padding visual */
.cart.style2 tbody td.cart__image-wrapper { padding: .25rem .35rem; }

/* Centrar también el valor de subtotal en el bloque de resumen */
.cart__footer .cart__subtotal { text-align: center !important; width: 100%; display: block; }

/* Título 'Total' más grande y centrado */
.cart__footer .cart__total-label { font-size: 1.2rem; font-weight: 800; color: #fff; text-align: center; letter-spacing: .2px; }
/* Línea única para Total */
.cart__footer .cart__total-inline { text-align: center; font-size: 1.15rem; letter-spacing: .2px; }
.cart__footer .cart__total-inline strong { color: var(--sm-primary); font-weight: 800; margin-right: .25rem; }
.cart__footer .cart__total-inline .money { color: var(--sm-primary); font-weight: 800; font-size: 1.35rem; }

/* Separador sutil antes del total */
.cart__footer .cart__total-block { position: relative; margin-top: 1rem; padding-top: .85rem; }
.cart__footer .cart__total-block::before { content: ""; position: absolute; left: 10%; right: 10%; top: 0; height: 1px; background: #2a2a2a; }

@media (max-width: 575.98px){
  .cart-price .money, .cart__subtotal .money { font-size: 1rem; }
  .cart__meta-text { display: none; }
  .qty-input { max-width: 64px; }
}

/* Animaciones de eliminación en carrito */
.cart-row-removing { opacity: .01 !important; transform: scale(0.98); transition: opacity .25s ease, transform .25s ease; }

/* Header mejorado (oscuro + dorado) */
.site-header-dark { border-bottom: 1px solid #222; }
.site-header-dark .brand-logo { max-height: 56px; width: auto; height: auto; object-fit: contain; display: block; }
.site-header-dark .brand-link { display: inline-flex; align-items: center; }
.site-header-dark .header-actions { gap: .6rem; flex-wrap: nowrap; }
.site-header-dark #AccessibleNav #siteNav { display:flex; gap: 1rem; flex-wrap: wrap; justify-content: center; }
.site-header-dark .header-btn { 
  background: transparent; 
  color: var(--sm-primary); 
  border: 1px solid var(--sm-primary); 
  border-radius: 16px; 
  width: 36px; height: 32px; 
  display: inline-flex; align-items: center; justify-content: center; 
  transition: var(--sm-transition);
}
.site-header-dark .header-btn:hover { background: #151515; }
.site-header-dark .btn-cart { position: relative; padding-right: .6rem; padding-left: .6rem; border-radius: 18px; width: auto; }
.site-header-dark .btn-cart i, .site-header-dark .btn-cart svg { margin-right: .35rem; }
.site-header-dark .cart-badge { position: absolute; top: -6px; right: -6px; background: var(--sm-primary); color: var(--sm-primary-contrast); border-radius: 12px; font-size: .7rem; padding: 0 .35rem; line-height: 18px; min-width: 18px; text-align: center; border: 1px solid #111; }
.site-header-dark #siteNav a { color: var(--sm-primary); font-weight: 700; }
.site-header-dark #siteNav a:hover { color: #ffffff; }

/* Ajustes de usuario en header */
.site-header-dark .header-user .header-btn { width: auto; padding: 0 .6rem; }
.site-header-dark .header-user .dropdown-menu { min-width: 180px; }

/* Ajustes por breakpoint para el logo */
@media (min-width: 992px){ /* lg+ */
  .site-header-dark .brand-logo { max-height: 72px; }
}
@media (max-width: 575.98px){ /* xs */
  .site-header-dark .brand-logo { max-height: 42px; }
}
