/* ==========================================================================
   Custom styles – BuenaCarne
   ========================================================================== */

/* Utilidades */
.fw-700 { font-weight: 700; }

/* ======================= Dashboard > Mis Pedidos ======================= */
#pills-order { color: #111827; }
#pills-order * { color: inherit !important; opacity: 1 !important; }
#pills-order .text-content,
#pills-order small,
#pills-order .muted { color: #6b7280 !important; }
#pills-order a { color: #0d6efd !important; }

#pills-order .order-card{
  background:#fff;border:1px solid #e5e7eb;border-radius:12px;
  box-shadow:0 6px 18px rgba(17,24,39,.06);padding:18px 18px 12px;margin-bottom:16px;
  transition:box-shadow .2s ease, transform .2s ease;
}
#pills-order .order-card:hover{ box-shadow:0 10px 24px rgba(17,24,39,.10); transform:translateY(-1px); }

#pills-order .order-head{ display:flex;align-items:center;justify-content:space-between;margin-bottom:.35rem; }
#pills-order .order-id{ font-weight:700;font-size:1.05rem; }
#pills-order .order-date{ color:#6b7280 !important;font-weight:600; }

#pills-order .badge-status{ display:inline-block;font-size:.75rem;padding:.25rem .5rem;border-radius:.5rem;margin-left:.5rem;line-height:1; }
#pills-order .badge-paid{    background:#d1fae5;color:#065f46 !important; }
#pills-order .badge-pending{ background:#fee2e2;color:#991b1b !important; }
#pills-order .badge-failed{  background:#ffe4e6;color:#991b1b !important; }
#pills-order .badge-other{   background:#e9ecef;color:#495057 !important; }

#pills-order .order-meta{ display:grid;grid-template-columns:1fr 1fr;gap:.25rem .75rem;margin:.25rem 0 .65rem 0; }
#pills-order .order-meta span{ color:#6b7280 !important; }
#pills-order .order-meta .address{ grid-column:1 / -1; }

#pills-order .order-items .item{
  display:grid;grid-template-columns:56px 1fr auto;gap:.75rem;align-items:center;
  padding:.45rem 0;border-top:1px dashed #eee;
}
#pills-order .order-items .item:first-child{ border-top:none; }
#pills-order .order-items .thumb{ width:56px;height:56px;object-fit:cover;border-radius:8px;border:1px solid #eee; }
#pills-order .order-items .title{ font-weight:600;margin:0; }
#pills-order .order-items .muted{ color:#6b7280 !important;font-size:.85rem; }

#pills-order .order-total{ border-top:1px solid #eee;margin-top:.65rem;padding-top:.65rem;font-weight:800;text-align:right; }
#pills-order .pagination .page-link{ font-size:.875rem;padding:.25rem .5rem; }

@media (max-width:576px){
  #pills-order .order-meta{ grid-template-columns:1fr; }
  #pills-order .order-head{ flex-direction:column;align-items:flex-start;gap:.25rem; }
}

/* Contraste general del dashboard */
.user-dashboard-section .dashboard-order .order-card * { color: inherit !important; }
.user-dashboard-section .dashboard-profile label,
.user-dashboard-section .dashboard-profile .form-label,
.user-dashboard-section .dashboard-address label,
.user-dashboard-section .form-check-label { color:#212529 !important; }

.user-dashboard-section input::placeholder,
.user-dashboard-section textarea::placeholder { color:#6c757d;opacity:1; }

.theme-color-3 .user-dashboard-section label,
.theme-color-3 .user-dashboard-section .form-label { color:#212529 !important; }

/* Centrado robusto del avatar */
.profile-box .profile-contain { text-align:center; }
.profile-box .profile-contain .profile-image { display:flex; justify-content:center; }

/* ======================= Botones deshabilitados ======================= */
a.btn.disabled,
.btn[aria-disabled="true"]{
  pointer-events:none; opacity:.6; cursor:not-allowed;
}
.header-2 .onhover-div .button-group .btn.disabled{ pointer-events:none; }

/* ======================= Mini-carrito (dropdown) ======================= */
.header-2 .onhover-div{
  background:#fff !important;
  border:1px solid #e5e7eb;
  box-shadow:0 12px 28px rgba(0,0,0,.08);
}
#cart-dropdown, #cart-dropdown *{ color:#1f2937 !important; opacity:1 !important; }
#cart-dropdown{ list-style:none; margin:0; padding:0; }
#cart-dropdown li{ position:relative; border-bottom:1px solid #f1f5f9; padding-bottom:6px; }
.drop-cart{ display:flex; gap:10px; align-items:center; }
.drop-image img{ width:56px; height:56px; object-fit:cover; border-radius:8px; }

/* Totales */
#cart-dropdown ~ .price-box h5,
#cart-dropdown ~ .price-box .label,
#cart-dropdown ~ .price-box small { color:#6b7280 !important; }
#cart-dropdown ~ .price-box h4 { color:#111827 !important; font-weight:800; }

/* Footer botones */
#cart-dropdown ~ .button-group .cart-button{
  background:#fff !important; color:#1f2937 !important; border:1px solid #e5e7eb !important;
}
#cart-dropdown ~ .button-group .cart-button:hover{ background:#f8fafc !important; }
#cart-dropdown ~ .button-group .btn.btn-animation,
#cart-dropdown ~ .button-group .btn.btn-animation *{ color:#fff !important; }

/* Único botón de eliminar (sin pseudo-elemento duplicado) */
#cart-dropdown .cart-remove{
  position:absolute; top:8px; right:8px; width:28px; height:28px;
  display:flex; align-items:center; justify-content:center;
  background:#fff; border:1px solid #e5e7eb; border-radius:50%;
  color:#6b7280 !important; line-height:0; cursor:pointer; z-index:20;
  font-weight:700; font-size:16px;
}
#cart-dropdown .cart-remove:hover{
  color:#dc2626 !important; border-color:#fecaca; background:#fff5f5;
}

/* Estado vacío */
#cart-dropdown .cart-empty{ padding:10px 8px;color:#6b7280; }

/* ======================= Categorías ======================= */
.category-section-2 .shop-category-box{ text-align:center; }
.category-section-2 .category-name .cat-title{
  color:#111 !important; margin-top:10px; font-weight:700; letter-spacing:.2px; text-align:center;
}
.category-section-2 .circle-1{
  display:flex;align-items:center;justify-content:center;
  background:#FFF6D5;border-radius:24px;width:180px;height:120px;padding:18px;margin:0 auto;
}
.category-section-2 .circle-1 img{ max-height:70px;object-fit:contain; }

/* ======================= Recomendados ======================= */
.reco-card{ position:relative;border-radius:16px;overflow:hidden; }
.reco-card img{ width:100%;height:240px;object-fit:cover;display:block; }
.reco-chip{
  position:absolute;left:16px;top:16px;max-width:74%;
  padding:10px 14px;border-radius:14px;
  background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(6px);
  box-shadow:0 6px 18px rgba(0,0,0,.12);z-index:15;
}
.reco-name{ display:block;line-height:1.15;font-weight:800;font-size:.95rem;color:#111827; }
.reco-sub{ color:#6b7280;letter-spacing:.04em;text-transform:uppercase;font-size:.72rem; }
.reco-actions{
  position:absolute;left:0;right:0;bottom:0;padding:10px 14px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.55) 65%, rgba(0,0,0,.75) 100%);
  z-index:14;
}
.reco-view{ border:0;border-radius:14px;background:#4b1b10;color:#fff;font-weight:700;padding:10px 16px; }
.reco-view:hover{ background:#632111; }
.reco-add{
  width:44px;height:44px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:#fff;color:#1f2937;border:0;box-shadow:0 8px 18px rgba(0,0,0,.18);
  transition:transform .15s ease;
}
.reco-add:hover{ transform:translateY(-1px); }
.reco-add i{ font-size:18px; }

/* ======================= Toast ======================= */
#toast-root{ position:fixed; top:20px; right:20px; z-index:2000; }
.bc-toast{ background:#16a34a;color:#fff;padding:10px 14px;margin-top:8px;border-radius:10px;
  box-shadow:0 10px 22px rgba(0,0,0,.15);transform:translateY(0);opacity:1;transition:all .3s ease; }
.bc-toast.error{ background:#dc2626; }
.bc-toast.warn{  background:#b45309; }
.bc-toast.out{   transform:translateY(-6px);opacity:0; }


/* ===== HOME SECTION - CENTRADO ===== */
.home-section {
    background: transparent;
    padding: 30px 0;
}

/* Contenedor principal con ancho máximo */
.home-section .container-xxl {
    max-width: 1400px;
    padding: 0 15px;
    margin: 0 auto;
}

/* Banners con altura fija */
.home-banner-main,
.home-banner-side {
    position: relative;
    height: 450px;
    background: #000;
    border-radius: 12px;
    overflow: hidden;
}

/* Overlay de contenido */
.banner-content-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(
        135deg,
        rgba(0,0,0,0.6) 0%,
        rgba(0,0,0,0.2) 100%
    );
    display: flex;
    align-items: center;
    padding: 40px;
}

.banner-text-content {
    position: relative;
    z-index: 2;
}

.home-banner-side .banner-content-overlay {
    align-items: center;
    justify-content: center;
}

/* ===== RESPONSIVE BREAKPOINTS ===== */

/* Ultra Wide (2560px) */
@media (min-width: 2560px) {
    .home-section .container-xxl {
        max-width: 1800px;
    }

    .home-banner-main,
    .home-banner-side {
        height: 550px;
    }
}

/* Full HD (1920px) */
@media (min-width: 1920px) and (max-width: 2559px) {
    .home-section .container-xxl {
        max-width: 1600px;
    }

    .home-banner-main,
    .home-banner-side {
        height: 500px;
    }
}

/* Desktop Standard (1400px - 1919px) */
@media (min-width: 1400px) and (max-width: 1919px) {
    .home-section .container-xxl {
        max-width: 1320px;
    }

    .home-banner-main,
    .home-banner-side {
        height: 450px;
    }
}

/* Laptop (1200px - 1399px) */
@media (min-width: 1200px) and (max-width: 1399px) {
    .home-section .container-xxl {
        max-width: 1140px;
    }

    .home-banner-main,
    .home-banner-side {
        height: 420px;
    }
}

/* Small Laptop (992px - 1199px) */
@media (min-width: 992px) and (max-width: 1199px) {
    .home-section .container-xxl {
        max-width: 960px;
    }

    .home-banner-main,
    .home-banner-side {
        height: 400px;
    }

    .banner-content-overlay {
        padding: 30px;
    }
}

/* Tablet (768px - 991px) */
@media (min-width: 768px) and (max-width: 991px) {
    .home-section .container-xxl {
        max-width: 720px;
    }

    .home-banner-main,
    .home-banner-side {
        height: 350px;
        margin-bottom: 20px;
    }
}

/* Mobile (menos de 768px) */
@media (max-width: 767px) {
    .home-section .container-xxl {
        max-width: 100%;
        padding: 0 10px;
    }

    .home-banner-main,
    .home-banner-side {
        height: 280px;
        margin-bottom: 15px;
    }

    .banner-content-overlay {
        padding: 20px;
    }

    .banner-text-content h1 {
        font-size: 1.8rem;
    }

    .banner-text-content h3 {
        font-size: 1.1rem;
    }

    .banner-text-content p {
        font-size: 0.9rem;
    }
}

/* Ajuste para mantener proporción en desktop */
@media (min-width: 992px) {
    .home-section .row {
        align-items: stretch;
    }

    .home-banner-main,
    .home-banner-side {
        display: flex;
        height: 100%;
        min-height: 400px;
    }
}

/* Hover effect */
.home-banner-main:hover img,
.home-banner-side:hover img {
    transform: scale(1.05);
    transition: transform 0.5s ease;
}

/* Botones */
.home-section .btn-light {
    background: white;
    color: #333;
    border: none;
    font-weight: 600;
    padding: 10px 30px;
    transition: all 0.3s ease;
}

.home-section .btn-light:hover {
    background: #f8f9fa;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
}

/* ===== FOOTER COMPLETAMENTE REDISEÑADO ===== */
.footer-section-main {
    background: linear-gradient(180deg, #3a2418 0%, #2c1810 100%);
    color: #fff;
    margin-top: 80px;
    position: relative;
    width: 100%;
    overflow: hidden;
}

/* Patrón decorativo de fondo */
.footer-section-main::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image:
        radial-gradient(circle at 20% 50%, rgba(139, 69, 19, 0.1) 0%, transparent 50%),
        radial-gradient(circle at 80% 80%, rgba(139, 69, 19, 0.08) 0%, transparent 50%);
    pointer-events: none;
}

/* Contenedor principal */
.footer-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 30px;
    position: relative;
    z-index: 1;
}

/* Para pantallas 1920px */
@media (min-width: 1920px) {
    .footer-container {
        max-width: 1600px;
        padding: 0 60px;
    }
}

/* Contenido principal */
.footer-content {
    padding: 60px 0 40px;
}

/* Grid del footer */
.footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1.5fr;
    gap: 60px;
    align-items: start;
}

/* Columna de marca */
.footer-brand {
    padding-right: 30px;
}

.footer-logo {
    margin-bottom: 20px;
}

.footer-logo img {
    height: 50px;
    width: auto;
}

.footer-description {
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.8;
    font-size: 15px;
    margin-bottom: 25px;
    max-width: 400px;
}

/* Redes sociales */
.footer-social {
    display: flex;
    gap: 12px;
}

.social-link {
    width: 40px;
    height: 40px;
    border: 2px solid rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: rgba(255, 255, 255, 0.05);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.social-link:hover {
    background: #8B4513;
    border-color: #8B4513;
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(139, 69, 19, 0.3);
}

/* Títulos de columnas */
.footer-title {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 25px;
    color: #fff;
    position: relative;
    padding-bottom: 12px;
}

.footer-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 35px;
    height: 3px;
    background: linear-gradient(90deg, #8B4513, transparent);
    border-radius: 2px;
}

/* Enlaces */
.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links li {
    margin-bottom: 14px;
}

.footer-links a {
    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
    font-size: 15px;
    transition: all 0.3s ease;
    position: relative;
    display: inline-block;
}

.footer-links a::before {
    content: '→';
    position: absolute;
    left: -20px;
    opacity: 0;
    transition: all 0.3s ease;
}

.footer-links a:hover {
    color: #fff;
    padding-left: 20px;
}

.footer-links a:hover::before {
    opacity: 1;
    left: 0;
}

/* Información de contacto */
.footer-info {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.info-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    color: rgba(255, 255, 255, 0.85);
    font-size: 14px;
    line-height: 1.6;
}

.info-item i {
    color: #8B4513;
    font-size: 16px;
    margin-top: 2px;
    min-width: 20px;
}

/* Línea divisora */
.footer-divider {
    height: 1px;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.2) 20%,
        rgba(255, 255, 255, 0.2) 80%,
        transparent 100%);
    margin: 0 auto;
    width: 100%;
}

/* Footer bottom */
.footer-bottom {
    background: rgba(0, 0, 0, 0.3);
    padding: 25px 0;
}

.footer-bottom-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.copyright {
    color: rgba(255, 255, 255, 0.7);
    font-size: 14px;
    margin: 0;
}

.payment-methods {
    display: flex;
    gap: 20px;
    align-items: center;
}

.payment-methods img {
    height: 30px;
    width: auto;
    opacity: 0.9;
    transition: all 0.3s ease;
    filter: brightness(0.95);
}

.payment-methods img:hover {
    opacity: 1;
    transform: scale(1.1);
    filter: brightness(1.1);
}

/* ===== RESPONSIVE ===== */

/* Tablets */
@media (max-width: 991px) {
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }

    .footer-brand {
        grid-column: 1 / -1;
        padding-right: 0;
        text-align: center;
    }

    .footer-logo {
        display: flex;
        justify-content: center;
    }

    .footer-description {
        margin: 0 auto 25px;
    }

    .footer-social {
        justify-content: center;
    }
}

/* Móviles */
@media (max-width: 767px) {
    .footer-content {
        padding: 40px 0 30px;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 30px;
        text-align: center;
    }

    .footer-title::after {
        left: 50%;
        transform: translateX(-50%);
    }

    .footer-links a::before {
        display: none;
    }

    .footer-links a:hover {
        padding-left: 0;
    }

    .info-item {
        justify-content: center;
        text-align: left;
        max-width: 300px;
        margin: 0 auto;
    }

    .footer-bottom-content {
        flex-direction: column;
        gap: 20px;
    }

    .payment-methods {
        justify-content: center;
    }
}

/* Limpieza de márgenes */
body {
    margin: 0;
    padding: 0;
}

.section-t-space {
    margin-top: 0 !important;
}
