/**
 * Tipografia pagine pubbliche — primo lotto
 * @see docs/typography-spec-public-pages.md
 */

/* --- Hero: titolo 50px --- */
.blog-hero__title,
.about-hero__title,
.infopage-hero__title,
.professional-hero .hero-title {
    font-size: 50px !important;
}

/* --- Hero: sottotitolo 25px --- */
.blog-hero__subtitle,
.about-hero__subtitle,
.infopage-hero__subtitle,
.professional-hero .hero-subtitle,
.professional-hero p.hero-subtitle {
    font-size: 25px !important;
    font-weight: 300 !important;
    line-height: 1.7 !important;
}

/* --- Hero: pulsanti 25px --- */
.about-hero__cta,
.infopage-hero__cta,
.professional-hero .btn-cta-hero {
    font-size: 25px !important;
}

/* --- Scopri Professional: barra utente loggato + selezione profilo (pulsanti 16px) --- */
.logged-user-banner .logged-user-banner-text {
    font-size: 16px !important;
    font-weight: 600;
    line-height: 1.4;
}

.logged-user-banner .btn-go-professional {
    font-size: 16px !important;
    line-height: 1.4;
}

.professional-type-bar .user-type-selector .btn {
    font-size: 16px !important;
}

/* --- Scopri Professional: fuori header — h1 titolo, h2 sottotitolo --- */
.scopri-professional-page .steps-section h2.step-title {
    font-size: 25px !important;
}

/* --- Footer CTA: titolo 50px --- */
.about-cta__title,
.infopage-cta__title,
.cta-section .cta-title {
    font-size: 50px !important;
}

/* --- Footer CTA: sottotitolo 25px --- */
.about-cta__desc,
.infopage-cta__desc,
.cta-section .cta-subtitle {
    font-size: 25px !important;
}

/* --- Footer CTA: pulsanti 25px --- */
.about-cta__btn,
.infopage-cta__btn,
.cta-section .btn-cta {
    font-size: 25px !important;
}

/* --- Card: titolo 25px --- */
.blog-card__title,
.about-values__card-title,
.infopage-highlights__card-title {
    font-size: 25px !important;
}

/* --- Card: paragrafo 16px --- */
.blog-card__excerpt,
.about-values__card-text,
.infopage-highlights__card-text,
.scopri-professional-page .step-card .step-description {
    font-size: 16px !important;
}

/* --- Paragrafi contenuto 16px --- */
.about-content__text,
.about-content__text p,
.about-content__text li,
.infopage-content__text,
.infopage-content__text p,
.infopage-content__text li,
.blog-posts__empty p,
.about-content__empty p {
    font-size: 16px !important;
}

/* --- Testo piccolo 12px --- */
.blog-hero__breadcrumb .breadcrumb-item a,
.blog-hero__breadcrumb .breadcrumb-item.active,
.about-hero__breadcrumb .breadcrumb-item a,
.about-hero__breadcrumb .breadcrumb-item.active,
.infopage-hero__breadcrumb .breadcrumb-item a,
.infopage-hero__breadcrumb .breadcrumb-item.active,
.professional-hero__breadcrumb .breadcrumb-item a,
.professional-hero__breadcrumb .breadcrumb-item.active,
.blog-card__date,
.blog-card__author,
.blog-card__meta,
.infopage-cta__note {
    font-size: 12px !important;
}

.blog-posts__empty h3,
.about-content__empty h3 {
    font-size: 25px !important;
}

/* Blog: pulsante card (non header/footer) — mantiene leggibilità */
.blog-card__read-btn {
    font-size: 16px !important;
}

/* --- Blog articolo singolo --- */
.blog-post-single .blog-post__title {
    font-size: 50px !important;
    line-height: 1.3 !important;
}

.blog-post-single .blog-post__excerpt {
    font-size: 25px !important;
    line-height: 1.6 !important;
}

.blog-post-breadcrumb .breadcrumb-item a,
.blog-post-breadcrumb .breadcrumb-item.active {
    font-size: 12px !important;
}

.blog-post-single .blog-post__meta,
.blog-post-single .blog-post__meta span {
    font-size: 12px !important;
}

.blog-post-single .blog-post__content,
.blog-post-single .blog-post__content p,
.blog-post-single .blog-post__content li {
    font-size: 16px !important;
    line-height: 1.8 !important;
}

.blog-post-single .blog-post__content h2 {
    font-size: 25px !important;
}

.blog-post-single .blog-post__content h3,
.blog-post-single .blog-post__content h4 {
    font-size: 25px !important;
}

.blog-post-single .blog-post__back-btn,
.blog-post-single a.blog-post__back-btn.btn {
    font-size: 16px !important;
    line-height: 1.5 !important;
    background-color: #527cb5 !important;
    border-color: #527cb5 !important;
    color: #fff !important;
}

.blog-post-single .blog-post__back-btn:hover,
.blog-post-single .blog-post__back-btn:focus,
.blog-post-single .blog-post__back-btn:active {
    background-color: #3a5a8f !important;
    border-color: #3a5a8f !important;
    color: #fff !important;
}

.blog-post-single .post-footer__share-label {
    font-size: 16px !important;
}

.related-posts .related-posts__title {
    font-size: 50px !important;
}

.related-posts .related-posts__card-title {
    font-size: 25px !important;
}

.related-posts .related-posts__card-btn {
    font-size: 16px !important;
}

/* Tablet */
@media (max-width: 991.98px) {
    .blog-hero__title,
    .about-hero__title,
    .infopage-hero__title,
    .professional-hero .hero-title,
    .about-cta__title,
    .infopage-cta__title,
    .cta-section .cta-title {
        font-size: 42px !important;
    }

    .scopri-professional-page .steps-section h2.step-title {
        font-size: 22px !important;
    }

    .blog-post-single .blog-post__title {
        font-size: 42px !important;
    }

    .related-posts .related-posts__title {
        font-size: 42px !important;
    }
}

/* Mobile */
@media (max-width: 767.98px) {
    .blog-hero__title,
    .about-hero__title,
    .infopage-hero__title,
    .professional-hero .hero-title,
    .about-cta__title,
    .infopage-cta__title,
    .cta-section .cta-title {
        font-size: 36px !important;
    }

    .scopri-professional-page .steps-section h2.step-title {
        font-size: 20px !important;
    }

    .professional-type-bar .user-type-selector .btn,
    .logged-user-banner .logged-user-banner-text,
    .logged-user-banner .btn-go-professional {
        font-size: 16px !important;
    }

    .blog-hero__subtitle,
    .about-hero__subtitle,
    .infopage-hero__subtitle,
    .professional-hero .hero-subtitle,
    .professional-hero p.hero-subtitle,
    .about-cta__desc,
    .infopage-cta__desc,
    .cta-section .cta-subtitle {
        font-size: 20px !important;
    }

    .about-hero__cta,
    .infopage-hero__cta,
    .about-cta__btn,
    .infopage-cta__btn,
    .professional-hero .btn-cta-hero,
    .cta-section .btn-cta {
        font-size: 20px !important;
    }

    .blog-card__title,
    .about-values__card-title,
    .infopage-highlights__card-title {
        font-size: 22px !important;
    }

    .blog-post-single .blog-post__title {
        font-size: 36px !important;
    }

    .blog-post-single .blog-post__excerpt {
        font-size: 25px !important;
    }

    .blog-post-single .blog-post__content h2,
    .blog-post-single .blog-post__content h3,
    .blog-post-single .blog-post__content h4 {
        font-size: 22px !important;
    }

    .related-posts .related-posts__title {
        font-size: 36px !important;
    }

    .related-posts .related-posts__card-title {
        font-size: 22px !important;
    }

}

/* =========================================================================
   Abbonamenti — Piani e vetrina pubblicitaria (riferimento: info/sei-un-impresa)
   ========================================================================= */

/* Sezione FAQ e contenuto piani */
.subscriptions-plans-section-title,
.subscriptions-plans-page .subscriptions-plans-section-title {
    font-size: 25px !important;
    line-height: 1.35 !important;
}

.subscriptions-plans-page .faq-btn,
.subscriptions-plans-page .faq-mobile-btn,
.subscriptions-plans-page .faq-content-text,
.subscriptions-plans-page .faq-mobile-content p,
.subscriptions-plans-page .subscriptions-plans-footnote,
.subscriptions-plans-page .plan-features-list li,
.subscriptions-plans-page .plan-boost-note,
.subscriptions-plans-page .plan-btn {
    font-size: 16px !important;
    line-height: 1.5 !important;
}

.subscriptions-plans-page .plan-name {
    font-size: 25px !important;
    line-height: 1.3 !important;
}

.subscriptions-plans-page .plan-tagline {
    font-size: 16px !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
}

.subscriptions-plans-page .plan-text-main {
    font-size: 16px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
}

.subscriptions-plans-page .plan-text-sub,
.subscriptions-plans-page .plan-card-badge,
.subscriptions-plans-page .plan-price-sub {
    font-size: 12px !important;
    line-height: 1.4 !important;
}

.subscriptions-plans-page .plan-price-text {
    font-size: 25px !important;
    line-height: 1.2 !important;
}

.subscriptions-plans-page .plan-price-text span {
    font-size: 16px !important;
}

.subscriptions-plans-page .advertising-showcase-banner__content strong {
    font-size: 25px !important;
    line-height: 1.3 !important;
}

.subscriptions-plans-page .advertising-showcase-banner__content span,
.subscriptions-plans-page .advertising-showcase-banner__content i,
.subscriptions-plans-page .advertising-showcase-banner__chevron {
    font-size: 16px !important;
}

/* Vetrina pubblicitaria */
.advertising-page .advertising-back-link {
    font-size: 16px !important;
    line-height: 1.4 !important;
}

.advertising-page .infopage-hero__title {
    text-align: left !important;
}

.advertising-page .infopage-hero__subtitle {
    text-align: left !important;
}

.advertising-page .advertising-info h2,
.advertising-page .advertising-request-card h2 {
    font-size: 25px !important;
    line-height: 1.35 !important;
}

.advertising-page .advertising-info li,
.advertising-page .advertising-field .form-control,
.advertising-page .advertising-field .form-control::placeholder,
.advertising-page .advertising-note,
.advertising-page .advertising-note::placeholder,
.advertising-page .advertising-submit,
.advertising-page .alert {
    font-size: 16px !important;
    line-height: 1.5 !important;
}

.advertising-page .advertising-privacy,
.advertising-page .invalid-feedback {
    font-size: 12px !important;
    line-height: 1.4 !important;
}

@media (max-width: 767.98px) {
    .subscriptions-plans-page .advertising-showcase-banner__content strong {
        font-size: 22px !important;
    }

    .subscriptions-plans-page .plan-name {
        font-size: 22px !important;
    }
}
