:root {
    --torba-primary: #3d5a4d;
    --torba-primary-hover: #5c8673;
    --torba-primary-active: #65947f;

    --torba-primary-light: #b8c5b1;
    --torba-primary-lighter: #c9d6d4;
    --torba-primary-dark: #2d4339;

    --torba-secondary: #e8b4b8;
    --torba-secondary-light: #d4a5a5;
    --torba-secondary-dark: #d4a5a5;
    --torba-secondary-hover: #dda8ac;

    --torba-success: #398000;
    --torba-success-hover: #609933;

    --torba-warning: #ffc107;
    --torba-warning-hover: #e0a800;

    --torba-danger: #dc3545;
    --torba-danger-hover: #c82333;

    --torba-info: #17a2b8;
    --torba-info-hover: #138496;

    --torba-text-light: #f8f9fa;
    --torba-text-dark: #343a40;
    --torba-text-muted: #6c757d;
    --torba-text-white: #fff;

    --torba-neutral-100: #fefefe;
    --torba-neutral-200: #faf6f2;
    --torba-neutral-300: #f8f8f8;
    --torba-neutral-400: #f7e7ce;
    --torba-neutral-500: #e5e5e5;
    --torba-neutral-600: #b5a189;
    --torba-neutral-700: #6d6875;
    --torba-neutral-800: #2d2d2d;

    --torba-accent-1: #d4af37;
    --torba-accent-2: #e0d5e7;

    --torba-light: #f8f9fa;
    --torba-dark: #343a40;

    --torba-border-color: #dee2e6;
    --torba-border-primary: var(--torba-primary);
    --torba-border-secondary: var(--torba-secondary);

    --torba-font-serif: 'Playfair Display', serif;
    --torba-font-sans: 'Source Sans Pro', sans-serif;

    --torba-border-radius: 4px;
    --torba-border-radius-large: 8px;

    --torba-shadow-elegant: 0 2px 16px rgba(0,0,0,0.08);
    --torba-shadow-refined: 0 4px 32px rgba(0,0,0,0.12);
    --torba-shadow-luxury: 0 8px 48px rgba(0,0,0,0.16);

    --torba-transition: all 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.torba-success-color {
    color: var(--torba-success);
}

.torba-preorder-status-color {
    color: #cf9700;
}

.torba-not-available-status-color {
    color: #e0621f;
}

a,
a:link,
a:visited {
    text-decoration: none !important;
}

/* Disable imput number arrows */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type="number"] {
    -moz-appearance: textfield;
}

/* Torba classes */
.card-footer {
    background-color: transparent;
}

/* Button Classes */
.torba-btn-primary {
    background-color: var(--torba-primary);
    border-color: var(--torba-primary);
    color: white;
}

    .torba-btn-primary:hover,
    .btorba-tn-primary:focus {
        background-color: var(--torba-primary-hover);
        border-color: var(--torba-primary-hover);
        color: white;
    }

    .torba-btn-primary:active,
    .torba-btn-primary.active {
        background-color: var(--torba-primary-dark);
        border-color: var(--torba-primary-dark);
    }

.torba-btn-outline-primary {
    color: var(--torba-primary);
    border-color: var(--torba-primary);
    background-color: transparent;
}


    .torba-btn-outline-primary:hover {
        background-color: var(--torba-primary);
        border-color: var(--torba-primary);
        color: white;
    }

@media (max-width: 990px) {
    .tella-show-for-desktop {
        display: none !important;
    }
}

@media (min-width: 991px) {
    .tella-show-for-mobile {
        display: none !important;
    }
}

.torba-warning-message {
    font-weight: 700;
}

/* END Torba classes */

/* Reconfigure bootstrap  */
.nav-tabs .nav-link.active {
    border-top: 3px solid var(--torba-primary);
    color: #3587a9;
}

.nav-tabs .nav-link {
    color: var(--torba-primary);
}

.nav-link:focus, .nav-link:hover {
    color: var(--torba-primary-hover);
}

.form-check-input:checked {
    background-color: var(--torba-primary);
    border-color: var(--torba-primary-dark);
    box-shadow: none;
}

/* Button Classes */
.btn-primary {
    background-color: var(--torba-primary);
    border-color: var(--torba-primary);
    color: white;
}

    .btn-primary:hover,
    .btn-primary:focus {
        background-color: var(--torba-primary-hover);
        border-color: var(--torba-primary-hover);
        color: white;
    }

    .btn-primary:active,
    .btn-primary.active {
        background-color: var(--torba-primary-dark);
        border-color: var(--torba-primary-dark);
    }

.btn-secondary {
    background-color: var(--torba-secondary);
    border-color: var(--torba-secondary);
    color: var(--torba-text-dark);
}

    .btn-secondary:hover,
    .btn-secondary:focus {
        background-color: var(--torba-secondary-hover);
        border-color: var(--torba-secondary-hover);
        color: var(--torba-text-dark);
    }

.btn-success {
    background-color: var(--torba-success);
    border-color: var(--torba-success);
    color: white;
}

    .btn-success:hover,
    .btn-success:focus {
        background-color: var(--torba-success-hover);
        border-color: var(--torba-success-hover);
        color: white;
    }

.btn-warning {
    background-color: var(--torba-warning);
    border-color: var(--torba-warning);
    color: var(--torba-text-dark);
}

    .btn-warning:hover,
    .btn-warning:focus {
        background-color: var(--torba-warning-hover);
        border-color: var(--torba-warning-hover);
        color: var(--torba-text-dark);
    }

.btn-danger {
    background-color: var(--torba-danger);
    border-color: var(--torba-danger);
    color: white;
}

    .btn-danger:hover,
    .btn-danger:focus {
        background-color: var(--torba-danger-hover);
        border-color: var(--torba-danger-hover);
        color: white;
    }

.btn-info {
    background-color: var(--torba-info);
    border-color: var(--torba-info);
    color: white;
}

    .btn-info:hover,
    .btn-info:focus {
        background-color: var(--torba-info-hover);
        border-color: var(--torba-info-hover);
        color: white;
    }

.btn-light {
    background-color: var(--torba-light);
    border-color: var(--torba-light);
    color: var(--torba-text-dark);
}

.btn-dark {
    background-color: var(--torba-dark);
    border-color: var(--torba-dark);
    color: white;
}

/* Outline Buttons */
.btn-outline-primary {
    color: var(--torba-primary);
    border-color: var(--torba-primary);
    background-color: transparent;
}


.btn-outline-primary:hover {
    background-color: var(--torba-primary);
    border-color: var(--torba-primary);
    color: white;
}

.btn-outline-secondary {
    color: var(--torba-secondary);
    border-color: var(--torba-secondary);
}

.btn-outline-secondary:hover {
    background-color: var(--torba-secondary);
    border-color: var(--torba-secondary);
    color: var(--torba-text-dark);
}

/* Background Colors */
.bg-primary {
    background-color: var(--torba-primary) !important;
}

.bg-secondary {
    background-color: var(--torba-secondary) !important;
}

.bg-success {
    background-color: var(--torba-success) !important;
}

.bg-warning {
    background-color: var(--torba-warning) !important;
}

.bg-danger {
    background-color: var(--torba-danger) !important;
}

.bg-info {
    background-color: var(--torba-info) !important;
}

.bg-light {
    background-color: var(--torba-light) !important;
}

.bg-dark {
    background-color: var(--torba-dark) !important;
}

/* Text Colors */
.text-primary {
    color: var(--torba-primary) !important;
}

.text-secondary {
    color: var(--torba-secondary) !important;
}

.text-success {
    color: var(--torba-success) !important;
}

.text-warning {
    color: var(--torba-warning) !important;
}

.text-danger {
    color: var(--torba-danger) !important;
}

.text-info {
    color: var(--torba-info) !important;
}

.text-light {
    color: var(--torba-text-light) !important;
}

.text-dark {
    color: var(--torba-text-dark) !important;
}

.text-muted {
    color: var(--torba-text-muted) !important;
}

.text-white {
    color: var(--torba-text-white) !important;
}

/* Alerts */
.alert-primary {
    background-color: var(--torba-primary-lighter);
    border-color: var(--torba-primary-light);
    color: var(--torba-primary-dark);
}

.alert-secondary {
    background-color: var(--torba-secondary-light);
    border-color: var(--torba-secondary);
    color: var(--torba-text-dark);
}

.alert-success {
    background-color: rgba(36, 192, 72, 0.1);
    border-color: var(--torba-success);
    color: #155724;
}

.alert-warning {
    background-color: rgba(255, 193, 7, 0.1);
    border-color: var(--torba-warning);
    color: #856404;
}

.alert-danger {
    background-color: rgba(220, 53, 69, 0.1);
    border-color: var(--torba-danger);
    color: #721c24;
}

.alert-info {
    background-color: rgba(23, 162, 184, 0.1);
    border-color: var(--torba-info);
    color: #0c5460;
}

/* Badges */
.badge-primary {
    background-color: var(--torba-primary);
    color: white;
}

.badge-secondary {
    background-color: var(--torba-secondary);
    color: var(--torba-text-dark);
}

.badge-success {
    background-color: var(--torba-success);
    color: white;
}

.badge-warning {
    background-color: var(--torba-warning);
    color: var(--torba-text-dark);
}

.badge-danger {
    background-color: var(--torba-danger);
    color: white;
}

.badge-info {
    background-color: var(--torba-info);
    color: white;
}

.badge-light {
    background-color: var(--torba-light);
    color: var(--torba-text-dark);
}

.badge-dark {
    background-color: var(--torba-dark);
    color: white;
}

/* Cards */
.card-primary .card-header,
.card-header.bg-primary {
    background-color: var(--torba-primary);
    color: white;
}

.card-secondary .card-header,
.card-header.bg-secondary {
    background-color: var(--torba-secondary);
    color: var(--torba-text-dark);
}

/* List Groups */
.list-group-item-primary {
    background-color: var(--torba-primary-lighter);
    color: var(--torba-primary-dark);
}

.list-group-item-secondary {
    background-color: var(--torba-secondary-light);
    color: var(--torba-text-dark);
}

.list-group-item-success {
    background-color: rgba(36, 192, 72, 0.1);
    color: #155724;
}

.list-group-item-warning {
    background-color: rgba(255, 193, 7, 0.1);
    color: #856404;
}

.list-group-item-danger {
    background-color: rgba(220, 53, 69, 0.1);
    color: #721c24;
}

.list-group-item-info {
    background-color: rgba(23, 162, 184, 0.1);
    color: #0c5460;
}

/* Progress Bars */
.progress-bar {
    background-color: var(--torba-primary);
}

    .progress-bar.bg-secondary {
        background-color: var(--torba-secondary);
    }

    .progress-bar.bg-success {
        background-color: var(--torba-success);
    }

    .progress-bar.bg-warning {
        background-color: var(--torba-warning);
    }

    .progress-bar.bg-danger {
        background-color: var(--torba-danger);
    }

    .progress-bar.bg-info {
        background-color: var(--torba-info);
    }

/* Border Colors */
.border-primary {
    border-color: var(--torba-primary) !important;
}

.border-secondary {
    border-color: var(--torba-secondary) !important;
}

.border-success {
    border-color: var(--torba-success) !important;
}

.border-warning {
    border-color: var(--torba-warning) !important;
}

.border-danger {
    border-color: var(--torba-danger) !important;
}

.border-info {
    border-color: var(--torba-info) !important;
}

/* Forms */
.form-control:focus {
    border-color: var(--torba-primary-light);
    box-shadow: 0 0 0 0.2rem rgba(61, 90, 77, 0.25);
}

.custom-control-input:checked ~ .custom-control-label::before {
    background-color: var(--torba-primary);
    border-color: var(--torba-primary);
}

/* Links / Anchor Tags */
a {
    color: var(--torba-primary);
    text-decoration: none;
    transition: var(--torba-transition);
}

    a:hover,
    a:focus {
        color: var(--torba-primary-hover);
        text-decoration: underline;
    }

    a:active {
        color: var(--torba-primary-dark);
    }

    /* Link Color Variants */
    a.link-primary {
        color: var(--torba-primary);
    }

        a.link-primary:hover,
        a.link-primary:focus {
            color: var(--torba-primary-hover);
        }

    a.link-secondary {
        color: var(--torba-secondary);
    }

        a.link-secondary:hover,
        a.link-secondary:focus {
            color: var(--torba-secondary-hover);
        }

    a.link-success {
        color: var(--torba-success);
    }

        a.link-success:hover,
        a.link-success:focus {
            color: var(--torba-success-hover);
        }

    a.link-warning {
        color: var(--torba-warning);
    }

        a.link-warning:hover,
        a.link-warning:focus {
            color: var(--torba-warning-hover);
        }

    a.link-danger {
        color: var(--torba-danger);
    }

        a.link-danger:hover,
        a.link-danger:focus {
            color: var(--torba-danger-hover);
        }

    a.link-info {
        color: var(--torba-info);
    }

        a.link-info:hover,
        a.link-info:focus {
            color: var(--torba-info-hover);
        }

    a.link-light {
        color: var(--torba-text-light);
    }

        a.link-light:hover,
        a.link-light:focus {
            color: var(--torba-neutral-500);
        }

    a.link-dark {
        color: var(--torba-text-dark);
    }

        a.link-dark:hover,
        a.link-dark:focus {
            color: var(--torba-neutral-800);
        }

    a.link-muted {
        color: var(--torba-text-muted);
    }

        a.link-muted:hover,
        a.link-muted:focus {
            color: var(--torba-neutral-700);
        }

    /* Link Style Variants */
    a.link-underline {
        text-decoration: underline;
    }

        a.link-underline:hover {
            text-decoration: none;
        }

    a.link-no-underline {
        text-decoration: none;
    }

        a.link-no-underline:hover {
            text-decoration: underline;
        }

    a.link-hover-underline {
        text-decoration: none;
    }

        a.link-hover-underline:hover {
            text-decoration: underline;
        }

/* Button styled as link */
.btn-link {
    color: var(--torba-primary);
    text-decoration: none;
    background-color: transparent;
    border: none;
}

    .btn-link:hover,
    .btn-link:focus {
        color: var(--torba-primary-hover);
        text-decoration: underline;
        background-color: transparent;
    }

/* Navbar Links */
.navbar-light .navbar-nav .nav-link {
    color: var(--torba-neutral-700);
}

    .navbar-light .navbar-nav .nav-link:hover,
    .navbar-light .navbar-nav .nav-link:focus {
        color: var(--torba-primary);
    }

    .navbar-light .navbar-nav .nav-link.active {
        color: var(--torba-primary);
    }

.navbar-dark .navbar-nav .nav-link {
    color: var(--torba-neutral-300);
}

    .navbar-dark .navbar-nav .nav-link:hover,
    .navbar-dark .navbar-nav .nav-link:focus {
        color: var(--torba-primary-light);
    }

    .navbar-dark .navbar-nav .nav-link.active {
        color: var(--torba-primary-light);
    }

/* Breadcrumb Links */
.breadcrumb-item a {
    color: var(--torba-primary);
}

    .breadcrumb-item a:hover {
        color: var(--torba-primary-hover);
    }

/* Pagination Links */
.page-link {
    color: var(--torba-primary);
    background-color: var(--torba-neutral-100);
    border-color: var(--torba-border-color);
}

    .page-link:hover {
        color: var(--torba-primary-hover);
        background-color: var(--torba-neutral-200);
        border-color: var(--torba-primary-light);
    }

    .page-link:focus {
        box-shadow: 0 0 0 0.2rem rgba(61, 90, 77, 0.25);
    }

.page-item.active .page-link {
    background-color: var(--torba-primary);
    border-color: var(--torba-primary);
    color: white;
}

/* List Group Links */
.list-group-item-action {
    color: var(--torba-text-dark);
}

    .list-group-item-action:hover,
    .list-group-item-action:focus {
        background-color: var(--torba-neutral-200);
        color: var(--torba-primary);
    }

    .list-group-item-action:active {
        background-color: var(--torba-primary-lighter);
        color: var(--torba-primary-dark);
    }

/* Card Links */
.card-link {
    color: var(--torba-primary);
}

    .card-link:hover {
        color: var(--torba-primary-hover);
    }

/* Dropdown Links */
.dropdown-item {
    color: var(--torba-text-dark);
}

    .dropdown-item:hover,
    .dropdown-item:focus {
        background-color: var(--torba-neutral-200);
        color: var(--torba-primary);
    }

    .dropdown-item.active,
    .dropdown-item:active {
        background-color: var(--torba-primary);
        color: white;
    }


/* Bootstrap Navigation Overrides with Torba Colors */

/* ==== NAV PILLS ==== */
.nav-pills .nav-link {
    color: var(--torba-text-dark);
    background-color: transparent;
    border-radius: var(--torba-border-radius);
    transition: var(--torba-transition);
    font-family: var(--torba-font-sans);
    font-weight: 500;
    padding: 0.5rem 1rem;
    border: 1px solid transparent;
}

    .nav-pills .nav-link:hover,
    .nav-pills .nav-link:focus {
        color: var(--torba-primary-hover);
        background-color: var(--torba-primary-lighter);
        border-color: var(--torba-primary-light);
        box-shadow: var(--torba-shadow-elegant);
    }

    .nav-pills .nav-link.active,
    .nav-pills .show > .nav-link {
        color: var(--torba-text-white);
        background-color: var(--torba-primary);
        border-color: var(--torba-primary-dark);
        box-shadow: var(--torba-shadow-refined);
    }

        .nav-pills .nav-link.active:hover {
            background-color: var(--torba-primary-active);
            border-color: var(--torba-primary-hover);
        }

/* Nav Pills Variants */
.nav-pills.nav-pills-secondary .nav-link.active,
.nav-pills.nav-pills-secondary .show > .nav-link {
    background-color: var(--torba-secondary);
    border-color: var(--torba-secondary-dark);
    color: var(--torba-text-dark);
}

    .nav-pills.nav-pills-secondary .nav-link.active:hover {
        background-color: var(--torba-secondary-hover);
    }

/* ==== NAV TABS ==== */
.nav-tabs {
    border-bottom: 2px solid var(--torba-border-color);
}

    .nav-tabs .nav-link {
        color: var(--torba-text-muted);
        background-color: transparent;
        border: 1px solid transparent;
        border-top-left-radius: var(--torba-border-radius);
        border-top-right-radius: var(--torba-border-radius);
        transition: var(--torba-transition);
        font-family: var(--torba-font-sans);
        font-weight: 500;
        position: relative;
    }

        .nav-tabs .nav-link:hover,
        .nav-tabs .nav-link:focus {
            color: var(--torba-primary);
            background-color: var(--torba-neutral-200);
            border-color: var(--torba-border-color) var(--torba-border-color) var(--torba-border-color);
        }

        .nav-tabs .nav-link.active,
        .nav-tabs .nav-item.show .nav-link {
            color: var(--torba-primary);
            background-color: var(--torba-neutral-100);
            border-color: var(--torba-primary) var(--torba-primary) var(--torba-neutral-100);
            border-bottom-width: 2px;
        }

            .nav-tabs .nav-link.active::after {
                content: '';
                position: absolute;
                bottom: -2px;
                left: 0;
                right: 0;
                height: 3px;
                background-color: var(--torba-primary);
            }



/* ==== PAGINATION ==== */
.pagination {
    --bs-pagination-color: var(--torba-text-dark);
    --bs-pagination-bg: var(--torba-neutral-100);
    --bs-pagination-border-color: var(--torba-border-color);
    --bs-pagination-hover-color: var(--torba-primary-hover);
    --bs-pagination-hover-bg: var(--torba-primary-lighter);
    --bs-pagination-hover-border-color: var(--torba-primary-light);
    --bs-pagination-focus-color: var(--torba-primary);
    --bs-pagination-focus-bg: var(--torba-primary-lighter);
    --bs-pagination-active-color: var(--torba-text-white);
    --bs-pagination-active-bg: var(--torba-primary);
    --bs-pagination-active-border-color: var(--torba-primary);
    --bs-pagination-disabled-color: var(--torba-text-muted);
    --bs-pagination-disabled-bg: var(--torba-neutral-300);
    --bs-pagination-disabled-border-color: var(--torba-border-color);
}

.page-link {
    font-family: var(--torba-font-sans);
    font-weight: 500;
    transition: var(--torba-transition);
    border-radius: var(--torba-border-radius) !important;
    margin: 0 2px;
}

    .page-link:focus {
        box-shadow: var(--torba-shadow-elegant);
    }

/* ==== LIST GROUP NAVIGATION ==== */
.list-group-item {
    border-color: var(--torba-border-color);
    transition: var(--torba-transition);
}

.list-group-item-action {
    color: var(--torba-text-dark);
}

    .list-group-item-action:hover,
    .list-group-item-action:focus {
        background-color: var(--torba-primary-lighter);
        color: var(--torba-primary);
        border-color: var(--torba-primary-light);
    }

.list-group-item.active {
    background-color: var(--torba-primary);
    border-color: var(--torba-primary);
    color: var(--torba-text-white);
}

/* ==== DROPDOWN NAVIGATION ==== */
.dropdown-menu {
    border-color: var(--torba-border-color);
    box-shadow: var(--torba-shadow-refined);
    border-radius: var(--torba-border-radius-large);
}

.dropdown-item {
    color: var(--torba-text-dark);
    font-family: var(--torba-font-sans);
    transition: var(--torba-transition);
}

    .dropdown-item:hover,
    .dropdown-item:focus {
        background-color: var(--torba-primary-lighter);
        color: var(--torba-primary);
    }

    .dropdown-item.active,
    .dropdown-item:active {
        background-color: var(--torba-primary);
        color: var(--torba-text-white);
    }

.dropdown-divider {
    border-top-color: var(--torba-border-color);
}

/* ==== OFFCANVAS NAVIGATION ==== */
.offcanvas {
    background-color: var(--torba-neutral-100);
    border-color: var(--torba-border-color);
}

.offcanvas-header {
    border-bottom: 1px solid var(--torba-border-color);
}

.offcanvas-title {
    color: var(--torba-primary);
    font-family: var(--torba-font-serif);
}

.btn-close {
    filter: invert(0.3);
}

/* Custom utility classes */
.nav-torba-accent {
    border-left: 3px solid var(--torba-accent-1);
    padding-left: 1rem;
}

.nav-divider {
    height: 1px;
    background-color: var(--torba-border-color);
    margin: 0.5rem 0;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .nav-pills .nav-link {
        margin-bottom: 0.5rem;
    }

    .navbar-torba .navbar-nav .nav-link {
        margin: 0.25rem 0;
    }
}