/* Jongen Wie bestellen? | Impressum Hero Design */
.joi-order {
    --joi-navy: #062f52;
    --joi-blue: #075f91;
    --joi-red: #063f69;
    --joi-ink: #172837;
    --joi-muted: #687987;
    --joi-line: #dfe7ed;
    --joi-white: #fff;

    margin: 0 -12px;
    overflow: hidden;
    color: var(--joi-ink);
    background: #f5f8fa;
    font-family: inherit;
}

.joi-order *,
.joi-order *::before,
.joi-order *::after { box-sizing: border-box; }

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

.joi-order__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);
}

.joi-order__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;
}

.joi-order__hero-content { position: relative; z-index: 1; }

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

.joi-order__eyebrow::before,
.joi-order__section-label::before {
    content: "";
    width: 32px;
    height: 2px;
    background: currentColor;
}

.joi-order__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;
}

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

.joi-order__body { padding: 70px 0 90px; }

.joi-order__intro {
    display: grid;
    grid-template-columns: 86px minmax(0,1fr);
    gap: 30px;
    align-items: center;
    padding: 38px;
    background: #fff;
    border-radius: 22px;
    box-shadow: 0 18px 48px rgba(3,29,51,.18);
}

.joi-order__intro-icon {
    display: grid;
    place-items: center;
    width: 86px;
    height: 86px;
    color: #fff;
    background: linear-gradient(145deg,#063f69,#062f52);
    border-radius: 20px;
    box-shadow: 0 12px 28px rgba(6, 63, 105, .28);
    font-size: 2rem;
}

.joi-order__section-label { color: var(--joi-red); }

.joi-order h2 {
    margin: 7px 0 13px;
    color: var(--joi-navy);
    font-size: clamp(1.75rem,3vw,2.45rem);
    font-weight: 800;
    letter-spacing: -.03em;
}

.joi-order__intro p,
.joi-order__heading p,
.joi-order__service p,
.joi-order__request p {
    margin: 0;
    color: var(--joi-muted);
    line-height: 1.72;
}

.joi-order__methods { margin-top: 58px; }
.joi-order__heading { max-width: 760px; margin-bottom: 25px; }

.joi-order__method-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 24px;
}

.joi-order__card {
    position: relative;
    min-width: 0;
    min-height: 315px;
    padding: 34px;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--joi-line);
    border-radius: 20px;
    box-shadow: 0 13px 38px rgba(18,52,75,.07);
}

.joi-order__card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--joi-red);
}

.joi-order__card--primary {
    background: linear-gradient(135deg,#f2f6f8,#fff 65%);
    border-color: rgba(6, 63, 105, .22);
}

.joi-order__card-icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    margin-bottom: 20px;
    color: var(--joi-red);
    background: #f2f6f8;
    border-radius: 13px;
    font-size: 1.15rem;
}

.joi-order__card--primary .joi-order__card-icon {
    color: #fff;
    background: var(--joi-red);
}

.joi-order__badge {
    display: inline-flex;
    padding: .3rem .65rem;
    color: var(--joi-red);
    background: #f2f6f8;
    border-radius: 999px;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.joi-order__card h3 {
    margin: 15px 0 12px;
    color: var(--joi-navy);
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: -.02em;
}

.joi-order__card p {
    margin: 0 0 22px;
    color: var(--joi-muted);
    line-height: 1.68;
}

.joi-order__button,
.joi-order__contact-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 48px;
    padding: 12px 18px;
    border-radius: 11px;
    font-weight: 800;
    line-height: 1.25;
    text-decoration: none;
}

.joi-order__button { transition: transform .2s ease, background-color .2s ease; }

.joi-order__button--primary {
    color: #fff;
    background: linear-gradient(145deg,#063f69,#062f52);
    box-shadow: 0 12px 28px rgba(6, 63, 105, .22);
}

.joi-order__button--outline {
    flex: 0 0 auto;
    color: var(--joi-red);
    background: #fff;
    border: 2px solid var(--joi-red);
}

.joi-order__contact-link {
    max-width: 100%;
    color: var(--joi-blue);
    background: #f5f8fa;
    border: 1px solid var(--joi-line);
    overflow-wrap: anywhere;
}

.joi-order__contact-link--static { cursor: default; }

.joi-order__button:hover,
.joi-order__button:focus-visible {
    color: #fff;
    text-decoration: none;
    transform: translateY(-2px);
}

.joi-order__button--primary:hover,
.joi-order__button--primary:focus-visible { background: #031d33; }
.joi-order__button--outline:hover,
.joi-order__button--outline:focus-visible { color: #fff; background: var(--joi-red); }
.joi-order__contact-link:hover,
.joi-order__contact-link:focus-visible {
    color: var(--joi-red);
    text-decoration: none;
    border-color: rgba(6, 63, 105, .25);
    background: #f2f6f8;
}

.joi-order__service {
    display: grid;
    grid-template-columns: minmax(0,1fr) 95px;
    gap: 30px;
    align-items: center;
    margin-top: 24px;
    padding: 38px;
    color: #fff;
    background:
        radial-gradient(circle at 88% 10%,rgba(31,132,183,.26),transparent 34%),
        linear-gradient(125deg,#031d33,#063f69 62%,#075f91);
    border-radius: 22px;
    box-shadow: 0 18px 48px rgba(3,29,51,.18);
}

.joi-order__service h2 { color: #fff; }
.joi-order__service p { color: rgba(255,255,255,.72); }
.joi-order__service .joi-order__section-label { color: #8cc9e8; }

.joi-order__service-icon {
    display: grid;
    place-items: center;
    width: 86px;
    height: 86px;
    color: #fff;
    background: linear-gradient(145deg,#063f69,#062f52);
    border-radius: 20px;
    font-size: 2rem;
}

.joi-order__hours {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 20px;
    padding: 12px 15px;
    color: #fff;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 10px;
    font-weight: 750;
}

.joi-order__request {
    display: grid;
    grid-template-columns: 58px minmax(0,1fr) auto;
    gap: 22px;
    align-items: center;
    margin-top: 24px;
    padding: 34px;
    background: linear-gradient(135deg,#f2f6f8,#fff 65%);
    border: 1px solid rgba(6, 63, 105, .22);
    border-radius: 20px;
    box-shadow: 0 13px 38px rgba(18,52,75,.07);
}

.joi-order__request-icon {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    color: #fff;
    background: var(--joi-red);
    border-radius: 13px;
    font-size: 1.25rem;
}

.joi-order__note {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    margin-top: 26px;
    padding: 18px 22px;
    color: var(--joi-muted);
    background: #fff;
    border: 1px solid var(--joi-line);
    border-radius: 14px;
    font-size: .88rem;
    line-height: 1.55;
}

.joi-order__note i { margin-top: 3px; color: var(--joi-blue); }
.joi-order__note p { margin: 0; }

/* Schutz vor globalen Theme-Linkfarben */
.joi-order .joi-order__button--primary,
.joi-order .joi-order__button--primary:link,
.joi-order .joi-order__button--primary:visited { color: #fff !important; }
.joi-order .joi-order__button--outline,
.joi-order .joi-order__button--outline:link,
.joi-order .joi-order__button--outline:visited { color: var(--joi-red); }
.joi-order .joi-order__button--outline:hover,
.joi-order .joi-order__button--outline:focus-visible { color: #fff !important; }
.joi-order .joi-order__contact-link,
.joi-order .joi-order__contact-link:link,
.joi-order .joi-order__contact-link:visited { color: var(--joi-blue); }

@media (max-width: 820px) {
    .joi-order__method-grid { grid-template-columns: 1fr; }
    .joi-order__request { grid-template-columns: 58px minmax(0,1fr); }
    .joi-order__request .joi-order__button { grid-column: 1 / -1; width: 100%; }
}

@media (max-width: 700px) {
    .joi-order__hero { padding: 62px 0 50px; }
    .joi-order__body { padding: 48px 0 65px; }
    .joi-order__intro { grid-template-columns: 1fr; text-align: center; }
    .joi-order__intro-icon { margin: 0 auto; }
    .joi-order__service { grid-template-columns: 1fr; }
    .joi-order__service-icon { grid-row: 1; }
}

@media (max-width: 575px) {
    .joi-order { margin: 0; }
    .joi-order__container { padding: 0 15px; }
    .joi-order__hero h1 { font-size: 2.25rem; }
    .joi-order__intro,
    .joi-order__card,
    .joi-order__service,
    .joi-order__request { padding: 28px 24px; }
    .joi-order__card { min-height: 0; }
    .joi-order__button--primary,
    .joi-order__contact-link { width: 100%; }
    .joi-order__request { grid-template-columns: 1fr; text-align: center; }
    .joi-order__request-icon { margin: 0 auto; }
    .joi-order__request .joi-order__section-label { justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
    .joi-order__button { transition: none; }
}

/* FINAL: EINHEITLICHES JONGEN-BLAU */
.joi-order {
    --jg-accent: #063f69;
    --jg-accent-hover: #062f52;
    --jg-accent-active: #031d33;
    --jg-accent-light: #8cc9e8;
}

.joi-order__intro, .joi-order__card, .joi-order__service, .joi-order__request, .joi-order__note { border-radius: 8px !important; box-shadow: none !important; }
.joi-order__intro, .joi-order__card, .joi-order__request { border: 1px solid #d7e4e7 !important; border-left: 4px solid #063f69 !important; }
.joi-order__card::before { display: none !important; }
.joi-order__intro-icon, .joi-order__service-icon, .joi-order__request-icon { background: #063f69 !important; background-image: none !important; border-radius: 8px !important; box-shadow: none !important; }
.joi-order__card--primary, .joi-order__request { background: #fff !important; }
.joi-order__card-icon { background: #f2f6f8 !important; color: #063f69 !important; border-radius: 8px !important; }
.joi-order__button { border-radius: 8px !important; box-shadow: none !important; transform: none !important; }
.joi-order__button--primary { background: #063f69 !important; background-image: none !important; }
.joi-order__button--primary:hover { background: #062f52 !important; }

/* Geschäftszeiten: zweizeilige, gut lesbare Darstellung */
.joi-order__hours {
    align-items: flex-start;
}

.joi-order__hours > i {
    margin-top: 4px;
}

.joi-order__hours-list {
    display: grid;
    gap: 6px;
    min-width: min(100%, 310px);
}

.joi-order__hours-list > div {
    display: grid;
    grid-template-columns: minmax(120px, 1fr) auto;
    gap: 20px;
    align-items: baseline;
}

.joi-order__hours-list span {
    color: rgba(255,255,255,.78);
}

.joi-order__hours-list strong {
    color: #fff;
    white-space: nowrap;
}

@media (max-width: 575px) {
    .joi-order__hours {
        display: flex;
        width: 100%;
    }

    .joi-order__hours-list {
        width: 100%;
        min-width: 0;
    }

    .joi-order__hours-list > div {
        grid-template-columns: 1fr;
        gap: 1px;
    }
}

/* Persönliche Betreuung durch die Anwendungstechnik */
.joi-order__technical{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:24px;align-items:center;margin-top:24px;padding:34px;background:#fff;border:1px solid #d7e4e7;border-left:4px solid #063f69;border-radius:8px}.joi-order__technical-icon{display:grid;place-items:center;width:72px;height:72px;color:#fff;background:#063f69;border-radius:8px;font-size:1.7rem}.joi-order__technical h2{margin-bottom:8px}.joi-order__technical p{margin:0;color:var(--joi-muted);line-height:1.72}@media(max-width:820px){.joi-order__technical{grid-template-columns:72px minmax(0,1fr)}.joi-order__technical .joi-order__button{grid-column:1/-1;width:100%}}@media(max-width:575px){.joi-order__technical{grid-template-columns:1fr;padding:28px 24px;text-align:center}.joi-order__technical-icon{margin:0 auto}.joi-order__technical .joi-order__section-label{justify-content:center}}
