:root{--jd-navy:#0b344f;--jd-blue:#145a82;--jd-cyan:#23a5c6;--jd-ice:#eef7fa;--jd-text:#18364d;--jd-muted:#687d8d;--jd-line:#dce7ed;--jd-white:#fff;--jd-shadow:0 16px 45px rgba(17,54,78,.10)}.jd-page{padding:3rem 0 4.5rem;color:var(--jd-text)}.jd-page__header{max-width:780px;margin-bottom:2rem}.jd-page__header h1{margin:.3rem 0 .75rem;font-size:clamp(2.1rem,4vw,3.5rem);line-height:1.05}.jd-page__header p{max-width:680px;margin:0;color:var(--jd-muted);font-size:1.08rem;line-height:1.7}.jd-page__eyebrow{color:var(--jd-cyan);font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.jd-partner{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);align-items:center;gap:3rem;overflow:hidden;margin:0 0 4rem;padding:clamp(2rem,5vw,4.5rem);border-radius:24px;background:linear-gradient(125deg,#082e48 0%,#105477 58%,#1683a5 100%);color:#fff;box-shadow:0 24px 65px rgba(8,46,72,.22)}.jd-partner:before,.jd-partner:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.jd-partner:before{right:-120px;top:-170px;width:420px;height:420px;border:1px solid rgba(255,255,255,.11)}.jd-partner:after{right:105px;bottom:-240px;width:470px;height:470px;background:rgba(255,255,255,.035)}.jd-partner__content{position:relative;z-index:2;max-width:760px}.jd-partner__badge{display:inline-flex;align-items:center;gap:.6rem;padding:.55rem .9rem;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.1);font-size:.76rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.jd-partner h2{max-width:650px;margin:1.4rem 0 .9rem;color:#fff;font-size:clamp(2rem,4vw,3.45rem);line-height:1.07}.jd-partner p{max-width:670px;margin:0;color:rgba(255,255,255,.83);font-size:1.08rem;line-height:1.75}.jd-partner__benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1.5rem;margin:2rem 0;padding:0;list-style:none}.jd-partner__benefits li{position:relative;padding-left:1.7rem;color:rgba(255,255,255,.94);font-weight:600}.jd-partner__benefits li:before{content:"✓";position:absolute;left:0;top:0;color:#72e1d0;font-weight:900}.jd-partner__actions{display:flex;flex-wrap:wrap;gap:.8rem}.jd-button{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;min-height:50px;padding:0 1.4rem;border:0;border-radius:999px;font-weight:800;text-decoration:none!important;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;cursor:pointer}.jd-button:hover{transform:translateY(-2px)}.jd-button--primary{background:#fff;color:var(--jd-navy)!important;box-shadow:0 10px 25px rgba(0,0,0,.16)}.jd-button--secondary{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.1);color:#fff!important}.jd-partner__visual{position:relative;z-index:2;display:flex;justify-content:center}.jd-globe{position:relative;display:flex;align-items:center;justify-content:center;width:260px;aspect-ratio:1;border:1px solid rgba(255,255,255,.24);border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.22),rgba(255,255,255,.04) 45%,rgba(0,0,0,.08));box-shadow:inset 0 0 50px rgba(255,255,255,.08),0 25px 50px rgba(0,0,0,.15)}.jd-globe:before,.jd-globe:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.22);border-radius:50%}.jd-globe:before{inset:15% 35%}.jd-globe:after{inset:35% 8%}.jd-globe strong{display:flex;align-items:center;justify-content:center;width:68px;height:68px;border-radius:20px;background:#fff;color:var(--jd-blue);font-size:2.7rem;box-shadow:0 12px 30px rgba(0,0,0,.18)}.jd-globe__orbit{position:absolute;border:1px solid rgba(255,255,255,.15);border-radius:50%}.jd-globe__orbit--one{inset:7%;transform:rotate(35deg)}.jd-globe__orbit--two{inset:18%;transform:rotate(-35deg)}.jd-globe__dot{position:absolute;width:11px;height:11px;border:3px solid rgba(255,255,255,.35);border-radius:50%;background:#75e0d1;box-shadow:0 0 0 5px rgba(117,224,209,.12)}.jd-globe__dot--one{left:19%;top:28%}.jd-globe__dot--two{right:14%;top:46%}.jd-globe__dot--three{left:43%;bottom:10%}.jd-directory__heading{display:flex;align-items:end;justify-content:space-between;gap:1.5rem;margin-bottom:1.25rem}.jd-directory__heading h2{margin:.25rem 0 0;font-size:clamp(1.65rem,3vw,2.35rem)}.jd-directory__count{padding:.5rem .85rem;border-radius:999px;background:var(--jd-ice);color:var(--jd-blue);font-size:.82rem;font-weight:800}.jd-toolbar{margin-bottom:1rem}.jd-search{position:relative;display:block}.jd-search input{width:100%;height:58px;padding:0 3.2rem;border:1px solid var(--jd-line);border-radius:15px;background:#fff;color:var(--jd-text);font-size:1rem;outline:none;box-shadow:0 8px 25px rgba(17,54,78,.06)}.jd-search input:focus{border-color:var(--jd-cyan);box-shadow:0 0 0 4px rgba(35,165,198,.12),0 10px 30px rgba(17,54,78,.08)}.jd-search__icon{position:absolute;z-index:1;left:1.25rem;top:50%;width:17px;height:17px;border:2px solid var(--jd-muted);border-radius:50%;transform:translateY(-55%)}.jd-search__icon:after{content:"";position:absolute;right:-6px;bottom:-4px;width:7px;height:2px;background:var(--jd-muted);transform:rotate(45deg)}.jd-search button{position:absolute;right:1rem;top:50%;width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:var(--jd-muted);font-size:1.4rem;transform:translateY(-50%);cursor:pointer}.jd-country-filters{display:flex;gap:.6rem;overflow-x:auto;margin:0 0 1.6rem;padding:.15rem 0 .55rem;scrollbar-width:thin}.jd-country-filters button{display:inline-flex;align-items:center;gap:.5rem;flex:0 0 auto;min-height:40px;padding:0 .95rem;border:1px solid var(--jd-line);border-radius:999px;background:#fff;color:var(--jd-text);font-weight:700;cursor:pointer;transition:.2s ease}.jd-country-filters button span{display:inline-flex;align-items:center;justify-content:center;min-width:27px;height:22px;padding:0 .3rem;border-radius:5px;background:var(--jd-ice);color:var(--jd-blue);font-size:.68rem;letter-spacing:.04em}.jd-country-filters button:hover,.jd-country-filters button.is-active{border-color:var(--jd-blue);background:var(--jd-blue);color:#fff}.jd-country-filters button.is-active span{background:rgba(255,255,255,.16);color:#fff}.jd-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.25rem}.jd-card{display:flex;flex-direction:column;min-height:100%;overflow:hidden;border:1px solid var(--jd-line);border-radius:17px;background:#fff;box-shadow:0 9px 28px rgba(17,54,78,.07);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.jd-card:hover{transform:translateY(-5px);border-color:#c8dce6;box-shadow:var(--jd-shadow)}.jd-card[hidden]{display:none}.jd-card__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:94px;padding:1.15rem 1.25rem;border-bottom:1px solid #e6eef2;background:linear-gradient(135deg,#f4f9fb,#edf5f8)}.jd-card__country{display:flex;align-items:center;gap:.75rem;min-width:0}.jd-card__code{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:42px;height:42px;}.jd-card__header small{display:block;color:var(--jd-muted);font-size:.69rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.jd-card__header h3{overflow:hidden;margin:.15rem 0 0;color:var(--jd-text);font-size:1.25rem;text-overflow:ellipsis;white-space:nowrap}.jd-card__logo{display:flex;align-items:center;justify-content:center;flex:0 0 110px;height:58px}.jd-card__logo img{max-width:110px;max-height:56px;object-fit:contain}.jd-card__body{flex:1;padding:1.35rem}.jd-card__body h4{margin:0 0 .35rem;font-size:1.08rem}.jd-card__contact{margin:0 0 .8rem;color:var(--jd-blue);font-weight:700}.jd-card address{margin:0;color:var(--jd-muted);font-style:normal;line-height:1.65}.jd-card__details{display:grid;gap:.45rem;margin:1.2rem 0 0}.jd-card__details div{display:grid;grid-template-columns:minmax(75px,auto) 1fr;gap:.75rem}.jd-card__details dt{color:var(--jd-muted);font-weight:600}.jd-card__details dd{min-width:0;margin:0;overflow-wrap:anywhere}.jd-card__details a{color:var(--jd-text);text-decoration:none}.jd-card__footer{display:flex;gap:.65rem;padding:1rem 1.25rem;border-top:1px solid #e7eef2;background:#fcfdfd}.jd-card__footer a{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .75rem;border-radius:8px;background:var(--jd-ice);color:var(--jd-blue)!important;font-size:.82rem;font-weight:800;text-decoration:none!important}.jd-no-results{padding:4rem 1rem;text-align:center}.jd-no-results>span{display:inline-flex;align-items:center;justify-content:center;width:68px;height:68px;border-radius:50%;background:var(--jd-ice);color:var(--jd-blue);font-size:2rem}.jd-no-results h3{margin:1rem 0 .35rem}.jd-no-results p{color:var(--jd-muted)}.jd-button--reset{margin-top:.7rem;background:var(--jd-blue);color:#fff}.jd-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:991px){.jd-partner{grid-template-columns:1fr}.jd-partner__visual{display:none}.jd-partner__benefits{grid-template-columns:1fr}.jd-directory__heading{align-items:flex-start;flex-direction:column}}@media(max-width:575px){.jd-page{padding-top:2rem}.jd-partner{padding:2rem 1.3rem;border-radius:18px}.jd-partner__actions{align-items:stretch;flex-direction:column}.jd-button{width:100%}.jd-grid{grid-template-columns:1fr}.jd-card__header{align-items:flex-start}.jd-card__logo{flex-basis:90px}.jd-card__logo img{max-width:90px}.jd-card__footer{flex-wrap:wrap}}

/* ========================================================================
   DISTRIBUTORS PAGE - IMPRESSUM-LIKE HERO ALIGNMENT
   ======================================================================== */
.jd-page {
    --jd-navy: #062f52;
    --jd-blue: #075f91;
    --jd-red: #063f69;
    --jd-text: #172837;
    --jd-muted: #687987;
    --jd-line: #dfe7ed;
    --jd-white: #fff;
    --jd-ice: #f5f8fa;

    margin: 0 -12px;
    padding: 0;
    overflow: hidden;
    color: var(--jd-text);
    background: #f5f8fa;
}

.jd-page *,
.jd-page *::before,
.jd-page *::after {
    box-sizing: border-box;
}

.jd-page__container {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 20px;
}

.jd-page__hero {
    position: relative;
    padding: 82px 0 68px;
    overflow: hidden;
    color: #fff;
    text-align: center;
    background:
        radial-gradient(circle at 85% 12%, rgba(31,132,183,.30), transparent 31%),
        linear-gradient(125deg, #031d33, #063f69 58%, #075f91);
}

.jd-page__hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
    background-size: 44px 44px;
    pointer-events: none;
}

.jd-page__hero-content {
    position: relative;
    z-index: 1;
}

.jd-page__hero .jd-page__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #8cc9e8;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.jd-page__hero .jd-page__eyebrow::before {
    content: "";
    width: 32px;
    height: 2px;
    background: currentColor;
}

.jd-page__hero h1 {
    max-width: 900px;
    margin: 13px auto 16px;
    color: #fff;
    font-size: clamp(2.5rem, 5vw, 4.5rem);
    font-weight: 800;
    line-height: 1.04;
    letter-spacing: -.045em;
}

.jd-page__hero p {
    max-width: 720px;
    margin: 0 auto;
    color: rgba(255,255,255,.76);
    font-size: 1.08rem;
    line-height: 1.75;
}

.jd-page__body {
    padding: 70px 0 90px;
}

/* Partnerbereich als breite Premium-Karte im selben Seitenraster */
.jd-page .jd-partner {
    margin: 0 0 58px;
    border-radius: 22px;
    background:
        radial-gradient(circle at 88% 10%, rgba(31,132,183,.24), transparent 32%),
        linear-gradient(125deg, #031d33, #063f69 62%, #075f91);
    box-shadow: 0 18px 48px rgba(3,29,51,.18);
}

.jd-page .jd-partner__badge {
    color: #fff;
    border-color: rgba(255,255,255,.22);
    background: rgba(255,255,255,.08);
}

.jd-page .jd-partner__benefits li::before {
    color: #8cc9e8;
}

.jd-page .jd-button--primary {
    color: #fff !important;
    background: linear-gradient(145deg, #063f69, #062f52);
    box-shadow: 0 12px 28px rgba(6,63,105,.18);
}

.jd-page .jd-button--primary:hover,
.jd-page .jd-button--primary:focus-visible {
    color: #fff !important;
    background: #031d33;
}

/* Verzeichnisüberschrift und Karten an Impressum-Typografie angleichen */
.jd-page .jd-directory__heading h2 {
    color: var(--jd-navy);
    font-weight: 800;
    letter-spacing: -.025em;
}

.jd-page .jd-directory__heading .jd-page__eyebrow {
    color: var(--jd-red);
}

.jd-page .jd-directory__count {
    color: var(--jd-blue);
    background: #edf5f8;
    border: 1px solid var(--jd-line);
}

.jd-page .jd-search input,
.jd-page .jd-country-filters button,
.jd-page .jd-card {
    border-color: var(--jd-line);
}

.jd-page .jd-card {
    border-radius: 20px;
    box-shadow: 0 13px 38px rgba(18,52,75,.07);
}

.jd-card__type {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.69rem;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.jd-card__type::before {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
}

/* Eigene Niederlassung */
.jd-card__type--office {
    color: #075783;
}

.jd-card__type--office::before {
    background: #075783;
    box-shadow: 0 0 0 3px rgba(7, 87, 131, 0.12);
}

/* Eigene Vertretung */
.jd-card__type--representative {
    color: #b66b00;
}

.jd-card__type--representative::before {
    background: #e09827;
    box-shadow: 0 0 0 3px rgba(224, 152, 39, 0.14);
}

/* Externer Distributor */
.jd-card__type--distributor {
    color: #687987;
}

.jd-card__type--distributor::before {
    background: #8b9ba7;
}

.jd-page .jd-card:hover {
    border-color: rgba(6,63,105,.22);
    box-shadow: 0 18px 48px rgba(3,29,51,.14);
}

.jd-page .jd-card__header {
    background: linear-gradient(135deg, #f2f6f8, #fff 68%);
}

.jd-page .jd-card__footer a {
    color: var(--jd-blue) !important;
    background: #f5f8fa;
}

.jd-page .jd-country-filters button:hover,
.jd-page .jd-country-filters button.is-active {
    color: #fff;
    border-color: var(--jd-red);
    background: var(--jd-red);
}

.jd-page .jd-search input:focus {
    border-color: var(--jd-blue);
    box-shadow: 0 0 0 4px rgba(7,95,145,.11), 0 10px 30px rgba(17,54,78,.08);
}

@media (max-width: 700px) {
    .jd-page__hero {
        padding: 62px 0 50px;
    }

    .jd-page__body {
        padding: 48px 0 65px;
    }
}

@media (max-width: 575px) {
    .jd-page {
        margin: 0;
    }

    .jd-page__container {
        padding: 0 15px;
    }

    .jd-page__hero h1 {
        font-size: 2.25rem;
    }

    .jd-page .jd-partner {
        padding: 28px 24px;
        border-radius: 20px;
    }
}

/* FINAL: EINHEITLICHES JONGEN-BLAU */
.jd-page {
    --jd-navy: #062f52;
    --jd-blue: #063f69;
    --jd-cyan: #8cc9e8;
    --jd-red: #063f69;
    --jd-line: #d7e4e7;
    --jd-ice: #f2f6f8;
}

.jd-page .jd-page__eyebrow,
.jd-page .jd-directory__heading .jd-page__eyebrow {
    color: #063f69;
}
.jd-page__hero .jd-page__eyebrow {
    color: #8cc9e8;
}

.jd-page .jd-partner__benefits li::before {
    color: #8cc9e8;
}

.jd-page .jd-button {
    border-radius: 8px;
    box-shadow: none;
}
.jd-page .jd-button--primary {
    color: #fff !important;
    background: #063f69;
    background-image: none;
    box-shadow: none;
}
.jd-page .jd-button--primary:hover,
.jd-page .jd-button--primary:focus-visible {
    color: #fff !important;
    background: #062f52;
    transform: none;
}
.jd-page .jd-button--primary:active {
    background: #031d33;
}

.jd-page .jd-country-filters button {
    border-radius: 8px;
}
.jd-page .jd-country-filters button:hover,
.jd-page .jd-country-filters button.is-active {
    color: #fff;
    border-color: #063f69;
    background: #063f69;
}

.jd-page .jd-card {
    border: 1px solid #d7e4e7;
    border-left: 4px solid #063f69;
    border-radius: 8px;
    box-shadow: none;
}
.jd-page .jd-card:hover {
    border-color: #c2d4de;
    border-left-color: #062f52;
    box-shadow: 0 10px 28px rgba(6,63,105,.10);
    transform: none;
}
.jd-page .jd-card__header {
    background: #f2f6f8;
    background-image: none;
}
.jd-page .jd-card__footer a {
    color: #063f69 !important;
    background: #f2f6f8;
    border-radius: 8px;
}
.jd-page .jd-card__contact,
.jd-page .jd-directory__count {
    color: #063f69;
}

.jd-page .jd-search input {
    border-radius: 8px;
    box-shadow: none;
}
.jd-page .jd-search input:focus {
    border-color: #063f69;
    box-shadow: 0 0 0 4px rgba(6,63,105,.12);
}

.jd-page .jd-button--reset {
    color: #fff;
    background: #063f69;
}

