/* =========================================================
   AREA RISERVATA 2026
   TheFlintstones.it
   Regole dedicate al restyling dei pannelli area utenti.
   ========================================================= */

.area-riservata-page {
    width: 100%;
    margin: 0;
    padding: 0;
    color: #333;
    font-family: Arial, Helvetica, sans-serif;
    box-sizing: border-box;
}

.area-riservata-page *,
.area-riservata-page *:before,
.area-riservata-page *:after {
    box-sizing: border-box;
}

/* Titolo principale: dimensioni allineate a profilo.css */
.area-riservata-page h1 {
    margin: 0 0 16px 0;
    padding: 0;
    color: #114d99;
    font-size: 36px;
    font-weight: 900;
    font-style: italic;
    line-height: 1.1;
}

/* Intro / benvenuto */
.area-riservata-intro {
    margin: 0 0 18px 0;
    padding: 20px;
    background: #dceefe;
    border: 1px solid #c5def5;
    border-radius: 14px;
}

.area-riservata-eyebrow {
    margin: 0 0 7px 0;
    color: #476889;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .7px;
    text-transform: uppercase;
}

.area-riservata-intro h2 {
    margin: 0 0 8px 0;
    color: #114d99;
    font-size: 27px;
    font-weight: 800;
    line-height: 1.2;
}

.area-riservata-intro p {
    margin: 0;
    color: #29445f;
    font-size: 16px;
    line-height: 1.55;
}

/* Card comuni */
.area-riservata-card {
    display: flex;
    gap: 14px;
    margin: 0 0 16px 0;
    padding: 18px;
    background: #fff;
    border: 1px solid #d4e6fa;
    border-radius: 14px;
    box-shadow: 0 2px 7px rgba(17, 77, 153, .05);
}

.area-riservata-card h2 {
    margin: 0 0 9px 0;
    color: #114d99;
    font-size: 21px;
    font-weight: 800;
    line-height: 1.25;
}

.area-riservata-card p {
    margin: 0 0 9px 0;
    color: #3d4d5c;
    font-size: 15px;
    line-height: 1.55;
}

.area-riservata-card p:last-child {
    margin-bottom: 0;
}

.area-riservata-card-icon {
    display: flex;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #15539b;
    color: #fff;
    font-size: 22px;
    font-weight: 800;
}

.area-riservata-card-content {
    flex: 1;
    min-width: 0;
}

/* Avviso */
.area-riservata-avviso {
    background: #f8fbff;
    border-color: #cbdff3;
}

/* Elenco dei passaggi */
.area-riservata-passaggi {
    display: block;
    background: #fff;
}

.area-riservata-passaggi ol {
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: passaggio;
}

.area-riservata-passaggi li {
    position: relative;
    min-height: 34px;
    margin: 0;
    padding: 7px 0 7px 42px;
    border-top: 1px solid #e5eef8;
    color: #3d4d5c;
    font-size: 15px;
    line-height: 1.45;
    counter-increment: passaggio;
}

.area-riservata-passaggi li:first-child {
    border-top: 0;
}

.area-riservata-passaggi li:before {
    content: counter(passaggio);
    position: absolute;
    top: 5px;
    left: 0;
    display: flex;
    width: 27px;
    height: 27px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #e8f3ff;
    border: 1px solid #bfd9f2;
    color: #114d99;
    font-size: 13px;
    font-weight: 800;
}

/* Pulsanti */
.area-riservata-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 20px 0 8px 0;
}

.area-riservata-button,
.area-riservata-button:link,
.area-riservata-button:visited {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 10px 16px;
    border: 1px solid #15539b;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    transition: background-color .2s, color .2s, border-color .2s;
}

.area-riservata-button-primary,
.area-riservata-button-primary:link,
.area-riservata-button-primary:visited {
    background: #15539b;
    color: #fff;
}

.area-riservata-button-primary:hover,
.area-riservata-button-primary:focus {
    background: #0f4380;
    border-color: #0f4380;
    color: #fff;
}

.area-riservata-button-secondary,
.area-riservata-button-secondary:link,
.area-riservata-button-secondary:visited {
    background: #f1f7fc;
    border-color: #c9dced;
    color: #15539b;
}

.area-riservata-button-secondary:hover,
.area-riservata-button-secondary:focus {
    background: #e2f0fb;
    border-color: #9fc1df;
    color: #114d99;
}

/* Adattamento degli elementi senza modificare il viewport del sito */
@media screen and (max-width: 700px) {
    .area-riservata-page h1 {
        font-size: 36px;
    }

    .area-riservata-intro,
    .area-riservata-card {
        padding: 15px;
    }

    .area-riservata-intro h2 {
        font-size: 24px;
    }

    .area-riservata-card h2 {
        font-size: 19px;
    }

    .area-riservata-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .area-riservata-button {
        width: 100%;
    }
}



/* ---------------------------------------------------------
   LOGIN AREA UTENTI - logon2.asp
   --------------------------------------------------------- */

.area-riservata-login-page {
    max-width: 100%;
}

.area-riservata-login-heading {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 18px;
}

.area-riservata-login-heading h2 {
    margin: 0 0 7px 0;
    color: #114d99;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.25;
}

.area-riservata-login-heading p {
    margin: 0;
    color: #3d4d5c;
    font-size: 15px;
    line-height: 1.5;
}

.area-riservata-login-form {
    max-width: 560px;
}

.area-riservata-field {
    margin: 0 0 16px 0;
}

.area-riservata-field label {
    display: block;
    margin: 0 0 6px 0;
    color: #29445f;
    font-size: 15px;
    font-weight: 700;
}

.area-riservata-required {
    color: #b22222;
}

.area-riservata-field input[type="text"],
.area-riservata-field input[type="password"] {
    box-sizing: border-box;
    display: block;
    width: 100%;
    max-width: 100%;
    min-height: 43px;
    padding: 10px 12px;
    border: 1px solid #bfd3e7;
    border-radius: 8px;
    background: #fff;
    color: #24384b;
    font-family: Verdana, Arial, sans-serif;
    font-size: 15px;
    line-height: 1.4;
}

.area-riservata-field input:focus {
    outline: 2px solid #9fc7ed;
    outline-offset: 1px;
    border-color: #15539b;
}

/* Rimani connesso */

.area-riservata-remember {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 18px 0;
    color: #3d4d5c;
    font-size: 14px;
    cursor: pointer;
}

.area-riservata-remember input {
    width: 16px;
    height: 16px;
    margin: 0;
    accent-color: #15539b;
}

/* Pulsanti del modulo login */

.area-riservata-login-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 14px 0;
}

.area-riservata-login-actions button {
    cursor: pointer;
    font-family: inherit;
}

/* Recupero password e note */

.area-riservata-login-help {
    margin: 0 0 8px 0;
    font-size: 14px;
    line-height: 1.5;
}

.area-riservata-login-help a,
.area-riservata-privacy a {
    color: #15539b;
    font-weight: 700;
    text-decoration: underline;
}

.area-riservata-login-required,
.area-riservata-privacy {
    margin: 10px 0 0 0;
    color: #647487;
    font-size: 12px;
    line-height: 1.55;
}

/* Card registrazione */

.area-riservata-registration-card {
    display: block;
    background: #f8fbff;
    border-color: #cbdff3;
}

.area-riservata-registration-card .area-riservata-button {
    margin-top: 5px;
}

/* Card accesso ospite */

.area-riservata-guest-card {
    display: block;
    background: #fff;
}

.area-riservata-guest-credentials {
    padding: 11px 13px;
    border: 1px solid #dce9f5;
    border-radius: 8px;
    background: #f7faff;
    line-height: 1.8 !important;
}

.area-riservata-note {
    color: #647487 !important;
    font-size: 13px !important;
}

/* Errori di accesso e cookie */

.area-riservata-error {
    display: block;
    background: #fff8f7;
    border-color: #e8c6c1;
}

.area-riservata-error h2 {
    color: #a42c22;
}

/* Adattamento schermi più stretti.
   Non aggiungere meta viewport. */

@media screen and (max-width: 700px) {
    .area-riservata-login-heading {
        gap: 10px;
    }

    .area-riservata-login-heading h2 {
        font-size: 20px;
    }

    .area-riservata-login-actions {
        align-items: stretch;
    }

    .area-riservata-login-actions .area-riservata-button {
        flex: 1 1 120px;
    }
}



/* =========================================================
   REGISTRAZIONE AREA UTENTI - inserisci2.asp
   ========================================================= */

.area-riservata-registration-page {
    width: 100%;
    max-width: 100%;
}

/* Card contenitore del modulo */
.area-riservata-registration-form-card {
    display: block;
    background: #ffffff;
    border: 1px solid #d4e6fa;
    border-radius: 14px;
    box-shadow: 0 2px 7px rgba(17, 77, 153, .05);
}

/* Intestazione della card: stessa impostazione del login */
.area-riservata-registration-heading {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #e5eef8;
}

.area-riservata-registration-heading h2 {
    margin: 0 0 7px 0;
    color: #114d99;
    font-size: 21px;
    font-weight: 800;
    line-height: 1.25;
}

.area-riservata-registration-heading p {
    margin: 0;
    color: #3d4d5c;
    font-size: 15px;
    line-height: 1.5;
}

/* Modulo */
.area-riservata-registration-form {
    width: 100%;
    max-width: 560px;
    margin: 0 auto;
}

.area-riservata-registration-form .area-riservata-field {
    margin: 0 0 16px 0;
}

/* Campi: riutilizzano colori e dimensioni del login */
.area-riservata-registration-form .area-riservata-field input[type="text"],
.area-riservata-registration-form .area-riservata-field input[type="password"] {
    display: block;
    width: 100%;
    max-width: 100%;
    min-height: 43px;
    padding: 10px 12px;
    box-sizing: border-box;
    border: 1px solid #bfd3e7;
    border-radius: 8px;
    background: #ffffff;
    color: #24384b;
    font-family: Verdana, Arial, sans-serif;
    font-size: 15px;
    line-height: 1.4;
}

.area-riservata-registration-form .area-riservata-field input:focus {
    outline: 2px solid #9fc7ed;
    outline-offset: 1px;
    border-color: #15539b;
}

/* Note sotto i campi */
.area-riservata-field-help {
    margin: 6px 0 0 0;
    color: #647487;
    font-size: 12px;
    line-height: 1.5;
}

.area-riservata-field-help strong {
    color: #114d99;
}

/* Informativa privacy */
.area-riservata-registration-privacy {
    margin: 18px 0 14px 0;
    padding: 12px 14px;
    background: #f8fbff;
    border: 1px solid #dce9f5;
    border-radius: 8px;
    color: #3d4d5c;
    font-size: 13px;
    line-height: 1.55;
}

.area-riservata-registration-privacy strong {
    display: inline-block;
    margin-bottom: 3px;
    color: #114d99;
}

.area-riservata-registration-privacy a {
    color: #15539b;
    font-weight: 700;
    text-decoration: underline;
}

/* Esito della registrazione e messaggi di errore */
.area-riservata-result-card {
    align-items: flex-start;
    margin-top: 16px;
}

.area-riservata-result-card .area-riservata-card-content {
    min-width: 0;
}

.area-riservata-result-card .area-riservata-card-content a {
    color: #15539b;
    font-weight: 700;
}

.area-riservata-result-error {
    background: #fff8f7;
    border-color: #e8c6c1;
}

.area-riservata-result-error .area-riservata-card-icon {
    background: #a42c22;
}

/* Mobile: senza modificare il viewport del sito */
@media screen and (max-device-width: 700px),
       screen and (hover: none) and (pointer: coarse) {

    .area-riservata-registration-form-card {
        padding: 15px;
    }

    .area-riservata-registration-heading {
        gap: 10px;
    }

    .area-riservata-registration-heading h2 {
        font-size: 19px;
    }

    .area-riservata-registration-form .area-riservata-field input[type="text"],
    .area-riservata-registration-form .area-riservata-field input[type="password"] {
        min-height: 44px;
        font-size: 16px;
    }

    .area-riservata-registration-privacy {
        padding: 10px;
    }
}


/* Campi password con pulsante occhio personalizzato - inserisci2.asp */
.area-riservata-password-wrap {
    position: relative;
    display: block;
    width: 100%;
}

.area-riservata-password-wrap input[type="password"],
.area-riservata-password-wrap input[type="text"] {
    box-sizing: border-box;
    width: 100%;
    padding-right: 48px;
}

.area-riservata-password-toggle {
    position: absolute;
    top: 50%;
    right: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 5px;
    transform: translateY(-50%);
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: #42658b;
    cursor: pointer;
}

.area-riservata-password-toggle:hover,
.area-riservata-password-toggle:focus-visible {
    background: #edf5ff;
    color: #114d99;
    outline: 2px solid #9fc4ef;
    outline-offset: 1px;
}

.area-riservata-password-toggle svg {
    display: block;
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.area-riservata-password-toggle.is-visible {
    color: #114d99;
    background: #e7f1ff;
}

/* Evita la duplicazione del pulsante nativo nei browser Microsoft */
.area-riservata-password-wrap input::-ms-reveal,
.area-riservata-password-wrap input::-ms-clear {
    display: none;
}


/* =========================================================
   Stile coerente con logon, inserisci e panelospite
   ========================================================= */

.area-riservata-lost-page {
    width: 100%;
    max-width: 100%;
}

.area-riservata-lost-form-card {
    display: block;
}

.area-riservata-lost-form {
    width: 100%;
    max-width: 560px;
    margin: 0 auto;
}

/* Esito positivo: verde tenue, distinto dagli avvisi rossi */
.area-riservata-lost-success {
    background: #f4fbf5;
    border-color: #c7e5ce;
}

.area-riservata-lost-success .area-riservata-card-icon {
    background: #287a3e;
}

.area-riservata-lost-success h2 {
    color: #246b37;
}

/* Schermi stretti: mantiene il layout senza aggiungere viewport */
@media screen and (max-device-width: 700px),
       screen and (hover: none) and (pointer: coarse) {
    .area-riservata-lost-form {
        max-width: 100%;
    }
}


/* =========================================================
   CAMBIO PASSWORD - edit2.asp
   ========================================================= */

.area-riservata-edit-page {
    width: 100%;
    max-width: 100%;
}

.area-riservata-edit-form-card {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin-top: 16px;
}

.area-riservata-edit-form-card > .area-riservata-card-content {
    flex: 1;
    min-width: 0;
}

.area-riservata-edit-heading {
    margin: 0 0 20px 0;
    padding: 0 0 15px 0;
    border-bottom: 1px solid #e5eef8;
}

.area-riservata-edit-heading h2 {
    margin: 0 0 7px 0;
    color: #114d99;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.25;
}

.area-riservata-edit-heading p {
    margin: 0;
    color: #3d4d5c;
    font-size: 14px;
    line-height: 1.5;
}

.area-riservata-edit-form {
    width: 100%;
    max-width: 560px;
}

.area-riservata-edit-form .area-riservata-field input[type="text"],
.area-riservata-edit-form .area-riservata-field input[type="password"] {
    display: block;
    width: 100%;
    max-width: 100%;
    min-height: 43px;
    padding: 10px 12px;
    box-sizing: border-box;
    border: 1px solid #bfd3e7;
    border-radius: 8px;
    background: #fff;
    color: #24384b;
    font-family: Verdana, Arial, sans-serif;
    font-size: 15px;
    line-height: 1.4;
}

.area-riservata-edit-form .area-riservata-field input:focus {
    outline: 2px solid #9fc7ed;
    outline-offset: 1px;
    border-color: #15539b;
}

.area-riservata-edit-password-section {
    margin-top: 22px;
    padding-top: 17px;
    border-top: 1px solid #e5eef8;
}

.area-riservata-edit-password-section h3 {
    margin: 0 0 16px 0;
    color: #114d99;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.3;
}

.area-riservata-edit-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 20px 0 0 0;
}

.area-riservata-edit-actions button {
    cursor: pointer;
    font-family: inherit;
}

.area-riservata-result-card {
    display: flex;
    align-items: flex-start;
    margin-top: 16px;
}

.area-riservata-result-card .area-riservata-card-content {
    flex: 1;
    min-width: 0;
}

.area-riservata-result-card .area-riservata-card-content a {
    color: #15539b;
    font-weight: 700;
}

.area-riservata-result-error {
    background: #fff8f7;
    border-color: #e8c6c1;
}

.area-riservata-result-error .area-riservata-card-icon {
    background: #a42c22;
}

.area-riservata-result-error h2 {
    color: #a42c22;
}

.area-riservata-result-success {
    background: #f2faf3;
    border-color: #c6e5cb;
}

.area-riservata-result-success .area-riservata-card-icon {
    background: #287a3e;
}

.area-riservata-result-success h2 {
    color: #287a3e;
}

@media screen and (max-device-width: 700px),
       screen and (hover: none) and (pointer: coarse) {
    .area-riservata-edit-form-card {
        padding: 15px;
    }

    .area-riservata-edit-heading h2 {
        font-size: 19px;
    }

    .area-riservata-edit-form .area-riservata-field input[type="text"],
    .area-riservata-edit-form .area-riservata-field input[type="password"] {
        min-height: 44px;
        font-size: 16px;
    }

    .area-riservata-edit-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .area-riservata-edit-actions .area-riservata-button {
        width: 100%;
    }
}



/* =========================================================
   LOGIN - logon.asp: titolo sopra i campi, modulo in colonna
   ========================================================= */
.area-riservata-login-card {
    display: block;
    width: 100%;
    box-sizing: border-box;
}

.area-riservata-login-card .area-riservata-login-heading {
    display: flex;
    align-items: flex-start;
    margin-bottom: 20px;
}

.area-riservata-login-card .area-riservata-login-form {
    display: block;
    width: 100%;
    max-width: 560px;
    margin: 0 auto;
}

.area-riservata-login-card .area-riservata-field,
.area-riservata-login-card .area-riservata-login-actions,
.area-riservata-login-card .area-riservata-login-help,
.area-riservata-login-card .area-riservata-login-required {
    width: 100%;
    box-sizing: border-box;
}

.area-riservata-login-card .area-riservata-field input[type="text"],
.area-riservata-login-card .area-riservata-field input[type="password"] {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* =========================================================
   MODIFICA PROFILO - edit.asp: titolo sopra il modulo
   ========================================================= */
.area-riservata-edit-form-card .area-riservata-registration-heading {
    display: flex;
    align-items: flex-start;
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 20px;
}

.area-riservata-edit-form-card .area-riservata-registration-heading .area-riservata-card-content {
    flex: 1;
    min-width: 0;
}

.area-riservata-edit-form-card form.area-riservata-edit-form {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    clear: both;
}

.area-riservata-edit-form-card form.area-riservata-edit-form .area-riservata-field {
    width: 100%;
    box-sizing: border-box;
}

.area-riservata-edit-form-card form.area-riservata-edit-form .area-riservata-field input {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}


/* =========================================================
   PANNELLO UTENTE 2026 
   ========================================================= */

.area-riservata-dashboard-section {
    margin: 24px 0 28px;
}

.area-riservata-section-title {
    margin: 0 0 14px;
    padding: 0 0 10px;
    color: #114d99;
    border-bottom: 2px solid #dce9f5;
    font-size: 23px;
    font-weight: 800;
    line-height: 1.25;
}

.area-riservata-dashboard-note {
    margin: -4px 0 14px;
    color: #647487;
    font-size: 14px;
    line-height: 1.5;
}

.area-riservata-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.area-riservata-dashboard-grid-gite {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.area-riservata-counter-card,
.area-riservata-counter-card:link,
.area-riservata-counter-card:visited {
    display: flex;
    min-width: 0;
    min-height: 190px;
    flex-direction: column;
    align-items: flex-start;
    padding: 17px;
    background: #fff;
    border: 1px solid #d4e6fa;
    border-radius: 14px;
    box-shadow: 0 2px 7px rgba(17, 77, 153, .05);
    color: #29445f;
    text-decoration: none;
    transition: border-color .2s, box-shadow .2s, transform .2s;
}

.area-riservata-counter-card:hover,
.area-riservata-counter-card:focus {
    border-color: #8eb9e4;
    box-shadow: 0 4px 12px rgba(17, 77, 153, .12);
    color: #114d99;
    text-decoration: none;
}

.area-riservata-counter-card:focus-visible {
    outline: 2px solid #15539b;
    outline-offset: 3px;
}

.area-riservata-counter-icon {
    display: flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    margin: 0 0 11px;
    border-radius: 50%;
    background: #e8f3ff;
    color: #15539b;
    font-size: 21px;
    font-weight: 800;
}

.area-riservata-counter-label {
    color: #114d99;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.35;
}

.area-riservata-counter-description {
    margin-top: 3px;
    color: #647487;
    font-size: 13px;
    line-height: 1.4;
}

.area-riservata-counter-value {
    display: block;
    margin: 9px 0 10px;
    color: #15539b;
    font-size: 34px;
    font-weight: 900;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

.area-riservata-counter-link {
    display: block;
    margin-top: auto;
    padding-top: 8px;
    color: #15539b;
    font-size: 13px;
    font-weight: 700;
}

.area-riservata-counter-card-estive {
    background: #fffdf6;
    border-color: #eadfb9;
}

.area-riservata-counter-card-estive .area-riservata-counter-icon {
    background: #fff0bf;
    color: #8a6500;
}

.area-riservata-counter-card-invernali {
    background: #f0f8ff;
    border-color: #b9d8f0;
}

.area-riservata-counter-card-invernali .area-riservata-counter-icon {
    background: #dceeff;
    color: #15539b;
}

.area-riservata-counter-card-totale {
    background: #f3f7fc;
    border-color: #cbd8e8;
}

.area-riservata-counter-card-totale .area-riservata-counter-icon {
    background: #dfe9f5;
    color: #345b83;
}

.area-riservata-counter-icon svg {
    display: block;
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* =========================================================
   DETTAGLIO GITE E CONTRIBUTI - panel2.asp?MY=...
   ========================================================= */
   
   
.area-riservata-dashboard-section {
    margin: 24px 0 28px;
}

.area-riservata-section-title {
    margin: 0 0 14px;
    padding: 0 0 10px;
    color: #114d99;
    border-bottom: 2px solid #dce9f5;
    font-size: 23px;
    font-weight: 800;
    line-height: 1.25;
}

.area-riservata-dashboard-note {
    margin: -4px 0 14px;
    color: #647487;
    font-size: 14px;
    line-height: 1.5;
}

.area-riservata-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.area-riservata-dashboard-grid-gite {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.area-riservata-counter-card,
.area-riservata-counter-card:link,
.area-riservata-counter-card:visited {
    display: flex;
    min-width: 0;
    min-height: 190px;
    flex-direction: column;
    align-items: flex-start;
    padding: 17px;
    background: #fff;
    border: 1px solid #d4e6fa;
    border-radius: 14px;
    box-shadow: 0 2px 7px rgba(17, 77, 153, .05);
    color: #29445f;
    text-decoration: none;
    transition: border-color .2s, box-shadow .2s, transform .2s;
}

.area-riservata-counter-card:hover,
.area-riservata-counter-card:focus {
    border-color: #8eb9e4;
    box-shadow: 0 4px 12px rgba(17, 77, 153, .12);
    color: #114d99;
    text-decoration: none;
}

.area-riservata-counter-card:focus-visible {
    outline: 2px solid #15539b;
    outline-offset: 3px;
}

.area-riservata-counter-icon {
    display: flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    margin: 0 0 11px;
    border-radius: 50%;
    background: #e8f3ff;
    color: #15539b;
    font-size: 21px;
    font-weight: 800;
}

.area-riservata-counter-label {
    color: #114d99;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.35;
}

.area-riservata-counter-description {
    margin-top: 3px;
    color: #647487;
    font-size: 13px;
    line-height: 1.4;
}

.area-riservata-counter-value {
    display: block;
    margin: 9px 0 10px;
    color: #15539b;
    font-size: 34px;
    font-weight: 900;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

.area-riservata-counter-link {
    display: block;
    margin-top: auto;
    padding-top: 8px;
    color: #15539b;
    font-size: 13px;
    font-weight: 700;
}

.area-riservata-counter-card-estive {
    background: #fffdf6;
    border-color: #eadfb9;
}

.area-riservata-counter-card-estive .area-riservata-counter-icon {
    background: #fff0bf;
    color: #8a6500;
}

.area-riservata-counter-card-invernali {
    background: #f0f8ff;
    border-color: #b9d8f0;
}

.area-riservata-counter-card-invernali .area-riservata-counter-icon {
    background: #dceeff;
    color: #15539b;
}

.area-riservata-counter-card-totale {
    background: #f3f7fc;
    border-color: #cbd8e8;
}

.area-riservata-counter-card-totale .area-riservata-counter-icon {
    background: #dfe9f5;
    color: #345b83;
}

.area-riservata-counter-icon svg {
    display: block;
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* =========================================================
   DETTAGLIO GITE E CONTRIBUTI - panel2.asp?MY=...
   ========================================================= */
   
.area-riservata-dashboard-section {
    margin: 24px 0 28px;
}

.area-riservata-section-title {
    margin: 0 0 14px;
    padding: 0 0 10px;
    color: #114d99;
    border-bottom: 2px solid #dce9f5;
    font-size: 23px;
    font-weight: 800;
    line-height: 1.25;
}

.area-riservata-dashboard-note {
    margin: -4px 0 14px;
    color: #647487;
    font-size: 14px;
    line-height: 1.5;
}

.area-riservata-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.area-riservata-dashboard-grid-gite {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.area-riservata-counter-card,
.area-riservata-counter-card:link,
.area-riservata-counter-card:visited {
    display: flex;
    min-width: 0;
    min-height: 190px;
    flex-direction: column;
    align-items: flex-start;
    padding: 17px;
    background: #fff;
    border: 1px solid #d4e6fa;
    border-radius: 14px;
    box-shadow: 0 2px 7px rgba(17, 77, 153, .05);
    color: #29445f;
    text-decoration: none;
    transition: border-color .2s, box-shadow .2s, transform .2s;
}

.area-riservata-counter-card:hover,
.area-riservata-counter-card:focus {
    border-color: #8eb9e4;
    box-shadow: 0 4px 12px rgba(17, 77, 153, .12);
    color: #114d99;
    text-decoration: none;
}

.area-riservata-counter-card:focus-visible {
    outline: 2px solid #15539b;
    outline-offset: 3px;
}

.area-riservata-counter-icon {
    display: flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    margin: 0 0 11px;
    border-radius: 50%;
    background: #e8f3ff;
    color: #15539b;
    font-size: 21px;
    font-weight: 800;
}

.area-riservata-counter-label {
    color: #114d99;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.35;
}

.area-riservata-counter-description {
    margin-top: 3px;
    color: #647487;
    font-size: 13px;
    line-height: 1.4;
}

.area-riservata-counter-value {
    display: block;
    margin: 9px 0 10px;
    color: #15539b;
    font-size: 34px;
    font-weight: 900;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

.area-riservata-counter-link {
    display: block;
    margin-top: auto;
    padding-top: 8px;
    color: #15539b;
    font-size: 13px;
    font-weight: 700;
}

.area-riservata-counter-card-estive {
    background: #fffdf6;
    border-color: #eadfb9;
}

.area-riservata-counter-card-estive .area-riservata-counter-icon {
    background: #fff0bf;
    color: #8a6500;
}

.area-riservata-counter-card-invernali {
    background: #f0f8ff;
    border-color: #b9d8f0;
}

.area-riservata-counter-card-invernali .area-riservata-counter-icon {
    background: #dceeff;
    color: #15539b;
}

.area-riservata-counter-card-totale {
    background: #f3f7fc;
    border-color: #cbd8e8;
}

.area-riservata-counter-card-totale .area-riservata-counter-icon {
    background: #dfe9f5;
    color: #345b83;
}

.area-riservata-counter-icon svg {
    display: block;
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* =========================================================
   DETTAGLIO GITE E CONTRIBUTI - panel2.asp?MY=...
   ========================================================= */
.area-riservata-dashboard-section {
    margin: 24px 0 28px;
}

.area-riservata-section-title {
    margin: 0 0 14px;
    padding: 0 0 10px;
    color: #114d99;
    border-bottom: 2px solid #dce9f5;
    font-size: 23px;
    font-weight: 800;
    line-height: 1.25;
}

.area-riservata-dashboard-note {
    margin: -4px 0 14px;
    color: #647487;
    font-size: 14px;
    line-height: 1.5;
}

.area-riservata-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.area-riservata-dashboard-grid-gite {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.area-riservata-counter-card,
.area-riservata-counter-card:link,
.area-riservata-counter-card:visited {
    display: flex;
    min-width: 0;
    min-height: 190px;
    flex-direction: column;
    align-items: flex-start;
    padding: 17px;
    background: #fff;
    border: 1px solid #d4e6fa;
    border-radius: 14px;
    box-shadow: 0 2px 7px rgba(17, 77, 153, .05);
    color: #29445f;
    text-decoration: none;
    transition: border-color .2s, box-shadow .2s, transform .2s;
}

.area-riservata-counter-card:hover,
.area-riservata-counter-card:focus {
    border-color: #8eb9e4;
    box-shadow: 0 4px 12px rgba(17, 77, 153, .12);
    color: #114d99;
    text-decoration: none;
}

.area-riservata-counter-card:focus-visible {
    outline: 2px solid #15539b;
    outline-offset: 3px;
}

.area-riservata-counter-icon {
    display: flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    margin: 0 0 11px;
    border-radius: 50%;
    background: #e8f3ff;
    color: #15539b;
    font-size: 21px;
    font-weight: 800;
}

.area-riservata-counter-label {
    color: #114d99;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.35;
}

.area-riservata-counter-description {
    margin-top: 3px;
    color: #647487;
    font-size: 13px;
    line-height: 1.4;
}

.area-riservata-counter-value {
    display: block;
    margin: 9px 0 10px;
    color: #15539b;
    font-size: 34px;
    font-weight: 900;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

.area-riservata-counter-link {
    display: block;
    margin-top: auto;
    padding-top: 8px;
    color: #15539b;
    font-size: 13px;
    font-weight: 700;
}

.area-riservata-counter-card-estive {
    background: #fffdf6;
    border-color: #eadfb9;
}

.area-riservata-counter-card-estive .area-riservata-counter-icon {
    background: #fff0bf;
    color: #8a6500;
}

.area-riservata-counter-card-invernali {
    background: #f0f8ff;
    border-color: #b9d8f0;
}

.area-riservata-counter-card-invernali .area-riservata-counter-icon {
    background: #dceeff;
    color: #15539b;
}

.area-riservata-counter-card-totale {
    background: #f3f7fc;
    border-color: #cbd8e8;
}

.area-riservata-counter-card-totale .area-riservata-counter-icon {
    background: #dfe9f5;
    color: #345b83;
}

.area-riservata-counter-icon svg {
    display: block;
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* =========================================================
   DETTAGLIO GITE E CONTRIBUTI - panel2.asp?MY=...
   ========================================================= */
.area-riservata-detail-section {
    margin-top: 8px;
}

.area-riservata-back-link {
    display: inline-block;
    margin: 0 0 14px;
    color: #15539b;
    font-weight: 700;
    text-decoration: none;
}

.area-riservata-back-link:hover,
.area-riservata-back-link:focus {
    text-decoration: underline;
}

.area-riservata-detail-title {
    margin: 0 0 12px;
    color: #114d99;
    font-size: 29px;
    font-weight: 900;
    line-height: 1.2;
}

.area-riservata-detail-summary {
    margin: 0 0 16px;
    padding: 11px 14px;
    background: #edf5fc;
    border: 1px solid #d4e6f7;
    border-radius: 9px;
    color: #35536f;
}

.area-riservata-detail-list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 13px;
}

.area-riservata-detail-card {
    min-width: 0;
    padding: 17px 18px;
    background: #fff;
    border: 1px solid #d4e6fa;
    border-radius: 12px;
    box-shadow: 0 2px 7px rgba(17,77,153,.05);
}

.area-riservata-detail-card h2 {
    margin: 0 0 10px;
    color: #114d99;
    font-size: 19px;
    line-height: 1.3;
}

.area-riservata-detail-card h2 a {
    color: inherit;
    text-decoration: none;
}

.area-riservata-detail-card h2 a:hover,
.area-riservata-detail-card h2 a:focus {
    text-decoration: underline;
}

.area-riservata-detail-card p {
    margin: 7px 0;
    color: #3d4d5c;
    font-size: 14px;
    line-height: 1.55;
}

.area-riservata-detail-card-top,
.area-riservata-detail-meta,
.area-riservata-detail-ratings {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 14px;
    margin-bottom: 9px;
    color: #647487;
    font-size: 12px;
}

.area-riservata-detail-type {
    padding: 3px 8px;
    background: #edf5fc;
    border-radius: 12px;
    color: #15539b;
    font-weight: 700;
}

.area-riservata-detail-place {
    color: #35536f !important;
}

.area-riservata-detail-comment {
    padding: 11px 13px;
    background: #f8fbff;
    border-left: 3px solid #8eb9e4;
    border-radius: 0 7px 7px 0;
}

.area-riservata-detail-comment p {
    margin-bottom: 0;
    white-space: normal;
}

.area-riservata-detail-meta span,
.area-riservata-detail-ratings span {
    display: inline-block;
    padding: 5px 8px;
    background: #f3f7fb;
    border-radius: 6px;
    color: #40576d;
}

.area-riservata-detail-empty {
    padding: 20px;
    background: #f8fbff;
    border: 1px solid #dce9f5;
    border-radius: 10px;
    color: #647487;
}

.area-riservata-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin: 20px 0 10px;
    color: #647487;
    font-size: 13px;
}

.area-riservata-pagination a {
    display: inline-block;
    padding: 9px 13px;
    background: #f1f7fc;
    border: 1px solid #c9dced;
    border-radius: 7px;
    color: #15539b;
    font-weight: 700;
    text-decoration: none;
}

.area-riservata-pagination a:hover,
.area-riservata-pagination a:focus {
    background: #e2f0fb;
    text-decoration: underline;
}

@media screen and (max-width: 900px) {
    .area-riservata-dashboard-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Mobile: coerente con il sito legacy, senza aggiungere meta viewport. */
@media screen and (max-device-width: 700px),
       screen and (hover: none) and (pointer: coarse) {
    .area-riservata-section-title {
        font-size: 21px;
    }

    .area-riservata-dashboard-grid,
    .area-riservata-dashboard-grid-gite {
        grid-template-columns: minmax(0, 1fr);
        gap: 11px;
    }

    .area-riservata-counter-card,
    .area-riservata-counter-card:link,
    .area-riservata-counter-card:visited {
        min-height: 0;
        padding: 15px;
    }

    .area-riservata-counter-value {
        font-size: 31px;
    }
}


/* Correzioni richieste dopo la prova sul sito */
.area-riservata-back-link.area-riservata-button {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    margin: 0 0 18px;
    padding: 11px 16px;
    font-size: 15px;
    line-height: 1.3;
}

.area-riservata-detail-title {
    max-width: 720px;
    font-size: 28px;
    line-height: 1.18;
    overflow-wrap: anywhere;
}

.area-riservata-detail-summary {
    min-height: 48px;
    margin: 0 0 20px;
    padding: 14px 17px;
    font-size: 15px;
    line-height: 1.45;
}

.area-riservata-detail-summary strong {
    display: inline-block;
    margin-right: 4px;
    color: #114d99;
    font-size: 18px;
}

.area-riservata-gita-detail h2 {
    max-width: 680px;
    line-height: 1.28;
    overflow-wrap: anywhere;
}

.area-riservata-gita-detail h2 a {
    text-decoration: underline;
    text-decoration-color: #c4d9ed;
    text-underline-offset: 3px;
}

.area-riservata-detail-open {
    margin-top: 12px !important;
}

.area-riservata-detail-open a {
    display: inline-block;
    padding: 8px 12px;
    border: 1px solid #c9dced;
    border-radius: 7px;
    background: #f1f7fc;
    color: #15539b !important;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

.area-riservata-detail-open a:hover,
.area-riservata-detail-open a:focus {
    background: #e2f0fb;
    text-decoration: underline;
}

.area-riservata-counter-card .area-riservata-counter-icon svg {
    display: block;
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

@media screen and (max-device-width: 700px),
       screen and (hover: none) and (pointer: coarse) {
    .area-riservata-detail-title {
        font-size: 25px;
    }
    .area-riservata-detail-summary {
        padding: 12px;
        font-size: 14px;
    }
}


/* =========================================================
   REVISIONE: sottotitoli e stampa pulita degli elenchi
   ========================================================= */
.area-riservata-detail-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 0 0 16px;
}
.area-riservata-detail-toolbar .area-riservata-back-link { margin: 0; }
.area-riservata-detail-subtitle {
    margin: -7px 0 18px;
    color: #476889;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.3;
}
.area-riservata-gita-detail h2 {
    color: #114d99;
    font-weight: 800;
    text-decoration: none;
}
.area-riservata-print-button { cursor: pointer; font-family: inherit; }
@media screen and (max-device-width: 700px),
       screen and (hover: none) and (pointer: coarse) {
    .area-riservata-detail-toolbar { align-items: stretch; flex-direction: column; }
    .area-riservata-detail-subtitle { font-size: 20px; }
}

/* Stampa: solo intestazione sintetica, riepilogo ed elenco; niente cornice sito. */
@media print {
    body { background: #fff !important; color: #000 !important; }
    body * { visibility: hidden !important; }
    .area-riservata-detail-section,
    .area-riservata-detail-section * { visibility: visible !important; }
    .area-riservata-detail-section {
        position: absolute !important; left: 0 !important; top: 0 !important;
        width: 100% !important; margin: 0 !important; padding: 0 !important;
        background: #fff !important; color: #000 !important;
    }
    .area-riservata-detail-toolbar,
    .area-riservata-pagination,
    .area-riservata-detail-open { display: none !important; }
    .area-riservata-detail-title,
    .area-riservata-detail-subtitle { color: #000 !important; }
    .area-riservata-detail-summary {
        min-height: 0 !important; padding: 0 0 10px !important;
        margin: 0 0 12px !important; background: #fff !important;
        border: 0 !important; color: #000 !important;
    }
    .area-riservata-detail-card {
        break-inside: avoid; page-break-inside: avoid;
        margin: 0 0 12px !important; padding: 0 0 10px !important;
        border: 0 !important; border-bottom: 1px solid #bbb !important;
        border-radius: 0 !important; box-shadow: none !important;
        background: #fff !important; color: #000 !important;
    }
    .area-riservata-detail-card h2,
    .area-riservata-detail-card p,
    .area-riservata-detail-card strong,
    .area-riservata-detail-card span { color: #000 !important; }
    .area-riservata-detail-card h2 { font-size: 14pt !important; text-decoration: none !important; }
    a { color: #000 !important; text-decoration: none !important; }
    @page { margin: 1.5cm; }
}


/* Stampa elenco completo: pulsante secondario, coerente con l'Area Riservata */
.area-riservata-print-full-button {
    cursor: pointer;
    font-family: inherit;
}

@media screen and (max-device-width: 700px),
       screen and (hover: none) and (pointer: coarse) {
    .area-riservata-print-full-button {
        width: 100%;
    }
}

/* =========================================================
   AVVISI UTENTE - panel.asp
   ========================================================= */
.area-riservata-news-section {
    margin-top: 22px;
}

.area-riservata-news-list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
}

.area-riservata-news-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    border: 1px solid;
    border-radius: 11px;
    color: #3d4d5c;
    font-size: 15px;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.area-riservata-news-avviso {
    background: #fff5f2;
    border-color: #efd0c8;
}

.area-riservata-news-evento {
    background: #fffbed;
    border-color: #eee0ae;
}

.area-riservata-news-label {
    display: inline-block;
    flex: 0 0 auto;
    min-width: 58px;
    padding: 4px 8px;
    border-radius: 6px;
    background: rgba(255,255,255,.75);
    color: #7c5149;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.3;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: .35px;
}

.area-riservata-news-evento .area-riservata-news-label {
    color: #80671e;
}

.area-riservata-news-text {
    flex: 1;
    min-width: 0;
}

.area-riservata-news-text p {
    margin: 0 0 7px;
}

.area-riservata-news-text p:last-child {
    margin-bottom: 0;
}

.area-riservata-news-text a {
    color: #15539b;
    font-weight: 700;
    text-decoration: underline;
}

.area-riservata-news-empty {
    padding: 14px 16px;
    background: #f8fbff;
    border: 1px solid #dce9f5;
    border-radius: 10px;
    color: #647487;
    font-size: 14px;
}

@media screen and (max-device-width: 700px),
       screen and (hover: none) and (pointer: coarse) {
    .area-riservata-news-item {
        gap: 9px;
        padding: 12px;
        font-size: 15px;
    }

    .area-riservata-news-label {
        min-width: 52px;
        padding: 4px 6px;
    }
}

