/**
 * Il plugin viene installato su temi molto diversi tra loro (chiari e scuri
 * — es. capinera-theme è a sfondo quasi nero). Niente colori fissi chiari
 * "stile admin WordPress" come nelle versioni precedenti: qui sotto solo
 * tinte semi-trasparenti basate su rgba (mai un colore di sfondo/testo
 * pieno), così sfondi e bordi restano leggibili sia su tema chiaro sia
 * scuro senza bisogno di rilevare quale sia. Il colore del testo NON viene
 * mai impostato esplicitamente: eredita sempre quello del tema (titoli,
 * paragrafi, label), esattamente come già avveniva per gli elementi senza
 * regole — qui estendiamo lo stesso principio anche a badge/notice/box.
 */
:root {
    --crc-border: rgba(127, 127, 127, .35);
    --crc-tint: rgba(127, 127, 127, .08);
    --crc-success: #3fa85c;
    --crc-success-bg: rgba(63, 168, 92, .16);
    --crc-warning: #d79a1f;
    --crc-warning-bg: rgba(215, 154, 31, .16);
    --crc-error: #e0525c;
    --crc-error-bg: rgba(224, 82, 92, .16);
}

.crc-wrap {
    max-width: 640px;
    margin: 40px auto;
    padding: 0 20px;
}
.crc-order-ref {
    opacity: .65;
    font-size: 14px;
    margin-top: -8px;
}
.crc-info {
    background: var(--crc-tint);
    border: 1px solid var(--crc-border);
    border-radius: 4px;
    padding: 14px 16px;
    margin-bottom: 20px;
}
.crc-notice {
    border-radius: 4px;
    padding: 14px 16px;
    margin-bottom: 20px;
    border-left: 4px solid;
}
.crc-notice--success {
    background: var(--crc-success-bg);
    border-color: var(--crc-success);
}
.crc-notice--warning {
    background: var(--crc-warning-bg);
    border-color: var(--crc-warning);
}
.crc-notice--error {
    background: var(--crc-error-bg);
    border-color: var(--crc-error);
}
.crc-form label {
    display: block;
    font-weight: 600;
    margin-bottom: 4px;
}
.crc-form input[type="text"],
.crc-form input[type="email"],
.crc-form textarea {
    width: 100%;
    max-width: 480px;
    padding: 8px 10px;
    box-sizing: border-box;
}
.crc-confirm label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-weight: 400;
}
.crc-submit .button {
    font-size: 15px;
    padding: 10px 24px;
    height: auto;
}
.crc-order-notice {
    margin-top: 16px;
}
.crc-items {
    margin-bottom: 20px;
}
.crc-items h2 {
    font-size: 14px;
    margin: 0 0 8px;
}
.crc-items ul {
    margin: 0;
    padding-left: 20px;
}
.crc-badge-exclusion {
    display: inline-block;
    margin-left: 6px;
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 600;
    background: var(--crc-warning-bg);
    color: var(--crc-warning);
    border: 1px solid var(--crc-warning);
    border-radius: 3px;
}

/* Pagina pubblica ricerca ordine (ospiti) + blocco Allegato I.B */
.crc-public-wrap {
    max-width: 700px;
    margin: 0 auto;
}
.crc-lookup-form {
    margin-bottom: 24px;
}
.crc-informativa-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}
.crc-allegato-b {
    background: var(--crc-tint);
    border: 1px solid var(--crc-border);
    border-radius: 4px;
    padding: 20px;
    margin-top: 12px;
}
.crc-allegato-blank {
    border-bottom: 1px solid var(--crc-border);
    height: 24px;
}
.crc-allegato-blank-inline {
    display: inline-block;
    min-width: 240px;
    border-bottom: 1px solid var(--crc-border);
}
/**
 * Stampa isolata sul solo Allegato I.B (il modulo tipo da compilare a mano),
 * mai l'intera pagina — chi clicca "Stampa il modulo" vuole un foglio pronto
 * da compilare e spedire, non anche le istruzioni informative sopra o il
 * resto della pagina attorno allo shortcode (header/footer del tema, altri
 * articoli legali se incorporato in una pagina più ampia, come su capinera).
 * Tecnica standard "solo un elemento": nascondi tutto per visibility (NON
 * display:none, che romperebbe il layout dell'elemento visibile rimuovendo
 * anche i suoi antenati dal render), poi riporta visibile solo l'Allegato
 * I.B e portalo fuori dal flusso normale con position:absolute — altrimenti
 * lo spazio bianco lasciato dagli elementi invisibili prima di lui nel DOM
 * (nascosti ma non rimossi dal layout) produrrebbe una prima pagina quasi
 * vuota prima del modulo vero e proprio.
 */
@media print {
    body * {
        visibility: hidden;
        /* Bug reale corretto: pagina builder come Elementor avvolgono quasi
         * sempre i widget in sezioni/container con position:relative (per
         * overlay/stacking in editor) — un solo antenato "positioned" tra
         * .crc-allegato-b e <body> basta a far sì che il position:absolute
         * qui sotto si posizioni rispetto a QUEL contenitore invece che
         * rispetto alla pagina, restando ancorato a dove si trova nel
         * flusso normale (in fondo, dopo hero/testo introduttivo) invece
         * che in cima al foglio: risultato, una prima pagina di stampa
         * quasi vuota col modulo che slitta sulla seconda. Azzerare position
         * su OGNI discendente (tranne .crc-allegato-b stesso, sotto)
         * garantisce che l'unico "containing block" positioned rimasto sia
         * la pagina stessa, qualunque sia il tema o il page builder.
         */
        position: static !important;
    }
    .crc-allegato-b,
    .crc-allegato-b * {
        visibility: visible;
    }
    .crc-allegato-b {
        position: absolute !important;
        top: 0;
        left: 0;
        width: 100%;
        margin: 0;
        border: none;
    }
}

/* Endpoint "Diritto di recesso" in My Account */
.crc-account-wrap h2 {
    margin-top: 32px;
}
.crc-account-wrap h2:first-child {
    margin-top: 0;
}
.crc-outcome {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 3px;
    font-size: 12px;
    font-weight: 600;
}
.crc-outcome--in_attesa {
    background: var(--crc-warning-bg);
    color: var(--crc-warning);
}
.crc-outcome--accolto {
    background: var(--crc-success-bg);
    color: var(--crc-success);
}
.crc-outcome--rifiutato {
    background: var(--crc-error-bg);
    color: var(--crc-error);
}

/* Selezione quantità per riga d'ordine (recesso parziale) */
.crc-select-items-label {
    font-weight: 600;
}
.crc-qty-table {
    width: 100%;
    margin-bottom: 20px;
    border-collapse: collapse;
}
.crc-qty-table td {
    padding: 8px 0;
    border-bottom: 1px solid var(--crc-border);
    vertical-align: middle;
}
.crc-qty-input {
    width: 70px;
    padding: 4px 8px;
}
