/* /Components/Pages/Home.razor.rz.scp.css */
/* =========================================================
   HOME PAGE - STUDIO VALESINI
   ========================================================= */

.home-page[b-um07tpiz71] {
    --sv-ink: #18231d;
    --sv-forest: #263a2f;
    --sv-sage: #778872;
    --sv-sage-soft: #dfe5dc;
    --sv-paper: #f5f3ed;
    --sv-white: #ffffff;
    --sv-line: rgba(24, 35, 29, 0.14);
    --sv-shadow: 0 24px 70px rgba(24, 35, 29, 0.11);

    color: var(--sv-ink);
    background: var(--sv-white);
    overflow: hidden;
}

.home-shell[b-um07tpiz71] {
    width: min(1180px, calc(100% - 48px));
    margin-inline: auto;
}

.section-kicker[b-um07tpiz71] {
    display: inline-block;
    margin-bottom: 18px;
    color: var(--sv-sage);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    line-height: 1.3;
    text-transform: uppercase;
}

.section-kicker-light[b-um07tpiz71] {
    color: #cbd4c7;
}

/* =========================================================
   HERO
   ========================================================= */

.hero-section[b-um07tpiz71] {
    position: relative;
    min-height: clamp(650px, 82vh, 880px);
    display: grid;
    align-items: center;
    isolation: isolate;
}

.hero-media[b-um07tpiz71],
.hero-shade[b-um07tpiz71] {
    position: absolute;
    inset: 0;
}

.hero-media[b-um07tpiz71] {
    z-index: -3;
    background-image: url('/images/home/hero-studio-valesini.jpg');
    background-position: center;
    background-size: cover;
}

.hero-shade[b-um07tpiz71] {
    z-index: -2;
    background:
        linear-gradient(
            90deg,
            rgba(17, 27, 21, 0.94) 0%,
            rgba(17, 27, 21, 0.78) 40%,
            rgba(17, 27, 21, 0.24) 70%,
            rgba(17, 27, 21, 0.08) 100%
        );
}

.hero-content[b-um07tpiz71] {
    padding-block: 110px 90px;
}

.hero-copy[b-um07tpiz71] {
    width: min(650px, 62%);
    color: var(--sv-white);
}

.hero-copy h1[b-um07tpiz71] {
    max-width: 760px;
    margin: 0;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(3.3rem, 7vw, 6.8rem);
    font-weight: 400;
    letter-spacing: -0.055em;
    line-height: 0.92;
}

.hero-copy h1 em[b-um07tpiz71] {
    color: #d6ddd2;
    font-weight: 400;
}

.hero-copy p[b-um07tpiz71] {
    max-width: 610px;
    margin: 32px 0 0;
    color: rgba(255, 255, 255, 0.84);
    font-size: clamp(1.05rem, 1.5vw, 1.25rem);
    line-height: 1.75;
}

.hero-actions[b-um07tpiz71] {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 38px;
}

/* =========================================================
   BUTTONS
   ========================================================= */

.home-button[b-um07tpiz71] {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 13px 24px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 0.92rem;
    font-weight: 700;
    letter-spacing: 0.015em;
    text-decoration: none;
    transition:
        transform 180ms ease,
        background-color 180ms ease,
        border-color 180ms ease,
        color 180ms ease;
}

.home-button:hover[b-um07tpiz71] {
    transform: translateY(-2px);
}

.home-button-primary[b-um07tpiz71] {
    color: var(--sv-white);
    background: var(--sv-forest);
}

.home-button-primary:hover[b-um07tpiz71] {
    color: var(--sv-white);
    background: #314a3c;
}

.hero-section .home-button-primary[b-um07tpiz71] {
    color: var(--sv-ink);
    background: var(--sv-white);
}

.hero-section .home-button-primary:hover[b-um07tpiz71] {
    background: var(--sv-sage-soft);
}

.home-button-light[b-um07tpiz71] {
    color: var(--sv-white);
    border-color: rgba(255, 255, 255, 0.55);
    background: rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(8px);
}

.home-button-light:hover[b-um07tpiz71] {
    color: var(--sv-white);
    border-color: var(--sv-white);
    background: rgba(255, 255, 255, 0.12);
}

.home-button-outline[b-um07tpiz71] {
    color: var(--sv-white);
    border-color: rgba(255, 255, 255, 0.48);
    background: transparent;
}

.home-button-outline:hover[b-um07tpiz71] {
    color: var(--sv-ink);
    border-color: var(--sv-white);
    background: var(--sv-white);
}

/* =========================================================
   STUDIO
   ========================================================= */

.studio-section[b-um07tpiz71] {
    padding: 110px 0;
    background: var(--sv-paper);
}

.studio-grid[b-um07tpiz71] {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    gap: clamp(55px, 8vw, 120px);
    align-items: start;
}

.studio-grid h2[b-um07tpiz71],
.section-heading h2[b-um07tpiz71],
.contact-panel h2[b-um07tpiz71] {
    margin: 0;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(2.35rem, 4.6vw, 4.25rem);
    font-weight: 400;
    letter-spacing: -0.045em;
    line-height: 1.04;
}

.studio-copy > p[b-um07tpiz71] {
    margin: 2px 0 0;
    color: #4f5c54;
    font-size: 1.1rem;
    line-height: 1.85;
}

.studio-points[b-um07tpiz71] {
    display: flex;
    flex-wrap: wrap;
    gap: 11px;
    margin-top: 34px;
}

.studio-points span[b-um07tpiz71] {
    padding: 10px 15px;
    border: 1px solid var(--sv-line);
    border-radius: 999px;
    color: var(--sv-forest);
    background: rgba(255, 255, 255, 0.6);
    font-size: 0.84rem;
    font-weight: 700;
}

/* =========================================================
   SERVICES
   ========================================================= */

.services-section[b-um07tpiz71] {
    padding: 120px 0 130px;
}

.section-heading[b-um07tpiz71] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.48fr);
    gap: 70px;
    align-items: end;
    margin-bottom: 58px;
}

.section-heading > p[b-um07tpiz71] {
    margin: 0 0 7px;
    color: #5d6961;
    font-size: 1.03rem;
    line-height: 1.75;
}

.services-grid[b-um07tpiz71] {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(280px,1fr));
    gap: 2rem;
}

.service-card[b-um07tpiz71] {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--sv-line);
    border-radius: 24px;
    background: var(--sv-white);
    box-shadow: 0 12px 40px rgba(24, 35, 29, 0.05);
    transition:
        transform 220ms ease,
        box-shadow 220ms ease;
}

.service-card:hover[b-um07tpiz71] {
    transform: translateY(-6px);
    box-shadow: var(--sv-shadow);
}

.service-image[b-um07tpiz71] {
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--sv-sage-soft);
}

.service-image img[b-um07tpiz71] {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 500ms ease;
}

.service-card:hover .service-image img[b-um07tpiz71] {
    transform: scale(1.035);
}

.service-content[b-um07tpiz71] {
    position: relative;
    min-height: 245px;
    padding: 34px 38px 38px;
}

.service-number[b-um07tpiz71] {
    display: inline-block;
    margin-bottom: 28px;
    color: var(--sv-sage);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.16em;
}

.service-content h3[b-um07tpiz71] {
    max-width: 390px;
    margin: 0;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(1.65rem, 2.8vw, 2.45rem);
    font-weight: 400;
    letter-spacing: -0.035em;
    line-height: 1.08;
}

.service-content p[b-um07tpiz71] {
    max-width: 500px;
    margin: 20px 0 0;
    color: #657067;
    line-height: 1.72;
}

/* =========================================================
   METHOD
   ========================================================= */

.method-section[b-um07tpiz71] {
    min-height: 620px;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(440px, 0.92fr);
    background: var(--sv-forest);
}

.method-image[b-um07tpiz71] {
    min-height: 620px;
    background:
        linear-gradient(rgba(37, 57, 46, 0.16), rgba(37, 57, 46, 0.16)),
        url('/images/home/dettaglio-ulivo.jpg') center / cover no-repeat;
}

.method-content[b-um07tpiz71] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: clamp(65px, 8vw, 120px);
    color: var(--sv-white);
}

.method-content h2[b-um07tpiz71] {
    max-width: 610px;
    margin: 0;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(2.5rem, 4.6vw, 4.6rem);
    font-weight: 400;
    letter-spacing: -0.048em;
    line-height: 1.02;
}

.method-content p[b-um07tpiz71] {
    max-width: 570px;
    margin: 28px 0 35px;
    color: rgba(255, 255, 255, 0.76);
    font-size: 1.05rem;
    line-height: 1.8;
}

/* =========================================================
   CONTACT
   ========================================================= */

.contact-section[b-um07tpiz71] {
    padding: 100px 0;
    background: #ecefe9;
}

.contact-panel[b-um07tpiz71] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 55px;
    align-items: center;
}

.contact-panel h2[b-um07tpiz71] {
    max-width: 800px;
}

.contact-actions[b-um07tpiz71] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}

.contact-phone[b-um07tpiz71] {
    color: var(--sv-forest);
    font-weight: 750;
    text-decoration: none;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 991.98px) {
    .home-shell[b-um07tpiz71] {
        width: min(100% - 36px, 900px);
    }

    .hero-section[b-um07tpiz71] {
        min-height: 720px;
    }

    .hero-media[b-um07tpiz71] {
        background-position: 63% center;
    }

    .hero-shade[b-um07tpiz71] {
        background:
            linear-gradient(
                90deg,
                rgba(17, 27, 21, 0.94) 0%,
                rgba(17, 27, 21, 0.82) 58%,
                rgba(17, 27, 21, 0.36) 100%
            );
    }

    .hero-copy[b-um07tpiz71] {
        width: min(620px, 82%);
    }

    .studio-grid[b-um07tpiz71],
    .section-heading[b-um07tpiz71] {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .section-heading[b-um07tpiz71] {
        align-items: start;
    }

    .services-grid[b-um07tpiz71] {
        gap: 22px;
    }

    .method-section[b-um07tpiz71] {
        grid-template-columns: 1fr;
    }

    .method-image[b-um07tpiz71] {
        min-height: 430px;
    }

    .method-content[b-um07tpiz71] {
        padding: 75px 36px 85px;
    }

    .contact-panel[b-um07tpiz71] {
        grid-template-columns: 1fr;
    }

    .contact-actions[b-um07tpiz71] {
        align-items: flex-start;
    }
}

@media (max-width: 767.98px) {
    .home-shell[b-um07tpiz71] {
        width: min(100% - 28px, 680px);
    }

    .hero-section[b-um07tpiz71] {
        min-height: 690px;
        align-items: end;
    }

    .hero-media[b-um07tpiz71] {
        background-position: 68% center;
    }

    .hero-shade[b-um07tpiz71] {
        background:
            linear-gradient(
                0deg,
                rgba(17, 27, 21, 0.97) 0%,
                rgba(17, 27, 21, 0.83) 58%,
                rgba(17, 27, 21, 0.2) 100%
            );
    }

    .hero-content[b-um07tpiz71] {
        padding-block: 180px 62px;
    }

    .hero-copy[b-um07tpiz71] {
        width: 100%;
    }

    .hero-copy h1[b-um07tpiz71] {
        font-size: clamp(3.1rem, 15vw, 5.1rem);
    }

    .hero-copy p[b-um07tpiz71] {
        margin-top: 25px;
        font-size: 1rem;
        line-height: 1.65;
    }

    .hero-actions[b-um07tpiz71] {
        display: grid;
    }

    .home-button[b-um07tpiz71] {
        width: 100%;
    }

    .studio-section[b-um07tpiz71],
    .services-section[b-um07tpiz71],
    .contact-section[b-um07tpiz71] {
        padding-block: 82px;
    }

    .services-grid[b-um07tpiz71] {
        grid-template-columns: 1fr;
    }

    .service-content[b-um07tpiz71] {
        min-height: 0;
        padding: 29px 27px 32px;
    }

    .method-image[b-um07tpiz71] {
        min-height: 320px;
    }

    .method-content[b-um07tpiz71] {
        padding: 65px 22px 74px;
    }

    .contact-actions[b-um07tpiz71] {
        width: 100%;
    }

    .contact-phone[b-um07tpiz71] {
        align-self: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-button[b-um07tpiz71],
    .service-card[b-um07tpiz71],
    .service-image img[b-um07tpiz71] {
        transition: none;
    }
}


.portal-link-button[b-um07tpiz71] {
    appearance: none;
    -webkit-appearance: none;
    font: inherit;
    cursor: pointer;
}

.information-modal[b-um07tpiz71] {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: grid;
    place-items: center;
    padding: 1.25rem;
    overflow-y: auto;
    background: rgba(22, 31, 27, 0.72);
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
}

.information-modal-panel[b-um07tpiz71] {
    width: min(760px, 100%);
    max-height: calc(100vh - 2.5rem);
    overflow-y: auto;
    border: 1px solid rgba(255, 255, 255, 0.55);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 24px 80px rgba(13, 24, 19, 0.28), 0 6px 20px rgba(13, 24, 19, 0.12);
    animation: information-modal-enter-b-um07tpiz71 180ms ease-out;
}

.information-modal-header[b-um07tpiz71] {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.5rem 1.65rem 1.25rem;
    border-bottom: 1px solid #e5eae7;
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(10px);
}

.information-modal-kicker[b-um07tpiz71] {
    display: block;
    margin-bottom: 0.3rem;
    color: #71887b;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.information-modal-header h2[b-um07tpiz71] {
    margin: 0;
    color: #26322d;
    font-size: clamp(1.4rem, 3vw, 2rem);
    line-height: 1.1;
}

.information-modal-close[b-um07tpiz71] {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid #dce3df;
    border-radius: 50%;
    background: #f7f9f8;
    color: #415149;
    font-size: 1.65rem;
    line-height: 1;
    cursor: pointer;
    transition: background-color 150ms ease, border-color 150ms ease, transform 150ms ease;
}

    .information-modal-close:hover[b-um07tpiz71] {
        border-color: #bcc9c2;
        background: #edf2ef;
        transform: rotate(4deg);
    }

.information-modal-body[b-um07tpiz71] {
    padding: 1.5rem 1.65rem 1.65rem;
}

@keyframes information-modal-enter-b-um07tpiz71 {
    from {
        opacity: 0;
        transform: translateY(12px) scale(0.985);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@media (max-width: 680px) {
    .information-modal[b-um07tpiz71] {
        align-items: end;
        padding: 0;
    }

    .information-modal-panel[b-um07tpiz71] {
        width: 100%;
        max-height: 92vh;
        border-right: 0;
        border-bottom: 0;
        border-left: 0;
        border-radius: 18px 18px 0 0;
    }

    .information-modal-header[b-um07tpiz71] {
        padding: 1.2rem;
    }

    .information-modal-body[b-um07tpiz71] {
        padding: 1.2rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .information-modal-panel[b-um07tpiz71] {
        animation: none;
    }
}
/* /Components/Pages/HomeNoticePopup.razor.rz.scp.css */
/* CSS for HomeNoticePopup component */
.home-notice-overlay[b-nol7lolg6q] {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(18, 27, 24, 0.68);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

.home-notice-dialog[b-nol7lolg6q] {
    position: relative;
    width: min(100%, 580px);
    max-height: calc(100vh - 48px);
    overflow-y: auto;
    padding: 42px 46px 38px;
    background: #f8f8f4;
    border: 1px solid rgba(83, 106, 92, 0.22);
    border-radius: 4px;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.25);
    color: #1f2a26;
}

.home-notice-kicker[b-nol7lolg6q] {
    display: block;
    margin-bottom: 12px;
    color: #6d8174;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.home-notice-dialog h2[b-nol7lolg6q] {
    margin: 0 40px 18px 0;
    color: #26352e;
    font-size: clamp(1.75rem, 4vw, 2.4rem);
    font-weight: 500;
    line-height: 1.15;
}

.home-notice-message[b-nol7lolg6q] {
    margin-bottom: 30px;
    color: #4d5953;
    font-size: 1rem;
    line-height: 1.75;
    white-space: pre-line;
}

.home-notice-close[b-nol7lolg6q] {
    position: absolute;
    top: 15px;
    right: 17px;
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #405047;
    font-size: 2rem;
    font-weight: 300;
    line-height: 1;
    cursor: pointer;
}

    .home-notice-close:hover[b-nol7lolg6q],
    .home-notice-close:focus-visible[b-nol7lolg6q] {
        background: rgba(83, 106, 92, 0.1);
    }

.home-notice-confirm[b-nol7lolg6q] {
    min-height: 48px;
    padding: 12px 24px;
    border: 1px solid #51675a;
    border-radius: 2px;
    background: #51675a;
    color: #ffffff;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

    .home-notice-confirm:hover[b-nol7lolg6q],
    .home-notice-confirm:focus-visible[b-nol7lolg6q] {
        background: #405348;
        border-color: #405348;
    }

@media (max-width: 640px) {
    .home-notice-overlay[b-nol7lolg6q] {
        align-items: flex-end;
        padding: 12px;
    }

    .home-notice-dialog[b-nol7lolg6q] {
        width: 100%;
        padding: 34px 24px 28px;
        border-radius: 4px 4px 0 0;
    }

        .home-notice-dialog h2[b-nol7lolg6q] {
            font-size: 1.75rem;
        }
}
/* /Components/Shared/InformationRequestForm.razor.rz.scp.css */
.request-form[b-ovx1e6ezc8] {
    display: flex;
    flex-direction: column;
    gap: 1.4rem;
}

.request-form-intro[b-ovx1e6ezc8] {
    margin: 0;
    color: #5b6761;
    font-size: 0.96rem;
    line-height: 1.65;
}

.request-form-grid[b-ovx1e6ezc8] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.1rem;
}

.request-field[b-ovx1e6ezc8] {
    display: flex;
    flex-direction: column;
    gap: 0.42rem;
    min-width: 0;
}

.request-field-full[b-ovx1e6ezc8] {
    grid-column: 1 / -1;
}

.request-field label[b-ovx1e6ezc8] {
    color: #2e3b35;
    font-size: 0.87rem;
    font-weight: 700;
}

    .request-field label > span[aria-hidden="true"][b-ovx1e6ezc8] {
        color: #a34e42;
    }

.request-input[b-ovx1e6ezc8] {
    box-sizing: border-box;
    width: 100%;
    min-height: 48px;
    padding: 0.8rem 0.9rem;
    border: 1px solid #d5ddd8;
    border-radius: 8px;
    outline: none;
    background: #ffffff;
    color: #26322d;
    font: inherit;
    transition: border-color 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
}

    .request-input:hover[b-ovx1e6ezc8] {
        border-color: #acbbb3;
    }

    .request-input:focus[b-ovx1e6ezc8] {
        border-color: #71877b;
        box-shadow: 0 0 0 4px rgba(113, 135, 123, 0.14);
    }

.request-textarea[b-ovx1e6ezc8] {
    min-height: 135px;
    resize: vertical;
    line-height: 1.5;
}

.request-privacy[b-ovx1e6ezc8] {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    color: #59665f !important;
    font-size: 0.84rem !important;
    font-weight: 400 !important;
    line-height: 1.5;
    cursor: pointer;
}

    .request-privacy input[b-ovx1e6ezc8] {
        flex: 0 0 auto;
        width: 17px;
        height: 17px;
        margin-top: 0.15rem;
        accent-color: #60756a;
    }

    .request-privacy a[b-ovx1e6ezc8] {
        color: #50695c;
        font-weight: 700;
    }

.request-status[b-ovx1e6ezc8] {
    padding: 0.85rem 1rem;
    border: 1px solid #cddbd3;
    border-radius: 8px;
    background: #f1f7f3;
    color: #3f594b;
    font-size: 0.88rem;
    line-height: 1.5;
}

.request-form-actions[b-ovx1e6ezc8] {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
}

.request-action[b-ovx1e6ezc8] {
    min-height: 46px;
    padding: 0.72rem 1.15rem;
    border: 1px solid transparent;
    border-radius: 999px;
    font: inherit;
    font-size: 0.88rem;
    font-weight: 700;
    cursor: pointer;
    transition: background-color 150ms ease, border-color 150ms ease, transform 150ms ease, opacity 150ms ease;
}

    .request-action:hover:not(:disabled)[b-ovx1e6ezc8] {
        transform: translateY(-1px);
    }

    .request-action:disabled[b-ovx1e6ezc8] {
        opacity: 0.6;
        cursor: wait;
    }

.request-action-primary[b-ovx1e6ezc8] {
    background: #60756a;
    color: #ffffff;
}

    .request-action-primary:hover:not(:disabled)[b-ovx1e6ezc8] {
        background: #50645a;
    }

.request-action-secondary[b-ovx1e6ezc8] {
    border-color: #d4ddd8;
    background: #ffffff;
    color: #4f5f57;
}

    .request-action-secondary:hover:not(:disabled)[b-ovx1e6ezc8] {
        border-color: #b9c6bf;
        background: #f6f8f7;
    }

[b-ovx1e6ezc8] .validation-message {
    color: #a54439;
    font-size: 0.77rem;
    line-height: 1.35;
}

[b-ovx1e6ezc8] .invalid {
    border-color: #b95e53;
}

[b-ovx1e6ezc8] .valid.modified {
    border-color: #71877b;
}

@media (max-width: 680px) {
    .request-form-grid[b-ovx1e6ezc8] {
        grid-template-columns: 1fr;
    }

    .request-field-full[b-ovx1e6ezc8] {
        grid-column: auto;
    }

    .request-form-actions[b-ovx1e6ezc8] {
        flex-direction: column-reverse;
    }

    .request-action[b-ovx1e6ezc8] {
        width: 100%;
    }
}
/* /Components/Shared/InformationRequestLauncher.razor.rz.scp.css */
.request-launcher-button[b-pjr5lnih46] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    min-height: 42px;
    padding: 0.7rem 1rem;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 999px;
    background: transparent;
    color: inherit;
    font: inherit;
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

    .request-launcher-button:hover[b-pjr5lnih46] {
        border-color: rgba(255, 255, 255, 0.45);
        background: rgba(255, 255, 255, 0.08);
        transform: translateY(-1px);
    }

    .request-launcher-button:focus-visible[b-pjr5lnih46] {
        outline: 3px solid rgba(166, 192, 177, 0.45);
        outline-offset: 3px;
    }

.request-launcher-arrow[b-pjr5lnih46] {
    font-size: 1rem;
    line-height: 1;
}

/* Overlay a tutto schermo */

.request-modal-overlay[b-pjr5lnih46] {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100vw;
    height: 100dvh;
    z-index: 2147483647;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 1.5rem;
    overflow: auto;
    background: rgba(17, 25, 21, 0.76);
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
}

/* Finestra popup */

.request-modal-panel[b-pjr5lnih46] {
    position: relative;
    z-index: 1;
    width: min(760px, calc(100vw - 3rem));
    max-height: calc(100dvh - 3rem);
    margin: auto;
    overflow-y: auto;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 18px;
    background: #ffffff;
    color: #26322d;
    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.32), 0 8px 24px rgba(0, 0, 0, 0.16);
}

/* Header popup */

.request-modal-header[b-pjr5lnih46] {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.5rem 1.65rem 1.25rem;
    border-bottom: 1px solid #e3e9e5;
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.request-modal-kicker[b-pjr5lnih46] {
    display: block;
    margin-bottom: 0.35rem;
    color: #71877b;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.request-modal-header h2[b-pjr5lnih46] {
    margin: 0;
    color: #26322d;
    font-size: clamp(1.45rem, 3vw, 2rem);
    line-height: 1.15;
}

/* Pulsante chiusura */

.request-modal-close[b-pjr5lnih46] {
    flex: 0 0 auto;
    display: inline-grid;
    place-items: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid #d9e1dc;
    border-radius: 50%;
    background: #f5f8f6;
    color: #35463e;
    font-family: Arial, sans-serif;
    font-size: 1.65rem;
    line-height: 1;
    cursor: pointer;
    transition: background-color 150ms ease, border-color 150ms ease, transform 150ms ease;
}

    .request-modal-close:hover[b-pjr5lnih46] {
        border-color: #b9c7bf;
        background: #eaf0ec;
        transform: rotate(4deg);
    }

    .request-modal-close:focus-visible[b-pjr5lnih46] {
        outline: 3px solid rgba(113, 135, 123, 0.25);
        outline-offset: 2px;
    }

/* Contenuto */

.request-modal-content[b-pjr5lnih46] {
    padding: 1.5rem 1.65rem 1.7rem;
}

@keyframes request-modal-show-b-pjr5lnih46 {
    from {
        opacity: 0;
        transform: translateY(14px) scale(0.985);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@media (max-width: 680px) {
    .request-modal-overlay[b-pjr5lnih46] {
        align-items: flex-end;
        width: 100vw;
        height: 100dvh;
        padding: 0;
    }

    .request-modal-panel[b-pjr5lnih46] {
        width: 100vw;
        max-width: none;
        max-height: 92dvh;
        margin: 0;
        border-right: 0;
        border-bottom: 0;
        border-left: 0;
        border-radius: 20px 20px 0 0;
    }

    .request-modal-header[b-pjr5lnih46] {
        padding: 1.15rem 1.2rem;
    }

    .request-modal-content[b-pjr5lnih46] {
        padding: 1.2rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .request-modal-panel[b-pjr5lnih46] {
        animation: none;
    }

    .request-launcher-button[b-pjr5lnih46] {
        transition: none;
    }
}
