/* Import Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Poppins:wght@400;600;700&display=swap');

/* ==========================================================================
   B5 SHOPCHAT1 CUSTOM THEME STYLES
   ========================================================================== */

/* Custom CSS Variables */
:root {
    --primary-color: #2d9888;
    --primary-color-hover: #34b7a3;
    --secondary-color: #303843;
    --text-primary: #2a2e3d;
    --text-secondary: #8892a4;
    --bg-color: #fbfefb;
    --border-radius: 8px;
    --border-color: #303843;
    --box-shadow: 0 2px 4px rgba(42, 46, 61, 0.1);
    --container-padding: 1.5rem;
    --section-spacing: 2rem;
    --element-gap: 1rem;
    --btn-a-color: #fff;
    --btn-a-bg: #303843;
    --btn-a-border-color: #303843;
    --btn-a-hover-color: #fff;
    --btn-a-hover-bg: #3a414f;
    --btn-a-hover-border-color: #3a414f;
    --btn-a-focus-shadow-rgb: 48, 56, 67;
    --btn-a-active-color: #fff;
    --btn-a-active-bg: #252b35;
    --btn-a-active-border-color: #252b35;
    --btn-a-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --btn-a-disabled-color: #fff;
    --btn-a-disabled-bg: #303843;
    --btn-a-disabled-border-color: #303843;
}

/* Layout customizations */
.layout-container {
    padding: 0 var(--container-padding);
}

/* Sidebar layouts */
@media (min-width: 768px) {
    .layout-sidebar-first .region-sidebar-first {
        flex: 0 0 25%;
        /*max-width: 25%;*/
    }

    .layout-sidebar-second .region-content {
        flex: 0 0 75%;
        max-width: 75%;
    }

    .layout-sidebar-second .region-sidebar-second {
        flex: 0 0 25%;
        max-width: 25%;
    }

    .layout-two-sidebars .region-sidebar-first {
        flex: 0 0 20%;
        max-width: 20%;
    }

    .layout-two-sidebars .region-content {
        flex: 0 0 60%;
        max-width: 60%;
    }

    .layout-two-sidebars .region-sidebar-second {
        flex: 0 0 20%;
        max-width: 20%;
    }
}

/* Typography enhancements */
body {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    color: var(--text-primary) !important;
    background-color: var(--bg-color) !important;
    line-height: 1.6;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
    color: var(--text-primary) !important;
    margin-bottom: 1rem;
}

h1 {
    font-size: 2.5rem !important;
}

h2 {
    font-size: 2rem !important;
}

h3 {
    font-size: 1.5rem !important;
}

.text-muted {
    color: var(--text-secondary) !important;
}

/* Links and navigation */
a {
    color: var(--primary-color) !important;
    text-decoration: none;
}

a:hover,
a:focus {
    color: var(--primary-color-hover) !important;
    text-decoration: underline;
}

/* Navigation menus */
.navbar {
    background-color: var(--bg-color) !important;
    border-bottom: 1px solid var(--border-color);
    padding: 1rem var(--container-padding);
}

.navbar .navbar-brand {
    color: var(--text-primary) !important;
    font-weight: 600;
}

.navbar .navbar-brand:hover {
    color: var(--primary-color-hover) !important;
}

.navbar .navbar-nav .nav-link {
    color: var(--text-primary) !important;
    font-weight: 500;
    padding: 0.5rem 1rem;
}

.navbar .navbar-nav .nav-link:hover,
.navbar .navbar-nav .nav-link:focus {
    color: var(--primary-color-hover) !important;
}

.navbar .navbar-nav .nav-link.active {
    color: var(--primary-color) !important;
    font-weight: 600;
}

/* Main menu */
.menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

.menu .menu-item.menu-item--active-trail>a {
    color: var(--primary-color) !important;
    font-weight: 600;
}

.menu a {
    display: block;
    padding: 0.75rem 1rem;
    color: var(--text-primary) !important;
    font-weight: 500;
    border-radius: var(--border-radius);
    transition: all 0.3s ease;
}

.menu a:hover,
.menu a:focus {
    background-color: rgba(68, 243, 218, 0.1) !important;
    color: var(--primary-color-hover) !important;
    text-decoration: none;
}

/* Buttons and form elements */
.btn {
    border-radius: var(--border-radius) !important;
    font-weight: 500;
    transition: all 0.3s ease;
}

.btn.btn-primary {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    color: var(--text-primary) !important;
}

.btn.btn-primary:hover,
.btn.btn-primary:focus {
    background-color: var(--primary-color-hover) !important;
    border-color: var(--primary-color-hover) !important;
    box-shadow: 0 4px 8px rgba(68, 243, 218, 0.3);
}

.btn.btn-secondary {
    background-color: var(--secondary-color) !important;
    border-color: var(--secondary-color) !important;
    color: var(--bg-color) !important;
}

.btn.btn-secondary:hover,
.btn.btn-secondary:focus {
    background-color: #3a414f !important;
    border-color: #3a414f !important;
}

/* Action links */
.action-links {
    margin-bottom: var(--section-spacing);
}

.action-links .button {
    border-radius: var(--border-radius) !important;
    font-weight: 500;
    padding: 0.75rem 1.5rem;
    transition: all 0.3s ease;
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    color: var(--text-primary) !important;
}

/* Danger button text color */
a.button.button--danger {
    color: #fff !important;
}

/* Region title action buttons */
.region-title__action a.button {
    --bs-btn-color: var(--btn-a-color);
    --bs-btn-bg: var(--btn-a-bg);
    --bs-btn-border-color: var(--btn-a-border-color);
    --bs-btn-hover-color: var(--btn-a-hover-color);
    --bs-btn-hover-bg: var(--btn-a-hover-bg);
    --bs-btn-hover-border-color: var(--btn-a-hover-border-color);
    --bs-btn-focus-shadow-rgb: var(--btn-a-focus-shadow-rgb);
    --bs-btn-active-color: var(--btn-a-active-color);
    --bs-btn-active-bg: var(--btn-a-active-bg);
    --bs-btn-active-border-color: var(--btn-a-active-border-color);
    --bs-btn-active-shadow: var(--btn-a-active-shadow);
    --bs-btn-disabled-color: var(--btn-a-disabled-color);
    --bs-btn-disabled-bg: var(--btn-a-disabled-bg);
    --bs-btn-disabled-border-color: var(--btn-a-disabled-border-color);
}

/* Forms */
.form-control,
.form-select {
    border: 1px solid var(--border-color) !important;
    border-radius: var(--border-radius) !important;
    color: var(--text-primary) !important;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--primary-color) !important;
    box-shadow: 0 0 0 0.2rem rgba(68, 243, 218, 0.25) !important;
}

/* Cards and content areas */
.card {
    background-color: var(--bg-color) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: var(--border-radius) !important;
    box-shadow: var(--box-shadow);
    margin-bottom: var(--section-spacing);
}

.card .card-header {
    background-color: rgba(68, 243, 218, 0.05) !important;
    border-bottom: 1px solid var(--border-color);
}

/* Content regions */
.region {
    margin-bottom: 0;
}

.region.region-content {
    background-color: var(--bg-color);
    padding: var(--container-padding);
    border-radius: var(--border-radius);
}

.region.region-sidebar-first,
.region.region-sidebar-second {
    padding: 0 !important;
}

.region.region-sidebar-first .block,
.region.region-sidebar-second .block {
    background-color: var(--bg-color) !important;
    padding: 1rem;
    margin-bottom: var(--element-gap);
    box-shadow: var(--box-shadow);
}

/* Tables */
.table th {
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
    font-weight: 600;
}

.table td {
    color: var(--text-primary) !important;
}

/* Breadcrumbs */
.breadcrumb {
    background-color: transparent !important;
    padding: 1rem 0;
    margin-bottom: var(--section-spacing);
    padding: var(--container-padding);
}

.breadcrumb .breadcrumb-item a {
    color: var(--text-secondary) !important;
}

.breadcrumb .breadcrumb-item a:hover {
    color: var(--primary-color) !important;
}

.breadcrumb .breadcrumb-item.active {
    color: var(--text-primary) !important;
}

/* Footer */
footer {
    padding: 0 !important;
}

.region-footer {
    background-color: var(--secondary-color) !important;
    color: var(--bg-color) !important;
    padding: var(--section-spacing) var(--container-padding);
    margin-top: var(--section-spacing);
}

.region-footer a {
    color: var(--primary-color) !important;
}

.region-footer a:hover {
    color: var(--primary-color) !important;
}

.region-footer .block {
    margin-bottom: var(--element-gap);
}

/* Override node form actions alignment */
.node-form .form-actions {
    text-align: left !important;
}

/* Document node body images border */
.node.node--type-document.node--view-mode-full .field--name-field-body.field--type-text-long img {
    border: 10px solid var(--border-color);
}

@media (max-width: 767.98px) {
    .node.node--type-document.node--view-mode-full .field--name-field-body.field--type-text-long img {
        border: 2px solid var(--border-color);
    }
}

/* Responsive adjustments */
@media (max-width: 767.98px) {

    .layout-sidebar-first .region-sidebar-first,
    .layout-sidebar-first .region-content,
    .layout-sidebar-second .region-content,
    .layout-sidebar-second .region-sidebar-second,
    .layout-two-sidebars .region-sidebar-first,
    .layout-two-sidebars .region-content,
    .layout-two-sidebars .region-sidebar-second {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    .region-sidebar-first,
    .region-sidebar-second {
        margin-top: var(--section-spacing);
    }

    h1 {
        font-size: 2rem !important;
    }

    h2 {
        font-size: 1.75rem !important;
    }

    h3 {
        font-size: 1.25rem !important;
    }

    .container,
    .container-fluid {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .region.region-content {
        padding: 1rem !important;
    }
}

/* ==========================================================================
   SIDEBAR MENU STYLES
   ========================================================================== */

/* Sidebar menu container styling */
.region-sidebar-first .block-menu,
.region-sidebar-second .block-menu {
    background-color: var(--bg-color) !important;
    padding: 0 !important;
    margin-bottom: var(--element-gap);
    box-shadow: var(--box-shadow);
    overflow: hidden;
}

/* Sidebar menu title styling */
.region-sidebar-first .block-menu h2,
.region-sidebar-second .block-menu h2,
.region-sidebar-first .block-menu h3,
.region-sidebar-second .block-menu h3,
.region-sidebar-first .block-menu h4,
.region-sidebar-second .block-menu h4,
.region-sidebar-first .block-menu h5,
.region-sidebar-second .block-menu h5 {
    background-color: var(--primary-color) !important;
    color: white !important;
    margin: 0 !important;
    padding: 1rem !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    border-bottom: 1px solid var(--border-color);
}

/* Sidebar menu navigation list */
.region-sidebar-first .block-menu .nav,
.region-sidebar-second .block-menu .nav {
    flex-direction: column !important;
    padding: 0 !important;
    margin: 0 !important;
    background-color: transparent !important;
}

/* Sidebar menu items */
.region-sidebar-first .block-menu .nav-item,
.region-sidebar-second .block-menu .nav-item {
    border-bottom: 1px solid rgba(48, 56, 67, 0.1);
    margin: 0 !important;
}

.region-sidebar-first .block-menu .nav-item:last-child,
.region-sidebar-second .block-menu .nav-item:last-child {
    border-bottom: none;
}

/* Sidebar menu links */
.region-sidebar-first .block-menu .nav-link,
.region-sidebar-second .block-menu .nav-link {
    color: var(--text-primary) !important;
    padding: 1rem 1.25rem !important;
    font-weight: 500 !important;
    border-radius: 0 !important;
    display: block !important;
    transition: all 0.3s ease !important;
    text-decoration: none !important;
    border-left: 3px solid transparent;
}

.region-sidebar-first .block-menu .nav-link:hover,
.region-sidebar-second .block-menu .nav-link:hover,
.region-sidebar-first .block-menu .nav-link:focus,
.region-sidebar-second .block-menu .nav-link:focus {
    background-color: rgba(41, 141, 126, 0.1) !important;
    color: var(--primary-color-hover) !important;
    text-decoration: none !important;
    border-left-color: var(--primary-color);
    padding-left: 1.5rem !important;
}

/* Active sidebar menu links */
.region-sidebar-first .block-menu .nav-link.active,
.region-sidebar-second .block-menu .nav-link.active,
.region-sidebar-first .block-menu .nav-link.is-active,
.region-sidebar-second .block-menu .nav-link.is-active {
    background-color: var(--primary-color) !important;
    color: white !important;
    font-weight: 600 !important;
    border-left-color: var(--primary-color-hover);
    border-left-width: 4px;
}

.region-sidebar-first .block-menu .nav-link.active:hover,
.region-sidebar-second .block-menu .nav-link.active:hover,
.region-sidebar-first .block-menu .nav-link.is-active:hover,
.region-sidebar-second .block-menu .nav-link.is-active:hover {
    background-color: var(--primary-color-hover) !important;
    color: white !important;
    padding-left: 1.25rem !important;
}

/* Sidebar menu with icons support */
.region-sidebar-first .block-menu .nav-link i,
.region-sidebar-second .block-menu .nav-link i,
.region-sidebar-first .block-menu .nav-link .fa,
.region-sidebar-second .block-menu .nav-link .fa {
    margin-right: 0.75rem;
    width: 1rem;
    text-align: center;
}

/* Nested/submenu styling */
.region-sidebar-first .block-menu .nav .nav,
.region-sidebar-second .block-menu .nav .nav {
    background-color: rgba(48, 56, 67, 0.05) !important;
    margin-left: 0 !important;
}

.region-sidebar-first .block-menu .nav .nav .nav-link,
.region-sidebar-second .block-menu .nav .nav .nav-link {
    padding-left: 2.5rem !important;
    font-size: 0.9rem !important;
    color: var(--text-secondary) !important;
}

.region-sidebar-first .block-menu .nav .nav .nav-link:hover,
.region-sidebar-second .block-menu .nav .nav .nav-link:hover {
    padding-left: 2.75rem !important;
    color: var(--primary-color) !important;
}

/* Responsive sidebar menu adjustments */
@media (max-width: 767.98px) {

    .region-sidebar-first .block-menu,
    .region-sidebar-second .block-menu {
        margin-bottom: 1rem;
    }

    .region-sidebar-first .block-menu .nav-link,
    .region-sidebar-second .block-menu .nav-link {
        padding: 0.75rem 1rem !important;
    }

    .region-sidebar-first .block-menu .nav-link:hover,
    .region-sidebar-second .block-menu .nav-link:hover {
        padding-left: 1.25rem !important;
    }
}

/* Additional sidebar navigation classes */
.sidebar-nav {
    padding: 0 !important;
    margin: 0 !important;
}

.sidebar-nav-link {
    position: relative;
    transition: all 0.3s ease !important;
}

.sidebar-nav-link::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 0;
    background-color: var(--primary-color);
    transition: width 0.3s ease;
}

.sidebar-nav-link:hover::before,
.sidebar-nav-link.active::before,
.sidebar-nav-link.is-active::before {
    width: 4px;
}

/* Menu block titles with better styling */
.region-sidebar-first .block-menu .block-title,
.region-sidebar-second .block-menu .block-title {
    background-color: var(--primary-color) !important;
    color: white !important;
    margin: 0 !important;
    padding: 1rem !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    border-bottom: 1px solid var(--border-color);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Collapsible sidebar menus support */
.region-sidebar-first .block-menu[data-toggle="collapse"],
.region-sidebar-second .block-menu[data-toggle="collapse"] {
    cursor: pointer;
}

.region-sidebar-first .block-menu .collapse,
.region-sidebar-second .block-menu .collapse {
    transition: all 0.3s ease;
}

/* Badge support for menu items */
.region-sidebar-first .block-menu .nav-link .badge,
.region-sidebar-second .block-menu .nav-link .badge {
    margin-left: auto;
    font-size: 0.75rem;
    background-color: var(--primary-color-hover);
}

.region-sidebar-first .block-menu .nav-link.active .badge,
.region-sidebar-second .block-menu .nav-link.active .badge,
.region-sidebar-first .block-menu .nav-link.is-active .badge,
.region-sidebar-second .block-menu .nav-link.is-active .badge {
    background-color: rgba(255, 255, 255, 0.3);
}