/* *****************************************************

    ** Custom Stylesheet **

    Any custom styling you want to apply should be
    defined here.

***************************************************** */



/* =========================================================
   WHMCS Template "Six" – Datasoft Brand Look (vollständig)
   Fokus: Startseite / Banner / Domain-Suche auf index.php
   ========================================================= */
:root{
  --brand-primary:#2ea3f2;      /* Hauptblau */
  --brand-primary-600:#1f95e6;  /* Hover */
  --brand-primary-700:#187fca;  /* Active/Focus */
  --brand-accent:#0b5ea8;       /* Link-Hover */
  --brand-bg:#eef6ff;           /* Seitenhintergrund */
  --brand-surface:#ffffff;      /* Karten/Boxen */
  --brand-border:#e5e7eb;       /* Linien */
  --brand-text:#111827;         /* Text */
  --brand-muted:#64748b;        /* Sekundärtext */
  --brand-success:#22c55e;
  --brand-warning:#f59e0b;
  --brand-danger:#ef4444;

  --radius:14px;
  --shadow-sm:0 6px 16px rgba(0,0,0,.06);
  --shadow-md:0 12px 28px rgba(0,0,0,.08);
  --focus-ring:0 0 0 3px color-mix(in oklab, var(--brand-primary) 22%, transparent);
}

/* ===== Grundlayout / Typo ===== */
body{ background:var(--brand-bg); color:var(--brand-text); }
a{ color:var(--brand-primary); }
a:hover,a:focus{ color:var(--brand-accent); text-decoration:none; }
h1,h2,h3,h4{ color:var(--brand-text); letter-spacing:.2px; }
.header-lined .page-header{ border:none; }
.header-lined h1{ font-weight:800; }
.header-lined .breadcrumb{ background:transparent; border:none; padding-left:0; color:var(--brand-muted); }
.header-lined .breadcrumb>li>a{ color:var(--brand-muted); }
.header-lined .breadcrumb>.active{ color:var(--brand-text); }

/* ===== Navbar ===== */
.navbar-main{
  background:linear-gradient(180deg, color-mix(in oklab, var(--brand-primary) 20%, #fff) 0%, #fff 85%);
  border:none; box-shadow:var(--shadow-sm);
}
.navbar-main .navbar-brand img{ max-height:34px; }
.navbar-main .navbar-nav>li>a{ color:#0b1726; font-weight:600; }
.navbar-main .navbar-nav>li>a:hover,
.navbar-main .navbar-nav>.active>a,
.navbar-main .navbar-nav>.open>a{
  color:var(--brand-primary-700); background:transparent;
}
.navbar-main .badge{ background:var(--brand-primary); }
/* Mobile toggle */
.navbar-main .navbar-toggle{ border-color:transparent; }
.navbar-main .icon-bar{ background:var(--brand-primary); }

/* ===== Buttons ===== */
.btn{ border-radius:12px; font-weight:700; border:1px solid transparent; box-shadow:none; transition:all .15s ease; }
.btn:hover{ transform:translateY(-1px); box-shadow:var(--shadow-sm); }
.btn-primary{ background:var(--brand-primary); border-color:var(--brand-primary); color:#fff; }
.btn-primary:hover,.btn-primary:focus,.btn-primary:active{ background:var(--brand-primary-600); border-color:var(--brand-primary-600); }
.btn-info{ background:var(--brand-primary)!important; border-color:var(--brand-primary)!important; color:#fff!important; }
.btn-info:hover,.btn-info:focus{ background:var(--brand-primary-600)!important; border-color:var(--brand-primary-600)!important; }
.btn-success{ background:var(--brand-success); border-color:var(--brand-success); }
.btn-warning{ background:var(--brand-warning); border-color:var(--brand-warning); }
.btn-danger{  background:var(--brand-danger);  border-color:var(--brand-danger);  }
.btn-default{ background:#fff; border-color:var(--brand-border); color:var(--brand-text); }
.btn-default:hover{ border-color:var(--brand-primary); color:var(--brand-primary); }
.btn-link{ color:var(--brand-primary); font-weight:700; }
.btn-link:hover{ color:var(--brand-accent); text-decoration:none; }

/* ===== Panels / Cards ===== */
.panel{
  border:1px solid var(--brand-border); border-radius:var(--radius); box-shadow:var(--shadow-sm);
}
.panel>.panel-heading{
  background:linear-gradient(180deg, #fff 0%, color-mix(in oklab, var(--brand-primary) 6%, #fff) 100%);
  border-bottom:1px solid var(--brand-border);
  border-top-left-radius:var(--radius); border-top-right-radius:var(--radius);
  color:var(--brand-text); font-weight:800;
}
.panel>.panel-heading .panel-title{ font-weight:800; }
/* Recolor „info/primary“-Panels (türkis → Brand) */
.panel-primary>.panel-heading,
.panel-info>.panel-heading{
  background:linear-gradient(180deg, #fff 0%, color-mix(in oklab, var(--brand-primary) 10%, #fff) 100%)!important;
  color:#0b1726!important; border-bottom:1px solid var(--brand-border)!important;
}
.panel-primary, .panel-info{ border-color:var(--brand-border)!important; }

/* ===== Tables ===== */
.table>thead>tr>th{
  border-bottom:1px solid var(--brand-border);
  background:color-mix(in oklab, var(--brand-primary) 8%, #fff);
  color:#0b1726; font-weight:800;
}
.table>tbody>tr>td{ border-top:1px solid var(--brand-border); }
.table-hover>tbody>tr:hover>td{ background:#f7fbff; }

.label-primary,.badge-primary{ background:var(--brand-primary); }
.label-info,.badge-info{ background:var(--brand-primary)!important; }
.label-default{ background:#94a3b8; }

/* ===== Formular-Elemente ===== */
.form-control{ border-radius:12px; border:1px solid var(--brand-border); box-shadow:none; }
.form-control:focus{
  border-color:var(--brand-primary);
  box-shadow:var(--focus-ring);
}
.input-group-addon{ border:1px solid var(--brand-border); background:#fff; }

/* Dropdowns */
.dropdown-menu{
  border-radius:12px; border:1px solid var(--brand-border); box-shadow:var(--shadow-md);
}
.dropdown-menu>li>a:hover{ background:color-mix(in oklab, var(--brand-primary) 10%, #fff); }

/* ===== Tabs & Pills ===== */
.nav-tabs{ border-bottom:1px solid var(--brand-border); }
.nav-tabs>li>a{ border:none; color:var(--brand-muted); font-weight:700; }
.nav-tabs>li.active>a,
.nav-tabs>li>a:hover{
  color:var(--brand-primary-700);
  background:transparent; border-bottom:3px solid var(--brand-primary);
}
.tab-content{
  background:var(--brand-surface); border:1px solid var(--brand-border);
  border-radius:0 0 var(--radius) var(--radius); border-top:none;
}
.nav-pills>li.active>a,
.nav-pills>li.active>a:hover,
.nav-pills>li.active>a:focus{
  background:var(--brand-primary)!important; color:#fff!important;
}

/* ===== Alerts ===== */
.alert{ border-radius:12px; border:1px solid var(--brand-border); box-shadow:var(--shadow-sm); }
.alert-info   { background:#eff8ff; border-color:#cfeafe; color:#084c7f; }
.alert-success{ background:#ebf9f1; border-color:#c9f0d9; color:#065f2a; }
.alert-warning{ background:#fff7e8; border-color:#fde7bf; color:#7a4b00; }
.alert-danger { background:#ffefef; border-color:#ffd8d8; color:#7a0f0f; }

/* ===== Sidebar / Listen aktiv ===== */
.list-group-item.active,
.list-group-item.active:focus,
.list-group-item.active:hover{
  background:var(--brand-primary)!important; border-color:var(--brand-primary)!important;
}
.panel-sidebar{ border-radius:var(--radius); }
.panel-sidebar .panel-heading{ font-weight:800; }

/* ===== Badges / Texte / Hintergründe: info→Brand ===== */
.text-primary, .text-info{ color:var(--brand-primary)!important; }
.bg-primary, .bg-info{ background:var(--brand-primary)!important; color:#fff!important; }
.progress-bar-info, .progress-bar-primary{ background:var(--brand-primary)!important; }

/* ===== Bestellboxen / Produktlisten ===== */
.order-summary, .product, .pricing-table, .order-box, .package, .product-info{
  border:1px solid var(--brand-border)!important;
  border-radius:var(--radius)!important;
  box-shadow:var(--shadow-sm)!important;
  background:var(--brand-surface)!important;
}
.product .panel-heading,
.order-box .header,
.package .package-header{
  background:linear-gradient(180deg, #fff 0%, color-mix(in oklab, var(--brand-primary) 6%, #fff) 100%)!important;
  border-bottom:1px solid var(--brand-border)!important;
  color:#0b1726!important; font-weight:800!important;
}
.pricing-table .price, .package .price{ color:var(--brand-primary)!important; font-weight:900!important; }

/* ===== Login/Registrierung ===== */
.panel-login, .panel-register, .logincontainer .panel{
  border-radius:var(--radius);
  border:1px solid var(--brand-border);
  box-shadow:var(--shadow-md);
}
.logincontainer .inner-container{ background:transparent; }

/* ===== Footer ===== */
.footer{ background:transparent; border-top:1px solid var(--brand-border); color:var(--brand-muted); }
.footer a{ color:var(--brand-primary); }
.footer a:hover{ color:var(--brand-accent); }

/* ===== Pagination / Misc ===== */
.pagination>li>a,.pagination>li>span{ border-color:var(--brand-border); color:var(--brand-text); }
.pagination>.active>a,.pagination>.active>span{ background:var(--brand-primary); border-color:var(--brand-primary); }
.well{ background:#fff; border:1px solid var(--brand-border); border-radius:var(--radius); box-shadow:var(--shadow-sm); }

/* ===== Fokus-Ringe (Accessibility) ===== */
a:focus, button:focus, .btn:focus, .form-control:focus{ outline:0; box-shadow:var(--focus-ring); }

/* =========================================================
   STARTSEITE /index.php – Banner & Domain-Suche
   ========================================================= */

/* Grüne/türkise Banner-Hintergründe neutralisieren */
#home-banner,
.home-domain-search,
.home-domain-search-bg,
.banner-preset-primary,
.banner-preset-info,
.secondary-bg{
  background:linear-gradient(180deg,
      color-mix(in oklab, var(--brand-primary) 14%, #fff) 0%,
      #fff 90%) !important;
  color:#0b1726 !important;
  border:0;
}

/* Headline "Beginnen Sie Ihre Suche…" in Brand-Farben */
#home-banner h1,
#home-banner h2,
#home-banner .lead,
.home-domain-search h1,
.home-domain-search h2,
.home-domain-search .lead{
  color:#0b1726 !important;
}

/* Domain-Suchbox: runde Ecken, weiß, Schatten */
#home-banner .input-group,
.home-domain-search .input-group,
#home-banner .input-group.input-group-lg,
.home-domain-search .input-group.input-group-lg{
  box-shadow:var(--shadow-md);
  border-radius:14px;
  overflow:hidden; /* Rundung sauber halten */
}

/* Linke Seite (Input) rund links, kein Spalt */
#home-banner .input-group .form-control,
.home-domain-search .input-group .form-control{
  height:54px;
  border:1px solid var(--brand-border);
  border-right:0;
  border-top-left-radius:14px;
  border-bottom-left-radius:14px;
  border-top-right-radius:0;
  border-bottom-right-radius:0;
  box-shadow:none;
}

/* Platzhalterfarbe dezenter */
#home-banner .form-control::placeholder,
.home-domain-search .form-control::placeholder{
  color:#9aa7b5;
}

/* Rechte Seite (Button) rund rechts, Brand-Blau */
#home-banner .input-group-btn .btn,
.home-domain-search .input-group-btn .btn{
  height:54px;
  background:var(--brand-primary) !important;
  border-color:var(--brand-primary) !important;
  color:#fff !important;
  border-top-right-radius:14px !important;
  border-bottom-right-radius:14px !important;
  border-top-left-radius:0 !important;
  border-bottom-left-radius:0 !important;
  padding:0 20px;
}
#home-banner .input-group-btn .btn:hover,
.home-domain-search .input-group-btn .btn:hover{
  background:var(--brand-primary-600)!important;
  border-color:var(--brand-primary-600)!important;
}

/* Buttons neben/unter der Suche (z. B. Transfer) */
#home-banner .btn-default,
.home-domain-search .btn-default{
  background:#fff;
  color:var(--brand-primary);
  border:1px solid var(--brand-border);
  border-radius:12px;
}
#home-banner .btn-default:hover,
.home-domain-search .btn-default:hover{
  border-color:var(--brand-primary);
  color:var(--brand-primary-700);
}

/* Kleine Badges / Aktionen im Banner */
#home-banner .label-info,
#home-banner .badge-info,
.home-domain-search .label-info,
.home-domain-search .badge-info{
  background:var(--brand-primary)!important;
}

/* Kacheln direkt unter dem Banner */
.home-shortcuts .panel,
.home-kb-search .panel,
.home-announcements .panel{
  border:1px solid var(--brand-border)!important;
  border-radius:var(--radius)!important;
  box-shadow:var(--shadow-sm)!important;
  background:var(--brand-surface)!important;
}
.home-shortcuts .panel .panel-heading,
.home-kb-search .panel .panel-heading,
.home-announcements .panel .panel-heading{
  background:linear-gradient(180deg, #fff 0%, color-mix(in oklab, var(--brand-primary) 6%, #fff) 100%)!important;
  border-bottom:1px solid var(--brand-border)!important;
  color:#0b1726!important; font-weight:800!important;
}

/* Such-Icons/Feld-Addons im Banner */
#home-banner .input-group .input-group-addon,
.home-domain-search .input-group .input-group-addon{
  background:#fff;
  border:1px solid var(--brand-border);
  border-right:0;
  color:#5b6b7d;
  border-top-left-radius:14px;
  border-bottom-left-radius:14px;
}

/* Dropdown für TLD/Erweiterungen in der Suche */
#home-banner .bootstrap-select .btn,
.home-domain-search .bootstrap-select .btn{
  border-radius:12px;
  border:1px solid var(--brand-border);
  background:#fff;
  color:var(--brand-text);
}
#home-banner .bootstrap-select .btn:focus,
.home-domain-search .bootstrap-select .btn:focus{ box-shadow:var(--focus-ring); }

/* Domain-Suchergebnisse (nach Abfrage) */
.domain-checker-container .panel,
.domain-lookup-results .panel{
  border:1px solid var(--brand-border);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
}
.domain-lookup-results .result-header{
  background:color-mix(in oklab, var(--brand-primary) 6%, #fff);
  color:#0b1726;
  border-bottom:1px solid var(--brand-border);
}
.domain-lookup-results .result .price{
  color:var(--brand-primary);
  font-weight:900;
}
.domain-lookup-results .btn-add-to-cart{ background:var(--brand-primary); border-color:var(--brand-primary); }
.domain-lookup-results .btn-add-to-cart:hover{ background:var(--brand-primary-600); border-color:var(--brand-primary-600); }

/* TLD-Preisblöcke / Domain-Pricing Widgets */
.tld-pricing-table .tld-row,
.domain-pricing .panel{
  border:1px solid var(--brand-border);
  border-radius:12px;
  background:#fff;
}
.tld-pricing-table .tld-row .price,
.domain-pricing .price{ color:var(--brand-primary); font-weight:900; }

/* MarketConnect Promos im Banner (ggf. aktiv) */
.mc-promo, .mc-banner, .mc-alert,
.home .marketconnect-services .panel{
  border-color:var(--brand-border)!important;
  background:#fff!important;
  color:var(--brand-text)!important;
}
.mc-promo .btn-info{ background:var(--brand-primary)!important; border-color:var(--brand-primary)!important; }

/* Sicherstellen, dass kein dunkles Grün mehr „durchblutet“ */
.bg-success, .panel-success>.panel-heading, .label-success{
  /* Erfolg bleibt grün, aber heller und neutraler Hintergrund-Header verhindern „Bannergrün“ */
  background-color:var(--brand-success)!important;
  border-color:var(--brand-success)!important;
  color:#fff!important;
}

/* Mobile Abstand im Banner */
@media (max-width:768px){
  #home-banner{ padding-top:10px; padding-bottom:18px; }
  #home-banner .input-group .form-control,
  .home-domain-search .input-group .form-control{ height:50px; }
  #home-banner .input-group-btn .btn,
  .home-domain-search .input-group-btn .btn{ height:50px; }
}