/* ==========================================================================
   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; }
}

/* Footer with the extra "Herkunftsländer" column */
.footer-top { grid-template-columns: 1.6fr 1fr 1.2fr 1fr 1fr !important; }
@media (max-width: 1000px) { .footer-top { grid-template-columns: 1fr 1fr !important; } }
@media (max-width: 640px)  { .footer-top { grid-template-columns: 1fr !important; } }
/* Visible-language helper for server-rendered pages */
body.en .lang-de { display: none !important; }
body.de .lang-en { display: none !important; }

/* Home page: countries section */
.pm-countries{background:#f4f7fb;padding:96px 5%;}
.pm-countries-inner{max-width:1200px;margin:0 auto;text-align:center;}
.pm-label{display:inline-block;color:#c9a84c;font-size:0.8rem;letter-spacing:0.18em;text-transform:uppercase;margin-bottom:14px;font-weight:500;}
.pm-countries h2{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(1.9rem,3.6vw,2.8rem);color:#0a1628;line-height:1.2;margin-bottom:16px;}
.pm-sub{color:#54677f;max-width:640px;margin:0 auto;line-height:1.85;}
.pm-country-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:44px;text-align:left;}
.pm-country{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid #d0dcea;border-radius:4px;padding:24px 20px;text-decoration:none;transition:all .25s;}
.pm-country:hover{border-color:#4a9edd;transform:translateY(-3px);box-shadow:0 10px 30px rgba(13,31,60,.08);}
.pm-country strong{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:1.35rem;color:#0a1628;}
.pm-country span:not(.pm-code){font-size:0.85rem;color:#54677f;}
.pm-code{align-self:flex-start;font-size:0.72rem;letter-spacing:0.14em;color:#1a4480;background:rgba(26,68,128,.08);padding:4px 10px;border-radius:2px;margin-bottom:8px;}
.pm-countries-cta{margin-top:36px;}
.pm-btn{display:inline-block;background:#1a4480;color:#fff;padding:13px 30px;border-radius:2px;text-decoration:none;font-size:0.9rem;font-weight:500;transition:background .2s;}
.pm-btn:hover{background:#0a1628;}
@media(max-width:1000px){.pm-country-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.pm-country-grid{grid-template-columns:1fr;}.pm-countries{padding:64px 5%;}}
