@charset "UTF-8";
/* =====================================================================
   richiesta-rapida.css  (14/10/2026) - FORM SNELLO della "Richiesta rapida"
   ---------------------------------------------------------------------
   Markup: App_Code/RichiestaRapida_Form.cs. Comportamento: App_Script/RichiestaRapida.js.
   Oggi nella pagina Il mio viaggio ("Chiedi disponibilita' alle strutture
   salvate"). Campi come la tendina "Dove dormi?" della stessa pagina
   (48px, bordo sabbia, raggio dei bottoni); bottone = .cta.cta--red del sito.
   Classi .rr-* (niente .elm-*: quelle stanno solo in elm-mobile-nav.css).
   ===================================================================== */
.rr-box [hidden] { display: none !important; }

.rr-box {
    margin: 34px 0 0;
    padding: 24px 24px 22px;
    border: 1px solid var(--line);
    border-radius: var(--r-card);
    background: #fff;
    scroll-margin-top: calc(120px + var(--elm-hdr-d, 0px));
}
.rr-h2 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 6px;
    color: var(--ink);
    font-family: var(--font-display);
    font-size: 1.375rem;
    font-weight: 400;
    line-height: 1.25;
}
.rr-h2 i { color: var(--gold-dk); font-size: 1.2rem; }
.rr-intro { margin: 0 0 18px; max-width: 62ch; color: var(--ink-md); font-size: .9375rem; line-height: 1.55; }

/* ---------- etichette e campi ---------- */
.rr-lb {
    display: block;
    margin: 0 0 6px;
    padding: 0;
    color: var(--ink);
    font-family: var(--font-body);
    font-size: .875rem;
    font-weight: 600;
    line-height: 1.3;
}
.rr-obb { color: var(--promo-dk); font-weight: 500; }
.rr-in {
    display: block;
    width: 100%;
    min-height: 48px;
    margin: 0;
    padding: 0 14px;
    border: 1px solid var(--sand-dk);
    border-radius: var(--r-btn);
    background: #fff;
    color: var(--ink);
    font: 400 1rem/1.3 var(--font-body);
    box-shadow: none;
}
textarea.rr-in { min-height: 92px; padding: 11px 14px; resize: vertical; line-height: 1.5; }
.rr-sel {
    padding-right: 38px;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%2318140f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='m3 6 5 5 5-5'/%3E%3C/svg%3E") no-repeat right 13px center / 13px;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
}
.rr-in:focus { border-color: var(--gold); outline: 2px solid var(--gold); outline-offset: 1px; }
.rr-in.is-err,
.rr-privacy.is-err { border-color: var(--promo); box-shadow: 0 0 0 1px var(--promo); }
.rr-privacy.is-err { border-radius: var(--r-badge); }

.rr-griglia {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 16px;
    margin: 18px 0 0;
}
.rr-largo { grid-column: 1 / -1; }
.rr-campo { min-width: 0; }
.rr-eta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }

/* ---------- strutture ---------- */
.rr-strutture { margin: 0; padding: 0; border: 0; min-width: 0; }
.rr-conta { margin-left: 6px; color: var(--ink-lt); font-weight: 500; font-variant-numeric: tabular-nums; }
.rr-str {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 48px;
    margin: 0;
    padding: 9px 4px;
    border-bottom: 1px solid var(--line);
    cursor: pointer;
}
.rr-str:first-of-type { border-top: 1px solid var(--line); }
.rr-str input,
.rr-privacy input,
.rr-radio input {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    margin: 0;
    accent-color: var(--ink);
    cursor: pointer;
}
.rr-str-t { min-width: 0; }
.rr-str-n { display: block; color: var(--ink); font-family: var(--font-display); font-size: 1.0625rem; line-height: 1.3; }
.rr-str-m { display: block; margin-top: 2px; color: var(--ink-lt); font-size: .8125rem; }
.rr-str.is-off { opacity: .5; cursor: not-allowed; }

/* ---------- animali ---------- */
.rr-animali { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 22px; margin: 0; padding: 0; border: 0; }
.rr-animali .rr-lb { width: 100%; }
.rr-radio { display: inline-flex; align-items: center; gap: 9px; min-height: 40px; margin: 0; color: var(--ink); font-size: 1rem; cursor: pointer; }

/* ---------- privacy, invio, esito ---------- */
.rr-trappola { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.rr-privacy {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 18px 0 0;
    padding: 4px 2px;
    color: var(--ink-md);
    font-size: .875rem;
    line-height: 1.5;
    cursor: pointer;
}
.rr-privacy input { margin-top: 1px; }
.rr-privacy a { color: var(--ink); text-decoration: underline; text-underline-offset: 2px; }
.rr-box .rr-invia { min-height: 50px; margin: 18px 0 0; padding: 0 26px; font-weight: 600; }
.rr-box .rr-invia:disabled { opacity: .7; cursor: progress; }
.rr-stato { margin: 12px 0 0; color: var(--promo-dk); font-size: .9375rem; font-weight: 500; line-height: 1.45; }

.rr-ok {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 18px 18px 6px;
    border: 1px solid rgba(63, 125, 98, .35);
    border-radius: var(--r-card);
    background: rgba(63, 125, 98, .07);
    outline: none;
}
.rr-ok > i { flex: 0 0 auto; color: var(--emerald); font-size: 1.6rem; line-height: 1; }
.rr-ok p { margin: 0 0 12px; color: var(--ink-md); font-size: .9375rem; line-height: 1.55; }
.rr-ok .rr-ok-t { color: var(--ink); font-family: var(--font-display); font-size: 1.25rem; line-height: 1.3; }
.rr-ok .rr-ok-p { color: var(--ink-lt); font-size: .8125rem; }

/* ---------- telefono ---------- */
@media (max-width: 575.98px) {
    .rr-box { padding: 20px 16px 18px; }
    .rr-h2 { font-size: 1.25rem; }
    .rr-campo:has(#rrEmail),
    .rr-campo:has(#rrTelefono) { grid-column: 1 / -1; }
    .rr-box .rr-invia { width: 100%; }
}
@media print { .rr-box { display: none !important; } }
