/*
Theme Name: LSG Bocholt
Theme URI: https://www.lsg-bocholt.de
Author: LSG Bocholt e.V.
Description: Modernes Aviation-Theme für die Luftsportgruppe Bocholt e.V.
Version: 1.1
License: GNU General Public License v2 or later
Text Domain: lsg-bocholt
*/

/* ===== RESET & BASE ===== */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Open Sans',sans-serif;background:#0a1628 !important;color:#fff;overflow-x:hidden;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;height:auto;}

/* ===== ANNOUNCE BAR ===== */
.lsg-announce{background:#1a3a6e;text-align:center;padding:10px 20px;font-size:13px;color:#cde;letter-spacing:.02em;}
.lsg-announce a{color:#7ec8ff;}
.lsg-announce a:hover{text-decoration:underline;}

/* ===== NAVBAR ===== */
.lsg-navbar{
  position:sticky;top:0;z-index:999;
  background:rgba(10,22,40,.97);
  backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(255,255,255,.07);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 40px;height:64px;
}
.lsg-brand{
  display:flex;align-items:center;gap:12px;
  font-family:'Montserrat',sans-serif;font-weight:700;font-size:15px;color:#fff;
  flex-shrink:0;
}

/* WordPress wraps nav in a div.menu-* — target the ul directly */
.lsg-navbar nav > div > ul,
.lsg-navbar > ul,
.lsg-navbar .menu {
  display:flex !important;
  flex-direction:row !important;
  align-items:center;
  list-style:none;
  margin:0;padding:0;
}
.lsg-navbar nav > div > ul > li,
.lsg-navbar > ul > li,
.lsg-navbar .menu > li {
  position:relative;
  display:block;
}
.lsg-navbar nav > div > ul > li > a,
.lsg-navbar > ul > li > a,
.lsg-navbar .menu > li > a {
  display:block;
  padding:0 14px;
  line-height:64px;
  font-size:12px;font-weight:600;
  color:#cde;
  letter-spacing:.05em;text-transform:uppercase;
  transition:color .2s;
  white-space:nowrap;
}
.lsg-navbar nav > div > ul > li > a:hover,
.lsg-navbar nav > div > ul > li.current-menu-item > a,
.lsg-navbar .menu > li > a:hover,
.lsg-navbar .menu > li.current-menu-item > a { color:#7ec8ff; }

/* Dropdowns */
.lsg-navbar .sub-menu {
  display:none;
  position:absolute;top:64px;left:0;
  background:#0d1f3c;
  border:1px solid rgba(255,255,255,.1);
  min-width:220px;border-radius:6px;
  padding:8px 0;
  box-shadow:0 12px 40px rgba(0,0,0,.5);
  animation:lsg-fd .15s ease;
  list-style:none;
  z-index:1000;
}
@keyframes lsg-fd{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.lsg-navbar li:hover > .sub-menu { display:block; }
.lsg-navbar .sub-menu li a {
  display:block;padding:10px 20px;
  font-size:13px;color:#9bbcd4;
  transition:background .15s,color .15s;
}
.lsg-navbar .sub-menu li a:hover{background:rgba(255,255,255,.06);color:#fff;}

/* ===== HERO ===== */
.lsg-hero{
  position:relative;
  height:100vh;min-height:560px;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
  background:#0a1628;
}
.lsg-hero-bg{
  position:absolute;inset:0;
  background:linear-gradient(160deg,#0a1628 0%,#0d3060 40%,#1a5a8a 80%,#0a2040 100%);
  z-index:0;
}
.lsg-hero-bg.has-image{background-size:cover;background-position:center;}
.lsg-hero-bg.has-image::after{content:'';position:absolute;inset:0;background:rgba(10,22,40,.6);}
.lsg-cloud{position:absolute;border-radius:50%;background:rgba(255,255,255,.05);z-index:1;}
.lsg-c1{width:600px;height:200px;top:20%;left:-100px;animation:lsg-drift 18s linear infinite;}
.lsg-c2{width:400px;height:150px;top:40%;right:-80px;animation:lsg-drift 24s linear infinite reverse;}
.lsg-c3{width:300px;height:100px;top:60%;left:20%;animation:lsg-drift 14s linear infinite;}
@keyframes lsg-drift{from{transform:translateX(0)}to{transform:translateX(60px)}}
.lsg-glider{position:absolute;top:28%;left:-120px;z-index:1;animation:lsg-fly 14s ease-in-out infinite;opacity:.7;}
@keyframes lsg-fly{
  0%{transform:translateX(0) translateY(0) rotate(-3deg);opacity:0}
  10%{opacity:.7}90%{opacity:.7}
  100%{transform:translateX(calc(100vw + 200px)) translateY(-60px) rotate(-3deg);opacity:0}
}
.lsg-hero-content{
  position:relative;z-index:2;
  text-align:center;padding:0 20px;
  animation:lsg-hi 1s ease forwards;
}
@keyframes lsg-hi{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
.lsg-hero-label{
  font-size:11px;letter-spacing:.3em;text-transform:uppercase;
  color:#7ec8ff;margin-bottom:20px;font-weight:600;display:block;
}
.lsg-hero-title{
  font-family:'Montserrat',sans-serif;
  font-size:clamp(30px,6vw,68px);font-weight:900;line-height:1.05;
  margin-bottom:24px;color:#fff;
}
.lsg-hero-title .accent{color:#7ec8ff;}
.lsg-hero-quote{
  font-size:15px;color:rgba(255,255,255,.6);
  max-width:560px;margin:0 auto 8px;
  line-height:1.8;font-style:italic;font-weight:300;
}
.lsg-hero-attr{font-size:12px;color:rgba(255,255,255,.35);margin-bottom:36px;}
.lsg-hero-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.lsg-scroll-hint{
  position:absolute;bottom:32px;left:50%;
  transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:8px;
  animation:lsg-bounce 2s ease infinite;opacity:.5;z-index:2;
}
@keyframes lsg-bounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(8px)}}
.lsg-scroll-hint span{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#fff;}

/* ===== BUTTONS ===== */
.btn-primary,.wp-block-button__link{
  background:#1a6bbf;color:#fff !important;
  padding:14px 32px;border-radius:4px;
  font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  border:none;cursor:pointer;display:inline-block;
  transition:background .2s,transform .15s;
}
.btn-primary:hover,.wp-block-button__link:hover{background:#2280dd;transform:translateY(-2px);}
.btn-outline{
  background:transparent;color:#fff;
  padding:14px 32px;border-radius:4px;
  font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  border:1.5px solid rgba(255,255,255,.4);
  cursor:pointer;display:inline-block;
  transition:border-color .2s,transform .15s;
}
.btn-outline:hover{border-color:#fff;transform:translateY(-2px);}

/* ===== PAGE HEADER (inner pages) ===== */
.lsg-page-header{
  background:linear-gradient(160deg,#0a1628 0%,#0d2a50 60%,#0a1628 100%);
  padding:80px 40px 60px;text-align:center;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.lsg-page-header .lsg-label{
  display:block;font-size:11px;letter-spacing:.3em;
  text-transform:uppercase;color:#7ec8ff;font-weight:600;margin-bottom:12px;
}
.lsg-page-header h1{
  font-family:'Montserrat',sans-serif;
  font-size:clamp(28px,5vw,52px);font-weight:900;color:#fff;
}
.lsg-page-header h1 .accent{color:#7ec8ff;}
.lsg-page-header .subtitle{
  font-size:16px;color:rgba(255,255,255,.5);
  max-width:600px;margin:16px auto 0;line-height:1.8;font-weight:300;
}

/* ===== SECTIONS ===== */
.lsg-section{
  padding:70px 40px;max-width:1100px;margin:0 auto;
  opacity:0;transform:translateY(20px);
  transition:opacity .6s,transform .6s;
}
.lsg-section.visible{opacity:1;transform:translateY(0);}
.lsg-label{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:#7ec8ff;font-weight:600;margin-bottom:12px;display:block;}
.lsg-title{font-family:'Montserrat',sans-serif;font-size:clamp(22px,3.5vw,38px);font-weight:800;margin-bottom:14px;color:#fff;}
.lsg-sub{font-size:15px;color:rgba(255,255,255,.55);max-width:650px;line-height:1.8;margin-bottom:36px;font-weight:300;}
.lsg-divider{border:none;border-top:1px solid rgba(255,255,255,.07);margin:0 40px;}

/* ===== CARDS ===== */
.lsg-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:36px;}
.lsg-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:30px 26px;transition:transform .2s,background .2s,border-color .2s;}
.lsg-card:hover{transform:translateY(-6px);background:rgba(30,90,160,.25);border-color:rgba(126,200,255,.3);}
.lsg-card-icon{font-size:26px;margin-bottom:14px;display:block;}
.lsg-card h3{font-family:'Montserrat',sans-serif;font-size:17px;font-weight:700;margin-bottom:10px;color:#fff;}
.lsg-card p{font-size:14px;color:rgba(255,255,255,.5);line-height:1.7;}
.lsg-card a.lsg-card-link{display:inline-block;margin-top:18px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#7ec8ff;}

/* ===== STEPS ===== */
.lsg-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-top:28px;}
.lsg-step{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:24px 20px;text-align:center;transition:transform .2s,border-color .2s;}
.lsg-step:hover{transform:translateY(-4px);border-color:rgba(126,200,255,.25);}
.lsg-step-num{font-family:'Montserrat',sans-serif;font-size:30px;font-weight:900;color:#7ec8ff;opacity:.35;margin-bottom:10px;}
.lsg-step h4{font-size:14px;font-weight:700;color:#fff;margin-bottom:8px;}
.lsg-step p{font-size:13px;color:rgba(255,255,255,.4);line-height:1.6;}

/* ===== AIRCRAFT ===== */
.lsg-aircraft-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:28px;}
.lsg-aircraft-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:24px 20px;transition:transform .2s,border-color .2s;}
.lsg-aircraft-card:hover{transform:translateY(-4px);border-color:rgba(126,200,255,.2);}
.lsg-aircraft-card .icon{font-size:22px;margin-bottom:12px;}
.lsg-aircraft-card h4{font-family:'Montserrat',sans-serif;font-size:15px;font-weight:700;color:#fff;margin-bottom:6px;}
.lsg-aircraft-card p{font-size:12px;color:rgba(255,255,255,.4);line-height:1.6;}

/* ===== PRICING ===== */
.lsg-pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:28px;}
.lsg-pricing-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:28px 24px;transition:transform .2s;}
.lsg-pricing-card:hover{transform:translateY(-4px);}
.lsg-pricing-card.featured{border-color:rgba(126,200,255,.4);background:rgba(30,90,160,.2);}
.lsg-price-label{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#7ec8ff;margin-bottom:8px;font-weight:600;}
.lsg-price-value{font-family:'Montserrat',sans-serif;font-size:32px;font-weight:900;color:#fff;margin-bottom:4px;}
.lsg-price-value small{font-size:14px;font-weight:400;color:rgba(255,255,255,.4);}
.lsg-pricing-card p{font-size:13px;color:rgba(255,255,255,.5);line-height:1.7;margin-top:12px;}

/* ===== INFO BOXES ===== */
.lsg-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:28px;}
.lsg-info-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:28px 24px;}
.lsg-info-card h4{font-family:'Montserrat',sans-serif;font-size:15px;font-weight:700;color:#fff;margin-bottom:12px;}
.lsg-info-card p{font-size:14px;color:rgba(255,255,255,.5);line-height:1.8;}

/* ===== WHY LIST ===== */
.lsg-why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:28px;}
.lsg-why-item{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:10px;transition:transform .2s,border-color .2s;}
.lsg-why-item:hover{transform:translateY(-3px);border-color:rgba(126,200,255,.2);}
.lsg-why-dot{width:8px;height:8px;border-radius:50%;background:#7ec8ff;margin-top:5px;flex-shrink:0;}
.lsg-why-item p{font-size:14px;color:rgba(255,255,255,.6);line-height:1.7;}

/* ===== AUSBILDUNG ===== */
.lsg-ausb-block{margin-bottom:44px;}
.lsg-ausb-block h3{font-family:'Montserrat',sans-serif;font-size:19px;font-weight:700;color:#7ec8ff;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid rgba(126,200,255,.15);}
.lsg-ausb-block p{font-size:15px;color:rgba(255,255,255,.6);line-height:1.9;margin-bottom:12px;}

/* ===== CONTACT ===== */
.lsg-contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;margin-top:28px;}
.lsg-contact-info h3{font-family:'Montserrat',sans-serif;font-size:18px;font-weight:700;color:#fff;margin-bottom:20px;}
.lsg-contact-item{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px;}
.lsg-contact-item .ci-icon{font-size:18px;margin-top:2px;}
.lsg-contact-item p{font-size:14px;color:rgba(255,255,255,.55);line-height:1.7;}
.lsg-contact-item strong{color:#fff;display:block;margin-bottom:4px;}
.lsg-form-box{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:32px;}
.lsg-form-box h3{font-family:'Montserrat',sans-serif;font-size:18px;font-weight:700;color:#fff;margin-bottom:24px;}
.lsg-form-group{margin-bottom:18px;}
.lsg-form-group label{display:block;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:8px;}
.lsg-form-group input,.lsg-form-group textarea,.lsg-form-group select{width:100%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:12px 16px;font-size:14px;color:#fff;font-family:'Open Sans',sans-serif;outline:none;transition:border-color .2s;}
.lsg-form-group input:focus,.lsg-form-group textarea:focus{border-color:rgba(126,200,255,.5);}
.lsg-form-group textarea{resize:vertical;min-height:120px;}
.lsg-form-group select option{background:#0d1f3c;}
.wpcf7 input[type="text"],.wpcf7 input[type="email"],.wpcf7 textarea{width:100%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:12px 16px;font-size:14px;color:#fff;margin-bottom:16px;outline:none;}
.wpcf7 input[type="submit"]{background:#1a6bbf;color:#fff;border:none;padding:14px 32px;border-radius:4px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;}

/* ===== CONTENT AREA (default pages) ===== */
.lsg-content-area{max-width:1100px;margin:0 auto;padding:70px 40px;}
.lsg-content-area h1,.lsg-content-area h2,.lsg-content-area h3{font-family:'Montserrat',sans-serif;font-weight:700;margin-bottom:16px;color:#fff;}
.lsg-content-area h1{font-size:clamp(28px,4vw,46px);color:#7ec8ff;}
.lsg-content-area h2{font-size:clamp(22px,3vw,34px);}
.lsg-content-area h3{font-size:20px;color:#7ec8ff;padding-bottom:10px;border-bottom:1px solid rgba(126,200,255,.15);}
.lsg-content-area p{font-size:15px;color:rgba(255,255,255,.6);line-height:1.9;margin-bottom:20px;}
.lsg-content-area ul,.lsg-content-area ol{margin:0 0 20px 24px;}
.lsg-content-area li{font-size:15px;color:rgba(255,255,255,.6);line-height:1.8;margin-bottom:8px;}
.lsg-content-area a{color:#7ec8ff;}
.lsg-content-area a:hover{text-decoration:underline;}
.lsg-content-area img{border-radius:8px;margin:20px 0;}
.lsg-content-area blockquote{border-left:3px solid #7ec8ff;padding:16px 24px;background:rgba(255,255,255,.04);border-radius:0 8px 8px 0;margin:24px 0;font-style:italic;color:rgba(255,255,255,.6);}

/* ===== FOOTER ===== */
.lsg-footer{background:#060e1c;border-top:1px solid rgba(255,255,255,.07);padding:48px 40px 32px;}
.lsg-footer-inner{max-width:1100px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px;margin-bottom:40px;}
.lsg-footer-brand h3{font-family:'Montserrat',sans-serif;font-size:16px;font-weight:800;margin-bottom:8px;color:#fff;}
.lsg-footer-brand p{font-size:13px;color:rgba(255,255,255,.4);max-width:260px;line-height:1.7;}
.lsg-footer-col h4{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#7ec8ff;margin-bottom:16px;}
.lsg-footer-col ul{list-style:none;}
.lsg-footer-col ul li{margin-bottom:10px;}
.lsg-footer-col ul li a{font-size:13px;color:rgba(255,255,255,.5);transition:color .15s;}
.lsg-footer-col ul li a:hover{color:#fff;}
.lsg-footer-bottom{max-width:1100px;margin:0 auto;padding-top:24px;border-top:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:12px;color:rgba(255,255,255,.3);}
.lsg-footer-bottom a{color:rgba(255,255,255,.4);margin-left:16px;}
.lsg-footer-bottom a:hover{color:#fff;}

/* ===== RESPONSIVE ===== */
@media(max-width:900px){
  .lsg-navbar{padding:0 16px;}
  .lsg-navbar nav>div>ul,.lsg-navbar .menu{display:none !important;}
  .lsg-section{padding:50px 20px;}
  .lsg-page-header{padding:60px 20px 40px;}
  .lsg-footer{padding:40px 20px 24px;}
  .lsg-contact-grid{grid-template-columns:1fr;}
}
