:root {
    --ahk-glass-bg: #f5f7fb;
    --ahk-glass-white: rgba(255, 255, 255, .48);
    --ahk-glass-white-strong: rgba(255, 255, 255, .82);
    --ahk-glass-soft: rgba(248, 249, 251, .72);
    --ahk-glass-border: rgba(255, 255, 255, .78);
    --ahk-glass-border-strong: rgba(255, 255, 255, .92);
    --ahk-glass-shadow: 0 18px 50px rgba(15, 23, 42, .08);
    --ahk-glass-shadow-hover: 0 24px 60px rgba(15, 23, 42, .13);
    --ahk-glass-radius: 28px;
    --ahk-glass-radius-sm: 18px;
    --ahk-primary: var(--bs-primary, #ff6000);
    --ahk-secondary: var(--bs-secondary, #24264f);
    --ahk-muted: #6b7280;
}

/* Page Background */
body {
    background:
            radial-gradient(circle at 8% 0%, rgb(255 96 0 / 5%),
            transparent 28%),
            radial-gradient(circle at 92% 12%, rgb(36 38 79 / 0%),
            transparent 32%),
            linear-gradient(180deg, #f7f8fc 0%, #eef1f7 100%) !important;
    color: var(--ahk-secondary);
}

/* Global Rounded Images */
img,
.img-fluid,
.img-round {
    border-radius: 18px;
}

.rating-preview .rated-trust-factors > img {
    border-radius: 0px;
}

/* Header / Navigation */
header,
.navbar,
.sticky-top,
.fixed-top,
#header,
#main-header {
    background: rgba(255, 255, 255, .76) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .8);
    box-shadow: 0 12px 35px rgba(15, 23, 42, .06);
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
}

.navbar .nav-link,
.navbar a,
header a {
    border-radius: 999px;
    transition: .22s ease;
}

.navbar .nav-link:hover,
.navbar a:not(.btn):hover,
header a:not(.btn):hover {
    background: rgba(255, 96, 0, .10);
    color: var(--ahk-primary) !important;
}

/* Dropdowns */
.dropdown-menu {
    background: rgba(255, 255, 255, .88) !important;
    border: 1px solid var(--ahk-glass-border-strong) !important;
    border-radius: 20px !important;
    box-shadow: 0 22px 55px rgba(15, 23, 42, .14) !important;
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    padding: .65rem !important;
}

.dropdown-item {
    border-radius: 12px;
    transition: .2s ease;
}

.dropdown-item:hover,
.dropdown-item:focus {
    background: rgba(255, 96, 0, .10) !important;
    color: var(--ahk-primary) !important;
}

/* Hero / Intro Areas */
.hero,
.hero-section,
.jumbotron,
[class*="hero"],
[class*="intro"] {
    border-radius: 34px !important;
    overflow: hidden;
    position: relative;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .16);
}

.hero::after,
.hero-section::after,
.jumbotron::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
            linear-gradient(90deg, rgba(36, 38, 79, .78), rgba(36, 38, 79, .22)),
            radial-gradient(circle at 82% 18%, rgba(255, 96, 0, .28), transparent 34%);
    z-index: 1;
    pointer-events: none;
}

#intro-image > *,
.hero > *,
.hero-section > *,
.jumbotron > * {
    position: relative;
    z-index: 2;
}

/* Sections */
section,
.page-section,
.content-section,
.container > .row:not(:first-child) {
    border-radius: var(--ahk-glass-radius);
}

/* Bootstrap Cards + Custom Cards */
.card,
.ahk-card,
.glass-card,
.list-group,
.accordion-item,
.alert,
.toast,
.modal-content,
.offcanvas,
.breadcrumb {
    background: var(--ahk-glass-white) !important;
    border: 1px solid var(--ahk-glass-border) !important;

    border-top-left-radius: 22px;
    border-top-right-radius: 22px;
    border-bottom-left-radius: 22px;
    border-bottom-right-radius: 22px;
    box-shadow: var(--ahk-glass-shadow) !important;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

.card,
.ahk-card,
[class*="tile"],
[class*="box"],
[class*="item"] {
    transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.card:hover,
.ahk-card:hover,
[class*="tile"]:hover,
[class*="box"]:hover,
[class*="item"]:hover {
    border-color: var(--ahk-glass-border-strong) !important;
}

/* Card Inner */
.card-body,
.ahk-card {
    border-radius: 22px;
}

/* Softer Areas */
.bg-light,
.ahk-card-soft,
[class*="soft"],
[class*="light"]:not(.logo-light-background):not(.top_dealer_light) {
    background: var(--ahk-glass-soft);
}

/* Buttons */
.btn {
    border-radius: 999px !important;
    font-weight: 700;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .08);
    transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}

.btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 34px rgba(15, 23, 42, .14);
}

.btn-primary {
    background: linear-gradient(135deg, var(--ahk-primary), #ff8b3d) !important;
    border-color: rgba(255, 96, 0, .35) !important;
}

.btn-outline-primary {
    background: rgba(255, 255, 255, .52) !important;
    border-color: rgba(255, 96, 0, .35) !important;
    color: var(--ahk-primary) !important;
}

.btn-outline-light {
    background: rgba(255, 255, 255, .12) !important;
    border-color: rgba(255, 255, 255, .45) !important;
    color: #fff !important;
    backdrop-filter: blur(14px);
}

/* Badges */
.badge,
.ahk-badge {
    border-radius: 999px !important;
    font-weight: 800;
    letter-spacing: .04em;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.35);
}

.badge.bg-primary,
.ahk-badge {
    background: rgba(255, 96, 0, .14) !important;
    color: var(--ahk-primary) !important;
    border: 1px solid rgba(255, 96, 0, .22);
}

/* Typography */
h1,
h2,
h3,
h4,
h5,
h6,
.ahk-title {
    color: var(--ahk-secondary);
    letter-spacing: -.02em;
}

.text-white h1,
.text-white h2,
.text-white h3,
.text-white h4,
.text-white h5,
.text-white h6,
#intro-image h1,
#intro-image h2,
#intro-image h3,
.hero h1,
.hero h2,
.hero h3 {
    color: #fff !important;
}

.text-muted,
.ahk-muted,
small {
    color: var(--ahk-muted) !important;
}

/* Forms / Search */
.form-control,
.form-select,
.input-group-text,
textarea,
input:not(.form-check-input),
select {
    background: rgba(255, 255, 255, .76) !important;
    border: 1px solid rgba(255, 255, 255, .86) !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 26px rgba(15, 23, 42, .05);
    backdrop-filter: blur(18px);
}

.form-control:focus,
.form-select:focus,
textarea:focus,
input:focus,
select:focus {
    border-color: rgba(255, 96, 0, .45) !important;
    box-shadow: 0 0 0 .2rem rgba(255, 96, 0, .14) !important;
}

/* Tables */
.table,
table {
    border-radius: 22px;
    overflow: hidden;
    background: rgba(255, 255, 255, .62) !important;
    box-shadow: var(--ahk-glass-shadow);
}

.table thead,
table thead {
    background: rgba(36, 38, 79, .92) !important;
    color: #fff;
}

.table tbody tr,
table tbody tr {
    background: rgba(255, 255, 255, .55);
}

.table tbody tr:hover,
table tbody tr:hover {
    background: rgba(255, 96, 0, .06);
}

/* Top Recommendations / Rankings */
[class*="recommend"],
[class*="empfehl"],
[class*="rating"]:not(.rating_seal):not(.rating_logo),
[class*="bewertung"],
[class*="review"],
[class*="dealer"],
[class*="ranking"] {
    border-radius: 22px;
}

a[class*="recommend"],
a[class*="empfehl"],
a[class*="rating"],
a[class*="bewertung"],
a[class*="review"],
a[class*="dealer"] {
    text-decoration: none;
}

/* Stars / Scores */
[class*="score"],
[class*="rating"] strong,
[class*="bewertung"] strong {
    color: var(--ahk-primary);
}

/* Blog / News Cards */
[class*="news"],
[class*="blog"],
article {
    border-radius: 24px;
}

article,
[class*="news"] .card,
[class*="blog"] .card {
    background: var(--ahk-glass-white) !important;
    border: 1px solid var(--ahk-glass-border) !important;
    box-shadow: var(--ahk-glass-shadow) !important;
    backdrop-filter: blur(20px);
}

/* Accordion / FAQ */
.accordion-button {
    background: rgba(255, 255, 255, .64) !important;
    border-radius: 18px !important;
    color: var(--ahk-secondary) !important;
    font-weight: 800;
}

.accordion-button:not(.collapsed) {
    background: rgba(255, 96, 0, .10) !important;
    color: var(--ahk-primary) !important;
    box-shadow: none !important;
}

.accordion-body {
    color: var(--ahk-muted);
}

/* Modals / Cookie Banner */
.modal-content,
.cookie,
.cookie-banner,
#cookie,
#cookiebanner,
[class*="cookie"],
[class*="consent"] {
    background: rgba(255, 255, 255, .88) !important;
    border: 1px solid var(--ahk-glass-border-strong) !important;
    border-radius: 26px !important;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .18) !important;
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
}

/* Footer */
footer,
#footer,
.footer {
    color: rgba(255,255,255,.72) !important;
    border-radius: 34px 34px 0 0;
    margin-top: 2rem;
    box-shadow: 0 -18px 50px rgba(15, 23, 42, .10);
}


/* Pagination */
.page-link {
    background: rgba(255,255,255,.68) !important;
    border: 1px solid rgba(255,255,255,.84) !important;
    color: var(--ahk-secondary) !important;
    border-radius: 12px !important;
    margin: 0 .15rem;
}

.page-item.active .page-link {
    background: var(--ahk-primary) !important;
    border-color: var(--ahk-primary) !important;
    color: #fff !important;
}



.shadow,
.shadow-sm,
.shadow-lg {
    box-shadow: var(--ahk-glass-shadow) !important;
}

.rounded,
.rounded-1,
.rounded-2,
.rounded-3,
.rounded-4 {
    border-radius: 22px !important;
}

/* Spacing Harmonization */
.container > section:first-child,
.container > .row:first-child {
    margin-top: 1.5rem;
}

section:last-child,
.container > .row:last-child {
    margin-bottom: 0;
}

/* Mobile */
@media (max-width: 991px) {
    body {
        background:
                radial-gradient(circle at 0% 0%, rgb(255 96 0 / 4%), transparent 32%), linear-gradient(180deg, #f7f8fc 0%, #eef1f7 100%) !important;
    }

    #intro-image,
    .hero,
    .hero-section,
    .jumbotron {
        border-radius: 26px !important;
    }

    .card,
    .ahk-card,
    .modal-content,
    .offcanvas,
    .accordion-item {
        border-radius: 20px !important;
    }

    .container {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .btn {
        width: auto;
    }
}

/* Fallback */
@supports not (backdrop-filter: blur(10px)) {
    .card,
    .ahk-card,
    .ahk-glass-section,
    .ahk-glass-soft,
    .navbar,
    header,
    .dropdown-menu,
    .modal-content,
    .offcanvas,
    .form-control,
    .form-select,
    input,
    textarea,
    select {
        background: #fff !important;
    }
}

.top_dealer_light > section.block .dealer_box_wrapper .dealer_box > .image_block, .top_dealer_dark > section.block .dealer_box_wrapper .dealer_box > .image_block {
    border-radius: 22px;
}

.bg-white {
    background: transparent;
}

.glass-mt-2 {
    margin-top: 0.5rem !important;
}

.main-header .dropdown-menu {
    background-color: white !important;
}

.main-header .navbar {
    background-color: transparent !important;
    background: transparent !important;
    box-shadow: none;
    backdrop-filter: none;
}

#location-header-glass {
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 10px;
    padding-top: 10px;
    margin-top: 0px;
}

#location-header-glass #location-header {
    padding: 18px;
    border-radius: 14px;
}

#location-header-glass #customer-header {
    padding: 18px;
    border-radius: 14px;
    border-top-left-radius: 0px !important;
    border-top-right-radius: 0px !important;
}

@media (min-width: 768px) {
    #location-company-logo.glass-with-location-header {
        margin: -100px -15px 0 -15px !important;
    }
}

.social-media-icon {
    border-radius: 50% !important;
}

.external-rating > div {
    border-radius: inherit;
}

.dealer_box > .image_block img, .dealer_box > .float_left img {
    width: 100%;
    height: auto;
    border-radius: 22px 22px 0 0;
}

header.header-floating {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0) 100%) !important;
    border-bottom: none;
    box-shadow: 0 12px 35px rgba(15, 23, 42, .06);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    z-index: 999;
    padding-top: 15px;
}

header.header-floating .navbar {
    border-bottom: 0px;
}

.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu), .input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3) {
    border-top-right-radius: 22px;
    border-bottom-right-radius: 22px;
}

.rated-trust-factors.small img,
.trust-factor-checked,
.trust-factor-empty
{
    border-radius: 0;
}

.nav-pills .nav-link.active, .nav-pills .show > .nav-link
{
    background: linear-gradient(135deg, var(--ahk-primary), #ff8b3d) !important;
    border-color: rgba(255, 96, 0, .35) !important;
    border-radius: 999px !important;
    font-weight: 700;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .08);
}

.btn-glass {
    background: linear-gradient(135deg, var(--ahk-primary), #ff8b3d) !important;
    border-color: rgba(255, 96, 0, .35) !important;
    border-radius: 999px !important;
    font-weight: 700;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .08);
}

.border {
    border: 1px solid #dee2e6 !important;
    border-radius: 22px;
}

.page-section.with-border {
    border: none;
}

.portal_detail_show_rating  {
    border-radius: 0px !important;
}

.home-tile-m > .card {
    padding: 18px;
}

.home-tile-m > .card .card-header {
    border-radius: 22px;
}

.main-header .form-control {
    border-bottom-right-radius: 22px !important;
    border-top-right-radius: 22px !important;
    margin-left: 2px;
}

#intro-image-glass,
#home-seperator-glass,
#home-rating-location-top-glass {
    border-bottom-left-radius: 22px !important;
    border-bottom-right-radius: 22px !important;
    border-top-left-radius: 22px !important;
    border-top-right-radius: 22px !important;
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 10px;
    padding-top: 10px;
    background: var(--ahk-glass-white) !important;
    border: 1px solid var(--ahk-glass-border) !important;
    box-shadow: var(--ahk-glass-shadow) !important;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    margin: 5px;
}
#home-rating-location-top {
    border-bottom-left-radius: 14px !important;
    border-bottom-right-radius: 14px !important;
    border-top-left-radius: 0px !important;
    border-top-right-radius: 0px !important;
}
#home-seperator-glass {
    margin-bottom: 10px;
}


#intro-image{
    border-radius: 14px;
}

#home-separator {
    border-bottom-left-radius: 0px !important;
    border-bottom-right-radius: 0px !important;
    border-top-left-radius: 14px !important;
    border-top-right-radius: 14px !important;
}

.trust-factor-list-chips li {
    background: var(--ahk-glass-white) !important;
    border: 1px solid var(--ahk-glass-border) !important;

    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

.rating_headline {
    color: black;
}

@media (max-width:500px) {
    .navbar-brand img {
        margin-left: 10px;
    }
}