/* ── WooCommerce EZ Refund — Stili pubblici e admin ─────────────────────── */

/* ── Form pubblico ───────────────────────────────────────────────────────── */

.ez-refund-form-wrap {
    max-width: 620px;
    margin: 1.5em 0;
}

.ez-legal-notice {
    background: #f0f4ff;
    border-left: 4px solid #2271b1;
    padding: .8em 1.1em;
    margin-bottom: 1.75em;
    font-size: .9em;
    line-height: 1.6;
}

/* Header shortcode (loggato e guest) */
.ez-recesso-header {
    max-width: 620px;
    margin: 1.5em 0 0;
}

.ez-recesso-header h3 {
    margin-top: 0;
    margin-bottom: .75em;
}

.ez-guest-intro {
    margin: 0 0 1.5em;
    color: #3c434a;
    line-height: 1.6;
}

.ez-field {
    margin-bottom: 1.4em;
}

.ez-field label {
    display: block;
    margin-bottom: .4em;
    font-weight: 600;
}

.ez-field .ez-optional {
    font-weight: 400;
    color: #888;
    font-size: .9em;
}

.ez-field input[type="text"],
.ez-field input[type="email"],
.ez-field select,
.ez-field textarea {
    width: 100%;
    box-sizing: border-box;
}

.ez-field textarea {
    min-height: 110px;
    resize: vertical;
}

.ez-field .description {
    font-size: .85em;
    color: #666;
    margin-top: .35em;
}

/* Step 2 — riepilogo */
#ez-step-2 {
    background: #f8f9fa;
    border: 1px solid #d0d7de;
    border-radius: 6px;
    padding: 1.5em 1.75em;
}

#ez-step-2 h4 {
    margin-top: 0;
    margin-bottom: 1em;
    font-size: 1.05em;
}

.ez-summary {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: .45em 1.25em;
    margin: 0 0 1.5em;
    font-size: .95em;
}

.ez-summary dt {
    font-weight: 600;
    color: #555;
}

.ez-summary dd {
    margin: 0;
    word-break: break-word;
}

.ez-confirm-notice {
    background: #fff8e5;
    border-left: 4px solid #e6a817;
    padding: .8em 1.1em;
    margin-bottom: 1.5em;
    font-size: .9em;
    line-height: 1.6;
}

.ez-step2-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.25em;
}

.ez-confirm-btn {
    font-size: 1em !important;
    font-weight: 700 !important;
    padding: .65em 1.6em !important;
}

.ez-back-link {
    font-size: .9em;
    color: #555;
    text-decoration: none;
}

.ez-back-link:hover {
    text-decoration: underline;
}

/* Messaggio successo */
.ez-success {
    background: #d4edda;
    border: 1px solid #c3e6cb;
    border-left: 4px solid #28a745;
    color: #155724;
    padding: .85em 1.1em;
    margin-bottom: 1.5em;
    border-radius: 4px;
}

.ez-no-orders {
    color: #666;
    font-style: italic;
    margin: 1.5em 0;
}

/* ── Tabella richieste cliente (my-account) ──────────────────────────────── */

.ez-requests-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 2em;
    font-size: .95em;
}

.ez-requests-table th,
.ez-requests-table td {
    text-align: left;
    padding: .6em .85em;
    border-bottom: 1px solid #e2e8f0;
}

.ez-requests-table th {
    background: #f5f5f5;
    font-weight: 600;
}

/* ── Badge stato (condivisi tra frontend e admin) ────────────────────────── */

.ez-status {
    display: inline-block;
    padding: .22em .7em;
    border-radius: 4px;
    font-size: .8em;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    line-height: 1.4;
}

.ez-status--ricevuta       { background: #dbeafe; color: #1d4ed8; }
.ez-status--in_lavorazione { background: #fef9c3; color: #854d0e; }
.ez-status--approvata      { background: #dcfce7; color: #166534; }
.ez-status--rifiutata      { background: #fee2e2; color: #991b1b; }
.ez-status--rimborsata     { background: #ede9fe; color: #5b21b6; }

/* ── Pulsante My Orders ──────────────────────────────────────────────────── */

a.ez-recesso-btn {
    background-color: #1a56db;
    color: #fff !important;
    border-color: #1a56db;
    font-size: .85em;
    padding: .4em .9em;
}

a.ez-recesso-btn:hover {
    background-color: #1648c0;
    border-color: #1648c0;
    color: #fff !important;
}

/* ── Admin: Detail box (timestamp fisso) ─────────────────────────────────── */

.ez-detail-box {
    background: #fffbeb;
    border: 2px solid #f6ad55;
    border-radius: 6px;
    padding: 1em 1.5em;
    margin-bottom: 1.5em;
}

.ez-detail-box h2 {
    margin-top: 0;
    margin-bottom: .5em;
    font-size: .85em;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #92400e;
}

.ez-received-at {
    font-size: 1.35em;
    margin: .25em 0 .5em;
    font-family: monospace;
}

.ez-detail-box .description {
    font-size: .85em;
    color: #78350f;
    margin: 0;
}

/* ── Admin: barra filtri ─────────────────────────────────────────────────── */

.ez-filters {
    display: flex;
    flex-wrap: wrap;
    gap: .5em;
    align-items: center;
    margin: 1em 0 1.25em;
}

.ez-filters select,
.ez-filters input[type="date"] {
    height: 30px;
    line-height: 28px;
    padding: 0 .5em;
    font-size: 13px;
}

/* ── Admin: Accettazione manleva ─────────────────────────────────────────── */

.ez-acceptance-wrap {
    max-width: 800px;
    margin-top: 20px;
}

.ez-manleva-box {
    background: #f9f9f9;
    border: 1px solid #c3c4c7;
    border-radius: 4px;
    padding: 1.5em 2em;
    max-height: 440px;
    overflow-y: auto;
    margin: 1.25em 0 0;
    font-size: .93em;
    line-height: 1.75;
}

.ez-manleva-box .ez-manleva-intro {
    font-style: italic;
    color: #50575e;
    border-bottom: 1px solid #ddd;
    padding-bottom: 1em;
    margin-bottom: 1em;
}

.ez-manleva-box h3 {
    font-size: .9em;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    margin: 1.25em 0 .35em;
    color: #2c3338;
}

.ez-manleva-box p {
    margin: 0 0 .5em;
    color: #3c434a;
}

.ez-acceptance-form {
    margin-top: 1.5em;
    padding-top: 1.25em;
    border-top: 1px solid #ddd;
}

.ez-accept-label {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    cursor: pointer;
    font-size: .96em;
    line-height: 1.5;
    font-weight: 600;
}

.ez-accept-label input[type="checkbox"] {
    margin-top: 3px;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
}

.ez-accept-btn {
    margin-top: 1.25em !important;
    font-size: 1em !important;
    padding: .55em 1.5em !important;
}
