/* Presentation only: original PHP conditions, actions and form fields are preserved. */
/* MyGenerali desktop: fascia full width e visual fornito, senza modificare il PHP. */
@media (min-width: 768px) {
    .php-logic-original.login-cap-updated .mygenerali-section {
        background: var(--soft);
        height: 529px;
        margin-inline: calc(50% - 50vw);
        width: 100vw;
    }
    .php-logic-original.login-cap-updated .mygenerali-section > img.mygenerali-desktop {
        bottom: 0;
        content: url('../img/figma/Download_App.svg');
        height: auto;
        max-width: none;
        right: 0;
        top: auto;
        width: min(997px, 70vw);
    }
    .php-logic-original.login-cap-updated .mygenerali-copy {
        left: max(32px, calc((100% - var(--container)) / 2));
        top: 50%;
        transform: translateY(-50%);
        width: min(391px, calc(45vw - 40px));
    }
    /* Scia tra i banner allineata allo stesso bordo della fascia full width. */
    .view-home .car-paw-separator {
        margin-inline: calc(50% - 50vw);
        width: 100vw;
    }
}
.php-logic-original main { overflow-x: visible; }
.auth-page > #content:not(.auth-card-tome):has(.subtitle.black1, .box-header) {
    /* Legacy login messages must follow the absolutely positioned 360px hero. */
    padding: 400px 0 48px;
    position: relative;
}
.auth-page > #content:not(.auth-card-tome) .subtitle.black1,
.auth-page > #content:not(.auth-card-tome) .box-header {
    font-size: 24px;
    font-weight: 700;
    line-height: 32px;
    margin: 0;
    text-align: center;
}
.auth-page > #content:not(.auth-card-tome) .box-header > strong {
    font-weight: inherit;
}
.auth-page > #content:not(.auth-card-tome):has(.subtitle.black1, .box-header) img[src$="/coin-result.png"] {
    display: none;
}
.auth-page > #content:not(.auth-card-tome) .graphic-login-error-action {
    margin-top: 24px;
    text-align: center;
}
.auth-page > #content:not(.auth-card-tome) .box-content:has(a.buttonred-outline[href="/trovalimpronta/it/login"]) {
    flex-basis: 100%;
    margin-top: 24px;
    max-width: 100%;
    text-align: center;
    width: 100%;
}
.auth-page > #content:not(.auth-card-tome) .wrapper-content:has(> a.buttonred-outline[href="/trovalimpronta/it/login"]) {
    width: 100%;
}
.auth-page > #content:not(.auth-card-tome) .wrapper-content:has(> a.buttonred-outline[href="/trovalimpronta/it/login"]) > br {
    display: none;
}
.auth-page > #content:not(.auth-card-tome) .graphic-login-error-action > a,
.auth-page > #content:not(.auth-card-tome) a.buttonred-outline[href="/trovalimpronta/it/login"] {
    color: var(--ink);
    display: inline-block;
    font-size: 18px;
    font-weight: 700;
    line-height: 26px;
    text-decoration: underline;
}
.auth-page > #content:not(.auth-card-tome) .graphic-login-error-action > a:focus-visible,
.auth-page > #content:not(.auth-card-tome) a.buttonred-outline[href="/trovalimpronta/it/login"]:focus-visible {
    outline: 2px solid var(--brand-red);
    outline-offset: 4px;
}
.auth-page > #content:not(.auth-card-tome) a.button-tome[href="/trovalimpronta/it/login"] {
    margin-inline: auto;
    max-width: 100%;
}
.php-logic-original .dashboard-current.prospect-current-card,
.php-logic-original .dashboard-invite.prospect-invite,
.php-logic-original .charity-section-landing {
    /* Extend only the solid background, without changing layout or image clipping. */
    border-image: linear-gradient(var(--soft) 0 0) fill 0 / 0 / 0 100vmax;
}
.php-logic-original.login-cap-updated .campaign-footer,
.php-logic-original.dashboard-client-first .campaign-footer {
    border-image: linear-gradient(#505359 0 0) fill 0 / 0 / 0 100vmax;
}
.php-logic-original .landing-hero,
.php-logic-original .dashboard-hero-html,
.php-logic-original .auth-hero {
    box-shadow: 0 0 0 100vmax var(--brand-red);
    clip-path: inset(0 -100vmax);
}
@media (min-width: 1366px) {
    .php-logic-original .charity-section-landing .charity-art {
        left: calc((100% - 100vw) / 2);
    }
    .php-logic-original .car-banner::before {
        left: calc((100% - 100vw) / 2);
        right: calc((100% - 100vw) / 2);
    }
    .php-logic-original .car-banner > .car-image-desktop {
        right: calc((100% - 100vw) / 2);
    }
    .php-logic-original .car-banner > .car-image-note {
        right: calc((100% - 100vw) / 2 + 16px);
    }
}
@media (min-width: 992px) {
    .php-logic-original.login-cap-updated .hero-background {
        inset: 0 auto 0 50%;
        transform: translateX(-50%);
        width: 100vw;
    }
    .php-logic-original.login-cap-updated .hero-background-art { z-index: 2; }
    .php-logic-original.login-cap-updated .hero-wing { clip-path: inset(0 0 0 calc(100% - 1109px)); }
    .php-logic-original.login-cap-updated .hero-wing-outline { clip-path: inset(0 0 0 calc(100% - 786.103px)); }
    /* Continue the native artwork's straight right edge on wide screens. */
    .php-logic-original.login-cap-updated .hero-background::after {
        background: #aa1b17;
        bottom: 0;
        content: "";
        left: calc(50% + 683px);
        position: absolute;
        right: 0;
        top: 88px;
    }
    .php-logic-original.login-cap-updated .hero-background::before {
        border-block: 3px solid #fff;
        bottom: 77.5px;
        content: "";
        left: calc(50% + 683px);
        position: absolute;
        right: 0;
        top: 135px;
        z-index: 1;
    }
}
.graphic-hero-extension { display: none; pointer-events: none; }
@media (min-width: 992px) {
    .php-logic-original .auth-hero,
    .php-logic-original .dashboard-hero-html {
        --graphic-outline-right: 1929px;
        --graphic-outline-top: 113px;
        --graphic-outline-height: 370px;
        container-type: inline-size;
        overflow: visible;
    }
    .php-logic-original.dashboard-client-first .dashboard-hero-html {
        --graphic-outline-right: 1933.42px;
        --graphic-outline-top: 111px;
        --graphic-outline-height: 373px;
    }
    .php-logic-original.dashboard-client-after .dashboard-hero-html,
    .php-logic-original.dashboard-prospect .dashboard-hero-html {
        --graphic-outline-right: 1929px;
        --graphic-outline-top: 113px;
        --graphic-outline-height: 370px;
    }
    /* Clip the rotated visuals before their old edge; keep the decorations above. */
    .php-logic-original .auth-hero-art,
    .php-logic-original .dashboard-hero-html > .prospect-hero-art {
        clip-path: inset(0 0 0 max(0px, calc(1843px - 100cqw + 12px)));
    }
    .php-logic-original .auth-hero-outline,
    .php-logic-original .dashboard-hero-html > .prospect-hero-outline {
        clip-path: inset(0 0 0 max(0px, calc(var(--graphic-outline-right) - 100cqw + 12px)));
    }
    .php-logic-original .graphic-hero-extension {
        background: #aa1b17;
        bottom: 0;
        display: block;
        /* Overlap the clipped visuals to prevent a subpixel seam at fractional zoom. */
        left: calc(100% - 14px);
        position: absolute;
        right: calc((100% - 100vw) / 2);
        top: 161px;
        z-index: 1;
    }
    /* Match the visible SVG margins and lower stroke in a single frame. */
    .php-logic-original .graphic-hero-extension::before {
        background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1' height='373' viewBox='0 0 1 373' preserveAspectRatio='none'%3E%3Cpath d='M0 1.5H1M0 371.5H1' fill='none' stroke='white' stroke-width='3'/%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat;
        content: "";
        height: var(--graphic-outline-height);
        left: 0;
        position: absolute;
        right: 0;
        top: calc(var(--graphic-outline-top) - 161px);
        transform: rotate(180deg);
    }
    .php-logic-original.dashboard-client-first:not(.dashboard-prospect):not(.dashboard-client-after) .graphic-hero-extension::before {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1' height='373' viewBox='0 0 1 373' preserveAspectRatio='none'%3E%3Cpath d='M0 1.5H1' fill='none' stroke='white' stroke-width='3'/%3E%3Cpath d='M0 370.625H1' fill='none' stroke='white' stroke-width='2.75'/%3E%3C/svg%3E");
    }
}
.php-logic-original .login-register:disabled { cursor: not-allowed; /*opacity: 1; */}
.php-logic-original .won-section:not(:has(.won-grid > article)) { display: none; }
.php-logic-original .won-grid { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; }
.php-logic-original .won-grid > article { flex: 0 0 calc((100% - 32px) / 3); scroll-snap-align: start; }
.php-logic-original .won-grid article > u { align-self: flex-start; margin: auto 16px 16px; }
.php-logic-original .graphic-won-controls { align-items: center; display: flex; gap: 16px; margin-top: 16px; }
.graphic-won-controls button { background: #fff; border: 1px solid var(--ink); border-radius: 50%; color: var(--ink); height: 32px; width: 32px; }
.graphic-won-controls button:disabled { opacity: .35; }
.graphic-won-controls span { min-width: 40px; text-align: center; }
.php-logic-original .play-result .modal-header,
.php-logic-original .play-result .modal-body,
.php-logic-original .play-result .modal-footer { border: 0; display: contents; }
.php-logic-original .play-result .modal-header > .modal-title { display: none; }
.php-logic-original .play-result .modal-body > .row { width: 100%; }
.php-logic-original .play-result .modal-body img:not(.path-token-coin):not(.path-token-check):not(.path-token-pending) { margin-inline: auto; max-height: 206px; object-fit: contain; }
.php-logic-original .play-result .modal-body .row { margin: 0; }
.php-logic-original .play-result .result-hero { position: relative; }
.php-logic-original .play-result .modal-body h2,
.php-logic-original .play-result .modal-body h3 { color: var(--ink); font-size: 28px; line-height: 34px; }
.php-logic-original .play-result .close { align-items: center; color: var(--ink); display: flex; gap: 8px; right: 24px; top: 24px; }
.php-logic-original .play-result .close img { height: 24px; width: 24px; }
.php-logic-original .play-result .modal-footer:empty { display: none; }
.php-logic-original .campaign-game-modal .modal-body { display: block; padding: 0; width: 100%; }
.php-logic-original .campaign-paw-modal .modal-header > .modal-title { display: block; font-size: 20px; line-height: 25px; margin-top: 32px; }
.php-logic-original .campaign-paw-modal .modal-body img { max-height: 140px; }
/* Document review: adapt the original modal markup without changing PHP actions. */
.php-logic-original .play-result .play-result-content { height: auto; min-height: 0; padding: 64px 40px 40px; }
.php-logic-original .play-result .modal-body > .row > div { padding-inline: 0; }
.php-logic-original .play-result .modal-body .graphic-modal-illustration { display: block; height: auto; margin: 0 auto 24px; max-height: none; max-width: 100%; width: 582px; }
.php-logic-original .play-result-win .modal-body .graphic-modal-illustration,
.php-logic-original .play-result-sent .modal-body .img_modale_tome.graphic-modal-illustration { width: 710px; }
.php-logic-original #myModal .modal-body .graphic-modal-illustration,
.php-logic-original #myModal_onlus .modal-body .graphic-modal-illustration,
.php-logic-original #myModal_novinto .modal-body .graphic-modal-illustration { width: 272px; }
.php-logic-original .play-result .modal-body h2,
.php-logic-original .play-result .modal-body h3 { margin: 0 auto 24px; max-width: 100%; }
.php-logic-original .play-result .play-result-description { margin: 0 auto; width: 100%; }
.php-logic-original .play-result .play-result-footprints { margin: 0 auto 24px; }
.php-logic-original .play-result .modal-body .graphic-modal-actions { align-items: stretch; gap: 16px; justify-content: center; margin-top: 28px; }
.php-logic-original .graphic-modal-actions > div { display: flex; flex: 1 1 0; min-width: 0; width: auto; }
.php-logic-original .graphic-modal-actions .play-result-action { height: auto; line-height: 24px; margin: 0 auto; max-width: 100%; min-height: 56px; padding: 12px 16px; width: 100%; }
/* Prize decisions keep their original URLs; only their visual classes differ. */
.php-logic-original .play-result-win .play-result-action.bottone-outline { background: transparent; border-color: var(--ink); color: var(--ink); }
.php-logic-original .play-result-win .play-result-action.bottone-outline:hover,
.php-logic-original .play-result-win .play-result-action.bottone-outline:focus-visible { background: var(--ink); border-color: var(--ink); color: #fff; }
.php-logic-original .play-result-win .play-result-action.graphic-prize-accept { background: var(--ink); border-color: var(--ink); color: #fff; }
.php-logic-original .play-result-win .play-result-action.graphic-prize-accept:hover,
.php-logic-original .play-result-win .play-result-action.graphic-prize-accept:focus-visible { background: #505359; border-color: #505359; color: #fff; }
.php-logic-original .play-result-win .play-result-action.bottone-outline:focus-visible,
.php-logic-original .play-result-win .play-result-action.graphic-prize-accept:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.php-logic-original .play-result-loss .play-result-action { margin: 28px auto 0; }
.php-logic-original .campaign-paw-modal .play-result-content { padding: 64px 18px 28px; }
.php-logic-original .campaign-paw-modal .modal-body .graphic-modal-illustration { margin-bottom: 16px; width: 174px; }
.php-logic-original .campaign-paw-modal .result-check { height: 32px; margin: 0; right: calc(50% - 66px); top: 20px; width: 32px; }
.php-logic-original .campaign-game-modal .play-result-game { background: #d2e0f3; padding: 0; }
.php-logic-original .campaign-game-modal .modal-body .row { margin: 0; }
.php-logic-original .campaign-game-modal .modal-body > .row > div { padding: 0; }
.php-logic-original .campaign-game-modal iframe { max-height: none; min-height: 0; }
.php-logic-original .campaign-game-modal .play-result-close { background: #fff; padding: 4px 8px; right: 16px; top: 16px; }
.php-logic-original .campaign-game-modal .modal-body .graphic-modal-actions { margin-top: 0; padding: 16px; }
.php-logic-original .campaign-game-modal .graphic-modal-actions .play-result-action { max-width: 300px; }
@media (max-width: 767.98px) {
    .php-logic-original .won-grid > article { flex-basis: 100%; }
    .php-logic-original .play-result .modal-body h2,
    .php-logic-original .play-result .modal-body h3 { font-size: 20px; line-height: 25px; }
    .php-logic-original .play-result .modal-body img:not(.path-token-coin):not(.path-token-check):not(.path-token-pending) { max-height: 144px; }
    .php-logic-original .campaign-game-modal iframe { width: 100%; }
    .php-logic-original .play-result .play-result-content { padding: 64px 23px 30px; }
    .php-logic-original .play-result .modal-body .graphic-modal-illustration { max-height: none; }
    .php-logic-original .play-result .modal-body .graphic-modal-actions { gap: 12px; }
    .php-logic-original .graphic-modal-actions > div { flex-basis: 100%; }
    .php-logic-original .graphic-modal-actions .play-result-action { font-size: 16px; min-height: 48px; }
    .php-logic-original .campaign-paw-modal .play-result-content { padding: 64px 18px 28px; }
    .php-logic-original .campaign-game-modal .play-result-game { padding: 0; }
}


@media (min-width: 768px) {
    .php-logic-original .client-app-banner {
        height: 529px;
        margin-inline: calc(50% - 50vw);
        width: 100vw;
    }

    .php-logic-original .client-app-banner > img.client-app-desktop {
        bottom: 0;
        content: url('/trovalimpronta/img/figma/Download_App.svg');
        height: auto;
        max-width: none;
        right: 0;
        top: auto;
        width: min(997px, 70vw);
    }

    .php-logic-original .client-app-banner .client-app-copy {
        left: max(32px, calc((100% - var(--container)) / 2));
        top: 50%;
        transform: translateY(-50%);
        width: min(391px, calc(45vw - 40px));
    }

    .php-logic-original .client-app-banner::before {
        left: max(242px, calc((100% - var(--container)) / 2 + 210px));
    }
}

@media (max-width: 767.98px) {
    .view-register .auth-page {
        display: flow-root;
    }
}