/*
Theme Name: Jahrgang 2017 Stade – Komplett
Author: OpenAI for Jahrgang 2017
Description: Schlankes WordPress-Theme für die private Homepage des Jahrgangs 2017 mit Turnieren, Bewerbungen, Sponsoren und Galerie.
Version: 1.2.0
Text Domain: jg2017
*/
:root{--blue:#004b91;--navy:#00356b;--red:#ed1c24;--ink:#10233e;--light:#f4f7fb;--white:#fff;--max:1180px}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.wrap{width:min(var(--max),92%);margin:auto}.site-header{background:#fff;position:sticky;top:0;z-index:20;box-shadow:0 1px 8px #0002}.header-row{min-height:90px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:18px}.brand img{width:185px;max-height:72px;object-fit:contain}.brand-title{font-weight:800;font-size:24px;color:var(--blue)}.brand-sub{font-size:14px}.menu{margin-left:auto;display:flex;gap:24px;align-items:center;font-weight:700;font-size:14px}.menu a:hover,.menu .current-menu-item>a{color:var(--red)}.hero{background:linear-gradient(110deg,var(--navy),var(--blue));color:#fff;padding:72px 0}.hero h1{font-size:clamp(40px,6vw,72px);line-height:.95;margin:0 0 18px}.hero p{max-width:680px;font-size:20px}.btn{display:inline-block;background:var(--red);color:#fff;padding:13px 20px;border-radius:4px;font-weight:800;border:0;cursor:pointer}.btn.secondary{background:var(--navy)}.section{padding:55px 0}.section.alt{background:var(--light)}h2{font-size:34px;color:var(--navy);margin:0 0 24px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{border:1px solid #dbe3ee;background:#fff;border-radius:7px;overflow:hidden;box-shadow:0 3px 12px #00214a12}.card-body{padding:20px}.card h3{margin:0 0 8px;color:var(--navy);font-size:23px}.meta{display:grid;gap:7px;font-size:14px;margin:12px 0 18px}.badge{display:inline-block;background:#eaf1f9;color:var(--navy);padding:5px 9px;border-radius:99px;font-weight:700;font-size:12px}.event-hero{background:linear-gradient(120deg,var(--navy),var(--blue));color:#fff;padding:50px 0}.event-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:25px}.fact{background:#ffffff12;border:1px solid #ffffff35;padding:16px;border-radius:5px}.tabs{background:#fff;border-bottom:1px solid #dce3ec;position:sticky;top:90px;z-index:10}.tabs .wrap{display:flex;gap:22px;overflow:auto;padding:15px 0;font-weight:800;font-size:13px}.tabs a:hover{color:var(--red)}.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:40px}.info-table{width:100%;border-collapse:collapse}.info-table td{padding:12px;border-bottom:1px solid #dce3ec}.info-table td:first-child{font-weight:800;width:35%}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field label{display:block;font-weight:700;margin-bottom:5px}.field input,.field select,.field textarea{width:100%;padding:12px;border:1px solid #bcc9d8;border-radius:4px;font:inherit}.field.full{grid-column:1/-1}.notice{padding:16px;background:#fff5f5;border-left:4px solid var(--red)}.sponsor-grid,.logo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:center}.sponsor-box{min-height:120px;border:1px solid #dce3ec;border-radius:6px;display:flex;align-items:center;justify-content:center;padding:18px;background:#fff;text-align:center}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gallery-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:5px}.site-footer{background:var(--navy);color:#fff;padding:38px 0 18px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}.footer-note{border-top:1px solid #ffffff35;margin-top:28px;padding-top:18px;font-size:12px;text-align:center;color:#dbe8f6}.lang{font-size:12px;margin-left:12px}.content{padding:45px 0}.wp-block-file a{font-weight:700}.empty{color:#66758a;font-style:italic}@media(max-width:850px){.header-row{flex-wrap:wrap;padding:12px 0}.menu{width:100%;overflow:auto;padding-bottom:10px}.grid,.sponsor-grid,.logo-grid{grid-template-columns:1fr 1fr}.event-facts{grid-template-columns:1fr 1fr}.two-col,.footer-grid{grid-template-columns:1fr}.tabs{top:130px}}@media(max-width:560px){.brand-title{font-size:19px}.brand img{width:135px}.grid,.sponsor-grid,.logo-grid,.gallery-grid,.event-facts,.form-grid{grid-template-columns:1fr}.hero{padding:50px 0}.section{padding:38px 0}.tabs{position:static}.field.full{grid-column:auto}}
/* v2 additions */
.page-hero{background:linear-gradient(135deg,#072b58,#0b4d8f);color:#fff;padding:64px 0}.page-hero h1{font-size:clamp(2.2rem,6vw,4.4rem);margin:.25rem 0}.page-hero p{font-size:1.15rem;max-width:720px}.narrow{max-width:850px}.lead{font-size:1.15rem}.success{background:#e9f8ef;border:1px solid #a7dfba;padding:14px 16px;border-radius:10px;margin:18px 0}.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.team-chip{border:1px solid #dfe6ee;border-radius:12px;padding:18px;background:#fff;font-weight:700;text-align:center}.download-row{display:flex;gap:14px;flex-wrap:wrap}.download-card{display:block;padding:18px 24px;background:#fff;border:1px solid #dfe6ee;border-radius:12px;font-weight:800;text-decoration:none;color:#0b3a6f}.sponsor-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.sponsor-card img{width:100%;height:140px;object-fit:contain;background:#fff}.text-link{font-weight:800}.feature-box,.gallery-note{padding:28px;border-radius:16px;background:#f3f7fb;border-left:5px solid #e31d2b}.content-prose{line-height:1.75}.field select{width:100%;padding:12px;border:1px solid #ccd6e0;border-radius:8px;background:#fff}.check{display:flex;gap:10px;align-items:flex-start}.check input{width:auto;margin-top:4px}.private-note{border-top:1px solid rgba(255,255,255,.16);padding-top:20px;margin-top:20px;font-size:.88rem;line-height:1.55;opacity:.9}.footer-brand img{width:70px;height:70px;object-fit:contain;background:#fff;border-radius:10px;margin-bottom:10px}.footer-brand strong,.footer-brand span{display:block}.copyright{padding-top:18px;font-size:.8rem;opacity:.7}.tabs{overflow-x:auto}.tabs .wrap{white-space:nowrap}.tabs a{text-transform:none}
@media(max-width:700px){.page-hero{padding:42px 0}.event-facts{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr}.tabs .wrap{display:flex;gap:16px}.tabs a{padding:14px 0}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}
/* final visual direction */
:root{--navy:#002e5f;--blue:#07549a;--red:#ef1b2d;--ink:#0b2e57;--max:1220px}body{font-family:Arial,Helvetica,sans-serif}.site-header{box-shadow:none;border-bottom:1px solid #e7ebf0}.header-row{min-height:104px}.brand img{width:230px;max-height:82px}.brand-title{font-size:29px;letter-spacing:.2px;color:#074c91}.brand-sub{font-size:15px;font-weight:700}.menu{gap:30px;font-size:13px}.menu a{padding:40px 0 15px;border-bottom:3px solid transparent}.menu a:hover{border-color:var(--red)}.lang{margin-left:6px;display:flex;gap:8px;align-items:center}.lang b{border-bottom:2px solid var(--red);padding-bottom:3px}.home-hero{height:365px;position:relative;overflow:hidden;background:#062e5b;color:white}.home-hero-bg{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(0,38,78,.98) 0%,rgba(0,44,88,.85) 29%,rgba(0,44,88,.15) 52%,rgba(0,0,0,.02) 100%),url('assets/images/hero-football.jpg');background-size:cover;background-position:center right}.hero-inner{height:100%;position:relative;display:flex;align-items:center}.hero-copy{width:45%;padding-left:10px}.hero-copy h1{font-size:54px;line-height:.95;margin:0;color:white;letter-spacing:-1px;font-weight:900}.hero-copy h1 em{font-style:normal;color:var(--red)}.red-rule{display:block;width:72px;height:5px;background:var(--red);margin:15px 0}.red-rule.small{width:58px;height:4px;margin:8px 0 10px}.hero-copy p{font-size:17px;line-height:1.45;margin:0 0 20px}.hero-btn{border:1px solid #fff;border-radius:4px;padding:13px 22px}.hero-btn span{font-size:22px;margin-left:22px}.benefit-bar{background:linear-gradient(90deg,#073c75,#002e5f);color:#fff}.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);min-height:92px}.benefit{display:flex;gap:18px;align-items:center;padding:15px 26px;border-right:1px solid rgba(255,255,255,.35)}.benefit:last-child{border:0}.benefit-icon{font-size:43px;line-height:1;font-family:Georgia,serif;font-weight:400}.benefit strong,.benefit span{display:block}.benefit strong{font-size:13px}.benefit span{font-size:12px;line-height:1.4;margin-top:5px}.tournament-section{padding:30px 0 35px}.display-title{font-size:37px;letter-spacing:-1px;margin:0;color:#073f79}.section-intro{font-size:14px;margin:0 0 26px}.tournament-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.t-card{border:1px solid #d7dee7;border-radius:4px;overflow:hidden;background:white;box-shadow:0 2px 6px rgba(0,0,0,.04)}.t-photo{height:168px;background-size:cover;background-position:center;position:relative}.date-ribbon{position:absolute;top:0;left:0;background:#07509a;color:white;padding:9px 18px 10px;min-width:135px;clip-path:polygon(0 0,100% 0,88% 100%,0 100%)}.date-ribbon small,.date-ribbon b{display:block}.date-ribbon small{font-size:11px;font-weight:800}.date-ribbon b{font-size:21px;line-height:1.05}.t-body{padding:14px 18px 16px}.t-body h3{color:#073f79;font-size:20px;line-height:1.1;min-height:44px;margin:0 0 12px}.t-bottom{display:flex;align-items:end;justify-content:space-between;gap:10px}.location{font-size:12px;line-height:1.25;max-width:48%;display:flex;gap:7px}.location i{color:var(--red);font-style:normal}.more-btn{background:#07509a;color:#fff;font-weight:800;font-size:11px;padding:13px 17px;border-radius:4px;white-space:nowrap}.more-btn b{font-size:18px;margin-left:13px}.football-banner{height:185px;display:grid;grid-template-columns:1fr 1.25fr;background:#00356b;color:white;overflow:hidden}.ball-side{background-image:url('assets/images/ball.jpg');background-size:cover;background-position:center}.banner-copy{display:flex;justify-content:center;flex-direction:column;padding-left:90px;background:linear-gradient(105deg,#064b8e,#00356b);font-family:Georgia,serif;font-style:italic;font-size:37px;line-height:1.05}.banner-copy span{margin-left:55px}.site-footer{background:#fff;color:#0a315f;padding:28px 0 0}.footer-grid{grid-template-columns:1.1fr 1fr 1fr 1.2fr;gap:35px}.site-footer h4{font-size:12px;margin:0 0 10px}.site-footer p,.site-footer a{font-size:12px;line-height:1.75}.footer-logo{text-align:right}.footer-logo img{width:210px;max-height:90px;object-fit:contain}.footer-logo strong{display:block;font-size:16px}.private-note{width:100%;max-width:none;background:#00356b;color:white;text-align:center;margin-top:25px;padding:15px 4%;font-size:11px;opacity:1;border:0}
@media(max-width:900px){.header-row{min-height:86px}.brand img{width:170px}.brand-title{font-size:22px}.menu{order:3;width:100%;gap:18px}.menu a{padding:8px 0}.home-hero{height:390px}.hero-copy{width:60%}.benefit-grid{grid-template-columns:1fr 1fr}.tournament-grid{grid-template-columns:1fr 1fr}.football-banner{grid-template-columns:.8fr 1.2fr}.banner-copy{padding-left:30px;font-size:28px}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.header-row{gap:10px}.brand img{width:125px}.brand-title{font-size:18px}.brand-sub{font-size:11px}.lang{margin-left:auto}.home-hero{height:430px}.home-hero-bg{background-position:63% center}.hero-copy{width:90%}.hero-copy h1{font-size:42px}.hero-copy p{font-size:15px}.benefit-grid,.tournament-grid,.footer-grid{grid-template-columns:1fr}.benefit{border-right:0;border-bottom:1px solid rgba(255,255,255,.25)}.t-photo{height:190px}.football-banner{grid-template-columns:1fr;height:260px}.ball-side{height:115px}.banner-copy{padding:25px;font-size:27px}.footer-logo{text-align:left}.private-note{font-size:10px}.menu{font-size:11px;overflow:auto;flex-wrap:nowrap}.display-title{font-size:31px}}


/* featured-image update */
.event-hero-image{background-size:cover;background-position:center right;color:#fff;padding:78px 0 62px}
.t-meta-line{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.pill{display:inline-block;background:#eaf2fb;color:#073f79;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;line-height:1}.pill.ghost{background:#f3f5f8;color:#4a5f78}.t-body h3{min-height:52px}
.card img{width:100%;height:220px;object-fit:cover}
@media(max-width:600px){.event-hero-image{padding:56px 0 42px;background-position:center}.t-body h3{min-height:auto}}


/* participant logos */
.participant-logo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.participant-card{border:1px solid #dce3ec;border-radius:10px;background:#fff;padding:18px 12px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:12px;min-height:175px}.participant-logo{height:105px;width:100%;display:flex;align-items:center;justify-content:center}.participant-logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.participant-placeholder{background:#f3f6fa;border-radius:8px;color:#9aa8b8;font-weight:800}.participant-card strong{font-size:14px;color:#073f79;line-height:1.25}@media(max-width:900px){.participant-logo-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.participant-logo-grid{grid-template-columns:repeat(2,1fr)}}

/* FINAL COMPLETE VERSION 4.0 */
.lang a{font-size:12px;font-weight:800}.lang a.active{border-bottom:2px solid var(--red);padding-bottom:3px}.lang b{border:0}
.t-logo-panel{height:220px;position:relative;background:linear-gradient(145deg,#f8fafc,#e7eef7);display:flex;align-items:center;justify-content:center;overflow:hidden}.t-logo-img{width:88%;height:88%;object-fit:contain!important}.t-logo-placeholder{font-weight:800;color:#718096}.event-hero-logo{background:linear-gradient(115deg,#002e5f,#07549a);padding:54px 0;color:#fff}.event-hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:42px;align-items:center}.event-hero-logo h1{font-size:clamp(38px,5vw,64px);line-height:1;margin:10px 0 16px}.event-logo-card{background:#fff;border-radius:18px;padding:20px;min-height:250px;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 35px #001d3b4d}.event-logo-card img{width:100%;height:220px;object-fit:contain}.participant-logo-grid,.guest-logo-grid,.partner-logo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.participant-card,.guest-card,.partner-card{background:#fff;border:1px solid #dce4ee;border-radius:12px;padding:16px;text-align:center;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.participant-logo,.participant-logo img,.guest-logo,.partner-card img{width:100%;height:92px;object-fit:contain}.participant-placeholder{display:flex;align-items:center;justify-content:center;background:#f3f6fa;color:#728096;border-radius:8px}.home-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.home-gallery-grid figure{margin:0;position:relative;overflow:hidden;border-radius:10px;background:#eef3f8}.home-gallery-grid img{width:100%;height:210px;object-fit:cover;display:block}.home-gallery-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:18px 12px 9px;color:#fff;background:linear-gradient(transparent,#0009);font-size:12px}.gallery-empty{padding:35px;border-radius:14px;background:#f3f7fb;border:1px dashed #b6c7d9;display:flex;flex-direction:column;gap:5px}.section-head-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.contact-card{background:#f3f7fb;border-left:5px solid var(--red);padding:20px;margin:0 0 25px;border-radius:8px}.legal-copy h2{margin-top:34px;font-size:25px}.legal-copy p,.legal-copy li{line-height:1.75}.sponsor-card .card-body{padding:16px}.sponsor-card img{width:100%;height:130px;object-fit:contain;background:#fff}.sponsor-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.t-meta-line{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.pill{display:inline-block;background:#eaf2fb;color:#073f79;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;line-height:1}.pill.ghost{background:#f3f5f8;color:#4a5f78}.t-body h3{min-height:52px}.home-guests h2,.home-gallery h2,.home-partners h2{font-size:34px}.private-note{line-height:1.5}.footer-logo img{background:#fff}
@media(max-width:900px){.event-hero-grid{grid-template-columns:1fr}.event-logo-card{max-width:430px}.home-gallery-grid{grid-template-columns:repeat(2,1fr)}.section-head-row{align-items:flex-start;flex-direction:column}.t-logo-panel{height:200px}}
@media(max-width:600px){.event-hero-logo{padding:40px 0}.event-logo-card{min-height:190px}.event-logo-card img{height:170px}.home-gallery-grid{grid-template-columns:1fr}.home-gallery-grid img{height:240px}.t-logo-panel{height:190px}.t-body h3{min-height:auto}}

/* bundled tournament logos always available even before Media Library import */
.t-logo-img,.event-logo-img,.archive-logo-img{display:block;width:100%;height:100%;object-fit:contain;background:#fff}.event-logo-card .event-logo-img{max-height:330px;object-fit:contain}.card .archive-logo-img{height:240px;object-fit:contain;padding:12px;background:#fff}


/* v4: strength visible directly on tournament card image */
.t-logo-panel{position:relative}
.level-ribbon{position:absolute;right:10px;top:12px;z-index:3;background:var(--red);color:#fff;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:900;box-shadow:0 3px 10px #001d3b33;max-width:55%;text-align:center;line-height:1.1}
@media(max-width:600px){.level-ribbon{right:8px;top:10px;font-size:11px;padding:7px 10px;max-width:58%}}


/* V5 — final tournament card layout: date/strength never overlap logos */
.t-card{display:flex;flex-direction:column;overflow:hidden}
.t-card-head{height:64px;background:#07509a;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 14px 9px 18px;position:relative;z-index:4}
.t-date{display:flex;flex-direction:column;line-height:1}.t-date small{font-size:10px;font-weight:900;letter-spacing:.4px}.t-date b{font-size:22px;margin-top:4px;white-space:nowrap}
.t-strength{background:var(--red);color:#fff;border:2px solid rgba(255,255,255,.85);border-radius:999px;padding:7px 12px;font-size:12px;font-weight:900;line-height:1;white-space:nowrap;box-shadow:0 2px 7px rgba(0,0,0,.14)}
.t-logo-panel{height:205px;position:relative;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:14px 18px;border-bottom:1px solid #edf1f5}
.t-logo-img{width:100%!important;height:100%!important;max-width:270px!important;max-height:178px!important;object-fit:contain!important;background:transparent!important}
.t-logo-placeholder{font-weight:800;color:#718096}
.t-body{display:flex;flex-direction:column;flex:1;padding:16px 18px 17px}
.t-body h3{min-height:48px;margin:0 0 10px;font-size:20px;line-height:1.15}
.t-meta-line{min-height:30px;margin-bottom:10px}.t-bottom{margin-top:auto}
/* Hide old overlay ribbons if any cached markup survives. */
.t-logo-panel .date-ribbon,.t-logo-panel .level-ribbon{display:none!important}
@media(max-width:900px){.t-card-head{height:61px}.t-logo-panel{height:200px}.t-logo-img{max-height:172px!important}}
@media(max-width:600px){.t-card-head{height:58px;padding:8px 11px 8px 14px}.t-date b{font-size:20px}.t-strength{font-size:11px;padding:6px 9px}.t-logo-panel{height:190px;padding:12px}.t-logo-img{max-height:166px!important}.t-body h3{min-height:auto}}
