/* Guia de Guarapari — Mobile Typography & Spacing Contract — 18.36.1 */
/* AUTHORITATIVE LAST LAYER: public frontend mobile. */
@media (max-width: 768px) {
  :root { --guia-mobile-gutter: 16px; }

  /* Base reading */
  html, body { font-size: 16px !important; }
  body, body p, body li, body dd, body dt, body td, body th,
  body blockquote, body label, body .description, body .content,
  body .entry-content { font-size: 16px !important; line-height: 1.6; }

  /* Header / mobile menu */
  .site-header .container { padding-left: 16px !important; padding-right: 16px !important; }
  .main-navigation.active,
  .main-navigation.active ul,
  .main-navigation.active li,
  .main-navigation.active li a { font-size: 16px !important; }
  .main-navigation.active li a { min-height: 48px !important; padding: 12px 14px !important; line-height: 1.3 !important; }
  .header-login a, .guia-user-link, .guia-login-link { font-size: 16px !important; min-height: 44px !important; }

  /* Home hero: comfortable, never compressed into microtype */
  body.home .guia-hero h1,
  body.home .home-hero h1,
  body.home .gg-hero h1,
  body.home .ggp-v25-hero h1,
  body.home .ggp-v25-hero-title,
  body.home .ggp-v25-hero-content h1 { font-size: clamp(30px, 9vw, 40px) !important; line-height: 1.05 !important; }
  body.home .ggp-v25-hero-search .ggp-v25-search-form,
  body.home .ggp-v25-hero-search .ggp-v25-search-form input[type="search"] { min-height: 52px !important; height: 52px !important; }
  body.home .ggp-v25-hero-search .ggp-v25-search-form input[type="search"] { font-size: 16px !important; }
  body.home .ggp-v25-hero-search .ggp-v25-search-btn { width: 52px !important; min-width: 52px !important; height: 52px !important; }

  /* Home company cards */
  body.home .empresa-card-home,
  body.home .empresa-card-home * { line-height: 1.45; }
  body.home .empresa-card-home :is(h2,h3,h4,.empresa-title,.guia-card-title,.card-title) { font-size: 16px !important; }
  body.home .empresa-card-home :is(p,.empresa-description,.guia-card-description,.card-description) { font-size: 15px !important; }
  body.home .empresa-card-home :is(.meta,.metadata,.categoria,.category,.location,.empresa-meta,.guia-card-meta) { font-size: 14px !important; }

  /* Global interactive controls */
  body button, body .button, body .btn, body a[role="button"],
  body input[type="submit"], body input[type="button"],
  body .wp-block-button__link { font-size: 16px !important; min-height: 48px; }

  /* Search/forms */
  body input, body select, body textarea { font-size: 16px !important; min-height: 52px; }

  /* Ônibus: primary accessibility target */
  body .gob-company { font-size: 16px !important; }
  body .gob-company :is(p,li,td,th,dd,dt) { font-size: 16px !important; }
  body .gob-company :is(.gob-line-single__line,.gob-line-single__time,.gob-line-single__route,
      .gob-company-card__title,.gob-line-card__title) { font-size: 17px !important; }
  body .gob-company :is(.line-filter,.line-filter label) { font-size: 14px !important; }
  body .gob-company .line-filter input { font-size: 17px !important; min-height: 52px !important; }
  body .gob-company :is(.gob-company-card__desc,.gob-company-card__next-value span,.gob-company-card__footer,
      .gob-line-single__back,.gob-line-single__note) { font-size: 14px !important; }

  /* Public headers */
  body .guia-public-header__description { font-size: 16px !important; line-height: 1.55 !important; }

  /* Climate / fuel: one outer gutter only; inner shells do not add another */
  main.guia-clima-page > .guia-clima-page__shell,
  main.guia-combustiveis-page > .guia-combustiveis-page__shell,
  main.guia-clima-page > .breadcrumb,
  main.guia-combustiveis-page > .breadcrumb {
    width: calc(100% - 32px) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .guia-clima-page__content .gcp-wrap,
  .guia-combustiveis-page__content .ggpc,
  .guia-combustiveis-page__content .ggpc-shell { width: 100% !important; max-width: none !important; padding-left: 0 !important; padding-right: 0 !important; }

  /* Contextual Instagram: readable, editorial, not microcopy */
  body .guia-instagram-contextual,
  body .guia-instagram-contextual p,
  body .guia-instagram-contextual__text { font-size: 15px !important; line-height: 1.6 !important; }
  body .guia-instagram-contextual__link { font-size: 15px !important; }

  /* Footer */
  body footer, body footer p, body footer a, body footer li,
  body .site-footer, body .site-footer p, body .site-footer a, body .site-footer li,
  body .site-footer .footer-description, body .site-footer .footer-menu,
  body .site-footer .footer-menu li, body .site-footer .footer-menu a,
  body .site-footer .footer-contact-list, body .site-footer .footer-contact-list li,
  body .site-footer .footer-contact-list a { font-size: 14px !important; line-height: 1.55 !important; }
  body .site-footer h2 { font-size: 17px !important; line-height: 1.25 !important; }
  body .site-footer .footer-copyright, body .site-footer .footer-credit { font-size: 14px !important; }

  /* Banners: outer container must not create a second mobile gutter */
  body .gpbp-sponsored .gpbp-content { font-size: 15px !important; }
  body .gpbp-sponsored .gpbp-title { font-size: 17px !important; line-height: 1.18 !important; }
  body .gpbp-sponsored .gpbp-subtitle { font-size: 15px !important; line-height: 1.25 !important; }
  body .gpbp-sponsored :is(.gpbp-cta,a) { font-size: 15px !important; }
}
