/* ==========================================================================
   Novonode Checkout (forked from physgun_cart_v2, recolored to Novonode tokens)
   Loads AFTER orderform all.min.css (via common.tpl {assetExists}).
   Uses #order-standard_cart.checkout-page prefix for max specificity.
   ========================================================================== */

/* ── Hide native radio/checkbox visuals (keep in DOM for iCheck) ────── */
#order-standard_cart.checkout-page input[type="radio"] {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
/* iCheck plugin replacement divs — zero-size but still in DOM */
#order-standard_cart.checkout-page .iradio_square-blue,
#order-standard_cart.checkout-page .icheckbox_square-blue {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* ── Base reset ──────────────────────────────────────────── */
#order-standard_cart.checkout-page {
    padding: 0 !important;
    font-family: 'Inter', system-ui, -apple-simple, sans-serif !important;
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
    color: #f5f5f5 !important;
    -webkit-font-smoothing: antialiased !important;
    background: transparent !important;
}
/* Hide breadcrumb and fix body padding on checkout */
body:has(.checkout-page) {
    padding-top: 0 !important;
}
body:has(.checkout-page) .ph-breadcrumb,
body:has(.checkout-page) .master-breadcrumb,
body:has(.checkout-page) nav[aria-label="breadcrumb"] {
    display: none !important;
}

/* ── ALL labels (override #order-standard_cart label AND Bootstrap label) ── */
#order-standard_cart.checkout-page label {
    margin-right: 0 !important;
    font-weight: 500 !important;
    font-size: 0.75rem !important;
    color: #a3a3a3 !important;
    display: block !important;
    margin-bottom: 0 !important;
    max-width: none !important;
}
#order-standard_cart.checkout-page .form-label {
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    color: #a3a3a3 !important;
}

/* Labels inside checkbox rows should be inline */
#order-standard_cart.checkout-page .checkbox-row label {
    display: inline !important;
    font-size: 0.8125rem !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    cursor: pointer !important;
}
#order-standard_cart.checkout-page .checkbox-row label a {
    color: #ff9f9f !important;
    text-decoration: none !important;
}
#order-standard_cart.checkout-page .checkbox-row label a:hover {
    text-decoration: underline !important;
}

/* Labels inside selectable-card should inherit card styles */
#order-standard_cart.checkout-page label.selectable-card {
    display: flex !important;
    font-size: 0.875rem !important;
    font-weight: 400 !important;
    color: #a3a3a3 !important;
    margin-bottom: 0 !important;
}
#order-standard_cart.checkout-page label.selectable-card.selected {
    color: #fff !important;
}

/* ── Headings ────────────────────────────────────────────── */
#order-standard_cart.checkout-page h1 {
    font-size: 1.125rem !important;
    font-weight: 700 !important;
    color: #fff !important;
    margin: 4px 0 0 !important;
    line-height: 1.3 !important;
}

/* ── Paragraphs ──────────────────────────────────────────── */
#order-standard_cart.checkout-page p {
    margin-bottom: 0 !important;
    color: inherit !important;
}

/* ── Links ───────────────────────────────────────────────── */
#order-standard_cart.checkout-page a {
    color: #ff9f9f !important;
    text-decoration: none !important;
}
#order-standard_cart.checkout-page a:hover {
    color: #ff9f9f !important;
}
/* Completed step tabs should use muted color */
#order-standard_cart.checkout-page a.step-tab.completed {
    color: #a3a3a3 !important;
}
#order-standard_cart.checkout-page a.step-tab.completed:hover {
    color: #d4d4d4 !important;
}

/* ── Progress bar ────────────────────────────────────────── */
#order-standard_cart.checkout-page .progress-track {
    height: 2px !important;
    background: #262626 !important;
    width: 100% !important;
    overflow: visible !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
}
#order-standard_cart.checkout-page .progress-fill {
    height: 100% !important;
    width: 100% !important;
    background: linear-gradient(to right, #ff9f9f, #e24848) !important;
    transition: width 0.5s !important;
    border-radius: 0 !important;
}

/* ── Layout ──────────────────────────────────────────────── */
#order-standard_cart.checkout-page .checkout-wrap {
    max-width: 48rem !important;
    margin: 0 auto !important;
    padding: 32px 24px 48px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
}

/* ── Header ──────────────────────────────────────────────── */
#order-standard_cart.checkout-page .checkout-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}
#order-standard_cart.checkout-page .step-label {
    font-size: 0.75rem !important;
    color: #7a7a7a !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    margin: 0 !important;
}

/* ── Step tabs ───────────────────────────────────────────── */
#order-standard_cart.checkout-page .step-tabs {
    display: flex !important;
    gap: 4px !important;
}
#order-standard_cart.checkout-page .step-tab {
    flex: 1 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 12px !important;
    border-radius: 18px 3px!important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    border: 1px solid transparent !important;
    text-decoration: none !important;
    transition: all 0.2s !important;
    background: transparent !important;
}
#order-standard_cart.checkout-page .step-tab.active {
    background: rgba(254,110,110,0.15) !important;
    border-color: rgba(254,110,110,0.30) !important;
    color: #ff9f9f !important;
}

/* Step dots */
#order-standard_cart.checkout-page .step-dot {
    width: 20px !important;
    height: 20px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    flex-shrink: 0 !important;
}
#order-standard_cart.checkout-page .step-dot.done {
    background: #22c55e !important;
    color: #fff !important;
}
#order-standard_cart.checkout-page .step-dot.current {
    background: #fe6e6e !important;
    color: #1a0707 !important;
}

/* ── Card / Panel ────────────────────────────────────────── */
#order-standard_cart.checkout-page .card {
    background: rgba(38,38,38,0.60) !important;
    border: 1px solid rgba(58,58,58,0.50) !important;
    border-radius: 18px 3px!important;
    overflow: visible !important;
    box-shadow: none !important;
    margin-bottom: 0 !important;
}
#order-standard_cart.checkout-page .card-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 12px 16px !important;
    border-bottom: 1px solid rgba(58,58,58,0.40) !important;
}
#order-standard_cart.checkout-page .card-row:last-child {
    border-bottom: none !important;
}
#order-standard_cart.checkout-page .card-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 14px 16px !important;
    background: rgba(38,38,38,0.30) !important;
}

/* ── Section label ───────────────────────────────────────── */
#order-standard_cart.checkout-page .section-label {
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    color: #a3a3a3 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    margin-bottom: 12px !important;
    margin-top: 0 !important;
}

/* ── Form grid ───────────────────────────────────────────── */
#order-standard_cart.checkout-page .form-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
}
#order-standard_cart.checkout-page .form-grid .full {
    grid-column: 1 / -1 !important;
}
@media (max-width: 640px) {
    #order-standard_cart.checkout-page .form-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ── Form group ──────────────────────────────────────────── */
#order-standard_cart.checkout-page .form-group {
    display: flex;
    flex-direction: column !important;
    gap: 6px !important;
    margin-bottom: 0 !important;
    margin-top: 0 !important;
}

/* ── Input fields ────────────────────────────────────────── */
#order-standard_cart.checkout-page .input,
#order-standard_cart.checkout-page input.input,
#order-standard_cart.checkout-page textarea.input {
    width: 100% !important;
    background: rgba(38,38,38,0.60) !important;
    border: 1px solid rgba(58,58,58,0.50) !important;
    border-radius: 18px 3px!important;
    padding: 10px 16px !important;
    font-size: 0.875rem !important;
    color: #f5f5f5 !important;
    outline: none !important;
    transition: border-color 0.2s !important;
    font-family: inherit !important;
    box-shadow: none !important;
    display: block;
    height: auto !important;
    line-height: 1.5 !important;
    -webkit-appearance: none !important;
    background-image: none !important;
}
#order-standard_cart.checkout-page .input::placeholder {
    color: #7a7a7a !important;
}
#order-standard_cart.checkout-page .input:focus {
    border-color: rgba(254,110,110,0.60) !important;
    box-shadow: none !important;
    outline: none !important;
}
#order-standard_cart.checkout-page .input:disabled {
    opacity: 0.5 !important;
}

/* ── Select fields ───────────────────────────────────────── */
#order-standard_cart.checkout-page .select,
#order-standard_cart.checkout-page select.select {
    width: 100% !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    background: rgba(38,38,38,0.60) !important;
    border: 1px solid rgba(58,58,58,0.50) !important;
    border-radius: 18px 3px!important;
    padding: 10px 40px 10px 16px !important;
    font-size: 0.875rem !important;
    color: #f5f5f5 !important;
    outline: none !important;
    cursor: pointer !important;
    transition: border-color 0.2s !important;
    font-family: inherit !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23a1a1aa'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 16px !important;
    box-shadow: none !important;
    display: block;
    height: auto !important;
    line-height: 1.5 !important;
}
#order-standard_cart.checkout-page .select:focus {
    border-color: rgba(254,110,110,0.60) !important;
    box-shadow: none !important;
}
#order-standard_cart.checkout-page .select option {
    background: #0a0a0a !important;
    color: #f5f5f5 !important;
}

/* ── Selectable card (payment gateways, account picker) ──── */
#order-standard_cart.checkout-page .selectable-card {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    padding: 12px 14px !important;
    background: rgba(38,38,38,0.40) !important;
    border: 1px solid rgba(58,58,58,0.40) !important;
    border-radius: 18px 3px!important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    color: #a3a3a3 !important;
    text-align: left !important;
    font-family: inherit !important;
    font-size: 0.875rem !important;
}
#order-standard_cart.checkout-page .selectable-card:hover {
    border-color: #525252 !important;
    color: #d4d4d4 !important;
}
#order-standard_cart.checkout-page .selectable-card.selected {
    background: rgba(254,110,110,0.15) !important;
    border-color: rgba(254,110,110,0.50) !important;
    color: #fff !important;
}

/* Radio dot */
#order-standard_cart.checkout-page .radio-dot {
    width: 16px !important;
    height: 16px !important;
    border-radius: 50% !important;
    border: 2px solid #525252 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    transition: all 0.2s !important;
    background: transparent !important;
}
#order-standard_cart.checkout-page .selected .radio-dot {
    border-color: #ff9f9f !important;
    background: rgba(254,110,110,0.30) !important;
}
#order-standard_cart.checkout-page .selected .radio-dot::after {
    content: '' !important;
    width: 6px !important;
    height: 6px !important;
    border-radius: 50% !important;
    background: #ff9f9f !important;
}

/* ── Success / CTA Button (green gradient) ───────────────── */
#order-standard_cart.checkout-page .btn-success,
#order-standard_cart.checkout-page button.btn-success {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 14px 24px !important;
    background: linear-gradient(to right, #22c55e, #059669) !important;
    background-color: transparent !important;
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 0.875rem !important;
    border: none !important;
    border-radius: 18px 3px!important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    box-shadow: 0 10px 15px -3px rgba(5,46,22,0.30) !important;
    text-decoration: none !important;
    line-height: 1.5 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}
#order-standard_cart.checkout-page .btn-success:hover {
    background: linear-gradient(to right, #4ade80, #22c55e) !important;
}
#order-standard_cart.checkout-page .btn-success:disabled {
    opacity: 0.6 !important;
    cursor: not-allowed !important;
}
#order-standard_cart.checkout-page .btn-success:focus {
    outline: none !important;
    box-shadow: 0 10px 15px -3px rgba(5,46,22,0.30) !important;
}
#order-standard_cart.checkout-page .btn-success .btn-order-default,
#order-standard_cart.checkout-page .btn-success .btn-order-loading {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* ── Link button ─────────────────────────────────────────── */
#order-standard_cart.checkout-page .btn-link,
#order-standard_cart.checkout-page button.btn-link {
    background: none !important;
    border: none !important;
    color: #ff9f9f !important;
    font-size: 0.8125rem !important;
    cursor: pointer !important;
    text-decoration: none !important;
    padding: 0 !important;
    font-family: inherit !important;
    font-weight: 400 !important;
    line-height: inherit !important;
}
#order-standard_cart.checkout-page .btn-link:hover {
    color: #ff9f9f !important;
    text-decoration: underline !important;
}

/* ── Alerts ──────────────────────────────────────────────── */
#order-standard_cart.checkout-page .alert-error {
    align-items: flex-start !important;
    gap: 8px !important;
    padding: 12px !important;
    border-radius: 18px 3px!important;
    background: rgba(244,63,94,0.10) !important;
    border: 1px solid rgba(244,63,94,0.20) !important;
    color: #fda4af !important;
    font-size: 0.75rem !important;
}
.checkout-error-feedback li {
    display: list-item !important;
    list-style: disc !important;
    margin-bottom: 2px !important;
}
#order-standard_cart.checkout-page .alert-success {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px !important;
    border-radius: 18px 3px!important;
    background: rgba(34,197,94,0.10) !important;
    border: 1px solid rgba(34,197,94,0.30) !important;
    color: #86efac !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
}

/* ── ToS card (gates the entire payment step) ──────────── */
#order-standard_cart.checkout-page .tos-card {
    border: 1px solid rgba(234, 179, 8, 0.45);
    background: rgba(234, 179, 8, 0.08);
    border-radius: 18px 3px;
    transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
}
#order-standard_cart.checkout-page .tos-card-inner {
    display: flex !important;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
    cursor: pointer;
    margin: 0 !important;
}
#order-standard_cart.checkout-page .tos-card input[type="checkbox"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    flex-shrink: 0 !important;
    border: 2px solid #a16207 !important;
    border-radius: 2px!important;
    background: rgba(38,38,38,0.60) !important;
    cursor: pointer !important;
    margin: 1px 0 0 0 !important;
    padding: 0 !important;
    position: static !important;
    clip: auto !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transition: all 0.2s !important;
    box-shadow: none !important;
}
#order-standard_cart.checkout-page .tos-card input[type="checkbox"]:checked {
    background: #fe6e6e !important;
    border-color: #fe6e6e !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5 13l4 4L19 7'/%3E%3C/svg%3E") !important;
    background-size: 13px !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}
#order-standard_cart.checkout-page .tos-card-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
#order-standard_cart.checkout-page .tos-card-title {
    font-size: 0.875rem;
    font-weight: 600;
    color: #fde047;
    line-height: 1.4;
}
#order-standard_cart.checkout-page .tos-card-body {
    font-size: 0.8125rem;
    font-weight: 400;
    color: #d4d4d4;
    line-height: 1.5;
}
#order-standard_cart.checkout-page .tos-card-body a {
    color: #ff9f9f !important;
    text-decoration: none !important;
}
#order-standard_cart.checkout-page .tos-card-body a:hover {
    text-decoration: underline !important;
}
/* Once checked, the card calms down */
#order-standard_cart.checkout-page .tos-card:has(input:checked) {
    border-color: rgba(34, 197, 94, 0.30);
    background: rgba(34, 197, 94, 0.06);
}
#order-standard_cart.checkout-page .tos-card:has(input:checked) .tos-card-title {
    color: #86efac;
}
/* Highlight pulse fired by JS when user clicks a locked control */
#order-standard_cart.checkout-page .tos-card.tos-card-error {
    border-color: rgba(244,63,94,0.70);
    background: rgba(244,63,94,0.10);
    box-shadow: 0 0 0 4px rgba(244,63,94,0.15);
    animation: tosCardShake 0.4s ease-in-out;
}
#order-standard_cart.checkout-page .tos-card.tos-card-error .tos-card-title {
    color: #fda4af;
}
@keyframes tosCardShake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-4px); }
    75% { transform: translateX(4px); }
}

/* ── ToS gate: lock Complete Order + PayPal Smart Button ─ */
#order-standard_cart.checkout-page #frmCheckout.tos-unchecked #btnCompleteOrder {
    opacity: 0.55;
    cursor: not-allowed;
    pointer-events: auto; /* allow clicks so JS can bounce to ToS card */
    filter: grayscale(0.4);
}
#order-standard_cart.checkout-page #paypal_ppcpv_input_container {
    position: relative;
}
/* Real overlay div injected by the ToS gate JS — must outrank PayPal's
   Smart Button iframe (z-index: 100 from PayPal's inline style). */
#order-standard_cart.checkout-page .tos-paypal-overlay {
    display: none;
    position: absolute;
    inset: 0;
    z-index: 1000;
    cursor: not-allowed;
    background: rgba(20, 20, 23, 0.55);
    border-radius: 10px 2px;
    backdrop-filter: blur(1px);
    -webkit-backdrop-filter: blur(1px);
}
#order-standard_cart.checkout-page #frmCheckout.tos-unchecked .tos-paypal-overlay {
    display: block;
}

/* ── Checkbox rows ───────────────────────────────────────── */
#order-standard_cart.checkout-page .checkbox-row {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
}
#order-standard_cart.checkout-page .checkbox-row input[type="checkbox"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    flex-shrink: 0 !important;
    border: 2px solid #525252 !important;
    border-radius: 2px!important;
    background: rgba(38,38,38,0.60) !important;
    cursor: pointer !important;
    margin: 1px 0 0 0 !important;
    padding: 0 !important;
    transition: all 0.2s !important;
    box-shadow: none !important;
}
#order-standard_cart.checkout-page .checkbox-row input[type="checkbox"]:checked {
    background: #fe6e6e !important;
    border-color: #fe6e6e !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5 13l4 4L19 7'/%3E%3C/svg%3E") !important;
    background-size: 12px !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

/* ── Coupon row ──────────────────────────────────────────── */
#order-standard_cart.checkout-page .coupon-row {
    display: flex !important;
    gap: 8px !important;
}
#order-standard_cart.checkout-page .coupon-row .input {
    flex: 1 !important;
}
#order-standard_cart.checkout-page .btn-apply {
    padding: 10px 16px !important;
    background: #3a3a3a !important;
    color: #fff !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    border: none !important;
    border-radius: 18px 3px!important;
    cursor: pointer !important;
    transition: background 0.2s !important;
    flex-shrink: 0 !important;
    font-family: inherit !important;
    line-height: 1.5 !important;
}
#order-standard_cart.checkout-page .btn-apply:hover {
    background: #525252 !important;
}

/* ── Security badges ─────────────────────────────────────── */
#order-standard_cart.checkout-page .security-badges {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    padding: 8px 0 !important;
}
#order-standard_cart.checkout-page .security-badge {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: #7a7a7a !important;
    font-size: 0.75rem !important;
}

/* ── Divider ─────────────────────────────────────────────── */
#order-standard_cart.checkout-page .divider,
#order-standard_cart.checkout-page hr.divider {
    border: none !important;
    border-top: 1px solid #262626 !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
}

/* ── Gateway list: always visible regardless of credit state ── */
#order-standard_cart.checkout-page #paymentGatewaysContainer {
    display: flex !important;
}

/* ── CC input container (override all.min.css light theme) ── */
#order-standard_cart.checkout-page .cc-input-container {
    padding: 0 !important;
    background-color: transparent !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
}
#order-standard_cart.checkout-page .cc-input-container .form-group {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* ── Apply credit container (override all.min.css light bg) ── */
#order-standard_cart.checkout-page .apply-credit-container {
    background-color: rgba(38,38,38,0.60) !important;
    background: rgba(38,38,38,0.60) !important;
    border: 1px solid rgba(58,58,58,0.50) !important;
    border-radius: 18px 3px!important;
    color: #a3a3a3 !important;
    padding: 16px !important;
    margin: 12px 0 !important;
}
#order-standard_cart.checkout-page .apply-credit-container span {
    color: #f5f5f5 !important;
}
#order-standard_cart.checkout-page .apply-credit-container .radio {
    padding: 0 !important;
}

/* ── Existing CC grid ────────────────────────────────────── */
#order-standard_cart.checkout-page .existing-cc-grid {
    display: grid !important;
    grid-template-columns: auto auto 1fr auto auto !important;
    gap: 0 !important;
    font-weight: 400 !important;
    color: #d4d4d4 !important;
    font-size: 0.8125rem !important;
    align-items: center !important;
    background: rgba(38,38,38,0.40) !important;
    border: 1px solid rgba(58,58,58,0.50) !important;
    border-radius: 18px 3px!important;
    overflow: hidden !important;
    margin-bottom: 8px !important;
}
#order-standard_cart.checkout-page .existing-cc-grid .paymethod-info {
    padding: 12px 10px !important;
    margin: 0 !important;
    cursor: pointer !important;
    background: transparent !important;
}
/* Row separator: border on the first column of each row except the first */
#order-standard_cart.checkout-page .existing-cc-grid .paymethod-info.radio-inline ~ .paymethod-info.radio-inline,
#order-standard_cart.checkout-page .existing-cc-grid .paymethod-info.radio-inline ~ .paymethod-info.radio-inline ~ .paymethod-info {
    border-top: 1px solid rgba(58,58,58,0.30) !important;
}
/* Actually simpler: every 5th+1 element starts a new row, add top border */
#order-standard_cart.checkout-page .existing-cc-grid .paymethod-info:nth-child(n+6) {
    border-top: 1px solid rgba(58,58,58,0.30) !important;
}
#order-standard_cart.checkout-page .existing-cc-grid .paymethod-info.radio-inline {
    padding-left: 14px !important;
}
#order-standard_cart.checkout-page .existing-cc-grid .paymethod-info i {
    color: #7a7a7a !important;
    font-size: 1.125rem !important;
}
/* Hide the iCheck wrapper inside existing cards — use custom radio-dot instead */
#order-standard_cart.checkout-page .existing-cc-grid .iradio_square-blue {
    position: relative !important;
    width: 18px !important;
    height: 18px !important;
    overflow: visible !important;
    opacity: 1 !important;
    border: 2px solid rgba(113,113,122,0.50) !important;
    border-radius: 50% !important;
    background: transparent !important;
    pointer-events: auto !important;
}
#order-standard_cart.checkout-page .existing-cc-grid .iradio_square-blue.checked {
    border-color: #fe6e6e !important;
    background: #fe6e6e !important;
    box-shadow: inset 0 0 0 3px #0a0a0a !important;
}
/* Hide iCheck wrapper inside "enter new card" selectable-card (we use .radio-dot instead) */
#order-standard_cart.checkout-page #creditCardInputFields .selectable-card .iradio_square-blue {
    display: none !important;
}

/* ── Stripe cards wrapper (injected by stripe.js with Bootstrap grid) ── */
#order-standard_cart.checkout-page .stripe-cards-inputs {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
#order-standard_cart.checkout-page .stripe-cards-inputs > .row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    margin: 0 !important;
}
#order-standard_cart.checkout-page .stripe-cards-inputs > .row > [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    padding: 0 !important;
}
#order-standard_cart.checkout-page .stripe-cards-inputs > .row > .col-md-6 {
    grid-column: 1 / -1 !important;
}

/* ── Stripe card elements ────────────────────────────────── */
#order-standard_cart.checkout-page #stripeCreditCard,
#order-standard_cart.checkout-page #stripeExpiryDate,
#order-standard_cart.checkout-page #stripeCvc {
    width: 100% !important;
    display: block !important;
    background: rgba(38,38,38,0.60) !important;
    border: 1px solid rgba(58,58,58,0.50) !important;
    border-radius: 18px 3px!important;
    padding: 10px 16px !important;
    color: #f5f5f5 !important;
}
/* Every div/iframe inside Stripe mount points must fill width */
#order-standard_cart.checkout-page .cc-input-container .form-group > div {
    width: 100% !important;
    display: block !important;
}
#order-standard_cart.checkout-page .cc-input-container .form-group > div > div {
    width: 100% !important;
}
#order-standard_cart.checkout-page .cc-input-container .form-group iframe {
    width: 100% !important;
}
/* form-groups in CC area must not shrink */
#order-standard_cart.checkout-page #newCardInfo .form-group {
    min-width: 0 !important;
}

/* ── ECE container ───────────────────────────────────────── */
#order-standard_cart.checkout-page #stripeExpressCheckoutContainer {
    margin: 0 !important;
    background: transparent !important;
}
#order-standard_cart.checkout-page .stripe-ece-separator {
    color: rgba(255,255,255,0.35) !important;
    margin: 18px 0 4px !important;
    font-size: 11px !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
}
#order-standard_cart.checkout-page .stripe-ece-separator::before,
#order-standard_cart.checkout-page .stripe-ece-separator::after {
    border-bottom-color: rgba(255,255,255,0.12) !important;
}

/* ECE validation overlay */
#order-standard_cart.checkout-page .stripe-ece-validation-wrap {
    position: relative !important;
    min-height: 44px !important;
}
#order-standard_cart.checkout-page .stripe-ece-validation-overlay {
    position: absolute !important;
    inset: 0 !important;
    z-index: 10 !important;
    background: transparent !important;
    cursor: pointer !important;
}
#order-standard_cart.checkout-page .stripe-ece-validation-overlay .ece-toast {
    display: none;
    position: absolute !important;
    bottom: calc(100% + 8px) !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    white-space: nowrap !important;
    background: #0a0a0a !important;
    border: 1px solid rgba(58,58,58,0.50) !important;
    border-radius: 18px 3px!important;
    padding: 8px 14px !important;
    font-size: 0.75rem !important;
    color: #fda4af !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.5) !important;
    pointer-events: none !important;
}
#order-standard_cart.checkout-page .ece-toast.ece-toast-visible {
    display: block !important;
}
#order-standard_cart.checkout-page .stripe-ece-validation-overlay.ece-unlocked {
    pointer-events: none !important;
}
#order-standard_cart.checkout-page .stripe-ece-validation-overlay.ece-unlocked .ece-toast {
    display: none !important;
}
#order-standard_cart.checkout-page .ece-pw-error,
#order-standard_cart.checkout-page .ece-pw-error.input {
    border-color: #f43f5e !important;
    box-shadow: 0 0 0 3px rgba(244,63,94,0.25) !important;
}

/* ── Password strength meter ─────────────────────────────── */
#order-standard_cart.checkout-page .password-strength-meter .progress,
#order-standard_cart.checkout-page .progress {
    height: 4px !important;
    background: #3a3a3a !important;
    border-radius: 9999px!important;
    overflow: hidden !important;
    margin: 0 !important;
    box-shadow: none !important;
}
#order-standard_cart.checkout-page .password-strength-meter .progress-bar,
#order-standard_cart.checkout-page .progress-bar {
    border-radius: 9999px!important;
    transition: width 0.3s !important;
}

/* ── Login modal ─────────────────────────────────────────── */
#order-standard_cart.checkout-page #loginModal.modal {
    background: rgba(0, 0, 0, 0.75) !important;
}
#order-standard_cart.checkout-page #loginModal.modal.in {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
#order-standard_cart.checkout-page #loginModal .modal-dialog {
    margin: 0 !important;
    width: 420px !important;
    max-width: 90vw !important;
}
#order-standard_cart.checkout-page .checkout-login-modal {
    background: rgba(38,38,38,0.95) !important;
    border: 1px solid rgba(58,58,58,0.50) !important;
    border-radius: 18px 3px!important;
}
#order-standard_cart.checkout-page .checkout-login-modal .modal-header {
    background: transparent !important;
    border-bottom: 1px solid rgba(58,58,58,0.40) !important;
    padding: 16px 20px !important;
    border-radius: 18px 3px16px 0 0 !important;
    text-align: left !important;
}
#order-standard_cart.checkout-page .checkout-login-modal .modal-header .modal-title {
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    color: #fff !important;
}
#order-standard_cart.checkout-page .checkout-login-modal .modal-header .close {
    color: #7a7a7a !important;
    text-shadow: none !important;
    opacity: 1 !important;
}
#order-standard_cart.checkout-page .checkout-login-modal .modal-body {
    padding: 20px !important;
    background: transparent !important;
    border: none !important;
    text-align: left !important;
}
#order-standard_cart.checkout-page .checkout-login-modal .modal-footer {
    text-align: left !important;
    border: none !important;
}

/* Login modal inputs */
#order-standard_cart.checkout-page .checkout-login-modal .input,
#order-standard_cart.checkout-page .checkout-login-modal input.input {
    width: 100% !important;
    background: rgba(38,38,38,0.60) !important;
    border: 1px solid rgba(58,58,58,0.50) !important;
    border-radius: 18px 3px!important;
    padding: 10px 16px !important;
    font-size: 0.875rem !important;
    color: #f5f5f5 !important;
}

/* ── Utility ─────────────────────────────────────────────── */
#order-standard_cart.checkout-page .w-hidden {
    display: none !important;
}

/* ── Sub-heading (hide WHMCS default if it leaks through) ── */
#order-standard_cart.checkout-page .sub-heading {
    display: none !important;
}

/* ── Field container reset ───────────────────────────────── */
#order-standard_cart.checkout-page .field-container {
    margin: 0 !important;
}

/* ── Scrollbar ───────────────────────────────────────────── */
#order-standard_cart.checkout-page ::-webkit-scrollbar              { width: 6px; height: 6px; }
#order-standard_cart.checkout-page ::-webkit-scrollbar-track        { background: #0a0a0a; }
#order-standard_cart.checkout-page ::-webkit-scrollbar-thumb        { background: #3a3a3a; border-radius: 2px; }
#order-standard_cart.checkout-page ::-webkit-scrollbar-thumb:hover  { background: #525252; }

/* ── Mobile responsive ───────────────────────────────────── */
@media (max-width: 767px) {
    #order-standard_cart.checkout-page .checkout-wrap {
        padding: 16px 12px 40px !important;
    }
    #order-standard_cart.checkout-page .step-tabs {
        overflow-x: auto !important;
    }
}

/* ── Color utility classes ───────────────────────────────── */
#order-standard_cart.checkout-page .icon-green { color: #22c55e !important; }
#order-standard_cart.checkout-page .icon-blue  { color: #ff9f9f !important; }

/* ── Gateway errors ──────────────────────────────────────── */
#order-standard_cart.checkout-page .gateway-errors {
    margin-top: 12px !important;
}

/* ── CAPTCHA container ───────────────────────────────────── */
#order-standard_cart.checkout-page .captcha-container .form-control {
    background: rgba(38,38,38,0.60) !important;
    border: 1px solid rgba(58,58,58,0.50) !important;
    border-radius: 18px 3px!important;
    color: #f5f5f5 !important;
}

/* ── intl-tel-input (phone country code dropdown) ────────── */
#order-standard_cart.checkout-page .intl-tel-input,
#order-standard_cart.checkout-page .iti {
    width: 100% !important;
    display: block !important;
    position: relative !important;
    /* No z-index here — lets .country-list sit in the page stacking context at z-index:9999 */
}
#order-standard_cart.checkout-page .intl-tel-input .input,
#order-standard_cart.checkout-page .intl-tel-input input,
#order-standard_cart.checkout-page .iti .input,
#order-standard_cart.checkout-page .iti input {
    width: 100% !important;
    padding-left: 5.2rem !important;
}
#order-standard_cart.checkout-page .intl-tel-input .selected-flag,
#order-standard_cart.checkout-page .iti .selected-flag {
    background: transparent !important;
    border: none !important;
    height: 100% !important;
    padding: 0 0 0 12px !important;
}
#order-standard_cart.checkout-page .intl-tel-input .flag-container,
#order-standard_cart.checkout-page .iti .flag-container {
    height: 100% !important;
}
#order-standard_cart.checkout-page .intl-tel-input .country-list,
#order-standard_cart.checkout-page .iti .country-list {
    background: #262626 !important;
    border: 1px solid rgba(58,58,58,0.50) !important;
    border-radius: 18px 3px!important;
    color: #f5f5f5 !important;
    box-shadow: 0 -10px 25px rgba(0,0,0,0.5) !important;
    max-height: 200px !important;
    z-index: 9999 !important;
    top: auto !important;
    bottom: 100% !important;
    margin-bottom: 4px !important;
}
#order-standard_cart.checkout-page .intl-tel-input .country-list .country,
#order-standard_cart.checkout-page .iti .country-list .country {
    padding: 8px 12px !important;
    color: #d4d4d4 !important;
}
#order-standard_cart.checkout-page .intl-tel-input .country-list .country:hover,
#order-standard_cart.checkout-page .intl-tel-input .country-list .country.highlight,
#order-standard_cart.checkout-page .iti .country-list .country:hover,
#order-standard_cart.checkout-page .iti .country-list .country.highlight {
    background: rgba(254,110,110,0.15) !important;
    color: #fff !important;
}
#order-standard_cart.checkout-page .intl-tel-input .country-list .divider,
#order-standard_cart.checkout-page .iti .country-list .divider {
    border-bottom-color: #3a3a3a !important;
}
#order-standard_cart.checkout-page .intl-tel-input .selected-dial-code,
#order-standard_cart.checkout-page .iti .selected-dial-code {
    color: #a3a3a3 !important;
}
#order-standard_cart.checkout-page .intl-tel-input .iti-arrow,
#order-standard_cart.checkout-page .iti .iti-arrow {
    border-top-color: #7a7a7a !important;
}

/* ── State dropdown (generated by StatesDropdown.js) ─────── */
/* The JS creates select#stateselect with the original input's classes */
#order-standard_cart.checkout-page select#stateselect,
#order-standard_cart.checkout-page select.input {
    width: 100% !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    background: rgba(38,38,38,0.60) !important;
    border: 1px solid rgba(58,58,58,0.50) !important;
    border-radius: 18px 3px!important;
    padding: 10px 40px 10px 16px !important;
    font-size: 0.875rem !important;
    color: #f5f5f5 !important;
    outline: none !important;
    cursor: pointer !important;
    font-family: inherit !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23a1a1aa'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 16px !important;
    box-shadow: none !important;
    display: block;
    height: auto !important;
    line-height: 1.5 !important;
}
#order-standard_cart.checkout-page select#stateselect:focus,
#order-standard_cart.checkout-page select.input:focus {
    border-color: rgba(254,110,110,0.60) !important;
}
#order-standard_cart.checkout-page select#stateselect option,
#order-standard_cart.checkout-page select.input option {
    background: #0a0a0a !important;
    color: #f5f5f5 !important;
}

/* ── CC input container: consistent card padding ─────────── */
#order-standard_cart.checkout-page .cc-input-container .card {
    padding: 16px !important;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
#order-standard_cart.checkout-page .cc-input-container .card .form-grid {
    gap: 12px !important;
}
/* Ensure new card info section spacing */
#order-standard_cart.checkout-page #newCardInfo {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
#order-standard_cart.checkout-page #newCardSaveSettings {
    margin-top: 4px !important;
}
/* Existing card info spacing */
#order-standard_cart.checkout-page #existingCardInfo {
    padding: 0 !important;
}
/* field-error-msg hidden by default, shown by JS */
#order-standard_cart.checkout-page .field-error-msg {
    display: none;
}
#order-standard_cart.checkout-page .field-error-msg.show,
#order-standard_cart.checkout-page .has-error .field-error-msg {
    display: block !important;
}

/* ── PayPal / Remote Gateway Input ────────────────────────────────── */
#paymentGatewayInput {
    margin-top: 12px;
}
#paymentGatewayInput .btn {
    width: 100%;
    background: rgba(38,38,38,0.60);
    border: 1px solid rgba(58,58,58,0.50);
    border-radius: 8px 2px;
    color: #f5f5f5;
    padding: 12px 16px;
    font-size: 0.875rem;
    font-weight: 600;
    transition: all 0.2s;
    cursor: pointer;
}
#paymentGatewayInput .btn:hover {
    border-color: rgba(254,110,110,0.50);
    background: rgba(254,110,110,0.15);
    color: #ffffff;
}
#paymentGatewayInput .panel,
#paymentGatewayInput .card {
    background: rgba(38,38,38,0.60) !important;
    border: 1px solid rgba(58,58,58,0.50) !important;
    border-radius: 8px 2px!important;
    color: #f5f5f5 !important;
}
#paymentGatewayInput label {
    color: #a3a3a3;
}
#paymentGatewayInput .text-muted {
    color: #7a7a7a !important;
}

/* ── Fix PayPal payment form light backgrounds ───────────────────── */
#frmCheckout.paypal_ppcpv-payment-form #creditCardInputFields ul,
#frmPayment.paypal_ppcpv-payment-form .paymethod-info:not([data-paymethod-id]) {
    border: none !important;
    width: 100% !important;
}
.paypal_ppcpv-payment-form .selected {
    background-color: transparent !important;
}
#frmCheckout.paypal_ppcpv-payment-form #creditCardInputFields .paymethod-info,
#frmPayment.paypal_ppcpv-payment-form .paymethod-info[data-paymethod-id],
#frmCheckout.paypal_ppcpv-payment-form #creditCardInputFields .paymethod-info:nth-child(5n+1),
#frmPayment.paypal_ppcpv-payment-form .paymethod-info[data-paymethod-id]:nth-child(5n+1),
#frmCheckout.paypal_ppcpv-payment-form #creditCardInputFields .paymethod-info:nth-child(5n+4),
#frmPayment.paypal_ppcpv-payment-form .paymethod-info[data-paymethod-id]:nth-child(5n+4) {
    border: none !important;
}
#frmCheckout.paypal_ppcpv-payment-form #creditCardInputFields .existing-cc-grid,
#frmPayment.paypal_ppcpv-payment-form .three-column-grid {
    width: 100% !important;
}

/* ── Store Page ────────────────────────────────────────── */

.ph-store-page {
    padding: 0 !important;
}
.ph-store-page .cart-sidebar { display: none !important; }
.ph-store-page .cart-body { width: 100% !important; max-width: 100% !important; flex: none !important; padding: 0 !important; }
.ph-store-page .sidebar-collapse,
.ph-store-page .sidebar-collapsed,
.ph-store-page .cart-sidebar-collapsed,
.ph-store-page .d-md-none,
.ph-store-page .hidden-lg,
.ph-confproduct-page .sidebar-collapse,
.ph-confproduct-page .sidebar-collapsed,
.ph-confproduct-page .cart-sidebar-collapsed,
.ph-confproduct-page .d-md-none,
.ph-viewcart-page .sidebar-collapse,
.ph-viewcart-page .sidebar-collapsed,
.ph-domain-page .sidebar-collapse,
.ph-domain-page .sidebar-collapsed,
.ph-domain-renewals-page .sidebar-collapse,
.ph-domain-renewals-page .sidebar-collapsed,
.ph-complete-page .sidebar-collapse,
.ph-complete-page .sidebar-collapsed { display: none !important; }

.ph-store-header {
    margin-bottom: 24px;
}
.ph-store-header h1 {
    font-size: 1.5rem;
    font-weight: 700;
    color: #f5f5f5;
    margin: 0 0 4px 0;
}
.ph-store-header p {
    color: #7a7a7a;
    font-size: 0.875rem;
    margin: 0;
}

/* Actions bar */
.ph-store-actions-bar {
    display: flex;
    gap: 4px;
    padding: 4px;
    background: rgba(255,255,255,0.03);
    border-radius: 10px 2px;
    margin-bottom: 16px;
    overflow-x: auto;
    scrollbar-width: none;
}
.ph-store-actions-bar::-webkit-scrollbar { display: none; }
.ph-store-action-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    border-radius: 10px 2px;
    background: transparent;
    color: #7a7a7a;
    font-size: 0.75rem;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.15s, color 0.15s;
}
.ph-store-action-link:hover {
    background: rgba(255,255,255,0.04);
    color: #a3a3a3;
    text-decoration: none;
}
.ph-store-action-link i {
    font-size: 0.6875rem;
}

/* Store layout */
.ph-store-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}
@media (min-width: 1024px) {
    .ph-store-layout { grid-template-columns: 220px 1fr; }
}
.ph-store-main { min-width: 0; }

/* Sidebar */
.ph-store-sidebar {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
@media (max-width: 1023px) {
    .ph-store-sidebar {
        max-height: 200px;
        overflow-y: auto;
        scrollbar-width: thin;
        scrollbar-color: rgba(255,255,255,0.1) transparent;
        background: rgba(255,255,255,0.02);
        border-radius: 10px 2px;
        padding: 8px;
    }
    .ph-store-sidebar::-webkit-scrollbar { width: 4px; }
    .ph-store-sidebar::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.1); border-radius: 2px; }
}
.ph-store-sidebar-panel {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.ph-store-sidebar-title {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #525252;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0 0 6px 0;
    padding: 0 10px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.ph-store-sidebar-title i { font-size: 0.625rem; }
.ph-store-sidebar-links {
    display: flex;
    flex-direction: column;
    gap: 1px;
}
.ph-store-sidebar-link {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 7px 10px;
    border-radius: 8px 2px;
    font-size: 0.8125rem;
    font-weight: 500;
    color: #a3a3a3;
    text-decoration: none;
    transition: background 0.15s, color 0.15s;
}
.ph-store-sidebar-link:hover {
    background: rgba(255,255,255,0.04);
    color: #f5f5f5;
    text-decoration: none;
}
.ph-store-sidebar-link.active {
    background: rgba(254,110,110,0.08);
    color: #ff9f9f;
}
.ph-store-cat-badge {
    background: rgba(254,110,110,0.15);
    color: #ff9f9f;
    font-size: 0.5625rem;
    font-weight: 700;
    padding: 1px 6px;
    border-radius: 9999px;
    margin-left: auto;
}

/* Product grid */
.ph-store-grid {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 16px;
}
@media (min-width: 640px) { .ph-store-grid { grid-template-columns: repeat(2, 1fr); } }

/* Product card */
.ph-store-card {
    display: flex;
    flex-direction: column;
    background: rgba(255,255,255,0.03);
    border-radius: 18px 3px;
    overflow: hidden;
    transition: background 0.15s, transform 0.15s;
}
.ph-store-card:hover {
    background: rgba(255,255,255,0.05);
}

.ph-store-card-image {
    height: 140px;
    background-color: rgba(254,110,110,0.06);
    background-size: cover;
    background-position: center;
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    padding: 10px;
}
.ph-store-stock {
    padding: 3px 8px;
    background: rgba(0,0,0,0.6);
    border-radius: 8px 2px;
    font-size: 0.625rem;
    font-weight: 600;
    color: #a3a3a3;
}

.ph-store-card-body {
    padding: 16px 18px 0;
    flex: 1;
}
.ph-store-card-body h3 {
    font-size: 1rem;
    font-weight: 700;
    color: #f5f5f5;
    margin: 0 0 6px 0;
}
.ph-store-desc {
    font-size: 0.8125rem;
    color: #7a7a7a;
    margin: 0 0 10px 0;
    line-height: 1.5;
}
.ph-store-features {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.ph-store-features li {
    display: flex;
    align-items: baseline;
    gap: 8px;
    font-size: 0.8125rem;
    color: #a3a3a3;
}
.ph-store-features li i {
    color: #22c55e;
    font-size: 0.625rem;
    flex-shrink: 0;
}
.ph-store-features li strong {
    color: #d4d4d4;
}

.ph-store-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 18px;
}
.ph-store-pricing {
    display: flex;
    flex-direction: column;
}
.ph-store-from {
    font-size: 0.625rem;
    color: #7a7a7a;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 600;
}
.ph-store-price {
    font-size: 1.125rem;
    font-weight: 700;
    color: #f5f5f5;
}
.ph-store-cycle {
    font-size: 0.6875rem;
    color: #7a7a7a;
}
.ph-store-setup {
    font-size: 0.625rem;
    color: #525252;
}
.ph-store-badge {
    font-size: 0.625rem;
    font-weight: 700;
    color: #86efac;
    text-transform: uppercase;
}

.ph-store-order-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 16px;
    background: linear-gradient(135deg, #fe6e6e, #e24848);
    color: #1a0707;
    font-size: 0.8125rem;
    font-weight: 600;
    border-radius: 10px 2px;
    text-decoration: none;
    transition: background 0.2s, box-shadow 0.2s;
    white-space: nowrap;
    flex-shrink: 0;
}
.ph-store-order-btn:hover {
    background: linear-gradient(135deg, #ff9f9f, #fe6e6e);
    box-shadow: 0 4px 12px rgba(254,110,110,0.25);
    color: #1a0707;
    text-decoration: none;
}

/* ── Domain Renewals Page ──────────────────────────────── */

.ph-domain-renewals-page .cart-sidebar { display: none !important; }
.ph-domain-renewals-page .cart-body { width: 100% !important; max-width: 100% !important; flex: none !important; padding: 0 !important; }

.ph-renewal-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.ph-renewal-card {
    background: rgba(255,255,255,0.03) !important;
    border: none !important;
    border-radius: 10px 2px!important;
    padding: 18px 20px !important;
    margin: 0 !important;
}
.ph-renewal-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}
.ph-renewal-info h3 {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #f5f5f5 !important;
    margin: 0 0 4px 0 !important;
}
.ph-renewal-info p {
    font-size: 0.8125rem;
    color: #7a7a7a;
    margin: 0;
}
.ph-renewal-desc {
    font-size: 0.75rem !important;
    color: #525252 !important;
    margin-top: 2px !important;
}
.ph-renewal-badge {
    display: inline-flex;
    padding: 4px 10px;
    border-radius: 9999px;
    font-size: 0.6875rem;
    font-weight: 600;
    white-space: nowrap;
    flex-shrink: 0;
}
.ph-renewal-ok {
    background: rgba(34,197,94,0.12);
    color: #86efac;
}
.ph-renewal-warn {
    background: rgba(234,179,8,0.12);
    color: #fde047;
}
.ph-renewal-danger {
    background: rgba(244,63,94,0.12);
    color: #fda4af;
}
.ph-renewal-info-badge {
    background: rgba(254,110,110,0.10);
    color: #ff9f9f;
}
.ph-renewal-bottom {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid rgba(255,255,255,0.04);
}
.ph-renewal-add-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 8px 16px !important;
    background: linear-gradient(135deg, #fe6e6e, #e24848) !important;
    color: #1a0707 !important;
    font-size: 0.8125rem !important;
    font-weight: 600 !important;
    border: none !important;
    border-radius: 10px 2px!important;
    white-space: nowrap !important;
    flex-shrink: 0;
}
.ph-renewal-add-btn:hover {
    background: linear-gradient(135deg, #ff9f9f, #fe6e6e) !important;
    box-shadow: 0 4px 12px rgba(254,110,110,0.25) !important;
}
@media (max-width: 640px) {
    .ph-renewal-top { flex-direction: column; }
    .ph-renewal-bottom { flex-direction: column; align-items: stretch; }
}

/* ── Domain Registration Page ──────────────────────────── */

.ph-domain-page .cart-sidebar { display: none !important; }
.ph-domain-page .sidebar-collapsed { display: none !important; }
.ph-domain-page .cart-body { width: 100% !important; max-width: 100% !important; flex: none !important; padding: 0 !important; }

/* Domain page - fix white backgrounds */
.ph-domain-page .bg-white,
.ph-domain-page .domain-pricing .bg-white {
    background: transparent !important;
}
.ph-domain-page .tld-row.highlighted {
    background: rgba(255,255,255,0.03) !important;
}
.ph-domain-page .domain-pricing .tld-pricing-header div:nth-child(2n+1),
.ph-domain-page .domain-pricing .tld-pricing-header div,
.ph-domain-page .domain-pricing .tld-row div {
    background: transparent !important;
}
.ph-domain-page .list-group-item,
.ph-domain-page .domain-suggestion {
    background: rgba(255,255,255,0.03) !important;
    border: none !important;
    border-bottom: 1px solid rgba(255,255,255,0.04) !important;
    color: #d4d4d4 !important;
    padding: 12px 16px !important;
}
.ph-domain-page .domain-suggestion .domain {
    color: #f5f5f5 !important;
    font-weight: 600;
}
.ph-domain-page .domain-suggestion .extension {
    color: #ff9f9f !important;
    font-weight: 600;
}
.ph-domain-page .domain-suggestion .price {
    color: #86efac !important;
    font-weight: 600;
    margin-right: 8px;
}
.ph-domain-page .domain-suggestion .actions {
    display: flex;
    align-items: center;
    gap: 8px;
}
.ph-domain-page .domain-suggestion .btn-add-to-cart {
    background: linear-gradient(135deg, #22c55e, #16a34a) !important;
    border: none !important;
    color: #fff !important;
    border-radius: 8px 2px!important;
    padding: 6px 14px !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
}
.ph-domain-page .domain-suggestion .promo span {
    font-size: 0.5625rem;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 2px;
    text-transform: uppercase;
}
.ph-domain-page .sales-group-sale {
    background: rgba(34,197,94,0.12) !important;
    color: #86efac !important;
}
.ph-domain-page .sales-group-hot {
    background: rgba(244,63,94,0.12) !important;
    color: #fda4af !important;
}
.ph-domain-page .sales-group-new {
    background: rgba(254,110,110,0.12) !important;
    color: #ff9f9f !important;
}
.ph-domain-page .more-suggestions {
    background: rgba(255,255,255,0.02) !important;
    border: none !important;
    border-top: 1px solid rgba(255,255,255,0.04) !important;
    color: #ff9f9f !important;
}
.ph-domain-page .more-suggestions a { color: #ff9f9f !important; }
.ph-domain-page .domain-suggestions-warning { color: #525252 !important; }
.ph-domain-page .domain-suggestions-warning p { color: #525252 !important; }
.ph-domain-page .btn.unavailable {
    background: rgba(244,63,94,0.10) !important;
    color: #fda4af !important;
    border: none !important;
    border-radius: 8px 2px!important;
    font-size: 0.75rem !important;
}
.ph-domain-page .tld-sale-group {
    font-size: 0.5625rem !important;
    padding: 2px 6px !important;
    border-radius: 2px!important;
    margin-left: 6px;
}
.ph-domain-page .tld-sale-group-sale {
    background: rgba(34,197,94,0.12) !important;
    color: #86efac !important;
}
.ph-domain-page .spotlight-tlds,
.ph-domain-page .spotlight-tlds-container,
.ph-domain-page .spotlight-tld-container,
.ph-domain-page .spotlight-tld {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
}
.ph-domain-page .spotlight-tld {
    background: rgba(255,255,255,0.03) !important;
    border-radius: 10px 2px!important;
    color: #f5f5f5 !important;
    padding: 14px !important;
}
.ph-domain-page .spotlight-tld .available.price {
    color: #86efac !important;
    font-weight: 600;
}
.ph-domain-page .spotlight-tld .btn-add-to-cart {
    background: linear-gradient(135deg, #22c55e, #16a34a) !important;
    border: none !important;
    color: #fff !important;
    border-radius: 8px 2px!important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
}
.ph-domain-page .spotlight-tld-sale {
    background: rgba(34,197,94,0.12) !important;
    color: #86efac !important;
    font-size: 0.5625rem !important;
    font-weight: 700 !important;
    padding: 2px 6px !important;
    border-radius: 2px!important;
}

/* Hero search */
.ph-domain-hero {
    text-align: center;
    padding: 40px 0 32px;
}
.ph-domain-hero h1 {
    font-size: 1.75rem;
    font-weight: 800;
    color: #f5f5f5;
    margin: 0 0 6px 0;
}
.ph-domain-hero > p {
    color: #7a7a7a;
    font-size: 0.9375rem;
    margin: 0 0 24px 0;
}
.ph-domain-search {
    max-width: 640px;
    margin: 0 auto;
}
.ph-domain-search-bar {
    display: flex;
    gap: 8px;
}
.ph-domain-search-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 24px;
    background: linear-gradient(135deg, #fe6e6e, #e24848);
    color: #1a0707;
    font-size: 0.875rem;
    font-weight: 700;
    font-family: inherit;
    border: none;
    border-radius: 10px 2px;
    cursor: pointer;
    transition: background 0.2s, box-shadow 0.2s;
    white-space: nowrap;
    flex-shrink: 0;
}
.ph-domain-search-btn:hover {
    background: linear-gradient(135deg, #ff9f9f, #fe6e6e);
    box-shadow: 0 4px 12px rgba(254,110,110,0.25);
}
@media (max-width: 500px) {
    .ph-domain-search-bar { flex-direction: column; }
}

/* Domain result styling */
.ph-domain-result {
    text-align: center;
    padding: 20px 0;
}
.ph-domain-result .domain-checker-available { color: #86efac; font-weight: 700; }
.ph-domain-result .domain-checker-unavailable { color: #fda4af; }
.ph-domain-result .domain-checker-invalid { color: #fde047; }
.ph-domain-result .domain-price .price { color: #f5f5f5; font-weight: 700; font-size: 1.125rem; margin-right: 8px; }
.ph-domain-result .btn-add-to-cart {
    background: linear-gradient(135deg, #22c55e, #16a34a) !important;
    border: none !important;
    color: #fff !important;
    border-radius: 10px 2px!important;
    padding: 8px 18px !important;
    font-weight: 600 !important;
}

/* Spotlight TLDs */
.ph-spotlight-tlds .spotlight-tld {
    background: rgba(255,255,255,0.03) !important;
    border-radius: 10px 2px!important;
    border: none !important;
    color: #f5f5f5 !important;
}

/* Suggestions */
.ph-domain-suggestions-header {
    background: rgba(255,255,255,0.03) !important;
    border: none !important;
    color: #f5f5f5 !important;
    font-weight: 700 !important;
    border-radius: 10px 2px10px 0 0 !important;
}

/* Featured TLDs */
.ph-featured-tlds {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 28px;
}
.ph-featured-tld {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 16px 24px;
    background: rgba(255,255,255,0.03);
    border-radius: 10px 2px;
    min-width: 100px;
    transition: background 0.15s;
}
.ph-featured-tld:hover { background: rgba(255,255,255,0.06); }
.ph-featured-tld-ext {
    font-size: 1.25rem;
    font-weight: 800;
    color: #ff9f9f;
}
.ph-featured-tld-price {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #d4d4d4;
}
.ph-featured-tld-price small { color: #7a7a7a; font-weight: 500; }

/* TLD section */
.ph-tld-section {
    margin-bottom: 28px;
}

/* TLD filter buttons */
.ph-tld-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 16px;
}
.ph-tld-filter-btn {
    padding: 5px 12px !important;
    background: rgba(255,255,255,0.04) !important;
    border: none !important;
    border-radius: 8px 2px!important;
    color: #a3a3a3 !important;
    font-size: 0.6875rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: background 0.15s, color 0.15s;
}
.ph-tld-filter-btn:hover {
    background: rgba(255,255,255,0.08) !important;
    color: #f5f5f5 !important;
}
.ph-tld-filter-btn.active {
    background: rgba(254,110,110,0.12) !important;
    color: #ff9f9f !important;
}

/* TLD pricing table */
.ph-tld-table {
    background: rgba(255,255,255,0.02);
    border-radius: 10px 2px;
    overflow: hidden;
}
.ph-tld-header {
    background: rgba(255,255,255,0.04) !important;
    font-size: 0.6875rem !important;
    font-weight: 700 !important;
    color: #7a7a7a !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding: 10px 0 !important;
    border: none !important;
}
.ph-tld-row {
    border-top: 1px solid rgba(255,255,255,0.03) !important;
    padding: 10px 0 !important;
    color: #d4d4d4 !important;
    font-size: 0.8125rem !important;
    background: transparent !important;
}
.ph-tld-row strong { color: #f5f5f5; }
.ph-tld-row small { color: #525252; }

/* Promo boxes */
.ph-domain-promos {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 12px;
    margin-top: 8px;
}
.ph-domain-promo-card {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 24px;
    background: rgba(255,255,255,0.03);
    border-radius: 18px 3px;
    text-decoration: none;
    transition: background 0.15s;
}
.ph-domain-promo-card:hover {
    background: rgba(254,110,110,0.04);
    text-decoration: none;
}
.ph-domain-promo-card i:first-child {
    font-size: 1.5rem;
    color: #fe6e6e;
    margin-bottom: 4px;
}
.ph-domain-promo-card h3 {
    font-size: 1rem;
    font-weight: 700;
    color: #f5f5f5;
    margin: 0;
}
.ph-domain-promo-card p {
    font-size: 0.8125rem;
    color: #7a7a7a;
    margin: 0;
}

/* ── Order Complete Page ────────────────────────────────── */

.ph-complete-page {
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}
.ph-complete-page .cart-sidebar { display: none !important; }
.ph-complete-page .cart-body {
    width: 100% !important;
    max-width: 800px !important;
    flex: none !important;
    padding: 0 !important;
    margin: 0 auto !important;
}
.ph-complete-page > .row {
    width: 100% !important;
    justify-content: center !important;
}

.ph-complete-hero {
    text-align: center;
    padding: 40px 20px 32px;
    position: relative;
}
.ph-complete-icon {
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
}
.ph-complete-hero h1 {
    font-size: 1.75rem;
    font-weight: 800;
    color: #f5f5f5;
    margin: 0 0 8px 0;
}
.ph-complete-subtitle {
    font-size: 0.9375rem;
    color: #7a7a7a;
    margin: 0 0 16px 0;
}
.ph-complete-order-num {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 20px;
    background: rgba(255,255,255,0.04);
    border-radius: 9999px;
    font-size: 0.8125rem;
    color: #a3a3a3;
}
.ph-complete-order-num strong {
    color: #f5f5f5;
    font-family: monospace;
}

/* Confetti animation */
.ph-complete-confetti {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 300px;
    height: 120px;
    background: radial-gradient(ellipse at center top, rgba(254,110,110,0.08) 0%, transparent 70%);
    pointer-events: none;
}

/* Product cards */
.ph-complete-products {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
    width: 100%;
}
.ph-complete-product-card {
    width: 100%;
    max-width: 400px;
}
.ph-complete-product-card {
    position: relative;
    display: flex;
    flex-direction: column;
    border-radius: 18px 3px;
    overflow: hidden;
    min-height: 220px;
    text-decoration: none;
    transition: transform 0.2s;
}
.ph-complete-product-card:hover {
    text-decoration: none;
}
.ph-complete-product-bg {
    position: absolute;
    inset: 0;
    background-color: rgba(254,110,110,0.06);
    background-size: cover;
    background-position: center;
}
.ph-complete-product-content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    min-height: 220px;
    padding: 16px;
}
.ph-complete-product-status {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    background: rgba(34,197,94,0.15);
    border-radius: 9999px;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #86efac;
    width: fit-content;
}
.ph-complete-product-info {
    margin-top: auto;
}
.ph-complete-product-info h3 {
    font-size: 1rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 2px 0;
}
.ph-complete-product-info p {
    font-size: 0.75rem;
    color: rgba(255,255,255,0.6);
    margin: 0 0 4px 0;
}
.ph-complete-product-domain {
    font-size: 0.75rem;
    color: #ff9f9f;
    display: flex;
    align-items: center;
    gap: 4px;
}
.ph-complete-product-domain i { font-size: 0.625rem; }
.ph-complete-product-card .ph-service-btn {
    margin-top: 10px;
}

/* Payment notice */
.ph-complete-payment-notice {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 20px;
    background: rgba(234,179,8,0.06);
    border: 1px solid rgba(234,179,8,0.15);
    border-radius: 10px 2px;
    margin-bottom: 20px;
}
.ph-complete-payment-icon {
    font-size: 1.5rem;
    color: #fde047;
    flex-shrink: 0;
}
.ph-complete-payment-notice strong {
    font-size: 0.875rem;
    color: #fde047;
    display: block;
    margin-bottom: 4px;
}
.ph-complete-invoice-link {
    font-size: 0.8125rem;
    color: #ff9f9f;
    font-weight: 600;
    text-decoration: none;
}
.ph-complete-invoice-link:hover { color: #ff9f9f; text-decoration: none; }
.ph-complete-invoice-link i { font-size: 0.625rem; margin-left: 3px; }

/* Next steps */
.ph-complete-next {
    text-align: center;
    padding: 20px 0;
}
.ph-complete-instructions {
    font-size: 0.875rem;
    color: #7a7a7a;
    margin: 0 0 20px 0;
}
.ph-complete-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}

/* ── View Cart Page ─────────────────────────────────────── */

.ph-viewcart-page {
    padding: 0 !important;
}
.ph-viewcart-page .cart-sidebar { display: none !important; }
.ph-viewcart-page .cart-body { width: 100% !important; max-width: 100% !important; flex: none !important; padding: 0 !important; }

.ph-cart-items {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.ph-cart-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 18px;
    background: rgba(255,255,255,0.03);
    border-radius: 10px 2px;
}
.ph-cart-item-addon {
    margin-left: 24px;
    background: rgba(255,255,255,0.02);
}
.ph-cart-item-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    flex: 1;
}
.ph-cart-item-title {
    font-size: 0.875rem;
    font-weight: 600;
    color: #f5f5f5;
    display: flex;
    align-items: center;
    gap: 8px;
}
.ph-cart-edit {
    font-size: 0.6875rem;
    color: #ff9f9f;
    text-decoration: none;
    font-weight: 500;
}
.ph-cart-edit:hover { color: #ff9f9f; text-decoration: none; }
.ph-cart-item-group {
    font-size: 0.75rem;
    color: #7a7a7a;
}
.ph-cart-item-domain {
    font-size: 0.75rem;
    color: #ff9f9f;
}
.ph-cart-item-config {
    display: flex;
    flex-direction: column;
    gap: 1px;
    margin-top: 4px;
}
.ph-cart-item-config span {
    font-size: 0.6875rem;
    color: #525252;
}
.ph-cart-item-right {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-shrink: 0;
}
.ph-cart-item-price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}
.ph-cart-price {
    font-size: 0.875rem;
    font-weight: 700;
    color: #f5f5f5;
}
.ph-cart-cycle {
    font-size: 0.6875rem;
    color: #7a7a7a;
}
.ph-cart-setup {
    font-size: 0.625rem;
    color: #525252;
}
.ph-cart-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    color: #525252;
    font-size: 0.75rem;
    cursor: pointer;
    padding: 4px;
    transition: color 0.15s;
}
.ph-cart-remove:hover { color: #f43f5e; }
.ph-cart-qty {
    display: flex;
    align-items: center;
    gap: 4px;
}
.ph-cart-qty-input {
    width: 50px;
    padding: 4px 8px;
    background: rgba(38,38,38,0.50);
    border: 1px solid rgba(58,58,58,0.40);
    border-radius: 8px 2px;
    color: #f5f5f5;
    font-size: 0.75rem;
    text-align: center;
    font-family: inherit;
}
@media (max-width: 640px) {
    .ph-cart-item { flex-direction: column; align-items: flex-start; }
    .ph-cart-item-right { align-self: flex-end; }
    .ph-cart-item-addon { margin-left: 0; }
}

/* ── Configure Product Page ────────────────────────────── */

.ph-confproduct-page {
    padding: 0 !important;
}
.ph-confproduct-page .cart-sidebar { display: none !important; }
.ph-confproduct-page .cart-body { width: 100% !important; max-width: 100% !important; flex: none !important; padding: 0 !important; }

.ph-conf-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
}
.ph-conf-header h1 {
    font-size: 1.25rem;
    font-weight: 700;
    color: #f5f5f5;
    margin: 0 0 4px 0;
}
.ph-conf-header p {
    color: #7a7a7a;
    font-size: 0.8125rem;
    margin: 0;
}

/* Layout: config left, summary right */
.ph-conf-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}
@media (min-width: 1024px) {
    .ph-conf-layout { grid-template-columns: 1fr 300px; }
}
.ph-conf-main {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
}

/* Sections */
.ph-conf-section {
    background: rgba(255,255,255,0.03);
    border-radius: 10px 2px;
    padding: 20px;
}
.ph-conf-section-title {
    font-size: 0.875rem;
    font-weight: 700;
    color: #f5f5f5;
    margin: 0 0 12px 0;
}
.ph-conf-section-desc {
    font-size: 0.8125rem;
    color: #7a7a7a;
    margin: 0 0 10px 0;
}

/* Product info */
.ph-conf-product-info h2 {
    font-size: 1.0625rem;
    font-weight: 700;
    color: #f5f5f5;
    margin: 0 0 6px 0;
}
.ph-conf-product-info p {
    font-size: 0.8125rem;
    color: #a3a3a3;
    margin: 0;
    line-height: 1.6;
}

/* Billing cycle buttons */
.ph-cycle-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 8px;
}
.ph-cycle-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 14px 12px;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 10px 2px;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
    font-family: inherit;
    text-align: center;
}
.ph-cycle-btn:hover {
    background: rgba(255,255,255,0.06);
    border-color: rgba(255,255,255,0.10);
}
.ph-cycle-btn.active {
    background: rgba(254,110,110,0.08);
    border-color: rgba(254,110,110,0.30);
}
.ph-cycle-name {
    font-size: 0.75rem;
    font-weight: 600;
    color: #a3a3a3;
}
.ph-cycle-btn.active .ph-cycle-name { color: #ff9f9f; }
.ph-cycle-price {
    font-size: 0.9375rem;
    font-weight: 700;
    color: #f5f5f5;
}
.ph-cycle-discount {
    display: none;
    font-size: 0.625rem;
    font-weight: 700;
    color: #86efac;
}

/* Options grid */
.ph-conf-options-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}
@media (max-width: 640px) { .ph-conf-options-grid { grid-template-columns: 1fr; } }
.ph-conf-option {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.ph-conf-option label {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #a3a3a3;
}
.ph-conf-option-full {
    grid-column: 1 / -1;
}
.ph-conf-radios {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

/* Addons */
.ph-conf-addons-grid {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.ph-conf-addon {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.04);
    border-radius: 10px 2px;
    transition: border-color 0.15s;
}
.ph-conf-addon:hover { border-color: rgba(255,255,255,0.10); }
.ph-conf-addon-selected { border-color: rgba(254,110,110,0.25); background: rgba(254,110,110,0.04); }
.ph-conf-addon-check {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0;
    cursor: pointer;
    flex: 1;
}
.ph-conf-addon-check input[type="checkbox"] {
    margin-top: 3px;
}
.ph-conf-addon-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.ph-conf-addon-name {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #f5f5f5;
}
.ph-conf-addon-desc {
    font-size: 0.75rem;
    color: #7a7a7a;
}
.ph-conf-addon-price {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #86efac;
    white-space: nowrap;
    flex-shrink: 0;
}

/* Help note */
.ph-conf-help-note {
    font-size: 0.8125rem;
    color: #7a7a7a;
    padding: 12px 16px;
    background: rgba(234,179,8,0.06);
    border: 1px solid rgba(234,179,8,0.12);
    border-radius: 10px 2px;
}
.ph-conf-help-note i { color: #fde047; margin-right: 6px; }
.ph-conf-help-note a { color: #ff9f9f; font-weight: 600; }

/* Order summary sidebar */
.ph-conf-sidebar {
    position: relative;
}
.ph-conf-summary {
    position: sticky;
    top: 80px;
    background: rgba(255,255,255,0.03);
    border-radius: 18px 3px;
    overflow: hidden;
}
.ph-conf-summary-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 18px;
    border-bottom: 1px solid rgba(255,255,255,0.04);
}
.ph-conf-summary-header h3 {
    font-size: 0.875rem;
    font-weight: 700;
    color: #f5f5f5;
    margin: 0;
}
.ph-conf-summary-header .loader i {
    color: #ff9f9f;
}
.ph-conf-summary-body {
    padding: 16px 18px;
    font-size: 0.8125rem;
    color: #d4d4d4;
}
/* Style the WHMCS-injected summary content */
.ph-conf-summary-body .item-title { color: #f5f5f5; font-weight: 600; }
.ph-conf-summary-body .sub-total,
.ph-conf-summary-body .total-due-today {
    border-top: 1px solid rgba(255,255,255,0.06);
    padding-top: 8px;
    margin-top: 8px;
}
.ph-conf-summary-body .total-due-today { font-weight: 700; color: #f5f5f5; }
.ph-conf-summary-body .pull-right,
.ph-conf-summary-body .float-right { color: #a3a3a3; font-weight: 600; }
.ph-conf-summary-body .total-due-today { font-size: 1rem; }
.ph-conf-summary-body .total-due-today .pull-right,
.ph-conf-summary-body .total-due-today .float-right { color: #f5f5f5; font-size: 1.0625rem; }

.ph-conf-continue-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 14px 20px;
    background: linear-gradient(135deg, #fe6e6e, #e24848);
    color: #1a0707;
    font-size: 0.875rem;
    font-weight: 700;
    font-family: inherit;
    border: none;
    border-radius: 0 0 12px 12px;
    cursor: pointer;
    transition: background 0.2s, box-shadow 0.2s;
}
.ph-conf-continue-btn:hover {
    background: linear-gradient(135deg, #ff9f9f, #fe6e6e);
    box-shadow: 0 4px 16px rgba(254,110,110,0.25);
}

/* ==========================================================================
   pg-v3: the WHMCS checkout page laid out and styled like the physgun.com
   checkout panel (@physgun/checkout 1.1.1). Two columns on desktop, the form
   on the left scrolls, the order summary on the right sticks. Appended after
   the rules above so the same selectors win where they overlap.
   Palette: neutral-900 #0a0a0a, 800 #262626, 700 #3a3a3a, primary #fe6e6e.
   ========================================================================== */

#order-standard_cart.checkout-page.pg-v3 {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    font-size: 1rem !important;
    background: #0a0a0a !important;
    min-height: 100vh;
}
/* Full bleed under the fixed 64px navbar, same escape hatch the login page uses */
/* The theme hides its navbar on the checkout, so the page starts at the very top */
body:has(.checkout-page.pg-v3) { background: #0a0a0a !important; padding-top: 0 !important; }
body:has(.checkout-page.pg-v3) #main-body { background: none !important; padding: 0 !important; margin: 0 !important; }
body:has(.checkout-page.pg-v3) #main-body > .container,
body:has(.checkout-page.pg-v3) #main-body > div { max-width: 100% !important; width: 100% !important; padding: 0 !important; margin: 0 !important; }
body:has(.checkout-page.pg-v3) #main-body .row { margin: 0 !important; padding: 0 !important; }
body:has(.checkout-page.pg-v3) #main-body .row > [class*="col"] { padding: 0 !important; max-width: 100% !important; flex: 0 0 100% !important; }
body:has(.checkout-page.pg-v3) .ph-footer { margin-top: 0 !important; }

/* ── Layout ─────────────────────────────────────────────── */
#order-standard_cart.checkout-page.pg-v3 .pg-layout {
    display: grid;
    grid-template-columns: 1fr;
    min-height: 100vh;
}
#order-standard_cart.checkout-page.pg-v3 .pg-form {
    width: 100%;
    max-width: 40rem;
    padding: 24px 20px 56px;
    display: flex;
    flex-direction: column;
    gap: 24px;
    justify-self: center;
    box-sizing: border-box;
}
/* Sections live inside the <form>, which is a plain block: give it the same rhythm */
#order-standard_cart.checkout-page.pg-v3 #frmCheckout { display: flex; flex-direction: column; gap: 24px; }
#order-standard_cart.checkout-page.pg-v3 #frmCheckout > div:empty { display: none; }
#order-standard_cart.checkout-page.pg-v3 .pg-summary {
    order: -1;
    border-bottom: 1px solid #262626;
    background: rgba(9, 9, 11, 0.40);
    padding: 0 20px;
}
@media (min-width: 1024px) {
    #order-standard_cart.checkout-page.pg-v3 .pg-layout { grid-template-columns: 1fr 1fr; }
    #order-standard_cart.checkout-page.pg-v3 .pg-form { padding: 48px 48px 64px; justify-self: end; }
    #order-standard_cart.checkout-page.pg-v3 .pg-summary {
        order: 0;
        border-bottom: 0;
        border-left: 1px solid #262626;
        padding: 0;
    }
    #order-standard_cart.checkout-page.pg-v3 .pg-summary-panel {
        position: sticky;
        top: 0;
        max-width: 34rem;
        padding: 48px 64px 48px 48px;
        box-sizing: border-box;
    }
    #order-standard_cart.checkout-page.pg-v3 .pg-summary-toggle { display: none !important; }
}

/* ── Brand, header, steps ───────────────────────────────── */
#order-standard_cart.checkout-page.pg-v3 .pg-brand {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
#order-standard_cart.checkout-page.pg-v3 .pg-brand-logo img { height: 36px; width: auto; display: block; }
#order-standard_cart.checkout-page.pg-v3 .pg-secure {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.75rem;
    color: #a3a3a3;
}
#order-standard_cart.checkout-page.pg-v3 .pg-header h1 {
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    margin: 2px 0 0 !important;
}
#order-standard_cart.checkout-page.pg-v3 .pg-steps {
    display: flex;
    gap: 4px;
    margin: 0;
    padding: 0;
    list-style: none;
}
#order-standard_cart.checkout-page.pg-v3 .pg-step {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 18px 3px;
    font-size: 0.875rem;
    font-weight: 500;
    color: #7a7a7a;
    border: 1px solid transparent;
}
#order-standard_cart.checkout-page.pg-v3 .pg-step.completed { color: #a3a3a3; }
#order-standard_cart.checkout-page.pg-v3 .pg-step.active {
    background: rgba(254,110,110,0.15);
    border-color: rgba(254,110,110,0.30);
    color: #ff9f9f;
}

/* ── Sections and cards ─────────────────────────────────── */
#order-standard_cart.checkout-page.pg-v3 .pg-section { margin: 0 !important; }
#order-standard_cart.checkout-page.pg-v3 .section-label {
    font-size: 1rem !important;
    font-weight: 600 !important;
    color: #fff !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    margin: 0 0 12px !important;
}
#order-standard_cart.checkout-page.pg-v3 .pg-sub-label {
    font-size: 0.875rem;
    font-weight: 500;
    color: #d4d4d4;
    margin: 4px 0 8px !important;
}
#order-standard_cart.checkout-page.pg-v3 .card.pg-card {
    padding: 20px !important;
    border-radius: 18px 3px!important;
    background: rgba(38,38,38,0.40) !important;
    border: 1px solid rgba(58,58,58,0.50) !important;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
#order-standard_cart.checkout-page.pg-v3 .pg-account-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}
#order-standard_cart.checkout-page.pg-v3 .pg-muted { color: #a3a3a3 !important; font-size: 0.8125rem !important; margin: 0 !important; }
#order-standard_cart.checkout-page.pg-v3 .pg-hint { color: #7a7a7a; font-size: 0.75rem; }

/* ── Controls: 16px text, 14px vertical padding, primary focus ── */
#order-standard_cart.checkout-page.pg-v3 .input,
#order-standard_cart.checkout-page.pg-v3 input.input,
#order-standard_cart.checkout-page.pg-v3 textarea.input,
#order-standard_cart.checkout-page.pg-v3 .select,
#order-standard_cart.checkout-page.pg-v3 select.select,
#order-standard_cart.checkout-page.pg-v3 select#stateselect,
#order-standard_cart.checkout-page.pg-v3 select.input {
    padding: 14px 16px !important;
    font-size: 1rem !important;
    border-radius: 18px 3px!important;
    background-color: rgba(38,38,38,0.60) !important;
    border: 1px solid rgba(58,58,58,0.50) !important;
    transition: border-color 150ms, background-color 150ms, box-shadow 150ms !important;
}
#order-standard_cart.checkout-page.pg-v3 .select,
#order-standard_cart.checkout-page.pg-v3 select.select,
#order-standard_cart.checkout-page.pg-v3 select#stateselect,
#order-standard_cart.checkout-page.pg-v3 select.input { padding-right: 44px !important; }
#order-standard_cart.checkout-page.pg-v3 .input:hover,
#order-standard_cart.checkout-page.pg-v3 .select:hover { border-color: #7a7a7a !important; background-color: rgba(38,38,38,0.80) !important; }
#order-standard_cart.checkout-page.pg-v3 .input:focus,
#order-standard_cart.checkout-page.pg-v3 .select:focus,
#order-standard_cart.checkout-page.pg-v3 select#stateselect:focus {
    border-color: rgba(254,110,110,0.60) !important;
    box-shadow: 0 0 0 2px rgba(41, 150, 255, 0.40) !important;
}
#order-standard_cart.checkout-page.pg-v3 .form-label {
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    color: #d4d4d4 !important;
}
#order-standard_cart.checkout-page.pg-v3 .form-grid { gap: 16px !important; }

/* Selectable cards (gateways, accounts, saved cards) */
#order-standard_cart.checkout-page.pg-v3 .selectable-card {
    padding: 14px 16px !important;
    border-radius: 18px 3px!important;
    transition: background-color 200ms, border-color 200ms, color 200ms, box-shadow 200ms, transform 200ms !important;
}
#order-standard_cart.checkout-page.pg-v3 .selectable-card:hover { background: rgba(38,38,38,0.70) !important; border-color: #7a7a7a !important; }
#order-standard_cart.checkout-page.pg-v3 .selectable-card:active { transform: scale(0.985); }
#order-standard_cart.checkout-page.pg-v3 .selectable-card.selected {
    border-color: rgba(254,110,110,0.60) !important;
    box-shadow: 0 0 0 1px rgba(254,110,110,0.25), 0 8px 24px -12px rgba(254,110,110,0.60);
}
#order-standard_cart.checkout-page.pg-v3 .pg-gateways { display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px; }
#order-standard_cart.checkout-page.pg-v3 .pg-due-inline { display: none; }

/* Terms card */
#order-standard_cart.checkout-page.pg-v3 .tos-card { border-radius: 18px 3px!important; }

/* Express checkout separator */
#order-standard_cart.checkout-page.pg-v3 #stripeExpressCheckoutContainer { margin: 0; }

/* ── The button ─────────────────────────────────────────── */
#order-standard_cart.checkout-page.pg-v3 .pg-cta { display: flex; flex-direction: column; gap: 12px; padding-top: 8px; }
#order-standard_cart.checkout-page.pg-v3 .btn-success.pg-btn-complete {
    padding: 16px 24px !important;
    font-size: 1rem !important;
    border-radius: 18px 3px!important;
    transition: transform 200ms, box-shadow 200ms, background 200ms, opacity 200ms !important;
    box-shadow: 0 10px 15px -3px rgba(5, 46, 22, 0.30) !important;
}
#order-standard_cart.checkout-page.pg-v3 .btn-success.pg-btn-complete:hover {
    transform: translateY(-1px);
    box-shadow: 0 20px 25px -5px rgba(5, 46, 22, 0.40) !important;
}
#order-standard_cart.checkout-page.pg-v3 .btn-success.pg-btn-complete:active { transform: translateY(0) scale(0.99); }
#order-standard_cart.checkout-page.pg-v3 .btn-success.pg-btn-complete:focus-visible {
    outline: none !important;
    box-shadow: 0 0 0 2px #0a0a0a, 0 0 0 4px #86efac !important;
}
#order-standard_cart.checkout-page.pg-v3 .pg-lock-line {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: 0.75rem !important;
    color: #7a7a7a !important;
    text-align: center;
}
#order-standard_cart.checkout-page.pg-v3 .security-badges { display: none !important; }

/* ── Summary column ─────────────────────────────────────── */
#order-standard_cart.checkout-page.pg-v3 .pg-summary-toggle {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 0;
    background: none;
    border: 0;
    color: #ff9f9f;
    font-size: 0.875rem;
    font-weight: 500;
    font-family: inherit;
    cursor: pointer;
    text-align: left;
}
#order-standard_cart.checkout-page.pg-v3 .pg-summary-toggle:focus-visible { outline: 2px solid rgba(41, 150, 255, 0.70); outline-offset: 2px; border-radius: 10px 2px; }
#order-standard_cart.checkout-page.pg-v3 .pg-summary-toggle-label { display: inline-flex; align-items: center; gap: 8px; }
#order-standard_cart.checkout-page.pg-v3 .pg-summary-chevron { transition: transform 200ms; }
#order-standard_cart.checkout-page.pg-v3 .pg-summary-toggle[aria-expanded="true"] .pg-summary-chevron { transform: rotate(180deg); }
#order-standard_cart.checkout-page.pg-v3 .pg-summary-toggle-total { color: #fff; font-weight: 700; font-size: 1.125rem; font-variant-numeric: tabular-nums; }
#order-standard_cart.checkout-page.pg-v3 .pg-summary-panel { display: none; padding-bottom: 24px; }
#order-standard_cart.checkout-page.pg-v3 .pg-summary-panel.is-open { display: block; }
@media (min-width: 1024px) {
    #order-standard_cart.checkout-page.pg-v3 .pg-summary-panel { display: block; }
}

#order-standard_cart.checkout-page.pg-v3 .pg-product { display: flex; align-items: flex-start; gap: 16px; }
#order-standard_cart.checkout-page.pg-v3 .pg-product-thumb { position: relative; width: 64px; height: 64px; flex-shrink: 0; }
#order-standard_cart.checkout-page.pg-v3 .pg-product-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 10px;
    box-sizing: border-box;
    border-radius: 18px 3px;
    border: 1px solid rgba(58,58,58,0.60);
    background: #262626;
    display: block;
}
#order-standard_cart.checkout-page.pg-v3 .pg-qty {
    position: absolute;
    top: -8px;
    right: -8px;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 9999px;
    background: #525252;
    box-shadow: 0 0 0 2px #0a0a0a;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}
#order-standard_cart.checkout-page.pg-v3 .pg-product-body { min-width: 0; flex: 1; padding-top: 2px; }
#order-standard_cart.checkout-page.pg-v3 .pg-product-name { color: #fff !important; font-weight: 600; font-size: 0.875rem; line-height: 1.35; margin: 0 !important; }
#order-standard_cart.checkout-page.pg-v3 .pg-product-price { color: #fff; font-weight: 600; font-size: 0.875rem; flex-shrink: 0; font-variant-numeric: tabular-nums; }

#order-standard_cart.checkout-page.pg-v3 .pg-lines,
#order-standard_cart.checkout-page.pg-v3 .pg-totals { margin: 16px 0 0; display: flex; flex-direction: column; gap: 6px; font-size: 0.75rem; }
#order-standard_cart.checkout-page.pg-v3 .pg-totals { margin-top: 20px; padding-top: 20px; border-top: 1px solid #262626; font-size: 0.875rem; gap: 8px; }
#order-standard_cart.checkout-page.pg-v3 .pg-line { display: flex; justify-content: space-between; gap: 16px; }
#order-standard_cart.checkout-page.pg-v3 .pg-line dt { color: #a3a3a3; flex-shrink: 0; display: inline-flex; align-items: center; gap: 6px; }
#order-standard_cart.checkout-page.pg-v3 .pg-line dd { color: #e5e5e5; text-align: right; margin: 0; min-width: 0; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
#order-standard_cart.checkout-page.pg-v3 .pg-addon { color: #4ade80; white-space: nowrap; }
#order-standard_cart.checkout-page.pg-v3 .pg-line-discount dt,
#order-standard_cart.checkout-page.pg-v3 .pg-line-discount dd { color: #4ade80; }

#order-standard_cart.checkout-page.pg-v3 .pg-promo { margin-top: 20px; padding-top: 20px; border-top: 1px solid #262626; }
#order-standard_cart.checkout-page.pg-v3 .pg-promo-row { display: flex; gap: 8px; }
#order-standard_cart.checkout-page.pg-v3 .pg-promo-input { flex: 1; min-width: 0; text-transform: uppercase; }
#order-standard_cart.checkout-page.pg-v3 .pg-promo-input::placeholder { text-transform: none; }
#order-standard_cart.checkout-page.pg-v3 .pg-promo-btn {
    padding: 14px 20px !important;
    border-radius: 18px 3px!important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    background: #3a3a3a !important;
    color: #fff !important;
    border: 0 !important;
    cursor: pointer;
    transition: background-color 150ms, transform 150ms;
}
#order-standard_cart.checkout-page.pg-v3 .pg-promo-btn:hover { background: #525252 !important; }
#order-standard_cart.checkout-page.pg-v3 .pg-promo-btn:active { transform: scale(0.97); }
#order-standard_cart.checkout-page.pg-v3 .pg-promo-applied {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 18px 3px;
    background: rgba(34, 197, 94, 0.10);
    border: 1px solid rgba(34, 197, 94, 0.30);
    color: #86efac;
    font-size: 0.875rem;
    font-weight: 500;
}
#order-standard_cart.checkout-page.pg-v3 .pg-promo-applied span { flex: 1; }
#order-standard_cart.checkout-page.pg-v3 .pg-promo-remove {
    width: 36px;
    height: 36px;
    margin: -6px -8px -6px 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px 2px;
    color: #a3a3a3 !important;
    transition: color 150ms, background-color 150ms;
}
#order-standard_cart.checkout-page.pg-v3 .pg-promo-remove:hover { color: #fff !important; background: rgba(38,38,38,0.80); }

#order-standard_cart.checkout-page.pg-v3 .pg-due {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #262626;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
}
#order-standard_cart.checkout-page.pg-v3 .pg-due-label { color: #fff; font-weight: 600; font-size: 1rem; }
#order-standard_cart.checkout-page.pg-v3 .pg-due-amount { color: #fff; font-weight: 900; font-size: 1.5rem; font-variant-numeric: tabular-nums; }
#order-standard_cart.checkout-page.pg-v3 .pg-renewal { margin: 6px 0 0 !important; font-size: 0.75rem !important; color: #a3a3a3 !important; text-align: right; }

#order-standard_cart.checkout-page.pg-v3 .pg-trust { margin-top: 24px; padding-top: 20px; border-top: 1px solid #262626; display: flex; flex-direction: column; gap: 14px; }
#order-standard_cart.checkout-page.pg-v3 .pg-marks-label { margin: 0 0 -6px !important; text-align: center; font-size: 11px !important; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; color: #7a7a7a !important; }
#order-standard_cart.checkout-page.pg-v3 .pg-marks { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
#order-standard_cart.checkout-page.pg-v3 .pg-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 24px;
    border-radius: 2px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.10);
}
#order-standard_cart.checkout-page.pg-v3 .pg-mark svg { width: 100%; height: 100%; display: block; }
#order-standard_cart.checkout-page.pg-v3 .pg-assurances {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px 16px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 0.75rem;
    color: #a3a3a3;
}
#order-standard_cart.checkout-page.pg-v3 .pg-assurances li { display: flex; align-items: center; gap: 6px; }
#order-standard_cart.checkout-page.pg-v3 .pg-assurances li::before {
    content: '';
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2322c55e'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 13l4 4L19 7'/%3E%3C/svg%3E") no-repeat center / contain;
}

#order-standard_cart.checkout-page.pg-v3 .pg-next { margin-top: 24px; padding-top: 20px; border-top: 1px solid #262626; }
#order-standard_cart.checkout-page.pg-v3 .pg-next h3 { color: #fff !important; font-size: 0.875rem !important; font-weight: 600 !important; margin: 0 0 12px !important; }
#order-standard_cart.checkout-page.pg-v3 .pg-next ol { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
#order-standard_cart.checkout-page.pg-v3 .pg-next li { display: flex; align-items: flex-start; gap: 12px; }
#order-standard_cart.checkout-page.pg-v3 .pg-next li > span {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #262626;
    border: 1px solid #3a3a3a;
    color: #d4d4d4;
    font-size: 0.75rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}
#order-standard_cart.checkout-page.pg-v3 .pg-next p { color: #e5e5e5 !important; font-size: 0.875rem !important; font-weight: 500; margin: 0 !important; }
#order-standard_cart.checkout-page.pg-v3 .pg-next small { display: block; color: #7a7a7a; font-size: 0.75rem; margin-top: 2px; }

#order-standard_cart.checkout-page.pg-v3 .pg-sr-only {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* Error feedback and gateway errors keep the panel's alert shape */
#order-standard_cart.checkout-page.pg-v3 .checkout-error-feedback { border-radius: 18px 3px!important; }

@media (prefers-reduced-motion: reduce) {
    #order-standard_cart.checkout-page.pg-v3 .btn-success.pg-btn-complete:hover { transform: none; }
}

/* Widths in the form are measured border to border; nothing hangs past the card on a narrow screen */
#order-standard_cart.checkout-page.pg-v3 .pg-form *,
#order-standard_cart.checkout-page.pg-v3 .pg-summary * { box-sizing: border-box; }

/* ── pg-v3 phones: the total and the button ride along the bottom, the header gets out of the way ── */
@media (max-width: 1023px) {
    #order-standard_cart.checkout-page.pg-v3 .pg-steps { display: none !important; }
    #order-standard_cart.checkout-page.pg-v3 .pg-brand-logo img { height: 28px; }
    #order-standard_cart.checkout-page.pg-v3 .pg-header h1 { font-size: 1.375rem !important; }
    #order-standard_cart.checkout-page.pg-v3 .pg-cta {
        position: sticky;
        bottom: 0;
        z-index: 20;
        margin: 8px -20px 0;
        padding: 12px 20px max(12px, env(safe-area-inset-bottom));
        background: rgba(10,10,10,0.96);
        -webkit-backdrop-filter: blur(8px);
        backdrop-filter: blur(8px);
        border-top: 1px solid #262626;
        gap: 8px;
    }
    #order-standard_cart.checkout-page.pg-v3 .pg-cta .pg-btn-complete { padding-top: 14px !important; padding-bottom: 14px !important; font-size: 15px !important; white-space: nowrap; }
    #order-standard_cart.checkout-page.pg-v3 .pg-lock-line { font-size: 11px !important; margin: 0 !important; }
}

/* ==========================================================================
   Ported from physgun's client theme (physgun.css / custom.css)
   physgun_cart_v2 leans on ph-* classes its theme defines; Novonode's theme
   doesn't have them, so the rules live here, recolored to Novonode tokens.
   ========================================================================== */
.ph-alert {
    padding: 12px 16px;
    border-radius: 10px 2px;
    font-size: 0.875rem;
    margin-bottom: 20px;
}
.ph-alert-error {
    background: rgba(244,63,94,0.12);
    color: #fda4af;
    border: 1px solid rgba(244,63,94,0.2);
}
.ph-alert-success {
    background: rgba(34,197,94,0.12);
    color: #86efac;
    border: 1px solid rgba(34,197,94,0.2);
}
.ph-input-wrap {
    position: relative;
    display: flex;
    align-items: center;
}
.ph-input-wrap i {
    position: absolute;
    left: 14px;
    color: #525252;
    font-size: 0.8125rem;
    pointer-events: none;
}
.ph-input-wrap input,
.ph-input-wrap select {
    width: 100%;
    padding: 10px 14px 10px 40px;
    background: rgba(38,38,38,0.50);
    border: 1px solid rgba(58,58,58,0.40);
    border-radius: 10px 2px;
    color: #f5f5f5;
    font-size: 0.875rem;
    font-family: inherit;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
    -webkit-appearance: none;
    appearance: none;
}
.ph-input-wrap select {
    padding-right: 36px;
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%2371717a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
}
.ph-input-wrap input::placeholder { color: #525252; }
.ph-input-wrap input:focus,
.ph-input-wrap select:focus {
    border-color: rgba(41,150,255,0.50);
    box-shadow: 0 0 0 3px rgba(41,150,255,0.10);
}
.ph-input-wrap select option {
    background: #131313;
    color: #f5f5f5;
}
.ph-btn-login {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 24px;
    background: linear-gradient(135deg, #fe6e6e, #e24848);
    color: #1a0707;
    font-size: 0.875rem;
    font-weight: 600;
    border: none;
    border-radius: 10px 2px;
    cursor: pointer;
    transition: background 0.2s, box-shadow 0.2s;
}
.ph-btn-login:hover {
    background: linear-gradient(135deg, #ff9f9f, #fe6e6e);
    box-shadow: 0 4px 16px rgba(254,110,110,0.25);
}
.ph-remember {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    color: #a3a3a3;
    font-size: 0.8125rem;
    user-select: none;
}
.ph-remember:hover {
    color: #d4d4d4;
}
.ph-remember input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    border: 1.5px solid rgba(255,255,255,0.15);
    border-radius: 2px;
    background: rgba(255,255,255,0.05);
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
    position: relative;
    flex-shrink: 0;
}
.ph-remember input[type="checkbox"]:hover {
    border-color: rgba(254,110,110,0.4);
    background: rgba(254,110,110,0.08);
}
.ph-remember input[type="checkbox"]:checked {
    background: #fe6e6e;
    border-color: #fe6e6e;
}
.ph-remember input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 5px;
    width: 5px;
    height: 9px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
.ph-field-help {
    display: block;
    margin-top: 4px;
    font-size: 0.75rem;
    color: #7a7a7a;
}
.ph-register-page .ph-input-wrap select {
    width: 100% !important;
    padding: 10px 14px 10px 40px !important;
    background: rgba(38,38,38,0.50) !important;
    background-color: rgba(38,38,38,0.50) !important;
    border: 1px solid rgba(58,58,58,0.40) !important;
    border-color: rgba(58,58,58,0.40) !important;
    border-radius: 10px 2px!important;
    color: #f5f5f5 !important;
    font-size: 0.875rem !important;
    font-family: inherit !important;
    height: auto !important;
    outline: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}
.ph-register-page .ph-input-wrap select:focus {
    border-color: rgba(41,150,255,0.50) !important;
    box-shadow: 0 0 0 3px rgba(41,150,255,0.10) !important;
}
.ph-captcha-section {
    text-align: center;
}
.ph-captcha-section p {
    color: #a3a3a3;
}
.ph-captcha-section .g-recaptcha,
.ph-captcha-section .cf-turnstile,
.ph-captcha-section .h-captcha,
.ph-captcha-section .recaptcha-container {
    display: flex;
    justify-content: center;
}
.ph-btn-secondary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: rgba(255,255,255,0.06);
    color: #a3a3a3;
    font-size: 0.8125rem;
    font-weight: 500;
    font-family: inherit;
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 10px 2px;
    cursor: pointer;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
    white-space: nowrap;
}
.ph-btn-secondary:hover {
    background: rgba(255,255,255,0.1);
    color: #f5f5f5;
    border-color: rgba(255,255,255,0.18);
}
.ph-register-footer .ph-remember {
    justify-content: center;
    margin-bottom: 20px;
}
.ph-register-footer .ph-remember a {
    color: #fe6e6e;
}
.ph-register-footer .ph-remember a:hover {
    color: #ff9f9f;
}
.ph-register-footer .ph-btn-login {
    width: 100%;
    justify-content: center;
    padding: 12px 24px;
    font-size: 1rem;
}
.ph-navbar-alerts li.ph-alert-success a {
    background: linear-gradient(135deg, rgba(74,222,128,0.12) 0%, transparent 60%);
}
.ph-navbar-alerts li.ph-alert-success a i { color: #4ade80; }
.ph-navbar-alerts li.ph-alert-success a:hover {
    background: linear-gradient(135deg, rgba(74,222,128,0.22) 0%, transparent 60%);
}
.ph-services-grid {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 10px;
}
@media (min-width: 640px) {
    .ph-services-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
    .ph-services-grid { grid-template-columns: repeat(3, 1fr); }
}
.ph-service-card {
    position: relative;
    display: block;
    border-radius: 10px 2px;
    overflow: hidden;
    text-decoration: none;
    min-height: 200px;
    background-color: #111114;
}
.ph-service-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0,82,180,0.0);
    transition: background 0.3s;
    z-index: 1;
    pointer-events: none;
}
.ph-service-card:hover::before {
    background: rgba(0,82,180,0.15);
}
.ph-service-card:hover {
    text-decoration: none;
}
.ph-service-card-inner {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    min-height: 160px;
    padding: 12px;
}
.ph-service-card-top {
    display: flex;
    justify-content: flex-end;
}
.ph-service-card-bottom {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.ph-service-name {
    color: #ffffff;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.3;
}
.ph-service-group {
    color: #a3a3a3;
    font-size: 0.75rem;
    font-weight: 500;
    margin-bottom: 6px;
}
.ph-service-meta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px 12px;
}
.ph-service-meta-item {
    display: flex;
    flex-direction: column;
    gap: 1px;
}
.ph-service-meta-label {
    color: #7a7a7a;
    font-size: 0.625rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.ph-service-meta-value {
    color: #d4d4d4;
    font-size: 0.75rem;
    font-weight: 500;
}
.ph-service-card:hover .ph-service-btn {
    background: rgba(254,110,110,0.20);
    color: #ff9f9f;
}
.ph-service-card-wrap .ph-service-card {
    border-radius: 8px 2px;
    flex: 1;
}
.ph-service-card-wrap:has(.ph-service-actions) .ph-service-card {
    border-radius: 8px 2px6px 0 0;
}
.ph-empty-state {
    text-align: center;
    padding: 60px 20px;
    color: #7a7a7a;
}
.ph-empty-state i {
    font-size: 2.5rem;
    margin-bottom: 16px;
    color: #3a3a3a;
}
.ph-empty-state h3 {
    color: #a3a3a3;
    font-size: 1.125rem;
    font-weight: 600;
    margin: 0 0 20px 0;
}
.ph-promo-btn {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    gap: 8px;
    padding: 12px 24px;
    background: linear-gradient(135deg, #fe6e6e, #e24848);
    color: #1a0707;
    font-size: 0.875rem;
    font-weight: 600;
    border-radius: 10px 2px;
    text-decoration: none;
    transition: background 0.2s, box-shadow 0.2s;
    flex-shrink: 0;
}
.ph-promo-btn:hover {
    background: linear-gradient(135deg, #ff9f9f, #fe6e6e);
    box-shadow: 0 4px 16px rgba(254,110,110,0.25);
    color: #1a0707;
    text-decoration: none;
}
.ph-promo-btn.ph-btn-disabled {
    background: rgba(255,255,255,0.06);
    color: #525252;
    cursor: not-allowed;
    box-shadow: none;
}
.ph-promo-btn.ph-btn-disabled:hover {
    background: rgba(255,255,255,0.06);
    box-shadow: none;
    color: #525252;
}
.ph-back-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #7a7a7a;
    font-size: 0.8125rem;
    font-family: inherit;
    transition: color 0.15s;
}
.ph-back-link:hover {
    color: #a3a3a3;
}
#modalBillingAddress select,
#modalBillingAddress .ph-input-wrap select {
    width: 100% !important;
    padding: 10px 36px 10px 40px !important;
    background: rgba(38,38,38,0.50) !important;
    background-color: rgba(38,38,38,0.50) !important;
    border: 1px solid rgba(58,58,58,0.40) !important;
    border-radius: 10px 2px!important;
    color: #f5f5f5 !important;
    font-size: 0.875rem !important;
    font-family: inherit !important;
    height: auto !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%2371717a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
}
.ph-pm-form-wrap input:disabled,
.ph-pm-form-wrap select:disabled,
.ph-input-wrap input:disabled,
.ph-input-wrap select:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}
.ph-details-checkboxes .ph-remember span {
    color: #a3a3a3;
}
.ph-details-page .ph-input-wrap select#country,
.ph-details-page .ph-input-wrap .form-control {
    width: 100% !important;
    padding: 10px 14px 10px 40px !important;
    background: rgba(38,38,38,0.50) !important;
    border: 1px solid rgba(58,58,58,0.40) !important;
    border-radius: 10px 2px!important;
    color: #f5f5f5 !important;
    font-size: 0.875rem !important;
    font-family: inherit !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%2371717a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
}
.ph-details-page .ph-input-wrap select#country option,
.ph-details-page .ph-input-wrap .form-control option {
    background: #131313 !important;
    color: #f5f5f5 !important;
}
.ph-details-page .ph-input-wrap select {
    width: 100% !important;
    padding: 10px 36px 10px 40px !important;
    background: rgba(38,38,38,0.50) !important;
    background-color: rgba(38,38,38,0.50) !important;
    border: 1px solid rgba(58,58,58,0.40) !important;
    border-color: rgba(58,58,58,0.40) !important;
    border-radius: 10px 2px!important;
    color: #f5f5f5 !important;
    font-size: 0.875rem !important;
    font-family: inherit !important;
    height: auto !important;
    outline: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%2371717a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
}
.ph-details-page .ph-input-wrap select option {
    background: #131313 !important;
    color: #f5f5f5 !important;
}
.ph-contacts-page .ph-input-wrap select {
    width: 100% !important;
    padding: 10px 36px 10px 40px !important;
    background: rgba(38,38,38,0.50) !important;
    background-color: rgba(38,38,38,0.50) !important;
    border: 1px solid rgba(58,58,58,0.40) !important;
    border-radius: 10px 2px!important;
    color: #f5f5f5 !important;
    font-size: 0.875rem !important;
    font-family: inherit !important;
    height: auto !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%2371717a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
}
.ph-contacts-page .ph-input-wrap select option {
    background: #131313 !important;
    color: #f5f5f5 !important;
}
.ph-cancel-reason {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 10px 2px;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}
.ph-cancel-reason:hover {
    background: rgba(255,255,255,0.06);
    border-color: rgba(255,255,255,0.10);
}
.ph-cancel-reason input[type="radio"] {
    -webkit-appearance: none;
    appearance: none;
    width: 16px;
    height: 16px;
    border: 1.5px solid rgba(255,255,255,0.15);
    border-radius: 50%;
    background: rgba(255,255,255,0.05);
    flex-shrink: 0;
    position: relative;
    cursor: pointer;
    transition: border-color 0.15s;
}
.ph-cancel-reason input[type="radio"]:checked {
    border-color: #fe6e6e;
    background: #fe6e6e;
}
.ph-cancel-reason input[type="radio"]:checked::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 6px;
    height: 6px;
    background: #fff;
    border-radius: 50%;
}
.ph-cancel-reason span {
    font-size: 0.8125rem;
    color: #d4d4d4;
    font-weight: 500;
}
.ph-cancel-submit-row .ph-btn-secondary {
    justify-content: center;
    padding: 12px;
}
.ph-cancel-confirm-btn {
    padding: 12px 20px;
    background: rgba(244,63,94,0.15);
    color: #fda4af;
    border: 1px solid rgba(244,63,94,0.20);
    border-radius: 10px 2px;
    font-size: 0.875rem;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    transition: background 0.15s;
}
.ph-cancel-confirm-btn:hover {
    background: rgba(244,63,94,0.25);
}
.ph-back-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #ff9f9f;
    font-size: 0.8125rem;
    font-weight: 500;
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.15s;
}
.ph-back-link:hover {
    color: #ff9f9f;
    text-decoration: none;
}
.ph-upgrade-card-action .ph-input-wrap {
    min-width: 180px;
}
.ph-upgrade-card-action .ph-input-wrap select {
    padding: 8px 12px 8px 36px;
    font-size: 0.8125rem;
}
@media (max-width: 768px) {
    .ph-upgrade-card-action .ph-input-wrap {
        min-width: 0;
        width: 100%;
    }
}
.ph-config-new .ph-input-wrap select {
    padding: 8px 12px 8px 36px;
    font-size: 0.8125rem;
}
.ph-invoice-page .ph-back-link { display: inline-flex; }
.ph-alert-success { background: rgba(34,197,94,0.10); }
.ph-alert-success i { color: #86efac; }
@media print {
    .ph-navbar, .ph-footer, .ph-breadcrumb, .btn-return-to-admin,
    .ph-invoice-page .ph-back-link, .d-print-none { display: none !important; }
}
.ph-invoice-pay-page .ph-back-link { display: inline-flex; }


/* ==========================================================================
   Novonode identity layer (same language as novonode.com)
   Graphite surfaces, coral as the one accent, Oswald uppercase headings,
   JetBrains Mono figures, corners from the logo's diagonal (round TL/BR,
   sharp TR/BL). Values mirror novo-landing's src/styles/app.css tokens.
   ========================================================================== */
#order-standard_cart.checkout-page.pg-v3 {
    --nn-canvas: #0a0a0a;
    --nn-surface: #131313;
    --nn-raised: #1b1b1b;
    --nn-line: #262626;
    --nn-line-strong: #3a3a3a;
    --nn-fg: #f5f5f5;
    --nn-fg-muted: #a3a3a3;
    --nn-fg-subtle: #7a7a7a;
    --nn-brand: #fe6e6e;
    --nn-brand-soft: #ff9f9f;
    --nn-brand-deep: #e24848;
    --nn-on-brand: #1a0707;
    --nn-display: 'Oswald', 'Inter', system-ui, sans-serif;
    --nn-mono: 'JetBrains Mono', ui-monospace, monospace;
}

/* Headline: the site's display voice */
#order-standard_cart.checkout-page.pg-v3 .pg-header h1 {
    font-family: var(--nn-display) !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.01em;
    line-height: 1 !important;
    font-size: 2.25rem !important;
    color: var(--nn-fg) !important;
}
#order-standard_cart.checkout-page.pg-v3 .pg-header .step-label {
    font-family: var(--nn-mono) !important;
    color: var(--nn-brand) !important;
    letter-spacing: 0.12em !important;
    font-size: 0.6875rem !important;
}

/* Section titles and labels that name a block */
#order-standard_cart.checkout-page.pg-v3 .section-label,
#order-standard_cart.checkout-page.pg-v3 .pg-due-label,
#order-standard_cart.checkout-page.pg-v3 .pg-next-title,
#order-standard_cart.checkout-page.pg-v3 .pg-summary h2,
#order-standard_cart.checkout-page.pg-v3 .pg-summary h3 {
    font-family: var(--nn-display) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    font-weight: 600 !important;
}
#order-standard_cart.checkout-page.pg-v3 .pg-marks-label {
    font-family: var(--nn-mono) !important;
    letter-spacing: 0.12em;
}

/* Money is mono, white; coral never means "price" */
#order-standard_cart.checkout-page.pg-v3 .pg-product-price,
#order-standard_cart.checkout-page.pg-v3 .pg-lines dd,
#order-standard_cart.checkout-page.pg-v3 .pg-totals dd,
#order-standard_cart.checkout-page.pg-v3 #pgSubtotal,
#order-standard_cart.checkout-page.pg-v3 .pg-line-discount dd,
#order-standard_cart.checkout-page.pg-v3 .pg-btn-total,
#order-standard_cart.checkout-page.pg-v3 .pg-summary-toggle-total {
    font-family: var(--nn-mono) !important;
    font-variant-numeric: tabular-nums;
}
#order-standard_cart.checkout-page.pg-v3 .pg-due-amount,
#order-standard_cart.checkout-page.pg-v3 #totalCartPrice {
    font-family: var(--nn-mono) !important;
    color: var(--nn-fg) !important;
    font-weight: 700 !important;
    font-size: 1.75rem !important;
    letter-spacing: -0.02em;
}

/* The pay button: coral fill, dark text (white on coral fails contrast) */
#order-standard_cart.checkout-page.pg-v3 .btn-success.pg-btn-complete {
    background: var(--nn-brand) !important;
    border-color: var(--nn-brand) !important;
    color: var(--nn-on-brand) !important;
    font-weight: 600 !important;
    box-shadow: 0 10px 24px -8px rgba(254,110,110,0.45) !important;
}
#order-standard_cart.checkout-page.pg-v3 .btn-success.pg-btn-complete:hover {
    background: var(--nn-brand-soft) !important;
    border-color: var(--nn-brand-soft) !important;
    box-shadow: 0 16px 32px -10px rgba(254,110,110,0.55) !important;
}
#order-standard_cart.checkout-page.pg-v3 .btn-success.pg-btn-complete:focus-visible {
    box-shadow: 0 0 0 2px var(--nn-canvas), 0 0 0 4px var(--nn-brand) !important;
}
#order-standard_cart.checkout-page.pg-v3 .btn-success.pg-btn-complete:disabled,
#order-standard_cart.checkout-page.pg-v3 .btn-success.pg-btn-complete.disabled {
    background: var(--nn-raised) !important;
    border-color: var(--nn-line-strong) !important;
    color: var(--nn-fg-subtle) !important;
    box-shadow: none !important;
}

/* Picked rows: a coral edge, not a coral flood */
#order-standard_cart.checkout-page.pg-v3 .selectable-card.selected {
    background: rgba(254,110,110,0.06) !important;
    box-shadow: none !important;
}
