/*
Theme Name: FSG Datteln Bork
Theme URI: https://www.fsg-datteln-bork.de/
Author: FSG Datteln Bork e.V.
Description: Block-Theme für die Flugsportgemeinschaft Datteln Bork e.V. Hell, rund, freundlich. Alle Bereiche sind als Block-Vorlagen (Patterns) im Editor verfügbar.
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4
Version: 1.1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: fsg-datteln-bork
*/

/* ---------- Grundlagen ---------- */
body{-webkit-font-smoothing:antialiased}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
.wp-site-blocks>main{margin-block-start:0}
.fsg-section{margin-block-start:0!important}

/* ---------- Header ---------- */
.fsg-header{padding-top:24px;padding-bottom:0;position:relative;z-index:20}
.fsg-navbar{background:#fff;border-radius:999px;padding:10px 12px 10px 24px!important;box-shadow:0 6px 24px rgba(29,58,110,.08);gap:16px}
.fsg-logo{margin:0!important;flex:none}
.fsg-logo img{height:52px!important;width:auto!important;display:block}
.fsg-nav{font-weight:600;font-size:16px;gap:6px!important}
.fsg-nav .wp-block-navigation-item__content{padding:10px 18px;border-radius:999px;color:var(--wp--preset--color--ink)}
.fsg-nav .wp-block-navigation-item__content:hover,.fsg-nav .current-menu-item>.wp-block-navigation-item__content{background:var(--wp--preset--color--sky-light);color:var(--wp--preset--color--navy)}
.fsg-nav .wp-block-navigation__responsive-container-open{width:48px;height:48px;border-radius:50%;background:var(--wp--preset--color--navy);color:#fff;align-items:center;justify-content:center}
@media (min-width:1024px){.fsg-nav .wp-block-navigation__responsive-container-open{display:none!important}}
@media (max-width:1023px){.fsg-navbar{justify-content:flex-start!important;gap:8px!important}.fsg-header-cta{order:2;margin-left:auto!important}.fsg-nav{order:3;flex:none!important}.fsg-nav .wp-block-navigation__responsive-container-open{display:flex!important}.fsg-nav .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}}
.fsg-nav .wp-block-navigation__responsive-container.is-menu-open{background:var(--wp--preset--color--offwhite)!important;padding:28px 20px}
.fsg-nav .is-menu-open .wp-block-navigation__responsive-container-content{padding-top:64px!important}
.fsg-nav .is-menu-open .wp-block-navigation-item{width:100%}
.fsg-nav .is-menu-open .wp-block-navigation-item__content{font-family:var(--wp--preset--font-family--bricolage);font-weight:700;font-size:28px!important;color:var(--wp--preset--color--navy);padding:16px 22px!important;width:100%}
.fsg-nav .is-menu-open .wp-block-navigation__responsive-container-close{width:48px;height:48px;border-radius:50%;background:var(--wp--preset--color--sky-light);display:flex;align-items:center;justify-content:center}
.fsg-header-cta{margin:0;flex:none}
.fsg-header-cta .wp-block-button__link{padding:14px 24px;font-size:16px}
@media (max-width:600px){.fsg-header-cta{display:none}.fsg-nav{margin-left:auto!important}.fsg-header{padding-top:14px}.fsg-navbar{padding:6px 6px 6px 16px!important}.fsg-logo img{height:40px!important}}

/* ---------- Hero ---------- */
.fsg-hero .wp-block-columns{gap:48px}
.fsg-collage{position:relative;min-height:540px}
.fsg-collage>.wp-block-image{margin:0}
.fsg-collage>.wp-block-image img{width:100%;height:100%;object-fit:cover;display:block}
.fsg-collage>.wp-block-image:nth-child(1){position:absolute;inset:0 0 40px 30px}
.fsg-collage>.wp-block-image:nth-child(2){position:absolute;left:0;bottom:0;width:220px;height:220px}
.fsg-collage>.wp-block-image:nth-child(2) img{border:8px solid var(--wp--preset--color--offwhite)}
.fsg-collage>.is-style-sticker{position:absolute;right:10px;top:10px;margin:0}
@media (max-width:781px){.fsg-collage{min-height:320px}.fsg-collage>.wp-block-image:nth-child(1){inset:0 0 24px 24px}.fsg-collage>.wp-block-image:nth-child(2){width:130px;height:130px}.fsg-collage>.is-style-sticker{width:92px!important;height:92px!important;font-size:15px!important;right:0;top:-6px}}

/* ---------- Bildstile ---------- */
.wp-block-image.is-style-wolke img{border-radius:58% 42% 48% 52%/46% 54% 46% 54%}
.wp-block-image.is-style-kreis img{border-radius:50%;aspect-ratio:1;object-fit:cover}
.wp-block-image.is-style-abgerundet img{border-radius:32px}
.wp-block-image.is-style-ecke img{border-radius:200px 32px 32px 32px}
@media (max-width:781px){.wp-block-image.is-style-ecke img{border-radius:28px 28px 28px 110px}}

/* ---------- Textstile ---------- */
p.is-style-badge{display:block;width:fit-content;background:var(--wp--preset--color--sun-light);color:#6b4a00;padding:8px 16px;border-radius:999px;font-weight:700;font-size:15px;line-height:1.3}
p.is-style-ueberzeile{font-weight:700;font-size:15px;letter-spacing:.08em;text-transform:uppercase;color:var(--wp--preset--color--sky)}
.has-navy-background-color p.is-style-ueberzeile{color:var(--wp--preset--color--sun)}
p.is-style-sticker{width:132px;height:132px;border-radius:50%;background:var(--wp--preset--color--sun);color:var(--wp--preset--color--navy);display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--wp--preset--font-family--bricolage);font-weight:800;font-size:22px;line-height:1.05;transform:rotate(10deg);padding:12px}
p.is-style-link-pfeil a{font-weight:700;text-decoration:none;border-bottom:2px solid var(--wp--preset--color--sun);padding-bottom:2px}

/* ---------- Buttons ---------- */
.wp-block-button.is-style-outline>.wp-block-button__link{padding:18px 30px;background:#fff;color:var(--wp--preset--color--navy);border:0;box-shadow:inset 0 0 0 2px var(--wp--preset--color--navy)}
.wp-block-button.is-style-outline>.wp-block-button__link:hover{background:var(--wp--preset--color--sky-light)}
.wp-block-button.is-style-sonne>.wp-block-button__link{background:var(--wp--preset--color--sun);color:var(--wp--preset--color--navy)}
.wp-block-button.is-style-sonne>.wp-block-button__link:hover{background:var(--wp--preset--color--sun-light)}
.wp-block-button.is-style-text>.wp-block-button__link{background:transparent;color:inherit;padding-left:12px;padding-right:12px;font-weight:600}
@media (max-width:600px){.fsg-hero .wp-block-buttons,.fsg-voucher .wp-block-buttons{flex-direction:column;align-items:stretch}.fsg-hero .wp-block-button__link,.fsg-voucher .wp-block-button__link{width:100%}}

/* ---------- Wellen ---------- */
.is-style-welle-oben,.is-style-welle-unten,.is-style-welle-beide{position:relative}
.is-style-welle-oben,.is-style-welle-beide{margin-top:clamp(28px,4vw,60px)!important}
.is-style-welle-unten,.is-style-welle-beide{margin-bottom:clamp(28px,4vw,60px)!important}
.is-style-welle-oben::before,.is-style-welle-beide::before,.is-style-welle-unten::after,.is-style-welle-beide::after{content:"";position:absolute;left:0;right:0;height:clamp(28px,4vw,60px);background-color:inherit;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1280 60' preserveAspectRatio='none'%3E%3Cpath d='M0,30 C213,60 427,0 640,30 C853,60 1067,0 1280,30 L1280,60 L0,60 Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1280 60' preserveAspectRatio='none'%3E%3Cpath d='M0,30 C213,60 427,0 640,30 C853,60 1067,0 1280,30 L1280,60 L0,60 Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;pointer-events:none}
.is-style-welle-oben::before,.is-style-welle-beide::before{bottom:calc(100% - 1px)}
.is-style-welle-unten::after,.is-style-welle-beide::after{top:calc(100% - 1px);transform:scaleY(-1)}

/* ---------- Über uns ---------- */
.fsg-about .wp-block-columns{gap:64px}
.fsg-mosaic{display:grid!important;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:16px;height:460px}
.fsg-mosaic>.wp-block-image{margin:0!important;min-height:0}
.fsg-mosaic>.wp-block-image img{width:100%;height:100%;object-fit:cover;display:block;border-radius:32px}
.fsg-mosaic>.wp-block-image:nth-child(1){grid-row:span 2}
.fsg-mosaic>.wp-block-image:nth-child(2) img{border-radius:32px 32px 32px 90px}
.fsg-mosaic>.wp-block-image:nth-child(3) img{border-radius:90px 32px 32px 32px}
@media (max-width:781px){.fsg-mosaic{height:auto;grid-template-rows:180px 150px}.fsg-mosaic>.wp-block-image:nth-child(1){grid-row:auto;grid-column:span 2}}
.is-style-karte{border-radius:24px;padding:22px}
.is-style-karte h3{font-size:20px;margin:0}
.is-style-karte p{font-size:15px;line-height:1.45;color:var(--wp--preset--color--muted);margin-top:6px}
.fsg-cards{gap:12px!important;margin-top:8px}

/* ---------- Gutschein ---------- */
.fsg-voucher{border-radius:40px;overflow:hidden;padding:28px}
.fsg-voucher>.wp-block-columns{gap:0;align-items:stretch!important}
.fsg-voucher .fsg-voucher-text{padding:36px!important;display:flex;flex-direction:column;justify-content:center}
.fsg-voucher h2{color:#fff}
.fsg-voucher p:not(.has-text-color){color:#d4e2f3}
.fsg-voucher .wp-block-image{margin:0;height:100%}
.fsg-voucher .wp-block-image img{width:100%;height:100%;min-height:360px;object-fit:cover}
@media (max-width:781px){.fsg-voucher{padding:12px!important;border-radius:30px}.fsg-voucher .fsg-voucher-text{padding:20px 12px 20px!important;order:2}.fsg-voucher .wp-block-image img{min-height:210px}}

/* ---------- Kontakt ---------- */
.fsg-contact .wp-block-columns{gap:40px}
.fsg-contact-item{background:#fff;border-radius:20px;padding:18px 22px 18px 78px!important;position:relative}
.fsg-contact-item::before{content:"";position:absolute;left:22px;top:50%;width:40px;height:40px;margin-top:-20px;border-radius:50%;background:var(--wp--preset--color--sky-light)}
.fsg-contact-item.is-sun::before{background:var(--wp--preset--color--sun-light)}
.fsg-contact-item p{margin:0!important}
.fsg-contact-item p:first-child{font-size:14px;color:#6a7690}
.fsg-contact-item p:last-child{font-weight:600;font-size:17px;overflow-wrap:anywhere}
.fsg-contact-list{gap:10px!important}
.fsg-map{position:relative;border-radius:40px;overflow:hidden;min-height:480px;height:100%;background:#e8f0e8}
.fsg-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media (max-width:781px){.fsg-map{min-height:280px;border-radius:28px}}

/* ---------- Footer ---------- */
.fsg-footer{padding-top:40px;padding-bottom:40px}
.fsg-footer a{color:#d4e2f3;text-decoration:none}
.fsg-footer a:hover{color:#fff}
.fsg-footer h4{color:#fff;font-family:var(--wp--preset--font-family--figtree);font-size:16px;font-weight:700;letter-spacing:0;margin-bottom:4px}
.fsg-footer p{font-size:16px;margin:0}
.fsg-footer .fsg-footer-links{gap:10px!important}
.fsg-footer-logo{background:#fff;border-radius:20px;padding:8px 14px;width:fit-content;margin:0 0 18px!important}
.fsg-footer-logo img{height:48px!important;width:auto!important;display:block}
.fsg-footer-bottom{border-top:1px solid #34548a;margin-top:40px!important;padding-top:20px;font-size:14px!important;color:#a9c3e4}

/* ---------- Unterseiten ---------- */
.fsg-page-head{padding-top:clamp(40px,6vw,72px);padding-bottom:clamp(24px,3vw,40px)}
.fsg-page-head:not(:has(.wp-block-post-title)),.fsg-page-head:has(.wp-block-post-title:empty){display:none}
.wp-block-post-content>.alignfull:first-child{margin-block-start:0}

/* ---------- v1.1 Bausteine ---------- */
.fsg-head{gap:16px}
.fsg-head>*{margin:0}
.fsg-split{gap:clamp(32px,5vw,64px)}
.fsg-split .wp-block-column>*+*{margin-top:20px}
.fsg-split .wp-block-image{margin:0}
.fsg-split .wp-block-image img{width:100%;max-height:560px;object-fit:cover}
.fsg-page-hero{padding-top:clamp(40px,5vw,72px)!important}
p.is-style-badge-blau{display:block;width:fit-content;background:var(--wp--preset--color--sky-light);color:var(--wp--preset--color--navy);padding:6px 14px;border-radius:999px;font-weight:700;font-size:14px;line-height:1.3}
.has-sky-light-background-color p.is-style-badge-blau{background:#fff}
p.is-style-zahl{font-family:var(--wp--preset--font-family--bricolage);font-weight:800;font-size:clamp(40px,5vw,60px);line-height:1;letter-spacing:-.03em;color:var(--wp--preset--color--navy)}
.fsg-facts{gap:24px!important}
.fsg-fact{gap:8px;border-top:3px solid var(--wp--preset--color--sun);padding-top:20px}
.fsg-fact>*{margin:0}
.fsg-fact p:last-child{font-size:16px;color:var(--wp--preset--color--muted);line-height:1.45}
.fsg-subhead{margin-top:48px!important;font-size:22px}
.fsg-people{gap:32px 24px!important;margin-top:24px!important}
.fsg-person{align-items:center!important;text-align:center;gap:6px}
.fsg-person>*{margin:0}
.fsg-person .wp-block-image img{width:160px;height:160px;object-fit:cover;border-radius:50%}
p.is-style-initialen{width:160px;height:160px;border-radius:50%;background:var(--wp--preset--color--sky-light);color:var(--wp--preset--color--navy);display:flex;align-items:center;justify-content:center;font-family:var(--wp--preset--font-family--bricolage);font-weight:800;font-size:44px}
.fsg-person h3{font-size:21px;margin-top:12px!important}
.fsg-person p.is-style-ueberzeile{font-size:13px}
.fsg-planes{gap:20px!important;margin-top:40px!important}
.fsg-plane{padding:12px 12px 20px;border-radius:28px}
.fsg-plane>*{margin:0}
.fsg-plane>*+*{margin-top:12px}
.fsg-plane>:not(.wp-block-image){margin-left:10px;margin-right:10px}
.fsg-plane .wp-block-image img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:20px;display:block}
.fsg-plane-meta{gap:10px;align-items:center}
.fsg-plane-meta>*{margin:0}
p.fsg-kz{font-size:14px;color:#6a7690;font-weight:600}
.fsg-plane h3{font-size:24px}
ul.is-style-daten{list-style:none;padding:0;font-size:15px}
ul.is-style-daten li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid #e3ebf4;color:var(--wp--preset--color--muted)}
ul.is-style-daten li strong{color:var(--wp--preset--color--navy);text-align:right}
.fsg-private{margin-top:20px!important;padding:32px;border-radius:28px}
.fsg-private>*{margin:0}
.fsg-private>*+*{margin-top:12px}
.fsg-chips{gap:8px!important;margin-top:16px!important}
.fsg-chips>*{margin:0}
.fsg-cta{border-radius:40px;padding:clamp(40px,6vw,72px) clamp(24px,5vw,64px)}
.fsg-cta>*{margin-left:auto;margin-right:auto}
.fsg-cta h2{color:#fff}
.fsg-cta p.is-style-ueberzeile{margin:0 auto;text-align:center}
.fsg-cta p:not(.has-text-color):not(.is-style-ueberzeile){color:#d4e2f3}
.fsg-cta .wp-block-buttons{justify-content:center}
.fsg-cta .is-style-text .wp-block-button__link{color:#fff}
.fsg-platz .fsg-cards{margin-top:20px}
