
/* Brick-Tracker zentrale Layout-Bausteine
   Header-Suche auf Unterseiten + gemeinsamer Footer. */

.bt-header-search{
    flex:1 1 620px;
    max-width:620px;
    min-width:260px;
    margin:0 24px;
    position:relative;
    z-index:1000;
}

.bt-header-search .search-input{
    position:relative;
    width:100%;
}

.bt-header-search input{
    width:100%;
    min-height:46px;
    box-sizing:border-box;
}

.bt-header-search .autocom-box{
    position:absolute;
    top:calc(100% + 6px);
    left:0;
    right:0;
    z-index:99999;
    max-height:360px;
    overflow-y:auto;
    background:#fff;
    border-radius:12px;
    box-shadow:0 16px 36px rgba(15,23,42,.18);
}

.bt-modern-footer{
    background:linear-gradient(180deg,#116775 0%,#073f48 100%);
    color:#fff;
    padding:34px 0 20px;
    margin-top:26px;
}

.bt-modern-footer .bt-home-wrap{
    width:min(1420px,calc(100% - 40px));
    margin:0 auto;
}

.bt-modern-footer a{
    color:#fff;
    text-decoration:none;
}

.bt-footer-grid{
    display:grid;
    grid-template-columns:1.4fr .8fr .8fr .8fr 1.2fr;
    gap:26px;
}

.bt-footer-brand{
    min-width:0;
}

.bt-footer-brand img{
    width:56px;
    height:56px;
    object-fit:contain;
}

.bt-footer-brand strong{
    display:block;
    font-size:20px;
    margin-top:8px;
}

.bt-footer-brand p{
    margin:6px 0 0;
    line-height:1.4;
}

.bt-footer-social{
    display:flex;
    gap:8px;
    margin-top:12px;
    flex-wrap:wrap;
}

.bt-footer-social img{
    width:30px;
    height:30px;
    object-fit:contain;
}

.bt-footer-col h3{
    margin:0 0 10px;
    font-size:14px;
    text-transform:uppercase;
    letter-spacing:.05em;
}

.bt-footer-col a{
    display:block;
    margin:7px 0;
    opacity:.92;
}

.bt-footer-legal{
    margin-top:24px;
    padding-top:16px;
    border-top:1px solid rgba(255,255,255,.18);
    font-size:12px;
    line-height:1.45;
    opacity:.9;
    text-align:center;
}

.bt-footer-legal p{
    margin:3px 0;
}

@media(max-width:1180px){
    .bt-footer-grid{
        grid-template-columns:1fr 1fr;
    }

    .bt-footer-brand{
        grid-column:1 / -1;
    }
}

@media(max-width:900px){
    .bt-header-search{
        flex-basis:420px;
        max-width:480px;
        margin:0 12px;
    }
}

@media(max-width:768px){
    .bt-header-search{
        order:3;
        flex:1 0 100%;
        width:calc(100% - 24px);
        max-width:none;
        min-width:0;
        margin:8px 12px 10px;
    }

    .bt-header-search input{
        min-height:44px;
        font-size:15px;
    }

    .bt-modern-footer .bt-home-wrap{
        width:min(100% - 22px,560px);
    }

    .bt-footer-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:22px 18px;
    }

    .bt-footer-brand{
        grid-column:1 / -1;
        text-align:center;
    }

    .bt-footer-brand img{
        margin:0 auto;
    }

    .bt-footer-social{
        justify-content:center;
    }

    .bt-footer-col h3,
    .bt-footer-col a{
        text-align:left;
    }
}

@media(max-width:380px){
    .bt-footer-grid{
        grid-template-columns:1fr;
    }

    .bt-footer-col h3,
    .bt-footer-col a{
        text-align:center;
    }
}


/* BT zentraler Mobile-Header v2
   Unterseiten: Logo + kompakte Suche + Hamburger in einer petrolfarbenen Zeile.
   Index: Logo + Hamburger, ohne Header-Suche. */
@media (max-width: 768px) {
    .bt-site-header {
        position: relative !important;
        z-index: 20000 !important;
        width: 100% !important;
        background: #16697A !important;
    }

    .bt-site-header nav {
        position: relative !important;
        z-index: 20000 !important;
        width: 100% !important;
        min-height: 68px !important;
        margin: 0 !important;
        padding: 8px 10px !important;
        display: grid !important;
        align-items: center !important;
        gap: 8px !important;
        box-sizing: border-box !important;
        background: #16697A !important;
        overflow: visible !important;
    }

    .bt-site-header nav.bt-nav-has-search {
        grid-template-columns: minmax(128px, auto) minmax(0, 1fr) 48px !important;
        grid-template-areas:
            "logo search toggle"
            "menu menu menu" !important;
    }

    .bt-site-header nav.bt-nav-no-search {
        grid-template-columns: minmax(0, 1fr) 48px !important;
        grid-template-areas:
            "logo toggle"
            "menu menu" !important;
    }

    .bt-site-header #toggle_button {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    .bt-site-header .logo {
        grid-area: logo !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        color: #fff !important;
        text-decoration: none !important;
        white-space: nowrap !important;
        overflow: hidden !important;
    }

    .bt-site-header .logo img {
        flex: 0 0 auto !important;
        width: 42px !important;
        height: 42px !important;
        object-fit: contain !important;
    }

    .bt-site-header .logo span {
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        color: #fff !important;
        font-size: 16px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        text-transform: uppercase !important;
    }

    .bt-site-header .toggle_button {
        grid-area: toggle !important;
        position: relative !important;
        z-index: 20050 !important;
        width: 44px !important;
        height: 44px !important;
        margin: 0 !important;
        padding: 9px 7px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;
        box-sizing: border-box !important;
        border-radius: 10px !important;
        cursor: pointer !important;
        background: rgba(255,255,255,.08) !important;
        pointer-events: auto !important;
    }

    .bt-site-header .toggle_button .bar {
        display: block !important;
        width: 28px !important;
        height: 3px !important;
        margin: 0 !important;
        border-radius: 999px !important;
        background: #0f2940 !important;
        transition: transform .2s ease, opacity .2s ease !important;
    }

    .bt-site-header #toggle_button:checked + .toggle_button .bar:nth-child(1) {
        transform: translateY(8px) rotate(45deg) !important;
    }

    .bt-site-header #toggle_button:checked + .toggle_button .bar:nth-child(2) {
        opacity: 0 !important;
    }

    .bt-site-header #toggle_button:checked + .toggle_button .bar:nth-child(3) {
        transform: translateY(-8px) rotate(-45deg) !important;
    }

    .bt-site-header .bt-header-search {
        grid-area: search !important;
        position: relative !important;
        z-index: 20040 !important;
        order: initial !important;
        flex: none !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .bt-site-header .bt-header-search .search-input {
        width: 100% !important;
        position: relative !important;
    }

    .bt-site-header .bt-header-search input {
        width: 100% !important;
        min-width: 0 !important;
        height: 42px !important;
        min-height: 42px !important;
        margin: 0 !important;
        padding: 0 12px !important;
        box-sizing: border-box !important;
        border: 0 !important;
        border-radius: 10px !important;
        background: #fff !important;
        color: #172033 !important;
        font-size: 13px !important;
        box-shadow: 0 3px 10px rgba(15,23,42,.15) !important;
    }

    .bt-site-header .bt-header-search input::placeholder {
        color: #6b7280 !important;
        opacity: 1 !important;
    }

    .bt-site-header .bt-header-search .autocom-box {
        position: fixed !important;
        z-index: 30000 !important;
        top: 70px !important;
        left: 10px !important;
        right: 10px !important;
        width: auto !important;
        max-width: none !important;
        max-height: calc(100vh - 84px) !important;
        margin: 0 !important;
        padding: 8px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        border: 1px solid #cbdbe2 !important;
        border-radius: 12px !important;
        background: #fff !important;
        box-shadow: 0 18px 44px rgba(15,23,42,.25) !important;
        box-sizing: border-box !important;
    }

    .bt-site-header nav > ul {
        grid-area: menu !important;
        position: relative !important;
        z-index: 20030 !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 8px 0 4px !important;
        display: none !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 4px !important;
        box-sizing: border-box !important;
        background: #16697A !important;
        list-style: none !important;
    }

    .bt-site-header #toggle_button:checked ~ ul {
        display: flex !important;
    }

    .bt-site-header nav > ul > li {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .bt-site-header nav > ul > li > label,
    .bt-site-header nav > ul > li > a {
        width: 100% !important;
        min-height: 42px !important;
        padding: 10px 12px !important;
        display: flex !important;
        align-items: center !important;
        box-sizing: border-box !important;
        border-radius: 9px !important;
        color: #fff !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        cursor: pointer !important;
        background: rgba(255,255,255,.06) !important;
    }

    .bt-site-header nav .dropdown {
        position: static !important;
        width: 100% !important;
        margin: 4px 0 6px !important;
        padding: 4px 0 !important;
        background: rgba(5,62,72,.45) !important;
        border-radius: 8px !important;
        box-shadow: none !important;
    }

    .bt-site-header nav .dropdown a {
        display: block !important;
        padding: 9px 18px !important;
        color: #fff !important;
        font-size: 14px !important;
    }
}

@media (max-width: 430px) {
    .bt-site-header nav.bt-nav-has-search {
        grid-template-columns: 116px minmax(0, 1fr) 44px !important;
        gap: 6px !important;
    }

    .bt-site-header .logo img {
        width: 36px !important;
        height: 36px !important;
    }

    .bt-site-header .logo span {
        font-size: 13px !important;
    }

    .bt-site-header .bt-header-search input {
        height: 40px !important;
        min-height: 40px !important;
        padding: 0 9px !important;
        font-size: 12px !important;
    }

    .bt-site-header .toggle_button {
        width: 40px !important;
        height: 40px !important;
        padding-left: 5px !important;
        padding-right: 5px !important;
    }

    .bt-site-header .toggle_button .bar {
        width: 25px !important;
    }
}


/* BT Mobile-Header Textlogo v3
   Kleines Maskottchen im mobilen Header ausblenden.
   Dadurch erhält die Suche auf Unterseiten mehr Breite. */
@media (max-width: 768px) {
    .bt-site-header nav.bt-nav-has-search {
        grid-template-columns: 142px minmax(0, 1fr) 44px !important;
        gap: 7px !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    .bt-site-header nav.bt-nav-no-search {
        grid-template-columns: minmax(0, 1fr) 44px !important;
        gap: 8px !important;
        padding-left: 10px !important;
        padding-right: 8px !important;
    }

    .bt-site-header .logo {
        justify-self: start !important;
        gap: 0 !important;
        max-width: 100% !important;
    }

    .bt-site-header .logo img {
        display: none !important;
    }

    .bt-site-header .logo span {
        display: block !important;
        max-width: 100% !important;
        overflow: visible !important;
        text-overflow: clip !important;
        font-size: 15px !important;
        line-height: 1 !important;
        letter-spacing: -0.01em !important;
    }

    .bt-site-header .bt-header-search input {
        padding-left: 11px !important;
        padding-right: 11px !important;
        font-size: 13px !important;
    }
}

@media (max-width: 430px) {
    .bt-site-header nav.bt-nav-has-search {
        grid-template-columns: 132px minmax(0, 1fr) 42px !important;
        gap: 5px !important;
        padding-left: 7px !important;
        padding-right: 7px !important;
    }

    .bt-site-header .logo span {
        font-size: 13px !important;
        letter-spacing: -0.015em !important;
    }

    .bt-site-header .bt-header-search input {
        padding-left: 8px !important;
        padding-right: 8px !important;
        font-size: 12px !important;
    }

    .bt-site-header .toggle_button {
        width: 40px !important;
        height: 40px !important;
    }
}

@media (max-width: 360px) {
    .bt-site-header nav.bt-nav-has-search {
        grid-template-columns: 118px minmax(0, 1fr) 40px !important;
    }

    .bt-site-header .logo span {
        font-size: 12px !important;
    }

    .bt-site-header .bt-header-search input {
        font-size: 11px !important;
    }
}

/* Brick-Tracker Rechtstext-Seiten */
.bt-legal-page{
  width:min(1180px,calc(100% - 32px));
  margin:38px auto 56px;
}
.bt-legal-card{
  padding:clamp(22px,3vw,42px);
  border:1px solid #d9e7eb;
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 34px rgba(15,23,42,.06);
  color:#26354a;
}
.bt-legal-card h1{
  margin:0 0 24px;
  color:#102039;
  font-size:clamp(30px,4vw,48px);
  line-height:1.08;
  letter-spacing:-.035em;
}
.bt-legal-card h2{
  margin:34px 0 12px;
  color:#102039;
  font-size:clamp(21px,2.4vw,29px);
  line-height:1.2;
}
.bt-legal-card h3{
  margin:26px 0 10px;
  color:#102039;
  font-size:19px;
}
.bt-legal-card p,
.bt-legal-card li{
  font-size:16px;
  line-height:1.7;
}
.bt-legal-card p{margin:0 0 17px}
.bt-legal-card ul,
.bt-legal-card ol{
  margin:12px 0 22px;
  padding-left:24px;
}
.bt-legal-card a{
  color:#0e6b74;
  font-weight:700;
  overflow-wrap:anywhere;
}
.bt-legal-jump{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  margin:0 0 24px;
  padding:9px 14px;
  border:1px solid #bcd9de;
  border-radius:999px;
  background:#f2fafb;
  color:#0e6b74;
  text-decoration:none;
}
.bt-contact-box{
  margin:18px 0 24px;
  padding:18px;
  border-radius:16px;
  background:#f5fafb;
  border:1px solid #dcebed;
}
@media(max-width:768px){
  .bt-legal-page{
    width:calc(100% - 20px);
    margin:22px auto 38px;
  }
  .bt-legal-card{
    padding:20px 16px;
    border-radius:16px;
  }
  .bt-legal-card h1{font-size:30px}
  .bt-legal-card h2{
    margin-top:28px;
    font-size:22px;
  }
  .bt-legal-card p,
  .bt-legal-card li{
    font-size:15px;
    line-height:1.62;
  }
  .bt-legal-card ul,
  .bt-legal-card ol{padding-left:20px}
}

/* BT Mobile-Menü Overlay-Fix
   Das ausgeklappte Menü beginnt direkt unter der petrolfarbenen Kopfzeile
   und überdeckt den Seiteninhalt vollständig. Dadurch entstehen keine
   weißen Zwischenflächen oder sichtbaren Hero-Elemente zwischen Header
   und Menü. */
@media (max-width: 768px) {
    .bt-site-header nav.bt-nav-has-search,
    .bt-site-header nav.bt-nav-no-search {
        grid-template-areas: "logo search toggle" !important;
    }

    .bt-site-header nav.bt-nav-no-search {
        grid-template-areas: "logo toggle" !important;
    }

    .bt-site-header nav > ul {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-height: calc(100vh - 68px) !important;
        margin: 0 !important;
        padding: 8px 10px 12px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        background: #16697A !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: 0 14px 28px rgba(15,23,42,.22) !important;
        transform: none !important;
    }

    .bt-site-header #toggle_button:not(:checked) ~ ul {
        display: none !important;
    }

    .bt-site-header #toggle_button:checked ~ ul {
        display: flex !important;
    }

    .bt-site-header nav > ul > li > label,
    .bt-site-header nav > ul > li > a {
        background: rgba(255,255,255,.07) !important;
    }

    .bt-site-header nav .dropdown {
        background: rgba(7,76,87,.72) !important;
    }
}

/* Öffentliche Deal-Daten – bewusst dezent im globalen Footer */
.bt-footer-data-links{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:6px 9px;
    margin:24px 0 0;
    padding:14px 10px 0;
    border-top:1px solid rgba(255,255,255,.18);
    color:rgba(255,255,255,.68);
    font-size:12px;
    line-height:1.4;
    text-align:center;
}

.bt-footer-data-links > span:first-child{
    font-weight:700;
    color:rgba(255,255,255,.72);
}

.bt-modern-footer .bt-footer-data-links a{
    display:inline !important;
    margin:0 !important;
    padding:0 !important;
    color:rgba(255,255,255,.78) !important;
    font-size:12px !important;
    font-weight:500 !important;
    line-height:1.4 !important;
    text-decoration:none !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    width:auto !important;
    min-height:0 !important;
}

.bt-modern-footer .bt-footer-data-links a:hover{
    color:#fff !important;
    text-decoration:underline !important;
}

.bt-footer-data-links + .bt-footer-legal{
    margin-top:12px;
    padding-top:0;
    border-top:0;
}

@media(max-width:768px){
    .bt-footer-data-links{
        margin-top:20px;
        padding-top:12px;
        gap:5px 7px;
        font-size:11px;
    }

    .bt-modern-footer .bt-footer-data-links a{
        font-size:11px !important;
    }
}

