/**
 * pricing-section.css
 * "Il tuo biglietto"
 * Sfondo mimetico condiviso (.bg-camo), card a gradiente (stesso
 * .gradient-cta dei bottoni), grid pronta per più biglietti/livelli.
 */

.pricing-section {
    padding-block: 140px; /* container più alto, come richiesto */
}

.pricing-section__intro {
    text-align: center;
    max-width: 640px;
    margin-inline: auto;
}

.pricing-section__title {
    font-size: clamp(1.6rem, 4.5vw, 2.2rem);
}

.pricing-section__lead {
    margin-top: var(--space-2);
    color: var(--color-text-on-dark-muted);
}

/* Mobile: piena larghezza del device (nei limiti del padding del container).
   Da desktop: dimensione fissa più generosa, centrata. */
.pricing-grid {
    margin-top: var(--space-6);
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-4);
}

.pricing-card {
    position: relative;
    background: var(--gradient-cta);
    border-radius: 8px;
    padding: var(--space-4) var(--space-3);
    color: var(--color-white);
    text-align: center;
}

.pricing-card__price-old {
    margin-top: var(--space-2);
    font-size: 1.15rem;
    font-weight: 600;
    text-decoration: line-through;
    opacity: 0.75;
}

.pricing-card__price-label {
    margin-top: var(--space-1);
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.9);
}

@media (min-width: 700px) {
    .pricing-grid {
        grid-template-columns: repeat(auto-fit, 380px); /* <-- misura della card da desktop */
        justify-content: center;
    }
}

.pricing-card__level {
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.03em;
    font-size: 0.75rem;
}

.pricing-card__price {
    margin-top: var(--space-1);
    font-family: var(--font-display);
    font-size: clamp(2.25rem, 9vw, 3rem); /* ingrossato molto, come richiesto */
    line-height: 1.1;
}

.pricing-card__divider {
    margin-top: var(--space-2);
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.35);
}

.pricing-card__features {
    list-style: none;
    margin-top: var(--space-2);
    text-align: left;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    font-size: 0.95rem;
}

.pricing-card__features li {
    display: flex;
    align-items: flex-start;
    gap: var(--space-2);
}

.pricing-card__features svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    margin-top: 0.2em;
}

.pricing-card__cta {
    display: block;
    margin-top: var(--space-3);
    background: var(--color-white);
    color: var(--color-dark);
    font-weight: 700;
    text-align: center;
    font-size: 1rem;
    padding: 0.7em 1em;
    border-radius: var(--radius-button);
    transition: transform var(--transition-fast);
}

.pricing-card__cta:hover,
.pricing-card__cta:focus-visible {
    transform: translateY(-1px);
}