/* Debaj Tobacco — cacheable global theme tokens & shared utilities */

:root {
    --primary-teal: #005461;
    --primary-red: #005461; /* Re-mapped primary brand color */
    --primary-dark: #06434d;
    --primary-rich: #0C7779;
    --primary-light: #25A19C;
    --primary-mint: #36C5A0;
    --primary-soft: rgba(0, 84, 97, 0.1);
    --text-dark: #333333;
    --text-light: #666666;
}

.text-theme {
    color: var(--primary-teal) !important;
}

.bg-theme {
    background-color: var(--primary-teal) !important;
}

/* Global Primary & Theme Buttons */
.btn-theme,
.btn-danger,
.btn-primary {
    background-color: var(--primary-teal);
    border-color: var(--primary-teal);
    color: #fff;
    transition: all 0.3s ease;
}

.btn-theme:hover,
.btn-danger:hover,
.btn-primary:hover {
    background-color: var(--primary-dark) !important;
    border-color: var(--primary-dark) !important;
    color: #fff !important;
}

.btn-theme:focus,
.btn-theme:active,
.btn-theme.active,
.btn-danger:focus,
.btn-danger:active,
.btn-danger.active,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active {
    background-color: var(--primary-dark) !important;
    border-color: var(--primary-dark) !important;
    color: #fff !important;
    box-shadow: 0 0 0 0.25rem rgba(0, 84, 97, 0.25) !important;
}

/* Global Outline Buttons (Eliminates Red Outlines on Hover / Focus / Active) */
.btn-outline-theme,
.btn-outline-danger,
.btn-outline-primary {
    color: var(--primary-teal) !important;
    border-color: var(--primary-teal) !important;
    background-color: transparent !important;
    transition: all 0.3s ease;
}

.btn-outline-theme:hover,
.btn-outline-danger:hover,
.btn-outline-primary:hover {
    background-color: var(--primary-teal) !important;
    border-color: var(--primary-teal) !important;
    color: #fff !important;
}

.btn-outline-theme:focus,
.btn-outline-theme:active,
.btn-outline-theme.active,
.btn-outline-danger:focus,
.btn-outline-danger:active,
.btn-outline-danger.active,
.btn-outline-primary:focus,
.btn-outline-primary:active,
.btn-outline-primary.active {
    background-color: var(--primary-teal) !important;
    border-color: var(--primary-teal) !important;
    color: #fff !important;
    box-shadow: 0 0 0 0.25rem rgba(0, 84, 97, 0.25) !important;
}

/* Toggle Check & Radio Group Buttons (e.g., Attribute Selector Pills) */
.btn-check:checked + .btn-outline-theme,
.btn-check:checked + .btn-outline-danger,
.btn-check:checked + .btn-outline-primary,
.btn-check:checked + .btn-outline-secondary,
.btn-check:checked + .btn-theme,
.btn-check:checked + .btn-danger,
.btn-check:checked + .btn-primary {
    background-color: var(--primary-teal) !important;
    border-color: var(--primary-teal) !important;
    color: #fff !important;
    box-shadow: 0 0 0 0.25rem rgba(0, 84, 97, 0.25) !important;
}

.border-theme {
    border-color: var(--primary-teal) !important;
}

.bg-theme-soft {
    background-color: var(--primary-soft) !important;
}

.badge-theme {
    background-color: var(--primary-teal);
    color: #ffffff;
}

/* Bootstrap 4 utility alias */
.font-weight-bold {
    font-weight: 700 !important;
}

.font-weight-normal {
    font-weight: 400 !important;
}

/* Reduce layout shift for product/category images */
.image-fallback-wrapper {
    aspect-ratio: 1 / 1;
    background-color: #f8f9fa;
}

.product-image-wrap {
    aspect-ratio: 1 / 1;
}

.product-image-wrapper {
    aspect-ratio: 4 / 3;
}

.hero-slide-image {
    object-fit: contain;
    object-position: right center;
    width: 100%;
    height: 100%;
}

/* Navbar logo dimensions to prevent CLS */
.navbar-brand .image-fallback-wrapper {
    width: 140px;
    height: 40px;
    aspect-ratio: auto;
}

@media (max-width: 768px) {
    .navbar-brand .image-fallback-wrapper {
        width: 110px;
        height: 36px;
    }
}

.hover-red:hover,
.hover-theme:hover {
    color: var(--primary-teal) !important;
}
