.geminit-resi {
    max-width: 760px;
}

.geminit-resi h2 {
    margin: 0 0 .5em;
}

.geminit-resi-intro {
    margin: 0 0 1.25em;
}

.geminit-resi-notice {
    padding: .75em 1em;
    margin: 0 0 1em;
    border-left: 4px solid #ccc;
    background: #f6f7f7;
}

.geminit-resi-notice--error {
    border-color: #d63638;
    background: #fcf0f1;
}

.geminit-resi-notice--success {
    border-color: #00a32a;
    background: #edfaef;
}

.geminit-resi-field {
    display: flex;
    flex-direction: column;
    gap: .3em;
    margin: 0 0 1.1em;
}

.geminit-resi-field input[type="text"],
.geminit-resi-field input[type="email"],
.geminit-resi-field textarea {
    max-width: 420px;
}

.geminit-resi-consent {
    margin: 0 0 1.25em;
}

.geminit-resi-consent label {
    display: flex;
    gap: .5em;
    align-items: baseline;
}

.geminit-resi-hint {
    font-size: .85em;
    color: #666;
}

/* Honeypot: invisibile agli utenti, raggiungibile dai bot. */
.geminit-resi-hp {
    position: absolute !important;
    left: -9999px;
    top: -9999px;
}

.geminit-resi-items {
    width: 100%;
    border-collapse: collapse;
    margin: 0 0 1.25em;
}

.geminit-resi-items th,
.geminit-resi-items td {
    border-bottom: 1px solid #e6e6e6;
    padding: .6em .5em;
    text-align: left;
    vertical-align: middle;
}

.geminit-resi-items thead th {
    border-bottom: 2px solid #d5d5d5;
    font-size: .9em;
    text-transform: uppercase;
    letter-spacing: .02em;
    color: #555;
}

.geminit-resi-col-check {
    width: 2.2em;
    text-align: center;
}

.geminit-resi-items .geminit-resi-qty {
    width: 4.5em;
}

.geminit-resi-avail {
    margin-left: .4em;
    color: #777;
    font-size: .9em;
}

/* Riga non selezionata: leggermente attenuata (solo con JS attivo). */
.geminit-resi-item:not(.geminit-resi-item--active) .geminit-resi-qty,
.geminit-resi-item:not(.geminit-resi-item--active) .geminit-resi-reason {
    opacity: .6;
}

.geminit-resi-eligible {
    list-style: none;
    padding: 0;
    margin: 0;
}

.geminit-resi-eligible li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1em;
    padding: .7em 0;
    border-bottom: 1px solid #eee;
}

.geminit-resi-actions {
    margin-top: 1em;
}

/* Area cliente: lista richieste */
.geminit-resi-badge {
    display: inline-block;
    border-radius: 3px;
    padding: .12em .6em;
    font-size: .85em;
    font-weight: 600;
    border: 1px solid #dcdcde;
    background: #f6f7f7;
    color: #3c434a;
}

.geminit-resi-badge--in_progress {
    background: #fcf6e6;
    border-color: #dba617;
    color: #8a6d00;
}

.geminit-resi-badge--completed {
    background: #eef4fb;
    border-color: #2271b1;
    color: #1c4e80;
}

.geminit-resi-acc-details summary {
    cursor: pointer;
    color: #2271b1;
}

.geminit-resi-acc-items {
    margin: .5em 0 .25em;
    padding-left: 1.1em;
}

.geminit-resi-acc-items li {
    margin: .2em 0;
}

.geminit-resi-acc-note {
    margin: .3em 0 0;
    color: #555;
    font-size: .92em;
}

@media (max-width: 600px) {
    .geminit-resi-items,
    .geminit-resi-items thead,
    .geminit-resi-items tbody,
    .geminit-resi-items th,
    .geminit-resi-items td,
    .geminit-resi-items tr {
        display: block;
    }

    .geminit-resi-items thead {
        display: none;
    }

    .geminit-resi-items tr {
        border: 1px solid #e6e6e6;
        border-radius: 4px;
        margin-bottom: .75em;
        padding: .25em .5em;
    }

    .geminit-resi-items td {
        border: none;
        display: flex;
        justify-content: space-between;
        gap: 1em;
    }

    .geminit-resi-items td::before {
        content: attr(data-label);
        font-weight: 600;
        color: #555;
    }

    .geminit-resi-col-check {
        text-align: left;
    }
}
