/* Westarter Commerce + Blog styles [migrated verbatim from theme style.css] */

/* ================================================================
   Account Page CSS v3 (Minimal + FA Icons + Centered)
   Account CSS
   DELETE karo aur ye paste karo
   ================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

:root {
    --oq-primary: #4733aa;
    --oq-primary-l: #f0edff;
    --oq-dark: #1B1B1B;
    --oq-bg: #f6f6f9;
    --oq-card: #ffffff;
    --oq-border: #e8e6f0;
    --oq-muted: #6b6b80;
    --oq-radius: 12px;
    --oq-shadow: 0 1px 6px rgba(71, 51, 170, 0.07);
}

/* ── Hide WooCommerce page-header on account pages ───────────── */
body.woocommerce-account .page-header,
body.woocommerce-account h1.entry-title,
body.woocommerce-account .entry-title {
    display: none !important;
}

/* ── Page layout: full height so footer stays at bottom ─────── */
body.woocommerce-account {
    background: var(--oq-bg) !important;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

body.woocommerce-account .site-main {
    flex: 1;
}

body.woocommerce-account .page-content,
body.woocommerce-account .entry-content {
    max-width: 1100px;
    padding: 200px 25px 30px 25px;
    width: 100%;
    box-sizing: border-box;
}

.woocommerce form .form-row-first,
.woocommerce form .form-row-last,
.woocommerce-page form .form-row-first,
.woocommerce-page form .form-row-last {
    width: 50% !important;
}

/* ── Wrapper ──────────────────────────────────────────────────── */
.oq-account-wrap {
    display: flex;
    gap: 24px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    align-items: flex-start;
    width: 100%;
}

/* ── Sidebar ──────────────────────────────────────────────────── */
.oq-sidebar {
    width: 220px;
    flex-shrink: 0;
    background: var(--oq-card);
    border: 1px solid var(--oq-border);
    border-radius: var(--oq-radius);
    box-shadow: var(--oq-shadow);
    overflow: hidden;
    position: sticky;
    top: 90px;
}

.oq-user-info {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 18px 16px;
    border-bottom: 1px solid var(--oq-border);
    background: var(--oq-primary-l);
}

.oq-avatar {
    width: 38px;
    height: 38px;
    background: var(--oq-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: 800;
    font-size: 16px;
    flex-shrink: 0;
}

.oq-username {
    font-weight: 700;
    color: var(--oq-dark);
    font-size: 13px;
    line-height: 1.3;
    word-break: break-word;
}

.oq-nav {
    display: flex;
    flex-direction: column;
    padding: 8px;
    gap: 2px;
}

.oq-nav-item {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 10px 13px;
    border-radius: 10px;
    color: var(--oq-muted);
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 500;
    transition: all 0.15s;
}

.oq-nav-item i {
    width: 16px;
    text-align: center;
    font-size: 13px;
    flex-shrink: 0;
}

.oq-nav-item:hover {
    background: var(--oq-primary-l);
    color: var(--oq-primary);
}

.oq-nav-item.active {
    background: var(--oq-primary);
    color: #fff;
    font-weight: 600;
}

.oq-logout {
    margin: 6px 0 4px;
    border-top: 1px solid var(--oq-border);
    padding-top: 10px !important;
    border-radius: 0 !important;
    color: #dc2626 !important;
}

.oq-logout:hover {
    background: #fff5f5 !important;
    color: #b91c1c !important;
    border-radius: 8px !important;
}

/* ── Main ─────────────────────────────────────────────────────── */
.oq-main {
    flex: 1;
    min-width: 0;
    width: 100% !important;
}

.oq-page-header {
    margin-bottom: 20px;
}

.oq-page-header h1 {
    font-size: 1.75rem !important;
    font-weight: 800 !important;
    color: var(--oq-dark) !important;
    margin: 0 0 3px 0 !important;
    display: block !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
}

.oq-subtitle {
    color: var(--oq-muted);
    font-size: 13px;
    margin: 0;
}

/* ── Cards ────────────────────────────────────────────────────── */
.oq-card {
    background: var(--oq-card);
    border: 1px solid var(--oq-border);
    border-radius: var(--oq-radius);
    padding: 18px;
    margin-bottom: 12px;
    box-shadow: var(--oq-shadow);
}

/* ── Membership Card ──────────────────────────────────────────── */
.oq-membership-card {
    border-left: 3px solid var(--oq-primary);
}

.oq-badge {
    display: inline-block;
    background: var(--oq-primary);
    color: white;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 12px;
    border-radius: 20px;
    margin-bottom: 10px;
}

.oq-badge-active {
    display: inline-block;
    background: #16a34a;
    color: white;
    font-size: 10px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.oq-plan-name {
    font-size: 1.15rem !important;
    font-weight: 800 !important;
    color: var(--oq-dark) !important;
    margin: 0 0 4px 0 !important;
    display: block !important;
}

.oq-plan-price {
    color: var(--oq-muted);
    font-size: 13px;
    margin: 0 0 12px 0;
    font-weight: 500;
}

.oq-manage-link {
    color: var(--oq-primary);
    font-weight: 600;
    font-size: 13px;
    text-decoration: none !important;
}

.oq-manage-link:hover {
    opacity: 0.8;
}

/* ── Quick Links ──────────────────────────────────────────────── */
.oq-quick-links {
    padding: 0;
    overflow: hidden;
}

.oq-quick-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
    color: var(--oq-dark);
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 500;
    border-bottom: 1px solid var(--oq-border);
    transition: background 0.13s;
    gap: 10px;
}

.oq-quick-item i {
    color: var(--oq-primary);
    margin-right: 6px;
}

.oq-quick-item:last-child {
    border-bottom: none;
}

.oq-quick-item:hover {
    background: var(--oq-primary-l);
    color: var(--oq-primary);
}

.oq-chevron {
    color: var(--oq-muted);
    font-size: 16px;
}

/* ── Plan Card ────────────────────────────────────────────────── */
.oq-plan-card {
    border-top: 3px solid var(--oq-primary);
}

.oq-plan-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 14px;
}

.oq-plan-card-header h2 {
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    color: var(--oq-dark) !important;
    margin: 0 0 3px 0 !important;
    display: block !important;
}

.oq-plan-card-header p {
    color: var(--oq-muted);
    font-size: 12px;
    margin: 0;
}

.oq-change-plan-link {
    display: inline-block;
    color: #ffffff !important;
    font-weight: 600 !important;
    background: #4733aa;
    font-size: 13px;
    text-decoration: none !important;
    border: 1.5px solid #000000;
    padding: 6px 14px !important;
    border-radius: 7px !important;
    transition: all 0.15s;
    white-space: nowrap;
}

.oq-change-plan-link:hover {
    color: #4733aa !important;
    border: 1.5px solid var(--oq-primary);
    background: none !important;
}

/* ── Info Rows ────────────────────────────────────────────────── */
.oq-section-title {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--oq-dark) !important;
    margin: 0 0 12px 0 !important;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--oq-border);
    display: block !important;
}

.oq-info-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid #f3f3f7;
    font-size: 13px;
}

.oq-info-label {
    color: var(--oq-muted);
    font-weight: 500;
}

.oq-info-value {
    font-weight: 700;
    color: var(--oq-dark);
    display: flex;
    align-items: center;
    gap: 6px;
}

.oq-card-brand-sm {
    background: var(--oq-primary);
    color: white;
    font-size: 9px;
    font-weight: 800;
    padding: 2px 6px;
    border-radius: 4px;
    letter-spacing: 0.3px;
}

.oq-card-links {
    margin-top: 12px;
}

.oq-link-row {
    display: block;
    padding: 12px 0;
    color: var(--oq-primary);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
    border-top: 1px solid var(--oq-border);
    transition: opacity 0.14s;
}

.oq-link-row:hover {
    opacity: 0.75;
}

/* ── Saved Card Visual ────────────────────────────────────────── */
.oq-saved-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px;
    background: linear-gradient(135deg, #4733aa 0%, #6c52d9 100%);
    border-radius: 10px;
    color: white;
    margin-bottom: 6px;
}

.oq-card-visual {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.oq-card-brand-logo {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.5px;
    opacity: 0.7;
    text-transform: uppercase;
}

.oq-card-number {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 2px;
}

.oq-card-expiry {
    font-size: 11px;
    opacity: 0.7;
}

/* ── Buttons ──────────────────────────────────────────────────── */
.oq-btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--oq-primary);
    color: white !important;
    padding: 9px 20px;
    border-radius: 7px;
    font-weight: 600;
    font-size: 13px;
    text-decoration: none !important;
    transition: opacity 0.15s;
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.oq-btn-primary:hover {
    opacity: 0.88;
}

.oq-btn-outline {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 1.5px solid rgba(255, 255, 255, 0.65);
    color: white !important;
    padding: 7px 16px;
    border-radius: 7px;
    font-weight: 600;
    font-size: 12px;
    text-decoration: none !important;
    transition: background 0.15s;
    background: rgba(255, 255, 255, 0.1);
}

.oq-btn-outline:hover {
    background: rgba(255, 255, 255, 0.22);
}

/* ── No plan / no card ────────────────────────────────────────── */
.oq-no-plan,
.oq-no-card {
    text-align: center;
    padding: 36px 20px;
    color: var(--oq-muted);
}

.oq-no-plan p,
.oq-no-card p {
    margin-bottom: 14px;
    font-size: 14px;
}

/* ── Password Form ────────────────────────────────────────────── */
.oq-password-card .woocommerce-EditAccountForm label {
    font-size: 13px !important;
    font-weight: 600;
    color: var(--oq-dark);
    margin-bottom: 4px;
    display: block;
}

.oq-password-card .woocommerce-EditAccountForm input[type="text"],
.oq-password-card .woocommerce-EditAccountForm input[type="email"],
.oq-password-card .woocommerce-EditAccountForm input[type="password"] {
    border: 1.5px solid var(--oq-border) !important;
    border-radius: 7px !important;
    padding: 9px 13px !important;
    width: 100% !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 13px !important;
    color: var(--oq-dark) !important;
    transition: border-color 0.14s !important;
    box-sizing: border-box !important;
}

.oq-password-card .woocommerce-EditAccountForm input:focus {
    outline: none !important;
    border-color: var(--oq-primary) !important;
    box-shadow: 0 0 0 3px rgba(71, 51, 170, 0.1) !important;
}

.oq-password-card .woocommerce-EditAccountForm fieldset {
    border: 1.5px solid var(--oq-border);
    border-radius: 9px;
    padding: 16px 16px 8px;
    margin: 16px 0 12px;
}

.oq-password-card .woocommerce-EditAccountForm fieldset legend {
    font-size: 12px;
    font-weight: 700;
    color: var(--oq-primary);
    padding: 0 6px;
}

.oq-password-card .woocommerce-EditAccountForm button[type="submit"],
.oq-password-card .woocommerce-EditAccountForm input[type="submit"] {
    background: var(--oq-primary) !important;
    border: none !important;
    color: white !important;
    padding: 10px 24px !important;
    border-radius: 7px !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    cursor: pointer !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    transition: opacity 0.15s !important;
}

.oq-password-card .woocommerce-EditAccountForm button:hover {
    opacity: 0.88 !important;
}

/* ── Pricing page: current plan badge ────────────────────────── */
.oq-current-plan-badge {
    position: absolute;
    top: 70px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--oq-primary);
    color: white;
    font-size: 10.5px;
    font-weight: 800;
    padding: 3px 14px;
    border-radius: 20px;
    white-space: nowrap;
    box-shadow: 0 3px 10px rgba(71, 51, 170, 0.28);
    z-index: 10;
    font-family: 'Plus Jakarta Sans', sans-serif;
}

/* ── Quick-link icon spacing ──────────────────────────────────── */
.oq-quick-item span i {
    margin-right: 8px;
}

/* ── Mobile ───────────────────────────────────────────────────── */
@media (max-width: 768px) {

    body.woocommerce-account .page-content,
    body.woocommerce-account .entry-content {
        padding: 20px 0px;
    }

    .oq-account-wrap {
        flex-direction: column;
        gap: 14px;
        margin-top: 25px;
    }

    .oq-main {
        margin-top: 20px;
    }

    .oq-sidebar {
        width: 100%;
        position: static;
    }

    .oq-nav {
        flex-direction: row;
        overflow-x: auto;
        gap: 4px;
        padding: 8px;
        -webkit-overflow-scrolling: touch;
    }

    .oq-nav-item {
        white-space: nowrap;
        flex-shrink: 0;
        padding: 7px 10px;
        font-size: 12px;
    }

    .oq-logout {
        border-top: none !important;
        padding-top: 9px !important;
        margin: 0 !important;
        border-radius: 8px !important;
    }

    .oq-page-header h1 {
        font-size: 1.45rem !important;
    }

    .oq-saved-card {
        flex-direction: column;
        gap: 14px;
        align-items: flex-start;
    }

    .oq-plan-card-header {
        flex-direction: column;
        gap: 10px;
    }
}


/* Overview — Plans Grid */
.oq-plans-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 16px;
    margin-bottom: 20px;
}

.oq-plan-box {
    padding: 18px;
}

.oq-plan-box-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}

.oq-plan-box-name {
    font-size: 16px;
    font-weight: 600;
    margin: 0;
}

.oq-plan-box-price {
    display: flex;
    align-items: baseline;
    gap: 4px;
    margin-bottom: 8px;
}

.oq-plan-amount {
    font-size: 26px;
    font-weight: 700;
    color: #252525;
}

.oq-plan-meta {
    font-size: 13px;
    color: #6b7280;
    margin: 0;
}


/* Subscription Box */
.oq-sub-box {
    padding: 18px;
    margin-bottom: 20px;
}

.oq-sub-box-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.oq-sub-name {
    font-size: 20px;
    font-weight: 700;
    margin: 6px 0 4px;
}

.oq-sub-meta {
    font-size: 13px;
    color: #6b7280;
    margin: 0;
}

.oq-sub-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid #e5e7eb;
}

.oq-cancel-sub-btn {
    background: none !important;
    border: 1px solid #ef4444;
    color: #ef4444 !important;
    padding: 6px 14px !important;
    font-size: 13px;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.2s;
}

.oq-cancel-sub-btn:hover {
    background: #ef4444 !important;
    color: #fff !important;
}


/* ================================================
   OQURAN CHECKOUT — COMPLETE FIX v2
   ================================================ */

/* ---- Page background ---- */
body.woocommerce-checkout {
    background: #f5f5f5;
}

/* ---- Main 2-column flex layout ---- */
body.woocommerce-checkout form.woocommerce-checkout {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 24px !important;
    align-items: flex-start !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
}

/* ---- LEFT column: customer_details ---- */
body.woocommerce-checkout #customer_details {
    flex: 0 0 52% !important;
    width: 52% !important;
    max-width: 52% !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* ---- RIGHT column: order_review ---- */
body.woocommerce-checkout #order_review {
    flex: 0 0 calc(48% - 24px) !important;
    width: calc(48% - 24px) !important;
    max-width: calc(48% - 24px) !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.oc-express-box.oc-visible,
.oc-payment-heading.oc-visible {
    visibility: visible !important;
    pointer-events: auto;
}

/* ---- Express btns container ---- */
#oc-express-btns {
    display: block !important;
    width: 100% !important;
    min-height: 48px;
}

@media (max-width: 767px) {
    body.woocommerce-checkout form.woocommerce-checkout {
        flex-direction: column !important;
        gap: 16px !important;
    }

    body.woocommerce-checkout #customer_details,
    body.woocommerce-checkout #order_review {
        flex: unset !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* ---- Hide elements that break layout ---- */
body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout .woocommerce-billing-fields>h3,
body.woocommerce-checkout .woocommerce-additional-fields>h3,
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-additional-fields,
body.woocommerce-checkout .shop_table.woocommerce-checkout-review-order-table,
body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .checkout_coupon,
body.woocommerce-checkout .woocommerce-SavedPaymentMethods-tokenInput,
body.woocommerce-checkout label[for="wc-stripe-payment-token-new"],
body.woocommerce-checkout .woocommerce-SavedPaymentMethods-new {
    display: none !important;
}

/* ---- col2-set: single column inside left ---- */
body.woocommerce-checkout .col2-set {
    display: block !important;
    width: 100% !important;
    float: none !important;
}

body.woocommerce-checkout .col2-set .col-1,
body.woocommerce-checkout .col2-set .col-2 {
    float: none !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.woocommerce-checkout .col2-set .col-2 {
    display: none !important;
}

/* ---- Hide stripe notices top ---- */
body.woocommerce-checkout .woocommerce-notices-wrapper {
    display: none !important;
}

/* ================================================
   ORDER SUMMARY BOX
   ================================================ */
.oc-summary-box {
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 12px;
    padding: 15px;
    margin-bottom: 16px;
}

.oc-summary-title {
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #111 !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    border: none !important;
}

/* Cart item */
.oc-cart-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid #f2f2f2;
}

.oc-item-thumb img {
    width: 48px;
    height: 48px;
    border-radius: 8px;
    object-fit: cover;
    border: 1px solid #eee;
    display: block;
}

.oc-thumb-placeholder {
    width: 48px;
    height: 48px;
    border-radius: 8px;
    background: #f0f0f0;
    border: 1px solid #eee;
    flex-shrink: 0;
}

.oc-item-info {
    flex: 1;
}

.oc-item-name {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #111 !important;
    margin: 0 0 2px !important;
    line-height: 1.4 !important;
}

.oc-item-meta {
    font-size: 12px !important;
    color: #888 !important;
    margin: 0 !important;
}

.oc-item-price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    text-align: right;
    white-space: nowrap;
    flex-shrink: 0;
}

.oc-item-price .oc-pl-orig {
    font-size: 13px;
    color: #9ca3af;
    text-decoration: line-through;
    line-height: 1.3;
}

.oc-item-price .oc-pl-new {
    font-size: 16px;
    font-weight: 700;
    color: #4733aa;
    line-height: 1.3;
}

.oc-remove-btn {
    background: #fff0f0 !important;
    border: 1px solid #fdd !important;
    color: #e05555 !important;
    width: 28px !important;
    height: 28px !important;
    min-height: unset !important;
    border-radius: 50% !important;
    font-size: 18px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    line-height: 1 !important;
    flex-shrink: 0;
    transition: background .2s;
}

.oc-remove-btn:hover {
    background: #ffe0e0 !important;
}

/* Coupon */
.oc-coupon-row {
    display: flex;
    gap: 10px;
    margin: 16px 0 6px;
}

#oc-coupon-field {
    flex: 1;
    padding: 10px 14px !important;
    border: 1px solid #ddd !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    outline: none !important;
    box-shadow: none !important;
    height: auto !important;
    color: #333;
}

#oc-coupon-field:focus {
    border-color: #999 !important;
}

#oc-coupon-btn {
    padding: 10px 20px !important;
    background: #fff !important;
    border: 1px solid #222 !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    color: #111 !important;
    height: auto !important;
    white-space: nowrap;
}

#oc-coupon-btn:hover {
    background: #f5f5f5 !important;
}

/* Totals */
.oc-totals {
    border-top: 1px solid #efefef;
    padding-top: 14px;
    margin-top: 12px;
}

.oc-total-row {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    color: #555;
    margin-bottom: 8px;
}

/* Grand total */
.oc-grand-total {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    border-top: 1px solid #e5e5e5;
    padding-top: 14px;
    margin-top: 6px;
}

.oc-grand-total strong {
    font-size: 16px;
    color: #111;
}

.oc-grand-total>div {
    text-align: right;
}

.oc-grand-price {
    display: block;
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #111 !important;
    line-height: 1.1;
}

.oc-grand-total small {
    font-size: 12px;
    color: #888;
}

/* Guarantees */
.oc-guarantees {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid #efefef;
}

.oc-guarantees p {
    font-size: 13px !important;
    color: #444 !important;
    margin: 0 0 6px !important;
    padding: 0 !important;
}

/* ================================================
   CONTACT INFORMATION
   ================================================ */
.oc-contact-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #fff;
    border: 1px solid #e8e8e8;
    border-bottom: none;
    border-radius: 12px 12px 0 0;
    padding: 18px 24px;
}


.oc-contact-heading h3 {
    font-size: 17px !important;
    font-weight: 600 !important;
    color: #111 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

/* Billing fields box */
body.woocommerce-checkout .woocommerce-billing-fields {
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 12px;
    padding: 18px;
}

/* Field labels */
body.woocommerce-checkout .woocommerce-billing-fields label {
    font-size: 13px !important;
    color: #555 !important;
    font-weight: 500 !important;
    margin-bottom: 4px !important;
    display: block;
}

/* All input/select fields */
body.woocommerce-checkout .woocommerce-billing-fields input[type="text"],
body.woocommerce-checkout .woocommerce-billing-fields input[type="email"],
body.woocommerce-checkout .woocommerce-billing-fields input[type="tel"],
body.woocommerce-checkout .woocommerce-billing-fields select,
body.woocommerce-checkout .woocommerce-billing-fields textarea {
    width: 100% !important;
    padding: 10px 14px !important;
    border: 1px solid #ddd !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
    outline: none !important;
    box-shadow: none !important;
    height: auto !important;
    color: #333 !important;
}

body.woocommerce-checkout .woocommerce-billing-fields input:focus,
body.woocommerce-checkout .woocommerce-billing-fields select:focus {
    border-color: #999 !important;
    box-shadow: none !important;
}

/* Required star */
body.woocommerce-checkout .woocommerce-billing-fields .required {
    color: #e05555 !important;
}

/* ================================================
   RIGHT SIDE: EXPRESS CHECKOUT
   ================================================ */
.oc-express-box {
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 12px;
    padding: 18px;
    margin-bottom: 16px;
}

.oc-we-accept {
    display: flex;
    align-items: center;
    gap: 8px;
    border-top: 1px solid #f0f0f0;
    padding-top: 14px;
    font-size: 13px;
    color: #888;
    flex-wrap: wrap;
}

.oc-card {
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .5px;
}

.oc-card.visa {
    color: #1a1f71;
}

.oc-card.mc {
    color: #eb001b;
    letter-spacing: -2px;
}

.oc-card.amex {
    color: #2e77bc;
}

.oc-card.pp {
    color: #003087;
}

/* ================================================
   RIGHT SIDE: PAYMENT HEADING
   ================================================ */
.oc-payment-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #fff;
    border: 1px solid #e8e8e8;
    border-bottom: none;
    border-radius: 12px 12px 0 0;
    padding: 18px 24px;
}

.oc-payment-heading h3 {
    font-size: 17px !important;
    font-weight: 600 !important;
    color: #111 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    flex: 1;
}

.oc-stripe-badge {
    font-size: 12px;
    color: #999;
    margin-left: auto;
}

/* ================================================
   PAYMENT BOX (#payment)
   ================================================ */
body.woocommerce-checkout #payment {
    background: #fff !important;
    border: 1px solid #e8e8e8 !important;
    border-top: none !important;
    border-radius: 0 0 12px 12px !important;
    padding: 18px !important;
    margin: 0 !important;
}

/* Payment method tabs */
body.woocommerce-checkout #payment ul.wc_payment_methods {
    padding: 0 !important;
    margin: 0 0 16px !important;
    border-bottom: 1px solid #efefef !important;
    display: flex !important;
    list-style: none !important;
    gap: 0 !important;
}

body.woocommerce-checkout #payment ul.wc_payment_methods li {
    flex: 1;
    text-align: center;
}

body.woocommerce-checkout #payment ul.wc_payment_methods li label {
    display: block !important;
    padding: 10px 8px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    cursor: pointer;
    background: #f8f8f8;
    border: 1px solid #e8e8e8;
    border-bottom: 2px solid transparent;
    border-radius: 8px 8px 0 0;
    margin: 0 !important;
    color: #555 !important;
}

body.woocommerce-checkout #payment ul.wc_payment_methods input[type="radio"]:checked+label {
    background: #fff !important;
    color: #111 !important;
    font-weight: 600 !important;
    border-bottom-color: #2563eb !important;
}

body.woocommerce-checkout #payment ul.wc_payment_methods input[type="radio"] {
    display: none !important;
}

/* Payment box content */
body.woocommerce-checkout #payment .payment_box {
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    margin: 0 0 16px !important;
}

body.woocommerce-checkout #payment .payment_box::before {
    display: none !important;
}

/* Stripe UPE card element */
body.woocommerce-checkout #wc-stripe-upe-form {
    padding: 0 !important;
    border: none !important;
}

.payment_box.payment_method_stripe fieldset {
    border: none !important;
    padding: 0px !important;
    margin: 0px !important;
}

/* Save card checkbox */
body.woocommerce-checkout #payment .woocommerce-SavedPaymentMethods-saveNew {
    font-size: 13px !important;
    color: #555 !important;
    margin: 12px 0 !important;
}

/* Privacy policy text */
body.woocommerce-checkout .woocommerce-privacy-policy-text {
    font-size: 12px !important;
    color: #888 !important;
    margin: 12px 0 !important;
}

body.woocommerce-checkout .woocommerce-privacy-policy-text a {
    color: #2563eb !important;
    text-decoration: underline !important;
}

/* Place Order button */
body.woocommerce-checkout #place_order {
    background: #4733aa !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 14px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    width: 100% !important;
    cursor: pointer !important;
    transition: background .2s !important;
    margin-top: 12px !important;
    display: block !important;
    text-align: center !important;
    letter-spacing: .3px;
}

body.woocommerce-checkout #place_order:hover {
    background: #252525 !important;
}

/* ================================================
   RESPONSIVE
   ================================================ */
@media (max-width: 767px) {
    body.woocommerce-checkout form.woocommerce-checkout {
        flex-direction: column !important;
    }

    body.woocommerce-checkout #customer_details {
        flex: unset !important;
        width: 100% !important;
    }

    body.woocommerce-checkout #order_review {
        width: 100% !important;
    }
}


/* ---- 50/50 Two Column Layout ---- */
body.woocommerce-checkout form.woocommerce-checkout {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 24px !important;
    align-items: flex-start !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
}

body.woocommerce-checkout #customer_details {
    flex: 0 0 50% !important;
    width: 50% !important;
    max-width: 50% !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

body.woocommerce-checkout #order_review {
    flex: 1 1 50% !important;
    width: 50% !important;
    max-width: 50% !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* ---- Express Box (JS se banta hai) ---- */
.oc-express-box {
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 12px;
    padding: 20px 24px;
    margin-bottom: 16px;
}

.oc-express-label {
    text-align: center;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    color: #aaa !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
}

#oc-express-inner {
    display: block;
    width: 100%;
}

#wc-stripe-express-checkout-element {
    width: 100% !important;
    display: block !important;
}

/* ---- Payment box — Express ke baad seedha connect ---- */
body.woocommerce-checkout #payment {
    background: #fff !important;
    border: 1px solid #e8e8e8 !important;
    border-radius: 12px !important;
    padding: 20px 24px !important;
    margin: 0 !important;
}

/* ---- order_review opacity ---- */
body.woocommerce-checkout #order_review {
    opacity: 0 !important;
    transition: opacity 0.15s ease !important;
}

/* ---- Responsive ---- */
@media (max-width: 767px) {
    body.woocommerce-checkout form.woocommerce-checkout {
        flex-direction: column !important;
    }

    body.woocommerce-checkout #customer_details,
    body.woocommerce-checkout #order_review {
        flex: unset !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}


/* ================================================
   FIELDS — Hidden fields
   ================================================ */
.oc-field-hidden,
#billing_state_field,
#billing_address_1_field,
#billing_address_2_field {
    display: none !important;
}

/* Coupon toggle bhi hide karo */
.woocommerce-form-coupon-toggle,
.checkout_coupon,
#oc-coupon-row,
.oc-coupon-row,
#oc-coupon-msg {
    display: none !important;
}


/* Phone — full width */
body.woocommerce-checkout #billing_phone_field {
    width: 100% !important;
    float: none !important;
    clear: both !important;
}

/* City field — hide (agar WooCommerce country ki wajah se dobara show kare) */
body.woocommerce-checkout #billing_city_field {
    display: none !important;
}

/* ================================================
   FIELDS — 50/50 layout
   ================================================ */

/* Email (left) + Full name (right) */
body.woocommerce-checkout #billing_email_field,
body.woocommerce-checkout #billing_first_name_field {
    width: calc(50% - 8px) !important;
    float: left !important;
    clear: none !important;
    box-sizing: border-box !important;
}

body.woocommerce-checkout #billing_first_name_field {
    float: right !important;
    margin-left: 16px !important;
}

/* Country (left) + Phone (right) */
body.woocommerce-checkout #billing_country_field,
body.woocommerce-checkout #billing_phone_field {
    width: calc(50% - 8px) !important;
    float: left !important;
    clear: none !important;
    box-sizing: border-box !important;
}

body.woocommerce-checkout #billing_phone_field {
    float: right !important;
    margin-left: 16px !important;
}

/* Float clear */
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
    overflow: hidden;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper::after {
    content: "";
    display: table;
    clear: both;
}

/* City, postcode — force hide */
body.woocommerce-checkout #billing_city_field,
body.woocommerce-checkout #billing_postcode_field {
    display: none !important;
}

/* Phone full width override hata do */
body.woocommerce-checkout #billing_phone_field {
    float: right !important;
    clear: none !important;
}

/* ================================================
   STRIPE CARD VALIDATION ERRORS
   ================================================ */
#wc-stripe-upe-errors {
    background: #fff0f0 !important;
    border: 1px solid #fdd !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
    margin-top: 10px !important;
    font-size: 13px !important;
    color: #c0392b !important;
    display: block;
}

#wc-stripe-upe-errors:empty {
    display: none !important;
}

/* Stripe UPE iframe container */
.wc-stripe-upe-element {
    border: 1px solid #ddd !important;
    border-radius: 0px 0px 8px 8px !important;
    padding: 0px !important;
    background: #fff !important;
    min-height: 44px;
}


/* ================================================
   STRIPE EXPRESS CHECKOUT — Container styling
   ================================================ */
#wc-stripe-express-checkout-element {
    min-height: 48px;
    width: 100% !important;
}

#oc-express-btns {
    display: block !important;
    gap: 10px;
    margin-bottom: 16px;
    min-height: 48px;
    width: 100%;
}

#wc-stripe-express-checkout-button-separator {
    font-size: 12px;
    color: #aaa;
    text-align: center;
    margin: 6px 0 !important;
}


/* ================================================
   REMOVE BUTTON — Opacity animation
   ================================================ */
.oc-cart-item {
    transition: opacity 0.2s;
}

/* ================================================
   WOOCOMMERCE NOTICES — Hide on checkout
   ================================================ */
body.woocommerce-checkout .woocommerce-notices-wrapper:empty {
    display: none !important;
}

/* ================================================
   FLASH FIX v2 — order_review hide until JS ready
   ================================================ */
body.woocommerce-checkout #order_review {
    opacity: 0 !important;
    transition: opacity 0.15s ease !important;
}

body.woocommerce-checkout #order_review.oc-ready {
    opacity: 1 !important;
}


/* ================================================
   DOUBLE BORDER FIX — Payment method tab hide
   ================================================ */

/* Payment box top border fix */
body.woocommerce-checkout #payment {
    border-top: none !important;
}

/* "Use a new payment method" text hide */
body.woocommerce-checkout .woocommerce-SavedPaymentMethods,
body.woocommerce-checkout .woocommerce-SavedPaymentMethods-new {
    display: none !important;
}

/* Save payment checkbox style */
body.woocommerce-checkout .woocommerce-SavedPaymentMethods-saveNew {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 13px !important;
    color: #555 !important;
    margin: 12px 0 !important;
}

body.woocommerce-checkout .woocommerce-SavedPaymentMethods-saveNew input[type="checkbox"] {
    width: auto !important;
    margin: 0 !important;
    flex-shrink: 0;
}

/* Express checkout — JS move karne ke baad show hoga */
#oc-express-btns #wc-stripe-express-checkout-element {
    display: block !important;
    margin: 0 !important;
}

/* Stripe card UPE element — zaroor visible hona chahiye */
#wc-stripe-upe-form,
.wc-stripe-upe-element {
    display: block !important;
    visibility: visible !important;
}

/* Stripe hidden input — position fix for responsive */
#wc-stripe-hidden-style-input {
    position: fixed !important;
    top: -9999px !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

.form-row.place-order {
    padding: 0px !important;
}

/* ── Quantity Badge on Image ──────────────────────────────── */
.oc-item-thumb {
    position: relative;
    flex-shrink: 0;
}

.oc-qty-badge {
    position: absolute;
    top: -6px;
    right: -6px;
    width: 20px;
    height: 20px;
    background: #4733aa;
    color: white;
    font-size: 11px;
    font-weight: 700;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    border: 2px solid white;
}

/* ── Quantity +/- Controls ────────────────────────────────── */
.oc-qty-controls {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-right: 8px;
}

.oc-qty-btn {
    width: 26px !important;
    height: 26px !important;
    min-height: unset !important;
    border: 1.5px solid #e0ddf5 !important;
    background: #f5f3ff !important;
    color: #4733aa !important;
    border-radius: 6px !important;
    font-size: 16px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    transition: background 0.15s !important;
}

.oc-qty-btn:hover {
    background: #4733aa !important;
    color: white !important;
    border-color: #4733aa !important;
}

.oc-qty-num {
    font-size: 14px;
    font-weight: 700;
    color: #1B1B1B;
    min-width: 18px;
    text-align: center;
}

/* ================================================
   CHECKOUT PAGE — Header & Footer Hide
   ================================================ */
body.woocommerce-checkout .elementor.elementor-location-header {
    display: none !important;
}

body.woocommerce-checkout .elementor.elementor-location-footer {
    display: none !important;
}

span.subscription-details {
    display: none;
}

/* ── Student Popup ───────────────────────────────────────── */
/* ── Student Popup ───────────────────────────────────────── */
#oq-sm {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(15, 10, 40, 0.55);
    z-index: 99999;
    align-items: center;
    justify-content: center;
    padding: 16px;
}

.oq-sm-inner {
    background: #ffffff;
    border-radius: 24px;
    padding: 36px 28px 28px;
    width: 100%;
    max-width: 400px;
    position: relative;
    box-shadow: 0 24px 60px rgba(71, 51, 170, 0.15), 0 4px 16px rgba(0, 0, 0, 0.08);
    border: none;
}

/* Close button */
.oq-sm-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 32px;
    height: 32px;
    border-radius: 50% !important;
    background: #f4f4f6 !important;
    border: none;
    color: #6b6b80 !important;
    font-size: 18px;
    cursor: pointer !important;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    transition: background 0.15s, color 0.15s;
}

.oq-sm-close:hover {
    background: #ede9f9 !important;
    color: #4733aa !important;
}

/* Tag + name */
.oq-sm-tag {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #4733aa;
    margin: 0 0 6px;
    padding: 0;
}

.oq-sm-name {
    font-size: 18px;
    font-weight: 700;
    color: #1b1b1b;
    margin: 0 0 28px;
    padding: 0;
    line-height: 1.3;
    font-family: 'Plus Jakarta Sans', sans-serif;
}

/* Counter */
.oq-sm-counter {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    margin-bottom: 20px;
    background: #f7f5fd;
    border-radius: 16px;
    padding: 16px;
}

.oq-sm-btn {
    width: 44px !important;
    height: 44px !important;
    border-radius: 12px !important;
    border: 2px solid #4733aa !important;
    background: #ffffff !important;
    color: #4733aa !important;
    font-size: 22px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.15s !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    padding: 0 !important;
    flex-shrink: 0;
}

.oq-sm-btn:hover {
    background: #4733aa !important;
    color: #fff !important;
}

.oq-sm-mid {
    text-align: center;
    min-width: 64px;
}

.oq-sm-num {
    display: block;
    font-size: 48px;
    font-weight: 700;
    color: #1b1b1b;
    line-height: 1;
}

.oq-sm-lbl {
    font-size: 14px;
    color: #6b7280;
    font-weight: 500;
    margin-top: 3px;
    display: block;
}

/* Price table */
.oq-sm-table-wrap {
    background: #f7f5fd;
    border-radius: 14px;
    padding: 0;
    margin-bottom: 20px;
    overflow: hidden;
}

.oq-sm-thead {
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #9ca3af;
    padding: 12px 16px 10px;
    border-bottom: 1px solid #ede9f9;
    margin: 0;
}

.oq-sm-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 11px 16px;
    border-bottom: 1px solid #ede9f9;
    font-size: 14px;
    color: #1b1b1b;
}

.oq-sm-row:last-child {
    border-bottom: none;
}

.oq-sm-row-right {
    display: flex;
    align-items: center;
    gap: 8px;
}

.oq-sm-badge {
    background: #ede9f9;
    color: #4733aa;
    font-size: 12px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 20px;
}

.oq-sm-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 16px;
    border-top: 2px solid #ede9f9;
    font-size: 14px;
    font-weight: 700;
    color: #1b1b1b;
    background: #ffffff;
}

#oq-sm-total {
    color: #4733aa;
    font-size: 18px;
    font-weight: 800;
}

/* CTA Button */
.oq-sm-cta {
    width: 100%;
    padding: 15px;
    background: #4733aa !important;
    color: #fff;
    border: none;
    border-radius: 14px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s, transform 0.1s;
    font-family: 'Plus Jakarta Sans', sans-serif;
    letter-spacing: 0.01em;
}

.oq-sm-cta:hover {
    background: #3a2a8c;
    transform: translateY(-1px);
}

/* Dim counter btn when at limit */
.oq-sm-btn[style*="opacity: 0.35"] {
    border-color: #d1d5db !important;
    color: #d1d5db !important;
    cursor: not-allowed !important;
}

/* Group class tiers */
.oq-sm-tiers {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 12px 12px 12px;
}

.oq-sm-tier {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 11px 14px;
    border-radius: 10px;
    font-size: 14px;
    color: #1b1b1b;
    background: #fff;
    border: 1.5px solid #e5e7eb;
    transition: all 0.15s;
}

.oq-sm-tier-active {
    background: #4733aa;
    border-color: #4733aa;
    color: #fff;
}

.oq-sm-tier-active .oq-sm-tier-price {
    color: #fff;
}

.oq-sm-tier-qty {
    font-weight: 500;
}

.oq-sm-tier-price {
    font-weight: 700;
}

.oq-sm-total-group {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 16px;
    border-top: 2px solid #ede9f9;
    background: #fff;
}

.oq-sm-total-group>div {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.oq-sm-savings-card {
    background: #eaf3de;
    border-radius: 12px;
    padding: 13px 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    opacity: 0;
    transform: translateY(6px) !important;
    transition: opacity 0.3s ease, transform 0.3s ease;
    pointer-events: none !important;
    margin: -10px 13px 17px 13px;
}

.oq-sm-savings-card.visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.oq-sm-savings-left {
    display: flex;
    align-items: center;
    gap: 10px;
}

.oq-sm-savings-icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #3b6d11;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    color: #eaf3de;
    flex-shrink: 0;
}

.oq-sm-savings-label {
    font-size: 11px;
    font-weight: 600;
    color: #3b6d11;
    display: block;
    margin-bottom: 1px;
}

.oq-sm-savings-amount {
    font-size: 20px;
    font-weight: 700;
    color: #27500a;
    line-height: 1;
    display: block;
}

.oq-sm-savings-badge {
    font-size: 11px;
    color: #3b6d11;
    background: #c0dd97;
    padding: 4px 10px;
    border-radius: 20px;
    font-weight: 600;
    white-space: nowrap;
}

/* Checkout — Students label above qty controls */
.oc-qty-label {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #4733aa;
    display: block;
    text-align: center;
    margin-bottom: 4px;
    width: 100%;
}

.oc-qty-controls {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-right: 8px;
    min-width: 90px;
}

.oq-add-sub-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 16px;
    background: var(--oq-primary-l);
    color: var(--oq-primary);
    border: 2px dashed var(--oq-primary);
    border-radius: var(--oq-radius);
    font-size: 15px;
    font-weight: 700;
    text-decoration: none !important;
    margin-bottom: 20px;
    transition: all 0.2s;
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.oq-add-sub-btn:hover {
    background: var(--oq-primary);
    color: #fff !important;
    border-style: solid;
}

/* Cancel Info Box */
.oq-cancel-info-box {
    background: #fff8f0 !important;
    border: 1px solid #f59e0b !important;
    border-radius: 10px !important;
    padding: 14px 16px !important;
    margin: 14px 0 0 !important;
    display: flex;
    flex-direction: column !important;
    gap: 10px;
}

.oq-cancel-info-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13px;
}

.oq-cancel-info-label {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #92400e;
    font-weight: 500;
}

.oq-cancel-info-label svg {
    stroke: #f59e0b;
    flex-shrink: 0;
}

.oq-cancel-info-val {
    font-weight: 700;
    color: #78350f;
}

.oq-cancel-end-date {
    color: #dc2626;
}

/* Change Plan disabled */
.oq-change-plan-disabled {
    font-size: 13px;
    color: #9ca3af;
    font-weight: 600;
    padding: 6px 14px;
    border: 1.5px solid #e5e7eb;
    border-radius: 7px;
    cursor: not-allowed;
}

/* Inactive Subscriptions */
.oq-inactive-subs {
    margin-top: 28px;
}

.oq-inactive-title {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--oq-muted) !important;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    margin: 0 0 12px !important;
}

.oq-inactive-box {
    opacity: 0.85;
}

.oq-badge-inactive {
    display: inline-block;
    background: #f3f4f6;
    color: #6b7280;
    font-size: 10px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    flex-shrink: 0;
}

/* Reactivate button */
.oq-reactivate-btn {
    background: none !important;
    border: 1.5px solid #4733aa;
    color: #4733aa !important;
    padding: 7px 16px !important;
    font-size: 13px;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.2s;
}

.oq-reactivate-btn:hover {
    background: #4733aa !important;
    color: #fff !important;
}

.oq-reactivate-new-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: 1.5px solid #4733aa;
    color: #4733aa;
    padding: 8px 10px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
    transition: all 0.2s;
}

.oq-reactivate-new-btn:hover {
    background: #4733aa;
    color: #fff !important;
}

/* Student Counter in Subscription Tab */
.oq-sc-wrap {
    display: flex;
    align-items: center;
    gap: 6px;
}

.oq-sc-btn {
    width: 26px !important;
    height: 26px !important;
    border-radius: 6px !important;
    border: 1.5px solid #4733aa !important;
    background: #fff !important;
    color: #4733aa !important;
    font-size: 16px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    transition: all 0.15s !important;
    line-height: 1 !important;
}

.oq-sc-btn:hover:not(:disabled) {
    background: #4733aa !important;
    color: #fff !important;
}

.oq-sc-btn:disabled {
    opacity: 0.35 !important;
    cursor: not-allowed !important;
}

.oq-sc-num {
    font-size: 15px;
    font-weight: 700;
    color: #252525;
    min-width: 20px;
    text-align: center;
}

.oq-sc-update {
    display: inline-flex !important;
    align-items: center;
    padding: 4px 12px !important;
    border: none;
    background: #4733aa;
    color: #fff !important;
    font-size: 12px;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: background 0.15s;
    margin-left: 4px;
}

.oq-sc-update:hover {
    background: #3a2a8c;
}

/* Student counter edit mode */
.oq-sc-outer {
    display: flex;
    align-items: center;
}

.oq-sc-display {
    display: flex;
    align-items: center;
    gap: 8px;
}

.oq-sc-static-num {
    font-weight: 700;
    color: var(--oq-dark);
    font-size: 13px;
}

.oq-sc-edit-btn {
    background: #4733aa !important;
    border: none;
    cursor: pointer !important;
    font-size: 14px;
    padding: 6px !important;
    border-radius: 6px !important;
    transition: background 0.15s;
    line-height: 1;
}

.oq-sc-wrap {
    display: flex;
    align-items: center;
    gap: 6px;
}

.oq-sc-cancel-edit {
    border: none;
    cursor: pointer !important;
    font-size: 14px;
    padding: 6px 7px !important;
    border-radius: 6px !important;
    transition: background 0.15s;
    line-height: 1;
}

.oq-sc-cancel-edit:hover {
    color: #fff !important;
    background: #ef4444 !important;

}

#oq-su-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 32px;
    height: 32px;
    border-radius: 50% !important;
    background: #f4f4f6 !important;
    border: none;
    color: #6b6b80 !important;
    font-size: 18px;
    cursor: pointer !important;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    transition: background 0.15s, color 0.15s;
}

#oq-su-close:hover {
    background: #ede9f9 !important;
    color: #4733aa !important;
}

#oq-su-tag {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #4733aa;
    margin: 0 0 6px;
    padding: 0;
}

#oq-su-title {
    font-size: 18px;
    font-weight: 700;
    color: #1b1b1b;
    margin: 0 0 28px;
    padding: 0;
    line-height: 1.3;
    text-transform: capitalize;
}

#oq-su-breakdown {
    background: #f7f5fd;
    border-radius: 12px;
    padding: 14px 16px;
    margin-bottom: 20px;
    font-size: 14px;
}

#oq-su-additional-charge-box {
    display: flex;
    gap: 10px;
}

/* Student Update Notice — Checkout */
.oq-student-update-notice {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: #ede9f9;
    border: 1.5px solid #4733aa;
    border-radius: 12px;
    padding: 16px 18px;
    margin-bottom: 16px;
}

.oq-sun-icon {
    width: 36px;
    height: 36px;
    background: #4733aa;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.oq-sun-icon i {
    color: #fff;
    font-size: 15px;
}

.oq-sun-body {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.oq-sun-title {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #4733aa !important;
    margin: 0 !important;
}

.oq-sun-desc {
    font-size: 13px !important;
    color: #3a2a8c !important;
    margin: 0 !important;
    line-height: 1.6 !important;
}

/* Addon product thumbnail */
.oc-thumb-addon {
    width: 48px;
    height: 48px;
    border-radius: 8px;
    background: #ede9f9;
    border: 1px solid #c4b8f0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.oc-thumb-addon i {
    color: #4733aa;
    font-size: 18px;
}

/* Prorated breakdown in order summary */
.oc-prorate-info {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    background: #f0edff;
    border-radius: 8px;
    padding: 8px 10px;
    margin-top: 6px;
    font-size: 12px;
    color: #3a2a8c;
    line-height: 1.5;
}

.oc-prorate-info i {
    color: #4733aa;
    font-size: 12px;
    margin-top: 2px;
    flex-shrink: 0;
}

.oc-prorate-info strong {
    color: #4733aa;
    font-weight: 700;
}

.oq-prorate-banner {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    background: #f0edff;
    border-radius: 8px;
    padding: 10px 12px;
    margin: 6px 0 4px;
    font-size: 12px;
    color: #3a2a8c;
    line-height: 1.5;
}

.oq-prorate-banner i {
    color: #4733aa;
    font-size: 13px;
    margin-top: 1px;
    flex-shrink: 0;
}

.oq-prorate-banner strong {
    color: #4733aa;
    font-weight: 700;
}

/* Checkout — quantity buttons disable */
.oc-qty-btn {
    pointer-events: none !important;
    opacity: 0.4 !important;
    cursor: not-allowed !important;
}

/* Account Custom Header */

/* .oq-account-wrap {
    margin-top: 64px;
} */

.oq-account-header {
    position: relative !important;
    display: flex;
    top: -175px;
    left: 0;
    right: 0px;
    align-items: center;
    justify-content: space-between;
    padding: 0 32px;
    height: 64px;
    background: #fff;
    position: sticky;
    z-index: 99999;
    width: 850px;
    margin: auto auto;
    border-radius: 10px;
    box-shadow: var(--oq-shadow);
}

.oq-account-logo img {
    display: block;
    height: 36px;
    width: auto;
}

.oq-account-header-right {
    display: flex;
    align-items: center;
    gap: 16px;
}

.oq-header-signout {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border-radius: 10px;
    border: 1.5px solid #b91c1c;
    font-size: 13px;
    font-weight: 600;
    color: #b91c1c;
    text-decoration: none !important;
    transition: all 0.15s;
}

.oq-header-signout:hover {
    background: #fff5f5 !important;
    color: #b91c1c !important;

}

@media (max-width: 768px) {
    .oq-account-header {
        padding: 0 16px;
        width: 405px;
        top: 0;
    }
}

.oc-item-qty-pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: var(--oq-primary-l);
    color: var(--oq-primary);
    font-size: 11px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 20px;
    margin-left: 6px;
    vertical-align: middle;
}

.oc-item-qty-pill i {
    font-size: 10px;
}

.custom-checkout-notice-wrap {
    width: 100%;
    margin-bottom: 24px;
}

.custom-checkout-notice-wrap .woocommerce-error {
    margin: 0 !important;
}

.oq-terms-row {
    margin: 12px 0 !important;
}

.oq-terms-label {
    display: flex !important;
    align-items: flex-start;
    gap: 8px;
    font-size: 13px;
    color: #4b5563;
    cursor: pointer;
    line-height: 1.5;
}

.oq-terms-label input[type="checkbox"] {
    width: 16px !important;
    height: 16px;
    margin-top: 2px;
    flex-shrink: 0;
    accent-color: #4733aa;
    cursor: pointer;
}

.oq-terms-label a {
    color: #4733aa;
    text-decoration: underline;
}

.oq-terms-label a:hover {
    color: #3621a0;
}

.oc-pl-price {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-top: 6px;
}

.oc-pl-orig {
    font-size: 13px;
    color: #9ca3af;
    text-decoration: line-through;
}

.oc-pl-new {
    font-size: 15px;
    font-weight: 700;
    color: #4733aa;
}

.oc-pl-save {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background: #e1f5ee;
    color: #0f6e56;
    font-size: 12px;
    font-weight: 600;
    padding: 7px;
    border-radius: 8px;
    margin-top: 8px;
}

.oc-pl-save i {
    font-size: 11px;
}


/* ================================================================
   OQURAN — ACCOUNT PAGE STYLES
   Add this whole block to the END of your style.css
   (These are ONLY the styles that were previously inline in
    my-account.php. Your existing classes like .oq-card, .oq-badge,
    .oq-info-row, .oq-sub-name etc. are NOT redefined here.)
   ================================================================ */

/* ---- WC endpoint inner card ---- */
.oq-wc-endpoint-card {
    padding: 28px;
}

/* ---- Small utilities ---- */
.oq-mt-12 {
    margin-top: 12px;
}

.oq-mt-16 {
    margin-top: 16px;
}

.oq-hint-text {
    font-size: 12px;
    color: #9ca3af;
}

/* ---- "Member since" badge spacing ---- */
.oq-badge-member {
    display: inline-block;
    margin-bottom: 8px;
}

/* ---- Pending cancellation badge (amber) ---- */
.oq-badge-active.oq-badge-warn {
    background: #f59e0b;
}

/* ---- Payment-link special discount line (subscription tab) ---- */
.oq-pl-discount {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #f0edff;
    border-radius: 8px;
    padding: 10px 14px;
    margin: 4px 0 8px;
}

.oq-pl-discount-icon {
    color: #4733aa;
    font-size: 13px;
}

.oq-pl-discount-text {
    font-size: 13px;
    color: #4733aa;
    font-weight: 600;
}

.oq-pl-discount-old {
    margin-left: auto;
    font-size: 12px;
    color: #9ca3af;
    text-decoration: line-through;
}

/* ---- Reactivate block (pending-cancel) ---- */
.oq-reactivate-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
}

.oq-reactivate-note {
    font-size: 12px;
    color: #f59e0b;
}

/* ---- Inactive (past) subscription smaller title ---- */
.oq-sub-name-sm {
    font-size: 16px;
}

/* ---- No saved card icon (payment tab) ---- */
.oq-no-card-icon {
    font-size: 34px;
    color: #ccc;
    margin-bottom: 12px;
    display: block;
}

/* ================================================================
   CANCEL SUBSCRIPTION MODAL
   ================================================================ */
.oq-modal-overlay {
    display: none;
    /* JS toggles to flex */
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 9999;
    align-items: center;
    justify-content: center;
}

.oq-modal-box {
    background: #fff;
    border-radius: 16px;
    padding: 25px;
    max-width: 420px;
    width: 90%;
    text-align: center;
}

.oq-modal-title {
    margin-bottom: 12px;
    font-size: 20px;
}

.oq-modal-msg {
    color: #6b7280;
    font-size: 15px;
    margin-bottom: 28px;
    line-height: 1.6;
}

.oq-modal-btns {
    display: flex;
    gap: 12px;
    justify-content: center;
}

.oq-modal-btn {
    padding: 9px 30px !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
}

.oq-modal-btn-keep {
    border: 1px solid #e5e7eb !important;
    background: #4733aa !important;
    color: #fff;
}

.oq-modal-btn-danger {
    border: none;
    background: #ef4444;
    color: #fff;
}

.oq-modal-error {
    display: none;
    /* JS toggles to block */
    color: #ef4444;
    font-size: 13px;
    margin-top: 14px;
}

/* ================================================================
   STUDENT UPDATE MODAL (add / remove students)
   ================================================================ */
.oq-su-modal {
    display: none;
    /* JS toggles to flex */
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    z-index: 999999;
    align-items: center;
    justify-content: center;
}

.oq-su-box {
    background: #fff;
    border-radius: 20px;
    padding: 32px 28px;
    max-width: 400px;
    width: 90%;
    position: relative;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
}

.oq-su-close {
    position: absolute;
    top: 14px;
    right: 16px;
    background: #f4f4f6;
    border: none;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    font-size: 18px;
    cursor: pointer;
    color: #6b6b80;
    line-height: 1;
}

.oq-su-tag {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    color: #4733aa;
    margin: 0 0 6px;
    padding: 0;
}

.oq-su-title {
    font-size: 17px;
    font-weight: 700;
    color: #1b1b1b;
    margin: 0 0 20px;
    padding: 0;
}

.oq-su-breakdown {
    background: #f7f5fd;
    border-radius: 12px;
    padding: 14px 16px;
    margin-bottom: 20px;
    font-size: 14px;
    color: #252525;
}

/* .oq-su-actions {
    display: flex;
    gap: 10px;
} */

.oq-su-actions {
    display: block;
}

.oq-su-actions .oq-su-btn {
    width: 100%;
}

.oq-su-btn {
    flex: 1;
    padding: 13px !important;
    border-radius: 10px !important;
    font-size: 14px;
    font-weight: 600 !important;
    cursor: pointer !important;
}

.oq-su-btn-cancel {
    border: 1.5px solid #e5e7eb;
    background: #fff;
    color: #252525;
}

.oq-su-btn-confirm {
    border: none;
    background: #4733aa;
    color: #fff;
}

.oq-su-error {
    display: none;
    /* JS toggles to block */
    color: #ef4444;
    font-size: 13px;
    margin: 12px 0 0;
    text-align: center;
}

/* ================================================================
   HISTORY TAB
   ================================================================ */
.oq-hist-controls {
    margin-bottom: 20px;
}

.oq-hist-select {
    padding: 9px 14px;
    border: 1.5px solid #e5e7eb;
    border-radius: 10px;
    font-size: 14px;
    color: #252525;
    background: #fff;
    cursor: pointer;
    min-width: 180px;
}

.oq-hist-loading,
.oq-hist-empty {
    text-align: center;
    padding: 50px 20px;
    color: #9ca3af;
    font-size: 14px;
}

.oq-hist-empty i {
    font-size: 34px;
    color: #d1d5db;
    display: block;
    margin-bottom: 12px;
}

.oq-hist-empty p {
    margin: 0;
}

.oq-h-group {
    margin-bottom: 24px;
}

.oq-h-date {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #9ca3af;
    padding-bottom: 8px;
    margin-bottom: 10px;
    border-bottom: 1px solid #f0edff;
}

.oq-h-event {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: #fff;
    border: 1px solid #ece9f6;
    border-radius: 14px;
    padding: 15px 17px;
    margin-bottom: 9px;
    transition: transform 0.15s, box-shadow 0.15s;
}

.oq-h-event:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(71, 51, 170, 0.08);
    border-color: #ddd6f3;
}

.oq-h-icon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
}

.oq-h-icon i {
    color: #fff;
    font-size: 16px;
}

/* Plan image variant (New Subscription / Reactivated / Renewal) */
.oq-h-icon-img {
    overflow: hidden;
    padding: 0;
    background: #f0edff;
}

.oq-h-icon-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.oq-h-body {
    flex: 1;
    min-width: 0;
}

.oq-h-title {
    font-size: 13px;
    font-weight: 700;
    color: #1b1b1b;
    margin: 0 0 3px;
}

.oq-h-detail {
    font-size: 12px;
    color: #6b7280;
    margin: 0 0 4px;
    line-height: 1.6;
}

.oq-h-time {
    font-size: 11px;
    color: #c7c9d1;
    margin: 0;
    display: flex;
    align-items: center;
}

.oq-h-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    flex-shrink: 0;
}

.oq-h-amount {
    font-size: 15px;
    font-weight: 700;
    color: #4733aa;
}

.oq-h-badge {
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    padding: 2px 9px;
    border-radius: 20px;
}

.oq-h-badge.green {
    background: #dcfce7;
    color: #15803d;
}

.oq-h-badge.amber {
    background: #fef3c7;
    color: #b45309;
}

.oq-h-badge.red {
    background: #fee2e2;
    color: #dc2626;
}

.oq-h-badge.blue {
    background: #ede9f9;
    color: #4733aa;
}

/* ---- Subscription special discount box ---- */
.oq-discount-box {
    background: linear-gradient(135deg, #f5f2ff, #efe9ff);
    border: 1px solid #e2d9fb;
    border-radius: 12px;
    padding: 12px 15px;
    margin: 4px 0 10px;
}

.oq-discount-row {
    display: flex;
    align-items: center;
    gap: 9px;
}

.oq-discount-icon {
    width: 26px;
    height: 26px;
    border-radius: 8px;
    background: #4733aa;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    flex-shrink: 0;
}

.oq-discount-main {
    font-size: 13px;
    color: #4733aa;
    font-weight: 600;
}

.oq-discount-old {
    margin-left: auto;
    font-size: 12px;
    color: #9ca3af;
    text-decoration: line-through;
    flex-shrink: 0;
}

.oq-discount-note {
    margin: 8px 0 0;
    font-size: 11px;
    color: #7c6fae;
    line-height: 1.5;
    padding-left: 35px;
}

/* ---- Next payment (one line: amount · date · countdown chip) ---- */
.oq-np-value {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 6px;
}

.oq-np-amount {
    font-weight: 700;
    color: #1b1b1b;
}

.oq-np-sep {
    color: #d1d5db;
}

.oq-np-date {
    font-size: 13px;
    color: #6b7280;
}

.oq-np-countdown {
    background: #ede9f9;
    color: #4733aa;
    font-size: 10px;
    font-weight: 700;
    padding: 3px 9px;
    border-radius: 20px;
}

/* ---- Plan "What's included" — premium pills ---- */
.oq-included {
    margin: 14px 0 4px;
    padding-top: 14px;
    border-top: 1px solid #f0edff;
}

.oq-included-title {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #9ca3af;
    margin: 0 0 10px;
}

.oq-included-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.oq-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #f7f5fd;
    border: 1px solid #ece7fb;
    border-radius: 999px;
    padding: 6px 13px;
    font-size: 12.5px;
    font-weight: 600;
    color: #4b3f7a;
}

.oq-pill i {
    color: #6d5ce7;
    font-size: 12px;
}

/* ============================================================
   BLOG ARTICLE STYLES (.oq-art)
   Scoped hai .oq-art key andar, site ka baki hissa affect nahi hota.
   Font = Poppins (theme wala hi), koi extra Google font nahi.
   ============================================================ */
.oq-art{--ink:#111214;--text:#2A2C31;--muted:#6B6F76;--subtle:#9AA0A6;--line:#E6E7EA;--bg:#F5F6F8;--accent:#5B2E9E;--accent-h:#4A2483;--accent-soft:#F2ECFA;--f:'Poppins',sans-serif;color:var(--text);font-family:var(--f);font-size:16px;line-height:1.6;max-width:780px;margin:0 auto}
.oq-art *{box-sizing:border-box;font-family:var(--f)}
.oq-art > * + *{margin-top:20px}
.oq-art p{font-size:17px;font-weight:400;line-height:1.8;color:var(--text)}
.oq-art p strong{color:var(--ink);font-weight:600}
.oq-art a{color:var(--accent);text-decoration:none;border-bottom:1px solid #d9c9f0}
.oq-art a:hover{color:var(--accent-h);border-bottom-color:var(--accent-h)}
.oq-art h2{font-weight:600;font-size:clamp(1.3rem,2.2vw,1.65rem);line-height:1.3;color:var(--ink);margin-top:46px;margin-bottom:12px;letter-spacing:-.01em}
.oq-art h3{font-weight:600;font-size:1.1rem;color:var(--ink);margin-top:26px;margin-bottom:8px}
/* Quick summary callout */
.oq-sum{background:var(--bg);border-left:3px solid var(--accent);padding:22px 26px;border-radius:0 6px 6px 0;margin:30px 0}
.oq-sum .lbl{font-size:11px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.oq-sum p{font-size:15.5px;line-height:1.75;margin:0}
/* 01/02 numbered list */
.oq-num{list-style:none;margin-top:20px;padding:0;border-top:1px solid var(--line)}
.oq-num li{display:flex;gap:20px;padding:15px 4px;border-bottom:1px solid var(--line);align-items:baseline;margin:0}
.oq-num .n{font-size:13px;font-weight:600;color:var(--subtle);min-width:24px;font-variant-numeric:tabular-nums}
.oq-num strong{color:var(--ink);font-weight:600;font-size:15px}
.oq-num span{color:var(--muted);font-size:15px;line-height:1.6}
/* Table */
.oq-tbl-wrap{margin:28px 0;overflow-x:auto}
.oq-tbl{width:100%;border-collapse:collapse;font-size:14px}
.oq-tbl th{text-align:left;padding:12px 14px 12px 0;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);border-bottom:2px solid var(--ink)}
.oq-tbl td{padding:14px 14px 14px 0;border-bottom:1px solid var(--line);color:var(--text);vertical-align:top;line-height:1.6}
.oq-tbl td:first-child{font-weight:600;color:var(--ink);white-space:nowrap;padding-right:20px}
/* Quran ayat */
.oq-verse{margin:34px 0;padding:6px 0 6px 24px;border-left:3px solid var(--ink)}
.oq-verse .ar{font-family:'Traditional Arabic','Scheherazade New','Amiri','Times New Roman',serif;font-size:clamp(1.5rem,2.8vw,2rem);line-height:1.9;direction:rtl;text-align:right;color:var(--ink);margin-bottom:14px}
.oq-verse .tr{font-style:italic;font-size:16.5px;line-height:1.7;color:var(--ink)}
.oq-verse .ct{display:block;margin-top:12px;font-style:normal;font-size:11.5px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}
.oq-verse .ct a{border:none;color:var(--muted)}
/* Tips (dash) + checklist (tick) */
.oq-tips{list-style:none;margin-top:16px;padding:0}
.oq-tips li{font-size:16.5px;line-height:1.8;color:var(--text);padding:5px 0 5px 22px;position:relative;margin:0}
.oq-tips li::before{content:"\2014";position:absolute;left:0;color:var(--subtle)}
.oq-vet{list-style:none;margin-top:16px;padding:0}
.oq-vet li{font-size:16.5px;line-height:1.7;color:var(--text);padding:12px 0;border-bottom:1px solid var(--line);display:flex;gap:14px;align-items:baseline;margin:0}
.oq-vet li:last-child{border-bottom:none}
.oq-vet li::before{content:"\2713";color:var(--accent);font-weight:700;font-size:14px;flex-shrink:0}
/* Week grid */
.oq-weeks{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.oq-wk{padding:22px 18px;border-right:1px solid var(--line)}
.oq-wk:last-child{border-right:none}
.oq-wk .w{font-size:10.5px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:10px;display:block}
.oq-wk .g{font-size:14.5px;line-height:1.6;color:var(--ink)}
/* Hadees */
.oq-hadith{margin:38px 0;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}
.oq-hadith .q{font-style:italic;font-size:clamp(1.05rem,1.9vw,1.25rem);line-height:1.65;color:var(--ink);max-width:520px;margin:0 auto}
.oq-hadith .s{display:block;margin-top:14px;font-style:normal;font-size:11.5px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}
/* FAQ accordion (details/summary - JS ki zarurat nahi) */
.oq-faqs{margin-top:20px;border-top:1px solid var(--line)}
.oq-faq{border-bottom:1px solid var(--line);padding:18px 0}
.oq-faq summary{font-weight:600;font-size:1rem;color:var(--ink);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px}
.oq-faq summary::-webkit-details-marker{display:none}
.oq-faq summary::after{content:"+";font-size:20px;font-weight:400;color:var(--muted);transition:transform .25s;flex-shrink:0;line-height:1}
.oq-faq[open] summary::after{transform:rotate(45deg)}
.oq-faq p{margin-top:12px;color:var(--muted);font-size:15.5px;line-height:1.75}
/* Final CTA box */
.oq-cta{margin:46px 0 0;padding:36px 34px;background:var(--accent-soft);border:1px solid #E4D6F5;border-radius:8px;text-align:center}
.oq-cta h3{font-weight:600;font-size:clamp(1.25rem,2.2vw,1.5rem);line-height:1.3;color:var(--ink);margin:0 0 10px}
.oq-cta p{color:var(--muted);font-size:15px;max-width:440px;margin:0 auto 22px}
.oq-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.oq-btn{display:inline-flex;align-items:center;padding:11px 22px;border-radius:6px;font-weight:600;font-size:13.5px;transition:all .2s;border:none}
.oq-btn.p{background:var(--accent);color:#fff}
.oq-btn.p:hover{background:var(--accent-h);color:#fff}
.oq-btn.g{background:#fff;color:var(--ink);border:1px solid var(--line)}
.oq-btn.g:hover{border-color:var(--ink)}
@media(max-width:720px){.oq-weeks{grid-template-columns:repeat(2,1fr)}.oq-wk{border-bottom:1px solid var(--line)}.oq-art p{font-size:16.5px}}


/* ---- Blog: inline figure (content ke beech images) ---- */
.oq-art figure.oq-fig{margin:36px 0;padding:0}
.oq-art figure.oq-fig img{width:100%;height:auto;display:block;border:1px solid var(--line);border-radius:10px}
.oq-art figure.oq-fig figcaption{margin-top:10px;font-size:13px;line-height:1.6;color:var(--muted);text-align:center}
/* ---- Blog: Additional Sources (blog ke end mein) ---- */
.oq-sources{margin:46px 0 0;padding:26px 28px;background:var(--bg);border:1px solid var(--line);border-radius:8px}
.oq-sources .lbl{font-size:11px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.oq-sources ul{list-style:none;margin:0;padding:0}
.oq-sources li{padding:10px 0;border-bottom:1px solid var(--line);margin:0}
.oq-sources li:last-child{border-bottom:none;padding-bottom:0}
.oq-sources a{font-size:15.5px;font-weight:500;color:var(--ink);border-bottom:none;display:block;line-height:1.5}
.oq-sources a:hover{color:var(--accent)}
.oq-sources .desc{display:block;font-size:13.5px;font-weight:400;color:var(--muted);margin-top:3px}

body.woocommerce-checkout #order_review > h3 { display: none !important; }

.elementor-price-table__after-price {
	display: none !important;
}

.elementor-price-table__footer a:first-child {
	display: none !important;
}