/**
 * Scala di lettura condivisa: web.dev/learn/design/typography.
 * Il testo segue il container responsive del componente, allineato a Blocksy.
 * Unita rem, interlinee relative e nessun limite fisso in altezza sul testo.
 */
:root {
    --sds-type-body: 1rem;
    --sds-type-small: .875rem;
    --sds-type-lead: 1.125rem;
    --sds-type-h1: clamp(2rem, 1.5rem + 2vw, 3.5rem);
    --sds-type-h2: clamp(1.5rem, 1.2rem + 1vw, 2rem);
    --sds-type-h3: clamp(1.125rem, 1rem + .5vw, 1.5rem);
    --sds-reading-measure: 100%;
}
:is(#sds-type-scale, body).page-id-2531642 main .sds-aircraft-wrap {
    width: min(100%, var(--sds-site-content-width)) !important;
    max-width: var(--sds-site-content-width) !important;
    margin-inline: auto !important;
}
:is(#sds-type-scale, body).page-id-2531642 main p {
    word-break: normal;
    overflow-wrap: break-word;
}
:is(#sds-type-scale, body).single-post main :is(p, li) {
    word-break: normal;
    overflow-wrap: break-word;
}
@media (min-width: 768px) {
    :root {
        --sds-type-body: 1.125rem;
        --sds-type-lead: 1.25rem;
    }
}
:is(#sds-type-scale, body) {
    --theme-font-size: var(--sds-type-body);
    font-size: var(--sds-type-body);
    line-height: 1.6;
}
:is(#sds-type-scale, body) main :is(h1, h2, h3, h4) {
    overflow-wrap: anywhere;
    text-wrap: balance;
}
:is(#sds-type-scale, body) main h1 {
    font-size: var(--sds-type-h1) !important;
    line-height: 1.12 !important;
}
:is(#sds-type-scale, body) main h2 {
    font-size: var(--sds-type-h2) !important;
    line-height: 1.25 !important;
}
:is(#sds-type-scale, body) main h3 {
    font-size: var(--sds-type-h3) !important;
    line-height: 1.3 !important;
}
:is(#sds-type-scale, body) main h4 { font-size: 1.125rem; line-height: 1.4; }

/* Specificita comune per superare le vecchie scale !important dei componenti.
 * L ID e solo un riferimento di cascata: il selettore body applica la regola. */

/* Prezzi, numeri e indicatori conservano il proprio ruolo visivo. */
:is(#sds-type-scale, body) main p:not(:where([class*="price"], [class*="amount"], [class*="rating"], [class*="stars"], [class*="kicker"], [class*="eyebrow"], [class*="badge"], [class*="label"], [class*="note"], [class*="meta"], [class*="type"], [class*="audience"], [class*="lead"], .DOPBSPCalendar-wrapper *)) {
    font-size: var(--sds-type-body) !important;
    line-height: 1.65 !important;
}
:is(#sds-type-scale, body) main :is(.entry-content, .sds-tc, .tsi) :is(ul, ol, dd):not(:where(.products, .DOPBSPCalendar-wrapper *)) {
    font-size: var(--sds-type-body);
    line-height: 1.65;
}
:is(#sds-type-scale, body) main p:not(:where(.price, [class*="price"], [class*="amount"], [class*="rating"], .DOPBSPCalendar-wrapper *)) {
    max-inline-size: var(--sds-reading-measure) !important;
    white-space: normal !important;
    overflow-wrap: break-word;
}
/* Questi paragrafi sono contenitori di controlli, non colonne di prosa.
 * Conservano la geometria flex/grid responsive dei rispettivi componenti. */
:is(#sds-type-scale, body) main p:is([class*="-actions"], .manual-aff-trigger-wrap) {
    max-inline-size: none !important;
}
:is(#sds-type-scale, body) main .tsi-price-intro {
    max-inline-size: 100% !important;
}
:is(#sds-type-scale, body).home main .sds-home-block.sds-home-split {
    width: min(100%, var(--sds-site-content-width)) !important;
    max-width: var(--sds-site-content-width) !important;
    margin-inline: auto !important;
}
/* Prosa annidata: segue la colonna reale senza un secondo limite a 1120px. */
:is(#sds-type-scale, body).single-post main [class*="-prose"],
:is(#sds-type-scale, body) main :is(.hc-section, .vc-section) > :is(.hc-prose, .vc-prose) {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
}
/* I token possono avere altre classi dopo wrap/prose: non usare class$=. */
:is(#sds-type-scale, body).single-post article.post > .entry-content > article > :is([class*="-wrap"], [class*="-prose"], [class*="-container"], .sds-article-video, .sds-article-toc),
:is(#sds-type-scale, body).single-post article.post > .entry-content > article > :is(header, section) > :is([class*="-wrap"], [class*="-prose"], [class*="-container"]),
:is(#sds-type-scale, body) main :is(.hc-hero > .hc-wrap, .hc-course > .hc-section, .vc-hero > .vc-wrap, .vc-course > .vc-section, .vc-course > .vc-prose),
:is(#sds-type-scale, body).home main #sds-home-events {
    box-sizing: border-box !important;
    width: min(100%, var(--sds-site-content-width)) !important;
    max-width: var(--sds-site-content-width) !important;
    margin-inline: auto !important;
}
/* Il listino e i servizi inclusi usano tutta l area interna del loro blocco. */
:is(#sds-type-scale, body) main .coupon-pricing-choice {
    padding-inline: 0 !important;
}
:is(#sds-type-scale, body) main :is(.pricing-row, .pricing-included, .coupon-pricing-row, .coupon-pricing-included) {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
}
/* Il pannello estensione segue il perimetro degli altri blocchi coupon.
 * Lo spazio per il contenuto resta sul pannello, senza un secondo gutter. */
:is(#sds-type-scale, body) main .sce-landing {
    width: min(100%, var(--sds-site-content-width)) !important;
    max-width: var(--sds-site-content-width) !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
}
:is(#sds-type-scale, body) main p:is([class*="lead"]) {
    font-size: var(--sds-type-lead) !important;
    line-height: 1.6 !important;
}
:is(#sds-type-scale, body) main :is(p, small):is([class*="kicker"], [class*="eyebrow"], [class*="badge"], [class*="note"], [class*="meta"], [class*="type"], [class*="audience"], [class*="label"]) {
    font-size: var(--sds-type-small) !important;
    line-height: 1.5 !important;
}
:is(#sds-type-scale, body) main :is(.sds-home-note, .sds-shop-category__text small, .sds-shop-categories small, .std-enac-note__trigger, .sds-article-route__label, .ssd-warning-text) {
    font-size: var(--sds-type-small) !important;
    line-height: 1.5 !important;
}

/* Titoli delle schede e dei prodotti: gerarchia distinta dalle sezioni. */
:is(#sds-type-scale, body) main :is(.woocommerce-loop-product__title, .aff-card-title, .pricing-card h3, .tsi-price-card h3) {
    font-size: 1.125rem !important;
    line-height: 1.4 !important;
}
:is(#sds-type-scale, body).home .entry-content > .stk-c2a98d6 h1 {
    font-size: clamp(2.25rem, 1.5rem + 3vw, 3.5rem) !important;
    line-height: 1.08 !important;
}
:is(#sds-type-scale, body).home .entry-content > .stk-c2a98d6 h2 {
    font-size: var(--sds-type-lead) !important;
    line-height: 1.4 !important;
}
:is(#sds-type-scale, body) main :is(.std-section, .sds-tc section, .sds-tc .tc-abstract) > :is(ul, ol),
:is(#sds-type-scale, body).single-post article.post > .entry-content > article > :is([class$="-prose"], [class$="-wrap"]) > :is(ul, ol):not([class*="grid"]):not([class*="steps"]),
:is(#sds-type-scale, body).single-post article.post > .entry-content > article > section > :is([class$="-prose"], [class$="-wrap"]) > :is(ul, ol):not([class*="grid"]):not([class*="steps"]) {
    max-inline-size: var(--sds-reading-measure) !important;
}
/* Nei pannelli centrati la misura di lettura rimane centrata. */
:is(#sds-type-scale, body) main :is(.sdt-manual-cta, .tsi-cta, .sds-home-social, .aff-pricing-hero, .pricing-hero, .coupon-pricing-hero) > p,
:is(#sds-type-scale, body) main :is(.coupon-pricing-note, .pricing-note, p.has-text-align-center),
:is(#sds-type-scale, body) main :is(
    .aad-cta, .abp-cta, .aff-cta, .asp-cta, .base-cta, .bj-cta, .cam-cta,
    .clp-cta, .cmplp-cta, .cost-cta, .crlp-cta, .csp-cta, .cvlp-cta,
    .dlp-cta, .dpa-cta, .dps-cta, .emp-cta, .folg-cta, .heli-cta,
    .im-cta, .ip-cta, .l5m-cta, .ldp-cta, .lic-cta, .lsp-cta,
    .marco-cta, .mlp-cta, .pack-cta, .pc6-cta, .pdg-cta, .plp-cta,
    .pvp-cta, .pwd-cta, .reg-cta, .rlp-cta, .sdt-cta, .space-cta,
    .ss-cta, .sic-cta, .se-cta, .wkm-cta, .storia-cta, .team-cta, .tunnel-cta, .turb-cta,
    .v360-cta, .vert-cta, .vmp-cta, .wl-cta, .ws-cta
) > p {
    margin-inline: auto !important;
}

/* La landing inglese usa lo stesso perimetro delle altre pagine. */
:is(#sds-type-scale, body).page-id-2530809 main :is(.tsi-wrap, .tsi-prose) {
    width: min(100%, var(--sds-site-content-width)) !important;
    max-width: var(--sds-site-content-width) !important;
    margin-inline: auto !important;
}

/* Campi e controlli testuali. Checkbox, icone e celle mantengono la geometria. */
:is(#sds-type-scale, body) :is(main, .ct-footer, #aff-popup-overlay, #manual-aff-popup-overlay, #saff-guide-manual-overlay, #callbackbubble-popup-overlay) :is(input, select, textarea):not(:where([type="checkbox"], [type="radio"], [type="hidden"], [type="range"])) {
    font-size: 1rem !important;
    line-height: 1.5;
}
:is(#sds-type-scale, body) :is(main, .ct-footer) label,
:is(#sds-type-scale, body) :is(.saff-field, .scb-field, .saff-consent, .scb-consent) label {
    font-size: var(--sds-type-small) !important;
    line-height: 1.5 !important;
}
:is(#sds-type-scale, body) :is(main, .ct-footer) :is(a.ct-button, button.ct-button, .tsi-btn, .aff-cta-btn, .sds-contact-btn, .sds-faq-btn, .wp-block-stackable-button .stk-button) {
    font-size: 1rem !important;
    line-height: 1.4 !important;
    min-height: 44px;
    white-space: normal;
    overflow-wrap: anywhere;
}
:is(#sds-type-scale, body) :is(#aff-popup-overlay, #manual-aff-popup-overlay, #saff-guide-manual-overlay, #callbackbubble-popup-overlay) :is(p, .saff-consent label, .scb-consent label, .saff-help, .scb-help, .saff-error, .scb-error) {
    font-size: var(--sds-type-small) !important;
    line-height: 1.6 !important;
}
:is(#sds-type-scale, body) :is(#aff-popup-overlay, #manual-aff-popup-overlay, #saff-guide-manual-overlay, #callbackbubble-popup-overlay) :is(h2, h3) {
    font-size: 1.5rem !important;
    line-height: 1.3 !important;
}

/* Testi di servizio leggibili nel calendario e nel percorso di acquisto. */
:is(#sds-type-scale, body) .DOPBSPCalendar-wrapper :is(label, .dopbsp-info, .skydive-booking-ready-message, .skydive-booking-ready-message small) {
    font-size: var(--sds-type-small) !important;
    line-height: 1.5 !important;
}
:is(#sds-type-scale, body) .DOPBSPCalendar-navigation .dopbsp-week .dopbsp-day {
    font-size: var(--sds-type-small);
}
:is(#sds-type-scale, body) :is(.skydive-booking-shell__context span, .skydive-purchase-progress__label, .skydive-purchase-progress__step-label) {
    font-size: var(--sds-type-small) !important;
    line-height: 1.4 !important;
}
:is(#sds-type-scale, body) .ct-footer { font-size: 1rem; line-height: 1.6; }
:is(#sds-type-scale, body) .ct-footer :is(p, li) { font-size: 1rem; line-height: 1.6; }
:is(#sds-type-scale, body) .ct-footer :is(small, .snf-consent, .snf-consent label) {
    font-size: var(--sds-type-small) !important;
    line-height: 1.5 !important;
}

/* Le pagine operative tengono il titolo compatto per lasciare spazio ai campi. */
:is(#sds-type-scale, body).single-product main h1.product_title {
    font-size: clamp(1.75rem, 1.4rem + 1.2vw, 2.5rem) !important;
}
:is(#sds-type-scale, body):is(.woocommerce-cart, .woocommerce-checkout) main h1 {
    font-size: var(--sds-type-h2) !important;
}

:is(#sds-type-scale, body) main small,
:is(#sds-type-scale, body) main :is(.sds-faq-cat, .sds-faq-chip, .sds-home-rating, .aff-note, .aff-note-italic, .pricing-note, .pricing-eyebrow, .sds-shop-categories__eyebrow) {
    font-size: var(--sds-type-small) !important;
    line-height: 1.5 !important;
}
:is(#sds-type-scale, body) main summary {
    font-size: var(--sds-type-body);
    line-height: 1.5;
    overflow-wrap: anywhere;
}

:is(#sds-type-scale, body) .ct-footer :is(p, li) {
    font-size: 1rem !important;
    line-height: 1.6 !important;
}
:is(#sds-type-scale, body) .ct-footer :is(.snf-consent, .snf-consent label),
:is(#sds-type-scale, body) .ct-footer [data-row="bottom"] p,
:is(#sds-type-scale, body) main .tc-foot {
    font-size: var(--sds-type-small) !important;
    line-height: 1.5 !important;
}
:is(#sds-type-scale, body) main .tc-formbtn {
    font-size: 1rem !important;
    line-height: 1.4 !important;
    min-height: 44px;
}
:is(#sds-type-scale, body) .skydive-booking-shell__context span {
    overflow: visible;
    white-space: normal;
}

/* Finestre di upgrade e recensioni, esterne al main. */
:is(#sds-type-scale, body) :is(.sup-dialog, #sds-reviews-dialog) :is(h2, h3) {
    font-size: 1.5rem !important;
    line-height: 1.3 !important;
    overflow-wrap: anywhere;
}
:is(#sds-type-scale, body) :is(.sup-dialog, #sds-reviews-dialog) p {
    font-size: 1rem !important;
    line-height: 1.6 !important;
}
:is(#sds-type-scale, body) .sup-dialog :is(.sup-badge, .sup-feat-text, .sup-social-proof, .sup-price-label, .sup-klarna, .sup-trust-footer, .sup-btn-decline) {
    font-size: var(--sds-type-small) !important;
    line-height: 1.5 !important;
}
:is(#sds-type-scale, body) .sup-dialog :is(.sup-btn-accept, .sup-btn-decline) {
    min-height: 44px;
    white-space: normal;
}
:is(#sds-type-scale, body) .sup-dialog .sup-btn-accept {
    font-size: 1rem !important;
    line-height: 1.4 !important;
}

/* I campi crescono anche quando l utente aumenta la dimensione del testo. */
:is(#sds-type-scale, body) :is(main, .ct-footer, #aff-popup-overlay, #manual-aff-popup-overlay, #saff-guide-manual-overlay, #callbackbubble-popup-overlay) :is(input, select, textarea):not(:where([type="checkbox"], [type="radio"], [type="hidden"], [type="range"], .select2-hidden-accessible)) {
    min-height: 2.75rem;
}
:is(#sds-type-scale, body) :is(main, .ct-footer, #aff-popup-overlay, #manual-aff-popup-overlay, #saff-guide-manual-overlay, #callbackbubble-popup-overlay) button[type="submit"] {
    font-size: 1rem !important;
    line-height: 1.4 !important;
    min-height: 2.75rem;
    height: auto;
    white-space: normal;
}
:is(#sds-type-scale, body) main .select2-container .select2-selection--single {
    min-height: 2.75rem;
    height: auto;
}
:is(#sds-type-scale, body) main .select2-container .select2-selection__rendered {
    font-size: 1rem !important;
    line-height: 1.5 !important;
    white-space: normal;
    padding-block: .5rem;
}
:is(#sds-type-scale, body) .ct-footer :is(.sfd-title, .snf-title) {
    font-size: 1.375rem !important;
    line-height: 1.3 !important;
}

/* Etichette incorporate in badge, video e riepiloghi del percorso. */
:is(#sds-type-scale, body) main :is(.sds-event-year, .sds-home-media-badge, .aff-badge, .tsi-price-badge, .tsi-hero-facts > span, .tsi-native-video-media figcaption, .ssd-warning-kicker, .stb-sub, .woocommerce-tabs .tabs li) {
    font-size: var(--sds-type-small) !important;
    line-height: 1.5 !important;
}
:is(#sds-type-scale, body) main .sds-home-media-badge {
    max-width: calc(100% - 24px);
    white-space: normal;
}
:is(#sds-type-scale, body) main .ssd-check-item {
    font-size: 1rem !important;
    line-height: 1.6 !important;
}
:is(#sds-type-scale, body) .DOPBSPCalendar-day .dopbsp-day[data-month-hint]::after {
    font-size: var(--sds-type-small) !important;
}

/* Titoli delle griglie editoriali e delle schede commerciali. */
:is(#sds-type-scale, body) main .entry-card :is(h2.entry-title, h3.entry-title),
:is(#sds-type-scale, body).home main .stk-8193d5d h2 {
    font-size: clamp(1.125rem, 1rem + .25vw, 1.25rem) !important;
    line-height: 1.35 !important;
}
:is(#sds-type-scale, body) main :is(.coupon-pricing-card h3, .pricing-option h3) {
    font-size: 1.125rem !important;
    line-height: 1.4 !important;
}
