/* Tablet and down: keep the membership cards readable without changing desktop composition. */
@media (max-width: 1024px) {
    .create-container {
        min-height: 100vh;
    }

    .create-container .container {
        width: min(100%, 60rem);
        margin: 1.25rem auto 2rem;
        padding: 0 1rem;
        box-sizing: border-box;
    }

    .create-container .announce-card {
        min-width: 0;
        height: auto;
        padding: 1.25rem 1rem 2rem;
    }

    .create-container .container .announce-card h1 {
        font-size: clamp(1.8rem, 4vw, 2.4rem);
        margin-top: 2.5rem;
        margin-bottom: 1.5rem;
    }

    .create-container .container .announce-card p {
        font-size: clamp(1rem, 2vw, 1.2rem);
    }

    .create-container .passu-btn {
        position: static;
        margin-bottom: 1.25rem;
        align-self: flex-start;
    }

    .forfaits_pass {
        gap: 1.25rem;
        margin-top: 2rem;
        margin-right: 0;
    }

    .forfaits_pass > * {
        max-width: none;
    }

    .forfait-classique,
    .forfait-signature,
    .forfait-partenaire {
        height: auto;
        min-height: 26rem;
        padding: 1rem;
        background-size: cover !important;
        background-position: center;
    }
}

/* Phone: stack the pass cards and make the action buttons full-width enough to tap. */
@media (max-width: 767px) {
    .create-container .container {
        padding: 0 0.75rem;
        margin-top: 1rem;
    }

    .create-container .announce-card {
        padding: 1rem 0.75rem 1.5rem;
    }

    .create-container .container .announce-card h1 {
        font-size: clamp(1.5rem, 7vw, 2rem);
        margin-top: 0;
    }

    .create-container .container .announce-card h3 {
        font-size: clamp(1.2rem, 5vw, 1.45rem);
    }

    .create-container .container .announce-card p {
        font-size: 1rem;
    }

    .create-container .passu-btn {
        width: min(100%, 18rem);
        align-self: center;
    }

    .forfaits_pass {
        flex-direction: column;
        gap: 1rem;
    }

    .forfaits_pass > * {
        width: 100%;
        max-width: 100%;
    }

    .forfait-classique,
    .forfait-signature,
    .forfait-partenaire {
        min-height: 22rem;
        background-size: cover !important;
        background-position: center;
    }

    .create-container .open-details-btn .button-style,
    .pass-btn {
        width: min(100%, 18rem);
        font-size: 0.95rem;
    }
}

/* Small phones: trim outer spacing one more step. */
@media (max-width: 479px) {
    .create-container .container {
        padding-left: 0.6rem;
        padding-right: 0.6rem;
    }

    .create-container .announce-card {
        padding-left: 0.65rem;
        padding-right: 0.65rem;
    }

    .forfait-classique,
    .forfait-signature,
    .forfait-partenaire {
        min-height: 19rem;
        background-size: 100% auto !important;
        background-position: center top;
    }

    .create-container .passu-btn,
    .create-container .open-details-btn .button-style,
    .pass-btn {
        width: 100%;
    }
}
