/*
Theme Name: CSD Göttingen
Theme URI: https://csd-goettingen.de/
Author: CSD Göttingen
Description: Responsives WordPress-Theme für den CSD Göttingen. Enthält Startseite, Eventseiten, Mitmachen, Awareness, Spenden und Vereinsseiten.
Version: 3.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: csd-goettingen
*/


:root{--ink:#171228;--muted:#625b72;--paper:#fff;--soft:#f7f4fb;--violet:#5d2ab5;--violet2:#2f126f;--pink:#ec2f83;--green:#1f9d67;--orange:#f28d35;--blue:#3575db;--line:#e9e2f1;--shadow:0 18px 50px rgba(34,16,61,.10);--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(1180px,calc(100% - 36px));margin:auto}.section{padding:82px 0}.soft{background:var(--soft)}.eyebrow{display:inline-flex;gap:.45rem;align-items:center;font-size:.77rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--violet)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(3rem,7vw,6rem);line-height:.93;letter-spacing:-.055em;margin-bottom:22px}h2{font-size:clamp(2rem,4.5vw,3.6rem);line-height:1;letter-spacing:-.045em;margin-bottom:16px}h3{font-size:1.25rem;line-height:1.2}.lead{font-size:clamp(1.05rem,2vw,1.28rem);max-width:760px;color:var(--muted)}
nav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border-bottom:1px solid rgba(233,226,241,.9)}.nav-inner{height:74px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px;font-weight:950;letter-spacing:-.03em}.brand-mark{width:46px;height:46px;border-radius:14px;background:conic-gradient(from 180deg,#e72f77,#f17f31,#f4ce35,#39a86b,#3980d8,#7b41bd,#e72f77);display:grid;place-items:center;color:#fff;font-size:1.3rem;box-shadow:0 8px 20px rgba(78,33,137,.2)}.brand small{display:block;font-size:.62rem;letter-spacing:.13em;color:var(--muted)}.nav-links{display:flex;align-items:center;gap:18px;font-size:.9rem;font-weight:780}.nav-links a:hover,.nav-links a.active{color:var(--violet)}.menu{display:none;border:0;background:none;font-size:1.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:13px 18px;border-radius:999px;font-weight:850;border:1px solid transparent;transition:.2s;cursor:pointer}.btn:hover{transform:translateY(-2px)}.btn.primary{background:linear-gradient(135deg,var(--pink),#ff5b78);color:#fff;box-shadow:0 12px 24px rgba(236,47,131,.24)}.btn.violet{background:var(--violet);color:#fff}.btn.ghost{border-color:#d8cce8;background:#fff}.hero{min-height:690px;display:grid;align-items:end;color:#fff;position:relative;overflow:hidden;background:linear-gradient(115deg,rgba(20,9,42,.92),rgba(48,13,91,.62) 50%,rgba(14,9,31,.3)),url('https://images.unsplash.com/photo-1566127444979-b3d2b654e3d7?auto=format&fit=crop&w=2000&q=85') center/cover}.hero:after,.page-hero:after{content:"";position:absolute;inset:auto 0 0;height:12px;background:linear-gradient(90deg,#e72f77 0 16.6%,#f17f31 16.6% 33.2%,#f4ce35 33.2% 49.8%,#39a86b 49.8% 66.4%,#3980d8 66.4% 83%,#7b41bd 83%)}.hero-content{position:relative;z-index:2;padding:110px 0 80px}.hero .eyebrow{color:#fff;background:rgba(236,47,131,.95);padding:8px 13px;border-radius:999px;margin-bottom:20px}.hero p{max-width:720px;font-size:1.2rem;color:rgba(255,255,255,.9)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.hero .btn.ghost{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.38)}
.page-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#1b1332,#4f1d86 62%,#8c267b);color:#fff;padding:108px 0 88px}.page-hero .eyebrow{color:#fff}.page-hero p{color:#e5dced;max-width:760px;font-size:1.18rem}.breadcrumb{font-size:.85rem;color:#d7c9e5;margin-bottom:20px}.breadcrumb a{color:#fff}.grid{display:grid;gap:18px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.g5{grid-template-columns:repeat(5,1fr)}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 10px 30px rgba(40,19,72,.04)}.card .icon{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;font-size:1.35rem;margin-bottom:24px;background:#f4edf9}.card p{color:var(--muted)}.link{font-weight:850;color:var(--violet)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:34px}.section-head p{max-width:620px;margin:0;color:var(--muted)}.notice{background:#fff5fa;border:1px solid #f6c8dd;border-left:5px solid var(--pink);border-radius:18px;padding:22px 24px}.info{background:#f2edfb;border:1px solid #ddd0f2;border-radius:18px;padding:22px 24px}.checklist{list-style:none;padding:0;margin:0}.checklist li{padding:10px 0 10px 30px;border-bottom:1px solid var(--line);position:relative}.checklist li:before{content:'✓';position:absolute;left:0;color:var(--green);font-weight:950}.timeline{border-left:3px solid #e7dcf4;margin-left:10px;padding-left:28px}.timeline .item{position:relative;margin-bottom:28px}.timeline .item:before{content:'';position:absolute;left:-36px;top:6px;width:13px;height:13px;border-radius:50%;background:var(--pink);box-shadow:0 0 0 5px #fff}.tag{display:inline-block;padding:6px 10px;border-radius:999px;background:#f2edfb;color:var(--violet);font-size:.78rem;font-weight:850}.safety{background:linear-gradient(135deg,#1b1332 0,#33166f 55%,#741c7f 100%);color:#fff}.safety .lead,.safety .card p{color:#ddd6e7}.safety .card{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.14);box-shadow:none}.form{display:grid;gap:16px}.form label{font-weight:800;font-size:.92rem}.form input,.form textarea,.form select{width:100%;padding:14px 15px;border:1px solid #dcd2e7;border-radius:14px;font:inherit;background:#fff}.form textarea{min-height:140px;resize:vertical}.split{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:start}.donate-box{background:#fff;border:1px solid var(--line);border-radius:28px;padding:34px;box-shadow:var(--shadow)}.amounts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:24px 0}.amount{padding:18px 10px;border:1px solid #dfd5ea;border-radius:16px;text-align:center;font-weight:900}.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:240px 240px;gap:14px}.gallery div{border-radius:20px;background-size:cover;background-position:center}.gallery div:nth-child(1){grid-row:1/3;background-image:url('https://images.unsplash.com/photo-1574717024653-61fd2cf4d44d?auto=format&fit=crop&w=1200&q=80')}.gallery div:nth-child(2){background-image:url('https://images.unsplash.com/photo-1519671482749-fd09be7ccebf?auto=format&fit=crop&w=900&q=80')}.gallery div:nth-child(3){background-image:url('https://images.unsplash.com/photo-1501386761578-eac5c94b800a?auto=format&fit=crop&w=900&q=80')}.gallery div:nth-child(4){background-image:url('https://images.unsplash.com/photo-1492684223066-81342ee5ff30?auto=format&fit=crop&w=900&q=80')}.gallery div:nth-child(5){background-image:url('https://images.unsplash.com/photo-1529139574466-a303027c1d8b?auto=format&fit=crop&w=900&q=80')}.cta{background:linear-gradient(135deg,#f7effb,#fff4f8);border:1px solid #eadcf3;border-radius:30px;padding:42px;display:flex;justify-content:space-between;align-items:center;gap:24px}.cta h2{font-size:clamp(2rem,4vw,3.2rem);margin-bottom:8px}
footer{background:#1b1235;color:#eee;padding:60px 0 26px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:36px}.footer-grid h3{font-size:.95rem;color:#fff}.footer-grid a{display:block;color:#cfc7dc;font-size:.91rem;margin:8px 0}.footer-bottom{margin-top:42px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;color:#a99fba;font-size:.82rem}
@media(max-width:980px){.nav-links{display:none;position:absolute;top:74px;left:0;right:0;background:#fff;padding:20px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.nav-links.open{display:flex}.menu{display:block}.g4,.g5{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:260px 180px 180px}.gallery div:nth-child(1){grid-row:auto;grid-column:1/3}}
@media(max-width:640px){.wrap{width:min(100% - 24px,1180px)}.section{padding:62px 0}.g2,.g3,.g4,.g5{grid-template-columns:1fr}.page-hero{padding:86px 0 72px}.hero{min-height:620px}.hero-content{padding:90px 0 70px}.section-head{align-items:flex-start;flex-direction:column}.amounts{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr;grid-template-rows:repeat(5,210px)}.gallery div:nth-child(1){grid-column:auto}.cta{align-items:flex-start;flex-direction:column;padding:28px}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:8px}}


/* WordPress additions */
.current-menu-item>a,.current_page_item>a{color:var(--violet)}
.wp-block-image img{border-radius:var(--radius)}
.admin-bar nav{top:32px}@media(max-width:782px){.admin-bar nav{top:46px}}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.custom-logo{max-height:54px;width:auto}.custom-logo-link{display:flex;align-items:center}.form .check{display:flex;align-items:flex-start;gap:10px}.form .check input{width:auto;margin-top:5px}.form-status{min-height:1.5em;font-weight:800}.form-status.is-success{color:#167a4f}.form-status.is-error{color:#b42318}.form-status.is-loading{color:var(--violet)}.csd-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}.social-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.social-links a{display:inline-flex!important;padding:8px 12px;border:1px solid rgba(255,255,255,.2);border-radius:999px}

/* v1.4 migration-safe hero and icon fixes */
.hero{align-items:center;min-height:700px}
.hero-content{padding:72px 0 78px}
.admin-bar .hero-content{padding-top:72px}
.csd-icon{font-size:0!important;position:relative}
.csd-icon:before{font-size:1rem;font-weight:950;line-height:1;letter-spacing:0;color:var(--violet)}
.csd-icon-demo:before{content:"D"}.csd-icon-fest:before{content:"F"}.csd-icon-program:before{content:"P"}.csd-icon-access:before{content:"A"}
.csd-icon-people:before{content:"O"}.csd-icon-help:before{content:"H"}.csd-icon-heart:before{content:"+"}.csd-icon-shield:before{content:"S"}.csd-icon-stand:before{content:"ST"}.csd-icon-team:before{content:"T"}.csd-icon-phone:before{content:"SOS"}
@media(max-width:640px){.hero{min-height:650px;align-items:center}.hero-content{padding:64px 0 70px}}

/* v1.5: robust hero positioning and encoding-independent icons */
.hero{min-height:720px;align-items:center}
.hero-content{padding:72px 0 76px}
.hero-content h1{margin-top:0}
.csd-svg-icon{width:24px;height:24px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.card .icon .csd-svg-icon{width:25px;height:25px;color:var(--violet)}
.btn .csd-svg-icon{width:17px;height:17px}
@media(max-width:640px){.hero{min-height:680px;align-items:center}.hero-content{padding:62px 0 66px}}

/* v3.0 modern editor frontend icons */
.csd-editor-svg{display:inline-flex;width:1.15em;height:1.15em;align-items:center;justify-content:center;vertical-align:-.18em}
.csd-editor-svg svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.card .icon .csd-editor-svg{width:26px;height:26px;color:var(--violet)}
.btn .csd-editor-svg{width:17px;height:17px}
