:root{
  --brand-navy:#012B49;
  --brand-orange:#F0810A;
}

body{
  color: var(--brand-navy);
  background: #f8fafc;
}

.navbar-brand img{
  height: 34px;
}

.hero{
  padding: 4rem 0;
  background:
    radial-gradient(1200px 600px at 15% 15%, rgba(240,129,10,.18), transparent 60%),
    radial-gradient(1200px 600px at 85% 35%, rgba(1,43,73,.10), transparent 60%);
}

.section{
  padding: 4rem 0;
}

.btn-brand{
  border:1px solid rgba(1,43,73,.25);
  color:var(--brand-navy);
  font-weight:700;
  border-radius:.9rem;
  padding:.55rem .9rem;
}

.btn-brand:hover{
  background: rgba(240,129,10,.12);
  border-color: rgba(240,129,10,.55);
  color:var(--brand-navy);
}

.btn-brand-solid{
  background: rgba(240,129,10,.18);
  border:1px solid rgba(1,43,73,.25);
  color:var(--brand-navy);
  font-weight:800;
  border-radius:.9rem;
  padding:.55rem .9rem;
}

.btn-brand-solid:hover{
  background: rgba(240,129,10,.26);
  border-color: rgba(240,129,10,.55);
  color:var(--brand-navy);
}

.feature-card{
  border-radius: 1.25rem;
  border:1px solid rgba(1,43,73,.12);
  box-shadow:0 8px 22px rgba(1,43,73,.06);
  transition: all .15s ease;
}

.feature-card:hover{
  transform: translateY(-3px);
  box-shadow:0 12px 28px rgba(1,43,73,.10);
}

.feature-icon{
  font-size:1.8rem;
}

.footer{
  padding: 2rem 0;
  background:#ffffff;
  border-top:1px solid rgba(1,43,73,.1);
}

.footer a{
  color: inherit;
  text-decoration: none;
}

.footer a:hover{
  text-decoration: underline;
}

.table-compare th, .table-compare td{
  vertical-align: middle;
  padding: .85rem .75rem;
}

.pricing-highlight{
  border: 1px solid rgba(240,129,10,.55) !important;
  box-shadow: 0 10px 28px rgba(240,129,10,.10) !important;
  transform: translateY(-2px);
}

/* =========================================================
   PRICING CARDS (Unified Layout)
========================================================= */

/* Optional: nur falls du willst, dass die Cards in pricing.php wirklich identisch wirken */
.pricing-grid .card.feature-card {
  border-radius: 18px;
}

.pricing-plan {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.pricing-plan .plan-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: .75rem;
  margin-bottom: .25rem;
}

.pricing-plan .plan-title {
  font-weight: 800;
  font-size: 1.15rem;
  line-height: 1.2;
  margin: 0;
}

.pricing-plan .plan-badge {
  align-self: flex-start;
  white-space: nowrap;
}

/* ✅ Fix: kein "leeres Badge-Quadrat" mehr – Platz bleibt trotzdem stabil */
.pricing-plan .plan-badge-empty {
  opacity: 0;
  background: transparent !important;
  border: 0 !important;
}

/* Content Blöcke normieren */
.pricing-plan .plan-desc {
  min-height: 92px; /* sorgt dafür, dass kurze Texte nicht alles zusammenschieben */
  margin-top: .25rem;
  margin-bottom: 1rem;
  color: rgba(0,0,0,.65);
  font-size: .92rem;
}

.pricing-plan .plan-price {
  min-height: 70px; /* Preisblock immer gleich hoch */
  margin-bottom: .25rem;
}

.pricing-plan .plan-price .price-main {
  font-size: 2rem;
  font-weight: 900;
  margin: 0;
  line-height: 1.1;
}

.pricing-plan .plan-price .price-sub {
  font-size: .92rem;
  color: rgba(0,0,0,.65);
  margin-top: .35rem;
}

/* Button + Note immer unten */
.pricing-plan .plan-cta {
  margin-top: auto; /* schiebt CTA ganz nach unten */
}

.pricing-plan .plan-cta .btn {
  min-height: 44px;      /* Buttons immer gleich hoch */
  border-radius: 14px;   /* optional, passt zu deinen Cards */
  font-weight: 700;
}

.pricing-plan .plan-note {
  min-height: 40px; /* Footnote-Zeile immer gleich hoch */
  margin-top: .75rem;
  font-size: .85rem;
  color: rgba(0,0,0,.55);
}

/* Optional: für Trial-Karte etwas konsistenter */
.pricing-plan .plan-note-muted {
  color: rgba(0,0,0,.55);
}

/* =========================================
   Navbar Brand Buttons (Soft Variant)
========================================= */

.btn-brand-nav {
  background: transparent;
  color: var(--brand-color);
  border: 1px solid transparent;
  padding: 0.4rem 0.9rem;
  border-radius: 10px;
  font-weight: 500;
  transition: all 0.2s ease;
}

.btn-brand-nav:hover {
  background: rgba(var(--brand-rgb), 0.08);
  color: var(--brand-color);
}

.btn-brand-nav.is-active {
  background: var(--brand-color);
  color: var(--brand-color);
  box-shadow: 0 4px 14px rgba(var(--brand-rgb), 0.25);
}

/* =========================================
   Navbar Logo Beschriftung
========================================= */

.brand-split { line-height: 1; }
.brand-left  { color: #0b1f33; }     /* dunkel wie im Bild */
.brand-right { color: #f57c00; }     /* orange wie im Bild */

/* =========================================
   Footer
========================================= */

.footer-main {
  background: #f8f9fb;
  border-top: 1px solid #e9ecef;
}

.footer-main .footer-link {
  color: #6c757d;
  text-decoration: none;
  transition: color 0.2s ease;
}

.footer-main .footer-link:hover {
  color: var(--brand-color);
}

/* ==============================
   PRICING DESIGN (Dartsanion)
   (Wenn du willst: später in main.css kopieren)
============================== */

.pricing-grid {
  align-items: stretch;
}

.feature-card {
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  position: relative;
  overflow: hidden;
}

.feature-card::before{
  content:"";
  position:absolute;
  inset:0;
  background: radial-gradient(1200px 420px at 10% -10%, rgba(0,0,0,.06), transparent 60%);
  pointer-events:none;
}

.feature-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0,0,0,.10);
  border-color: rgba(0,0,0,.10);
}

.pricing-plan{
  display:flex;
  flex-direction:column;
  gap: 14px;
  height:100%;
}

/* Header */
.plan-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 10px;
  margin-bottom: 2px;
}

.plan-title{
  font-weight: 800;
  letter-spacing: -.2px;
  margin: 0;
  line-height: 1.15;
  font-size: 1.15rem;
}

.plan-badge{
  border-radius: 999px;
  padding: .35rem .6rem;
  font-weight: 700;
  font-size: .75rem;
  white-space: nowrap;
}

.plan-badge-empty{
  opacity: 0;
  pointer-events:none;
}

/* Desc */
.plan-desc{
  color: rgba(0,0,0,.65);
  font-size: .95rem;
  line-height: 1.4;
  min-height: 56px;
}

/* Price */
.plan-price{
  padding: 14px 14px;
  border-radius: 14px;
  background: rgba(0,0,0,.03);
  border: 1px solid rgba(0,0,0,.05);
}

.price-main{
  font-size: 1.55rem;
  font-weight: 900;
  letter-spacing: -.3px;
  margin: 0;
}

.price-sub{
  font-size: .9rem;
  color: rgba(0,0,0,.55);
  margin-top: 2px;
}

/* CTA bottom */
.plan-cta{
  margin-top:auto;
  padding-top: 6px;
}

.plan-note{
  font-size: .85rem;
  color: rgba(0,0,0,.55);
  margin-top: 8px;
}

.plan-note-muted{
  color: rgba(0,0,0,.45);
}

/* Highlight */
.pricing-highlight{
  border: 2px solid rgba(0,0,0,.20);
  box-shadow: 0 18px 50px rgba(0,0,0,.14);
  transform: translateY(-2px);
}

.pricing-highlight:hover{
  transform: translateY(-6px);
  box-shadow: 0 22px 60px rgba(0,0,0,.18);
}

.pricing-highlight::after{
  content:"";
  position:absolute;
  left:0; right:0; top:0;
  height: 5px;
  background: rgba(0,0,0,.75);
  opacity: .06;
}

/* Optional: Hero etwas edler */
.hero {
  padding: 3.5rem 0 2.5rem 0;
}

.hero .lead {
  max-width: 820px;
  margin: 0 auto;
}

/* Delete button in brand style, but red */
.btn-danger-soft{
  background: rgba(220,53,69,.10);
  border: 1px solid rgba(220,53,69,.35);
  color: #dc3545;
}

.btn-danger-soft:hover{
  background: rgba(220,53,69,.16);
  border-color: rgba(220,53,69,.55);
  color: #dc3545;
}

/* ✅ Portal: Hero kompakter */
.da-portal .hero{
  padding: 22px 0 !important;
  min-height: 0 !important;
}

.da-portal .hero .display-6{
  font-size: 2.1rem;
  margin-bottom: .25rem !important;
}

.da-portal .hero .lead{
  font-size: 1rem;
  margin-bottom: 0 !important;
}