/* WC Prescription Manager — Public CSS */

/* ─────────────────────────────────────────────────────────────────────
   My Account: approval / disabled notices
   ───────────────────────────────────────────────────────────────────── */

.wcpm-pending-notice, .wcpm-disabled-notice {
    padding: 14px 18px !important;
    margin-bottom: 16px !important;
    border-radius: 4px !important;
    line-height: 1.5;
}
.wcpm-pending-notice  { background:#fff3cd!important; border-left:4px solid #f0ad4e!important; color:#664d03!important; }
.wcpm-disabled-notice { background:#f8d7da!important; border-left:4px solid #dc3545!important; color:#58151c!important; }
.wcpm-pending-notice strong, .wcpm-disabled-notice strong { display:inline-block; margin-bottom:4px; font-size:15px; }

.wcpm-account-notice { padding:12px 16px; border-radius:4px; margin-bottom:16px; font-size:14px; }
.wcpm-notice-pending { background:#fff3cd; border-left:4px solid #f0ad4e; color:#664d03; }
.wcpm-notice-error   { background:#f8d7da; border-left:4px solid #dc3545; color:#58151c; }
.wcpm-notice-success { background:#d1e7dd; border-left:4px solid #198754; color:#0a3622; }
.wcpm-notice-warning { background:#fff3cd; border-left:4px solid #f0ad4e; color:#664d03; padding:14px 18px; border-radius:4px; margin-bottom:20px; }

/* ─────────────────────────────────────────────────────────────────────
   Common Page Header
   ───────────────────────────────────────────────────────────────────── */

.wcpm-page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 20px;
}
.wcpm-page-header h2 {
    margin: 0;
    font-size: 20px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.wcpm-count-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #2c6fad;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    border-radius: 11px;
}

/* ─────────────────────────────────────────────────────────────────────
   Practitioner Dashboard
   ───────────────────────────────────────────────────────────────────── */

.wcpm-practitioner-dashboard { padding: 4px 0 8px; }

.wcpm-dash-welcome {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    background: linear-gradient(135deg, #1e4d8c 0%, #2c6fad 100%);
    color: #fff;
    border-radius: 10px;
    padding: 24px 28px;
    margin-bottom: 24px;
    gap: 16px;
}
.wcpm-dash-welcome-text h2 { color: #fff; margin: 0 0 6px; font-size: 20px; }
.wcpm-dash-welcome-text p  { margin: 0; opacity: 0.85; font-size: 14px; }
.wcpm-dash-edit-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(255,255,255,0.18);
    color: #fff;
    border: 1px solid rgba(255,255,255,0.35);
    border-radius: 5px;
    padding: 7px 14px;
    font-size: 13px;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.2s;
    flex-shrink: 0;
}
.wcpm-dash-edit-link:hover { background: rgba(255,255,255,0.28); color: #fff; }

/* Stat cards */
.wcpm-dash-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-bottom: 28px;
}
.wcpm-stat-card {
    background: #fff;
    border: 1px solid #e8edf2;
    border-radius: 8px;
    padding: 18px 20px;
    display: flex;
    align-items: center;
    gap: 14px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.05);
    transition: box-shadow 0.2s, transform 0.2s;
}
.wcpm-stat-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.1); transform: translateY(-1px); }
.wcpm-stat-icon { font-size: 26px; line-height: 1; }
.wcpm-stat-number { font-size: 28px; font-weight: 800; line-height: 1; color: #1a1a1a; }
.wcpm-stat-label  { font-size: 12px; color: #888; margin-top: 2px; font-weight: 500; }

.wcpm-stat-orders   .wcpm-stat-number { color: #2c6fad; }
.wcpm-stat-rx       .wcpm-stat-number { color: #6f42c1; }
.wcpm-stat-signed   .wcpm-stat-number { color: #198754; }
.wcpm-stat-patients .wcpm-stat-number { color: #e85d04; }

.wcpm-dash-section-title {
    font-size: 15px;
    font-weight: 700;
    color: #444;
    margin: 0 0 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 12px;
}

/* Nav cards */
.wcpm-dash-nav-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}
.wcpm-dash-nav-card {
    display: flex;
    align-items: center;
    gap: 14px;
    background: #fff;
    border: 1px solid #e8edf2;
    border-radius: 8px;
    padding: 16px 18px;
    text-decoration: none;
    color: inherit;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.wcpm-dash-nav-card:hover { border-color: #2c6fad; box-shadow: 0 2px 8px rgba(44,111,173,0.12); color: inherit; text-decoration: none; }
.wcpm-nav-card-icon { font-size: 24px; width: 44px; height: 44px; display:flex; align-items:center; justify-content:center; border-radius:8px; background:#f0f4f8; flex-shrink:0; }
.wcpm-nav-card-body { flex: 1; }
.wcpm-nav-card-body strong { display: block; font-size: 14px; color: #1a1a1a; margin-bottom: 2px; }
.wcpm-nav-card-body span  { font-size: 12px; color: #888; }
.wcpm-nav-card-arrow { font-size: 22px; color: #ccc; font-weight: 300; }
.wcpm-dash-nav-card:hover .wcpm-nav-card-arrow { color: #2c6fad; }

/* ─────────────────────────────────────────────────────────────────────
   Common Card / Panel
   ───────────────────────────────────────────────────────────────────── */

.wcpm-card {
    background: #fff;
    border: 1px solid #e8edf2;
    border-radius: 8px;
    padding: 20px 24px;
    margin-bottom: 20px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}
.wcpm-card h3 { margin-top: 0; font-size: 15px; color: #1a1a1a; }

/* ─────────────────────────────────────────────────────────────────────
   Status Badges
   ───────────────────────────────────────────────────────────────────── */

.wcpm-status-badge {
    display: inline-flex;
    align-items: center;
    padding: 3px 9px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}
.wcpm-status-signed,
.wcpm-status-approved,
.wcpm-status-active    { background: #d1e7dd; color: #0a3622; }
.wcpm-status-pending_signature,
.wcpm-status-pending   { background: #fff3cd; color: #664d03; }
.wcpm-status-rejected,
.wcpm-status-disabled,
.wcpm-status-expired   { background: #f8d7da; color: #58151c; }
.wcpm-status-not_in_use,
.wcpm-status-inactive  { background: #e9ecef; color: #495057; }

/* ─────────────────────────────────────────────────────────────────────
   Common Table
   ───────────────────────────────────────────────────────────────────── */

.wcpm-table-wrapper { overflow-x: auto; }

.wcpm-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}
.wcpm-table th {
    background: #f7f9fb;
    color: #555;
    font-weight: 600;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    padding: 10px 12px;
    border-bottom: 2px solid #e8edf2;
    white-space: nowrap;
}
.wcpm-table td {
    padding: 12px 12px;
    border-bottom: 1px solid #f0f3f6;
    vertical-align: middle;
}
.wcpm-table tbody tr:last-child td { border-bottom: none; }
.wcpm-table tbody tr:hover { background: #fafbfc; }
.wcpm-table th a { color: #555; text-decoration: none; display:inline-flex; align-items:center; gap:4px; }
.wcpm-table th a:hover { color: #2c6fad; }
.wcpm-sort-neutral { color: #ccc; }
.wcpm-sort-active  { color: #2c6fad; }

.wcpm-actions-cell { white-space: nowrap; }

/* ─────────────────────────────────────────────────────────────────────
   Search Bar
   ───────────────────────────────────────────────────────────────────── */

.wcpm-search-bar { margin-bottom: 16px; }
.wcpm-search-inner { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.wcpm-search-input {
    flex: 1;
    min-width: 200px;
    padding: 8px 14px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 14px;
}
.wcpm-search-input:focus { border-color: #2c6fad; outline: none; box-shadow: 0 0 0 3px rgba(44,111,173,0.1); }
.wcpm-search-btn  { background: #2c6fad; color: #fff; border-color: #2c6fad; }
.wcpm-search-btn:hover { background: #1e4d8c; border-color: #1e4d8c; color: #fff; }
.wcpm-clear-btn   { color: #dc3545; border-color: #dc3545; }
.wcpm-search-result-info { font-size: 13px; color: #666; margin: 0 0 12px; }

/* ─────────────────────────────────────────────────────────────────────
   Prescription Table specific
   ───────────────────────────────────────────────────────────────────── */

.wcpm-order-link { color: #2c6fad; font-weight: 600; text-decoration: none; }
.wcpm-order-link:hover { text-decoration: underline; }

.wcpm-btn-view-rx {
    background: #198754;
    color: #fff !important;
    border-color: #198754;
    font-size: 12px !important;
    padding: 5px 10px !important;
}
.wcpm-btn-view-rx:hover { background: #157347; border-color: #157347; color: #fff !important; }

.wcpm-awaiting-sig { font-size: 12px; color: #b8860b; font-style: italic; }
.wcpm-no-action    { color: #ccc; }

/* ─────────────────────────────────────────────────────────────────────
   Pagination
   ───────────────────────────────────────────────────────────────────── */

.wcpm-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid #f0f0f0;
}
.wcpm-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 5px;
    border: 1px solid #e0e0e0;
    color: #333;
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
}
.wcpm-pagination .page-numbers.current { background: #2c6fad; color: #fff; border-color: #2c6fad; }
.wcpm-pagination .page-numbers:hover:not(.current) { border-color: #2c6fad; color: #2c6fad; }
.wcpm-pagination-info { font-size: 13px; color: #888; margin: 0; }

/* ─────────────────────────────────────────────────────────────────────
   Patients Inline Form
   ───────────────────────────────────────────────────────────────────── */

.wcpm-inline-form {
    background: #f9fafb;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 20px 24px;
    margin-bottom: 20px;
}
.wcpm-inline-form-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}
.wcpm-inline-form-header h3 { margin: 0; font-size: 16px; }
.wcpm-close-btn { background: none; border: none; font-size: 18px; color: #888; cursor: pointer; padding: 0; line-height: 1; }
.wcpm-close-btn:hover { color: #333; }

.wcpm-form-error { color: #dc3545; font-size: 13px; background: #f8d7da; padding: 8px 12px; border-radius: 4px; margin: 0 0 12px; }

/* ─────────────────────────────────────────────────────────────────────
   Insurance Page
   ───────────────────────────────────────────────────────────────────── */

.wcpm-insurance-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}
.wcpm-insurance-card-header h3 { margin: 0; font-size: 15px; }

.wcpm-insurance-card-body { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 20px; margin-bottom: 14px; }
.wcpm-insurance-detail { display: flex; flex-direction: column; gap: 2px; }
.wcpm-detail-label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.4px; color: #888; font-weight: 600; }
.wcpm-detail-value { font-size: 14px; color: #1a1a1a; display:flex; align-items:center; gap:6px; }

.wcpm-expiry-badge {
    font-size: 11px;
    font-weight: 600;
    padding: 2px 7px;
    border-radius: 3px;
}
.wcpm-expired       { background: #f8d7da; color: #58151c; }
.wcpm-expiring-soon { background: #fff3cd; color: #664d03; }

.wcpm-insurance-card-footer { border-top: 1px solid #f0f0f0; padding-top: 12px; }

.wcpm-btn-view-cert {
    background: #2c6fad;
    color: #fff !important;
    border-color: #2c6fad;
    font-size: 13px !important;
}
.wcpm-btn-view-cert:hover { background: #1e4d8c; border-color: #1e4d8c; color: #fff !important; }

.wcpm-upload-card h3 { margin-bottom: 6px; }
.wcpm-upload-note   { font-size: 13px; color: #888; margin-bottom: 14px; }
.wcpm-upload-form .wcpm-form-row { margin-bottom: 12px; }
.wcpm-upload-form label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 5px; }
.wcpm-upload-form input { font-size: 14px; }
.wcpm-upload-msg { margin-top: 10px; font-size: 13px; }

.wcpm-badge-current {
    background: #2c6fad;
    color: #fff;
    font-size: 10px;
    padding: 2px 6px;
    border-radius: 3px;
    margin-left: 6px;
    font-weight: 600;
}
.wcpm-row-current td { background: #f0f7ff; }
.wcpm-cert-link { color: #2c6fad; text-decoration: none; font-size: 13px; }
.wcpm-cert-link:hover { text-decoration: underline; }
.wcpm-muted { color: #aaa; font-size: 13px; }

/* Status card borders */
.wcpm-status-card-approved { border-left: 4px solid #198754; }
.wcpm-status-card-pending  { border-left: 4px solid #f0ad4e; }
.wcpm-status-card-rejected { border-left: 4px solid #dc3545; }
.wcpm-status-card-expired  { border-left: 4px solid #dc3545; }

/* ─────────────────────────────────────────────────────────────────────
   Edit Account Page
   ───────────────────────────────────────────────────────────────────── */

.wcpm-edit-account-page h2 { margin-bottom: 6px; }
.wcpm-edit-intro { color: #666; font-size: 14px; margin-bottom: 24px; }

.wcpm-edit-section {
    background: #fff;
    border: 1px solid #e8edf2;
    border-radius: 8px;
    padding: 22px 24px;
    margin-bottom: 20px;
}
.wcpm-edit-section-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 15px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 18px;
    padding-bottom: 10px;
    border-bottom: 1px solid #f0f0f0;
}

.wcpm-existing-file { background: #f0f7ff; border: 1px dashed #aad0f5; border-radius: 4px; padding: 8px 12px !important; }
.wcpm-existing-file label { font-weight: 600; margin-bottom: 3px; font-size: 12px; color: #555; }
.wcpm-current-file { font-size: 13px; }
.wcpm-current-file a { color: #2c6fad; text-decoration: none; }
.wcpm-current-file a:hover { text-decoration: underline; }

.wcpm-edit-actions { margin-top: 8px; display: flex; gap: 10px; }

/* ─────────────────────────────────────────────────────────────────────
   Empty state
   ───────────────────────────────────────────────────────────────────── */

.wcpm-empty-state {
    text-align: center;
    padding: 40px 20px;
    color: #888;
}
.wcpm-empty-icon { font-size: 40px; margin-bottom: 12px; }
.wcpm-empty-state p { font-size: 14px; max-width: 380px; margin: 0 auto; }

/* ─────────────────────────────────────────────────────────────────────
   Registration Form (Slot 1)
   ───────────────────────────────────────────────────────────────────── */

.wcpm-registration-page { max-width: 760px; margin: 30px auto; padding: 0 16px; }
.wcpm-registration-header { text-align: center; margin-bottom: 28px; }
.wcpm-registration-header h1 { margin-bottom: 8px; }
.wcpm-registration-intro { color: #666; font-size: 15px; }

.wcpm-success-banner {
    background: #d1e7dd; border-left: 4px solid #198754; color: #0a3622;
    padding: 24px 28px; border-radius: 6px; text-align: center;
}
.wcpm-success-banner h3 { margin-top:0; color:#0a3622; }
.wcpm-error-banner {
    background: #f8d7da; border-left: 4px solid #dc3545; color: #58151c;
    padding: 16px 20px; border-radius: 4px; margin-bottom: 24px;
}
.wcpm-error-banner strong { display:block; margin-bottom:8px; }
.wcpm-error-banner ul { margin:0 0 0 20px; padding:0; }
.wcpm-error-banner li  { margin: 4px 0; }

/* Step indicator */
.wcpm-step-indicator {
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 32px; max-width: 600px;
}
.wcpm-step-item { display:flex; flex-direction:column; align-items:center; flex:1; text-align:center; }
.wcpm-step-circle {
    width:36px; height:36px; border-radius:50%; background:#e0e0e0; color:#888;
    font-weight:700; font-size:15px; display:flex; align-items:center; justify-content:center;
    margin-bottom:6px; transition:background .3s,color .3s; position:relative; z-index:2; border:2px solid #ccc;
}
.wcpm-step-label  { font-size:12px; color:#888; white-space:nowrap; transition:color .3s; font-weight:500; }
.wcpm-step-connector { flex:1; height:2px; background:#e0e0e0; margin-top:-22px; transition:background .3s; z-index:1; }
.wcpm-step-item.wcpm-step-active .wcpm-step-circle { background:#2c6fad; color:#fff; border-color:#2c6fad; box-shadow:0 0 0 4px rgba(44,111,173,.15); }
.wcpm-step-item.wcpm-step-active .wcpm-step-label { color:#2c6fad; font-weight:700; }
.wcpm-step-item.wcpm-step-completed .wcpm-step-circle { background:#198754; color:#fff; border-color:#198754; }
.wcpm-step-item.wcpm-step-completed .wcpm-step-label { color:#198754; }
.wcpm-step-item.wcpm-step-completed + .wcpm-step-connector { background:#198754; }

/* Form panels */
.wcpm-registration-form {
    background:#fff; padding:28px 32px; border:1px solid #e0e0e0;
    border-radius:8px; box-shadow:0 2px 12px rgba(0,0,0,.05);
}
.wcpm-form-step { display:none; }
.wcpm-form-step:first-of-type { display:block; }
.wcpm-step-title {
    display:flex; align-items:center; gap:10px; font-size:17px; font-weight:700; color:#1a1a1a;
    margin:0 0 20px; padding-bottom:10px; border-bottom:2px solid #eef4fb;
}
.wcpm-step-num {
    display:inline-flex; align-items:center; justify-content:center;
    width:28px; height:28px; border-radius:50%; background:#2c6fad; color:#fff;
    font-size:13px; font-weight:700; flex-shrink:0;
}

/* Form grid / fields */
.wcpm-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; }
.wcpm-form-row  { margin: 0 0 16px; }
.wcpm-form-row label { display:block; font-size:13px; font-weight:600; color:#333; margin-bottom:5px; }
.wcpm-form-row input[type="text"],
.wcpm-form-row input[type="email"],
.wcpm-form-row input[type="tel"],
.wcpm-form-row input[type="password"],
.wcpm-form-row input[type="date"],
.wcpm-form-row input[type="number"],
.wcpm-form-row input[type="url"],
.wcpm-form-row select,
.wcpm-form-row textarea {
    width:100%; padding:9px 12px; border:1px solid #ccc; border-radius:4px;
    font-size:14px; line-height:1.4; box-sizing:border-box; transition:border-color .2s,box-shadow .2s;
}
.wcpm-form-row input:focus, .wcpm-form-row select:focus, .wcpm-form-row textarea:focus {
    border-color:#2c6fad; box-shadow:0 0 0 3px rgba(44,111,173,.12); outline:none;
}
.wcpm-field-textarea, .wcpm-field-file, .wcpm-field-checkbox,
.wcpm-field-checkboxes, .wcpm-field-radio { grid-column: 1 / -1; }
.wcpm-help { display:block; font-size:12px; color:#888; margin-top:4px; }
.wcpm-radio-group { display:flex; gap:16px; flex-wrap:wrap; margin-top:4px; }
.wcpm-radio-opt  { display:flex; align-items:center; gap:6px; font-weight:400; cursor:pointer; }
.wcpm-readonly-note { font-size:11px; color:#888; background:#f5f5f5; padding:1px 6px; border-radius:3px; margin-left:6px; }
.wcpm-conditional-field { display:none; }
.wcpm-step-nav { display:flex; justify-content:space-between; align-items:center; margin-top:24px; padding-top:16px; border-top:1px solid #f0f0f0; }
.wcpm-step-next, .wcpm-register-submit { min-width:140px; }
.wcpm-field-error { border-color:#dc3545!important; box-shadow:0 0 0 3px rgba(220,53,69,.12)!important; }
.wcpm-inline-error { display:block; font-size:12px; color:#dc3545; margin-top:3px; }
.wcpm-login-link { text-align:center; font-size:13px; color:#666; margin-top:16px; }
.wcpm-form-actions { display:flex; gap:10px; margin-top:16px; }
.required { color: #dc3545; }

/* ─────────────────────────────────────────────────────────────────────
   Dashboard (prescriber/other)
   ───────────────────────────────────────────────────────────────────── */

.wcpm-dashboard { padding: 8px 0; }

/* Legacy compat */
.wcpm-status { display:inline-block; padding:3px 8px; border-radius:3px; font-size:12px; font-weight:600; }
.wcpm-status-active, .wcpm-status-approved, .wcpm-status-signed { background:#d1e7dd; color:#0a3622; }
.wcpm-status-pending, .wcpm-status-pending_signature { background:#fff3cd; color:#664d03; }
.wcpm-status-rejected, .wcpm-status-disabled, .wcpm-status-expired { background:#f8d7da; color:#58151c; }
.wcpm-status-inactive, .wcpm-status-not_in_use { background:#e9ecef; color:#555; }

/* ─────────────────────────────────────────────────────────────────────
   Responsive
   ───────────────────────────────────────────────────────────────────── */

@media (max-width: 768px) {
    .wcpm-dash-stats { grid-template-columns: repeat(2, 1fr); }
    .wcpm-dash-nav-grid { grid-template-columns: 1fr; }
    .wcpm-insurance-card-body { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
    .wcpm-dash-welcome { flex-direction: column; }
    .wcpm-dash-stats   { grid-template-columns: repeat(2, 1fr); }
    .wcpm-form-grid    { grid-template-columns: 1fr; }
    .wcpm-field-textarea, .wcpm-field-file, .wcpm-field-checkbox, .wcpm-field-radio { grid-column: 1; }
    .wcpm-registration-form { padding: 20px 16px; }
    .wcpm-step-label   { font-size: 10px; }
    .wcpm-table th, .wcpm-table td { padding: 8px; font-size: 13px; }
}

/* ─────────────────────────────────────────────────────────────────────
   Frontend Modal Overlay (checkout Add Patient, etc.)
   ───────────────────────────────────────────────────────────────────── */

.wcpm-modal {
    display: none;
    position: fixed;
    inset: 0;                        /* top/right/bottom/left: 0 */
    background: rgba(0, 0, 0, 0.55);
    z-index: 999999;
    padding: 20px;
    overflow-y: auto;
}
.wcpm-modal-content {
    background: #fff;
    border-radius: 8px;
    padding: 28px 30px;
    max-width: 640px;
    width: 100%;
    margin: 60px auto;
    position: relative;
    box-shadow: 0 8px 36px rgba(0, 0, 0, 0.28);
}
.wcpm-modal-content h2 { margin-top: 0; font-size: 18px; }
.wcpm-modal-close {
    position: absolute;
    top: 12px;
    right: 14px;
    background: none;
    border: none;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    color: #888;
    padding: 0;
}
.wcpm-modal-close:hover { color: #333; }
.wcpm-modal-actions { display: flex; gap: 10px; margin-top: 16px; }

/* ─────────────────────────────────────────────────────────────────────
   Cart Login Box
   ───────────────────────────────────────────────────────────────────── */

.wcpm-cart-login-box {
    border: 1px solid #e8edf2;
    border-radius: 8px;
    margin-bottom: 24px;
    overflow: hidden;
    background: #f9fafb;
}
.wcpm-cart-login-header {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 20px;
}
.wcpm-cart-login-icon { font-size: 22px; flex-shrink: 0; }
.wcpm-cart-login-header > div { flex: 1; }
.wcpm-cart-login-header strong { display: block; font-size: 14px; color: #1a1a1a; margin-bottom: 2px; }
.wcpm-cart-login-header p { margin: 0; font-size: 13px; color: #666; }
.wcpm-cart-login-form {
    border-top: 1px solid #e8edf2;
    padding: 20px;
    background: #fff;
}
.wcpm-cart-login-form .login { max-width: 460px; }
