/* Optional Theme 2 layer: only active on index and resellerplaceorder */

body.theme2-visual-active.page-index,
body.theme2-visual-active.route-resellerplaceorder {
    background: radial-gradient(1200px 500px at 10% -10%, rgba(62, 102, 255, 0.16), transparent 62%),
                radial-gradient(900px 400px at 100% 0%, rgba(0, 198, 165, 0.14), transparent 58%),
                #0a111b;
    color: #d9e8ff;
}

/* Force white typography for Theme 2 */
body.theme2-visual-active.page-index,
body.theme2-visual-active.page-index *,
body.theme2-visual-active.route-resellerplaceorder,
body.theme2-visual-active.route-resellerplaceorder * {
    color: #ffffff !important;
}

body.theme2-visual-active.page-index input::placeholder,
body.theme2-visual-active.page-index textarea::placeholder,
body.theme2-visual-active.route-resellerplaceorder input::placeholder,
body.theme2-visual-active.route-resellerplaceorder textarea::placeholder {
    color: rgba(255, 255, 255, 0.78) !important;
}

body.theme2-visual-active.page-index .header-top,
body.theme2-visual-active.page-index .header-middle,
body.theme2-visual-active.page-index .header-bottom,
body.theme2-visual-active.page-index .header,
body.theme2-visual-active.route-resellerplaceorder .header-top,
body.theme2-visual-active.route-resellerplaceorder .header-middle,
body.theme2-visual-active.route-resellerplaceorder .header-bottom,
body.theme2-visual-active.route-resellerplaceorder .header {
    background: #041425 !important;
    border-color: rgba(116, 151, 194, 0.2);
    backdrop-filter: blur(10px);
}

body.theme2-visual-active.page-index .page-container,
body.theme2-visual-active.page-index .card,
body.theme2-visual-active.route-resellerplaceorder .page-container,
body.theme2-visual-active.route-resellerplaceorder .card {
    position: relative;
    overflow: hidden;
    background: linear-gradient(145deg, rgba(9, 20, 35, 0.76), rgba(6, 14, 25, 0.62));
    border: 1px solid rgba(132, 182, 255, 0.3);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.42);
    backdrop-filter: blur(14px) saturate(145%);
    -webkit-backdrop-filter: blur(14px) saturate(145%);
}

body.theme2-visual-active.page-index .page-container::before,
body.theme2-visual-active.page-index .card::before,
body.theme2-visual-active.route-resellerplaceorder .page-container::before,
body.theme2-visual-active.route-resellerplaceorder .card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(160, 220, 255, 0.1), rgba(160, 220, 255, 0));
    z-index: 0;
}

/* SVG decorative layer for cards */
body.theme2-visual-active.page-index .card::after,
body.theme2-visual-active.route-resellerplaceorder .card::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0.16;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='220' viewBox='0 0 420 220'%3E%3Cg fill='none'%3E%3Ccircle cx='70' cy='190' r='90' stroke='%2368b8ff' stroke-opacity='.34'/%3E%3Cpath d='M180 50c50-35 110-35 160 0' stroke='%2334d3c7' stroke-opacity='.26'/%3E%3Cpath d='M15 30h140' stroke='%235a7fae' stroke-opacity='.2'/%3E%3C/g%3E%3C/svg%3E");
    background-size: cover;
    background-position: center;
    z-index: 0;
}

body.theme2-visual-active.page-index .card > *,
body.theme2-visual-active.route-resellerplaceorder .card > * {
    position: relative;
    z-index: 1;
}

/* Keep IMEI service modal above theme layers */
body.theme2-visual-active.page-index #modal-order,
body.theme2-visual-active.route-resellerplaceorder #modal-order {
    position: fixed !important;
    z-index: 1080 !important;
}

body.theme2-visual-active.page-index #modal-order .backdrop-over,
body.theme2-visual-active.route-resellerplaceorder #modal-order .backdrop-over {
    z-index: 0;
}

body.theme2-visual-active.page-index #modal-order .modal-dialog,
body.theme2-visual-active.route-resellerplaceorder #modal-order .modal-dialog {
    position: relative;
    z-index: 2;
}

body.theme2-visual-active.page-index .card:hover,
body.theme2-visual-active.route-resellerplaceorder .card:hover {
    border-color: rgba(97, 171, 255, 0.42);
    transform: translateY(-2px);
}

body.theme2-visual-active.page-index .page-title,
body.theme2-visual-active.page-index h1,
body.theme2-visual-active.page-index h2,
body.theme2-visual-active.page-index h3,
body.theme2-visual-active.page-index h4,
body.theme2-visual-active.page-index h5,
body.theme2-visual-active.route-resellerplaceorder .page-title,
body.theme2-visual-active.route-resellerplaceorder h1,
body.theme2-visual-active.route-resellerplaceorder h2,
body.theme2-visual-active.route-resellerplaceorder h3,
body.theme2-visual-active.route-resellerplaceorder h4,
body.theme2-visual-active.route-resellerplaceorder h5 {
    color: #eef5ff;
}

body.theme2-visual-active.page-index .text-muted,
body.theme2-visual-active.page-index .small,
body.theme2-visual-active.page-index .breadcrumb,
body.theme2-visual-active.route-resellerplaceorder .text-muted,
body.theme2-visual-active.route-resellerplaceorder .small,
body.theme2-visual-active.route-resellerplaceorder .breadcrumb {
    color: #ffffff !important;
}

body.theme2-visual-active.page-index .btn-primary,
body.theme2-visual-active.page-index .bg-primary,
body.theme2-visual-active.route-resellerplaceorder .btn-primary,
body.theme2-visual-active.route-resellerplaceorder .bg-primary {
    background: linear-gradient(135deg, #2f6dff, #00b8a5) !important;
    border-color: transparent !important;
}

body.theme2-visual-active.page-index .btn-secondary,
body.theme2-visual-active.page-index .bg-secondary,
body.theme2-visual-active.route-resellerplaceorder .btn-secondary,
body.theme2-visual-active.route-resellerplaceorder .bg-secondary {
    background: linear-gradient(135deg, #2758d7, #2f6dff) !important;
    border-color: transparent !important;
}

body.theme2-visual-active.page-index .form-control,
body.theme2-visual-active.page-index select,
body.theme2-visual-active.page-index textarea,
body.theme2-visual-active.route-resellerplaceorder .form-control,
body.theme2-visual-active.route-resellerplaceorder select,
body.theme2-visual-active.route-resellerplaceorder textarea {
    background: rgba(7, 17, 30, 0.55);
    border-color: rgba(104, 184, 255, 0.38);
    color: #ffffff;
}

body.theme2-visual-active.page-index .form-control:focus,
body.theme2-visual-active.page-index select:focus,
body.theme2-visual-active.page-index textarea:focus,
body.theme2-visual-active.route-resellerplaceorder .form-control:focus,
body.theme2-visual-active.route-resellerplaceorder select:focus,
body.theme2-visual-active.route-resellerplaceorder textarea:focus {
    border-color: #5ca2ff;
    box-shadow: 0 0 0 0.2rem rgba(92, 162, 255, 0.2);
}

/* Index page emphasis */
body.theme2-visual-active.page-index .index-content .page-container,
body.theme2-visual-active.page-index .index-products .card,
body.theme2-visual-active.page-index .card-reseller {
    border-radius: 14px;
}

/* Reseller placeorder emphasis (supports multiple route/body signatures) */
body.theme2-visual-active.route-resellerplaceorder .service-list-box .card-product {
    border: 1px solid rgba(132, 182, 255, 0.26);
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(12, 26, 43, 0.82), rgba(8, 20, 33, 0.74));
}

body.theme2-visual-active.route-resellerplaceorder .card-search {
    border-radius: 12px;
}

/* Reseller panel dropdown fix: avoid clipping and keep menu above cards/layers */
body.theme2-visual-active.route-resellerplaceorder .page-container,
body.theme2-visual-active.route-resellerplaceorder .card-search,
body.theme2-visual-active.route-resellerplaceorder .card-search.card,
body.theme2-visual-active.route-resellerplaceorder .card-search .form-inline,
body.theme2-visual-active.route-resellerplaceorder .card-search .form-group,
body.theme2-visual-active.route-resellerplaceorder .btn-group,
body.theme2-visual-active.route-resellerplaceorder .dropdown {
    overflow: visible !important;
}

body.theme2-visual-active.route-resellerplaceorder .dropdown,
body.theme2-visual-active.route-resellerplaceorder .btn-group {
    position: relative;
    z-index: 1300;
}

body.theme2-visual-active.page-index .header,
body.theme2-visual-active.page-index .header-middle,
body.theme2-visual-active.page-index .header-bottom,
body.theme2-visual-active.page-index .container-cart-menu,
body.theme2-visual-active.page-index .navbar-products,
body.theme2-visual-active.page-index .navbar-mastermenu,
body.theme2-visual-active.page-index .nav-item.dropdown,
body.theme2-visual-active.page-index .search-bar,
body.theme2-visual-active.route-resellerplaceorder .header,
body.theme2-visual-active.route-resellerplaceorder .header-middle,
body.theme2-visual-active.route-resellerplaceorder .header-bottom,
body.theme2-visual-active.route-resellerplaceorder .nav-item.dropdown,
body.theme2-visual-active.route-resellerplaceorder .search-bar {
    overflow: visible !important;
}

body.theme2-visual-active.page-index .dropdown,
body.theme2-visual-active.page-index .dropup,
body.theme2-visual-active.page-index .btn-group,
body.theme2-visual-active.route-resellerplaceorder .dropdown,
body.theme2-visual-active.route-resellerplaceorder .dropup,
body.theme2-visual-active.route-resellerplaceorder .btn-group {
    position: relative;
    z-index: 1600;
}

body.theme2-visual-active.page-index .dropdown-menu,
body.theme2-visual-active.route-resellerplaceorder .dropdown-menu {
    position: absolute;
    z-index: 1700 !important;
}

/* Master menu dropdown must stay above header-bottom and content layers */
body.theme2-visual-active.page-index .header-middle,
body.theme2-visual-active.route-resellerplaceorder .header-middle {
    position: relative;
    z-index: 2200 !important;
}

body.theme2-visual-active.page-index .header-bottom,
body.theme2-visual-active.route-resellerplaceorder .header-bottom {
    position: relative;
    z-index: 2100;
}

body.theme2-visual-active.page-index .header-middle .navbar-mastermenu,
body.theme2-visual-active.page-index .header-middle .navbar-mastermenu > .nav-item,
body.theme2-visual-active.page-index .header-middle .navbar-mastermenu > .nav-item.dropdown,
body.theme2-visual-active.route-resellerplaceorder .header-middle .navbar-mastermenu,
body.theme2-visual-active.route-resellerplaceorder .header-middle .navbar-mastermenu > .nav-item,
body.theme2-visual-active.route-resellerplaceorder .header-middle .navbar-mastermenu > .nav-item.dropdown {
    position: relative;
    z-index: 2250;
    overflow: visible !important;
}

body.theme2-visual-active.page-index .header-middle .navbar-mastermenu > .nav-item.dropdown > .dropdown-menu,
body.theme2-visual-active.route-resellerplaceorder .header-middle .navbar-mastermenu > .nav-item.dropdown > .dropdown-menu {
    position: absolute;
    z-index: 2300 !important;
}

body.theme2-visual-active.route-resellerplaceorder .dropdown-menu {
    background: #353641 !important;
}

body.theme2-visual-active.page-index .dropdown-menu {
    background: #353641 !important;
}

body.theme2-visual-active .footer-top {
    background: #0b0c19 !important;
}

/* Theme 2 Client Area Dashboard: glass + 3D + animated objects */
body.theme2-visual-active .client-area .clientarea-balance {
    position: relative;
    overflow: hidden;
    border-radius: 18px;
}

body.theme2-visual-active .client-area .clientarea-balance::before,
body.theme2-visual-active .client-area .clientarea-balance::after {
    content: "";
    position: absolute;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    filter: blur(70px);
    opacity: 0.34;
    pointer-events: none;
    z-index: 0;
}

body.theme2-visual-active .client-area .clientarea-balance::before {
    top: -140px;
    right: -110px;
    background: radial-gradient(circle, rgba(72, 192, 255, 0.72), rgba(72, 192, 255, 0));
    animation: theme2ClientOrbA 11s ease-in-out infinite;
}

body.theme2-visual-active .client-area .clientarea-balance::after {
    bottom: -160px;
    left: -120px;
    background: radial-gradient(circle, rgba(235, 47, 150, 0.62), rgba(235, 47, 150, 0));
    animation: theme2ClientOrbB 13s ease-in-out infinite;
}

body.theme2-visual-active .client-area .clientarea-balance > .container,
body.theme2-visual-active .client-area .clientarea-balance > .container > .page-container {
    position: relative;
    z-index: 2;
}

body.theme2-visual-active .client-area .card {
    border: 1px solid rgba(150, 196, 255, 0.24);
    background: linear-gradient(145deg, rgba(13, 27, 45, 0.72), rgba(8, 18, 32, 0.58));
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.38), inset 0 1px 0 rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(14px) saturate(140%);
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    border-radius: 16px;
    transform-style: preserve-3d;
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

body.theme2-visual-active .client-area .card:hover {
    transform: translateY(-4px) rotateX(3deg) rotateY(-2deg);
    border-color: rgba(159, 214, 255, 0.42);
    box-shadow: 0 20px 38px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(120, 190, 255, 0.2);
}

body.theme2-visual-active .client-area .card.card-othercredit,
body.theme2-visual-active .client-area .card.card-announcement,
body.theme2-visual-active .client-area .card.card-area-status {
    position: relative;
    overflow: hidden;
}

body.theme2-visual-active .client-area .card.card-othercredit::before,
body.theme2-visual-active .client-area .card.card-announcement::before,
body.theme2-visual-active .client-area .card.card-area-status::before {
    content: "";
    position: absolute;
    inset: -1px;
    pointer-events: none;
    background: linear-gradient(120deg, rgba(123, 211, 252, 0.28), rgba(235, 47, 150, 0.18), rgba(123, 211, 252, 0.1));
    opacity: 0.55;
    z-index: 0;
}

body.theme2-visual-active .client-area .card.card-othercredit > *,
body.theme2-visual-active .client-area .card.card-announcement > *,
body.theme2-visual-active .client-area .card.card-area-status > * {
    position: relative;
    z-index: 1;
}

body.theme2-visual-active .client-area .big-font,
body.theme2-visual-active .client-area .card h2,
body.theme2-visual-active .client-area .card h4 {
    color: #f4f9ff !important;
    text-shadow: 0 2px 10px rgba(79, 166, 255, 0.2);
}

body.theme2-visual-active .client-area .progressbar {
    box-shadow: 0 0 10px rgba(130, 201, 255, 0.45);
}

body.theme2-visual-active .client-area .card-body .fa-2x,
body.theme2-visual-active .client-area .card-body .fal,
body.theme2-visual-active .client-area .card-body .fas {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border-radius: 14px;
    background: linear-gradient(140deg, rgba(11, 28, 47, 0.9), rgba(7, 20, 35, 0.8));
    color: #80d3ff !important;
    border: 1px solid rgba(126, 199, 255, 0.34);
    box-shadow: 0 8px 18px rgba(3, 10, 18, 0.46);
}

body.theme2-visual-active .client-area .card-body .fa-lock,
body.theme2-visual-active .client-area .card-body .fa-receipt,
body.theme2-visual-active .client-area .card-body .fa-shopping-bag,
body.theme2-visual-active .client-area .card-body .fa-tag {
    background-image: linear-gradient(145deg, rgba(34, 76, 122, 0.92), rgba(19, 43, 71, 0.86));
    color: #b7ecff !important;
}

body.theme2-visual-active .client-area .text-muted {
    color: rgba(223, 236, 255, 0.86) !important;
}

body.theme2-visual-active .client-area .btn.btn-primary,
body.theme2-visual-active .client-area .btn[style*="background:#0288CB"],
body.theme2-visual-active .client-area .btn[style*="background:#9EC038"] {
    border: 0;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.28);
}

@keyframes theme2ClientOrbA {
    0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
    50% { transform: translate3d(-20px, 24px, 0) scale(1.1); }
}

@keyframes theme2ClientOrbB {
    0%, 100% { transform: translate3d(0, 0, 0) scale(1.05); }
    50% { transform: translate3d(26px, -18px, 0) scale(0.96); }
}

/* Theme 2 menu styling: icons + animated pink gradient text */
body.theme2-visual-active.page-index .navbar-products .nav-link,
body.theme2-visual-active.page-index .navbar-products .dropdown-item,
body.theme2-visual-active.page-index .navbar-mastermenu > .nav-item > .nav-link:not(.btn),
body.theme2-visual-active.page-index .navbar-mastermenu .dropdown-menu .dropdown-item,
body.theme2-visual-active.route-resellerplaceorder .nav-tabs .nav-link,
body.theme2-visual-active.route-resellerplaceorder .dropdown-menu .dropdown-item {
    position: relative;
    padding-left: 28px;

      
    background-image: linear-gradient(90deg, #eb2f96, #007bff, #eb2f96);
    background-size: 220% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
    animation: theme2MenuTextFlow 4s linear infinite;
}

body.theme2-visual-active.page-index .navbar-mastermenu .dropdown-menu .dropdown-item:hover,
body.theme2-visual-active.page-index .navbar-products .dropdown-item:hover,
body.theme2-visual-active.route-resellerplaceorder .dropdown-menu .dropdown-item:hover {
    background-color: rgba(255, 255, 255, 0.15) !important;
    background-image: linear-gradient(90deg, #eb2f96, #ff6bbf, #eb2f96) !important;
    background-size: 220% 100% !important;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: black !important;
    color: black !important;
    animation: theme2MenuTextFlow 4s linear infinite;
    border-radius: 8px;
    transition: all 0.3s ease;
}

body.theme2-visual-active.page-index .navbar-products .nav-link::before,
body.theme2-visual-active.page-index .navbar-products .dropdown-item::before,
body.theme2-visual-active.page-index .navbar-mastermenu > .nav-item > .nav-link:not(.btn)::before,
body.theme2-visual-active.page-index .navbar-mastermenu .dropdown-menu .dropdown-item::before,
body.theme2-visual-active.route-resellerplaceorder .nav-tabs .nav-link::before,
body.theme2-visual-active.route-resellerplaceorder .dropdown-menu .dropdown-item::before {
    content: "";
    position: absolute;
    left: 9px;
    top: 50%;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    transform: translateY(-50%);
    background: linear-gradient(135deg, #eb2f96, #ff7bc5);
    box-shadow: 0 0 8px rgba(235, 47, 150, 0.5);
}

body.theme2-visual-active.page-index .navbar-mastermenu .dropdown-menu {
    z-index: 1500 !important;
}

body.theme2-visual-active.page-index .navbar-mastermenu .nav-link.btn,
body.theme2-visual-active.page-index .navbar-mastermenu .nav-link.btn * {
    -webkit-text-fill-color: #ffffff !important;
    color: #ffffff !important;
    background-image: none !important;
    animation: none !important;
}

/* Theme 2 wave text for navbar brand */
body.theme2-visual-active.page-index .navbar-brand.mr-auto.theme2-brand-wave,
body.theme2-visual-active.route-resellerplaceorder .navbar-brand.mr-auto.theme2-brand-wave {
    display: inline-flex;
    align-items: center;
    gap: 1px;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-decoration: none;
    color: #ffffff !important;
}

body.theme2-visual-active.page-index .navbar-brand.mr-auto.theme2-brand-wave .theme2-brand-wave-char,
body.theme2-visual-active.route-resellerplaceorder .navbar-brand.mr-auto.theme2-brand-wave .theme2-brand-wave-char {
    display: inline-block;
      background-image: linear-gradient(95deg, #f3e97a, #dc3545 30%, #bb3607 58%, #dc3545 86%);
    background-size: 240% 100%;
    background-position: 0% 50%;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
    will-change: transform;
    animation: theme2BrandCharWave 1.55s ease-in-out infinite, theme2BrandTextFlow 4.8s linear infinite;
    animation-delay: calc(var(--theme2-wave-i, 0) * 0.08s);
}

body.theme2-visual-active.page-index .navbar-brand.mr-auto.theme2-brand-wave:hover .theme2-brand-wave-char,
body.theme2-visual-active.route-resellerplaceorder .navbar-brand.mr-auto.theme2-brand-wave:hover .theme2-brand-wave-char {
    animation-duration: 1.1s;
}

@keyframes theme2BrandTextFlow {
    from { background-position: 0% 50%; }
    to { background-position: 240% 50%; }
}

@keyframes theme2BrandCharWave {
    0%, 100% { transform: translateY(0); }
    25% { transform: translateY(-4px); }
    50% { transform: translateY(0); }
    75% { transform: translateY(3px); }
}

@keyframes theme2MenuTextFlow {
    from { background-position: 0% 50%; }
    to { background-position: 200% 50%; }
}

/* Force dark background on legacy bg-gray wrappers */
body.theme2-visual-active.page-index .bg-gray,
body.theme2-visual-active.route-resellerplaceorder .bg-gray {
    background: linear-gradient(160deg, rgba(6, 14, 25, 0.92), rgba(8, 18, 32, 0.88)) !important;
}

/* Dark glass login modal */
body.theme2-visual-active.page-index .modal-content,
body.theme2-visual-active.route-resellerplaceorder .modal-content {
    background: linear-gradient(165deg, rgba(10, 22, 38, 0.92), rgba(7, 16, 30, 0.88)) !important;
    border: 1px solid rgba(104, 184, 255, 0.28);
    box-shadow: 0 24px 52px rgba(0, 0, 0, 0.52);
    backdrop-filter: blur(14px) saturate(130%);
    -webkit-backdrop-filter: blur(14px) saturate(130%);
}

body.theme2-visual-active.page-index .modal-header,
body.theme2-visual-active.page-index .modal-footer,
body.theme2-visual-active.route-resellerplaceorder .modal-header,
body.theme2-visual-active.route-resellerplaceorder .modal-footer {
    background: rgba(10, 22, 38, 0.86) !important;
    border-color: rgba(104, 184, 255, 0.24) !important;
}

body.theme2-visual-active.page-index .modal-body,
body.theme2-visual-active.route-resellerplaceorder .modal-body {
    background: transparent !important;
}

body.theme2-visual-active.page-index .modal-content input,
body.theme2-visual-active.page-index .modal-content select,
body.theme2-visual-active.page-index .modal-content textarea,
body.theme2-visual-active.route-resellerplaceorder .modal-content input,
body.theme2-visual-active.route-resellerplaceorder .modal-content select,
body.theme2-visual-active.route-resellerplaceorder .modal-content textarea {
    background: rgba(8, 18, 32, 0.78) !important;
    border: 1px solid rgba(104, 184, 255, 0.34) !important;
    color: #ffffff !important;
}

body.theme2-visual-active.page-index .modal-content .input-group-addon,
body.theme2-visual-active.page-index .modal-content .input-group-text,
body.theme2-visual-active.route-resellerplaceorder .modal-content .input-group-addon,
body.theme2-visual-active.route-resellerplaceorder .modal-content .input-group-text {
    background: rgba(8, 18, 32, 0.84) !important;
    border-color: rgba(104, 184, 255, 0.3) !important;
    color: #ffffff !important;
}

body.theme2-visual-active.page-index .modal-content .close,
body.theme2-visual-active.route-resellerplaceorder .modal-content .close {
    color: #ffffff !important;
    text-shadow: none;
    opacity: 0.92;
}

/* Particles canvas layer */
#theme2-particles {
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: 0.55;
}

/* Keep content above particles */
body.theme2-visual-active.page-index,
body.theme2-visual-active.route-resellerplaceorder,
body.theme2-visual-active.page-index header,
body.theme2-visual-active.route-resellerplaceorder header {
    position: relative;
    z-index: 2;
}

/* Animated SVG waves */
#theme2-waves {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    height: 120px;
    z-index: 1;
    pointer-events: none;
    opacity: 0.68;
}

#theme2-waves svg {
    width: 200%;
    height: 100%;
    animation: theme2WaveMove 18s linear infinite;
}

@keyframes theme2WaveMove {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

/* Banner transparency + infinite animated border for themedefault/banner1 */
body.theme2-visual-active.page-index .themedefault,
body.theme2-visual-active.page-index .banner1,
body.theme2-visual-active.page-index .banner-container .banner-width,
body.theme2-visual-active.page-index .banner-rotator,
body.theme2-visual-active.page-index .banner-rotator ul,
body.theme2-visual-active.page-index .banner-rotator li {
    position: relative;
    overflow: hidden;
    background: rgba(7, 17, 30, 0.35) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-radius: 14px;
}

body.theme2-visual-active.page-index .themedefault::before,
body.theme2-visual-active.page-index .banner1::before,
body.theme2-visual-active.page-index .banner-container .banner-width::before,
body.theme2-visual-active.page-index .banner-rotator::before {
    content: "";
    position: absolute;
    inset: -2px;
    border-radius: 16px;
    background: conic-gradient(from 0deg, rgba(98, 212, 255, 0.9), rgba(58, 255, 200, 0.7), rgba(98, 212, 255, 0.9));
    animation: theme2BannerSpin 6s linear infinite;
    z-index: 0;
    opacity: 0.9;
}

body.theme2-visual-active.page-index .themedefault::after,
body.theme2-visual-active.page-index .banner1::after,
body.theme2-visual-active.page-index .banner-container .banner-width::after,
body.theme2-visual-active.page-index .banner-rotator::after {
    content: "";
    position: absolute;
    inset: 2px;
    border-radius: 12px;
    background: rgba(7, 17, 30, 0.28);
    z-index: 1;
}

body.theme2-visual-active.page-index .banner-container .banner-width > *,
body.theme2-visual-active.page-index .banner-rotator > * {
    position: relative;
    z-index: 2;
}

@keyframes theme2BannerSpin {
    to { transform: rotate(360deg); }
}

/* Floating selector */
.theme-switch-corner {
    position: fixed;
    right: 12px;
    bottom: 12px;
    z-index: 99999;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 999px;
    border: 1px solid rgba(116, 151, 194, 0.35);
    background: rgba(9, 18, 29, 0.9);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
    backdrop-filter: blur(8px);
}

.theme-switch-corner label {
    margin: 0;
    font-size: 12px;
    color: #b6cae3;
    font-weight: 600;
}

.theme-switch-corner select {
    border: 1px solid rgba(116, 151, 194, 0.35);
    border-radius: 999px;
    background: #101f31;
    color: #d9e8ff;
    font-size: 12px;
    padding: 4px 10px;
}

@media (max-width: 768px) {
    .theme-switch-corner {
        right: 8px;
        bottom: 8px;
        padding: 6px 8px;
        gap: 6px;
    }

    .theme-switch-corner label,
    .theme-switch-corner select {
        font-size: 11px;
    }
}

/* Fondo Dark Mode con Gradiente Aurora Animado */
.bg-dark-premium {
    position: relative;
    overflow: hidden;
    /* Fondo base muy oscuro para contraste máximo */
    background: linear-gradient(
        135deg,
        #020617, /* Slate 950 */
        #0f172a, /* Slate 900 */
        #1e1b4b, /* Indigo 950 */
        #020617
    ) !important;
    background-size: 400% 400%;
    animation: auroraDark 12s ease infinite;
}

/* Orbes difuminados con colores eléctricos (Neon Glow) */
.bg-dark-premium::before,
.bg-dark-premium::after {
    content: "";
    position: absolute;
    width: 600px;
    height: 600px;
    border-radius: 50%;
    filter: blur(140px); /* Desenfoque mayor para suavidad */
    opacity: 0.25;
    z-index: 0;
    pointer-events: none;
}

/* Orbe Superior: Cian Eléctrico */
.bg-dark-premium::before {
    top: -200px;
    right: -100px;
    background: #06b6d4; /* Cyan 500 */
    animation: floatPurple 20s ease-in-out infinite;
}

/* Orbe Inferior: Violeta Neón */
.bg-dark-premium::after {
    bottom: -200px;
    left: -100px;
    background: #7c3aed; /* Violet 600 */
    animation: floatBlue 25s ease-in-out infinite;
}

/* Panel Glassmorphism Adaptado al Dark Mode */
.glass-card-modern {
    background: rgba(15, 23, 42, 0.6); /* Slate 900 translúcido */
    backdrop-filter: blur(20px) saturate(160%);
    -webkit-backdrop-filter: blur(20px) saturate(160%);
    border: 1px solid rgba(104, 184, 255, 0.16); /* Borde minimalista */
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
    position: relative;
    z-index: 1;
}

/* Animaciones */
@keyframes auroraDark {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

@keyframes floatPurple {
    0%, 100% { transform: translate(0, 0) scale(1); }
    50% { transform: translate(-100px, 50px) scale(1.3); }
}

@keyframes floatBlue {
    0%, 100% { transform: translate(0, 0) scale(1.2); }
    50% { transform: translate(120px, -70px) scale(1); }
}

/* Theme 2 responsive hardening */
@media (max-width: 1199.98px) {
    body.theme2-visual-active.page-index .header-middle .container,
    body.theme2-visual-active.route-resellerplaceorder .header-middle .container,
    body.theme2-visual-active.page-index .header-bottom .container,
    body.theme2-visual-active.route-resellerplaceorder .header-bottom .container {
        max-width: 100%;
        padding-left: 14px;
        padding-right: 14px;
    }

    body.theme2-visual-active.page-index .navbar-brand.mr-auto,
    body.theme2-visual-active.route-resellerplaceorder .navbar-brand.mr-auto {
        max-width: calc(100% - 64px);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: clamp(16px, 2.7vw, 22px);
    }

    body.theme2-visual-active.page-index .navbar-brand.mr-auto img,
    body.theme2-visual-active.route-resellerplaceorder .navbar-brand.mr-auto img {
        max-width: min(200px, 62vw);
        height: auto;
    }

    body.theme2-visual-active.page-index .navbar-toggler,
    body.theme2-visual-active.route-resellerplaceorder .navbar-toggler {
        border: 1px solid rgba(122, 170, 230, 0.4);
        border-radius: 10px;
        padding: 7px 10px;
        background: rgba(6, 17, 30, 0.65);
    }
}

@media (max-width: 991.98px) {
    body.theme2-visual-active.page-index .page-container,
    body.theme2-visual-active.page-index .card,
    body.theme2-visual-active.route-resellerplaceorder .page-container,
    body.theme2-visual-active.route-resellerplaceorder .card {
        border-radius: 12px;
        box-shadow: 0 10px 24px rgba(0, 0, 0, 0.35);
    }

    body.theme2-visual-active.page-index .container,
    body.theme2-visual-active.route-resellerplaceorder .container {
        padding-left: 12px;
        padding-right: 12px;
    }

    body.theme2-visual-active.page-index #navbarToggler1 .modal-dialog,
    body.theme2-visual-active.route-resellerplaceorder #navbarToggler1 .modal-dialog {
        max-width: 100%;
        margin: 0;
        width: 100%;
    }

    body.theme2-visual-active.page-index #navbarToggler1 .modal-content,
    body.theme2-visual-active.route-resellerplaceorder #navbarToggler1 .modal-content {
        background: linear-gradient(165deg, rgba(8, 18, 32, 0.97), rgba(6, 14, 25, 0.95)) !important;
        border: 0;
    }

    body.theme2-visual-active.page-index #navbarToggler1 .modal-body,
    body.theme2-visual-active.route-resellerplaceorder #navbarToggler1 .modal-body {
        padding-bottom: 26px !important;
    }

    body.theme2-visual-active.page-index #navbarToggler1 .nav-link,
    body.theme2-visual-active.page-index #navbarToggler1 .dropdown-item,
    body.theme2-visual-active.route-resellerplaceorder #navbarToggler1 .nav-link,
    body.theme2-visual-active.route-resellerplaceorder #navbarToggler1 .dropdown-item {
        display: flex;
        align-items: center;
        min-height: 44px;
        padding-top: 10px;
        padding-bottom: 10px;
        white-space: normal;
        word-break: break-word;
    }

    body.theme2-visual-active.page-index .navbar-products .dropdown-menu,
    body.theme2-visual-active.page-index .navbar-mastermenu .dropdown-menu,
    body.theme2-visual-active.route-resellerplaceorder .dropdown-menu {
        min-width: 100%;
        max-width: 100%;
        left: 0;
        right: 0;
    }

    body.theme2-visual-active.page-index .table-responsive,
    body.theme2-visual-active.route-resellerplaceorder .table-responsive,
    body.theme2-visual-active.page-index table,
    body.theme2-visual-active.route-resellerplaceorder table {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    body.theme2-visual-active.page-index .theme2-brand-wave-char,
    body.theme2-visual-active.route-resellerplaceorder .theme2-brand-wave-char {
        animation-duration: 1.4s, 4.6s;
    }

    #theme2-waves {
        height: 88px;
        opacity: 0.56;
    }

    #theme2-particles {
        opacity: 0.42;
    }
}

@media (max-width: 767.98px) {
    body.theme2-visual-active.page-index .header-middle,
    body.theme2-visual-active.route-resellerplaceorder .header-middle {
        padding-top: 8px;
        padding-bottom: 8px;
    }

    body.theme2-visual-active.page-index .page-title,
    body.theme2-visual-active.route-resellerplaceorder .page-title {
        font-size: clamp(1.2rem, 4.6vw, 1.6rem);
        line-height: 1.25;
        margin-bottom: 0.7rem;
    }

    body.theme2-visual-active.page-index .navbar-brand.mr-auto,
    body.theme2-visual-active.route-resellerplaceorder .navbar-brand.mr-auto {
        max-width: calc(100% - 58px);
        font-size: clamp(15px, 4.5vw, 19px);
    }

    body.theme2-visual-active.page-index .form-control,
    body.theme2-visual-active.page-index select,
    body.theme2-visual-active.page-index textarea,
    body.theme2-visual-active.route-resellerplaceorder .form-control,
    body.theme2-visual-active.route-resellerplaceorder select,
    body.theme2-visual-active.route-resellerplaceorder textarea {
        font-size: 16px;
    }

    body.theme2-visual-active.page-index .btn,
    body.theme2-visual-active.route-resellerplaceorder .btn {
        min-height: 40px;
        padding-top: 8px;
        padding-bottom: 8px;
    }

    body.theme2-visual-active.page-index .theme-switch-corner,
    body.theme2-visual-active.route-resellerplaceorder .theme-switch-corner {
        right: 8px;
        left: auto;
        bottom: 8px;
        width: auto;
        max-width: calc(100% - 16px);
        padding: 6px 8px;
        gap: 6px;
    }

    body.theme2-visual-active.page-index .theme-switch-corner select,
    body.theme2-visual-active.route-resellerplaceorder .theme-switch-corner select {
        max-width: 126px;
    }
}

@media (max-width: 575.98px) {
    body.theme2-visual-active.page-index .card,
    body.theme2-visual-active.route-resellerplaceorder .card {
        border-radius: 10px;
    }

    body.theme2-visual-active.page-index .breadcrumb,
    body.theme2-visual-active.route-resellerplaceorder .breadcrumb {
        font-size: 12px;
        line-height: 1.3;
        word-break: break-word;
    }

    body.theme2-visual-active.page-index .navbar-mastermenu .dropdown-menu .dropdown-item,
    body.theme2-visual-active.page-index .navbar-products .dropdown-item,
    body.theme2-visual-active.route-resellerplaceorder .dropdown-menu .dropdown-item {
        padding-top: 9px;
        padding-bottom: 9px;
        min-height: 42px;
    }

    body.theme2-visual-active.page-index .theme2-brand-wave-char,
    body.theme2-visual-active.route-resellerplaceorder .theme2-brand-wave-char {
        animation-duration: 1.25s, 4.2s;
    }

    #theme2-waves {
        height: 72px;
        opacity: 0.48;
    }
}
