/* ============================================================
   LumoX Store — full redesign of the product catalog
   Overrides Standard Cart floats / panels completely
   ============================================================ */

:root {
    --lumox-primary:          #4f46e5;
    --lumox-primary-hover:    #4338ca;
    --lumox-primary-soft:     #e0e7ff;
    --lumox-primary-softer:   #eef2ff;
    --lumox-success:          #22c55e;
    --lumox-success-soft:     #e6f9ed;
    --lumox-warning:          #f59e0b;
    --lumox-warning-soft:     #fef3dd;
    --lumox-danger:           #ef4444;
    --lumox-danger-soft:      #fde8e8;
    --lumox-surface:          #ffffff;
    --lumox-surface-2:        #f4f6fd;
    --lumox-surface-3:        #e9edfb;
    --lumox-border:           #dfe3f3;
    --lumox-border-strong:    #c7cdec;
    --lumox-heading:          #16182f;
    --lumox-text:             #363a54;
    --lumox-text-muted:       #6b7196;
    --lumox-shadow:           0 8px 28px -10px rgba(79, 70, 229, .12);
    --lumox-shadow-lg:        0 18px 48px -12px rgba(79, 70, 229, .2);
    --lumox-focus-ring:       0 0 0 .2rem rgba(79, 70, 229, .22);
    --lumox-transition:       .18s ease;
}

html[data-lumox-scheme="dark"] {
    --lumox-primary-soft:   #1b2c4d;
    --lumox-primary-softer: #172440;
    --lumox-success-soft:   #12301e;
    --lumox-warning-soft:   #33270f;
    --lumox-danger-soft:    #371a1c;
    --lumox-surface:        #16203a;
    --lumox-surface-2:      #1b2745;
    --lumox-surface-3:      #202e52;
    --lumox-border:         #263355;
    --lumox-border-strong:  #324167;
    --lumox-heading:        #eef3fb;
    --lumox-text:           #c4cfe1;
    --lumox-text-muted:     #7789a5;
    --lumox-shadow:         0 6px 24px -6px rgba(0, 0, 0, .45);
    --lumox-shadow-lg:      0 16px 44px -10px rgba(0, 0, 0, .6);
}

body.lumox-cart-page:not(.lumox-app-body) {
    background: #f5f6fc !important;
}

html[data-lumox-scheme="dark"] body.lumox-cart-page:not(.lumox-app-body) {
    background: #0d1526 !important;
}

body.lumox-cart-page:not(.lumox-app-body) #main-body {
    background: transparent;
    padding-top: 1.25rem;
    padding-bottom: 3rem;
}

/* ------------------------------------------------------------
   All cart pages: horizontal store toolbar instead of left sidebar
   ------------------------------------------------------------ */
#order-standard_cart > .row {
    display: flex !important;
    flex-direction: column !important;
    margin: 0 !important;
}

#order-standard_cart .cart-sidebar {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    padding: 0 0 1rem !important;
    position: static !important;
    margin: 0 !important;
}

#order-standard_cart .cart-body {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    position: static !important;
}

#order-standard_cart .sidebar-collapsed,
#order-standard_cart .lumox-store-mobile-nav {
    display: none !important;
}

/* Hide legacy panel-style store nav if anything still emits it */
#order-standard_cart .lumox-store-nav {
    display: none !important;
}

#order-standard_cart .lumox-store-toolbar {
    margin-bottom: 1.75rem;
}

#order-standard_cart.lumox-store,
#order-standard_cart.lumox-store .row {
    margin: 0 !important;
    padding: 0 !important;
}

#order-standard_cart.lumox-store .cart-sidebar,
#order-standard_cart.lumox-store .cart-body,
#order-standard_cart.lumox-store .secondary-cart-body,
#order-standard_cart.lumox-store .secondary-cart-sidebar {
    float: none !important;
    width: auto !important;
    padding: 0 !important;
    position: static !important;
}

#order-standard_cart.lumox-store .products .product,
#order-standard_cart.lumox-store .products .product header,
#order-standard_cart.lumox-store .products .product div.product-desc,
#order-standard_cart.lumox-store .products .product footer {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    text-align: left !important;
}

html[dir="rtl"] #order-standard_cart.lumox-store .products .product,
html[dir="rtl"] #order-standard_cart.lumox-store .products .product footer {
    text-align: right !important;
}

#order-standard_cart.lumox-store .products .product::after,
#order-standard_cart.lumox-store .products .product::before {
    display: none !important;
    content: none !important;
}

/* ------------------------------------------------------------
   Store shell layout
   ------------------------------------------------------------ */
.lumox-store-layout {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 1.5rem;
    align-items: start;
}

@media (max-width: 1199px) {
    .lumox-store-layout {
        grid-template-columns: 1fr;
    }

    #order-standard_cart.lumox-store .lumox-store-aside {
        display: none !important;
    }
}

.lumox-store-hero {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.lumox-store-hero-icon {
    width: 56px;
    height: 56px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, #dbeafe, #eff6ff);
    color: var(--lumox-primary);
    font-size: 1.35rem;
    flex-shrink: 0;
    box-shadow: var(--lumox-shadow);
}

.lumox-store-hero-text h1 {
    margin: 0;
    color: var(--lumox-heading);
    font-weight: 800;
    font-size: clamp(1.65rem, 2.4vw, 2.1rem);
    letter-spacing: -.02em;
    line-height: 1.2;
}

.lumox-store-hero-text p {
    margin: .35rem 0 0;
    color: var(--lumox-text-muted);
    font-size: 1.05rem;
}

.lumox-store-alert {
    border: 0;
    border-radius: 16px;
    margin-bottom: 1.25rem;
}

.lumox-store-empty {
    grid-column: 1 / -1;
    text-align: center;
    padding: 3rem 1.5rem;
    background: var(--lumox-surface);
    border: 1px dashed var(--lumox-border);
    border-radius: 22px;
    color: var(--lumox-text-muted);
}

.lumox-store-empty i {
    font-size: 2rem;
    margin-bottom: .75rem;
    color: var(--lumox-primary);
    opacity: .7;
}

/* ------------------------------------------------------------
   Category sidebar — file-manager storage list
   ------------------------------------------------------------ */
.lumox-store-nav {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.lumox-store-panel {
    background: var(--lumox-surface);
    border: 1px solid var(--lumox-border);
    border-radius: 22px;
    box-shadow: var(--lumox-shadow);
    padding: 1.1rem 1rem 1rem;
}

.lumox-store-panel-title {
    margin: 0 .35rem .85rem;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--lumox-text-muted);
}

.lumox-store-panel-title i {
    margin-right: .35rem;
}

html[dir="rtl"] .lumox-store-panel-title i {
    margin-right: 0;
    margin-left: .35rem;
}

.lumox-store-links {
    display: flex;
    flex-direction: column;
    gap: .4rem;
}

.lumox-store-link {
    display: flex;
    align-items: center;
    gap: .85rem;
    padding: .8rem .9rem;
    border-radius: 16px;
    color: var(--lumox-text);
    text-decoration: none !important;
    border: 1px solid transparent;
    transition: background var(--lumox-transition), border-color var(--lumox-transition), box-shadow var(--lumox-transition);
}

.lumox-store-link:hover {
    background: var(--lumox-surface-2);
    color: var(--lumox-heading);
}

.lumox-store-link.is-active,
.lumox-store-link.active {
    background: var(--lumox-primary-softer);
    border-color: var(--lumox-primary-soft);
    color: var(--lumox-heading);
    box-shadow: 0 1px 2px rgba(22, 35, 59, .05);
}

.lumox-store-link-icon {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #e0e7ff;
    color: #4f46e5;
    flex-shrink: 0;
    font-size: 1rem;
}

.lumox-store-panel:nth-child(2) .lumox-store-link-icon {
    background: #dcfce7;
    color: #16a34a;
}

.lumox-store-panel:nth-child(3) .lumox-store-link-icon {
    background: #ffedd5;
    color: #ea580c;
}

.lumox-store-link-meta {
    display: flex;
    flex-direction: column;
    min-width: 0;
    gap: .1rem;
}

.lumox-store-link-meta strong {
    font-size: .95rem;
    font-weight: 700;
    color: inherit;
    line-height: 1.3;
}

.lumox-store-link-meta small {
    color: var(--lumox-text-muted);
    font-size: .75rem;
}

/* Mobile category switcher */
.lumox-store-mobile-nav {
    display: none;
    margin-bottom: 1.25rem;
}

@media (max-width: 1199px) {
    .lumox-store-mobile-nav {
        display: block;
    }
}

.lumox-store-mobile-block {
    background: var(--lumox-surface);
    border: 1px solid var(--lumox-border);
    border-radius: 18px;
    box-shadow: var(--lumox-shadow);
    padding: .85rem 1rem;
    margin-bottom: .75rem;
}

.lumox-store-mobile-block .panel-heading,
.lumox-store-mobile-block .card-header,
.lumox-store-mobile-block .panel-title {
    display: none !important;
}

.lumox-store-mobile-block .form-control,
.lumox-store-currency .form-control {
    height: 48px;
    border-radius: 14px;
    border: 1px solid var(--lumox-border-strong);
    background: var(--lumox-surface-2);
    color: var(--lumox-heading);
    font-weight: 600;
    font-size: .95rem;
    box-shadow: none;
}

.lumox-store-currency {
    margin-top: .5rem;
}

/* ------------------------------------------------------------
   Plan cards grid
   ------------------------------------------------------------ */
.lumox-plan-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
    margin: 0 !important;
}

@media (max-width: 991px) {
    .lumox-plan-grid {
        grid-template-columns: 1fr;
    }
}

.lumox-plan-card {
    display: flex !important;
    flex-direction: column;
    min-height: 100%;
    background: var(--lumox-surface) !important;
    border: 1px solid var(--lumox-border) !important;
    border-radius: 24px !important;
    box-shadow: var(--lumox-shadow) !important;
    overflow: hidden;
    padding: 0 !important;
    transition: transform var(--lumox-transition), box-shadow var(--lumox-transition), border-color var(--lumox-transition);
}

.lumox-plan-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--lumox-shadow-lg) !important;
    border-color: #c7dbf8 !important;
}

.lumox-plan-head {
    display: flex !important;
    align-items: center;
    gap: .9rem;
    padding: 1.25rem 1.35rem !important;
    background: linear-gradient(145deg, #eff6ff, #ffffff) !important;
    border: 0 !important;
    border-radius: 0 !important;
}

.lumox-plan-tint-0 .lumox-plan-head { background: linear-gradient(145deg, #dbeafe, #ffffff) !important; }
.lumox-plan-tint-1 .lumox-plan-head { background: linear-gradient(145deg, #dcfce7, #ffffff) !important; }
.lumox-plan-tint-2 .lumox-plan-head { background: linear-gradient(145deg, #ede9fe, #ffffff) !important; }
.lumox-plan-tint-3 .lumox-plan-head { background: linear-gradient(145deg, #ffedd5, #ffffff) !important; }
.lumox-plan-tint-4 .lumox-plan-head { background: linear-gradient(145deg, #fce7f3, #ffffff) !important; }

.lumox-plan-badge {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .85);
    color: var(--lumox-primary);
    font-size: 1.15rem;
    flex-shrink: 0;
    box-shadow: 0 1px 2px rgba(22, 35, 59, .06);
}

.lumox-plan-tint-1 .lumox-plan-badge { color: #16a34a; }
.lumox-plan-tint-2 .lumox-plan-badge { color: #7c3aed; }
.lumox-plan-tint-3 .lumox-plan-badge { color: #ea580c; }
.lumox-plan-tint-4 .lumox-plan-badge { color: #db2777; }

.lumox-plan-titles {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    min-width: 0;
}

.lumox-plan-name {
    color: var(--lumox-heading) !important;
    font-weight: 800 !important;
    font-size: 1.2rem !important;
    letter-spacing: -.015em;
    line-height: 1.25;
}

.lumox-plan-stock {
    float: none !important;
    color: var(--lumox-text-muted) !important;
    font-size: .78rem !important;
    font-style: normal !important;
}

.lumox-plan-body {
    flex: 1;
    padding: .35rem 1.35rem 1rem !important;
    font-size: .95rem !important;
    color: var(--lumox-text);
}

.lumox-plan-blurb {
    margin-bottom: .85rem;
    color: var(--lumox-text-muted);
    line-height: 1.5;
}

.lumox-plan-blurb p {
    margin: 0 0 .5rem;
}

.lumox-plan-blurb ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.lumox-plan-features {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.lumox-plan-features li {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    padding: .55rem 0;
    border-bottom: 1px dashed var(--lumox-border);
    color: var(--lumox-text);
    font-size: .94rem;
    line-height: 1.4;
}

.lumox-plan-features li:last-child {
    border-bottom: 0;
}

.lumox-plan-features li > i {
    margin-top: .2rem;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--lumox-success-soft);
    color: var(--lumox-success);
    font-size: .65rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.lumox-plan-features .feature-value {
    color: var(--lumox-heading);
    font-weight: 700;
}

.lumox-plan-foot {
    display: flex !important;
    flex-direction: column;
    align-items: stretch !important;
    gap: .9rem;
    padding: 1.15rem 1.35rem 1.35rem !important;
    border-top: 1px solid var(--lumox-border);
    background: var(--lumox-surface-2);
    margin-top: auto !important;
}

.lumox-plan-price {
    margin: 0 !important;
}

.lumox-plan-price .price {
    display: block;
    color: var(--lumox-heading) !important;
    font-weight: 800 !important;
    font-size: 1.85rem !important;
    letter-spacing: -.03em;
    line-height: 1.1;
}

.lumox-plan-cycle {
    display: block;
    color: var(--lumox-text-muted);
    font-size: .88rem;
    font-weight: 600;
    margin-top: .2rem;
}

.lumox-plan-setup {
    display: block;
    margin-top: .35rem;
    color: var(--lumox-text-muted);
    font-size: .8rem;
}

.lumox-plan-cta,
#order-standard_cart.lumox-store .lumox-plan-cta.btn,
#order-standard_cart.lumox-store .products .product .btn-order-now {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    width: 100% !important;
    border: 0 !important;
    border-radius: 16px !important;
    padding: .95rem 1.2rem !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    background: var(--lumox-primary) !important;
    color: #fff !important;
    box-shadow: 0 12px 24px -10px var(--lumox-primary) !important;
    text-decoration: none !important;
}

#order-standard_cart.lumox-store .lumox-plan-cta:hover,
#order-standard_cart.lumox-store .products .product .btn-order-now:hover {
    background: var(--lumox-primary-hover) !important;
    color: #fff !important;
}

/* ------------------------------------------------------------
   Shared cart pages (configure / view / checkout) polish
   ------------------------------------------------------------ */
#order-standard_cart .cart-body:not(.lumox-store-main),
#order-standard_cart .secondary-cart-body {
    background: var(--lumox-surface);
    border: 1px solid var(--lumox-border);
    border-radius: 22px;
    box-shadow: var(--lumox-shadow);
    padding: 1.5rem !important;
}

#order-standard_cart .header-lined {
    border: 0 !important;
    margin: 0 0 1.25rem !important;
}

#order-standard_cart .header-lined h1 {
    color: var(--lumox-heading);
    font-weight: 800;
}

/* Configure product — feature list card */
#order-standard_cart .product-info,
#order-standard_cart .lumox-product-info {
    margin: 0 0 1.5rem !important;
    padding: 1.35rem 1.4rem !important;
    background: #f7f8fd !important;
    border: 1px solid #e4e7f4 !important;
    border-radius: 18px !important;
    border-top: 1px solid #e4e7f4 !important;
    border-bottom: 1px solid #e4e7f4 !important;
    font-size: .95rem !important;
    color: var(--lumox-text);
    box-shadow: 0 8px 24px -18px rgba(22, 24, 47, .18);
}

html[data-lumox-scheme="dark"] #order-standard_cart .product-info,
html[data-lumox-scheme="dark"] #order-standard_cart .lumox-product-info {
    background: var(--lumox-surface-2) !important;
    border-color: var(--lumox-border) !important;
}

#order-standard_cart .product-info .product-title,
#order-standard_cart .lumox-product-info .product-title {
    margin: 0 0 1rem !important;
    padding-bottom: .85rem;
    border-bottom: 1px solid #e4e7f4;
    font-size: 1.35rem !important;
    font-weight: 800;
    letter-spacing: -.02em;
    line-height: 1.25;
    color: var(--lumox-heading);
}

html[data-lumox-scheme="dark"] #order-standard_cart .product-info .product-title {
    border-bottom-color: var(--lumox-border);
}

/* Clean up messy WHMCS product description HTML */
#order-standard_cart .product-info > p:empty,
#order-standard_cart .product-info .product-desc > p:empty,
#order-standard_cart .product-info br,
#order-standard_cart .lumox-product-info br {
    display: none !important;
}

#order-standard_cart .product-info .product-desc > p:first-child:empty + ul,
#order-standard_cart .product-info ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem .9rem;
}

#order-standard_cart .product-info ul li {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: .55rem;
    margin: 0 !important;
    padding: .65rem .8rem .65rem .75rem !important;
    border-radius: 12px;
    background: #ffffff;
    border: 1px solid #e8ebf6;
    color: var(--lumox-text);
    font-size: .9rem;
    font-weight: 600;
    line-height: 1.4;
}

html[data-lumox-scheme="dark"] #order-standard_cart .product-info ul li {
    background: var(--lumox-surface);
    border-color: var(--lumox-border);
}

#order-standard_cart .product-info ul li i {
    flex: 0 0 auto;
    width: 1.15rem;
    height: 1.15rem;
    margin-top: .1rem;
    border-radius: 999px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    background: #eef2ff;
    color: transparent !important;
    font-size: 0 !important;
    position: relative;
}

#order-standard_cart .product-info ul li i::before {
    content: "" !important;
    width: .38rem;
    height: .38rem;
    border-radius: 50%;
    background: #4f46e5;
    display: block;
    font-family: inherit !important;
}

#order-standard_cart .product-info ul li b,
#order-standard_cart .product-info ul li strong {
    color: var(--lumox-heading);
    font-weight: 800;
}

#order-standard_cart .product-info .product-desc > p:not(:empty) {
    margin: 0 0 .85rem;
    color: var(--lumox-text-muted);
    line-height: 1.55;
}

@media (max-width: 767.98px) {
    #order-standard_cart .product-info ul {
        grid-template-columns: 1fr;
    }
}

#order-standard_cart .form-control {
    color: var(--lumox-text);
    background: var(--lumox-surface);
    border: 1px solid var(--lumox-border-strong);
    border-radius: 12px;
    box-shadow: none;
    height: auto;
    padding: .7rem 1rem;
}

#order-standard_cart .form-control:focus {
    border-color: var(--lumox-primary);
    box-shadow: var(--lumox-focus-ring);
}

/* ------------------------------------------------------------
   intl-tel-input — restore flag/dial padding (cart form-control
   ID rules otherwise crush left padding → overlap bug)
   ------------------------------------------------------------ */
#order-standard_cart .prepend-icon:has(.intl-tel-input) > .field-icon,
#order-standard_cart label.field-icon[for="inputPhone"],
#order-standard_cart label.field-icon[for="inputDCPhone"] {
    display: none !important;
}

#order-standard_cart .prepend-icon:has(.intl-tel-input),
#order-standard_cart .form-group:has(.intl-tel-input) {
    overflow: visible;
    z-index: 2;
}

#order-standard_cart .intl-tel-input {
    position: relative;
    display: block;
    width: 100%;
}

#order-standard_cart .intl-tel-input .flag-container {
    z-index: 3;
}

#order-standard_cart .intl-tel-input .selected-flag {
    border-radius: 12px 0 0 12px;
}

#order-standard_cart .intl-tel-input.separate-dial-code .selected-flag {
    background: #eef1fb;
}

#order-standard_cart .intl-tel-input .selected-dial-code {
    color: var(--lumox-heading);
    font-weight: 600;
    font-size: .875rem;
}

#order-standard_cart .intl-tel-input .country-list {
    z-index: 50;
    width: 280px;
    max-width: min(280px, 90vw);
    border: 1px solid var(--lumox-border-strong);
    border-radius: 12px;
    box-shadow: 0 16px 40px -18px rgba(22, 24, 47, .35);
    overflow-y: auto;
}

#order-standard_cart .intl-tel-input .country-list .country.highlight {
    background: #eef1fb;
}

#order-standard_cart .intl-tel-input input.form-control,
#order-standard_cart .intl-tel-input input.field,
#order-standard_cart .intl-tel-input input[type="tel"] {
    width: 100% !important;
    height: auto !important;
    padding-top: .7rem !important;
    padding-bottom: .7rem !important;
    padding-right: 1rem !important;
}

#order-standard_cart .intl-tel-input.allow-dropdown input.form-control,
#order-standard_cart .intl-tel-input.allow-dropdown input.field,
#order-standard_cart .intl-tel-input.allow-dropdown input[type="tel"],
#order-standard_cart .intl-tel-input.separate-dial-code input.form-control,
#order-standard_cart .intl-tel-input.separate-dial-code input.field,
#order-standard_cart .intl-tel-input.separate-dial-code input[type="tel"] {
    padding-left: 52px !important;
}

#order-standard_cart .intl-tel-input.separate-dial-code.iti-sdc-2 input.form-control,
#order-standard_cart .intl-tel-input.separate-dial-code.iti-sdc-2 input.field,
#order-standard_cart .intl-tel-input.separate-dial-code.iti-sdc-2 input[type="tel"] {
    padding-left: 66px !important;
}

#order-standard_cart .intl-tel-input.separate-dial-code.allow-dropdown.iti-sdc-2 input.form-control,
#order-standard_cart .intl-tel-input.separate-dial-code.allow-dropdown.iti-sdc-2 input.field,
#order-standard_cart .intl-tel-input.separate-dial-code.allow-dropdown.iti-sdc-2 input[type="tel"] {
    padding-left: 76px !important;
}

#order-standard_cart .intl-tel-input.separate-dial-code.iti-sdc-3 input.form-control,
#order-standard_cart .intl-tel-input.separate-dial-code.iti-sdc-3 input.field,
#order-standard_cart .intl-tel-input.separate-dial-code.iti-sdc-3 input[type="tel"] {
    padding-left: 74px !important;
}

#order-standard_cart .intl-tel-input.separate-dial-code.allow-dropdown.iti-sdc-3 input.form-control,
#order-standard_cart .intl-tel-input.separate-dial-code.allow-dropdown.iti-sdc-3 input.field,
#order-standard_cart .intl-tel-input.separate-dial-code.allow-dropdown.iti-sdc-3 input[type="tel"] {
    padding-left: 84px !important;
}

#order-standard_cart .intl-tel-input.separate-dial-code.iti-sdc-4 input.form-control,
#order-standard_cart .intl-tel-input.separate-dial-code.iti-sdc-4 input.field,
#order-standard_cart .intl-tel-input.separate-dial-code.iti-sdc-4 input[type="tel"] {
    padding-left: 82px !important;
}

#order-standard_cart .intl-tel-input.separate-dial-code.allow-dropdown.iti-sdc-4 input.form-control,
#order-standard_cart .intl-tel-input.separate-dial-code.allow-dropdown.iti-sdc-4 input.field,
#order-standard_cart .intl-tel-input.separate-dial-code.allow-dropdown.iti-sdc-4 input[type="tel"] {
    padding-left: 92px !important;
}

#order-standard_cart .intl-tel-input.separate-dial-code.iti-sdc-5 input.form-control,
#order-standard_cart .intl-tel-input.separate-dial-code.iti-sdc-5 input.field,
#order-standard_cart .intl-tel-input.separate-dial-code.iti-sdc-5 input[type="tel"] {
    padding-left: 90px !important;
}

#order-standard_cart .intl-tel-input.separate-dial-code.allow-dropdown.iti-sdc-5 input.form-control,
#order-standard_cart .intl-tel-input.separate-dial-code.allow-dropdown.iti-sdc-5 input.field,
#order-standard_cart .intl-tel-input.separate-dial-code.allow-dropdown.iti-sdc-5 input[type="tel"] {
    padding-left: 100px !important;
}

#order-standard_cart .secondary-cart-body {
    overflow: visible;
}

#order-standard_cart .btn {
    border-radius: 12px;
    font-weight: 700;
}

#order-standard_cart .btn-primary,
#order-standard_cart .btn-success {
    background: var(--lumox-primary);
    border-color: var(--lumox-primary);
    color: #fff;
}

#order-standard_cart .btn-primary:hover,
#order-standard_cart .btn-success:hover {
    background: var(--lumox-primary-hover);
    border-color: var(--lumox-primary-hover);
}

#order-standard_cart .order-summary {
    margin: 0 0 1.25rem !important;
    padding: 0 !important;
    background: #ffffff !important;
    border: 1px solid #e4e7f4 !important;
    border-bottom: 0 !important;
    border-radius: 22px !important;
    box-shadow: 0 16px 40px -22px rgba(22, 24, 47, .22) !important;
    color: #16182f !important;
    overflow: hidden;
}

#order-standard_cart .order-summary h2 {
    margin: 0 !important;
    padding: 1rem 1.15rem !important;
    background: linear-gradient(145deg, #7c3aed, #4f46e5) !important;
    color: #fff !important;
    text-align: center;
    font-size: 1.15rem !important;
    font-weight: 800 !important;
    border-radius: 0 !important;
}

#order-standard_cart .summary-container {
    margin: 0 !important;
    padding: 1.15rem 1.2rem 1.25rem !important;
    min-height: 100px;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: #16182f !important;
    font-size: .92rem !important;
}

#order-standard_cart .order-summary .product-name {
    display: block;
    font-weight: 800 !important;
    font-size: 1.05rem !important;
    color: #16182f !important;
}

#order-standard_cart .order-summary .product-group {
    margin: 0 0 .5rem 0;
    display: block;
    font-style: normal !important;
    color: #6b7196 !important;
    font-size: .85rem;
}

#order-standard_cart .order-summary .summary-totals,
#order-standard_cart .order-summary .subtotal,
#order-standard_cart .order-summary .bordered-totals {
    color: #16182f !important;
    border-color: #e4e7f4 !important;
}

#order-standard_cart .order-summary .total-due-today span,
#order-standard_cart .order-summary .total-due-today .amt,
#order-standard_cart .order-summary .total-due-today-padded {
    color: #16182f !important;
}

#order-standard_cart .order-summary .total-due-today .amt {
    font-size: 1.85rem !important;
    font-weight: 800;
    color: #4f46e5 !important;
}

#order-standard_cart .order-summary .recurring-charges {
    color: #6b7196 !important;
}

#order-standard_cart .order-summary .loader {
    color: #4f46e5 !important;
}

#order-standard_cart .order-summary .btn-continue-shopping {
    color: #4f46e5 !important;
}

#order-standard_cart .btn-checkout,
#order-standard_cart .btn-checkout.btn-primary {
    background: linear-gradient(145deg, #7c3aed, #4f46e5) !important;
    border: 0 !important;
    color: #fff !important;
    border-radius: 14px !important;
    font-weight: 800;
    box-shadow: 0 12px 24px -12px rgba(79, 70, 229, .85);
}

#order-standard_cart .view-cart-items-header {
    background: var(--lumox-surface-2);
    border-radius: 18px 18px 0 0;
    color: var(--lumox-heading);
    font-weight: 800;
}

#order-standard_cart .view-cart-items {
    border: 1px solid var(--lumox-border);
    border-top: 0;
    border-radius: 0 0 18px 18px;
    overflow: hidden;
}

#order-standard_cart .panel-addon {
    border-radius: 18px;
    border-color: var(--lumox-border);
    box-shadow: var(--lumox-shadow);
}

#order-standard_cart .domain-selection-options .option {
    background: var(--lumox-surface);
    border: 1px solid var(--lumox-border);
    border-radius: 16px;
}

#order-standard_cart .domain-selection-options .option-selected {
    border-color: var(--lumox-primary);
    background: var(--lumox-primary-softer);
}

#order-standard_cart .modal-content {
    border: 0;
    border-radius: 20px;
    box-shadow: var(--lumox-shadow-lg);
}

/* RTL */
html[dir="rtl"] #order-standard_cart {
    text-align: right;
}

html[dir="rtl"] #order-standard_cart .pull-left { float: right !important; }
html[dir="rtl"] #order-standard_cart .pull-right { float: left !important; }
html[dir="rtl"] #order-standard_cart .text-left { text-align: right !important; }
html[dir="rtl"] #order-standard_cart .text-right { text-align: left !important; }

/* ============================================================
   Store v2 — horizontal nav + pricing spec grid
   ============================================================ */
.lumox-store-v2 .cart-sidebar,
.lumox-store-v2 .lumox-store-aside,
.lumox-store-v2 .sidebar-collapsed {
    display: none !important;
}

.lumox-store-v2 .lumox-store-page {
    max-width: 1280px;
    margin: 0 auto;
}

.lumox-store-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem 1rem;
    margin-bottom: 1.75rem;
    padding: .85rem 1rem;
    background: var(--lumox-surface);
    border: 1px solid var(--lumox-border);
    border-radius: 18px;
    box-shadow: var(--lumox-shadow);
}

.lumox-cat-tabs {
    display: flex;
    flex-wrap: nowrap;
    gap: .45rem;
    overflow-x: auto;
    flex: 1 1 auto;
    min-width: 0;
    scrollbar-width: thin;
}

.lumox-cat-tab {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    flex: 0 0 auto;
    padding: .65rem 1.1rem;
    border-radius: 999px;
    background: var(--lumox-surface-2);
    border: 1px solid transparent;
    color: var(--lumox-text);
    font-size: .875rem;
    font-weight: 700;
    text-decoration: none !important;
    white-space: nowrap;
    transition: background var(--lumox-transition), color var(--lumox-transition);
}

.lumox-cat-tab:hover {
    background: var(--lumox-primary-softer);
    color: var(--lumox-heading);
}

.lumox-cat-tab.is-active,
.lumox-cat-tab.active {
    background: var(--lumox-primary);
    color: #fff;
    box-shadow: 0 8px 20px -10px var(--lumox-primary);
}

.lumox-store-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}

.lumox-action-chip {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .45rem .75rem;
    border-radius: 10px;
    border: 1px solid var(--lumox-border);
    color: var(--lumox-text-muted);
    font-size: .78rem;
    font-weight: 600;
    text-decoration: none !important;
    white-space: nowrap;
}

.lumox-action-chip:hover {
    background: var(--lumox-surface-2);
    color: var(--lumox-primary);
    border-color: var(--lumox-primary-soft);
}

.lumox-action-chip.is-active {
    color: var(--lumox-primary);
    background: var(--lumox-primary-softer);
    border-color: var(--lumox-primary-soft);
}

.lumox-store-currency-inline {
    margin-left: auto;
}

html[dir="rtl"] .lumox-store-currency-inline {
    margin-left: 0;
    margin-right: auto;
}

.lumox-store-currency-inline select {
    height: 36px;
    border-radius: 10px;
    border: 1px solid var(--lumox-border);
    background: var(--lumox-surface-2);
    font-size: .8rem;
    font-weight: 700;
}

.lumox-store-head {
    display: block;
    margin: 0 0 1.75rem;
    padding: 0;
}

.lumox-store-eyebrow {
    display: block;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--lumox-primary);
    margin: 0 0 .55rem;
}

.lumox-store-head h1 {
    margin: 0;
    color: var(--lumox-heading);
    font-weight: 800;
    font-size: clamp(1.75rem, 2.5vw, 2.25rem);
    letter-spacing: -.025em;
    line-height: 1.2;
}

.lumox-store-head p {
    margin: .45rem 0 0;
    color: var(--lumox-text-muted);
    font-size: 1rem;
}

.lumox-store-cart-link {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .65rem 1rem;
    border-radius: 12px;
    background: var(--lumox-surface);
    border: 1px solid var(--lumox-border);
    color: var(--lumox-heading);
    font-weight: 700;
    font-size: .875rem;
    text-decoration: none !important;
    box-shadow: var(--lumox-shadow);
}

.lumox-store-cart-link:hover {
    background: var(--lumox-primary-softer);
    color: var(--lumox-primary);
}

.lumox-pricing-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.15rem;
    margin: 0 !important;
}

@media (max-width: 1199px) {
    .lumox-pricing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
    .lumox-pricing-grid { grid-template-columns: 1fr; }
    .lumox-store-toolbar { flex-direction: column; align-items: stretch; }
    .lumox-store-currency-inline { margin: 0; }
}

.lumox-price-card {
    display: flex !important;
    flex-direction: column;
    background: var(--lumox-surface) !important;
    border: 1px solid var(--lumox-border) !important;
    border-radius: 20px !important;
    box-shadow: var(--lumox-shadow) !important;
    overflow: hidden;
    padding: 0 !important;
    transition: transform var(--lumox-transition), box-shadow var(--lumox-transition);
}

.lumox-price-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--lumox-shadow-lg) !important;
}

.lumox-accent-0 { border-top: 3px solid #4f46e5 !important; }
.lumox-accent-1 { border-top: 3px solid #22c55e !important; }
.lumox-accent-2 { border-top: 3px solid #8b5cf6 !important; }
.lumox-accent-3 { border-top: 3px solid #f59e0b !important; }

.lumox-price-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem 1.25rem 1rem;
    border-bottom: 1px solid var(--lumox-border);
}

.lumox-price-name {
    margin: 0;
    color: var(--lumox-heading);
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.25;
}

.lumox-price-stock {
    display: block;
    margin-top: .25rem;
    font-size: .72rem;
    color: var(--lumox-text-muted);
}

.lumox-price-amount { text-align: end; flex-shrink: 0; }
html[dir="rtl"] .lumox-price-amount { text-align: start; }

.lumox-price-amount .price {
    display: block;
    color: var(--lumox-heading) !important;
    font-weight: 800 !important;
    font-size: 1.65rem !important;
    letter-spacing: -.03em;
}

.lumox-price-term {
    display: block;
    margin-top: .15rem;
    color: var(--lumox-text-muted);
    font-size: .75rem;
    font-weight: 600;
}

.lumox-price-setup {
    display: block;
    margin-top: .2rem;
    color: var(--lumox-text-muted);
    font-size: .7rem;
}

.lumox-price-body {
    flex: 1;
    padding: 1rem 1.25rem !important;
}

/* Tiered spec layout */
.lumox-spec-layout {
    display: flex;
    flex-direction: column;
    gap: .75rem;
}

.lumox-spec-grid {
    display: block;
}

.lumox-spec-grid--pending:not(.lumox-spec-grid--ready) {
    min-height: 80px;
    opacity: 0;
}

.lumox-spec-grid--ready {
    opacity: 1;
    transition: opacity .15s ease;
}

.lumox-spec-source[hidden] {
    display: none !important;
}

.lumox-spec-item {
    display: flex;
    min-width: 0;
}

/* Hero — Storage / RAM / CPU (large) */
.lumox-spec-hero {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .55rem;
}

.lumox-spec-item--hero {
    flex-direction: column;
    padding: .85rem .65rem;
    border-radius: 14px;
    background: linear-gradient(160deg, var(--lumox-primary-softer), var(--lumox-surface));
    border: 1px solid var(--lumox-primary-soft);
    text-align: center;
    align-items: center;
}

.lumox-spec-item--hero .lumox-spec-value {
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--lumox-heading);
    line-height: 1.1;
}

.lumox-spec-item--hero .lumox-spec-label {
    font-size: .65rem;
    margin-top: .2rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--lumox-text-muted);
}

/* Standard — domain/db counts (compact row) */
.lumox-spec-standard {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}

.lumox-spec-item--standard {
    flex: 1 1 calc(50% - .25rem);
    min-width: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    padding: .5rem .65rem;
    border-radius: 10px;
    background: var(--lumox-surface-2);
    border: 1px solid var(--lumox-border);
}

.lumox-spec-item--standard .lumox-spec-value {
    font-size: .95rem;
    font-weight: 800;
    color: var(--lumox-heading);
    order: 2;
}

.lumox-spec-item--standard .lumox-spec-label {
    font-size: .72rem;
    font-weight: 600;
    color: var(--lumox-text-muted);
    text-transform: none;
    letter-spacing: 0;
    order: 1;
    flex: 1;
    min-width: 0;
}

html[dir="rtl"] .lumox-spec-item--standard .lumox-spec-value {
    order: 1;
}

html[dir="rtl"] .lumox-spec-item--standard .lumox-spec-label {
    order: 2;
    text-align: right;
}

/* More details toggle */
.lumox-spec-more-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    width: 100%;
    padding: .55rem .75rem;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: var(--lumox-primary);
    font-size: .8rem;
    font-weight: 700;
    cursor: pointer;
    transition: background .15s ease;
}

.lumox-spec-more-toggle:hover {
    background: var(--lumox-primary-softer);
}

.lumox-spec-more-toggle i {
    font-size: .7rem;
    transition: transform .2s ease;
}

.lumox-spec-more.is-open .lumox-spec-more-toggle i {
    transform: rotate(180deg);
}

.lumox-spec-more-panel {
    padding-top: .5rem;
}

.lumox-spec-more-panel[hidden] {
    display: none !important;
}

.lumox-spec-extra {
    display: flex;
    flex-direction: column;
    gap: .35rem;
}

.lumox-spec-item--extra {
    display: flex;
    align-items: center;
    gap: .55rem;
    padding: .5rem .65rem;
    border-radius: 10px;
    background: var(--lumox-surface-2);
    border: 1px solid var(--lumox-border);
}

.lumox-spec-item--extra.lumox-spec-item--text {
    background: transparent;
    border-style: dashed;
}

.lumox-spec-item--extra .lumox-spec-value {
    font-size: .85rem;
    font-weight: 700;
    color: var(--lumox-heading);
    flex-shrink: 0;
}

.lumox-spec-item--extra .lumox-spec-label {
    font-size: .78rem;
    font-weight: 600;
    color: var(--lumox-text);
    text-transform: none;
    letter-spacing: 0;
}

.lumox-spec-item--extra.lumox-spec-item--icon-wordpress::before,
.lumox-spec-item--extra.lumox-spec-item--icon-shield::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    width: 26px;
    height: 26px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--lumox-primary-soft);
    color: var(--lumox-primary);
    flex-shrink: 0;
    font-size: .7rem;
}

.lumox-spec-item--icon-wordpress::before { content: "\f19a"; }
.lumox-spec-item--icon-shield::before { content: "\f3ed"; }

@media (max-width: 575px) {
    .lumox-spec-hero {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: .4rem;
    }

    .lumox-spec-item--hero .lumox-spec-value {
        font-size: 1.1rem;
    }

    .lumox-spec-item--standard {
        flex: 1 1 100%;
    }
}

.lumox-price-blurb ul,
.lumox-price-blurb br {
    display: none !important;
}

/* Marketing / SSL feature bullets (non-hosting products) */
.lumox-spec-grid--features {
    min-height: 0;
}

.lumox-feature-list {
    display: flex;
    flex-direction: column;
    gap: .45rem;
}

.lumox-feature-item {
    display: flex;
    align-items: flex-start;
    gap: .55rem;
    padding: .55rem .65rem;
    border-radius: 10px;
    background: var(--lumox-surface-2);
    border: 1px solid var(--lumox-border);
}

.lumox-feature-icon {
    flex-shrink: 0;
    width: 18px;
    margin-top: .15rem;
    color: var(--lumox-primary);
    font-size: .72rem;
}

.lumox-feature-text {
    flex: 1;
    min-width: 0;
    color: var(--lumox-text);
    font-size: .82rem;
    font-weight: 600;
    line-height: 1.45;
}

.lumox-price-foot {
    padding: 0 1.25rem 1.25rem !important;
    margin-top: auto !important;
    background: transparent !important;
    border: 0 !important;
}

.lumox-price-btn,
#order-standard_cart.lumox-store-v2 .lumox-price-btn.btn-order-now {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    width: 100% !important;
    padding: .85rem 1rem !important;
    border: 0 !important;
    border-radius: 12px !important;
    font-size: .9rem !important;
    font-weight: 800 !important;
    color: #fff !important;
    text-decoration: none !important;
}

.lumox-accent-0 .lumox-price-btn { background: #4f46e5 !important; }
.lumox-accent-1 .lumox-price-btn { background: #16a34a !important; }
.lumox-accent-2 .lumox-price-btn { background: #7c3aed !important; }
.lumox-accent-3 .lumox-price-btn { background: #d97706 !important; }

.lumox-price-btn:hover { filter: brightness(1.08); color: #fff !important; }
