/*
Theme Name: Posaunenchor Nieder-Ofleiden – 100 Jahre (Editor)
Description: Elementor-optimiertes WordPress-Theme für das 100-jährige Jubiläum des Ev. Posaunenchors Nieder-Ofleiden 1927–2027.
Version: 3.1.0
*/
:root{--green:#004D2A;--green2:#003B20;--green3:#002F1A;--gold:#C7962C;--gold2:#E2BD61;--gold-dark:#9A6D12;--cream:#F7F1E3;--cream2:#FFFDF7;--text:#172019;--white:#fff;--line:#ddd3bf}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--text);font-family:"Source Sans 3","Source Sans Pro",Arial,sans-serif;font-size:17px;line-height:1.65}h1,h2,h3,h4,h5,h6{font-family:"Playfair Display",Georgia,serif;color:var(--green);line-height:1.15}a{color:var(--green)}.site-header{background:var(--green3);color:#fff;position:sticky;top:0;z-index:20;box-shadow:0 3px 18px rgba(0,0,0,.18)}.nav-wrap{max-width:1320px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:12px 24px}.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-family:"Playfair Display",Georgia,serif;font-size:18px;line-height:1.05}.brand-mark{width:50px;height:50px;object-fit:contain}.menu{display:flex;gap:26px;list-style:none;margin:0;padding:0;align-items:center}.menu a{color:#fff;text-decoration:none;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.menu a:hover,.menu .current-menu-item a{color:var(--gold2)}.container{max-width:1200px;margin:auto;padding:0 24px}.p100-hero{background-color:var(--cream)!important}.p100-hero .wp-block-cover__inner-container{width:100%}.p100-hero-columns{padding:50px 24px}.p100-hero-logo img{max-height:500px;width:auto}.p100-display{font-size:68px!important;color:var(--green)!important;margin-bottom:10px}.p100-subtitle{font-family:"Playfair Display",Georgia,serif;font-size:29px;color:var(--gold)}.p100-gold-rule{border-top:2px solid var(--gold)!important;width:150px;margin-left:0!important;margin-right:0!important}.p100-features{background:var(--green2);color:#fff;padding:30px 24px}.p100-features h3{color:var(--gold2);font-size:20px;margin:0}.p100-features p{margin-top:5px}.p100-events{background:var(--cream2);padding:65px 24px}.p100-events h2{font-size:40px;text-align:center}.p100-event-grid{gap:12px}.p100-event-card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:22px 14px;min-height:285px;text-align:center;box-shadow:0 8px 24px rgba(56,43,21,.06);display:flex;flex-direction:column}.p100-event-icon{font-size:38px;color:var(--gold);margin:0 0 8px}.p100-event-date{font-size:14px;margin:0 0 10px}.p100-event-card h3{font-size:20px}.p100-event-card .wp-block-buttons{margin-top:auto}.wp-block-button__link{background:var(--green);border-radius:4px;color:#fff!important;font-weight:700}.p100-split{margin:0!important}.p100-green-panel{background:linear-gradient(135deg,var(--green),var(--green2));color:#fff;padding:55px 7%}.p100-green-panel h2{color:var(--gold2)}.p100-light-panel{background:var(--cream);padding:55px 7%}.p100-light-panel h2{color:var(--gold-dark)}.p100-panel-inner{max-width:580px;margin:auto}.p100-green-panel .wp-block-button__link{background:var(--gold);color:#172019!important}.footer{background:var(--green3);color:#fff}.footer-grid{display:grid;grid-template-columns:1.2fr 1.2fr 1fr 1fr;gap:40px;padding:48px 24px}.footer h3{color:var(--gold2);font-size:18px}.footer a,.footer p{color:#fff;font-size:14px}.footer-logo{width:140px;background:#fff;border-radius:8px}.copyright{background:var(--gold);color:#fff;text-align:center;padding:10px;font-size:13px}.page-title{padding:55px 0 25px}.page-title h1{font-size:52px}.content-page .wp-block-group,.content-page .wp-block-columns{max-width:1200px;margin-left:auto;margin-right:auto}.wp-block-button__link:hover{opacity:.9}@media(max-width:1050px){.menu{gap:14px}.p100-display{font-size:54px!important}.p100-event-grid{flex-wrap:wrap}.p100-event-grid>.wp-block-column{flex-basis:30%!important}}@media(max-width:760px){.nav-wrap{flex-direction:column;gap:12px}.menu{flex-wrap:wrap;justify-content:center}.p100-hero-columns{flex-direction:column}.p100-display{font-size:45px!important}.p100-subtitle{font-size:23px}.p100-event-grid>.wp-block-column{flex-basis:100%!important}.p100-split{display:block}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:480px){.footer-grid{grid-template-columns:1fr}}
.p100-ticket-info{background:var(--cream);border-left:4px solid var(--gold);padding:18px;margin:25px 0}.p100-ticket-form{max-width:760px;background:#fff;padding:30px;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 25px rgba(0,0,0,.06)}.p100-ticket-form label{display:block;font-weight:700;margin:14px 0 6px}.p100-ticket-form input,.p100-ticket-form textarea{width:100%;padding:12px;border:1px solid #ccc;border-radius:6px;font:inherit}.p100-ticket-form button{margin-top:18px;border:0;padding:12px 22px;background:var(--green);color:#fff;border-radius:4px;cursor:pointer}.p100-form-note{font-size:13px;opacity:.75}.p100-notice{padding:15px;border-radius:7px;margin:20px 0}.p100-success{background:#e9f5e9;border:1px solid #9bc79b}.p100-error{background:#fff0f0;border:1px solid #d9aaaa}

/* Elementor compatibility */
.p100-elementor-page { width: 100%; margin: 0; padding: 0; }
.elementor-page .site-content,
.elementor-editor-active .site-content { max-width: none; }
.elementor-page .container { max-width: 1180px; margin-inline: auto; }
.elementor-widget-button .elementor-button,
.elementor a.elementor-button { background: var(--p100-gold, #C7962C); color: #fff; border-radius: 4px; }
.elementor-widget-button .elementor-button:hover,
.elementor a.elementor-button:hover { background: #9A6D12; color: #fff; }
.elementor-widget-heading .elementor-heading-title { font-family: 'Playfair Display', Georgia, serif; }
.elementor-widget-text-editor,
.elementor-widget-icon-list,
.elementor-widget-nav-menu { font-family: 'Source Sans 3', Arial, sans-serif; }

/* Elementor editor preview: keep the site's spacing predictable */
.elementor-section.elementor-section-boxed > .elementor-container { max-width: 1180px; }

/* Full Elementor canvas support */
body.elementor-page { background: #FFFDF7; }
body.elementor-page .site-content { padding: 0; }
body.elementor-page .site-content > .elementor { width: 100%; }
body.elementor-page .elementor-section-wrap { width: 100%; }
.p100-elementor-hero .elementor-widget-image img { display:block; margin:auto; }
.p100-event-card .elementor-widget-button { margin-top: 12px; }
.p100-event-card .elementor-widget-text-editor p { margin: 0 0 8px; }
@media (max-width: 767px) {
  .p100-elementor-hero .elementor-heading-title { font-size: 42px !important; }
  .p100-elementor-hero .elementor-column { width: 100% !important; }
  .p100-event-card { margin-bottom: 12px; }
}
