/*
|--------------------------------------------------------------------------
| Dibamed Homepage Hero + Shared Header Hotfix v0.6.8
|--------------------------------------------------------------------------
| Root causes fixed:
| 1) The active hero is .dhr3-hero, not .dhr4/.d55.
| 2) The hero partial contains late inline !important CSS, so this stylesheet
|    is intentionally loaded immediately before </body>, after the partial.
|--------------------------------------------------------------------------
*/

:root{
    --db68-gum-1:#f59db3;
    --db68-gum-2:#dd6786;
    --db68-gum-3:#bf456b;
    --db68-wa-1:#22dc88;
    --db68-wa-2:#08a660;
    --db68-wa-3:#067844;
}

/* ---------- Shared website header ---------- */
html body .db-public-header-v068{
    position:relative !important;
    z-index:80 !important;
    margin-bottom:0 !important;
    padding-bottom:0 !important;
}

html body .db-public-header-v068 nav,
html body .db-public-header-v068 .db-header-nav-v068{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:clamp(14px,1.25vw,25px) !important;
    min-width:0 !important;
}

html body .db-public-header-v068 nav > *,
html body .db-public-header-v068 .db-header-nav-v068 > *{
    flex:0 0 auto !important;
    min-width:0 !important;
}

html body .db-header-actions-v068{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:16px !important;
    flex:0 0 auto !important;
    min-width:max-content !important;
    margin-left:12px !important;
}

/* Remove every inherited offset that caused Contact/WhatsApp overlap. */
html body .db-wa-slot-v068,
html body .db-book-slot-v068{
    position:relative !important;
    inset:auto !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    transform:none !important;
    translate:none !important;
    margin:0 !important;
    flex:0 0 auto !important;
    width:auto !important;
    max-width:none !important;
    overflow:visible !important;
}

html body a.db-wa-lead-v068{
    position:relative !important;
    inset:auto !important;
    transform:none !important;
    translate:none !important;
    z-index:4 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
    width:auto !important;
    min-width:208px !important;
    max-width:none !important;
    min-height:54px !important;
    margin:0 !important;
    padding:0 20px !important;
    overflow:hidden !important;
    border:1px solid rgba(255,255,255,.52) !important;
    border-radius:20px !important;
    background:
        radial-gradient(circle at 28% 14%,rgba(255,255,255,.34),transparent 30%),
        linear-gradient(145deg,var(--db68-wa-1),var(--db68-wa-2) 60%,var(--db68-wa-3)) !important;
    color:#fff !important;
    box-shadow:
        0 15px 32px rgba(7,147,87,.25),
        inset 0 2px 0 rgba(255,255,255,.42),
        inset 0 -8px 18px rgba(0,78,43,.14) !important;
    text-decoration:none !important;
    white-space:nowrap !important;
    font-weight:900 !important;
    line-height:1 !important;
}

html body a.db-wa-lead-v068 svg{
    display:block !important;
    width:24px !important;
    height:24px !important;
    flex:0 0 24px !important;
    color:#fff !important;
    filter:drop-shadow(0 3px 5px rgba(0,0,0,.20)) !important;
}

html body a.db-wa-lead-v068 .db-wa-label-v068{
    display:block !important;
    white-space:nowrap !important;
}

html body a.db-wa-lead-v068:hover{
    transform:translateY(-2px) !important;
    box-shadow:
        0 19px 38px rgba(7,147,87,.34),
        inset 0 2px 0 rgba(255,255,255,.52) !important;
}

html body a.db-gum-book-v068,
html body button.db-gum-book-v068{
    position:relative !important;
    inset:auto !important;
    transform:none !important;
    translate:none !important;
    z-index:3 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:230px !important;
    min-height:58px !important;
    margin:0 !important;
    padding:0 25px !important;
    border:1px solid rgba(255,255,255,.58) !important;
    border-radius:21px !important;
    background:
        radial-gradient(circle at 28% 15%,rgba(255,255,255,.34),transparent 32%),
        linear-gradient(135deg,var(--db68-gum-1),var(--db68-gum-2) 58%,var(--db68-gum-3)) !important;
    color:#fff !important;
    box-shadow:
        0 16px 34px rgba(208,78,116,.27),
        inset 0 2px 0 rgba(255,255,255,.46),
        inset 0 -9px 20px rgba(105,20,50,.12) !important;
    text-shadow:0 1px 1px rgba(95,22,47,.20) !important;
    white-space:nowrap !important;
    font-weight:900 !important;
}

html body a.db-gum-book-v068:hover,
html body button.db-gum-book-v068:hover{
    transform:translateY(-2px) !important;
    box-shadow:
        0 20px 42px rgba(208,78,116,.36),
        inset 0 2px 0 rgba(255,255,255,.56) !important;
}

/* ---------- Remove pale layer below curved header ---------- */
html body .db-hero-parent-v068{
    margin-top:0 !important;
    padding-top:0 !important;
    border-top:0 !important;
}

html body .dhr3-anchor{
    height:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
}

html body .dhr3-hero{
    position:relative !important;
    z-index:1 !important;
    width:100% !important;
    max-width:none !important;
    height:500px !important;
    min-height:500px !important;
    max-height:500px !important;
    margin:-15px 0 0 !important;
    padding:0 !important;
    overflow:hidden !important;
    border:0 !important;
    border-radius:0 0 36px 36px !important;
    background:#dff7f4 !important;
    box-shadow:0 24px 58px rgba(26,78,87,.13) !important;
}

/* ---------- Correctly fitted hero image ---------- */
html body .dhr3-media{
    position:absolute !important;
    inset:0 !important;
    overflow:hidden !important;
    border-radius:inherit !important;
    background:#dcefed !important;
    isolation:isolate !important;
}

/* Soft full-bleed backdrop keeps the hero filled while the main image is zoomed out. */
html body .dhr3-media::before{
    content:"" !important;
    display:block !important;
    position:absolute !important;
    z-index:0 !important;
    inset:-7% !important;
    background-image:
        linear-gradient(90deg,rgba(34,68,82,.12),rgba(34,68,82,.02)),
        var(--db68-hero-image) !important;
    background-repeat:no-repeat !important;
    background-position:64% 50% !important;
    background-size:cover !important;
    filter:blur(8px) saturate(1.04) contrast(1.02) !important;
    opacity:.78 !important;
    transform:scale(1.05) !important;
}

html body .dhr3-media img{
    position:absolute !important;
    z-index:1 !important;
    top:0 !important;
    right:-1.5% !important;
    left:auto !important;
    bottom:auto !important;
    display:block !important;
    width:72% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:58% 50% !important;
    transform:scale(.92) !important;
    transform-origin:center right !important;
    filter:saturate(1.06) contrast(1.045) brightness(1.02) !important;
    border:0 !important;
    border-radius:0 !important;
}

/* Readable premium gradient without a text card. */
html body .dhr3-overlay{
    z-index:2 !important;
    background:
        linear-gradient(90deg,
            rgba(24,54,70,.96) 0%,
            rgba(25,61,76,.89) 28%,
            rgba(27,74,85,.61) 45%,
            rgba(29,89,95,.18) 64%,
            rgba(29,89,95,0) 79%
        ),
        linear-gradient(180deg,rgba(3,28,40,.02),rgba(3,28,40,.10)) !important;
}

html body .dhr3-inner{
    z-index:3 !important;
    padding:31px clamp(44px,5vw,86px) !important;
}

html body .dhr3-copy{
    width:min(650px,48%) !important;
    max-width:650px !important;
}

html body .dhr3-title{
    max-width:630px !important;
    margin:0 0 14px !important;
    font-size:clamp(43px,3.35vw,58px) !important;
    line-height:.98 !important;
}

html body .dhr3-text{
    max-width:620px !important;
    margin-bottom:17px !important;
    font-size:clamp(13.5px,1vw,16px) !important;
    line-height:1.52 !important;
}

/* Counter stability */
html body [data-dibamed-counter-v068]{
    display:inline-block !important;
    min-width:2.2ch !important;
    font-variant-numeric:tabular-nums !important;
}

/* ---------- Responsive header + hero ---------- */
@media (max-width:1450px){
    html body .db-public-header-v068 nav,
    html body .db-public-header-v068 .db-header-nav-v068{
        gap:14px !important;
    }

    html body .db-header-actions-v068{
        gap:12px !important;
        margin-left:6px !important;
    }

    html body a.db-wa-lead-v068{
        min-width:176px !important;
        padding-inline:15px !important;
    }

    html body a.db-gum-book-v068,
    html body button.db-gum-book-v068{
        min-width:205px !important;
        padding-inline:19px !important;
    }
}

@media (max-width:1180px){
    html body .dhr3-hero{
        height:440px !important;
        min-height:440px !important;
        max-height:440px !important;
        border-radius:0 0 30px 30px !important;
    }

    html body .dhr3-media img{
        width:76% !important;
        right:-5% !important;
        transform:scale(.94) !important;
    }

    html body .dhr3-copy{
        width:54% !important;
    }

    html body .dhr3-title{
        font-size:clamp(39px,4.5vw,50px) !important;
    }

    html body a.db-wa-lead-v068 .db-wa-label-v068{
        font-size:0 !important;
    }

    html body a.db-wa-lead-v068 .db-wa-label-v068::after{
        content:"WhatsApp" !important;
        font-size:14px !important;
    }

    html body a.db-wa-lead-v068{
        min-width:132px !important;
    }
}

@media (max-width:960px){
    html body .db-header-actions-v068{
        width:100% !important;
        justify-content:center !important;
        margin:10px 0 0 !important;
        flex-wrap:wrap !important;
    }

    html body .dhr3-hero{
        margin-top:-10px !important;
    }
}

@media (max-width:767px){
    html body .dhr3-hero{
        width:calc(100% - 18px) !important;
        height:540px !important;
        min-height:540px !important;
        max-height:540px !important;
        margin:-9px 9px 24px !important;
        border-radius:0 0 25px 25px !important;
    }

    html body .dhr3-media::before{
        inset:-4% !important;
        background-position:64% 44% !important;
        filter:blur(5px) saturate(1.04) !important;
    }

    html body .dhr3-media img{
        top:-4% !important;
        right:-10% !important;
        width:112% !important;
        height:65% !important;
        object-fit:contain !important;
        object-position:center top !important;
        transform:scale(.94) !important;
        transform-origin:center top !important;
    }

    html body .dhr3-overlay{
        background:
            linear-gradient(180deg,
                rgba(17,54,66,.02) 0%,
                rgba(17,54,66,.15) 31%,
                rgba(18,50,67,.90) 65%,
                rgba(16,45,62,.99) 100%
            ) !important;
    }

    html body .dhr3-inner{
        align-items:flex-end !important;
        padding:24px 21px !important;
    }

    html body .dhr3-copy{
        width:100% !important;
        max-width:none !important;
    }

    html body .dhr3-title{
        font-size:clamp(36px,10.2vw,47px) !important;
    }

    html body a.db-wa-lead-v068,
    html body a.db-gum-book-v068,
    html body button.db-gum-book-v068{
        min-height:48px !important;
        border-radius:17px !important;
    }
}

@media (max-width:420px){
    html body .dhr3-hero{
        height:565px !important;
        min-height:565px !important;
        max-height:565px !important;
    }

    html body .db-header-actions-v068{
        gap:8px !important;
    }

    html body a.db-wa-lead-v068{
        min-width:118px !important;
        padding-inline:12px !important;
    }

    html body a.db-gum-book-v068,
    html body button.db-gum-book-v068{
        min-width:178px !important;
        padding-inline:15px !important;
    }
}

@media (prefers-reduced-motion:reduce){
    html body a.db-wa-lead-v068,
    html body a.db-gum-book-v068,
    html body button.db-gum-book-v068{
        transition:none !important;
    }
}
