/*
Theme Name: MK Hawangen Bordeaux
Author: Musikkapelle Hawangen
Description: Individuelles responsives Theme mit Konzertmeister und Smash Balloon Integration.
Version: 1.10.0
Requires at least: 6.0
Text Domain: mkhawangen
*/
:root{--wine:#581f28;--dark:#35141b;--rose:#a65c60;--cream:#faf7f2;--ink:#302529}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 system-ui,-apple-system,Segoe UI,sans-serif}h1,h2,h3{font-family:Georgia,serif;line-height:1.12;font-weight:400}h1{font-size:clamp(3rem,7vw,7rem);margin:14px 0}h2{font-size:clamp(2.3rem,4.5vw,4.5rem);margin:8px 0 20px}h3{font-size:1.6rem}a{color:inherit}img{max-width:100%;display:block}.wrap{width:min(1160px,90%);margin:auto}.site-header{position:sticky;top:0;z-index:50;background:#faf7f2f5;border-bottom:1px solid #e8dbd5;backdrop-filter:blur(12px)}.nav{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--dark);font-family:Georgia,serif;font-size:1.22rem}.brand img{width:54px;height:54px;object-fit:contain}.links{display:flex;align-items:center;gap:24px}.links a{text-decoration:none;font-size:.91rem}.links a:hover{color:var(--rose)}.menu{display:none;border:0;background:none;font-size:1.7rem;color:var(--wine);cursor:pointer}.hero{min-height:720px;display:flex;align-items:center;color:white;position:relative;background:linear-gradient(90deg,rgba(30,10,16,.88),rgba(30,10,16,.52),rgba(30,10,16,.15)),url('assets/gruppe.jpg') center 45%/cover}.hero .wrap{padding:110px 0}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.77rem;font-weight:700}.hero p{max-width:620px;font-size:1.2rem}.button{display:inline-flex;padding:14px 24px;border-radius:3px;background:var(--wine);color:white;text-decoration:none;font-weight:600;border:1px solid var(--wine);margin:12px 12px 0 0}.button.light{background:var(--cream);color:var(--wine);border-color:var(--cream)}.button.outline{background:transparent;color:inherit;border-color:currentColor}.section{padding:100px 0}.intro{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.intro img{width:100%;height:440px;object-fit:cover}.muted{color:#756b6d}.wine{background:var(--wine);color:white}.wine .muted{color:#ebd9da}.calendar{background:white;color:#302529;padding:20px;border-radius:8px;min-height:360px;margin-top:32px}.calendar iframe{width:100%;min-height:460px;border:0}.section-head{max-width:740px;margin-bottom:35px}.registers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.register{margin:0;overflow:hidden;background:white;box-shadow:0 5px 25px #35141b0b}.register img{width:100%;height:230px;object-fit:cover;transition:transform .4s}.register:hover img{transform:scale(1.045)}.register figcaption{padding:16px 20px;font-family:Georgia,serif;font-size:1.35rem}.instagram-box{padding:24px;background:#fff;border:1px solid #e8dcd8;border-radius:8px}.instagram-box .sbi_follow_btn a,.instagram-box #sbi_load .sbi_load_btn{background:var(--wine)!important;border-radius:4px!important}.insta-placeholder{padding:45px 15px;text-align:center;background:#f4ece8;color:var(--dark)}.mountain{min-height:380px;background:linear-gradient(90deg,#35141b99,#35141b22),url('assets/berge.jpeg') center/cover;display:flex;align-items:center;color:white}.mountain h2{max-width:650px}.board-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.board-item{padding:26px;background:white;border-top:3px solid var(--wine)}.contact{background:var(--dark);color:white;text-align:center}.footer{background:#241217;color:#eee0dc;padding:32px 0}.footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px}.footer a{margin-left:16px}.standard-page{min-height:60vh;padding:70px 0}.standard-page .entry-content{max-width:850px}.screen-reader-text{position:absolute;left:-10000px}@media(max-width:850px){.menu{display:block}.links{display:none;position:absolute;top:84px;left:0;right:0;background:var(--cream);padding:24px 5%;flex-direction:column;align-items:flex-start;box-shadow:0 12px 20px #0001}.links.open{display:flex}.hero{min-height:610px}.intro{grid-template-columns:1fr}.registers{grid-template-columns:repeat(2,1fr)}.board-grid{grid-template-columns:1fr 1fr}}@media(max-width:550px){.section{padding:65px 0}.registers,.board-grid{grid-template-columns:1fr}.hero{min-height:600px}.hero .wrap{padding:75px 0}.intro img{height:290px}.brand{font-size:1rem}.brand img{width:45px;height:45px}.footer a{margin-left:0;margin-right:15px}}

/* Konzertmeister event cards, with the original iframe as safe fallback */
.km-event-list{display:grid;gap:14px;margin-top:32px}.km-event-card{display:flex;align-items:center;gap:22px;padding:22px 26px;background:#fffaf6;color:#37191f;border-radius:10px;box-shadow:0 4px 20px #220b1220}.km-date{flex:0 0 92px;display:flex;flex-direction:column;align-items:center;border-right:1px solid #e7d6d2;padding-right:20px;color:#642331}.km-date strong{font:normal 3rem/1 Georgia,serif}.km-date span{font-size:.72rem;letter-spacing:.08em;font-weight:700;margin-top:8px}.km-event-content{flex:1;min-width:0}.km-event-content h3{font:600 1.32rem/1.25 system-ui,sans-serif;margin:0 0 7px}.km-event-content p{margin:0;font-size:.88rem;color:#765b60}.km-event-arrow{font-size:1.5rem;color:#642331}.km-fallback{min-height:0}.km-fallback iframe{min-height:300px}@media(max-width:550px){.km-event-card{gap:12px;padding:17px 14px}.km-date{flex-basis:69px;padding-right:12px}.km-date strong{font-size:2.4rem}.km-event-content h3{font-size:1.06rem}.km-event-arrow{display:none}}

.km-event-content a{color:#642331;text-decoration:underline;text-underline-offset:3px}.km-event-arrow{text-decoration:none}.km-event-arrow:hover{opacity:.65}.km-separator{margin:0 3px}

/* v1.4: display the complete intro image without cropping */
.intro img{height:auto;max-height:none;object-fit:contain;object-position:center}
@media(max-width:550px){.intro img{height:auto}}

/* v1.5: display entire group photo, never crop its left or right edges. */
.intro > img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:2048 / 998;object-fit:contain;object-position:center;min-width:0}
/* The mountain section uses the same full photograph. Maintain its aspect ratio
   and use a dark letterbox on narrower screens rather than cropping people. */
.mountain{position:relative;min-height:0;aspect-ratio:2048 / 998;background-image:linear-gradient(90deg,rgba(53,20,27,.62),rgba(53,20,27,.12)),url('assets/berge.jpeg');background-color:var(--dark);background-size:100% 100%;background-position:center;background-repeat:no-repeat;padding:50px 0}
.mountain .wrap{position:relative;z-index:1}
.board-item h3{font-size:1.55rem;font-weight:700;color:var(--wine);margin:0 0 8px}
.board-item p{font-size:.95rem;color:#746267;margin:0}
@media(max-width:850px){.mountain{aspect-ratio:auto;min-height:430px;background-size:contain;background-image:linear-gradient(90deg,rgba(53,20,27,.35),rgba(53,20,27,.1)),url('assets/berge.jpeg')}}
@media(max-width:550px){.mountain{min-height:360px;padding:50px 0}.mountain h2{font-size:clamp(2rem,8vw,3rem)}.intro > img{height:auto;max-height:none}}

/* v1.6: full original landscape image, no fixed-height crop */
.intro > img{width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;display:block!important;}

/* v1.7: real responsive image instead of background cropping; full rows visible. */
.mountain{position:relative;display:grid;align-items:center;min-height:0!important;aspect-ratio:auto!important;padding:0!important;background:none!important;overflow:hidden;isolation:isolate}
.mountain-photo{grid-area:1/1;display:block;width:100%;height:auto!important;max-height:none!important;object-fit:contain!important;position:relative;z-index:0}
.mountain-shade{grid-area:1/1;align-self:stretch;justify-self:stretch;background:linear-gradient(90deg,rgba(53,20,27,.65),rgba(53,20,27,.10));z-index:1;pointer-events:none}
.mountain>.wrap{grid-area:1/1;z-index:2;padding:30px 0;position:relative}
@media(max-width:850px){.mountain{min-height:0!important}.mountain>.wrap{padding:20px 0}.mountain h2{font-size:clamp(1.45rem,4vw,3rem)}}
@media(max-width:550px){.mountain{min-height:0!important}.mountain>.wrap{padding:12px 0}.mountain h2{font-size:clamp(1rem,4.5vw,1.6rem);max-width:65%;margin:6px 0}.mountain .eyebrow{font-size:.55rem;letter-spacing:.1em}}

/* v1.8: more breathing room and a larger, uncropped group photo. */
#ueber-uns.section{padding-top:145px;padding-bottom:145px}
#ueber-uns .intro{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:5%;align-items:center}
#ueber-uns .intro>img{width:100%!important;height:auto!important;max-width:100%;object-fit:contain!important}
@media(max-width:850px){#ueber-uns.section{padding-top:95px;padding-bottom:95px}#ueber-uns .intro{grid-template-columns:1fr;gap:35px}}
@media(max-width:550px){#ueber-uns.section{padding-top:75px;padding-bottom:75px}}

/* v1.9.1: keep short About heading on one line on desktop. */
@media(min-width:851px){#ueber-uns .intro h2{font-size:clamp(2rem,3.25vw,3.15rem);white-space:nowrap;letter-spacing:-.025em}}
@media(max-width:850px){#ueber-uns .intro h2{font-size:clamp(2rem,6vw,3.2rem)}}

/* Bordeaux Kontaktseite 1.9.2 */
.mkh-contact-page{padding:clamp(55px,7vw,105px) 0 110px}
.mkh-contact-heading{max-width:780px;margin-bottom:60px}
.mkh-contact-heading h1{font-size:clamp(4rem,9vw,7.5rem);line-height:1.02;margin:14px 0 22px}
.mkh-contact-heading p{font-size:1.15rem;max-width:580px;color:#756b6d}
.mkh-contact-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(32px,6vw,90px);align-items:center}
.mkh-contact-details{padding:20px 0}
.mkh-contact-details h2{font-size:clamp(2.5rem,4.8vw,4.6rem);overflow-wrap:anywhere;margin:18px 0 8px}
.mkh-contact-role{color:#7a5559;font-size:1.05rem;margin:0 0 35px}
.mkh-contact-info{display:grid;gap:20px;margin:28px 0}
.mkh-contact-info span{font-size:.76rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:#806d70}
.mkh-contact-info p{font-size:1.07rem;margin:5px 0 0}
.mkh-contact-info a,.mkh-contact-association a{text-underline-offset:4px}
.mkh-contact-photo{min-height:400px;background:#eee3dd;border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.mkh-contact-photo img{width:100%;height:520px;object-fit:cover;object-position:center 24%}
.mkh-photo-placeholder{padding:40px;text-align:center;color:#7d6b6b}
.mkh-contact-association{margin-top:90px;padding:35px 0;border-top:1px solid #dfd0c9;display:grid;grid-template-columns:1fr 1fr;gap:35px}
.mkh-contact-association p{font-size:1.05rem;margin:12px 0}
@media(max-width:760px){.mkh-contact-page{padding:55px 0 65px}.mkh-contact-heading{margin-bottom:35px}.mkh-contact-layout{grid-template-columns:1fr}.mkh-contact-photo{min-height:280px;max-width:550px}.mkh-contact-photo img{height:420px}.mkh-contact-association{grid-template-columns:1fr;margin-top:50px}}

/* 1.9.3: About heading matches Insights heading typography. */
#ueber-uns .intro h2{font-size:clamp(2.3rem,4.5vw,4.5rem);white-space:normal;letter-spacing:normal}
@media(max-width:850px){#ueber-uns .intro h2{font-size:clamp(2.3rem,4.5vw,4.5rem)}}

/* 1.9.4: Equal visual typography for About and Insights. */
#ueber-uns .intro h2, #einblicke .section-head h2 {font-size:clamp(2.3rem,4.5vw,4.5rem);line-height:1.12;font-weight:400;letter-spacing:normal;}
#ueber-uns .intro h2 {white-space:normal;max-width:none;}

/* Einheitliche Abschnittsüberschriften – Version 1.9.5 */
#ueber-uns h2.mkh-section-heading, #einblicke h2.mkh-section-heading, #termine h2.mkh-section-heading {font-family:Georgia,serif!important;font-size:clamp(2.3rem,4.5vw,4.5rem)!important;line-height:1.12!important;font-weight:400!important;letter-spacing:normal!important;white-space:normal!important;}

/* Datenschutz: identische Bordeaux-Typografie und Farbwelt, gut lesbarer Rechtstext */
.mkh-privacy-page{padding:clamp(55px,7vw,105px) 0 110px}
.mkh-privacy-heading{max-width:850px;margin-bottom:55px}
.mkh-privacy-heading h1{font-size:clamp(3.4rem,8vw,7rem);line-height:1.04;margin:14px 0 18px}
.mkh-privacy-content{max-width:850px;background:#fff;padding:clamp(25px,5vw,65px);border-top:4px solid var(--wine);box-shadow:0 8px 36px #35141b0a;overflow-wrap:anywhere}
.mkh-privacy-content h2{font-size:clamp(1.65rem,3vw,2.35rem);margin:42px 0 16px;color:var(--wine);line-height:1.2}
.mkh-privacy-content h2:first-child{margin-top:0}
.mkh-privacy-content h3{font-size:1.35rem;margin:30px 0 12px;color:var(--dark)}
.mkh-privacy-content p,.mkh-privacy-content li{line-height:1.85}
.mkh-privacy-content a{color:var(--wine);text-underline-offset:3px}
.mkh-privacy-content ul{padding-left:1.4rem}
@media(max-width:550px){.mkh-privacy-page{padding:55px 0 70px}.mkh-privacy-heading{margin-bottom:32px}}

/* v1.9.9 – markante Bordeaux-Balken auf der Datenschutzseite */
.mkh-privacy-content{border-top:12px solid var(--wine)}
.mkh-privacy-content h2{display:block;background:var(--wine);color:#fff!important;padding:18px 24px;margin:44px -24px 22px;font-family:Georgia,serif;font-size:clamp(1.45rem,2.5vw,2rem);font-weight:400;line-height:1.25;overflow-wrap:break-word}
.mkh-privacy-content h2:first-child{margin-top:0}
.mkh-privacy-content h2 + p{margin-top:0}
@media(max-width:700px){.mkh-privacy-content h2{margin-left:-16px;margin-right:-16px;padding:15px 16px;font-size:clamp(1.3rem,5vw,1.75rem)}}

/* v1.9.9 – Impressum im selben Bordeaux-Layout wie die Datenschutzseite.
   Alte Textabschnitte ohne H2 bleiben editierbar und werden nicht automatisch umgeschrieben. */
.mkh-imprint-content h2{display:block;background:var(--wine);color:#fff!important;padding:18px 24px;margin:44px -24px 22px;font-family:Georgia,serif;font-size:clamp(1.45rem,2.5vw,2rem);font-weight:400;line-height:1.25;overflow-wrap:break-word}
.mkh-imprint-content h2:first-child{margin-top:0}
@media(max-width:700px){.mkh-imprint-content h2{margin-left:-16px;margin-right:-16px;padding:15px 16px;font-size:clamp(1.3rem,5vw,1.75rem)}}
