/* ==========================================================================
   Promedicalis — site-wide fixes (loaded after each page's own styles)
   ========================================================================== */

/* Headlines in one solid colour, no italics */
h1 em, h2 em, h3 em, h1 i, h2 i, h3 i { color: inherit !important; font-style: normal !important; }
em, i, .lead, .story-text .lead { font-style: normal !important; }

/* Remove the decorative cross-grid texture behind the hero */
.hero::before, .page-hero::before, .brochure-preview::before { display: none !important; }

/* Hero: room between the fixed menu bar and the first line */
.hero { padding-top: 128px !important; }
@media (max-width: 640px) { .hero { padding-top: 104px !important; } }

/* Language switch is now a pair of links (own URL per language) */
a.lang-btn { display: inline-block; text-decoration: none; line-height: 1.2; }
.mobile-lang a.lang-btn { padding: 8px 18px; }

/* Footer contact line */
.footer-contact span { color: rgba(255,255,255,0.5); font-size: 0.85rem; }

/* Keyboard focus visible everywhere */
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid #c9a84c; outline-offset: 2px;
}

/* Hamburger turns into a close icon */
.nav-hamburger { min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }
.nav-hamburger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-hamburger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav-hamburger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.mobile-nav { max-height: calc(100vh - 72px); overflow-y: auto; }

/* ---------- Tablet & phone ---------- */
@media (max-width: 900px) {
  /* 3-column strips stack instead of running off the screen */
  [style*="grid-template-columns:repeat(3,1fr)"] { grid-template-columns: 1fr !important; }
  /* Wide tables scroll inside their box */
  .section-block table, .content table { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
}
@media (max-width: 640px) {
  .page-hero h1 { font-size: clamp(1.9rem, 8vw, 2.4rem) !important; line-height: 1.2; overflow-wrap: break-word; hyphens: manual; }
  h1 { overflow-wrap: break-word; hyphens: manual; }
  .hero-tag { font-size: 0.62rem !important; letter-spacing: 0.12em !important; }
  input, select, textarea { font-size: 16px !important; } /* stops iPhone zooming into fields */
  [style*="padding:48px 36px"] { padding: 36px 24px !important; }
}
