/* Core layout (lightweight, plays nice with theme) */
.smg-desc-compact p{ margin: 0 0 .55rem 0; }
.smg-desc-compact--small{ font-size: .95em; }

/* USP box */
.smg-usp{ display:flex; gap:.75rem; align-items:flex-start; padding:.9rem 1rem; border-radius:12px; background: rgba(17, 77, 130, .08); border:1px solid rgba(17, 77, 130, .18); margin: .75rem 0 1rem; }
.smg-usp__icon{ font-size: 1.1rem; line-height:1.2; }
.smg-usp__title{ font-weight:700; }
.smg-usp__sub{ opacity:.85; font-size:.95em; margin-top:.15rem; }

/* Feature grid */
.smg-features{ display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:.75rem; margin: 0 0 1rem; }
@media (max-width: 760px){ .smg-features{ grid-template-columns: 1fr; } }
.smg-feature{ display:flex; gap:.75rem; padding:.85rem .9rem; border-radius:14px; background:#fff; border:1px solid rgba(0,0,0,.08); box-shadow: 0 6px 18px rgba(0,0,0,.05); }
.smg-feature__icon{ width:34px; height:34px; display:flex; align-items:center; justify-content:center; border-radius:10px; background: rgba(17, 77, 130, .08); }
.smg-feature__title{ font-weight:700; line-height:1.2; }
.smg-feature__text{ font-size:.95em; opacity:.9; margin-top:.15rem; }

/* Small note */
.smg-note-small{ font-size:.9em; opacity:.8; margin: .25rem 0 1rem; }

/* Admin tabs */
.smg-tab{ display:none; }
.smg-tab.smg-tab-active{ display:block; }
.smg-course-box{ background:#fff; border:1px solid #e6e6e6; border-radius:10px; padding:10px 14px; margin: 14px 0; }
.smg-muted{ opacity:.7; }

/* Hero (header image) */
.smg-funk-hero{ position:relative; border-radius:26px; overflow:hidden; background:#0b2233; background-size:cover; background-position:center; min-height:280px; margin: 0 auto 18px; }
.smg-funk-hero__overlay{ display:none; }
.smg-funk-hero__badge{ position:absolute; right:18px; bottom:18px; max-width:140px; height:auto; border-radius:16px; box-shadow: 0 10px 28px rgba(0,0,0,.18); }
.smg-funk-hero__inner{ position:absolute; left:18px; top:18px; max-width: 620px; padding:14px 16px; border-radius:18px; background: rgba(255,255,255,.78); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); box-shadow: 0 10px 28px rgba(0,0,0,.10); }
.smg-funk-hero__title{ margin:0 0 .25rem 0; font-weight:800; letter-spacing:-.02em; line-height:1.1; font-size: clamp(1.35rem, 2.4vw, 2.15rem); }
.smg-funk-hero__subtitle{ margin:0; opacity:.95; font-size:1rem; line-height:1.35; }
.smg-funk-hero__subtitle p{ margin: .35rem 0 0 0; }
@media (max-width: 760px){
  .smg-funk-hero{ min-height:220px; border-radius:22px; }
  .smg-funk-hero__inner{ left:12px; top:12px; right:12px; max-width:none; }
  .smg-funk-hero__badge{ right:12px; bottom:12px; max-width:110px; }
}

/* ===== Funkkurse – Layout-Tuning (kompakter & "Wettbewerbsniveau") ===== */

/* Hero größer + Text höher */
.smg-funk-hero{min-height:420px;padding:28px 22px;}
@media (max-width: 980px){.smg-funk-hero{min-height:320px;padding:22px 16px;}}
@media (max-width: 600px){.smg-funk-hero{min-height:260px;padding:18px 14px;}}

/* Weniger "Luft" in Beschreibungen */
.smg-desc-compact p{margin:0 0 .28rem;line-height:1.38;}
.smg-desc-compact--small p{margin:0 0 .22rem;line-height:1.36;font-size:.95rem;}

/* Überschriften kleiner */
.smg-card__title{font-size:1.12rem;line-height:1.25;margin:0;}
.smg-card__title--h3{font-size:1.02rem;line-height:1.25;margin:.1rem 0 .25rem;}

/* Richtext Headings im Kurs-Text */
.smg-rt-h2{font-size:1.05rem;line-height:1.25;margin:.75rem 0 .28rem;}
.smg-rt-h3{font-size:.98rem;line-height:1.25;margin:.6rem 0 .22rem;}
.smg-rt p{margin:0 0 .22rem;}
.smg-rt-list{margin:.2rem 0 .55rem 1.1rem;}
.smg-rt-list li{margin:.12rem 0;}

/* USP-Kasten */
.smg-usp{margin:10px 0 12px;}

/* FKN Callout wieder klar abgesetzt */
.smg-callout{background:#fff7e6;border:1px solid rgba(245,158,11,.25);border-radius:14px;padding:12px 14px;margin:12px 0;}
.smg-callout strong{display:inline-block;margin-right:6px;}

/* Booking: Termin + Preis + Jetzt buchen in einer Reihe */
.smg-datepick{margin-top:14px;}
.smg-datepick__row{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap;}
.smg-datepick__field{flex:1 1 340px;min-width:260px;}
.smg-datepick__label{display:block;font-size:.78rem;font-weight:700;letter-spacing:.01em;margin:0 0 6px;opacity:.85;}
.smg-datepick__select{width:100%;height:46px;border-radius:12px;padding:0 12px;}

/* Preis als "Button" */
.smg-datepick__pricebtn{height:46px;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:8px 12px;border-radius:12px;border:1px solid rgba(15,23,42,.16);background:#f8fafc;min-width:165px;}
.smg-datepick__pricebtn-main{font-weight:800;line-height:1.1;}
.smg-datepick__pricebtn-sub{font-size:.72rem;line-height:1.1;opacity:.75;white-space:nowrap;}

/* Buchungs-Button gleiche Höhe */
.smg-datepick__book{height:46px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:0 16px;white-space:nowrap;}

/* CTA (Anfragen) klein darunter */
.smg-datepick__below{margin-top:10px;}
.smg-datepick__ask{height:40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;}

/* Service/Hinweis kleiner & kompakter */
.smg-meta{margin-top:10px;font-size:.86rem;line-height:1.35;}
.smg-meta__row{margin:4px 0;}

/* Auf sehr schmalen Screens: Preis/Book unter Termin */
@media (max-width: 520px){
  .smg-datepick__field{flex:1 1 100%;min-width:0;}
  .smg-datepick__pricebtn{flex:1 1 48%;min-width:0;}
  .smg-datepick__book{flex:1 1 48%;}
  .smg-datepick__pricebtn-sub{white-space:normal;}
}


/* === v5.0.4 compact + UI polish overrides === */
.smg-funk-nav{display:flex;gap:.55rem;flex-wrap:wrap;margin:12px 0 18px;}
.smg-navchip{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.55rem .85rem;border-radius:999px;
  background: rgba(17,77,130,.08);
  border:1px solid rgba(17,77,130,.18);
  text-decoration:none !important;
  font-weight:600;
  font-size:.92rem;
  line-height:1;
}
.smg-navchip:hover{background: rgba(17,77,130,.12);}

.smg-h2{margin: 0 0 .35rem 0; font-size: clamp(1.35rem, 2.1vw, 1.7rem); line-height:1.15; letter-spacing:-.01em;}
.smg-h3{margin: 1.25rem 0 .7rem 0; font-size: 1.05rem; line-height:1.2; letter-spacing:-.01em;}
.smg-lead{margin:0 0 .85rem 0; font-size: .98rem; line-height:1.45; opacity:.92;}

.smg-desc-compact{font-size:.96rem; line-height:1.45;}
.smg-desc-compact p{margin:0 0 .4rem 0;}
.smg-desc-compact ul{margin:.25rem 0 .6rem 1.05rem;}
.smg-desc-compact li{margin:.12rem 0;}

.smg-funk-hero{min-height:360px !important; background-position:center; background-size:cover;}
@media (max-width: 980px){.smg-funk-hero{min-height:300px !important;}}
@media (max-width: 600px){.smg-funk-hero{min-height:240px !important;}}
.smg-funk-hero__overlay{display:none !important;}
/* Keep the text box top-left (compact) */
.smg-funk-hero__inner{top:16px !important; left:16px !important; padding:12px 14px !important;}
.smg-funk-hero__title{font-size: clamp(1.25rem, 2.1vw, 1.95rem) !important;}
.smg-funk-hero__subtitle{font-size:.96rem !important;}
.smg-funk-hero__subtitle p{margin:.25rem 0 0 0 !important;}

/* Infoboxes (Funkzeugnisse / Prüfungstermine) */
.smg-funk-infobox{
  display:flex;gap:1rem;align-items:center;justify-content:space-between;
  padding:14px 16px;border-radius:16px;
  background: rgba(17,77,130,.07);
  border: 1px solid rgba(17,77,130,.16);
  margin: 0 0 1rem 0;
}
.smg-funk-infobox__title{font-weight:800;margin:0 0 .15rem 0;}
.smg-funk-infobox__desc{opacity:.9;font-size:.95rem;line-height:1.35;}
.smg-funk-infobox__cta .smg-btn{white-space:nowrap;}

/* Booking row: Termin + Preis + Buchen on one line */
.smg-datepick__row{
  display:flex;
  gap:.65rem;
  align-items:stretch;
  flex-wrap:nowrap;
}
.smg-datepick__field{flex: 1 1 0; min-width: 0;}
.smg-datepick__label{display:none;}
.smg-datepick__select{
  width:100%;
  height:44px;
  border-radius:12px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.smg-datepick__pricebtn,
.smg-datepick__book{
  height:44px;
  border-radius:12px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:0 .85rem;
  min-width: 170px;
}
.smg-datepick__pricebtn{background: rgba(17,77,130,.06); border:1px solid rgba(17,77,130,.18);}
.smg-datepick__pricebtn-main{font-weight:800;line-height:1;}
.smg-datepick__pricebtn-sub{font-size:.72rem;opacity:.85;line-height:1.1;margin-top:.2rem;}
.smg-datepick__book{min-width: 190px; text-align:center; justify-content:center; font-weight:800;}
@media (max-width: 820px){
  .smg-datepick__row{flex-wrap:wrap;}
  .smg-datepick__field{min-width: 100%;}
  .smg-datepick__pricebtn,.smg-datepick__book{flex:1 1 calc(50% - .35rem); min-width: unset;}
}

.smg-bullets{margin:.55rem 0 0 0;padding:0 0 0 18px;}
.smg-bullets li{margin:.25rem 0;line-height:1.35;}

/* FKN callout stays visually separated */
.smg-callout{
  background: rgba(255, 177, 44, .18);
  border: 1px solid rgba(255, 177, 44, .35);
  border-radius: 14px;
  padding: 12px 14px;
  margin: .75rem 0 .85rem;
}

/* Service/Hinweis compact */
.smg-meta{font-size:.86rem; line-height:1.35; opacity:.9; margin-top:.5rem;}
.smg-meta__row{margin:.15rem 0;}

/* -------------------------------------------------------------------------- */
/* Buttons – ensure centered text (theme-proof)                                */
/* -------------------------------------------------------------------------- */
.smg-btn-primary,
.smg-btn-ghost,
.smg-navchip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  line-height:1.1;
  white-space:nowrap;
}

.smg-btn-primary{
  padding:10px 14px;
  border-radius:12px;
  border:1px solid rgba(17,77,130,.25);
  background:#0f6aa8;
  color:#fff !important;
  font-weight:800;
  min-height:42px;
  text-decoration:none !important;
}
.smg-btn-primary:hover{filter:brightness(0.96)}

.smg-btn-ghost{
  padding:10px 14px;
  border-radius:12px;
  border:1px solid rgba(17,77,130,.18);
  background:#fff;
  color:#0f2a4a !important;
  font-weight:800;
  min-height:42px;
  text-decoration:none !important;
}
.smg-btn-ghost:hover{background:rgba(17,77,130,.06)}

/* price pill aligns like a button */
.smg-datepick__pricebtn{align-items:center !important; text-align:center;}

/* -------------------------------------------------------------------------- */
/* FAQ Accordion – button style                                                */
/* -------------------------------------------------------------------------- */
.smg-accordion{display:grid;gap:10px;margin-top:12px}
.smg-acc-item{border:0;background:transparent}
.smg-acc-item summary,
.smg-acc-item summary.smg-acc-q{
  list-style:none;
  cursor:pointer;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(17,77,130,.14);
  background:#fff;
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.smg-acc-item summary::-webkit-details-marker{display:none}
.smg-acc-item summary:after{content:'+';font-weight:900;color:#114d82}
.smg-acc-item[open] summary{border-radius:14px 14px 0 0}
.smg-acc-item[open] summary:after{content:'–'}
.smg-acc-a{
  padding:10px 14px 14px;
  border:1px solid rgba(17,77,130,.14);
  border-top:0;
  border-radius:0 0 14px 14px;
  background:#fff;
  color:#2f4b66;
}

/* -------------------------------------------------------------------------- */
/* Literatur/Affiliate – render links as cards + buttons                        */
/* -------------------------------------------------------------------------- */
.smg-aff-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
@media (max-width: 720px){.smg-aff-grid{grid-template-columns:1fr}}

.smg-aff-item{
  display:flex;
  gap:10px;
  padding:12px;
  border-radius:14px;
  border:1px solid rgba(17,77,130,.12);
  background:#fff;
  text-decoration:none !important;
  color:inherit;
}
.smg-aff-item:hover{box-shadow:0 10px 22px rgba(16,38,63,.08)}
.smg-aff-item__title{font-weight:900;color:#0f2a4a;text-decoration:none}
.smg-aff-item__desc{color:#4e6a86;font-size:13px;line-height:1.35;margin-top:2px}
.smg-aff-item__cta{
  margin-top:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 12px;
  border-radius:12px;
  background:#eaf2ff;
  border:1px solid rgba(17,77,130,.18);
  color:#0f2a4a;
  font-weight:900;
  font-size:13px;
  text-decoration:none !important;
}

