/* ========================================
   PCCVDI Marketplace — Frontend Styles
======================================== */

.pcc-mkt-wrap { font-family: 'Open Sans', sans-serif; color: #1a1a2e; }

/* Hero Banner */
.pcc-mkt-hero {
    background: linear-gradient(135deg, #1B508B 0%, #0177BC 60%, #283F75 100%);
    color: #fff;
    padding: 60px 0 50px;
    text-align: center;
    margin-bottom: 48px;
}
.pcc-mkt-hero h1 { font-family: 'Inter', sans-serif; font-size: 2.4rem; font-weight: 700; margin: 0 0 12px; }
.pcc-mkt-hero p { font-size: 1.1rem; opacity: .88; margin: 0; line-height: 1.6; }

/* Product Grid */
.pcc-mkt-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    margin-bottom: 48px;
}
@media (max-width: 1024px) { .pcc-mkt-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .pcc-mkt-grid { grid-template-columns: 1fr; } }

/* Product Card */
.pcc-mkt-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 16px rgba(0,0,0,.07);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform .2s, box-shadow .2s;
}
.pcc-mkt-card:hover { transform: translateY(-4px); box-shadow: 0 8px 32px rgba(0,0,0,.13); }

.pcc-mkt-card-header {
    padding: 24px 20px 16px;
    display: flex;
    align-items: flex-start;
    gap: 14px;
    flex-wrap: wrap;
}
.pcc-mkt-icon {
    width: 52px; height: 52px;
    border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.pcc-mkt-type, .pcc-mkt-cat {
    font-size: .72rem; font-weight: 600; text-transform: uppercase;
    letter-spacing: .06em; padding: 3px 10px; border-radius: 50px;
}
.pcc-mkt-type { background: #e8f4fd; color: #0177BC; }
.pcc-mkt-cat  { background: #f0f0f8; color: #444; }

.pcc-mkt-card-body { padding: 16px 20px 0; flex: 1; display: flex; flex-direction: column; }
.pcc-mkt-card-body h3 { font-family: 'Inter', sans-serif; font-size: 1.18rem; font-weight: 700; margin: 0 0 6px; color: #1B508B; }
.pcc-mkt-tagline { font-size: .88rem; color: #666; margin: 0 0 14px; }

.pcc-mkt-features-short { list-style: none; padding: 0; margin: 0 0 16px; }
.pcc-mkt-features-short li {
    font-size: .82rem; color: #444; padding: 3px 0 3px 18px;
    position: relative;
}
.pcc-mkt-features-short li::before {
    content: '✓'; position: absolute; left: 0; color: #10b981; font-weight: 700;
}

.pcc-mkt-card-footer {
    margin-top: auto;
    padding: 14px 0 0;
    border-top: 1px solid #f0f0f0;
    display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px;
}
.pcc-mkt-price-inr { font-size: 1.5rem; font-weight: 700; color: #1B508B; }
.pcc-mkt-price-period { font-size: .8rem; color: #888; margin-left: 2px; }
.pcc-mkt-card-btns { display: flex; gap: 8px; }

.pcc-mkt-card-meta {
    display: flex; gap: 12px;
    padding: 10px 20px;
    background: #f8f9fb;
    font-size: .75rem; color: #888;
    border-top: 1px solid #eee;
}

/* Trust bar */
.pcc-mkt-trust {
    display: flex; flex-wrap: wrap; gap: 20px;
    padding: 24px 0;
    border-top: 1px solid #eee;
    margin-bottom: 40px;
}
.pcc-mkt-trust-item { font-size: .88rem; color: #444; }
.pcc-mkt-trust-item span { color: #10b981; font-weight: 700; margin-right: 4px; }

/* ---- Single Product ---- */
.pcc-mkt-back { display: inline-flex; align-items: center; gap: 6px; color: #0177BC; text-decoration: none; margin-bottom: 24px; font-size: .9rem; }
.pcc-mkt-back:hover { text-decoration: underline; }

.pcc-mkt-single { display: grid; grid-template-columns: 1fr 300px; gap: 32px; }
@media (max-width: 900px) { .pcc-mkt-single { grid-template-columns: 1fr; } }

.pcc-mkt-single-header {
    padding: 20px 20px 20px 24px;
    background: #f8f9fb;
    border-radius: 10px;
    margin-bottom: 24px;
    display: flex; justify-content: space-between; align-items: flex-start; gap: 16px;
}
.pcc-mkt-single-header h1 { font-family: 'Inter', sans-serif; font-size: 1.8rem; font-weight: 700; margin: 6px 0 8px; color: #1B508B; }
.pcc-mkt-single-header .pcc-mkt-tagline { font-size: 1rem; color: #555; margin: 0; }
.pcc-mkt-single-meta { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.pcc-mkt-version { background: #1B508B; color: #fff; font-size: .75rem; padding: 4px 10px; border-radius: 50px; font-weight: 600; }
.pcc-mkt-type-badge { background: #e8f4fd; color: #0177BC; font-size: .75rem; padding: 4px 10px; border-radius: 50px; font-weight: 600; text-transform: uppercase; }

/* Tabs */
.pcc-mkt-tab-nav { display: flex; gap: 4px; border-bottom: 2px solid #e5e7eb; margin-bottom: 20px; }
.pcc-mkt-tab-nav button {
    background: none; border: none; padding: 10px 18px; cursor: pointer;
    font-size: .9rem; color: #666; border-radius: 6px 6px 0 0;
    transition: background .15s, color .15s;
}
.pcc-mkt-tab-nav button:hover { background: #f0f4f8; color: #0177BC; }
.pcc-mkt-tab-nav button.active { color: #1B508B; font-weight: 700; border-bottom: 2px solid #1B508B; margin-bottom: -2px; }

.pcc-mkt-tab-content { display: none; }
.pcc-mkt-tab-content.active { display: block; }

.pcc-mkt-feature-list { list-style: none; padding: 0; margin: 12px 0; }
.pcc-mkt-feature-list li { padding: 7px 0 7px 28px; position: relative; border-bottom: 1px solid #f5f5f5; font-size: .92rem; }
.pcc-mkt-feature-list li span { position: absolute; left: 0; top: 7px; font-size: 1rem; }

.pcc-mkt-license-info { background: #f0f7ff; border-radius: 8px; padding: 16px 20px; margin-top: 20px; }
.pcc-mkt-license-info h4 { margin: 0 0 10px; color: #1B508B; }
.pcc-mkt-license-info ul { margin: 0; padding-left: 18px; }
.pcc-mkt-license-info li { font-size: .88rem; color: #444; padding: 3px 0; }

.pcc-mkt-compat-table { width: 100%; border-collapse: collapse; margin: 12px 0; }
.pcc-mkt-compat-table th, .pcc-mkt-compat-table td { padding: 10px 14px; border: 1px solid #eee; font-size: .9rem; }
.pcc-mkt-compat-table th { background: #f8f9fb; font-weight: 600; }
.pcc-compat-ok { color: #10b981; font-weight: 500; }
.pcc-mkt-req { margin-top: 14px; font-size: .88rem; color: #555; background: #f8f9fb; padding: 12px 16px; border-radius: 6px; }

.pcc-mkt-change-version { margin-bottom: 20px; padding-bottom: 16px; border-bottom: 1px solid #eee; }
.pcc-mkt-change-version strong { font-size: .95rem; color: #1B508B; }
.pcc-mkt-change-version ul { margin: 8px 0 0; padding-left: 18px; }
.pcc-mkt-change-version li { font-size: .88rem; color: #444; padding: 2px 0; }

/* Sidebar / Purchase Box */
.pcc-mkt-purchase-box {
    background: #fff;
    border: 2px solid #0177BC;
    border-radius: 12px;
    padding: 24px;
    position: sticky; top: 90px;
    box-shadow: 0 4px 20px rgba(1,119,188,.15);
}
.pcc-mkt-price-big { font-size: 2.2rem; font-weight: 800; color: #1B508B; line-height: 1; }
.pcc-mkt-price-sub { font-size: .85rem; color: #666; margin: 4px 0 2px; }
.pcc-mkt-price-period { font-size: .8rem; color: #888; margin-bottom: 16px; }
.pcc-mkt-renew-note { font-size: .78rem; color: #888; text-align: center; margin: 10px 0; }
.pcc-mkt-includes { list-style: none; padding: 0; margin: 16px 0 0; border-top: 1px solid #eee; padding-top: 14px; }
.pcc-mkt-includes li { font-size: .84rem; color: #444; padding: 5px 0; }
.pcc-mkt-sidebar-meta { background: #f8f9fb; border-radius: 8px; padding: 16px; margin-top: 16px; }
.pcc-mkt-sidebar-meta div { font-size: .85rem; padding: 4px 0; color: #444; border-bottom: 1px solid #eee; }
.pcc-mkt-sidebar-meta div:last-child { border-bottom: none; }

/* ---- Checkout ---- */
.pcc-mkt-checkout-wrap { max-width: 900px; margin: 40px auto; }
.pcc-mkt-checkout-title { font-family: 'Inter', sans-serif; font-size: 1.8rem; font-weight: 700; margin-bottom: 28px; color: #1B508B; }
.pcc-mkt-checkout-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
@media (max-width: 768px) { .pcc-mkt-checkout-grid { grid-template-columns: 1fr; } }

.pcc-mkt-order-summary {
    background: #f8f9fb; border-radius: 12px; padding: 24px;
    border: 1px solid #e5e7eb;
}
.pcc-mkt-order-summary h3 { margin: 0 0 16px; color: #1B508B; font-size: 1.05rem; }
.pcc-mkt-summary-item { padding: 12px 0; border-bottom: 1px solid #e5e7eb; margin-bottom: 12px; }
.pcc-mkt-summary-product strong { font-size: .95rem; color: #1a1a2e; }
.pcc-mkt-summary-product small { font-size: .82rem; color: #666; }
.pcc-mkt-price-table { width: 100%; border-collapse: collapse; margin: 8px 0; }
.pcc-mkt-price-table td { padding: 7px 4px; font-size: .9rem; }
.pcc-mkt-price-table td:last-child { text-align: right; font-weight: 500; }
.pcc-mkt-total-row td { border-top: 2px solid #1B508B; font-size: 1rem; padding-top: 10px; }
.pcc-mkt-license-period { margin-top: 14px; font-size: .82rem; color: #555; background: #fff; padding: 10px 14px; border-radius: 6px; border: 1px solid #ddd; }

.pcc-mkt-payment-section { background: #fff; border-radius: 12px; padding: 24px; border: 1px solid #e5e7eb; }
.pcc-mkt-payment-section h3 { margin: 0 0 16px; color: #1B508B; font-size: 1.05rem; }
.pcc-mkt-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
@media (max-width: 480px) { .pcc-mkt-form-row { grid-template-columns: 1fr; } }
.pcc-mkt-field { margin-bottom: 14px; }
.pcc-mkt-field label { display: block; font-size: .85rem; font-weight: 600; color: #333; margin-bottom: 5px; }
.pcc-mkt-field label span { color: #ef4444; }
.pcc-mkt-field label small { font-weight: 400; color: #888; }
.pcc-mkt-field input {
    width: 100%; padding: 10px 14px; border: 1.5px solid #ddd;
    border-radius: 7px; font-size: .9rem; outline: none;
    transition: border-color .15s;
    box-sizing: border-box;
}
.pcc-mkt-field input:focus { border-color: #0177BC; box-shadow: 0 0 0 3px rgba(1,119,188,.12); }

.pcc-mkt-payment-logos { margin: 18px 0 14px; }
.pcc-mkt-payment-logos strong { display: block; font-size: .88rem; color: #333; margin-bottom: 8px; }
.pcc-mkt-pay-methods { display: flex; gap: 8px; flex-wrap: wrap; }
.pcc-pay-badge { background: #f0f7ff; color: #0177BC; border: 1px solid #b8d9f5; border-radius: 4px; padding: 4px 10px; font-size: .78rem; font-weight: 600; }

.pcc-btn-pay { display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 1rem; padding: 14px 20px; }
.pcc-mkt-pay-note { font-size: .78rem; color: #888; text-align: center; margin: 10px 0 0; }

/* Login Wall */
.pcc-mkt-checkout-login { max-width: 480px; margin: 80px auto; text-align: center; }
.pcc-mkt-checkout-login h2 { font-size: 1.5rem; color: #1B508B; margin-bottom: 10px; }
.pcc-mkt-login-options { display: flex; gap: 14px; justify-content: center; margin-top: 20px; }

/* ---- My Account ---- */
.pcc-mkt-account-header {
    display: flex; align-items: center; gap: 20px;
    padding: 24px 28px; background: linear-gradient(90deg, #1B508B, #0177BC);
    border-radius: 12px; margin-bottom: 32px; color: #fff;
}
.pcc-mkt-account-avatar {
    width: 56px; height: 56px; border-radius: 50%;
    background: rgba(255,255,255,.25);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.5rem; font-weight: 700; flex-shrink: 0;
}
.pcc-mkt-account-header h2 { font-size: 1.3rem; margin: 0 0 4px; }
.pcc-mkt-account-header p { margin: 0; opacity: .85; font-size: .9rem; }
.pcc-mkt-account-header .pcc-btn { margin-left: 0; flex-shrink: 0; border-color: rgba(255,255,255,.6) !important; color: #fff !important; background: rgba(255,255,255,.1) !important; }
.pcc-mkt-account-header .pcc-btn:hover { background: rgba(255,255,255,.25) !important; color: #fff !important; }

.pcc-mkt-account-grid { display: grid; grid-template-columns: 1fr 280px; gap: 28px; }
@media (max-width: 900px) { .pcc-mkt-account-grid { grid-template-columns: 1fr; } }

.pcc-mkt-section-title { font-family: 'Inter', sans-serif; font-size: 1.15rem; font-weight: 700; color: #1B508B; margin: 0 0 20px; }

/* License Cards */
.pcc-mkt-license-card {
    background: #fff; border-radius: 10px;
    border: 1.5px solid #e5e7eb;
    padding: 20px 22px;
    margin-bottom: 16px;
    transition: box-shadow .2s;
}
.pcc-mkt-license-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,.08); }
.pcc-lic-active  { border-left: 4px solid #10b981; }
.pcc-lic-expiring { border-left: 4px solid #f59e0b; }
.pcc-lic-expired { border-left: 4px solid #ef4444; opacity: .8; }

.pcc-mkt-lic-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 14px; }
.pcc-mkt-lic-header h4 { margin: 0 0 4px; font-size: 1rem; color: #1B508B; font-family: 'Inter', sans-serif; }
.pcc-mkt-lic-ver { font-size: .75rem; background: #e8f4fd; color: #0177BC; padding: 2px 8px; border-radius: 50px; }

.pcc-mkt-lic-status { font-size: .8rem; font-weight: 600; padding: 4px 12px; border-radius: 50px; }
.pcc-lic-status-active  { background: #d1fae5; color: #065f46; }
.pcc-lic-status-expiring { background: #fef3c7; color: #92400e; }
.pcc-lic-status-expired { background: #fee2e2; color: #991b1b; }

.pcc-mkt-lic-key-row { margin-bottom: 12px; }
.pcc-mkt-lic-key-row label { font-size: .78rem; color: #888; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 4px; display: block; }
.pcc-mkt-lic-key { display: flex; align-items: center; gap: 8px; background: #f8f9fb; border: 1px solid #e5e7eb; border-radius: 6px; padding: 8px 12px; }
.pcc-mkt-lic-key code { font-family: 'Courier New', monospace; font-size: .82rem; color: #1B508B; flex: 1; word-break: break-all; }
.pcc-copy-btn { background: none; border: 1px solid #ddd; border-radius: 5px; padding: 4px 7px; cursor: pointer; color: #666; transition: all .15s; flex-shrink: 0; }
.pcc-copy-btn:hover { background: #e8f4fd; border-color: #0177BC; color: #0177BC; }
.pcc-copy-btn.copied { background: #d1fae5; border-color: #10b981; color: #065f46; }

.pcc-mkt-lic-meta { display: flex; flex-wrap: wrap; gap: 12px; font-size: .8rem; color: #666; margin-bottom: 14px; padding-bottom: 14px; border-bottom: 1px solid #f0f0f0; }

.pcc-mkt-lic-actions { display: flex; gap: 8px; flex-wrap: wrap; }

.pcc-mkt-empty { text-align: center; padding: 48px 20px; color: #888; }
.pcc-mkt-empty svg { display: block; margin: 0 auto 16px; }
.pcc-mkt-empty a { color: #0177BC; }

.pcc-mkt-account-cta { margin-top: 20px; }

/* Account Sidebar */
.pcc-mkt-account-info-box {
    background: #fff; border: 1px solid #e5e7eb; border-radius: 10px;
    padding: 18px 20px; margin-bottom: 16px;
}
.pcc-mkt-account-info-box h4 { margin: 0 0 12px; font-size: .95rem; color: #1B508B; font-family: 'Inter', sans-serif; }
.pcc-mkt-account-info-box div { font-size: .85rem; padding: 5px 0; border-bottom: 1px solid #f5f5f5; color: #444; }
.pcc-mkt-account-info-box div:last-child { border-bottom: none; }
.pcc-mkt-account-info-box p { font-size: .85rem; color: #666; margin: 0 0 12px; }

/* Login Wall (My Account) */
.pcc-mkt-login-wall { max-width: 440px; margin: 60px auto; text-align: center; }
.pcc-mkt-login-wall h2 { color: #1B508B; margin-bottom: 10px; }
.pcc-mkt-login-wall .login { max-width: 100%; }
.pcc-mkt-register-link { margin-top: 16px; font-size: .9rem; }
.pcc-mkt-register-link a { color: #0177BC; }

/* ---- Invoice ---- */
.pcc-invoice-actions { display: flex; justify-content: space-between; margin-bottom: 24px; }
.pcc-invoice {
    background: #fff; border: 1px solid #ddd; border-radius: 8px;
    padding: 40px 48px; max-width: 820px; margin: 0 auto;
    box-shadow: 0 2px 16px rgba(0,0,0,.06);
}
.pcc-invoice-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 32px; padding-bottom: 24px; border-bottom: 2px solid #1B508B; }
.pcc-invoice-logo { font-family: 'Inter', sans-serif; font-size: 1.4rem; font-weight: 800; color: #1B508B; margin-bottom: 6px; }
.pcc-invoice-brand-addr { font-size: .82rem; color: #666; line-height: 1.6; }
.pcc-invoice-title { font-size: 1.6rem; font-weight: 800; color: #1B508B; text-align: right; margin-bottom: 10px; letter-spacing: .05em; }
.pcc-invoice-meta-table { font-size: .85rem; text-align: right; }
.pcc-invoice-meta-table td { padding: 2px 0 2px 16px; }
.pcc-invoice-meta-table td:first-child { color: #888; }
.pcc-invoice-meta-table td:last-child { font-weight: 600; color: #1a1a2e; }

.pcc-invoice-parties { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 28px; padding-bottom: 24px; border-bottom: 1px solid #eee; }
.pcc-invoice-from h4, .pcc-invoice-to h4 { font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; color: #888; margin: 0 0 8px; }
.pcc-invoice-from, .pcc-invoice-to { font-size: .88rem; line-height: 1.7; color: #444; }

.pcc-invoice-items { width: 100%; border-collapse: collapse; margin-bottom: 20px; }
.pcc-invoice-items th { background: #1B508B; color: #fff; padding: 10px 14px; text-align: left; font-size: .85rem; font-weight: 600; }
.pcc-invoice-items td { padding: 12px 14px; border-bottom: 1px solid #eee; font-size: .88rem; vertical-align: top; }
.pcc-invoice-items tfoot td { border-bottom: none; padding: 6px 14px; font-size: .9rem; }
.pcc-invoice-subtotal td { border-top: 1px solid #eee; padding-top: 12px; }
.pcc-invoice-grand-total td { font-size: 1.05rem; font-weight: 700; color: #1B508B; border-top: 2px solid #1B508B; padding-top: 10px; }

.pcc-invoice-license { background: #f0f7ff; border-radius: 8px; padding: 18px 22px; margin: 20px 0; }
.pcc-invoice-license h4 { margin: 0 0 12px; color: #1B508B; font-size: .95rem; }
.pcc-invoice-license table { font-size: .88rem; }
.pcc-invoice-license table td { padding: 5px 12px 5px 0; }
.pcc-invoice-license code { font-family: 'Courier New', monospace; background: #fff; padding: 3px 8px; border-radius: 4px; border: 1px solid #ddd; font-size: .82rem; }

.pcc-invoice-footer { text-align: center; margin-top: 28px; padding-top: 20px; border-top: 1px solid #eee; }
.pcc-invoice-footer p { font-size: .8rem; color: #888; margin: 4px 0; }

/* ---- Payment Return ---- */
.pcc-payment-return-wrap { max-width: 560px; margin: 60px auto; text-align: center; }
.pcc-payment-success, .pcc-payment-failed, .pcc-payment-pending { padding: 40px 20px; }
.pcc-payment-success-icon, .pcc-payment-failed-icon { margin: 0 auto 20px; }
.pcc-payment-success h2 { color: #065f46; font-size: 1.6rem; margin-bottom: 8px; }
.pcc-payment-failed  h2 { color: #991b1b; font-size: 1.6rem; margin-bottom: 8px; }

.pcc-payment-license-box {
    background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 10px;
    padding: 20px 24px; margin: 24px 0; text-align: left;
}
.pcc-payment-license-box label { font-size: .8rem; color: #166534; font-weight: 600; text-transform: uppercase; display: block; margin-bottom: 8px; }
.pcc-payment-key { background: #fff; border: 1px solid #d1fae5; border-radius: 6px; padding: 12px 16px; }
.pcc-payment-key code { font-family: 'Courier New', monospace; font-size: .9rem; color: #1B508B; word-break: break-all; }
.pcc-payment-key-note { font-size: .8rem; color: #4ade80; margin: 10px 0 0; }

.pcc-payment-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-top: 20px; }

/* ---- Notices ---- */
.pcc-mkt-notice { padding: 14px 18px; border-radius: 8px; margin-bottom: 20px; font-size: .9rem; }
.pcc-mkt-error { background: #fee2e2; color: #991b1b; border: 1px solid #fecaca; }
.pcc-mkt-info  { background: #e0f2fe; color: #0c4a6e; border: 1px solid #bae6fd; }
.pcc-mkt-success { background: #d1fae5; color: #065f46; border: 1px solid #a7f3d0; }

/* ---- Buttons (scoped to .pcc-mkt-wrap to override theme styles) ---- */
.pcc-mkt-wrap .pcc-btn,
.pcc-auth-wrap .pcc-btn,
.pcc-payment-return-wrap .pcc-btn,
.pcc-payment-actions .pcc-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 10px 20px !important;
    border-radius: 50px !important;
    font-size: .88rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all .2s !important;
    border: 2px solid transparent !important;
    white-space: nowrap !important;
    line-height: 1.4 !important;
    box-sizing: border-box !important;
}
.pcc-mkt-wrap .pcc-btn-sm,
.pcc-auth-wrap .pcc-btn-sm,
.pcc-payment-actions .pcc-btn-sm {
    padding: 7px 16px !important;
    font-size: .82rem !important;
}
.pcc-mkt-wrap .pcc-btn-full { width: 100% !important; justify-content: center !important; }

/* Primary — blue gradient */
.pcc-mkt-wrap .pcc-btn-primary,
.pcc-auth-wrap .pcc-btn-primary,
.pcc-payment-actions .pcc-btn-primary {
    background: linear-gradient(135deg, #1B508B, #0177BC) !important;
    color: #fff !important;
    border-color: transparent !important;
}
.pcc-mkt-wrap .pcc-btn-primary:hover,
.pcc-auth-wrap .pcc-btn-primary:hover,
.pcc-payment-actions .pcc-btn-primary:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 14px rgba(1,119,188,.35) !important;
    color: #fff !important;
}

/* Outline — dark blue border, visible on white background */
.pcc-mkt-wrap .pcc-btn-outline,
.pcc-auth-wrap .pcc-btn-outline,
.pcc-payment-actions .pcc-btn-outline {
    background: transparent !important;
    color: #1B508B !important;
    border: 2px solid #1B508B !important;
}
.pcc-mkt-wrap .pcc-btn-outline:hover,
.pcc-auth-wrap .pcc-btn-outline:hover,
.pcc-payment-actions .pcc-btn-outline:hover {
    background: #1B508B !important;
    color: #fff !important;
}

/* Renew — orange */
.pcc-mkt-wrap .pcc-btn-renew {
    background: #FF8049 !important;
    color: #fff !important;
    border-color: transparent !important;
}
.pcc-mkt-wrap .pcc-btn-renew:hover {
    background: #DC3C00 !important;
    color: #fff !important;
    box-shadow: 0 4px 14px rgba(255,128,73,.35) !important;
}

/* White — for use on dark/header backgrounds */
.pcc-mkt-wrap .pcc-btn-white { background: #fff !important; color: #1B508B !important; border-color: #fff !important; }

/* Auth form submit — full width blue */
.pcc-btn-auth {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 14px !important;
    font-size: 1rem !important;
    border-radius: 50px !important;
    border: none !important;
    background: linear-gradient(135deg, #1B508B, #0177BC) !important;
    color: #fff !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all .2s !important;
    gap: 8px !important;
}
.pcc-btn-auth:hover { transform: translateY(-1px) !important; box-shadow: 0 4px 14px rgba(1,119,188,.35) !important; }
.pcc-btn-auth:disabled { opacity: .65 !important; cursor: not-allowed !important; transform: none !important; }

/* ---- Print Invoice ---- */
@media print {
    .pcc-invoice-actions, .pcc-mkt-hero, nav, header, footer, #wpadminbar { display: none !important; }
    .pcc-invoice { border: none; box-shadow: none; padding: 20px; }
    .pcc-mkt-wrap { margin: 0; }
}

/* ========================================
   AUTH PAGES — Login / Register / Forgot
======================================== */
.pcc-auth-wrap { background: linear-gradient(135deg, #f0f4f8 0%, #e8f0fe 100%); min-height: 80vh; display: flex; align-items: center; padding: 40px 0; }
.pcc-auth-wrap .pcc-container { display: flex; justify-content: center; }

.pcc-auth-box {
    background: #fff; border-radius: 16px;
    box-shadow: 0 8px 40px rgba(27,80,139,.14);
    padding: 40px 44px; width: 100%; max-width: 480px;
}
.pcc-auth-box-wide { max-width: 600px; }

.pcc-auth-brand { text-align: center; margin-bottom: 28px; }
.pcc-auth-logo {
    display: inline-block;
    font-family: 'Inter', sans-serif; font-size: 1.6rem; font-weight: 800;
    background: linear-gradient(135deg, #1B508B, #0177BC);
    -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 6px;
}
.pcc-auth-brand p { color: #666; font-size: .9rem; margin: 0; }

.pcc-auth-form .pcc-mkt-field { margin-bottom: 18px; }

.pcc-auth-row {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 18px; font-size: .85rem;
}
.pcc-remember { display: flex; align-items: center; gap: 6px; color: #555; cursor: pointer; }
.pcc-remember input { width: auto; }
.pcc-forgot-link { color: #0177BC; text-decoration: none; font-size: .85rem; }
.pcc-forgot-link:hover { text-decoration: underline; }

.pcc-btn-auth { font-size: 1rem; padding: 14px; margin-top: 4px; }

.pcc-auth-footer { text-align: center; margin-top: 24px; padding-top: 20px; border-top: 1px solid #f0f0f0; font-size: .88rem; color: #666; }
.pcc-auth-footer a { color: #0177BC; font-weight: 600; text-decoration: none; }
.pcc-auth-footer a:hover { text-decoration: underline; }

/* Terms checkbox */
.pcc-terms-check {
    display: flex; align-items: flex-start; gap: 10px;
    font-size: .85rem; color: #555; cursor: pointer; margin-bottom: 18px;
    line-height: 1.5;
}
.pcc-terms-check input { width: auto; margin-top: 2px; flex-shrink: 0; }
.pcc-terms-check a { color: #0177BC; }

/* Password wrapper */
.pcc-pwd-wrap { position: relative; display: flex; }
.pcc-pwd-wrap input { flex: 1; padding-right: 44px; }
.pcc-pwd-toggle {
    position: absolute; right: 0; top: 0; bottom: 0;
    width: 42px; background: none; border: none; cursor: pointer;
    color: #999; font-size: 1rem; display: flex; align-items: center; justify-content: center;
}
.pcc-pwd-toggle:hover { color: #1B508B; }

/* Password strength meter */
.pcc-pwd-strength {
    height: 4px; border-radius: 2px; margin-top: 6px;
    background: #eee; overflow: hidden; position: relative;
}
.pcc-pwd-strength::after {
    content: ''; position: absolute; left: 0; top: 0; bottom: 0;
    border-radius: 2px; transition: width .3s, background .3s;
    width: var(--strength-pct, 0%);
    background: var(--strength-color, #eee);
}
.pcc-pwd-strength-label { font-size: .75rem; margin-top: 4px; }

/* Checkout login screen */
.pcc-checkout-login-icon { text-align: center; margin-bottom: 14px; }
.pcc-mkt-checkout-login {
    max-width: 520px; margin: 60px auto; text-align: center;
    background: #fff; border-radius: 16px; padding: 40px;
    box-shadow: 0 4px 24px rgba(0,0,0,.08);
}
.pcc-mkt-checkout-login h2 { font-size: 1.4rem; color: #1B508B; margin: 0 0 10px; }
.pcc-mkt-checkout-login p { color: #666; margin: 0 0 24px; line-height: 1.6; }
.pcc-mkt-login-options { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* ========================================
   MY ACCOUNT — Tab navigation
======================================== */
.pcc-acct-tabs { background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 16px rgba(0,0,0,.07); }

.pcc-acct-tab-nav {
    display: flex; background: #f8f9fb;
    border-bottom: 1px solid #e5e7eb;
    overflow-x: auto;
}
.pcc-acct-tab {
    display: flex; align-items: center; gap: 8px;
    padding: 16px 24px; text-decoration: none;
    font-size: .9rem; font-weight: 600; color: #666;
    border-bottom: 3px solid transparent;
    white-space: nowrap; transition: all .2s;
}
.pcc-acct-tab:hover { color: #1B508B; background: #f0f4f8; }
.pcc-acct-tab.active { color: #1B508B; border-bottom-color: #1B508B; background: #fff; }

.pcc-tab-count {
    background: #e8f4fd; color: #0177BC;
    font-size: .72rem; padding: 2px 7px; border-radius: 50px;
    font-weight: 700;
}
.pcc-acct-tab.active .pcc-tab-count { background: #1B508B; color: #fff; }

.pcc-acct-tab-content { padding: 28px; }

/* Account header updates */
.pcc-mkt-account-header { flex-wrap: wrap; }
.pcc-mkt-account-header-info { flex: 1; min-width: 200px; }
.pcc-mkt-account-header-actions { display: flex; gap: 8px; align-items: center; flex-shrink: 0; }
.pcc-btn-logout { background: none; border: 1.5px solid rgba(255,255,255,.4); color: #fff; padding: 7px 16px; border-radius: 50px; font-size: .82rem; font-weight: 600; text-decoration: none; transition: all .2s; }
.pcc-btn-logout:hover { background: rgba(255,255,255,.15); color: #fff; }
.pcc-mkt-account-avatar { font-size: 1.2rem; }

/* Orders table */
.pcc-orders-table-wrap { overflow-x: auto; }
.pcc-orders-table { width: 100%; border-collapse: collapse; font-size: .88rem; }
.pcc-orders-table th { background: #f8f9fb; padding: 12px 14px; text-align: left; font-weight: 600; color: #333; border-bottom: 2px solid #e5e7eb; }
.pcc-orders-table td { padding: 12px 14px; border-bottom: 1px solid #f0f0f0; }
.pcc-orders-table tr:hover td { background: #fafbfc; }

.pcc-order-status { padding: 4px 10px; border-radius: 50px; font-size: .78rem; font-weight: 700; }
.pcc-order-completed { background: #d1fae5; color: #065f46; }
.pcc-order-pending   { background: #fef3c7; color: #92400e; }
.pcc-order-failed    { background: #fee2e2; color: #991b1b; }
.pcc-order-refunded  { background: #f3f4f6; color: #374151; }

/* Profile tab */
.pcc-profile-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
@media (max-width: 768px) { .pcc-profile-grid { grid-template-columns: 1fr; } }

.pcc-profile-section { background: #f8f9fb; border-radius: 10px; padding: 24px; }
.pcc-profile-section h3 { margin: 0 0 20px; font-family: 'Inter', sans-serif; font-size: 1rem; color: #1B508B; font-weight: 700; }

/* Responsive auth */
@media (max-width: 520px) {
    .pcc-auth-box { padding: 28px 20px; }
    .pcc-auth-box-wide { padding: 28px 20px; }
    .pcc-acct-tab { padding: 14px 16px; font-size: .82rem; }
    .pcc-acct-tab-content { padding: 20px 16px; }
}

/* ========================================
   Button Spinner + Auth Visibility Fixes
======================================== */

/* Make buttons always clearly visible */
.pcc-btn-auth {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 14px 24px;
    font-size: 1rem;
    font-weight: 700;
    border-radius: 8px;
    cursor: pointer;
    border: none;
    margin-top: 8px;
}
.pcc-btn-auth:disabled {
    opacity: .7;
    cursor: not-allowed;
}

/* Loading spinner inside button */
.pcc-btn-spinner {
    display: inline-block;
    width: 16px; height: 16px;
    border: 2px solid rgba(255,255,255,.4);
    border-top-color: #fff;
    border-radius: 50%;
    animation: pccSpin .6s linear infinite;
    flex-shrink: 0;
}
@keyframes pccSpin { to { transform: rotate(360deg); } }

/* Auth box improvement */
.pcc-auth-box {
    border: 1px solid #e5e7eb;
}
.pcc-auth-brand {
    padding: 20px;
    background: linear-gradient(135deg, #1B508B 0%, #0177BC 100%);
    border-radius: 10px;
    margin-bottom: 28px;
}
.pcc-auth-brand p { color: rgba(255,255,255,.85); }
.pcc-auth-logo {
    font-family: 'Inter', sans-serif;
    font-size: 1.8rem; font-weight: 800;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    background: none;
    -webkit-background-clip: unset;
    background-clip: unset;
    display: block; margin-bottom: 4px;
}

/* Make form fields cleaner */
.pcc-auth-form .pcc-mkt-field input {
    font-size: .95rem;
    padding: 12px 16px;
    border: 1.5px solid #d1d5db;
    border-radius: 8px;
}
.pcc-auth-form .pcc-mkt-field input:focus {
    border-color: #0177BC;
    box-shadow: 0 0 0 3px rgba(1,119,188,.1);
}
.pcc-auth-form .pcc-mkt-field label {
    font-size: .88rem; font-weight: 600; color: #374151; margin-bottom: 6px;
}
