.page-ambassador {
    background: #f6f4ef;
    color: #0b1f3a;
}

.page-ambassador .amb-hero,
.page-ambassador .amb-builder,
.page-ambassador .amb-poster,
.page-ambassador .amb-form-card,
.page-ambassador .amb-preview-column,
.page-ambassador .amb-public-pill,
.page-ambassador .amb-field,
.page-ambassador .amb-actions {
    box-sizing: border-box;
}

.amb-hero {
    padding: 1.25rem 0 .65rem;
    background: radial-gradient(circle at 82% 12%, rgba(240, 188, 67, .13), transparent 28%), linear-gradient(180deg, #fff 0, #f8f5ee 100%);
}

.amb-hero__main {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
    align-items: end;
    gap: clamp(1.25rem, 3vw, 3rem);
}

.amb-kicker {
    display: flex;
    align-items: center;
    gap: .55rem;
    margin: 0 0 .42rem;
    color: #c58d13;
    font-size: .93rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.amb-kicker svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
}

.amb-hero h1 {
    max-width: 780px;
    margin: 0;
    color: #0b1f3a;
    font-size: clamp(1.95rem, 3.1vw, 3.2rem);
    line-height: 1.03;
    letter-spacing: -.038em;
    font-weight: 950;
}

.amb-hero__lead {
    max-width: 680px;
    margin: 0 0 .15rem;
    color: #586b7f;
    font-size: clamp(1rem, 1.25vw, 1.15rem);
    line-height: 1.52;
}

.amb-public-pill {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
    min-height: 52px;
    margin-top: .9rem;
    padding: .72rem 1rem;
    border: 1px solid rgba(11, 31, 58, .12);
    border-radius: 14px;
    background: #fff;
    color: #5b6d80;
    box-shadow: 0 8px 26px rgba(11, 31, 58, .05);
    font-size: 1rem;
    text-decoration: none;
    transition: border-color .2s, transform .2s, box-shadow .2s;
}

.amb-public-pill:hover {
    border-color: rgba(197, 141, 19, .48);
    box-shadow: 0 10px 30px rgba(11, 31, 58, .08);
    transform: translateY(-1px);
    text-decoration: none;
}

.amb-public-pill strong {
    color: #0b1f3a;
}

.amb-public-pill b {
    flex: 0 0 auto;
    color: #9c6a00;
    font-size: 1.02rem;
    font-weight: 950;
}

.amb-builder {
    padding: .65rem 0 4rem;
}

.amb-grid {
    display: grid;
    grid-template-columns: minmax(430px, 1.08fr) minmax(410px, .92fr);
    gap: clamp(1.2rem, 2.6vw, 2.6rem);
    align-items: start;
}

.amb-form-column {
    display: grid;
    gap: .85rem;
}

.amb-form-card {
    scroll-margin-top: 110px;
    padding: clamp(1.15rem, 1.7vw, 1.65rem);
    border: 1px solid rgba(11, 31, 58, .1);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 50px rgba(11, 31, 58, .08);
}

.amb-form-card header span,
.amb-preview-head span:first-child {
    color: #c58d13;
    font-size: .82rem;
    font-weight: 950;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.amb-form-card header h2 {
    margin: .18rem 0 .28rem;
    font-size: 1.72rem;
    font-weight: 950;
    letter-spacing: -.025em;
}

.amb-form-card header p {
    margin: 0 0 .9rem;
    color: #697b8d;
    font-size: 1rem;
    line-height: 1.48;
}

.amb-alert {
    margin: 0 0 1rem;
    padding: .85rem 1rem;
    border: 1px solid #f3c2c2;
    border-radius: 14px;
    background: #fff3f3;
    color: #8f2525;
    font-weight: 750;
}

.amb-fields-inline {
    display: grid;
    grid-template-columns: minmax(180px, .72fr) minmax(230px, 1.28fr);
    gap: .8rem;
}

.amb-field {
    display: grid;
    gap: .36rem;
    margin-top: .82rem;
}

.amb-field--primary {
    margin-top: .55rem;
}

.amb-field label {
    font-size: 1rem;
    font-weight: 900;
}

.amb-field > small {
    color: #78899a;
    font-size: .84rem;
    line-height: 1.35;
}

.amb-field input[type="text"],
.amb-field select:not([data-ambassador-comune]) {
    width: 100%;
    min-height: 52px;
    padding: .72rem .88rem;
    border: 1px solid #cfd8e2;
    border-radius: 13px;
    background: #fff;
    color: #0b1f3a;
    font-size: 1.04rem;
    outline: 0;
    transition: border-color .2s, box-shadow .2s;
}

.amb-field select:not([data-ambassador-comune]) {
    padding-right: 2.3rem;
}

.amb-field input[type="text"]:focus,
.amb-field select:not([data-ambassador-comune]):focus {
    border-color: #d7a32f;
    box-shadow: 0 0 0 4px rgba(240, 188, 67, .15);
}

.page-ambassador .select2-container {
    width: 100% !important;
}

.page-ambassador .select2-container .select2-selection--single {
    height: 54px;
    border: 1px solid #cfd8e2;
    border-radius: 13px;
    background: #fff;
}

.page-ambassador .select2-container--default.select2-container--focus .select2-selection--single,
.page-ambassador .select2-container--default.select2-container--open .select2-selection--single {
    border-color: #d7a32f;
    box-shadow: 0 0 0 4px rgba(240, 188, 67, .15);
}

.page-ambassador .select2-container--default .select2-selection--single .select2-selection__rendered {
    padding: 12px 42px 10px 13px;
    color: #0b1f3a;
    font-size: 1.08rem;
    line-height: 30px;
}

.page-ambassador .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 52px;
    right: 9px;
}

.amb-submit-hint {
    margin-top: .85rem;
    padding: .7rem .85rem;
    border-radius: 11px;
    background: #f4f6f8;
    color: #697b8d;
    font-size: .9rem;
    font-weight: 750;
    text-align: center;
}

.amb-submit-hint[hidden] {
    display: none;
}

.amb-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .7rem;
    margin-top: .8rem;
}

.amb-action-wide {
    grid-column: 1 / -1;
}

.amb-primary,
.amb-secondary,
.amb-whatsapp {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    min-height: 51px;
    padding: .74rem .9rem;
    border-radius: 13px;
    font-size: 1rem;
    font-weight: 950;
    cursor: pointer;
    transition: opacity .2s, transform .2s, background .2s, border-color .2s;
}

.amb-primary {
    border: 1px solid #e8b63b;
    background: #efbd43;
    color: #0b1f3a;
    box-shadow: 0 10px 24px rgba(198, 141, 19, .19);
}

.amb-secondary {
    border: 1px solid #cbd6e0;
    background: #fff;
    color: #0b1f3a;
}

.amb-whatsapp {
    border: 1px solid rgba(18, 140, 126, .35);
    background: #f2fbf8;
    color: #11685e;
}

.amb-primary svg,
.amb-secondary svg,
.amb-whatsapp svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.amb-primary:hover:not(:disabled) {
    background: #f5c95c;
    transform: translateY(-1px);
}

.amb-secondary:hover:not(:disabled) {
    background: #f5f8fa;
}

.amb-whatsapp:hover:not(:disabled) {
    background: #e9f8f3;
}

.amb-primary:disabled,
.amb-secondary:disabled,
.amb-whatsapp:disabled {
    opacity: .45;
    cursor: not-allowed;
    box-shadow: none;
    transform: none;
}

.amb-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .6rem;
    padding: .85rem;
    border: 1px solid rgba(11, 31, 58, .1);
    border-radius: 17px;
    background: rgba(255, 255, 255, .72);
}

.amb-steps article {
    display: flex;
    gap: .55rem;
    min-width: 0;
}

.amb-steps article > span {
    display: grid;
    place-items: center;
    width: 27px;
    height: 27px;
    border-radius: 50%;
    background: #0b1f3a;
    color: #fff;
    font-size: .84rem;
    font-weight: 950;
    flex: 0 0 auto;
}

.amb-steps strong {
    display: block;
    font-size: .9rem;
}

.amb-steps p {
    margin: .15rem 0 0;
    color: #728498;
    font-size: .78rem;
    line-height: 1.35;
}

.amb-preview-column {
    position: sticky;
    top: 118px;
    padding: .85rem;
    border: 1px solid rgba(11, 31, 58, .1);
    border-radius: 22px;
    background: rgba(255, 255, 255, .76);
    box-shadow: 0 16px 45px rgba(11, 31, 58, .06);
}

.amb-preview-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin: .05rem .15rem .72rem;
}

.amb-preview-head h2 {
    margin: .08rem 0 0;
    font-size: 1.08rem;
    font-weight: 950;
}

.amb-a4 {
    padding: .32rem .5rem;
    border-radius: 8px;
    background: #eef2f5;
    color: #607385 !important;
    font-size: .75rem !important;
    letter-spacing: .04em !important;
}

.amb-poster {
    position: relative;
    width: 100%;
    max-width: 455px;
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid rgba(11, 31, 58, .13);
    border-radius: 3px;
    background: #f7f3eb;
    box-shadow: 0 20px 46px rgba(11, 31, 58, .16);
    aspect-ratio: 210 / 297;
}

.amb-poster__top {
    height: 39%;
    padding: 5% 5.4% 0;
    background: linear-gradient(145deg, #0a1f3a, #0b2b4c);
    color: #fff;
    border-bottom: 4px solid #efbd43;
}

.amb-poster__brand {
    display: grid;
    gap: .05rem;
}

.amb-poster__brand strong {
    color: #efbd43;
    font-size: clamp(.78rem, 1.15vw, 1rem);
    letter-spacing: .02em;
}

.amb-poster__brand small {
    color: #c5d1df;
    font-size: clamp(.5rem, .66vw, .62rem);
}

.amb-poster__hero-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 36%;
    gap: 3%;
    align-items: center;
    height: 82%;
}

.amb-poster__message h3 {
    margin: 0;
    color: #fff;
    font-size: clamp(1.22rem, 2vw, 1.78rem);
    line-height: 1.04;
    font-weight: 950;
    letter-spacing: -.035em;
}

.amb-poster__gold {
    display: block;
    margin-top: 1.5%;
    color: #efbd43;
    font-size: clamp(1.18rem, 1.9vw, 1.68rem);
    line-height: 1.05;
}

.amb-poster__message p {
    max-width: 98%;
    margin: 3.2% 0;
    color: #d6e1eb;
    font-size: clamp(.62rem, .82vw, .76rem);
    line-height: 1.4;
}

.amb-poster__free {
    display: inline-block;
    padding: 2% 7%;
    border-radius: 999px;
    background: #efbd43;
    color: #0b1f3a;
    font-size: clamp(.56rem, .75vw, .69rem);
    letter-spacing: .03em;
}

.amb-poster__crest-wrap {
    display: grid;
    justify-items: center;
    align-content: center;
    min-width: 0;
    height: 100%;
    padding-top: 4%;
}

.amb-poster__crest-wrap img {
    display: block;
    width: 100%;
    height: 80%;
    max-height: 178px;
    object-fit: contain;
    filter: drop-shadow(0 10px 16px rgba(0, 0, 0, .18));
}

.amb-poster__crest-wrap span {
    max-width: 100%;
    margin-top: 1%;
    color: #e8eef5;
    font-size: clamp(.52rem, .66vw, .62rem);
    font-weight: 850;
    text-align: center;
}

.amb-poster__body {
    height: 48.5%;
    padding: 3.8% 5.4%;
    background: #f7f3eb;
    color: #0b1f3a;
}

.amb-poster__body h4 {
    margin: 0 0 2.4%;
    font-size: clamp(.82rem, 1.12vw, 1rem);
    font-weight: 950;
}

.amb-poster__body-grid {
    display: grid;
    grid-template-columns: 1fr 36%;
    gap: 4.2%;
    align-items: center;
}

.amb-poster__steps {
    display: grid;
    gap: 5.5%;
}

.amb-poster__steps > div {
    display: grid;
    grid-template-columns: 24px 1fr;
    gap: 8px;
    align-items: start;
}

.amb-poster__steps > div > span {
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #0b1f3a;
    color: #efbd43;
    font-size: .72rem;
    font-weight: 950;
}

.amb-poster__steps p {
    display: grid;
    gap: 2px;
    margin: 0;
}

.amb-poster__steps strong {
    font-size: clamp(.68rem, .9vw, .8rem);
}

.amb-poster__steps small {
    color: #65778a;
    font-size: clamp(.53rem, .7vw, .62rem);
    line-height: 1.34;
}

.amb-poster__qr {
    display: grid;
    justify-items: center;
    gap: 3.5%;
    text-align: center;
}

.amb-poster__qr-box {
    display: grid;
    place-items: center;
    width: 100%;
    max-width: 137px;
    aspect-ratio: 1;
    border: 1.5px solid #0b1f3a;
    border-radius: 8px;
    background: #fff;
    padding: 7%;
}

.amb-poster__qr-box img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.amb-poster__qr strong {
    font-size: clamp(.58rem, .74vw, .66rem);
}

.amb-poster__qr small {
    font-size: clamp(.46rem, .59vw, .53rem);
    color: #65778a;
}

.amb-poster blockquote {
    max-width: none;
    width: 100%;
    margin: 4.4% 0 1.8%;
    overflow: hidden;
    font-family: Georgia, serif;
    font-style: italic;
    font-size: clamp(.98rem, 1.35vw, 1.22rem);
    line-height: 1.1;
    font-weight: 800;
    white-space: nowrap;
    letter-spacing: -.03em;
    transform: scaleX(.92);
    transform-origin: left center;
    width: 108.7%;
}

.amb-poster__closing {
    width: 100%;
    max-width: none;
    margin: 0;
    overflow: hidden;
    color: #687a8c;
    font-size: clamp(.58rem, .76vw, .69rem);
    line-height: 1.25;
    font-weight: 700;
    white-space: nowrap;
    letter-spacing: -.018em;
    transform: scaleX(.84);
    transform-origin: left center;
    width: 119%;
}

.amb-poster__footer {
    display: grid;
    grid-template-rows: 1fr auto;
    gap: 5%;
    height: 12.5%;
    padding: 2.7% 5.4% 3.2%;
    background: #0b2341;
    color: #fff;
    border-top: 3px solid #efbd43;
}

.amb-poster__footer-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: 5%;
}

.amb-poster__footer-brand,
.amb-poster__partner-copy {
    display: grid;
    gap: 1px;
    min-width: 0;
}

.amb-poster__footer-brand strong {
    color: #efbd43;
    font-size: clamp(.65rem, .86vw, .78rem);
    font-weight: 950;
}

.amb-poster__footer-brand small {
    color: #d2dde8;
    font-size: clamp(.5rem, .64vw, .57rem);
}

.amb-poster__partner-copy {
    justify-items: end;
    text-align: right;
}

.amb-poster__partner-copy[hidden] {
    display: none;
}

.amb-poster__partner-copy small {
    color: #b7c7d7;
    font-size: clamp(.48rem, .62vw, .55rem);
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: .035em;
}

.amb-poster__partner-copy strong {
    max-width: 100%;
    overflow: hidden;
    color: #fff;
    font-size: clamp(.65rem, .86vw, .79rem);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.amb-poster__footer-note {
    display: block;
    color: #b7c7d7;
    font-size: clamp(.46rem, .58vw, .52rem);
    line-height: 1.28;
}

.amb-preview-note {
    max-width: 455px;
    margin: .7rem auto .1rem;
    color: #748698;
    font-size: .84rem;
    line-height: 1.4;
    text-align: center;
}

@media (max-width: 1199.98px) {
    .amb-hero__main {
        grid-template-columns: 1fr;
        gap: .55rem;
    }

    .amb-grid {
        grid-template-columns: 1fr;
    }

    .amb-preview-column {
        position: static;
    }

    .amb-poster {
        max-width: 480px;
    }

    .amb-preview-note {
        max-width: 480px;
    }

    .amb-form-column {
        max-width: 820px;
        margin: 0 auto;
        width: 100%;
    }
}

@media (max-width: 767.98px) {
    .amb-hero {
        padding-top: .9rem;
    }

    .amb-hero h1 {
        font-size: clamp(1.75rem, 8vw, 2.45rem);
    }

    .amb-public-pill {
        align-items: flex-start;
        flex-direction: column;
        gap: .25rem;
    }

    .amb-builder {
        padding-top: .45rem;
    }

    .amb-form-card,
    .amb-preview-column {
        border-radius: 17px;
        padding: 1rem;
    }

    .amb-fields-inline,
    .amb-actions,
    .amb-steps {
        grid-template-columns: 1fr;
    }

    .amb-action-wide {
        grid-column: auto;
    }

    .amb-preview-head {
        align-items: center;
    }

    .amb-poster {
        width: 100%;
    }

    .amb-poster__hero-row {
        grid-template-columns: minmax(0, 1fr) 38%;
        gap: 2%;
    }

    .amb-poster__crest-wrap img {
        height: 76%;
    }

    .amb-poster__body-grid {
        grid-template-columns: 1fr 35%;
        gap: 3%;
    }

    .amb-poster__steps > div {
        grid-template-columns: 20px 1fr;
        gap: 6px;
    }

    .amb-poster__steps > div > span {
        width: 20px;
        height: 20px;
        font-size: .58rem;
    }

    .amb-poster__qr-box {
        padding: 6%;
        border-radius: 5px;
    }
}

@media (max-width: 420px) {
    .amb-poster__top,
    .amb-poster__body,
    .amb-poster__footer {
        padding-left: 4.5%;
        padding-right: 4.5%;
    }

    .amb-poster__message p {
        line-height: 1.3;
    }

    .amb-poster blockquote {
        margin-top: 3.7%;
        letter-spacing: -.04em;
    }

    .amb-poster__footer-top {
        gap: 3%;
    }
}

/* Ambassador 2026-08-07: layout 50/50 e anteprima A4 proporzionale.
   Le dimensioni tipografiche dell'anteprima seguono la larghezza reale
   della locandina, non la viewport: in questo modo non si sovrappongono
   quando la colonna cambia dimensione. */
.amb-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(1rem, 2vw, 2rem);
}

.amb-form-column,
.amb-preview-column {
    min-width: 0;
}

.amb-preview-column {
    position: sticky;
    top: 112px;
    padding: .75rem;
}

.amb-poster {
    width: min(100%, 500px);
    max-width: 500px;
    container-type: inline-size;
    box-sizing: border-box;
}

.amb-poster,
.amb-poster * {
    box-sizing: border-box;
}

.amb-poster__top {
    display: flex;
    flex-direction: column;
    height: 37.2%;
    padding: 4.4% 5.2% 2.2%;
    overflow: hidden;
}

.amb-poster__hero-row {
    flex: 1 1 auto;
    min-height: 0;
    height: auto;
    grid-template-columns: minmax(0, 1fr) 35%;
    gap: 3%;
    align-items: center;
}

.amb-poster__message,
.amb-poster__crest-wrap {
    min-width: 0;
    min-height: 0;
}

.amb-poster__crest-wrap {
    height: 100%;
    padding-top: 1%;
}

.amb-poster__crest-wrap img {
    width: 100%;
    height: 78%;
    max-height: none;
}

.amb-poster__body {
    display: flex;
    flex-direction: column;
    height: 49.3%;
    padding: 3.5% 5.2% 2.7%;
    overflow: hidden;
}

.amb-poster__body-grid {
    flex: 0 0 auto;
    grid-template-columns: minmax(0, 1fr) 35%;
    gap: 4%;
    align-items: center;
}

.amb-poster__steps {
    gap: .52em;
}

.amb-poster__steps > div {
    grid-template-columns: 5.1cqw minmax(0, 1fr);
    gap: 1.45cqw;
}

.amb-poster__steps > div > span {
    width: 5.1cqw;
    height: 5.1cqw;
}

.amb-poster__qr-box {
    max-width: 29cqw;
    border-radius: 1.4cqw;
    padding: 6%;
}

.amb-poster blockquote {
    width: 100%;
    max-width: 100%;
    margin: 3.2% 0 1.2%;
    overflow: visible;
    white-space: nowrap;
    transform: none;
}

.amb-poster__closing {
    width: 100%;
    max-width: 100%;
    margin: 0;
    overflow: visible;
    white-space: nowrap;
    transform: none;
}

.amb-poster__footer {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 13.5%;
    gap: 3%;
    padding: 2.6% 5.2% 3%;
    overflow: hidden;
}

.amb-poster__footer-top {
    min-height: 0;
}

.amb-actions {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

@supports (font-size: 1cqw) {
    .amb-poster__brand strong { font-size: 3.35cqw; line-height: 1.05; }
    .amb-poster__brand small { font-size: 1.82cqw; line-height: 1.18; }

    .amb-poster__message h3 {
        font-size: 6.1cqw;
        line-height: 1.02;
        letter-spacing: -.032em;
    }

    .amb-poster__gold {
        margin-top: 1.2%;
        font-size: 5.65cqw;
        line-height: 1.02;
    }

    .amb-poster__message p {
        margin: 2.7% 0;
        font-size: 2.25cqw;
        line-height: 1.32;
    }

    .amb-poster__free {
        padding: 1.55% 5.4%;
        font-size: 2.02cqw;
        line-height: 1.15;
    }

    .amb-poster__crest-wrap span {
        margin-top: .5%;
        font-size: 1.8cqw;
        line-height: 1.12;
    }

    .amb-poster__body h4 {
        margin-bottom: 2.2%;
        font-size: 3.15cqw;
        line-height: 1.08;
    }

    .amb-poster__steps > div > span {
        font-size: 2.05cqw;
        line-height: 1;
    }

    .amb-poster__steps strong {
        font-size: 2.28cqw;
        line-height: 1.12;
    }

    .amb-poster__steps small {
        font-size: 1.78cqw;
        line-height: 1.25;
    }

    .amb-poster__qr strong {
        font-size: 1.78cqw;
        line-height: 1.15;
    }

    .amb-poster__qr small {
        font-size: 1.48cqw;
        line-height: 1.1;
    }

    .amb-poster blockquote {
        font-size: 3.45cqw;
        line-height: 1.04;
        letter-spacing: -.035em;
    }

    .amb-poster__closing {
        font-size: 1.93cqw;
        line-height: 1.12;
        letter-spacing: -.022em;
    }

    .amb-poster__footer-brand strong {
        font-size: 2.55cqw;
        line-height: 1.05;
    }

    .amb-poster__footer-brand small {
        font-size: 1.62cqw;
        line-height: 1.1;
    }

    .amb-poster__partner-copy small {
        font-size: 1.48cqw;
        line-height: 1.05;
    }

    .amb-poster__partner-copy strong {
        font-size: 2.2cqw;
        line-height: 1.08;
    }

    .amb-poster__footer-note {
        font-size: 1.62cqw;
        line-height: 1.2;
    }
}

@media (max-width: 991.98px) {
    .amb-grid {
        grid-template-columns: 1fr;
    }

    .amb-preview-column {
        position: static;
    }

    .amb-form-column {
        width: 100%;
        max-width: 820px;
        margin: 0 auto;
    }

    .amb-poster,
    .amb-preview-note {
        max-width: 500px;
    }
}

@media (max-width: 767.98px) {
    .amb-actions {
        grid-template-columns: 1fr;
    }

    .amb-poster__hero-row {
        grid-template-columns: minmax(0, 1fr) 35%;
        gap: 3%;
    }

    .amb-poster__body-grid {
        grid-template-columns: minmax(0, 1fr) 35%;
        gap: 4%;
    }

    .amb-poster__steps > div {
        grid-template-columns: 5.1cqw minmax(0, 1fr);
        gap: 1.45cqw;
    }

    .amb-poster__steps > div > span {
        width: 5.1cqw;
        height: 5.1cqw;
    }
}

/* Ambassador 2026-08-07: locandina più leggibile, CTA unica e titolo auto-fit. */
.amb-actions {
    grid-template-columns: 1fr;
}

.amb-primary--single {
    width: 100%;
    min-height: 60px;
    padding: .92rem 1.1rem;
    border-radius: 15px;
    font-size: 1.08rem;
    letter-spacing: -.01em;
}

.amb-primary--single svg {
    width: 21px;
    height: 21px;
}

.amb-poster__brand {
    position: relative;
    z-index: 2;
    flex: 0 0 auto;
    padding-bottom: 2.25cqw;
}

.amb-poster__brand::after {
    content: '';
    display: block;
    width: 10.5cqw;
    height: .42cqw;
    margin-top: 1.15cqw;
    border-radius: 999px;
    background: #efbd43;
    opacity: .95;
}

.amb-poster__hero-row {
    align-items: stretch;
}

.amb-poster__message {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    padding: .35cqw 0 .7cqw;
}

.amb-poster__message h3 {
    font-size: var(--amb-headline-size, 6.1cqw);
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

.amb-poster__crest-wrap {
    justify-content: center;
    overflow: hidden;
}

.amb-poster__crest-wrap span {
    display: -webkit-box;
    max-height: 4.5cqw;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

.amb-poster__body {
    background:
        radial-gradient(circle at 90% 12%, rgba(240, 188, 67, .12), transparent 28%),
        #f7f3eb;
}

.amb-poster__body h4 {
    position: relative;
    display: inline-block;
    width: fit-content;
    padding-bottom: 1.15cqw;
}

.amb-poster__body h4::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: .25cqw;
    width: 9cqw;
    height: .45cqw;
    border-radius: 999px;
    background: #efbd43;
}

.amb-poster__qr-box {
    max-width: 31cqw;
    border-width: .42cqw;
    box-shadow: 0 1.9cqw 4.5cqw rgba(11, 31, 58, .12);
}

.amb-poster__qr strong {
    display: block;
    max-width: 33cqw;
    padding: .72cqw 1.25cqw;
    border-radius: 999px;
    background: #efbd43;
    color: #0b1f3a;
    font-weight: 950;
}

.amb-poster blockquote {
    color: #0b1f3a;
    text-shadow: 0 .1cqw 0 rgba(255, 255, 255, .6);
}

.amb-poster__closing {
    color: #536b83;
    font-weight: 800;
}

.amb-poster__footer {
    background: linear-gradient(135deg, #0a1f3a 0%, #0d2d50 100%);
}

.amb-poster__footer-note {
    color: #d0dbe6;
    font-weight: 600;
}

@supports (font-size: 1cqw) {
    .amb-poster__message h3 {
        font-size: var(--amb-headline-size, 6.1cqw);
    }

    .amb-poster__message p {
        font-size: 2.18cqw;
        line-height: 1.3;
    }

    .amb-poster__free {
        font-size: 2.05cqw;
    }

    .amb-poster__body h4 {
        font-size: 3.28cqw;
    }

    .amb-poster__steps strong {
        font-size: 2.32cqw;
    }

    .amb-poster__steps small {
        font-size: 1.82cqw;
    }

    .amb-poster__qr strong {
        font-size: 1.78cqw;
        line-height: 1.08;
    }

    .amb-poster blockquote {
        font-size: 3.5cqw;
    }

    .amb-poster__closing {
        font-size: 1.96cqw;
    }

    .amb-poster__footer-brand strong {
        font-size: 2.65cqw;
    }

    .amb-poster__footer-brand small,
    .amb-poster__footer-note {
        font-size: 1.7cqw;
    }
}

@media (max-width: 767.98px) {
    .amb-primary--single {
        min-height: 56px;
        font-size: 1rem;
    }
}


/* Ambassador poster: separa la memoria dal blocco operativo senza alterare l'A4. */
.amb-poster__memory {
    margin-top: 4.8%;
    padding-top: 0;
    min-width: 0;
}

.amb-poster__memory blockquote {
    margin-top: 0;
}

.amb-poster__memory .amb-poster__closing {
    margin-top: 1.7%;
}


/* CTA libro: forte, leggibile e separata dal footer. */
.amb-poster__book-cta {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    align-items: center;
    column-gap: 1.8cqw;
    width: 100%;
    /* La CTA deve essere percepita come un blocco autonomo, non incollato
       alla frase precedente. Le misure restano proporzionali all'A4. */
    margin-top: 2.6cqw;
    min-height: 10.8cqw;
    padding: 2.15cqw 2.15cqw;
    border: .28cqw solid rgba(11, 31, 58, .14);
    border-radius: 1.75cqw;
    background: linear-gradient(135deg, #f6c64c 0%, #efb934 100%);
    box-shadow: 0 1.15cqw 2.8cqw rgba(11, 31, 58, .12);
    color: #0b1f3a;
    text-decoration: none;
    overflow: hidden;
}

.amb-poster__book-cta::after {
    content: '';
    position: absolute;
    right: -3cqw;
    top: -4cqw;
    width: 11cqw;
    height: 11cqw;
    border-radius: 50%;
    background: rgba(255, 255, 255, .18);
    pointer-events: none;
}

.amb-poster__book-cta[hidden] {
    display: none;
}

.amb-poster__book-cta span {
    display: none;
}

.amb-poster__book-cta strong {
    grid-column: 1;
    display: block;
    min-width: 0;
    font-size: 2.42cqw;
    line-height: 1.12;
    font-weight: 950;
    letter-spacing: -.025em;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.amb-poster__book-cta b {
    grid-column: 2;
    grid-row: 1 / span 2;
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 5.6cqw;
    height: 5.6cqw;
    min-width: 5.6cqw;
    min-height: 5.6cqw;
    border-radius: 50%;
    background: #0b1f3a;
    color: #f6c64c;
    font-size: 3.35cqw;
    line-height: 1;
    font-weight: 900;
}

.amb-poster__book-cta:hover,
.amb-poster__book-cta:focus-visible {
    color: #0b1f3a;
    text-decoration: none;
}
