

@media (max-width: 768px) {

    .checkout-progress-bar {
        padding: 12px 0 !important;
    }

    .progress-container {
        padding: 0 16px !important;
        gap: 0 !important;
    }

    .progress-line {
        margin: 0 8px !important;
    }

    .step-label {
        font-size: 11px !important;
    }

    .step-circle {
        width: 24px !important;
        height: 24px !important;
        font-size: 11px !important;
    }

    .checkout-main {
        padding: 20px 0 60px !important;
    }

    .checkout-grid {
        grid-template-columns: 1fr !important;
        padding: 0 16px !important;
        gap: 16px !important;
    }

    .checkout-single-col {
        padding: 16px 16px 40px !important;
        max-width: 100% !important;
    }

    .checkout-card {
        padding: 20px 16px !important;
        border-radius: 14px !important;
        margin-bottom: 16px !important;
    }

    .checkout-card h2 {
        font-size: 16px !important;
        margin-bottom: 16px !important;
    }

    .plan-summary-header {
        gap: 12px !important;
    }

    .plan-icon {
        width: 40px !important;
        height: 40px !important;
    }

    .plan-info h3 {
        font-size: 14px !important;
    }

    .form-grid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .form-group-full {
        grid-column: 1 !important;
    }

    .form-group input,
    .form-group select {
        width: 100% !important;
        min-height: 48px !important;
        font-size: 16px !important; 
        border-radius: 10px !important;
        padding: 12px 14px !important;
        box-sizing: border-box !important;
    }

    .form-group label {
        font-size: 13px !important;
        font-weight: 600 !important;
    }

    .btn-submit {
        min-height: 52px !important;
        font-size: 15px !important;
        border-radius: 12px !important;
        padding: 14px !important;
    }

    .total-row .total-amount {
        font-size: 20px !important;
    }

    .pricing-row {
        font-size: 13px !important;
    }

    .alert-box {
        padding: 14px !important;
        border-radius: 10px !important;
    }

    .status-card {
        padding: 32px 16px !important;
    }

    .status-card h2 {
        font-size: 22px !important;
    }

    .status-card p {
        font-size: 13px !important;
        margin-bottom: 24px !important;
    }

    .status-icon {
        width: 56px !important;
        height: 56px !important;
        margin-bottom: 24px !important;
    }

    .details-box {
        padding: 16px !important;
        border-radius: 10px !important;
    }

    .details-row {
        font-size: 13px !important;
        flex-wrap: wrap !important;
        gap: 4px !important;
    }

    .btn-primary-block,
    .btn-outline-block {
        min-height: 50px !important;
        font-size: 15px !important;
        border-radius: 12px !important;
    }

    .whats-next {
        padding: 20px 16px !important;
        border-radius: 14px !important;
        margin-top: 16px !important;
    }

    .receipt-header-bar {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
    }

    .receipt-actions {
        width: 100% !important;
    }

    .receipt-actions button,
    .receipt-actions a {
        flex: 1 !important;
    }

    .receipt-top {
        flex-direction: column !important;
        gap: 16px !important;
        align-items: flex-start !important;
    }

    .receipt-meta {
        text-align: left !important;
    }

    .billed-to {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        padding: 16px !important;
    }

    .transaction-cards {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .receipt-footer-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .rt-final .total-val {
        font-size: 20px !important;
    }

    .receipt-action-bar {
        margin: 80px 16px 16px !important;
        flex-wrap: wrap !important;
        gap: 10px !important;
    }

    .security-badge {
        font-size: 11px !important;
        padding: 10px !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        text-align: center !important;
    }

    .terms-check {
        font-size: 13px !important;
        align-items: flex-start !important;
    }

    .failed-reasons {
        padding: 16px !important;
    }

    .help-link-box {
        flex-direction: column !important;
    }

    .checkout-footer .container {
        flex-direction: column !important;
        gap: 8px !important;
        text-align: center !important;
    }

    .checkout-footer-links {
        gap: 16px !important;
        justify-content: center !important;
    }
}

@media (max-width: 390px) {
    .checkout-card {
        padding: 16px 14px !important;
    }

    .status-card h2 {
        font-size: 20px !important;
    }
}

/* Unified checkout responsiveness overrides (all checkout pages) */
@media (max-width: 1024px) {
    .checkout-grid {
        grid-template-columns: 1fr !important;
    }

    .checkout-col-left,
    .checkout-col-right {
        width: 100% !important;
    }
}

@media (max-width: 768px) {
    .checkout-main {
        padding: 16px 0 32px !important;
    }

    .checkout-grid,
    .checkout-single-col {
        max-width: 100% !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .checkout-card {
        padding: 16px !important;
        margin-bottom: 12px !important;
        border-radius: 12px !important;
    }

    .progress-container {
        padding-left: 12px !important;
        padding-right: 12px !important;
        gap: 6px !important;
    }

    .progress-line {
        margin: 0 4px !important;
    }

    .step-label {
        font-size: 10px !important;
    }

    .step-circle {
        width: 22px !important;
        height: 22px !important;
        font-size: 10px !important;
    }

    .receipt-action-bar {
        margin: 76px 12px 12px !important;
        padding: 0 !important;
        width: calc(100% - 24px) !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
    }

    .receipt-actions {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
    }

    .btn-sm-blue,
    .btn-sm-outline {
        width: 100% !important;
        justify-content: center !important;
    }

    .rt-header,
    .rt-row {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .rt-final .total-val {
        font-size: 18px !important;
    }

    .security-badge {
        white-space: normal !important;
        line-height: 1.4 !important;
    }

    /* Override conflicting fixed button behavior from checkout.css */
    .btn-submit {
        position: static !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        box-shadow: none !important;
        border-radius: 12px !important;
    }
}

@media (max-width: 480px) {
    .checkout-footer-links {
        flex-wrap: wrap !important;
        row-gap: 6px !important;
    }

    .details-row {
        align-items: flex-start !important;
    }

    .rt-header span,
    .rt-row .rt-amount {
        font-size: 12px !important;
    }
}
