/*
Theme Name: Giengen 2027 - Wiedersehen
Description: Eigenstaendiges, responsives Theme fuer das 60er-Fest der Jahrgaenge 1966 und 1967 in Giengen an der Brenz. Blau und Gold, lokale Assets, barrierearme Bedienung.
Version: 1.0.0-rc1
Requires at least: 6.4
Requires PHP: 8.1
Author: Organisationsteam Giengen 66/67
License: GPL-2.0-or-later
Text Domain: giengen-2027
Tags: custom-logo, custom-menu, featured-images, wide-blocks, one-column
*/
:root{--navy:#153757;--navy-deep:#102d48;--blue:#285575;--gold:#f1c750;--paper:#fbf9f3;--ink:#203247;--muted:#566778;--line:#dbe0e2;--white:#fff;--radius:18px;--max:1240px;--body:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--display:Georgia,"Times New Roman",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.7;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:var(--navy);text-underline-offset:.2em}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #976700;outline-offset:4px}h1,h2,h3,h4{color:var(--navy);line-height:1.12;margin:0 0 1.2rem;font-weight:500}h1,h2{font-family:var(--display)}h1{font-size:clamp(2.8rem,6vw,5.2rem);letter-spacing:-.045em}h2{font-size:clamp(2.2rem,3.9vw,3.5rem);letter-spacing:-.035em}h3{font-size:1.5rem;font-weight:650}p{margin:0 0 1.2rem}ul,ol{padding-left:1.5rem}::selection{background:var(--gold);color:var(--navy)}.g27-wrap{width:min(var(--max),calc(100% - 80px));margin-inline:auto}.g27-kicker{display:block;color:var(--blue);text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;font-weight:750;margin-bottom:1.3rem}.g27-kicker:before{content:"";width:22px;height:2px;background:var(--gold);display:inline-block;vertical-align:middle;margin-right:10px}.g27-button{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-height:52px;padding:.82rem 1.35rem;background:var(--navy);border:2px solid var(--navy);border-radius:8px;color:#fff;text-decoration:none;font-weight:650;font-size:.96rem;line-height:1.3;transition:background .15s,transform .15s}.g27-button:hover{background:var(--blue);border-color:var(--blue);transform:translateY(-1px)}.g27-button-gold{background:var(--gold);color:var(--navy);border-color:var(--gold)}.g27-button-gold:hover{background:#f7d97b;border-color:#f7d97b}.g27-button-outline{background:transparent;color:var(--navy)}.g27-button-outline:hover{background:#e9eef0;color:var(--navy)}.g27-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:1.9rem}.g27-skip{position:absolute;left:15px;top:-100px;background:var(--gold);color:var(--navy);padding:15px;z-index:10000;font-weight:700}.g27-skip:focus{top:15px}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.g27-header{background:rgba(251,249,243,.98);border-bottom:1px solid var(--line);position:relative;z-index:20}.g27-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:98px}.g27-brand{display:flex;gap:13px;align-items:center;text-decoration:none;flex-shrink:0;color:var(--navy)}.g27-brand-tile{display:flex;align-items:center;justify-content:center;background:var(--navy);color:var(--gold);height:49px;width:49px;border-radius:10px;font-family:var(--display);font-size:32px;letter-spacing:-3px;padding-right:3px}.g27-brand-name{display:block;font-family:var(--display);font-size:26px;line-height:1.15;letter-spacing:-.02em}.g27-brand-sub{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;margin-top:5px;font-weight:650}.g27-brand-image{width:auto;max-width:190px;max-height:56px}.g27-nav{display:flex;align-items:center;gap:27px}.g27-nav ul{list-style:none;display:flex;align-items:center;gap:25px;padding:0;margin:0}.g27-nav li{margin:0}.g27-nav a:not(.g27-button){font-size:.86rem;font-weight:550;text-decoration:none;color:var(--ink);min-height:44px;display:flex;align-items:center}.g27-nav a:hover:not(.g27-button){text-decoration:underline}.g27-nav .g27-button{font-size:.85rem;min-height:44px;padding:.65rem 1rem}.g27-menu-toggle{display:none;background:transparent;border:1px solid var(--navy);border-radius:6px;min-height:44px;padding:.45rem .8rem;color:var(--navy);font-size:.88rem;font-weight:650}
.g27-hero{padding:74px 0 65px;overflow:hidden}.g27-hero-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:68px;align-items:center}.g27-hero-copy h1{max-width:730px}.g27-hero-copy h1 em{font-weight:400;color:var(--blue)}.g27-hero-lead{font-size:1.13rem;line-height:1.75;color:var(--muted);max-width:535px;margin-top:1.7rem}.g27-hero-date{display:flex;gap:13px;align-items:center;margin:2rem 0 0;color:var(--navy);font-size:1.06rem;font-weight:650}.g27-date-icon{width:44px;height:44px;border:1px solid #c3ced6;border-radius:9px;display:flex;align-items:center;justify-content:center;background:#fff}.g27-date-icon svg{width:23px;height:23px}.g27-hero-meta{display:flex;gap:20px;flex-wrap:wrap;margin-top:1.8rem;font-size:.77rem;color:var(--muted)}.g27-hero-meta span:before{content:"•";color:#927100;margin-right:7px}.g27-poster{min-height:515px;border-radius:24px;background:var(--navy);color:var(--gold);position:relative;padding:38px;isolation:isolate;box-shadow:0 19px 40px -25px #16314b80}.g27-poster:after{content:"";position:absolute;inset:16px;border:1px solid #81948345;border-radius:13px;z-index:-1}.g27-poster-top{display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:.17em;text-transform:uppercase;align-items:flex-start;color:#f4ecd1}.g27-poster-top strong{font-size:13px;line-height:1.45;letter-spacing:.05em;font-weight:600}.g27-sixty{display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:245px;line-height:.95;letter-spacing:-20px;font-weight:400;padding:30px 16px 14px 0;color:var(--gold);text-shadow:7px 9px 0 #0e2b4544}.g27-poster-line{height:1px;background:#bbc4aa50;margin-top:7px}.g27-poster-bottom{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-top:22px}.g27-poster-bottom span{font-family:var(--display);font-size:27px;line-height:1.2;color:#f7f3e7;font-style:italic}.g27-poster-bottom small{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#dce1d7;line-height:1.9;text-align:right}.g27-burst{position:absolute;right:-22px;top:83px;border-radius:50%;width:94px;height:94px;background:var(--gold);color:var(--navy);display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.4;font-size:11px;font-weight:700;letter-spacing:.025em;transform:rotate(10deg);border:6px solid var(--paper)}.g27-photo{position:relative;border-radius:24px;overflow:hidden;min-height:515px;background:var(--navy)}.g27-photo img{width:100%;height:515px;object-fit:cover}.g27-photo:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#102d48)}.g27-photo-label{position:absolute;left:30px;bottom:26px;color:#fff;z-index:2;font-family:var(--display);font-size:37px;line-height:1.15}
.g27-date-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f2efe6}.g27-date-band-inner{display:grid;grid-template-columns:1.15fr repeat(4,1fr);align-items:center}.g27-date-band-title{font-size:1rem;color:var(--navy);line-height:1.5;padding:25px 25px 25px 0}.g27-day{padding:23px 26px;border-left:1px solid #d5d9d7;display:flex;gap:14px;align-items:center}.g27-day strong{font-family:var(--display);font-size:39px;line-height:1;font-weight:400;color:var(--navy);letter-spacing:-.04em}.g27-day span{font-size:.76rem;line-height:1.7;color:var(--muted)}.g27-section{padding:86px 0}.g27-welcome{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}.g27-welcome p{color:var(--muted);font-size:1.02rem}.g27-note{margin-top:1.6rem;padding-top:1.5rem;border-top:1px solid var(--line);font-weight:600;color:var(--navy)!important;font-size:.91rem!important}.g27-how{background:#edf1f2;border-top:1px solid #e1e6e7;border-bottom:1px solid #e1e6e7}.g27-section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:2.7rem}.g27-section-heading h2{margin:0}.g27-section-heading>p{max-width:355px;font-size:.98rem;color:var(--muted);margin:0}.g27-step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.g27-step{background:var(--paper);border:1px solid #dce2e4;border-radius:14px;padding:29px;position:relative}.g27-step-number{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--gold);color:var(--navy);font-family:var(--display);font-size:24px;margin-bottom:24px}.g27-step h3{font-size:1.2rem;line-height:1.3}.g27-step p{font-size:.93rem;color:var(--muted);margin:0;line-height:1.7}.g27-program{background:#fff}.g27-program .gf-empty{background:var(--paper);border-style:solid;border-color:#e0e3df}.g27-program .gf-empty h3{font-family:var(--display);font-size:2rem;font-weight:400;letter-spacing:-.02em;color:var(--navy)}.g27-program .gf-empty p{font-size:1rem;max-width:750px;color:var(--muted);margin:0}.g27-program .gf-kicker{color:var(--blue);font-size:.72rem}.g27-program .gf-program-grid{margin-top:25px}.g27-program .gf-program-card h3{font-family:var(--display)}.g27-content-block{padding-bottom:60px}.g27-content-block:empty{display:none}.g27-contact-band{background:var(--navy-deep);color:#fff;padding:61px 0}.g27-contact-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.g27-contact-band .g27-kicker{color:#dae1e4}.g27-contact-band h2{color:#fff;font-size:clamp(2rem,3.3vw,3rem);margin-bottom:1rem}.g27-contact-band p{color:#d2dce2;margin:0;font-size:1rem;max-width:730px}.g27-contact-band .g27-button{flex-shrink:0}.g27-footer{background:#f1eee6;padding:38px 0 25px;font-size:.81rem;color:var(--muted)}.g27-footer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:40px}.g27-footer-brand{font-family:var(--display);font-size:24px;color:var(--navy);line-height:1.2;margin-bottom:.6rem}.g27-footer-links{display:flex;flex-wrap:wrap;gap:20px}.g27-footer-links a{text-decoration:none;color:var(--navy);display:inline-block;min-height:44px;padding-top:5px}.g27-footer-bottom{border-top:1px solid #d8dcd9;padding-top:20px;margin-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:.72rem}.g27-footer p{margin:0}.g27-page-head{padding:56px 0 32px}.g27-page-head h1{font-size:clamp(2.9rem,5vw,4.5rem);margin:0}.g27-page-body{padding:0 0 75px}.g27-prose{max-width:850px;overflow-wrap:anywhere}.g27-prose h2{font-size:2rem;line-height:1.3;margin-top:2.3rem}.g27-prose h3{margin-top:1.8rem}.g27-prose table{border-collapse:collapse;width:100%}.g27-prose th,.g27-prose td{border:1px solid var(--line);padding:.8rem;text-align:left}.g27-prose .alignwide{max-width:1100px}.g27-entry-card{padding:1.8rem;background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:1.4rem}.g27-entry-card h2{font-size:2rem}.g27-meta{color:var(--muted);font-size:.87rem}.g27-event-meta{display:flex;gap:15px;flex-wrap:wrap;margin:0 0 2rem}.g27-event-meta span{border:1px solid var(--line);padding:.5rem .8rem;background:#fff;border-radius:7px;font-size:.91rem}.g27-404{padding:90px 0}.g27-404 h1{font-size:4rem}.wp-caption{max-width:100%}.wp-caption-text,.gallery-caption{font-size:.85rem;color:var(--muted)}.sticky{border-color:var(--gold)}.bypostauthor{font-weight:600}.alignleft{float:left;margin:0 1.5rem 1rem 0}.alignright{float:right;margin:0 0 1rem 1.5rem}.aligncenter{margin-inline:auto}.wp-block-image img{height:auto}.g27-prose:after{content:"";display:block;clear:both}
@media(min-width:1440px){.g27-hero-copy h1{font-size:5.2rem}}
@media(max-width:1100px){.g27-wrap{width:calc(100% - 48px)}.g27-nav{gap:17px}.g27-nav ul{gap:15px}.g27-hero-grid{gap:35px;grid-template-columns:1.25fr 1fr}.g27-poster{padding:30px;min-height:460px}.g27-sixty{font-size:210px;padding-top:30px}.g27-hero-copy h1{font-size:4.1rem}.g27-welcome{gap:55px}.g27-date-band-inner{grid-template-columns:1fr repeat(4,1fr)}.g27-day{padding-inline:17px;gap:10px}.g27-day strong{font-size:33px}}
@media(max-width:900px){.g27-header-inner{min-height:83px;flex-wrap:wrap;padding-block:15px}.g27-menu-toggle{display:block}.g27-nav{width:100%;display:block;padding-bottom:8px}.g27-nav ul{display:block}.g27-nav a:not(.g27-button){padding:.5rem 0;min-height:44px}.g27-nav .g27-button{margin-top:8px}.js .g27-nav[data-open=false]{display:none}.g27-hero{padding:45px 0}.g27-hero-grid{grid-template-columns:1fr 1fr;gap:27px}.g27-hero-copy h1{font-size:3.5rem}.g27-hero-lead{font-size:1rem}.g27-poster{min-height:417px;padding:28px}.g27-sixty{font-size:185px;padding-top:30px}.g27-poster-bottom span{font-size:23px}.g27-burst{width:80px;height:80px;right:-13px;font-size:10px}.g27-poster-top{font-size:9px;gap:15px}.g27-hero-date{font-size:.95rem}.g27-hero-meta{display:none}.g27-section{padding:65px 0}.g27-step-grid{gap:16px}.g27-step{padding:23px}.g27-date-band-title{font-size:.85rem}.g27-day{padding:20px 12px}.g27-day span{font-size:.7rem}.g27-day strong{font-size:29px}.g27-section-heading{display:block}.g27-section-heading>p{margin-top:1.2rem;max-width:none}}
@media(max-width:680px){body{font-size:17px}.g27-wrap{width:calc(100% - 36px)}.g27-brand-name{font-size:23px}.g27-brand-tile{width:44px;height:44px;font-size:29px}.g27-brand-sub{font-size:9px}.g27-hero{padding:34px 0 40px}.g27-hero-grid{grid-template-columns:1fr;gap:36px}.g27-kicker{font-size:.64rem;letter-spacing:.13em;margin-bottom:1.1rem}.g27-hero-copy h1{font-size:clamp(3rem,11vw,4.2rem);max-width:100%}.g27-hero-lead{margin-top:1.3rem;font-size:1.01rem}.g27-hero-date{margin-top:1.4rem}.g27-actions{gap:10px;margin-top:1.4rem}.g27-actions .g27-button{font-size:.88rem;padding:.8rem 1rem;flex:1}.g27-poster{min-height:370px;padding:29px;max-width:440px;width:100%;margin-inline:auto}.g27-sixty{font-size:190px;padding:20px 14px 3px 0;line-height:1}.g27-poster-top{font-size:10px}.g27-poster-bottom{margin-top:16px}.g27-poster-bottom span{font-size:23px}.g27-burst{top:68px;right:-5px}.g27-photo,.g27-photo img{min-height:360px;height:360px}.g27-date-band-inner{grid-template-columns:repeat(4,1fr)}.g27-date-band-title{grid-column:1/-1;padding:17px 0 5px;text-align:center}.g27-day{border-left:0;display:block;text-align:center;padding:17px 2px}.g27-day strong{display:block;font-size:32px;margin-bottom:5px}.g27-day span{font-size:.68rem}.g27-section{padding:48px 0}.g27-welcome{grid-template-columns:1fr;gap:10px}.g27-welcome h2{margin-bottom:1rem}.g27-welcome p{font-size:.96rem}.g27-step-grid{grid-template-columns:1fr}.g27-step{padding:24px;display:grid;grid-template-columns:44px 1fr;gap:0 16px}.g27-step-number{grid-row:span 2;margin:0}.g27-step h3{font-size:1.12rem;margin:0 0 .55rem}.g27-step p{grid-column:2;font-size:.91rem}.g27-section-heading{margin-bottom:1.8rem}.g27-contact-inner{display:block}.g27-contact-band{padding:45px 0}.g27-contact-band .g27-button{margin-top:1.5rem}.g27-footer{padding:30px 0 24px}.g27-footer-top{display:block}.g27-footer-links{margin-top:16px;gap:18px}.g27-footer-bottom{display:block}.g27-footer-bottom span{display:block;margin-top:6px}.g27-page-head{padding:38px 0 26px}.g27-page-head h1{font-size:2.9rem}.g27-page-body{padding-bottom:45px}.g27-prose h2{font-size:1.8rem}.g27-event-meta{gap:8px}.g27-404 h1{font-size:3rem}}
@media print{.g27-header,.g27-footer,.g27-contact-band,.g27-button,.g27-menu-toggle{display:none!important}body{background:#fff;color:#000;font-size:12pt}.g27-wrap{width:100%}.g27-page-head{padding-top:0}.g27-page-head h1{font-size:28pt}.g27-page-body{padding-bottom:0}a{color:#000}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
