/* snr-prescriptions.css */

/* ── Rx Section in Step 1 ─────────────────────────────────────────────────── */

#snr-rx-section {
    margin-top: 24px;
}

.snr-rx-notice {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 16px;
    background: #fff8e1;
    border: 1px solid #ffe082;
    border-radius: 8px;
    margin-bottom: 18px;
    font-size: 13px;
    color: #5d4037;
    line-height: 1.5;
}

.snr-rx-later-note {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 14px 16px;
    background: #f0faf9;
    border: 1px solid #b2dfdb;
    border-radius: 8px;
    font-size: 13px;
    color: #2c3e50;
    line-height: 1.5;
}
.snr-rx-later-note__icon {
    font-size: 16px;
    flex-shrink: 0;
}

.snr-rx-notice__icon {
    font-size: 18px;
    flex-shrink: 0;
    margin-top: 1px;
}

/* ── Top-level choice: Upload Now vs I'll Provide It Later ───────────────── */

.snr-rx-choice-btns {
    display: flex;
    gap: 12px;
    margin-top: 8px;
}

@media (max-width: 600px) {
    .snr-rx-choice-btns { flex-direction: column; }
}

.snr-rx-choice-btn,
.snr-rx-choice-btn:link,
.snr-rx-choice-btn:visited {
    background:      #ffffff !important;
    color:           #546e7a !important;
    border:          1.5px solid #dde3ea !important;
    border-radius:   10px !important;
    box-shadow:      none !important;
    text-decoration: none !important;
    text-transform:  none !important;
    font-weight:     500 !important;
}

.snr-rx-choice-btn:hover {
    background:   #f8fafc !important;
    border-color: #009688 !important;
}

/* Panels revealed by the choice above — only one is ever visible at a time */
.snr-rx-panel {
    margin-top: 18px;
}

/* ── Drop Zone ────────────────────────────────────────────────────────────── */

.snr-rx-drop-zone {
    border: 2px dashed #dde3ea;
    border-radius: 10px;
    padding: 24px 20px;
    text-align: center;
    cursor: pointer;
    transition: border-color .2s, background .2s;
    background: #fafcfe;
    margin-bottom: 12px;
}

.snr-rx-drop-zone:hover,
.snr-rx-drop-zone--active {
    border-color: var(--snr-co-primary, #009688);
    background: #e0f2f1;
}

.snr-rx-drop-zone--has-files {
    border-color: var(--snr-co-primary, #009688);
    border-style: solid;
}

.snr-rx-drop-zone--error {
    border-color: #e53935;
}

.snr-rx-drop-zone__icon {
    font-size: 32px;
    display: block;
    margin-bottom: 8px;
}

.snr-rx-drop-zone__title {
    font-size: 14px;
    font-weight: 700;
    color: var(--snr-co-text, #2c3e50);
    margin-bottom: 4px;
}

.snr-rx-drop-zone__sub {
    font-size: 12px;
    color: #888;
}

/* ── File list ────────────────────────────────────────────────────────────── */

#snr-rx-file-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 12px;
}

.snr-rx-file-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    background: #f1f8f6;
    border: 1px solid #b2dfdb;
    border-radius: 7px;
    font-size: 13px;
}

.snr-rx-file-item--loading {
    background: #f8fafc;
    border-color: #dde3ea;
    opacity: .7;
}

.snr-rx-file-icon {
    font-size: 18px;
    flex-shrink: 0;
}

.snr-rx-file-info {
    flex: 1;
    min-width: 0;
}

.snr-rx-file-name {
    display: block;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--snr-co-text, #2c3e50);
}

.snr-rx-file-size,
.snr-rx-file-status {
    font-size: 11px;
    color: #888;
}

.snr-rx-remove-btn,
.snr-orderview-remove-btn {
    background: none;
    border: none;
    cursor: pointer;
    color: #e53935;
    font-size: 14px;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 4px;
    flex-shrink: 0;
    transition: background .15s;
}

.snr-rx-remove-btn:hover,
.snr-orderview-remove-btn:hover {
    background: #ffebee;
}

/* ── Divider ──────────────────────────────────────────────────────────────── */

.snr-rx-divider {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 18px 0;
    font-size: 12px;
    font-weight: 700;
    color: #888;
    text-transform: uppercase;
    letter-spacing: .5px;
}

.snr-rx-divider::before,
.snr-rx-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #dde3ea;
}

/* ── Rx Method Options ────────────────────────────────────────────────────── */

.snr-rx-methods {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.snr-rx-method-option {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 14px;
    border: 1.5px solid #dde3ea;
    border-radius: 8px;
    cursor: pointer;
    transition: border-color .2s, background .2s;
    background: #fff;
}

.snr-rx-method-option:hover {
    border-color: var(--snr-co-primary, #009688);
    background: #e0f2f1;
}

.snr-rx-method-option--selected {
    border-color: var(--snr-co-primary, #009688);
    background: #e0f2f1;
}

.snr-rx-method-option input[type="radio"] {
    margin-top: 2px;
    accent-color: var(--snr-co-primary, #009688);
    flex-shrink: 0;
}

.snr-rx-method-icon {
    font-size: 20px;
    flex-shrink: 0;
    line-height: 1;
}

.snr-rx-method-body {
    flex: 1;
}

.snr-rx-method-title {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: var(--snr-co-text, #2c3e50);
    margin-bottom: 2px;
}

.snr-rx-method-desc {
    font-size: 12px;
    color: #666;
    line-height: 1.4;
}

/* ── Error message ────────────────────────────────────────────────────────── */

#snr-rx-required-error {
    display: none;
    color: #e53935;
    font-size: 13px;
    font-weight: 600;
    margin-top: 10px;
    padding: 8px 12px;
    background: #fff5f5;
    border: 1px solid #ffcdd2;
    border-radius: 6px;
}

/* ── Admin meta box ───────────────────────────────────────────────────────── */

.snr-rx-files-table th,
.snr-rx-files-table td {
    padding: 8px 12px !important;
    font-size: 13px !important;
    vertical-align: middle !important;
}

/* ── My Account → View Order: Billing/Shipping address boxes ─────────────────
   Duplicated from modules/checkout/assets/snr-checkout.css — that file only
   loads on is_checkout() pages (cart/checkout/order-received), not on My
   Account pages, but order/order-details-customer.php (which uses these
   classes) renders on both. Keep both copies in sync if either changes. ── */
.snr-order-addresses {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin: 24px 0;
}

.snr-order-addresses--two {
    grid-template-columns: repeat(2, 1fr);
}

@media (max-width: 600px) {
    .snr-order-addresses--two { grid-template-columns: 1fr; }
}

.snr-order-address-box {
    background: #fff;
    border: 1px solid #dde3ea;
    border-radius: 10px;
    padding: 18px 20px;
}

.snr-order-address-box address {
    font-style: normal;
    font-size: 14px;
    line-height: 1.65;
    color: #2c3e50;
}

.snr-order-address-box__line {
    margin: 4px 0 0 !important;
    font-size: 13px;
    color: #666;
}

.snr-order-address-box__same {
    font-size: 11px;
    font-weight: 500;
    color: #90a4ae;
    text-transform: none;
    margin-left: 6px;
}

.snr-order-address-box__confirm {
    margin: 10px 0 0 !important;
    font-size: 12px;
    color: #e65100;
    background: #fff3e0;
    padding: 6px 10px;
    border-radius: 6px;
}

/* ── My Account → View Order: Prescription section ───────────────────────── */
.snr-order-rx-section {
    margin: 24px 0;
}

.snr-order-address-box__title {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--snr-co-primary, #009688) !important;
    margin: 0 0 10px !important;
    border: none !important;
    padding: 0 !important;
}

.snr-order-rx-box {
    background: #fff;
    border: 1px solid #dde3ea;
    border-radius: 10px;
    padding: 18px 20px;
}

/* ── My Account → View Order: Edit Shipping Address ─────────────────────── */
.snr-edit-address-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 10px;
    padding: 7px 14px;
    background: #fff;
    border: 1.5px solid #009688;
    border-radius: 7px;
    color: #009688;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background .15s, color .15s;
}
.snr-edit-address-btn:hover {
    background: #009688;
    color: #fff;
}

.snr-edit-address-form {
    margin-top: 16px;
    padding: 16px;
    background: #f8fafc;
    border: 1px solid #dde3ea;
    border-radius: 9px;
}

.snr-edit-address-field {
    margin-bottom: 12px;
}

.snr-edit-address-field label {
    display: block;
    font-size: 11.5px;
    font-weight: 700;
    color: #546e7a;
    text-transform: uppercase;
    letter-spacing: .03em;
    margin-bottom: 5px;
}

.snr-edit-input {
    width: 100%;
    padding: 9px 12px;
    border: 1.5px solid #dde3ea;
    border-radius: 7px;
    font-size: 14px;
    color: #2c3e50;
    background: #fff;
    transition: border-color .15s, box-shadow .15s;
}
.snr-edit-input:focus {
    outline: none;
    border-color: #009688;
    box-shadow: 0 0 0 3px rgba(0,150,136,.1);
}

.snr-edit-address-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
@media (max-width: 600px) {
    .snr-edit-address-row { grid-template-columns: 1fr; }
}

.snr-edit-address-msg {
    margin: 8px 0;
    font-size: 13px;
    font-weight: 600;
}

.snr-edit-address-actions {
    display: flex;
    gap: 10px;
    margin-top: 14px;
}

/* Patient note box — shown on My Account order view when staff sets a note */
.snr-patient-note-box {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    background: #e3f2fd;
    border: 1.5px solid #90caf9;
    border-radius: 10px;
    padding: 14px 18px;
    margin: 0 0 20px;
}

.snr-patient-note-box__icon {
    flex-shrink: 0;
    color: #1565c0;
    margin-top: 2px;
}

.snr-patient-note-box__body {
    font-size: 14px;
    color: #1a237e;
    line-height: 1.6;
}

.snr-patient-note-box__body strong {
    display: block;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #1565c0;
    margin-bottom: 4px;
}

.snr-patient-note-box__body p {
    margin: 0;
    color: #1a237e;
}

/* Bold order status label in the order header */
.snr-order-status-label {
    color: #009688;
}

/* ── Admin: prescription files list (order edit screen) — wraps naturally
   at any container width instead of a fixed-column table, so it works
   equally well in the sidebar or the main column. ── */
.snr-rx-files-cards {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 14px;
}
.snr-rx-file-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 10px 12px;
    background: #f8fafb;
    border: 1px solid #e5eaee;
    border-radius: 6px;
}
.snr-rx-file-row__info {
    min-width: 160px;
    flex: 1 1 auto;
}
.snr-rx-file-row__name {
    display: block;
    font-weight: 600;
    font-size: 13px;
}
.snr-rx-file-row__meta {
    display: block;
    font-size: 11.5px;
    color: #78909c;
    margin-top: 2px;
}
.snr-rx-file-row__actions {
    display: flex;
    gap: 4px;
    flex-shrink: 0;
}

