/*
Theme Name: Emerald Heart Failure Congress
Theme URI: https://helpingheartsgraz.com
Author: Helping Hearts Graz
Description: Maßgeschneidertes, luxuriöses Kongress-Theme für Advancing Heart Failure in Graz.
Version: 2.0.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: emerald-heart-failure
*/

:root {
  --ehf-forest: #073f31;
  --ehf-emerald: #075a43;
  --ehf-sage: #a9c4b5;
  --ehf-mist: #edf2ee;
  --ehf-ivory: #f8f6f0;
  --ehf-white: #fff;
  --ehf-ink: #17211d;
  --ehf-gold: #d6b35e;
  --ehf-line: #d7ded8;
  --ehf-serif: "Iowan Old Style", Baskerville, "Times New Roman", serif;
  --ehf-sans: Inter, Avenir, "Helvetica Neue", Arial, sans-serif;
  --ehf-shadow: 0 28px 70px rgba(7,63,49,.09);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--ehf-ivory); color: var(--ehf-ink); font-family: var(--ehf-sans); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-underline-offset: .2em; }
.ehf-wrap { width: min(1420px, calc(100% - 8vw)); margin-inline: auto; }
.ehf-kicker { margin: 0 0 1.1rem; color: var(--ehf-gold); font-size: .76rem; font-weight: 650; letter-spacing: .23em; text-transform: uppercase; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }

.ehf-header { position: sticky; top: 0; z-index: 50; min-height: 86px; border-bottom: 1px solid rgba(7,63,49,.1); background: rgba(248,246,240,.96); backdrop-filter: blur(15px); }
.ehf-header-inner { position: relative; display: flex; align-items: center; justify-content: flex-end; min-height: 86px; }
.ehf-brand { justify-self: start; text-decoration: none; }
.ehf-brand-main { display: block; color: var(--ehf-forest); font-family: var(--ehf-serif); font-size: 1.52rem; letter-spacing: .15em; line-height: 1; }
.ehf-brand-sub { display: block; margin-top: .38rem; color: #a87d2f; font-size: .57rem; letter-spacing: .38em; text-transform: uppercase; }
.ehf-program-nav { position: absolute; left: 50%; transform: translateX(-50%); color: var(--ehf-forest); font-size: .76rem; font-weight: 650; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }
.ehf-header-cta { border-radius: 4px; background: var(--ehf-forest); color: #fff; padding: .86rem 1.35rem; font-size: .7rem; font-weight: 700; letter-spacing: .11em; text-decoration: none; text-transform: uppercase; transition: .2s ease; }
.ehf-header-cta:hover { background: var(--ehf-emerald); transform: translateY(-1px); }

.ehf-hero { position: relative; min-height: 560px; overflow: hidden; background: #064b38 url("assets/images/hero-heart-lkh.png") center/cover no-repeat; color: #fff; }
.ehf-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,58,43,.34) 0%, rgba(4,58,43,.02) 55%, rgba(4,58,43,.16) 100%); pointer-events: none; }
.ehf-hero-inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.35fr) minmax(310px,.65fr); align-items: center; gap: 3rem; min-height: 560px; padding-block: 5rem; }
.ehf-hero-copy { max-width: 720px; }
.ehf-hero h1 { margin: 0; max-width: 690px; color: #fff; font-family: var(--ehf-serif); font-size: clamp(4rem, 7vw, 7.9rem); font-weight: 400; letter-spacing: -.04em; line-height: .88; text-wrap: balance; }
.ehf-hero h1 em { font-style: normal; }
.ehf-date-card { justify-self: end; width: min(100%, 390px); border: 1px solid var(--ehf-gold); border-radius: 18px; background: rgba(8,76,58,.76); box-shadow: 0 25px 60px rgba(0,0,0,.14); padding: 2.4rem 2rem; text-align: center; backdrop-filter: blur(10px); }
.ehf-date-icon { display: block; width: 72px; height: 55px; margin: 0 auto; object-fit: contain; }
.ehf-date-label { margin: 1rem 0 1.1rem; color: var(--ehf-gold); font-size: .8rem; letter-spacing: .25em; text-transform: uppercase; }
.ehf-date { margin: 0; color: #fff; font-family: var(--ehf-serif); font-size: clamp(1.8rem,3vw,2.5rem); font-weight: 400; line-height: 1.1; }
.ehf-card-rule { display: flex; align-items: center; justify-content: center; gap: .8rem; margin: 1.5rem 0; color: var(--ehf-gold); }
.ehf-card-rule::before,.ehf-card-rule::after { content: ""; width: 64px; height: 1px; background: currentColor; opacity: .8; }
.ehf-location { margin: 0; color: var(--ehf-gold); font-size: .78rem; font-weight: 650; letter-spacing: .12em; text-transform: uppercase; }

.ehf-program { padding: clamp(5rem,9vw,8rem) 0; text-align: center; }
.ehf-program .ehf-kicker { color: var(--ehf-emerald); }
.ehf-program h2 { margin: 0; color: var(--ehf-forest); font-family: var(--ehf-serif); font-size: clamp(2.5rem,4vw,4.4rem); font-weight: 400; line-height: 1; }
.ehf-pdf-button { display: inline-flex; align-items: center; gap: .8rem; margin-top: 2.4rem; border: 1px solid var(--ehf-emerald); border-radius: 4px; color: var(--ehf-forest); padding: 1rem 2.2rem; font-size: .74rem; font-weight: 650; letter-spacing: .14em; text-decoration: none; text-transform: uppercase; transition: .2s ease; }
.ehf-pdf-button:hover { background: var(--ehf-forest); color: #fff; }

.ehf-registration-section { padding: 0 0 clamp(5rem,8vw,8rem); }
.ehf-registration-grid { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(310px,.9fr); align-items: stretch; gap: 2rem; }
.ehf-info-card { display: flex; flex-direction: column; border-radius: 16px; background: var(--ehf-forest); color: #fff; padding: clamp(2rem,4vw,3.25rem); box-shadow: var(--ehf-shadow); }
.ehf-info-card h2 { margin: 0 0 1.4rem; color: #fff; font-family: var(--ehf-serif); font-size: clamp(2.5rem,4vw,4rem); font-weight: 400; line-height: 1; }
.ehf-info-item { display: grid; grid-template-columns: 46px 1fr; gap: 1.2rem; align-items: center; padding: 1.5rem 0; border-bottom: 1px solid rgba(169,196,181,.28); }
.ehf-info-item svg { width: 38px; height: 38px; color: var(--ehf-gold); }
.ehf-info-label { display: block; margin-bottom: .35rem; color: var(--ehf-gold); font-size: .7rem; font-weight: 650; letter-spacing: .18em; text-transform: uppercase; }
.ehf-info-value { color: #f7fbf8; font-size: .98rem; line-height: 1.45; }
.ehf-info-value a { text-decoration: none; }
.ehf-info-foot { margin: auto 0 0; padding-top: 2rem; color: var(--ehf-gold); font-family: var(--ehf-serif); font-size: 1.12rem; line-height: 1.45; text-align: center; }

.ehf-footer { border-top: 1px solid var(--ehf-line); background: #fbfaf6; padding: 0 0 1.6rem; }
.ehf-sponsors { padding: clamp(4.5rem,8vw,7rem) 0; text-align: center; }
.ehf-sponsors .ehf-kicker { color: var(--ehf-emerald); }
.ehf-sponsors h2 { margin: 0; color: var(--ehf-forest); font-family: var(--ehf-serif); font-size: clamp(2.3rem,4vw,4rem); font-weight: 400; line-height: 1; }
.ehf-sponsor-row { display: flex; justify-content: center; align-items: stretch; flex-wrap: wrap; gap: 1.2rem; margin-top: 2.5rem; }
.ehf-sponsor-tier { margin: 4rem 0 0; color: var(--ehf-forest); font-family: var(--ehf-serif); font-size: clamp(1.7rem,3vw,2.5rem); font-weight: 400; }
.ehf-sponsor-row-supporting { margin-top: 1.8rem; }
.ehf-sponsor-row-supporting .ehf-sponsor-logo { width: min(320px,100%); min-height: 125px; padding: 1.6rem 2.2rem; }
.ehf-sponsor-row-supporting .ehf-sponsor-logo img { max-width: 235px; max-height: 72px; }
.ehf-sponsor-logo { display: grid; place-items: center; width: min(380px,100%); min-height: 145px; border: 1px solid #d5ddd8; border-radius: 8px; background: #fff; padding: 2rem 2.7rem; text-decoration: none; box-shadow: 0 14px 35px rgba(7,63,49,.04); transition: .2s ease; }
.ehf-sponsor-logo img { display: block; width: 100%; max-width: 280px; max-height: 82px; object-fit: contain; }
a.ehf-sponsor-logo:hover { border-color: var(--ehf-gold); transform: translateY(-2px); }
.ehf-partner-label { margin-bottom: 2rem; color: #708078; font-size: .67rem; font-weight: 650; letter-spacing: .16em; text-align: center; text-transform: uppercase; }
.ehf-logo-row { display: grid; grid-template-columns: minmax(0,2.5fr) 1px minmax(180px,1fr); align-items: center; gap: clamp(1.5rem,4vw,4rem); max-width: 900px; margin: 0 auto; }
.ehf-logo-row img { display: block; max-width: 100%; max-height: 118px; width: auto; margin: auto; object-fit: contain; }
.ehf-logo-divider { width: 1px; height: 72px; background: #afbbb4; }
.ehf-footer-bottom { display: flex; justify-content: center; flex-wrap: wrap; gap: 1.4rem; margin-top: 2rem; color: #5f6c65; font-size: .76rem; }
.ehf-footer-bottom a { text-decoration: none; }
.ehf-footer-bottom a:hover { color: var(--ehf-emerald); }

.ehf-content { min-height: 60vh; padding: 6rem 0; }
.ehf-content h1 { color: var(--ehf-forest); font-family: var(--ehf-serif); font-size: clamp(2.7rem,5vw,5rem); font-weight: 400; }

@media (max-width: 980px) {
  .ehf-hero-inner { grid-template-columns: 1fr; padding-block: 4.5rem; }
  .ehf-date-card { justify-self: start; width: min(100%,430px); }
  .ehf-registration-grid { grid-template-columns: 1fr; }
  .ehf-info-card { min-height: 590px; }
}
@media (max-width: 680px) {
  .ehf-wrap { width: min(100% - 2rem, 1420px); }
  .ehf-program-nav { display: none; }
  .ehf-brand-main { font-size: 1.15rem; }
  .ehf-brand-sub { font-size: .45rem; }
  .ehf-header-cta { padding: .75rem .85rem; font-size: .6rem; }
  .ehf-sponsor-logo { width: 100%; }
  .ehf-hero { background-position: 54% center; }
  .ehf-hero h1 { font-size: clamp(3.55rem,17vw,5.5rem); }
  .ehf-date-card { padding: 2rem 1.2rem; }
  .ehf-logo-row { grid-template-columns: 1fr; }
  .ehf-logo-divider { width: 70%; height: 1px; margin: auto; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; }
}
