/* The other public pages in index3, starting from phone screens. */
.index3-public:not(.page-preventivo) { padding-bottom:0; }
.index3-public:not(.page-preventivo) .wrap { width:calc(100% - 28px); max-width:1190px; }
.index3-public:not(.page-preventivo) .quote-hero {
  min-height:0; padding:62px 0 32px; color:#fff;
  background:linear-gradient(90deg,rgba(8,36,42,.25),rgba(8,36,42,.08)),var(--hero-photo) var(--hero-position,center) / cover no-repeat;
}
.index3-public:not(.page-preventivo) .quote-hero::after { display:none; }
.index3-public:not(.page-preventivo) .quote-hero .wrap { grid-template-columns:minmax(0,1fr); gap:20px; }
.index3-public:not(.page-preventivo) .quote-hero h1 { font-size:clamp(30px,8vw,40px); line-height:1.15; text-shadow:0 2px 12px rgba(0,0,0,.3); }
.index3-public:not(.page-preventivo) .quote-hero p { margin-top:12px; font-size:16px; line-height:1.55; color:#fff; }
.index3-public:not(.page-preventivo) .quote-hero .btn { justify-self:start; }
.index3-public:not(.page-preventivo) .quote-hero .breadcrumb-list li,
.index3-public:not(.page-preventivo) .quote-hero .breadcrumb-list a,
.index3-public:not(.page-preventivo) .quote-hero .breadcrumb-current,
.index3-public:not(.page-preventivo) .quote-hero .breadcrumb-separator { color:#fff; }
.index3-public:not(.page-preventivo) .quote-hero .breadcrumb-list a:focus-visible { outline-color:#fff; }
.index3-public:not(.page-preventivo) main > section:not(.quote-hero) { padding-block:32px; }
.index3-public:not(.page-preventivo) .section-head { grid-template-columns:minmax(0,1fr); gap:12px; margin-bottom:20px; }
.index3-public:not(.page-preventivo) .section-head h2 { font-size:30px; line-height:1.18; }
.index3-public:not(.page-preventivo) .section-head p { font-size:16px; line-height:1.6; }
.index3-public:not(.page-preventivo) .showcase-grid,
.index3-public:not(.page-preventivo) .info-grid,
.index3-public:not(.page-preventivo) .chapter-grid,
.index3-public:not(.page-preventivo) .blog-grid,
.index3-public:not(.page-preventivo) .rates-grid,
.index3-public:not(.page-preventivo) .faq-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
.index3-public:not(.page-preventivo) .showcase-card { min-height:300px; padding:18px; border-radius:18px; }
.index3-public:not(.page-preventivo) .showcase-card h3 { font-size:30px; line-height:1.15; }
.index3-public:not(.page-preventivo) .showcase-card p { font-size:16px; line-height:1.5; color:#fff; }
.index3-public:not(.page-preventivo) .info-card,
.index3-public:not(.page-preventivo) .chapter-item,
.index3-public:not(.page-preventivo) .rate-card,
.index3-public:not(.page-preventivo) .blog-card-body { padding:20px; min-height:0; }
.index3-public:not(.page-preventivo) .info-card h3,
.index3-public:not(.page-preventivo) .blog-card h3 { font-size:25px; line-height:1.2; }
.index3-public:not(.page-preventivo) .chapter-item span { margin-top:10px; }
.index3-public:not(.page-preventivo) .info-card p,
.index3-public:not(.page-preventivo) .chapter-item span,
.index3-public:not(.page-preventivo) .blog-card p { font-size:16px; line-height:1.6; }
.index3-public:not(.page-preventivo) .btn { min-height:48px; white-space:normal; line-height:1.4; }
.index3-public:not(.page-preventivo) .btn.primary { background:#087d83; border-color:#087d83; color:#fff; box-shadow:none; }
.index3-public:not(.page-preventivo) .btn.primary:hover { background:#08656b; }
.index3-public:not(.page-preventivo) .rates-content { padding-block:0; }
.index3-public:not(.page-preventivo) .rate-card h3 { font-size:24px; line-height:1.3; }
.index3-public:not(.page-preventivo) .rate-card dl div { flex-wrap:wrap; gap:8px 16px; font-size:16px; }
.index3-public:not(.page-preventivo) .rate-card dd { margin-left:auto; }
.index3-public:not(.page-preventivo) .rate-card .btn { width:100%; }
.index3-public:not(.page-preventivo) .gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.index3-public:not(.page-preventivo) .gallery-tile,
.index3-public:not(.page-preventivo) .gallery-tile.large,
.index3-public:not(.page-preventivo) .gallery-tile.tall { grid-column:auto; min-height:0; aspect-ratio:4/3; border-radius:12px; }
.index3-public:not(.page-preventivo) .lightbox { padding:64px 14px calc(20px + env(safe-area-inset-bottom)); }
.index3-public:not(.page-preventivo) .lightbox img { max-width:100%; max-height:calc(100dvh - 100px); object-fit:contain; }
.index3-public:not(.page-preventivo) .article-layout { width:calc(100% - 28px); max-width:760px; padding:32px 0 48px; }
.index3-public:not(.page-preventivo) .article-body { font-size:18px; line-height:1.7; overflow-wrap:anywhere; }
.index3-public:not(.page-preventivo) .article-cta h2 { font-size:28px; line-height:1.2; }
.index3-public:not(.page-preventivo) .article-cta-actions { display:grid; gap:10px; }
.index3-public:not(.page-preventivo) .blog-pagination a { min-width:48px; min-height:48px; }
.index3-public:not(.page-preventivo) .faq-section details.faq-card summary { padding:18px; min-height:48px; }
.index3-public:not(.page-preventivo) .faq-section details.faq-card h3 { font-size:18px; line-height:1.4; }
.index3-public:not(.page-preventivo) .faq-section details.faq-card p { padding:0 18px 18px; font-size:16px; line-height:1.6; }
@media(min-width:700px) {
  .index3-public:not(.page-preventivo) .wrap { width:calc(100% - 40px); }
  .index3-public:not(.page-preventivo) .showcase-grid,
  .index3-public:not(.page-preventivo) .info-grid,
  .index3-public:not(.page-preventivo) .chapter-grid,
  .index3-public:not(.page-preventivo) .blog-grid,
  .index3-public:not(.page-preventivo) .rates-grid,
  .index3-public:not(.page-preventivo) .faq-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .index3-public:not(.page-preventivo) .gallery-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .index3-public:not(.page-preventivo) .article-cta-actions { display:flex; flex-wrap:wrap; }
}
@media(min-width:1100px) {
  .index3-public:not(.page-preventivo) .quote-hero { padding:64px 0 44px; }
  .index3-public:not(.page-preventivo) .quote-hero h1 { font-size:48px; }
  .index3-public:not(.page-preventivo) .quote-hero .wrap { grid-template-columns:minmax(0,1fr) auto; align-items:end; }
  .index3-public:not(.page-preventivo) main > section:not(.quote-hero) { padding-block:56px; }
  .index3-public:not(.page-preventivo) .info-grid,
  .index3-public:not(.page-preventivo) .blog-grid,
  .index3-public:not(.page-preventivo) .rates-grid,
  .index3-public:not(.page-preventivo) .faq-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .index3-public:not(.page-preventivo) .chapter-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .index3-public:not(.page-preventivo) .gallery-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .index3-public:not(.page-preventivo) .showcase-card { min-height:380px; }
}
