/* =============================================================================
   AWMICT theme — modern violet-indigo palette
   Loaded after bootstrap.min.css and style.css so these rules win.
   ============================================================================= */

:root {
    /* Brand tokens */
    --awm-primary: #5b5af7;
    --awm-primary-strong: #4644e0;
    --awm-accent: #2bd9d0;
    --awm-ink: #17153a;
    --awm-bg: #f5f6fb;
    --awm-soft: #efeefe;
    --awm-border: #e7e9f4;
    --awm-divider: #c4c2fb;
    --awm-muted: #8a8fb5;
    --awm-muted-strong: #5f6590;
    --awm-body: #3d4262;

    /* Bootstrap re-theme */
    --bs-primary: #5b5af7;
    --bs-primary-rgb: 91, 90, 247;
    --bs-primary-text-emphasis: #3f3dd0;
    --bs-primary-bg-subtle: #e5e4ff;
    --bs-primary-border-subtle: #c4c2fb;

    --bs-secondary: #7a7f9e;
    --bs-secondary-rgb: 122, 127, 158;

    --bs-success: #16b981;
    --bs-success-rgb: 22, 185, 129;
    --bs-success-text-emphasis: #0e8f63;
    --bs-success-bg-subtle: #d8f3e9;
    --bs-success-border-subtle: #a8e4cf;

    --bs-info: #0ea5e9;
    --bs-info-rgb: 14, 165, 233;
    --bs-info-text-emphasis: #087ba8;
    --bs-info-bg-subtle: #dbf1fc;
    --bs-info-border-subtle: #a9dcf6;

    --bs-warning: #f5a524;
    --bs-warning-rgb: 245, 165, 36;
    --bs-warning-text-emphasis: #b87810;
    --bs-warning-bg-subtle: #fdf0da;
    --bs-warning-border-subtle: #f7d69a;

    --bs-danger: #ef4b5f;
    --bs-danger-rgb: 239, 75, 95;
    --bs-danger-text-emphasis: #c23047;
    --bs-danger-bg-subtle: #fce4e7;
    --bs-danger-border-subtle: #f6b7c1;

    --bs-body-color: #3d4262;
    --bs-body-bg: #f5f6fb;
    --bs-heading-color: #17153a;
    --bs-link-color: #5b5af7;
    --bs-link-color-rgb: 91, 90, 247;
    --bs-link-hover-color: #4644e0;
    --bs-border-color: #e7e9f4;
}

/* ------------------------------------------------------------------ */
/* Base                                                               */
/* ------------------------------------------------------------------ */
body {
    background: var(--awm-bg);
    color: var(--awm-body);
}

a {
    color: var(--awm-primary);
}

a:hover {
    color: var(--awm-primary-strong);
}

::selection {
    background: var(--awm-primary);
    color: #fff;
}

/* Table */
table.datatable tr td {
    font-size: 0.85rem;
}

/* ------------------------------------------------------------------ */
/* Text on primary backgrounds is always white                         */
/* ------------------------------------------------------------------ */
.bg-primary,
.badge.bg-primary,
.bg-primary h1,
.bg-primary h2,
.bg-primary h3,
.bg-primary h4,
.bg-primary h5,
.bg-primary h6 {
    color: #fff !important;
}

.bg-primary p {
    color: #fff;
}

/* ------------------------------------------------------------------ */
/* Focus & form states                                                */
/* ------------------------------------------------------------------ */
.form-control:focus,
.form-select:focus {
    border-color: var(--awm-primary);
    box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.18);
}

.form-check-input:checked {
    background-color: var(--awm-primary);
    border-color: var(--awm-primary);
}

.form-check-input:focus {
    border-color: var(--awm-primary);
    box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.18);
}

.form-control,
.form-select,
.input-group-text {
    border-radius: 0.65rem;
}

/* ------------------------------------------------------------------ */
/* Buttons                                                            */
/* ------------------------------------------------------------------ */
.btn {
    border-radius: 0.7rem;
}

.btn-primary {
    background-color: var(--awm-primary);
    background-image: linear-gradient(135deg, #6d6bff 0%, #4b49e8 100%);
    border-color: transparent;
    box-shadow: 0 6px 18px -6px rgba(75, 73, 232, 0.55);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: var(--awm-primary-strong) !important;
    background-image: linear-gradient(135deg, #7e7cff 0%, #5553f0 100%) !important;
    border-color: transparent !important;
    box-shadow: 0 10px 24px -8px rgba(75, 73, 232, 0.65) !important;
}

.btn-outline-primary {
    --bs-btn-color: var(--awm-primary);
    --bs-btn-border-color: var(--awm-primary);
    --bs-btn-hover-bg: var(--awm-primary);
    --bs-btn-hover-border-color: var(--awm-primary);
    --bs-btn-active-bg: var(--awm-primary-strong);
    --bs-btn-active-border-color: var(--awm-primary-strong);
}

.page-item.active .page-link {
    background-color: var(--awm-primary);
    border-color: var(--awm-primary);
}

.page-link {
    color: var(--awm-primary);
}

.page-link:hover {
    color: var(--awm-primary-strong);
}

/* ------------------------------------------------------------------ */
/* Cards — softer radius & shadow                                     */
/* ------------------------------------------------------------------ */
.card {
    border-radius: 14px;
    box-shadow: 0 0 30px rgba(23, 21, 58, 0.06);
}

.card-header,
.card-footer {
    border-color: var(--awm-border);
    color: var(--awm-muted-strong);
}

.card-title {
    color: var(--awm-ink);
}

.card-title span {
    color: var(--awm-muted);
}

/* ------------------------------------------------------------------ */
/* Template overrides — admin shell                                    */
/* ------------------------------------------------------------------ */
.pagetitle h1,
.logo span,
.header .toggle-sidebar-btn,
.header .search-form input,
.header .search-form button i,
.header-nav .nav-icon,
.header-nav .nav-profile,
.dashboard .info-card h6,
.iconslist .icon,
.footer .copyright,
.footer .credits {
    color: var(--awm-ink);
}

.header {
    box-shadow: 0 2px 20px rgba(23, 21, 58, 0.06);
}

.header .search-form input {
    border-color: rgba(23, 21, 58, 0.15);
}

.header .search-form input:focus,
.header .search-form input:hover {
    border-color: rgba(23, 21, 58, 0.3);
    box-shadow: 0 0 10px 0 rgba(23, 21, 58, 0.12);
}

.back-to-top {
    background: var(--awm-primary);
}

.back-to-top:hover {
    background: var(--awm-primary-strong);
}

.dropdown-menu .dropdown-divider {
    color: var(--awm-divider);
}

.dropdown-menu .dropdown-item:hover,
.header-nav .notifications .notification-item:hover,
.header-nav .messages .message-item:hover,
.header-nav .profile .dropdown-item:hover {
    background-color: var(--awm-soft);
}

/* Light background tints */
.bg-primary-light {
    background-color: #e5e4ff;
    border-color: #e5e4ff;
}

.bg-secondary-light {
    background-color: #eaebf2;
    border-color: #eaebf2;
}

.bg-success-light {
    background-color: #d8f3e9;
    border-color: #d8f3e9;
}

.bg-danger-light {
    background-color: #fce4e7;
    border-color: #fce4e7;
}

.bg-warning-light {
    background-color: #fdf0da;
    border-color: #fdf0da;
}

.bg-info-light {
    background-color: #dbf1fc;
    border-color: #dbf1fc;
}

.bg-dark-light {
    background-color: #e3e3ec;
    border-color: #e3e3ec;
}

/* Sidebar */
.sidebar {
    box-shadow: 0 0 20px rgba(23, 21, 58, 0.06);
}

.sidebar-nav .nav-heading {
    color: var(--awm-muted);
}

.sidebar-nav .nav-link {
    color: var(--awm-primary);
    background: var(--awm-soft);
}

.sidebar-nav .nav-link i {
    color: var(--awm-primary);
}

.sidebar-nav .nav-link.collapsed {
    color: var(--awm-ink);
    background: #fff;
}

.sidebar-nav .nav-link.collapsed i {
    color: var(--awm-muted);
}

.sidebar-nav .nav-link:hover {
    color: var(--awm-primary);
    background: var(--awm-soft);
}

.sidebar-nav .nav-link:hover i {
    color: var(--awm-primary);
}

.sidebar-nav .nav-content a {
    color: var(--awm-ink);
}

.sidebar-nav .nav-content a:hover,
.sidebar-nav .nav-content a.active {
    color: var(--awm-primary);
}

.sidebar-nav .nav-content a.active i {
    background-color: var(--awm-primary);
}

/* Dashboard */
.dashboard .filter .icon,
.dashboard .filter .dropdown-header h6 {
    color: var(--awm-muted);
}

.dashboard .filter .icon:hover,
.dashboard .filter .icon:focus {
    color: var(--awm-primary);
}

.dashboard .sales-card .card-icon {
    color: var(--awm-primary);
    background: var(--awm-soft);
}

.dashboard .revenue-card .card-icon {
    color: #16b981;
    background: #d8f3e9;
}

.dashboard .customers-card .card-icon {
    color: #f5a524;
    background: #fdf0da;
}

.dashboard .recent-sales .table thead,
.dashboard .top-selling .table thead {
    background: var(--awm-soft);
}

.dashboard .news h4 a {
    color: var(--awm-ink);
}

.dashboard .news h4 a:hover {
    color: var(--awm-primary);
}

/* Accordion, breadcrumbs, tabs */
.accordion-item,
.nav-tabs-bordered {
    border-color: var(--awm-border);
}

.accordion-button:not(.collapsed) {
    color: var(--awm-ink);
    background-color: var(--awm-soft);
}

.accordion-flush .accordion-button:not(.collapsed) {
    color: var(--awm-primary);
}

.accordion-flush .accordion-body {
    color: var(--awm-body);
}

.breadcrumb,
.breadcrumb a,
.breadcrumb .breadcrumb-item::before {
    color: var(--awm-muted);
}

.breadcrumb a:hover,
.breadcrumb .active {
    color: var(--awm-muted-strong);
}

.nav-tabs-bordered .nav-link {
    color: var(--awm-body);
}

.nav-tabs-bordered .nav-link:hover,
.nav-tabs-bordered .nav-link:focus,
.nav-tabs-bordered .nav-link.active {
    color: var(--awm-primary);
}

.nav-tabs-bordered .nav-link.active {
    border-bottom: 2px solid var(--awm-primary);
}

/* Profile, FAQ, contact, 404 */
.profile .profile-card h2 {
    color: var(--awm-body);
}

.profile .profile-card .social-links a:hover,
.profile .profile-overview .card-title {
    color: var(--awm-ink);
}

.profile .profile-overview .label,
.profile .profile-edit label {
    color: rgba(23, 21, 58, 0.6);
}

.faq .basic h6,
.contact .info-box i,
.error-404 h1 {
    color: var(--awm-primary);
}

.faq .basic p {
    color: var(--awm-muted-strong);
}

.contact .info-box h3,
.error-404 h2 {
    color: var(--awm-ink);
}

.contact .php-email-form input:focus,
.contact .php-email-form textarea:focus {
    border-color: var(--awm-primary);
}

.contact .php-email-form button[type="submit"] {
    background: var(--awm-primary);
}

.contact .php-email-form button[type="submit"]:hover {
    background: var(--awm-primary-strong);
}

.error-404 .btn {
    background: var(--awm-muted-strong);
}

.error-404 .btn:hover {
    background: var(--awm-body);
}

.footer {
    border-top-color: var(--awm-border);
}

/* ------------------------------------------------------------------ */
/* Signature — deep ink gradient for dark sections                     */
/* ------------------------------------------------------------------ */
.bg-dark {
    background-color: var(--awm-ink) !important;
    background-image: radial-gradient(120% 140% at 85% -10%,
            rgba(91, 90, 247, 0.38) 0%,
            rgba(91, 90, 247, 0) 55%),
        linear-gradient(160deg, #1b1740 0%, #120f2e 100%) !important;
}

/* ------------------------------------------------------------------ */
/* Landing navbar — floating glass pill                                */
/* ------------------------------------------------------------------ */
.awm-navbar-wrap {
    position: sticky;
    top: 0;
    z-index: 1030;
    padding: 0;
    transition: padding 0.25s ease;
}

.awm-navbar {
    max-width: 100vw;
    margin: 0 auto;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 0;
    background: rgba(23, 21, 58, 0.85);
    -webkit-backdrop-filter: blur(18px) saturate(150%);
    backdrop-filter: blur(18px) saturate(150%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
    transition: background 0.25s ease, box-shadow 0.25s ease,
        border-radius 0.25s ease, max-width 0.25s ease;
}

.awm-navbar-wrap.is-scrolled {
    padding: 12px 16px 0;
}

.awm-navbar-wrap.is-scrolled .awm-navbar {
    max-width: 1200px;
    margin: 0 auto;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 18px;
    background: rgba(20, 18, 50, 0.92);
    box-shadow: 0 20px 44px -22px rgba(11, 10, 36, 0.85),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.awm-navbar-inner {
    display: flex;
    align-items: center;
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto;
    min-height: 64px;
    padding: 10px 12px 10px 16px;
}

/* Brand */
.awm-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    text-decoration: none;
}

.awm-brand-mark {
    display: inline-flex;
    padding: 2px;
    border-radius: 50%;
    background: linear-gradient(135deg, #6d6bff 0%, #2bd9d0 100%);
    box-shadow: 0 6px 16px -6px rgba(91, 90, 247, 0.9);
}

.awm-brand-mark img {
    display: block;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #17153a;
}

.awm-brand-name {
    font-family: "Inter", sans-serif;
    font-weight: 700;
    font-size: 1.04rem;
    letter-spacing: 0.09em;
    color: #fff;
}

/* Links */
.awm-nav-links {
    list-style: none;
    align-items: center;
    gap: 2px;
    margin: 0 auto;
    padding: 0;
}

.awm-link {
    position: relative;
    display: inline-block;
    padding: 9px 15px;
    font-family: "Inter", sans-serif;
    font-weight: 600;
    font-size: 0.86rem;
    letter-spacing: 0.015em;
    color: rgba(255, 255, 255, 0.68);
    text-decoration: none;
    border-radius: 10px;
    transition: color 0.2s ease;
}

.awm-link::after {
    content: "";
    position: absolute;
    left: 15px;
    right: 15px;
    bottom: 5px;
    height: 2px;
    border-radius: 2px;
    background: linear-gradient(90deg, #6d6bff 0%, #2bd9d0 100%);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.25s ease;
}

.awm-link:hover,
.awm-link.is-active {
    color: #fff;
}

.awm-link:hover::after,
.awm-link.is-active::after {
    transform: scaleX(1);
}

.awm-link:focus-visible,
.awm-cta:focus-visible,
.awm-brand:focus-visible {
    outline: 2px solid var(--awm-accent);
    outline-offset: 2px;
}

/* Actions */
.awm-nav-actions {
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.awm-cta {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 18px;
    border-radius: 999px;
    font-family: "Inter", sans-serif;
    font-weight: 700;
    font-size: 0.85rem;
    letter-spacing: 0.01em;
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease,
        box-shadow 0.2s ease, transform 0.2s ease;
}

.awm-cta-ghost {
    color: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(255, 255, 255, 0.16);
}

.awm-cta-ghost:hover {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.32);
    background: rgba(255, 255, 255, 0.06);
}

.awm-cta-primary {
    color: #fff;
    background-image: linear-gradient(135deg, #6d6bff 0%, #4b49e8 100%);
    box-shadow: 0 8px 20px -8px rgba(91, 90, 247, 0.85);
}

.awm-cta-primary:hover {
    color: #fff;
    transform: translateY(-1px);
    background-image: linear-gradient(135deg, #7e7cff 0%, #5553f0 100%);
    box-shadow: 0 12px 26px -8px rgba(91, 90, 247, 0.95);
}

.awm-cta-primary .bi {
    transition: transform 0.2s ease;
}

.awm-cta-primary:hover .bi {
    transform: translateX(3px);
}

/* Toggler */
.awm-toggler {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-left: auto;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.06);
    color: #fff;
    font-size: 1.3rem;
    line-height: 1;
}

.awm-toggler:focus {
    box-shadow: 0 0 0 0.22rem rgba(91, 90, 247, 0.4);
}

/* Mobile panel */
.awm-mobile-panel {
    padding: 6px 16px 18px;
}

.awm-mobile-links {
    list-style: none;
    margin: 0;
    padding: 2px 0;
}

.awm-mobile-links a {
    display: block;
    padding: 13px 6px;
    font-family: "Inter", sans-serif;
    font-weight: 600;
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.82);
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    transition: color 0.2s ease;
}

.awm-mobile-links a:hover,
.awm-mobile-links a.is-active {
    color: #fff;
}

.awm-mobile-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-top: 16px;
}

.awm-mobile-actions .awm-cta {
    justify-content: center;
    padding: 12px 18px;
}

@media (max-width: 575.98px) {
    .awm-navbar-wrap.is-scrolled {
        padding: 8px 8px 0;
    }
}

@media (prefers-reduced-motion: reduce) {

    .awm-navbar-wrap,
    .awm-navbar,
    .awm-link,
    .awm-link::after,
    .awm-cta,
    .awm-cta-primary .bi {
        transition: none !important;
    }
}

/* ------------------------------------------------------------------ */
/* Landing — uniform icon chips                                        */
/* ------------------------------------------------------------------ */
.awm-icon-chip {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
}

.awm-icon-tile {
    width: 56px;
    height: 56px;
    flex: 0 0 56px;
}

.awm-icon-circle {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
}