/* ============================================================
   WP-SPECIFIC ADDITIONS - styles.css stays untouched.
   Safari-safe (no gap, -webkit- prefixes).
   ============================================================ */
header{-webkit-backdrop-filter:blur(8px);}

/* wp_nav_menu markup matches the static HTML: ul.nav-links > li.menu-item > a */
.nav-links .current-menu-item > a,
.nav-links .current_page_parent > a{color:var(--petrol);}
/* Header CTA: in styles.css .nav-links a (dark) outranks .btn (white), leaving 2.4:1.
   This restores the .btn intent, white on petrol, for WCAG AA. */
.nav-links a.btn,.nav-links a.btn:hover{color:#fff;}

/* Mobile menu as in the original, only the li order differs: language, CTA */
@media (max-width:820px){
  .nav-links li.menu-item-lang{width:auto;display:inline-block;margin-right:18px;}
}

/* Tender badge (HU only) - desktop: fixed bottom right, shrinks on scroll;
   mobile: in a strip under the header instead, so it never covers text. */
.tender-badge{
  position:fixed;bottom:0;right:0;z-index:49;
  width:230px;transition:width .2s ease,opacity .2s ease;
}
.tender-badge a{display:block;}
.tender-badge img{width:100%;height:auto;display:block;}
.is-scrolled .tender-badge{width:140px;opacity:.95;}
@media (max-width:1100px){
  .tender-badge{width:170px;}
  .is-scrolled .tender-badge{width:110px;}
}
@media (max-width:820px){
  .tender-badge,.is-scrolled .tender-badge{
    position:static;width:auto;opacity:1;
    display:-webkit-box;display:-webkit-flex;display:flex;
    -webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;
    padding:8px 24px;background:var(--paper);border-bottom:1px solid var(--line);
  }
  .tender-badge img,.is-scrolled .tender-badge img{width:84px;}
}

/* Initials avatar drawn from PHP when there is no photo */
.member .avatar.avatar-mono{line-height:1;}

/* Footer menus */
footer ul li a{display:inline-block;}

/* Long HU/DE headings must not overflow on narrow screens; a word breaks only when it cannot fit */
h1,h2,h3{word-wrap:break-word;overflow-wrap:break-word;overflow-wrap:anywhere;}
@media (max-width:480px){
  .page-hero h1{-webkit-hyphens:auto;hyphens:auto;} /* hyphenate long words instead of clipping them */
}

/* Plain page content (Impressum, AGB) */
.entry-content{max-width:760px;}
.entry-content img{height:auto;margin-bottom:20px;}
.entry-content a{word-break:break-all;}
.entry-content p,.entry-content li{color:var(--ink-soft);margin-bottom:20px;font-size:18px;}
.entry-content h2{font-size:clamp(24px,2.6vw,30px);margin-top:48px;}
.entry-content h3{font-family:var(--display);font-size:21px;font-weight:600;margin:32px 0 12px;}
.entry-content ul,.entry-content ol{padding-left:22px;}
.entry-content strong{color:var(--ink);}

/* 404 */
.error-404 .btn{margin-top:12px;}

/* Screen reader only */
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);}

/* Gutenberg basics */
.wp-block-image img{height:auto;}

/* Eyebrow dot: regular hexagon, same ratio as the logo. */
.eyebrow::before{width:14px;height:12px;}

/* Inline logo instead of a PNG: hexagon plus wordmark in our colors;
   currentColor turns it white in the footer. */
.is-logo{display:-webkit-inline-box;display:-webkit-inline-flex;display:inline-flex;align-items:center;color:var(--ink);}
.is-logo-hex{height:18px;width:auto;flex:none;display:block;margin-right:9px;}
.is-logo-text{font-family:var(--display);font-size:22px;font-weight:600;letter-spacing:-.01em;line-height:1;}
.nav-logo{display:-webkit-box;display:-webkit-flex;display:flex;align-items:center;text-decoration:none;}
.foot-logo-line{margin-bottom:20px;}
.foot-logo-line .is-logo{color:#fff;}

/* Logged in, the sticky header would slide under the admin bar. */
body.admin-bar header{top:32px;}
@media screen and (max-width:782px){
  body.admin-bar header{top:46px;}
}

/* ============================================================
   PAGE TRANSITIONS (CSS-ONLY) AND ANCHOR SCROLLING
   ============================================================ */
/* Scroll padding the height of the sticky header, so anchor targets do not hide under it. */
html{scroll-padding-top:96px;}
/* Entering: main animates and body is never opacity:0, so the LCP hero paints on the first frame. */
@keyframes is-fade-in{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
html.is-anim main{-webkit-animation:is-fade-in .28s ease-out both;animation:is-fade-in .28s ease-out both;}
/* Leaving: a short fade, still started by JS. */
html.is-anim.is-page-leaving body{opacity:0;transition:opacity .22s ease-in;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  html.is-anim main{-webkit-animation:none;animation:none;}
  html.is-anim.is-page-leaving body{opacity:1;transition:none;}
}

/* Safari 13 and older: clip-path only works prefixed. */
.eyebrow::before{-webkit-clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);}

/* ============================================================
   ACCESSIBILITY
   ============================================================ */
/* Skip link: visible on keyboard focus only, the design is unchanged. */
.skip-link{position:absolute;left:-9999px;top:0;z-index:100;}
.skip-link:focus{
  left:12px;top:12px;width:auto;height:auto;overflow:visible;clip:auto;-webkit-clip-path:none;clip-path:none;
  background:var(--petrol);color:#fff;padding:10px 18px;border-radius:999px;font-weight:600;font-size:15px;
}
/* On dark backgrounds the petrol focus ring is too faint (about 2.5:1), so it is white
   there for the 3:1 contrast of WCAG 1.4.11. */
footer a:focus-visible,.cta a:focus-visible{outline-color:#fff;}
/* Footer column headings are h2 for the heading hierarchy; the look is unchanged. */
footer .foot-top h2{color:#fff;font-family:var(--body);font-size:14px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px;line-height:1.65;max-width:none;}
/* Two headings became h2 for the hierarchy; these rules bring back their previous look. */
.eyebrow{font-family:var(--body);line-height:1.65;max-width:none;}
.tier h2.eyebrow{font-size:13.5px;margin-bottom:18px;}
.contact-side h2{font-size:20px;line-height:1.65;letter-spacing:normal;margin-bottom:14px;max-width:none;}

/* Language switcher: both languages visible, the active one marked */
.nav-links a.lang-current{color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px;text-decoration-color:var(--petrol);}
