body,form,figure{margin:0;padding:0}img{border:0}header,footer,nav,section,aside,article,figure,figcaption{display:block}body{font-size:100.01%}select,input,textarea{font-size:99%}#container,.inside{position:relative}#main,#left,#right{float:left;position:relative}#main{width:100%}#left{margin-left:-100%}#right{margin-right:-100%}#footer{clear:both}#main .inside{min-height:1px}.ce_gallery>ul,.content-gallery>ul{margin:0;padding:0;overflow:hidden;list-style:none}.ce_gallery>ul li,.content-gallery>ul li{float:left}.ce_gallery>ul li.col_first,.content-gallery>ul li.col_first{clear:left}.float_left,.media--left>figure{float:left}.float_right,.media--right>figure{float:right}.block{overflow:hidden}.media{display:flow-root}.clear,#clear{height:.1px;font-size:.1px;line-height:.1px;clear:both}.invisible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.custom{display:block}#container:after,.custom:after{content:"";display:table;clear:both}
@media (max-width:767px){#wrapper{margin:0;width:auto}#container{padding-left:0;padding-right:0}#main,#left,#right{float:none;width:auto}#left{right:0;margin-left:0}#right{margin-right:0}}img{max-width:100%;height:auto}.audio_container audio{max-width:100%}.video_container video{max-width:100%;height:auto}.aspect,.responsive{position:relative;height:0}.aspect iframe,.responsive iframe{position:absolute;top:0;left:0;width:100%;height:100%}.aspect--16\:9,.responsive.ratio-169{padding-bottom:56.25%}.aspect--16\:10,.responsive.ratio-1610{padding-bottom:62.5%}.aspect--21\:9,.responsive.ratio-219{padding-bottom:42.8571%}.aspect--4\:3,.responsive.ratio-43{padding-bottom:75%}.aspect--3\:2,.responsive.ratio-32{padding-bottom:66.6666%}
.mobile_menu{position:fixed;z-index:100;display:none}.mobile_menu .inner{height:100%;background:#000;overflow-y:scroll}.mobile_menu.active.position_left{box-shadow:2px 0 5px 0 rgba(0,0,0,.5)}.mobile_menu.active.position_top{box-shadow:0 2px 5px 0 rgba(0,0,0,.5)}.mobile_menu.active.position_right{box-shadow:-2px 0 5px 0 rgba(0,0,0,.5)}.mobile_menu.active.position_bottom{box-shadow:0 -2px 5px 0 rgba(0,0,0,.5)}.mobile_menu.active.no_shadow{box-shadow:none!important}.mobile_menu_trigger{display:none}.mobile_menu_wrapper{position:relative;width:100%;overflow:hidden}.mobile_menu_overlay{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:99}.mobile_menu_overlay.background{background:rgba(0,0,0,.5)}.mobile_menu li.submenu_hide>ul{display:none}.mobile_menu li.submenu_show>ul{display:block}body.ie8 .mobile_menu,body.ie8 .mobile_menu_trigger,body.ie9 .mobile_menu,body.ie9 .mobile_menu_trigger{display:none!important}
/* GOLDANKAUF THEME – FLACHE STANDORTKARTEN V16 – 2026-07-26 */
/* GOLDANKAUF THEME – SEKTIONSABSTAND V10 – 2026-07-26 */
/* GOLDANKAUF THEME – HEADER TOP-BAR V8 – 2026-07-26 */
/* Vertikale Header-Abstände für Desktop und Mobile korrigiert */
/* GOLDANKAUF THEME – KURSE + TRUSTBLOCK V6 FIX – 2026-07-26 */
/* GOLDANKAUF THEME – DEZENTE HEADER-KURSE + MOBILE-MENÜ-FIX V3 – 2026-07-26 */
:root {
    --site-width:1200px;
    --content-padding:0 20px;
    --gold:#c8b274;
    --gold-light:#ecd38d;
    --topbar-bg:#f8f6f1;
}

* {
    box-sizing:border-box;
}

.block {
    overflow:visible;
}

html,
body {
    margin:0;
    padding:0;
    font-family:Lato;
    font-size:18px;
    font-weight:lighter;
}

a,
a:active {
    text-decoration:none;
    color:var(--gold);
    font-weight:normal;
    transition:all 200ms linear;
}

.separator {
    margin:20px auto;
    width:50px;
    height:2px;
    background:var(--gold);
}

.separator.white {
    background:#fff;
}

.separator.left {
    margin:30px 0;
}

/* =========================================================
   HEADER
   ========================================================= */

header {
    position:relative;
    z-index:100000;
}

header > .inside {
    position:unset;
}

header > .inside,
footer > .inside,
.bar > .inside,
.site-contact {
    max-width:var(--site-width);
    margin:0 auto;
    padding:20px 20px 0;
}

header > .inside {
    padding-top:12px;
}

footer > .inside,
.bar > .inside {
    padding:10px 25px;
    position:unset;
}

/* =========================================================
   TOP BAR MIT STANDORTAUSWAHL
   ========================================================= */

.top-bar {
    position:relative;
    z-index:100010;
    width:100%;
    margin:2px 0 0;
    padding:0 20px 12px;
    text-align:initial;
    font-size:13px;
    font-weight:normal;
    color:#333;
}

.top-bar-inner {
    width:100%;
    max-width:var(--site-width);
    min-height:28px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:0;
}

.top-bar-item,
.location-selector-toggle,
.top-bar-appointment {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:28px;
    white-space:nowrap;
}

.top-bar-item,
.location-selector,
.top-bar-appointment {
    position:relative;
    padding:0 22px;
}

.top-bar-item::after {
    content:"";
    position:absolute;
    top:50%;
    right:0;
    width:1px;
    height:20px;
    background:rgba(0,0,0,.12);
    transform:translateY(-50%);
}

.top-bar i {
    color:var(--gold);
}

.top-bar-item {
    color:#333;
}

.location-selector {
    position:relative;
}

.location-selector-toggle {
    padding:0;
    border:0;
    outline:0;
    background:transparent;
    color:#333;
    font-family:inherit;
    font-size:13px;
    font-weight:normal;
    cursor:pointer;
    transition:color 200ms ease;
}

.location-selector-toggle:hover,
.location-selector-toggle:focus {
    color:var(--gold);
}

.location-selector-arrow {
    margin-left:3px;
    font-size:9px;
    transition:transform 200ms ease;
}

.location-selector:hover .location-selector-arrow,
.location-selector:focus-within .location-selector-arrow,
.location-selector.is-open .location-selector-arrow {
    transform:rotate(180deg);
}

.location-dropdown {
    position:absolute;
    top:calc(100% + 12px);
    right:0;
    z-index:100020;
    width:320px;
    margin:0;
    padding:8px;
    background:#fff;
    border:1px solid rgba(200,178,116,.3);
    border-radius:8px;
    box-shadow:0 15px 35px rgba(0,0,0,.14);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(8px);
    transition:
        opacity 180ms ease,
        visibility 180ms ease,
        transform 180ms ease;
}

.location-dropdown::before {
    content:"";
    position:absolute;
    top:-12px;
    right:0;
    width:100%;
    height:12px;
}

.location-selector:hover .location-dropdown,
.location-selector:focus-within .location-dropdown,
.location-selector.is-open .location-dropdown {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
}

.location-dropdown a {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    width:100%;
    padding:12px;
    color:#222;
    border-radius:5px;
    font-size:13px;
    font-weight:normal;
    transition:
        color 180ms ease,
        background-color 180ms ease;
}

.location-dropdown a + a {
    border-top:1px solid rgba(0,0,0,.07);
}

.location-dropdown a:hover,
.location-dropdown a:focus {
    color:var(--gold);
    background:#f8f6f1;
}

.location-dropdown .location-main {
    display:flex;
    align-items:center;
    gap:9px;
    min-width:0;
}

.location-dropdown .location-main i {
    flex:0 0 auto;
    width:16px;
    text-align:center;
}

.location-name {
    overflow:hidden;
    color:inherit;
    font-weight:normal;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.location-phone {
    display:inline-flex;
    align-items:center;
    gap:6px;
    flex:0 0 auto;
    color:#666;
    font-size:12px;
    white-space:nowrap;
}

.location-phone i {
    font-size:11px;
}

.location-dropdown a:hover .location-phone,
.location-dropdown a:focus .location-phone {
    color:var(--gold);
}

.top-bar-appointment {
    color:#333;
    font-size:13px;
    font-weight:normal;
}

.top-bar-appointment:hover,
.top-bar-appointment:focus {
    color:var(--gold);
}

/* =========================================================
   EDELMETALLKURSE – DEZENTE HEADER-LEISTE
   ========================================================= */

#chart.market-rates {
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:0;
    width:calc(100% - 40px);
    max-width:var(--site-width);
    min-height:34px;
    margin:24px auto 0;
    padding:5px 12px;
    background:transparent;
    border:0;
    color:#4f4d48;
    font-size:12px;
    line-height:1.3;
    text-align:center;
}

.market-rates-label {
    margin-right:14px;
    color:#83724b;
    font-size:10px;
    font-weight:700;
    letter-spacing:1.2px;
    text-transform:uppercase;
    white-space:nowrap;
}

#chart .price.market-rate {
    display:inline-flex;
    align-items:baseline;
    gap:6px;
    margin:0;
    padding:2px 13px;
    color:#3d3b37;
    white-space:nowrap;
}

.market-rate-metal {
    color:#77736b;
    font-size:11px;
    font-weight:400;
}

.market-rate-value {
    display:inline-flex;
    align-items:baseline;
    gap:4px;
}

#goldprice,
#silverprice {
    color:#242321;
    font-family:Lato, sans-serif;
    font-size:13px;
    font-weight:700;
    line-height:1;
    letter-spacing:0;
}

.market-rate-unit {
    color:#99938a;
    font-size:10px;
    font-weight:400;
}

.market-rate-divider {
    width:1px;
    height:14px;
    background:rgba(30,30,30,.12);
}

.market-rates-status {
    display:inline-flex;
    align-items:center;
    gap:5px;
    margin-left:14px;
    color:#9a958d;
    font-size:9px;
    font-weight:400;
    letter-spacing:.5px;
    text-transform:uppercase;
    white-space:nowrap;
}

.market-rates-status i {
    color:var(--gold);
    font-size:6px;
}

/* =========================================================
   HERO
   ========================================================= */

.hero-container {
    position:relative;
    display:flex;
    align-items:center;
    min-height:500px;
    height:auto;
    margin:30px 0;
}

.hero-video,
.hero-container img {
    position:absolute;
    inset:0;
    object-fit:cover;
    width:100%;
    height:100%;
    object-position:bottom;
}

.black-overlay {
    position:absolute;
    inset:0;
    z-index:100;
    background-color:rgba(0,0,0,.2);
}

.billboard-element {
    height:550px;
    margin:0 auto;
    width:fit-content;
    display:flex;
    flex-direction:row;
    justify-content:space-around;
}

.billboard-title {
    display:inline-block;
    font-size:40px;
    text-transform:uppercase;
    color:#fff;
    vertical-align:top;
    margin:170px 0 0;
    line-height:35px;
    letter-spacing:-1px;
}

.billboard-picture {
    display:inline-block;
    align-self:flex-end;
}

.billboard-picture img {
    max-height:550px;
    vertical-align:bottom;
}

.title-teaser {
    font-size:18px;
    font-weight:lighter;
}

/* =========================================================
   CONTENT
   ========================================================= */

.content-text,
h1.content-headline {
    width:100%;
    max-width:var(--site-width);
    margin:0 auto;
    text-align:center;
}

.content-text {
    text-align:left;
    padding: var(--content-padding);
}

.content-headline {
    padding:0 20px;
}

.bar {
    padding:0 10px;
}

.bar.gold {
    margin-bottom:50px;
}

.bar.validation {
    height:550px;
    background:url(../../files/g24/images/goldpruefung.jpg) center top/cover no-repeat;
    max-width:var(--site-width);
    margin:0 auto;
}

.content-text.validation {
    margin-top:50px;
    margin-bottom:50px;
}

.bar-grey {
    min-height:300px;
    background:#f8f8f8;
}

/* =========================================================
   LOGO UND HAUPTNAVIGATION
   ========================================================= */

#logo {
    display:inline-block;
}

/* Desktop-Navigation ausschließlich im Header */
header nav.mod_navigation {
    position:relative;
    z-index:100001;
    display:block;
    float:right;
    overflow:visible !important;
    margin-top:2px;
    font-size:15px;
}

header nav.mod_navigation ul {
    margin:0;
    padding:0;
    list-style:none;
}

header nav.mod_navigation ul.level_1 {
    display:flex;
    align-items:center;
    gap:4px;
}

header nav.mod_navigation ul.level_1 > li {
    position:relative;
    display:block;
    margin:0;
    padding:0;
}

header nav.mod_navigation ul.level_1 > li > a,
header nav.mod_navigation ul.level_1 > li > strong {
    position:relative;
    display:inline-flex;
    align-items:center;
    min-height:44px;
    padding:0 14px;
    color:#252525;
    border-radius:4px;
    font-weight:400;
    line-height:1;
    white-space:nowrap;
    transition:
        color 180ms ease,
        background-color 180ms ease;
}

header nav.mod_navigation ul.level_1 > li > a::before,
header nav.mod_navigation ul.level_1 > li > strong::before {
    content:"";
    position:absolute;
    right:14px;
    bottom:5px;
    left:14px;
    height:2px;
    background:var(--gold);
    border-radius:2px;
    opacity:0;
    transform:scaleX(.35);
    transform-origin:center;
    transition:
        opacity 180ms ease,
        transform 180ms ease;
}

header nav.mod_navigation ul.level_1 > li:hover > a,
header nav.mod_navigation ul.level_1 > li:focus-within > a,
header nav.mod_navigation ul.level_1 > li.active > strong,
header nav.mod_navigation ul.level_1 > li.trail > a,
header nav.mod_navigation ul.level_1 > li.trail > strong {
    color:#171717;
    background:#f8f6f1;
}

header nav.mod_navigation ul.level_1 > li:hover > a::before,
header nav.mod_navigation ul.level_1 > li:focus-within > a::before,
header nav.mod_navigation ul.level_1 > li.active > strong::before,
header nav.mod_navigation ul.level_1 > li.trail > a::before,
header nav.mod_navigation ul.level_1 > li.trail > strong::before {
    opacity:1;
    transform:scaleX(1);
}

header nav.mod_navigation ul.level_1 > li.active > strong {
    color:#8f793f;
    font-weight:600;
}

header nav.mod_navigation ul.level_1 > li.submenu > a::after,
header nav.mod_navigation ul.level_1 > li.submenu > strong::after {
    content:"";
    flex:0 0 auto;
    width:6px;
    height:6px;
    margin:-3px 0 0 8px;
    border-right:1.5px solid currentColor;
    border-bottom:1.5px solid currentColor;
    transform:rotate(45deg);
    transform-origin:center;
    transition:transform 180ms ease;
}

header nav.mod_navigation ul.level_1 > li.submenu:hover > a::after,
header nav.mod_navigation ul.level_1 > li.submenu:focus-within > a::after,
header nav.mod_navigation ul.level_1 > li.submenu.active > strong::after,
header nav.mod_navigation ul.level_1 > li.submenu.trail > a::after,
header nav.mod_navigation ul.level_1 > li.submenu.trail > strong::after {
    transform:translateY(3px) rotate(225deg);
}

/* Dropdown */
header nav.mod_navigation ul.level_2 {
    position:absolute;
    top:calc(100% + 10px);
    left:50%;
    z-index:100002;
    width:250px;
    margin:0;
    padding:9px;
    background:#fff;
    border:1px solid rgba(200,178,116,.28);
    border-radius:8px;
    box-shadow:0 18px 44px rgba(17,17,17,.16);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translate(-50%, 8px);
    transition:
        opacity 180ms ease,
        visibility 180ms ease,
        transform 180ms ease;
}

header nav.mod_navigation ul.level_2::before {
    content:"";
    position:absolute;
    top:-11px;
    left:0;
    width:100%;
    height:11px;
}

header nav.mod_navigation ul.level_2::after {
    content:"";
    position:absolute;
    top:-5px;
    left:50%;
    width:10px;
    height:10px;
    background:#fff;
    border-top:1px solid rgba(200,178,116,.28);
    border-left:1px solid rgba(200,178,116,.28);
    transform:translateX(-50%) rotate(45deg);
}

header nav.mod_navigation ul.level_1 > li.submenu:hover > ul.level_2,
header nav.mod_navigation ul.level_1 > li.submenu:focus-within > ul.level_2 {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translate(-50%, 0);
}

header nav.mod_navigation ul.level_2 > li {
    position:relative;
    z-index:1;
    display:block;
    margin:0;
    padding:0;
}

header nav.mod_navigation ul.level_2 > li + li {
    border-top:1px solid rgba(30,30,30,.07);
}

header nav.mod_navigation ul.level_2 a,
header nav.mod_navigation ul.level_2 strong {
    position:relative;
    display:flex;
    align-items:center;
    width:100%;
    min-height:42px;
    padding:10px 12px 10px 29px;
    color:#333;
    border-radius:5px;
    font-size:14px;
    font-weight:400;
    line-height:1.35;
    transition:
        color 180ms ease,
        background-color 180ms ease,
        padding-left 180ms ease;
}

header nav.mod_navigation ul.level_2 a::before,
header nav.mod_navigation ul.level_2 strong::before {
    content:"";
    position:absolute;
    top:50%;
    left:13px;
    width:6px;
    height:6px;
    border-right:1px solid var(--gold);
    border-top:1px solid var(--gold);
    transform:translateY(-50%) rotate(45deg);
}

header nav.mod_navigation ul.level_2 a:hover,
header nav.mod_navigation ul.level_2 a:focus,
header nav.mod_navigation ul.level_2 li.active > strong,
header nav.mod_navigation ul.level_2 li.trail > a {
    color:#8f793f;
    background:#f8f6f1;
    padding-left:32px;
}

/* =========================================================
   MAIN UND TYPOGRAFIE
   ========================================================= */

main {
    padding:0;
}

main > .inside {
    max-width:var(--site-width);
    margin:0 auto;
}

h1 {
    margin:0 0 14px;
    color:#1d1d1d;
    font-family:"Playfair Display";
    font-size:clamp(30px, 4vw, 44px);
    font-weight:600;
    line-height:1.12;
    letter-spacing:-.3px;
}

h2 {
    position:relative;
    margin:42px 0 18px;
    padding-bottom:13px;
    color:#1d1d1d;
    font-family:"Playfair Display";
    font-size:clamp(24px, 2.6vw, 32px);
    font-weight:600;
    line-height:1.25;
    letter-spacing:-.2px;
}

h2::after {
    content:"";
    display:block;
    width:46px;
    height:2px;
    margin-top:12px;
    background:var(--gold);
}

.text-center h2::after,
h2.text-center::after,
.content-text.text-center h2::after,
.contact-locations-header h2::after,
.landingpage-header h2::after,
.homepage-header h2::after {
    margin-right:auto;
    margin-left:auto;
}


h3 {
    font-weight:normal;
    margin:0;
}

h4 {
    margin:0;
    font-weight:lighter;
}

h5 {
    font-size:15px;
    margin:10px 0 0;
}

.no-margin {
    margin:0 !important;
}

.no-margin-bottom {
    margin-bottom:0;
}

.text-center {
    text-align:center;
}

.text-center.narrow {
    max-width:500px;
    margin:0 auto;
}

.small-text {
    font-size:13px;
}

/* =========================================================
   FLEX UND GRID
   ========================================================= */

.flex-row {
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    gap:30px;
}

.grid10 { flex:1; }
.grid20 { flex:2; }
.grid30 { flex:3; }
.grid40 { flex:4; }
.grid50 { flex:5; }
.grid60 { flex:6; }
.grid70 { flex:7; }
.grid80 { flex:8; }
.grid90 { flex:9; }

/* =========================================================
   ICON TITLE
   ========================================================= */

.icon-title {
    color:var(--gold);
    font-size:40px;
    margin:30px auto;
    width:fit-content;
}

/* =========================================================
   SITE CONTACT
   ========================================================= */

.site-contact {
    position:relative;
    z-index:99999;
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    gap:40px;
    overflow:visible;
    background:#fff;
    padding:30px 20px;
}

.highlighted-text {
    padding:5px 10px;
    background:var(--gold);
    font-size:13px;
    color:#fff;
    font-family:Lato;
}

.highlighted-bg {
    background:#f7f7f7;
    padding:30px !important;
}

.site-contact h2,
.site-contact h3,
.contact-headline {
    margin:0;
}

.site-contact h2 {
    font-size:24px;
}

.site-contact h3 {
    font-size:18px;
}

.site-contact-line {
    margin:5px 0;
    font-weight:lighter;
    font-size:14px;
}

.site-contact i {
    position:relative;
    margin-right:10px;
    font-size:18px;
}

.site-contact-line a {
    color:#000;
    font-weight:lighter;
}

.site-contact-left,
.site-contact-right {
    flex:1;
}

.shadow {
    box-shadow:0 0 10px rgba(0,0,0,.15);
}

.opening-hours {
    margin:30px 0;
    font-size:15px;
}

.opening-hours span {
    display:block;
}

/* =========================================================
   ANSPRECHPARTNER
   ========================================================= */

.contact-person {
    margin:0 0 30px !important;
}

.contact-person-container {
    padding:20px;
    gap:40px;
    font-size:15px;
    justify-content:center;
}

.contact-person-container a,
.office-row a {
    color:#000;
    font-weight:lighter;
}

.contact-person-container i {
    margin-right:10px;
}

.contact-person-photo {
    width:200px;
    height:200px;
    overflow:hidden;
    margin:0 auto;
    background:#111;
    border-radius:100px;
}

.contact-person-photo img {
    width:100%;
    height:100%;
    object-fit:cover;
}

.contact-person-text {
    padding-top:25px;
}

.heading-small {
    position:relative;
    margin-bottom:3px;
    padding-bottom:12px;
    color:var(--gold);
    font-size:12px;
    font-weight:bold;
    text-transform:uppercase;
    letter-spacing:1.5px;
}

.heading-small::after,
.contact-person-subtitle::after {
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:50px;
    height:2px;
    background:var(--gold);
    border-radius:2px;
}

.contact-person-name {
    margin:0;
    font-size:22px;
    font-weight:normal;
}

.contact-person-subtitle {
    position:relative;
    margin-bottom:10px;
    padding-bottom:12px;
    color:var(--gold);
}

.contact-person-phone,
.contact-person-email {
    margin:15px 0;
    font-size:15px;
}

.contact-benefits {
    padding:20px;
    border-radius:10px;
}

.contact-benefit {
    display:flex;
    align-items:flex-start;
    gap:15px;
    padding:10px 0;
    border-bottom:1px solid rgba(30,30,30,.08);
}

.contact-benefit:first-child {
    padding-top:0;
}

.contact-benefit:last-of-type {
    border-bottom:0;
    padding-bottom:0;
}

.contact-benefit i {
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 38px;
    width:38px;
    height:38px;
    color:var(--gold);
    border:1px solid rgba(185,138,40,.35);
    border-radius:50%;
}

.contact-benefit strong,
.contact-benefit span {
    display:block;
}

.contact-benefit strong {
    font-size:16px;
    color:#1e2430;
}

.contact-benefit span {
    font-size:14px;
    line-height:1.45;
    color:#666;
}

/* =========================================================
   PROZESS
   ========================================================= */

.process-container {
    display:flex;
    flex-direction:row;
    align-items:center;
    gap:40px;
    padding:0 60px;
    margin:30px 0 50px;
}

.process-step {
    flex:1;
}

.process-step h4 {
    font-size:40px;
    font-family:"Playfair Display";
    font-weight:600;
}

.step-number {
    color:var(--gold);
    font-size:40px;
    font-weight:normal;
}

.step-title {
    font-size:20px;
    font-weight:normal;
}

.step-description {
    color:#333;
    font-size:14px;
}

/* =========================================================
   TRUSTBLOCK IM HERO
   ========================================================= */

.trust-block {
    position:relative;
    z-index:999;
    width:min(560px, calc(100% - 40px));
    margin:0;
    padding:48px 46px 42px;
    color:#fff;
    background:linear-gradient(135deg, rgba(20,20,20,.82), rgba(20,20,20,.66));
    border-left:3px solid var(--gold);
    box-shadow:0 24px 60px rgba(0,0,0,.22);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    font-weight:normal;
}

.trust-eyebrow {
    display:block;
    margin-bottom:10px;
    color:var(--gold-light);
    font-size:11px;
    font-weight:700;
    letter-spacing:1.7px;
    line-height:1.4;
    text-transform:uppercase;
}

.hero-title {
    max-width:480px;
    margin:0;
    color:#fff;
    font-family:"Playfair Display";
    font-size:clamp(30px, 3.4vw, 42px);
    font-weight:600;
    line-height:1.12;
    letter-spacing:-.3px;
}

.trust-intro {
    max-width:480px;
    margin:15px 0 24px;
    color:rgba(255,255,255,.74);
    font-size:14px;
    line-height:1.65;
}

.usp-row {
    display:grid;
    grid-template-columns:1fr;
    gap:0;
    margin:0;
}

.usp {
    display:grid;
    grid-template-columns:36px minmax(0, 1fr);
    gap:13px;
    align-items:center;
    width:100%;
    margin:0;
    padding:13px 0;
    border-top:1px solid rgba(255,255,255,.13);
    color:#fff;
    font-size:14px;
    line-height:1.45;
}

.usp:first-child {
    border-top:0;
}

.usp-icon {
    display:flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    color:#171717;
    background:var(--gold);
    border-radius:50%;
    box-shadow:0 0 0 5px rgba(200,178,116,.12);
}

.usp-icon i,
.usp > i {
    display:block;
    width:auto;
    height:auto;
    margin:0;
    padding:0;
    background:transparent;
    color:inherit;
    font-size:12px;
    line-height:1;
    text-shadow:none;
}

.usp-copy {
    min-width:0;
}

.usp-copy strong {
    display:block;
    margin-bottom:2px;
    color:#fff;
    font-size:14px;
    font-weight:600;
}

.usp-copy span {
    display:block;
    color:rgba(255,255,255,.62);
    font-size:12px;
    line-height:1.5;
}

/* =========================================================
   FOOTER
   ========================================================= */

footer {
    position:relative;
    margin-top:55px;
    padding:0;
    overflow:hidden;
    background:#171817;
    color:#c8c8c4;
    font-size:14px;
}

footer::before {
    content:"";
    position:absolute;
    top:0;
    right:0;
    left:0;
    height:1px;
    background:linear-gradient(
        90deg,
        transparent 0%,
        rgba(200,178,116,.22) 18%,
        var(--gold) 50%,
        rgba(200,178,116,.22) 82%,
        transparent 100%
    );
}

footer > .inside {
    max-width:var(--site-width);
    margin:0 auto;
    padding:58px 25px 24px;
}

.footer-shell {
    display:grid;
    grid-template-columns:minmax(260px, .9fr) minmax(0, 2.1fr);
    gap:70px;
    align-items:start;
}

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

#logo-footer {
    width:100%;
    margin:0 0 25px;
    text-align:left;
}

#logo-footer img {
    display:block;
    width:100%;
    max-width:285px;
    height:auto;
}

.footer-intro {
    max-width:360px;
    margin:0 0 25px;
    color:#adada8;
    font-size:14px;
    font-weight:300;
    line-height:1.75;
}

.footer-benefits {
    display:grid;
    gap:11px;
    margin:0;
    padding:0;
    list-style:none;
}

.footer-benefits li {
    display:flex;
    align-items:center;
    gap:10px;
    margin:0;
    color:#d8d8d3;
    font-size:13px;
    line-height:1.45;
}

.footer-benefits i {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 27px;
    width:27px;
    height:27px;
    color:var(--gold);
    background:rgba(200,178,116,.08);
    border:1px solid rgba(200,178,116,.2);
    border-radius:50%;
    font-size:11px;
}

.footer-content-grid {
    display:grid;
    grid-template-columns:minmax(250px, 1.35fr) minmax(150px, .75fr) minmax(150px, .75fr);
    gap:42px;
    min-width:0;
}

.footer-column {
    min-width:0;
}

.footer-heading {
    position:relative;
    margin:0 0 22px;
    padding:0 0 13px;
    color:#fff;
    font-family:Lato, sans-serif;
    font-size:12px;
    font-weight:700;
    line-height:1.3;
    letter-spacing:1.8px;
    text-transform:uppercase;
}

.footer-heading::after {
    content:"";
    position:absolute;
    bottom:0;
    left:0;
    width:34px;
    height:2px;
    background:var(--gold);
}

.footer-contact-list {
    display:grid;
    gap:13px;
}

.footer-contact-card {
    padding:16px 17px;
    background:rgba(255,255,255,.025);
    border:1px solid rgba(255,255,255,.07);
    border-radius:6px;
    transition:
        border-color .2s ease,
        background-color .2s ease,
        transform .2s ease;
}

.footer-contact-card:hover {
    transform:translateY(-2px);
    background:rgba(255,255,255,.04);
    border-color:rgba(200,178,116,.3);
}

.footer-contact-card h5 {
    margin:0 0 10px;
    color:#f0f0ec;
    font-size:14px;
    font-weight:600;
    line-height:1.35;
}

.footer-contact-line {
    display:grid;
    grid-template-columns:20px minmax(0, 1fr);
    gap:9px;
    align-items:start;
    margin:7px 0;
    color:#aaa;
    font-size:13px;
    line-height:1.55;
}

.footer-contact-line:last-child {
    margin-bottom:0;
}

.footer-contact-line > i {
    width:20px;
    margin-top:3px;
    color:var(--gold);
    text-align:center;
}

.footer-contact-line p,
.footer-contact-line span {
    margin:0;
}

.footer-contact-line a {
    color:#c8c8c4;
    font-weight:300;
    overflow-wrap:anywhere;
}

.footer-contact-line a:hover,
.footer-contact-line a:focus {
    color:var(--gold-light);
}

footer nav.mod_navigation {
    position:static;
    z-index:auto;
    float:none;
    display:block;
    overflow:visible !important;
    padding:0;
    text-align:left;
    font-size:14px;
}

footer nav.mod_navigation ul,
footer .footer-column ul {
    margin:0;
    padding:0;
    list-style:none;
}

footer nav.mod_navigation ul.level_1 > li,
footer .footer-column li {
    display:block;
    margin:0;
    padding:0;
    border:0;
}

footer nav.mod_navigation ul.level_1 > li.active,
footer nav.mod_navigation ul.level_1 > li:hover {
    border:0;
}

footer nav.mod_navigation ul.level_1 > li + li,
footer .footer-column li + li {
    margin-top:10px;
}

footer nav.mod_navigation a,
footer .footer-column > ul a {
    position:relative;
    display:inline-block;
    padding:1px 0 1px 15px;
    color:#aaa;
    font-size:13px;
    font-weight:300;
    line-height:1.55;
    transition:
        color .2s ease,
        transform .2s ease;
}

footer nav.mod_navigation a::before,
footer .footer-column > ul a::before {
    content:"";
    position:absolute;
    top:.75em;
    left:0;
    width:5px;
    height:5px;
    border-right:1px solid var(--gold);
    border-bottom:1px solid var(--gold);
    transform:translateY(-50%) rotate(-45deg);
    opacity:.8;
}

footer nav.mod_navigation a:hover,
footer nav.mod_navigation a:focus,
footer .footer-column > ul a:hover,
footer .footer-column > ul a:focus {
    color:#fff;
    transform:translateX(3px);
}

footer nav.mod_navigation ul.level_1 > li.submenu > a::after,
footer nav.mod_navigation ul.level_1 > li.submenu > strong::after {
    display:none;
}

footer nav.mod_navigation ul.level_2 {
    position:static;
    top:auto;
    right:auto;
    width:auto;
    margin:7px 0 0 15px;
    padding:0;
    background:transparent;
    box-shadow:none;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
}

footer nav.mod_navigation ul.level_2 > li {
    margin:7px 0 0;
}

.footer-bottom {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
    margin-top:45px;
    padding-top:21px;
    border-top:1px solid rgba(255,255,255,.08);
    color:#777;
    font-size:11px;
    line-height:1.5;
    letter-spacing:.25px;
}

.footer-bottom strong {
    color:#aaa;
    font-weight:400;
}

.footer-bottom-mark {
    display:inline-flex;
    align-items:center;
    gap:8px;
    white-space:nowrap;
}

.footer-bottom-mark::before {
    content:"";
    width:18px;
    height:1px;
    background:var(--gold);
}

/* =========================================================
   DEVICES
   ========================================================= */

.device-container {
    display:flex;
    flex-direction:row;
    justify-content:space-between;
    list-style-type:none;
    padding:0;
    margin:0;
}

.device {
    position:relative;
    flex:1;
    margin:0;
    padding:30px 20px;
    border-right:0 solid #aaa;
}

.device:last-child {
    border:0;
}

.device a {
    position:absolute;
    inset:0;
    color:#000;
}

.device a:hover {
    background:rgba(0,0,0,.1);
}

.device:hover {
    color:var(--gold);
}

.device h4 {
    margin:0;
    font-weight:lighter;
}

/* =========================================================
   ANKAUF-KACHELN
   ========================================================= */

.ankauf-container {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
    margin:35px 0;
    color:#fff;
}

.ankauf-item {
    position:relative;
    min-height:190px;
    overflow:hidden;
    padding:24px 26px;
    background:#f8f8f8;
    border-radius:8px;
    text-align:left;
}

.ankauf-item.schmuck {
    background:url(../../files/g24/images/goldschmuck.jpg) center right/cover no-repeat;
}

.ankauf-item.barren {
    background:url(../../files/g24/images/goldbarren.jpg) center right/cover no-repeat;
}

.ankauf-item.muenzen {
    background:url(../../files/g24/images/goldmuenzen.jpg) center right/cover no-repeat;
}

.ankauf-item.zahngold {
    background:url(../../files/g24/images/zahngold.jpg) center right/cover no-repeat;
}

.ankauf-item::before {
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(
        90deg,
        rgba(0,0,0,.72) 0%,
        rgba(0,0,0,.52) 58%,
        rgba(0,0,0,.20) 100%
    );
}

.ankauf-item::after {
    content:"";
    position:absolute;
    top:0;
    left:0;
    z-index:2;
    width:3px;
    height:100%;
    background:var(--gold);
}

.ankauf-item > * {
    position:relative;
    z-index:3;
}

.ankauf-item-head {
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:9px;
}

.ankauf-container h4,
.ankauf-item h4 {
    margin:0;
    font-size:21px;
    line-height:1.2;
    font-weight:normal;
}

.ankauf-item p {
    max-width:470px;
    margin:0;
    color:rgba(255,255,255,.88);
    font-size:14px;
    line-height:1.55;
}

.ankauf-number {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    width:28px;
    height:28px;
    color:#fff;
    border:1px solid rgba(255,255,255,.35);
    border-radius:50%;
    font-size:10px;
    font-weight:normal;
    letter-spacing:.05em;
}

.ankauf-container .separator {
    display:none;
}

.ankauf-container ul {
    list-style-type:none;
    margin:0;
    padding:0;
}

.ankauf-container li {
    padding:0;
}

/* =========================================================
   KONTAKTSEITE – STANDORTKARTEN
   ========================================================= */

.contact-locations {
    width:100%;
    margin:0 auto;
    padding:15px 0 30px;
}

.contact-locations *,
.contact-locations *::before,
.contact-locations *::after {
    box-sizing:border-box;
}

.contact-locations-header,
.landingpage-header,
.homepage-header {
    max-width:760px;
    margin:0 auto 38px;
    text-align:center;
}

.contact-eyebrow,
.landingpage-eyebrow,
.homepage-eyebrow {
    display:block;
    margin-bottom:8px;
    color:var(--gold);
    font-size:12px;
    font-weight:700;
    letter-spacing:1.7px;
    line-height:1.4;
    text-transform:uppercase;
}

.contact-locations-header h1,
.landingpage-header h1,
.homepage-header h1 {
    margin:0 0 14px;
    color:#1d1d1d;
    font-family:"Playfair Display";
    font-size:clamp(30px, 4vw, 44px);
    font-weight:600;
    line-height:1.12;
}

.contact-locations-header h2,
.landingpage-header h2,
.homepage-header h2 {
    margin:0 0 14px;
    padding-bottom:0;
    color:#1d1d1d;
    font-family:"Playfair Display";
    font-size:clamp(28px, 3.4vw, 38px);
    font-weight:600;
    line-height:1.18;
}

.contact-locations-header h2::after,
.landingpage-header h2::after,
.homepage-header h2::after {
    display:none;
}

.contact-locations-header p,
.landingpage-header p,
.homepage-header p {
    max-width:680px;
    margin:0 auto;
    color:#686868;
    font-size:16px;
    line-height:1.7;
}

.contact-location-grid {
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:24px;
    align-items:stretch;
}

.contact-location-card {
    position:relative;
    display:flex;
    flex-direction:column;
    min-width:0;
    overflow:hidden;
    background:#fff;
    border:1px solid #e8e4dc;
    border-radius:4px;
    box-shadow:0 8px 28px rgba(24,24,24,.06);
    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.contact-location-card:hover {
    transform:translateY(-4px);
    border-color:#d7c7a7;
    box-shadow:0 15px 38px rgba(24,24,24,.11);
}

.contact-location-image {
    position:relative;
    display:block;
    height:195px;
    overflow:hidden;
    background:#ece9e3;
    text-decoration:none;
}

.contact-location-image::after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
        180deg,
        rgba(0,0,0,.02) 40%,
        rgba(0,0,0,.46) 100%
    );
    pointer-events:none;
}

.contact-location-image img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .45s ease;
}

.contact-location-card:hover .contact-location-image img {
    transform:scale(1.035);
}

.contact-location-region {
    position:absolute;
    z-index:2;
    right:16px;
    bottom:14px;
    left:16px;
    color:#fff;
    font-size:13px;
    font-weight:700;
    letter-spacing:.7px;
    line-height:1.3;
    text-align:right;
    text-transform:uppercase;
}

.contact-location-content {
    display:flex;
    flex:1;
    flex-direction:column;
    padding:24px;
}

.contact-location-heading {
    display:flex;
    gap:13px;
    align-items:center;
    margin-bottom:17px;
}

.contact-location-icon {
    display:flex;
    flex:0 0 40px;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    color:var(--gold);
    background:#f7f3eb;
    border-radius:50%;
    font-size:16px;
}

.contact-location-label {
    display:block;
    margin-bottom:2px;
    color:#9b8251;
    font-size:10px;
    font-weight:700;
    letter-spacing:1.3px;
    line-height:1.3;
    text-transform:uppercase;
}

.contact-location-heading h3 {
    margin:0;
    color:#222;
    font-size:21px;
    font-weight:600;
    line-height:1.25;
}

.contact-location-address {
    margin:0 0 19px;
    padding-bottom:18px;
    color:#555;
    border-bottom:1px solid #ece9e3;
    font-size:14px;
    line-height:1.65;
}

.contact-location-contacts {
    display:flex;
    flex-direction:column;
    gap:10px;
    margin-bottom:21px;
}

.contact-location-line {
    display:flex;
    gap:11px;
    align-items:flex-start;
    min-width:0;
    color:#4e4e4e;
    font-size:14px;
    line-height:1.45;
}

.contact-location-line > i {
    flex:0 0 18px;
    width:18px;
    margin-top:3px;
    color:var(--gold);
    text-align:center;
}

.contact-location-line > div {
    min-width:0;
}

.contact-location-line p,
.contact-location-line span {
    margin:0;
}

.contact-location-line a {
    color:#4e4e4e;
    text-decoration:none;
    overflow-wrap:anywhere;
    transition:color .2s ease;
}

.contact-location-line a:hover {
    color:var(--gold);
}

.contact-location-link {
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-top:auto;
    padding-top:16px;
    color:#242424;
    border-top:1px solid #ece9e3;
    font-size:13px;
    font-weight:700;
    letter-spacing:.3px;
    line-height:1.4;
    text-decoration:none;
    transition:color .2s ease;
}

.contact-location-link i {
    color:var(--gold);
    font-size:17px;
    transition:transform .2s ease;
}

.contact-location-link:hover {
    color:var(--gold);
}

.contact-location-link:hover i {
    transform:translateX(4px);
}

.contact-location-notice {
    position:relative;
    display:grid;
    grid-template-columns:42px minmax(0, 1fr);
    gap:14px;
    align-items:center;
    max-width:760px;
    margin:0 auto 34px;
    padding:18px 0;
    background:transparent;
    border-top:1px solid rgba(200,178,116,.28);
    border-bottom:1px solid rgba(200,178,116,.28);
    color:#5f5a50;
    text-align:left;
}

.contact-location-notice-icon {
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    color:var(--gold);
    background:#f8f6f1;
    border-radius:50%;
    font-size:15px;
}

.contact-location-notice > div:last-child {
    min-width:0;
}

.contact-location-notice strong {
    display:block;
    margin:0 0 3px;
    color:#2f2c27;
    font-size:14px;
    font-weight:600;
    line-height:1.4;
}

.contact-location-notice span {
    display:block;
    color:#777168;
    font-size:13px;
    line-height:1.55;
}

/* Alte Standortklassen für andere Inhalte weiterhin kompatibel */

.office-row {
    margin:20px 0;
    padding:0 20px;
}

.office-row .contact-person-phone,
.office-row .contact-person-email {
    margin:0;
}

.office-row .site-contact-line {
    margin:5px 0;
    font-weight:lighter;
}

.office-address div {
    font-size:14px;
}

.office-section {
    margin:30px 0 0;
}

.office-section p {
    margin:0;
    font-size:14px;
}

.office-photo-container {
    margin-bottom:15px;
}

.split-layout {
    margin:30px 0 0;
}

.split-layout h2 {
    margin-top:0;
}


/* =========================================================
   BEWERTUNGSBEREICH – ÄUSSERER WEBSITE-BEREICH
   Das Elfsight-Widget selbst wird ausschließlich im
   Elfsight-Custom-CSS gestaltet.
   ========================================================= */

.reviews-section {
    width:100%;
    margin:55px 0;
    padding: var(--content-padding);
}

.reviews-section-header {
    max-width:720px;
    margin:0 auto 26px;
    text-align:center;
}

.reviews-eyebrow {
    display:block;
    margin-bottom:8px;
    color:var(--gold);
    font-size:12px;
    font-weight:700;
    letter-spacing:1.7px;
    line-height:1.4;
    text-transform:uppercase;
}

.reviews-section-header h2 {
    margin:0 0 12px;
    padding:0;
    color:#1d1d1d;
    font-family:"Playfair Display";
    font-size:clamp(26px, 3vw, 36px);
    font-weight:600;
    line-height:1.2;
    letter-spacing:-.2px;
}

.reviews-section-header h2::after {
    display:none;
}

.reviews-section-header p {
    position:relative;
    max-width:600px;
    margin:0 auto;
    padding:0 22px;
    color:#6d685f;
    font-size:14px;
    font-weight:300;
    line-height:1.7;
}

.reviews-section-header p::before,
.reviews-section-header p::after {
    content:"";
    position:absolute;
    top:50%;
    width:34px;
    height:1px;
    background:rgba(200,178,116,.5);
}

.reviews-section-header p::before {
    right:100%;
}

.reviews-section-header p::after {
    left:100%;
}

.review-widget {
    width:100%;
    margin:0;
    padding:0;
    background:transparent;
    border:0;
    box-shadow:none;
}

@media only screen and (max-width:767px) {
    .reviews-section {
        margin:38px 0;
    }

    .reviews-section-header {
        margin-bottom:22px;
        text-align:left;
    }

    .reviews-section-header h2 {
        margin-bottom:10px;
        font-size:28px;
    }

    .reviews-section-header p {
        max-width:none;
        margin:0;
        padding:0 0 0 14px;
        border-left:2px solid var(--gold);
        font-size:13px;
        line-height:1.65;
    }

    .reviews-section-header p::before,
    .reviews-section-header p::after {
        display:none;
    }
}

/* =========================================================
   FAQ
   ========================================================= */

.flex-row.faq-section {
    display:grid !important;
    grid-template-columns:minmax(280px, .78fr) minmax(0, 1.22fr);
    align-items:start;
    gap:46px !important;
    width:100%;
    margin:55px 0;
    padding:0 20px;
}

.flex-row.faq-section > .grid50 {
    flex:none !important;
    min-width:0;
    margin:0 !important;
}

.flex-row.faq-section > .grid50:first-child {
    position:relative;
    overflow:hidden;
    padding:36px 34px;
    background:linear-gradient(135deg, #3f3d3b 0%, #514d47 100%);
    border:1px solid rgba(200,178,116,.2);
    border-radius:6px;
    box-shadow:0 18px 45px rgba(0,0,0,.12);
    color:#fff;
}

.flex-row.faq-section > .grid50:first-child::before {
    content:"";
    position:absolute;
    top:-75px;
    right:-65px;
    width:180px;
    height:180px;
    border:1px solid rgba(200,178,116,.22);
    border-radius:50%;
}

.flex-row.faq-section > .grid50:first-child::after {
    content:"FAQ";
    position:absolute;
    right:18px;
    bottom:-18px;
    color:rgba(255,255,255,.035);
    font-family:"Playfair Display";
    font-size:92px;
    font-weight:600;
    line-height:1;
    letter-spacing:-4px;
    pointer-events:none;
}

.flex-row.faq-section > .grid50:first-child h2 {
    position:relative;
    z-index:1;
    margin:0 0 18px !important;
    padding:0 0 17px;
    color:#fff;
    font-size:clamp(27px, 3vw, 36px);
    line-height:1.18;
}

.flex-row.faq-section > .grid50:first-child h2::after {
    width:46px;
    margin-top:16px;
    background:var(--gold);
}

.flex-row.faq-section > .grid50:first-child .small-text {
    position:relative;
    z-index:1;
    max-width:430px;
    color:rgba(255,255,255,.7);
    font-size:15px;
    font-weight:300;
    line-height:1.75;
}

.flex-row.faq-section > .grid50:last-child {
    counter-reset:faq-item;
}

.flex-row.faq-section details {
    counter-increment:faq-item;
    position:relative;
    margin:0 0 12px;
    padding:0;
    overflow:hidden;
    background:#fff;
    border:1px solid #e8e3da;
    border-radius:6px;
    box-shadow:0 7px 24px rgba(24,24,24,.045);
    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        transform .2s ease;
}

.flex-row.faq-section details:last-child {
    margin-bottom:0;
}

.flex-row.faq-section details:hover,
.flex-row.faq-section details[open] {
    border-color:rgba(200,178,116,.65);
    box-shadow:0 12px 30px rgba(24,24,24,.08);
}

.flex-row.faq-section details[open] {
    transform:translateY(-1px);
}

.flex-row.faq-section summary {
    display:grid;
    grid-template-columns:38px minmax(0, 1fr) 28px;
    align-items:center;
    gap:15px;
    width:100%;
    min-height:76px;
    margin:0;
    padding:17px 20px;
    color:#252525;
    list-style:none;
    cursor:pointer;
    user-select:none;
}

.flex-row.faq-section summary::-webkit-details-marker {
    display:none;
}

.flex-row.faq-section summary::before {
    content:counter(faq-item, decimal-leading-zero);
    display:flex;
    align-items:center;
    justify-content:center;
    width:38px;
    height:38px;
    color:#8f7948;
    background:#f8f5ee;
    border:1px solid rgba(200,178,116,.28);
    border-radius:50%;
    font-size:10px;
    font-weight:700;
    letter-spacing:.7px;
    transition:
        color .2s ease,
        background-color .2s ease,
        border-color .2s ease;
}

.flex-row.faq-section summary::after {
    content:"+";
    display:flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    color:#88713f;
    border:1px solid rgba(200,178,116,.42);
    border-radius:50%;
    font-size:20px;
    font-weight:300;
    line-height:1;
    transition:
        color .2s ease,
        background-color .2s ease,
        transform .25s ease;
}

.flex-row.faq-section details[open] summary::before {
    color:#191a1a;
    background:var(--gold);
    border-color:var(--gold);
}

.flex-row.faq-section details[open] summary::after {
    content:"−";
    color:#191a1a;
    background:var(--gold);
    border-color:var(--gold);
    transform:rotate(180deg);
}

.flex-row.faq-section summary h5 {
    display:block;
    margin:0;
    color:#292929;
    font-size:17px;
    font-weight:500;
    line-height:1.45;
    cursor:pointer;
}

.flex-row.faq-section details > div {
    margin:0;
    padding:0 66px 23px 73px;
    color:#666159;
    font-size:15px;
    font-weight:300;
    line-height:1.75;
}

.flex-row.faq-section details[open] > div {
    animation:faqFadeIn .2s ease both;
}

@keyframes faqFadeIn {
    from {
        opacity:0;
        transform:translateY(-5px);
    }
    to {
        opacity:1;
        transform:translateY(0);
    }
}

.review-widget {
    padding:0 20px;
}

/* =========================================================
   CTA
   ========================================================= */

.cta-section {
    margin:30px 0;
    padding:var(--content-padding);
}

.cta-title {
    text-align:center;
    color:#000;
}

.cta-button {
    display:block;
    max-width:300px;
    margin:20px auto;
    padding:15px 25px;
    background:var(--gold);
    color:#222;
    font-size:16px;
    font-weight:normal;
    text-align:center;
    cursor:pointer;
}

.cta-button.round {
    border-radius:20px;
}

.cta-button.left {
    margin:20px 0;
}

.cta-button:hover {
    background:var(--gold-light);
}

.hide-on-full {
    display:none;
}

.cta-phone-selector {
    position:relative;
    width:100%;
    max-width:300px;
    margin:20px auto;
    overflow:visible;
}

.cta-phone-selector .cta-button {
    width:100%;
    max-width:none;
    margin:0;
}

.cta-phone-toggle {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border:0;
    font-family:inherit;
    cursor:pointer;
}

.cta-phone-toggle > span {
    flex:1;
    text-align:center;
}

.cta-phone-arrow {
    flex:0 0 auto;
    margin-left:auto;
    font-size:10px;
    transition:transform 200ms ease;
}

.cta-phone-dropdown {
    position:absolute;
    top:calc(100% + 10px);
    left:50%;
    z-index:10050;
    width:340px;
    margin:0;
    padding:8px;
    background:#fff;
    border:1px solid rgba(200,178,116,.35);
    border-radius:8px;
    box-shadow:0 15px 35px rgba(0,0,0,.16);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translate(-50%, 8px);
    transition:
        opacity 180ms ease,
        visibility 180ms ease,
        transform 180ms ease;
}

.cta-phone-dropdown::before {
    content:"";
    position:absolute;
    top:-10px;
    left:0;
    width:100%;
    height:10px;
}

.cta-phone-selector:hover .cta-phone-dropdown,
.cta-phone-selector:focus-within .cta-phone-dropdown {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translate(-50%, 0);
}

.cta-phone-selector:hover .cta-phone-arrow,
.cta-phone-selector:focus-within .cta-phone-arrow {
    transform:rotate(180deg);
}

.cta-phone-dropdown a {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    width:100%;
    padding:12px 13px;
    color:#222;
    border-radius:5px;
    font-size:14px;
    font-weight:normal;
    transition:
        color 180ms ease,
        background-color 180ms ease;
}

.cta-phone-dropdown a + a {
    border-top:1px solid rgba(0,0,0,.07);
}

.cta-phone-dropdown a:hover,
.cta-phone-dropdown a:focus {
    color:var(--gold);
    background:#f8f6f1;
}

.cta-location {
    display:flex;
    align-items:center;
    gap:9px;
    min-width:0;
}

.cta-location i {
    flex:0 0 auto;
    color:var(--gold);
}

.cta-phone-number {
    flex:0 0 auto;
    color:#666;
    font-size:12px;
    white-space:nowrap;
}

.cta-phone-dropdown a:hover .cta-phone-number,
.cta-phone-dropdown a:focus .cta-phone-number {
    color:var(--gold);
}

/* =========================================================
   TABLET
   ========================================================= */

@media only screen and (max-width:1050px) {
    .contact-location-grid {
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:20px;
    }
}

/* =========================================================
   MOBILE
   ========================================================= */

@media only screen and (max-width:767px) {

    .hide-on-full {
        display:block;
    }

    .top-bar {
        margin:2px 0 0;
        padding:0 14px 11px;
    }

    .top-bar-inner {
        min-height:32px;
        justify-content:center;
        gap:14px;
    }

    header > .inside {
        padding:6px 14px 0;
    }

    .top-bar-item {
        display:none;
    }

    .location-selector,
    .top-bar-appointment {
        padding:0;
    }

    .location-selector::after {
        display:none;
    }

    .location-selector-toggle {
        min-height:32px;
        font-size:12px;
    }

    .location-selector-toggle .location-selector-text {
        max-width:170px;
        overflow:hidden;
        text-overflow:ellipsis;
    }

    .top-bar-appointment {
        font-size:12px;
    }

    .location-dropdown {
        position:fixed;
        top:48px;
        right:12px;
        left:12px;
        width:auto;
        max-height:calc(100vh - 70px);
        overflow-y:auto;
    }

    .location-dropdown::before {
        display:none;
    }

    .location-dropdown a {
        padding:13px 11px;
    }

    .location-name {
        font-size:13px;
    }

    .location-phone {
        font-size:11px;
    }

    header > .inside nav {
        display:none;
    }

    #logo {
        width:280px;
        vertical-align:middle;
    }

    .billboard {
        height:550px;
    }

    h1 {
        margin-bottom:11px;
        font-size:30px;
        line-height:1.18;
    }

    h2 {
        margin:32px 0 16px;
        padding-bottom:11px;
        font-size:26px;
        line-height:1.28;
    }

    h2::after {
        width:40px;
        margin-top:10px;
    }

    .grid20,
    .grid30,
    .grid40,
    .grid50,
    .grid60,
    .grid70,
    .grid80 {
        margin:20px 0 0;
    }

    /* Hauptnavigation im Header wird durch das Contao-Mobile-Menü ersetzt */
    header nav.mod_navigation {
        display:none;
    }

    /* Mobile-Menü-Button */
    .mod_mobile_menu {
        position:relative;
        top:-6px;
        display:flex;
        align-items:center;
        justify-content:center;
        float:right;
        width:44px;
        height:44px;
        overflow:hidden;
        color:#202020;
        background:#f8f6f1;
        border:1px solid rgba(200,178,116,.38);
        border-radius:50%;
        box-shadow:0 5px 15px rgba(20,20,20,.06);
        font-size:23px;
        cursor:pointer;
        transition:
            color 180ms ease,
            background-color 180ms ease,
            border-color 180ms ease,
            transform 180ms ease;
    }

    .mod_mobile_menu:hover,
    .mod_mobile_menu:focus {
        color:#fff;
        background:var(--gold);
        border-color:var(--gold);
        transform:translateY(-1px);
    }

    /* Geöffnetes Contao-Off-Canvas-Menü */
    .mobile_menu,
    .mobile_menu.position_left {
        width:min(88%, 390px) !important;
        max-width:390px !important;
        height:100dvh !important;
        overflow:hidden !important;
        color:#eee;
        background:#171818 !important;
        border-right:1px solid transparent;
        box-shadow:none !important;
    }

    .mobile_menu.active,
    .mobile_menu.position_left.active {
        border-right-color:rgba(200,178,116,.28);
        box-shadow:18px 0 50px rgba(0,0,0,.30) !important;
    }

    .mobile_menu:not(.active),
    .mobile_menu.position_left:not(.active),
    .mobile_menu[style*="translate3d(-"],
    .mobile_menu.position_left[style*="translate3d(-"] {
        border-right-color:transparent !important;
        box-shadow:none !important;
    }

    /* Fallback für Contao-Versionen, die die Klasse active beim Schließen behalten */
    .mobile_menu[style*="translate3d(0px, 0px, 0px)"],
    .mobile_menu.position_left[style*="translate3d(0px, 0px, 0px)"] {
        border-right-color:rgba(200,178,116,.28);
        box-shadow:18px 0 50px rgba(0,0,0,.30) !important;
    }

    .mobile_menu .inner {
        width:100%;
        height:100%;
        max-width:none;
        margin:0;
        padding:27px 18px 44px;
        overflow-x:hidden;
        overflow-y:auto;
        overscroll-behavior:contain;
        -webkit-overflow-scrolling:touch;
    }

    .mobile_menu .inner::before {
        content:"Navigation";
        display:block;
        margin:0 7px 17px;
        padding:0 0 16px;
        color:var(--gold);
        border-bottom:1px solid rgba(255,255,255,.10);
        font-size:11px;
        font-weight:700;
        letter-spacing:1.8px;
        line-height:1.3;
        text-transform:uppercase;
    }

    .mobile_menu nav.mod_navigation {
        display:block;
        float:none;
        width:100%;
        margin:0;
        padding:0;
        font-size:16px;
    }

    .mobile_menu nav.mod_navigation ul {
        margin:0;
        padding:0;
        list-style:none;
    }

    .mobile_menu nav.mod_navigation ul.level_1 > li {
        display:block;
        margin:4px 0;
        padding:0;
        border:0;
    }

    .mobile_menu nav.mod_navigation ul.level_1 > li > a,
    .mobile_menu nav.mod_navigation ul.level_1 > li > strong {
        position:relative;
        display:flex;
        align-items:center;
        justify-content:space-between;
        width:100%;
        min-height:52px;
        padding:13px 13px 13px 15px;
        color:#f0f0ed;
        background:transparent;
        border:1px solid transparent;
        border-radius:8px;
        font-size:16px;
        font-weight:400;
        line-height:1.35;
        transition:
            color 180ms ease,
            background-color 180ms ease,
            border-color 180ms ease;
    }

    .mobile_menu nav.mod_navigation ul.level_1 > li.active > strong,
    .mobile_menu nav.mod_navigation ul.level_1 > li.trail > a,
    .mobile_menu nav.mod_navigation ul.level_1 > li.trail > strong {
        color:#fff;
        background:linear-gradient(90deg, rgba(200,178,116,.17), rgba(200,178,116,.06));
        border-color:rgba(200,178,116,.25);
        font-weight:600;
    }

    .mobile_menu nav.mod_navigation ul.level_1 > li > a:hover,
    .mobile_menu nav.mod_navigation ul.level_1 > li > a:focus {
        color:#fff;
        background:rgba(255,255,255,.055);
        border-color:rgba(255,255,255,.07);
    }

    .mobile_menu nav.mod_navigation ul.level_1 > li.submenu > a::after,
    .mobile_menu nav.mod_navigation ul.level_1 > li.submenu > strong::after {
        content:"";
        flex:0 0 auto;
        width:8px;
        height:8px;
        margin:-4px 5px 0 13px;
        border-right:1.5px solid var(--gold);
        border-bottom:1.5px solid var(--gold);
        transform:rotate(45deg);
        transform-origin:center;
        transition:transform 180ms ease;
    }

    .mobile_menu nav.mod_navigation ul.level_1 > li.submenu_show > a::after,
    .mobile_menu nav.mod_navigation ul.level_1 > li.submenu_show > strong::after,
    .mobile_menu nav.mod_navigation ul.level_1 > li.submenu.trail > a::after,
    .mobile_menu nav.mod_navigation ul.level_1 > li.submenu.trail > strong::after {
        transform:translateY(4px) rotate(225deg);
    }

    /* Contao blendet Untermenüs über diese Statusklassen ein und aus */
    .mobile_menu nav.mod_navigation li.submenu_hide > ul.level_2 {
        display:none;
    }

    .mobile_menu nav.mod_navigation li.submenu_show > ul.level_2,
    .mobile_menu nav.mod_navigation li.trail > ul.level_2 {
        display:block;
        animation:mobileSubmenuIn 180ms ease both;
    }

    .mobile_menu nav.mod_navigation ul.level_2 {
        position:static;
        width:auto;
        margin:4px 8px 10px 24px;
        padding:3px 0 4px 15px;
        background:transparent;
        border:0;
        border-left:1px solid rgba(200,178,116,.48);
        border-radius:0;
        box-shadow:none;
        opacity:1;
        visibility:visible;
        pointer-events:auto;
        transform:none;
    }

    .mobile_menu nav.mod_navigation ul.level_2::before,
    .mobile_menu nav.mod_navigation ul.level_2::after {
        display:none;
    }

    .mobile_menu nav.mod_navigation ul.level_2 > li {
        display:block;
        margin:2px 0;
        padding:0;
    }

    .mobile_menu nav.mod_navigation ul.level_2 a,
    .mobile_menu nav.mod_navigation ul.level_2 strong {
        position:relative;
        display:block;
        width:100%;
        min-height:0;
        padding:9px 11px;
        color:#aaa;
        background:transparent;
        border-radius:5px;
        font-size:13px;
        font-weight:400;
        line-height:1.4;
        transition:
            color 180ms ease,
            background-color 180ms ease,
            padding-left 180ms ease;
    }

    .mobile_menu nav.mod_navigation ul.level_2 a:hover,
    .mobile_menu nav.mod_navigation ul.level_2 a:focus,
    .mobile_menu nav.mod_navigation ul.level_2 li.active > strong {
        padding-left:15px;
        color:#fff;
        background:rgba(255,255,255,.05);
    }

    @keyframes mobileSubmenuIn {
        from {
            opacity:0;
            transform:translateY(-4px);
        }
        to {
            opacity:1;
            transform:translateY(0);
        }
    }

    #chart.market-rates {
        justify-content:center;
        width:100%;
        min-height:32px;
        margin:24px auto 0;
        padding:5px 12px;
        overflow-x:auto;
        flex-wrap:nowrap;
        scrollbar-width:none;
        -webkit-overflow-scrolling:touch;
    }

    #chart.market-rates::-webkit-scrollbar {
        display:none;
    }

    .market-rates-label {
        display:none;
    }

    #chart .price.market-rate {
        flex:0 0 auto;
        padding:2px 9px;
    }

    #chart .price.market-rate:first-of-type {
        padding-left:2px;
    }

    .market-rate-metal {
        font-size:10px;
    }

    #goldprice,
    #silverprice {
        font-size:12px;
    }

    .market-rates-status {
        flex:0 0 auto;
        margin-left:9px;
        font-size:8px;
    }

    .site-contact {
        padding:20px;
    }

    .site-contact-left,
    .site-contact-right {
        flex:0 0 100%;
    }

    .hero-container {
        min-height:0;
        height:auto;
    }

    .process-container {
        flex-direction:column;
        align-items:normal;
        padding:0 30px;
    }

    .trust-block {
        width:calc(100% - 28px);
        margin:34px auto;
        padding:30px 24px 25px;
        border-left-width:2px;
        box-shadow:0 18px 42px rgba(0,0,0,.2);
        text-align:left;
    }

    .trust-eyebrow {
        margin-bottom:8px;
        font-size:10px;
        letter-spacing:1.4px;
    }

    .hero-title {
        max-width:none;
        font-size:29px;
        line-height:1.16;
    }

    .trust-intro {
        margin:12px 0 19px;
        font-size:13px;
        line-height:1.58;
    }

    .usp {
        grid-template-columns:31px minmax(0, 1fr);
        gap:11px;
        padding:11px 0;
    }

    .usp-icon {
        width:29px;
        height:29px;
        box-shadow:0 0 0 4px rgba(200,178,116,.11);
    }

    .usp-icon i,
    .usp > i {
        font-size:11px;
    }

    .usp-copy strong {
        font-size:13px;
    }

    .usp-copy span {
        font-size:11px;
    }

    .ankauf-container {
        grid-template-columns:1fr;
        gap:10px;
        margin:25px 0;
    }

    .ankauf-item {
        min-height:160px;
        padding:20px;
    }

    .ankauf-container h4,
    .ankauf-item h4 {
        font-size:17px;
    }

    .ankauf-item p {
        font-size:13px;
        line-height:1.5;
    }

    .ankauf-number {
        width:26px;
        height:26px;
    }

    .bar.validation {
        height:350px;
    }

    .content-text.validation {
        margin:20px 0;
    }

    footer {
        margin-top:40px;
    }

    footer > .inside {
        padding:42px 20px 20px;
    }

    .footer-shell {
        grid-template-columns:1fr;
        gap:38px;
    }

    #logo-footer {
        margin-bottom:20px;
    }

    #logo-footer img {
        max-width:245px;
    }

    .footer-intro {
        max-width:500px;
        margin-bottom:21px;
        font-size:13px;
        line-height:1.7;
    }

    .footer-benefits {
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:10px 14px;
    }

    .footer-benefits li {
        align-items:flex-start;
        font-size:12px;
    }

    .footer-content-grid {
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:32px 24px;
    }

    .footer-contact-column {
        grid-column:1 / -1;
    }

    .footer-contact-list {
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

    .footer-heading {
        margin-bottom:18px;
    }

    .footer-bottom {
        align-items:flex-start;
        flex-direction:column;
        gap:8px;
        margin-top:34px;
        padding-top:17px;
    }

    .flex-row {
        gap:0;
    }

    .office-row {
        flex-direction:column-reverse;
    }

    .split-layout {
        flex-direction:column;
    }

    .contact-person-container {
        margin:0;
        gap:20px;
        flex-direction:column;
    }

    .contact-person-text {
        padding:0;
    }

    .flex-row.faq-section {
        grid-template-columns:1fr !important;
        gap:18px !important;
        margin:38px 0;
        padding:0 20px;
    }

    .flex-row.faq-section > .grid50:first-child {
        padding:27px 24px;
    }

    .flex-row.faq-section > .grid50:first-child::after {
        right:12px;
        bottom:-10px;
        font-size:68px;
    }

    .flex-row.faq-section > .grid50:first-child h2 {
        margin-bottom:13px !important;
        padding-bottom:13px;
        font-size:27px;
    }

    .flex-row.faq-section > .grid50:first-child .small-text {
        font-size:14px;
        line-height:1.65;
    }

    .flex-row.faq-section summary {
        grid-template-columns:34px minmax(0, 1fr) 26px;
        gap:11px;
        min-height:68px;
        padding:15px 14px;
    }

    .flex-row.faq-section summary::before {
        width:34px;
        height:34px;
        font-size:9px;
    }

    .flex-row.faq-section summary::after {
        width:26px;
        height:26px;
        font-size:18px;
    }

    .flex-row.faq-section summary h5 {
        font-size:15px;
        line-height:1.4;
    }

    .flex-row.faq-section details > div {
        padding:0 50px 19px 59px;
        font-size:14px;
        line-height:1.65;
    }

    .contact-locations {
        padding:5px 0 20px;
    }

    .contact-locations-header,
    .landingpage-header,
    .homepage-header {
        margin-bottom:27px;
        text-align:left;
        padding: var(--content-padding);
    }

    .contact-locations-header h1,
    .landingpage-header h1,
    .homepage-header h1 {
        margin-bottom:11px;
        font-size:30px;
    }

    .contact-locations-header p,
    .landingpage-header p,
    .homepage-header p {
        font-size:15px;
        line-height:1.65;
    }

    .contact-location-grid {
        grid-template-columns:1fr;
        gap:18px;
    }

    .contact-location-image {
        height:185px;
    }

    .contact-location-content {
        padding:21px;
    }

    .contact-location-heading {
        margin-bottom:15px;
    }

    .contact-location-heading h3 {
        font-size:20px;
    }

    .contact-location-notice {
        grid-template-columns:36px minmax(0, 1fr);
        gap:12px;
        margin:0 0 26px;
        padding:15px 0;
    }

    .contact-location-notice-icon {
        width:36px;
        height:36px;
        font-size:13px;
    }

    .contact-location-notice strong {
        margin-bottom:3px;
        font-size:13px;
    }

    .contact-location-notice span {
        font-size:12px;
        line-height:1.5;
    }

    .cta-button {
        max-width:360px;
    }

    .cta-phone-selector {
        max-width:360px;
    }

    .cta-phone-dropdown {
        left:0;
        width:100%;
        transform:translateY(8px);
    }

    .cta-phone-selector:hover .cta-phone-dropdown,
    .cta-phone-selector:focus-within .cta-phone-dropdown {
        transform:translateY(0);
    }

    .cta-phone-dropdown a {
        align-items:flex-start;
    }

    .cta-phone-number {
        font-size:11px;
    }
}


@media only screen and (max-width:520px) {
    .footer-benefits,
    .footer-content-grid,
    .footer-contact-list {
        grid-template-columns:1fr;
    }

    .footer-contact-column {
        grid-column:auto;
    }

    .footer-contact-card {
        padding:15px;
    }
}

/* =========================================================
   LANDINGPAGE-INTRO UND STANDORTBEREICH KLAR TRENNEN
   ========================================================= */

.landingpage-header {
    max-width:820px;
    margin:0 auto;
}

.contact-locations {
    position:relative;
    width:100%;
    margin:68px auto 0;
    padding:48px 26px 34px;
    background:linear-gradient(180deg, #fbfaf7 0%, #fff 100%);
    border-top:1px solid rgba(200,178,116,.28);
}

.contact-locations::before {
    content:"";
    position:absolute;
    top:-1px;
    left:50%;
    width:58px;
    height:2px;
    background:var(--gold);
    transform:translateX(-50%);
}

.contact-locations-header {
    max-width:680px;
    margin:0 auto 34px;
    text-align:center;
}

.contact-locations-header h2 {
    margin:0 0 12px;
    padding:0;
    font-size:clamp(27px, 3vw, 36px);
    line-height:1.2;
}

.contact-locations-header p {
    max-width:620px;
    color:#6f6a62;
    font-size:15px;
    line-height:1.65;
}

@media only screen and (max-width:767px) {
    .landingpage-header {
        margin-bottom:0;
    }

    .contact-locations {
        margin-top:44px;
        padding:34px 0 22px;
        background:linear-gradient(180deg, #fbfaf7 0%, #fff 100%);
    }

    .contact-locations::before {
        left:20px;
        width:42px;
        transform:none;
    }

    .contact-locations-header {
        margin:0 0 26px;
        padding:0 20px;
        text-align:left;
    }

    .contact-locations-header h2 {
        margin-bottom:10px;
        font-size:27px;
        line-height:1.24;
    }

    .contact-locations-header p {
        margin:0;
        font-size:14px;
        line-height:1.6;
    }
}

/* =========================================================
   LANDINGPAGE: STANDORTE – EDITORIALER ABSCHNITT
   ========================================================= */

/*
 * Bewusst ohne Kartenhintergrund: Die große 02 trennt den Abschnitt
 * optisch vom vorherigen Landingpage-Intro und führt zu den zwei Standorten.
 */
.landingpage-header + .content-text.text-center {
    position:relative;
    display:grid;
    grid-template-columns:108px minmax(0, 1fr);
    grid-template-areas:
        "number heading"
        "number copy";
    column-gap:34px;
    row-gap:9px;
    align-items:start;
    width:calc(100% - 40px);
    max-width:1080px;
    margin:92px auto 34px;
    padding:0 0 28px;
    border-bottom:1px solid rgba(36,34,30,.14);
    text-align:left;
}

.landingpage-header + .content-text.text-center::before {
    content:"02";
    grid-area:number;
    display:flex;
    align-items:flex-start;
    justify-content:flex-start;
    min-height:100%;
    padding:2px 28px 0 0;
    color:var(--gold);
    border-right:1px solid rgba(200,178,116,.42);
    font-family:"Playfair Display";
    font-size:64px;
    font-weight:600;
    line-height:.9;
    letter-spacing:-2px;
}

.landingpage-header + .content-text.text-center h2 {
    grid-area:heading;
    margin:0;
    padding:0;
    color:#22201d;
    font-size:clamp(30px, 3.2vw, 40px);
    line-height:1.15;
    text-align:left;
}

.landingpage-header + .content-text.text-center h2::before {
    content:"Persönliche Beratung vor Ort";
    display:block;
    margin:0 0 8px;
    color:#a58a4d;
    font-family:Lato, sans-serif;
    font-size:11px;
    font-weight:700;
    line-height:1.4;
    letter-spacing:1.65px;
    text-transform:uppercase;
}

.landingpage-header + .content-text.text-center h2::after {
    display:none;
}

.landingpage-header + .content-text.text-center .small-text {
    grid-area:copy;
    max-width:690px;
    margin:0;
    padding:0;
    color:#68645d;
    font-size:15px;
    line-height:1.7;
    text-align:left;
}

.landingpage-header + .content-text.text-center + .site-contact {
    margin-top:0;
    padding-top:0;
}

@media only screen and (max-width:767px) {
    .landingpage-header + .content-text.text-center {
        grid-template-columns:54px minmax(0, 1fr);
        grid-template-areas:
            "number heading"
            "copy copy";
        column-gap:17px;
        row-gap:16px;
        width:auto;
        margin:58px 20px 26px;
        padding:0 0 22px;
    }

    .landingpage-header + .content-text.text-center::before {
        align-items:flex-start;
        min-height:auto;
        padding:4px 14px 0 0;
        font-size:42px;
        line-height:.95;
        letter-spacing:-1px;
    }

    .landingpage-header + .content-text.text-center h2 {
        align-self:center;
        font-size:28px;
        line-height:1.2;
    }

    .landingpage-header + .content-text.text-center h2::before {
        margin-bottom:5px;
        font-size:9px;
        letter-spacing:1.25px;
    }

    .landingpage-header + .content-text.text-center .small-text {
        max-width:none;
        font-size:14px;
        line-height:1.65;
    }

    .landingpage-header + .content-text.text-center + .site-contact {
        padding-top:0;
    }
}

/* =========================================================
   STANDORT-HINWEIS OHNE HTML-ÄNDERUNG – V13
   ========================================================= */

.landingpage-header + .content-text.text-center .small-text {
    font-size:0;
    line-height:0;
}

.landingpage-header + .content-text.text-center .small-text::after {
    content:"Hier sehen Sie eine Auswahl unserer Standorte. Weitere Filialen finden Sie in unserer vollständigen Standortübersicht.";
    display:block;
    max-width:690px;
    color:#68645d;
    font-size:15px;
    line-height:1.7;
    text-align:left;
}

@media only screen and (max-width:767px) {
    .landingpage-header + .content-text.text-center .small-text::after {
        max-width:none;
        font-size:14px;
        line-height:1.65;
    }
}
/* =========================================================
   AUSGEWÄHLTE STANDORTE – KARTENLAYOUT V14
   ========================================================= */

.location-selection {
    width:100%;
    max-width:var(--site-width);
    margin:0 auto 64px;
    padding:0 20px;
}

.location-selection-grid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:18px;
    align-items:stretch;
}

.location-selection-card {
    position:relative;
    display:flex;
    flex-direction:column;
    min-width:0;
    overflow:hidden;
    background:#fff;
    border:1px solid #e7e1d5;
    border-radius:6px;
    box-shadow:0 8px 24px rgba(34,31,26,.065);
    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.location-selection-card:hover {
    transform:translateY(-3px);
    border-color:rgba(200,178,116,.7);
    box-shadow:0 13px 32px rgba(34,31,26,.10);
}

.location-selection-image {
    position:relative;
    height:205px;
    overflow:hidden;
    background:#ece8df;
}

.location-selection-image::after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
        180deg,
        rgba(20,19,17,.02) 38%,
        rgba(20,19,17,.54) 100%
    );
    pointer-events:none;
}

.location-selection-image img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .5s ease;
}

.location-selection-card:hover .location-selection-image img {
    transform:scale(1.035);
}

.location-selection-region {
    position:absolute;
    right:17px;
    bottom:14px;
    left:17px;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    color:#fff;
}

.location-selection-region span {
    display:inline-flex;
    align-items:center;
    gap:7px;
    font-size:12px;
    font-weight:700;
    letter-spacing:1.1px;
    line-height:1.4;
    text-transform:uppercase;
}

.location-selection-region i {
    color:var(--gold-light);
}

.location-selection-region small {
    color:rgba(255,255,255,.78);
    font-size:11px;
    font-weight:400;
    letter-spacing:.2px;
}

.location-selection-content {
    display:flex;
    flex:1;
    flex-direction:column;
    padding:21px 23px 22px;
}

.location-selection-eyebrow {
    display:block;
    margin-bottom:5px;
    color:#a58a4d;
    font-size:10px;
    font-weight:700;
    letter-spacing:1.55px;
    line-height:1.4;
    text-transform:uppercase;
}

.location-selection-content h3 {
    margin:0 0 14px;
    color:#24211e;
    font-family:"Playfair Display";
    font-size:26px;
    font-weight:600;
    line-height:1.2;
}

.location-selection-details {
    display:flex;
    flex-direction:column;
    gap:0;
    margin-bottom:14px;
    border-top:1px solid #eee9e0;
}

.location-selection-line {
    display:grid;
    grid-template-columns:32px minmax(0, 1fr);
    gap:10px;
    align-items:start;
    padding:11px 0;
    border-bottom:1px solid #eee9e0;
}

.location-selection-icon {
    display:flex;
    align-items:center;
    justify-content:center;
    width:32px;
    height:32px;
    color:var(--gold);
    background:#f7f3ea;
    border-radius:50%;
    font-size:14px;
}

.location-selection-line-copy {
    min-width:0;
}

.location-selection-label {
    display:block;
    margin-bottom:2px;
    color:#999187;
    font-size:10px;
    font-weight:700;
    letter-spacing:1.05px;
    line-height:1.4;
    text-transform:uppercase;
}

.location-selection-value {
    display:block;
    color:#45413c;
    font-size:14px;
    line-height:1.55;
    overflow-wrap:anywhere;
}

.location-selection-value p {
    margin:0;
}

.location-selection-value a {
    color:#45413c;
    font-weight:400;
}

.location-selection-value a:hover,
.location-selection-value a:focus {
    color:var(--gold);
}

.location-selection-hours {
    display:grid;
    grid-template-columns:26px minmax(0, 1fr);
    gap:9px;
    align-items:start;
    margin-top:auto;
    padding:12px 14px;
    background:#f9f7f2;
    border-left:2px solid var(--gold);
}

.location-selection-hours > i {
    margin-top:2px;
    color:var(--gold);
    font-size:15px;
    text-align:center;
}

.location-selection-hours strong,
.location-selection-hours span,
.location-selection-hours small {
    display:block;
}

.location-selection-hours strong {
    margin-bottom:3px;
    color:#302d29;
    font-size:13px;
    font-weight:700;
}

.location-selection-hours span {
    color:#514c45;
    font-size:13px;
    line-height:1.5;
}

.location-selection-hours small {
    margin-top:4px;
    color:#7d766d;
    font-size:11px;
    line-height:1.5;
}

.location-selection-actions {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:13px;
}

.location-selection-actions a {
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:9px 12px;
    border:1px solid #d9d1c2;
    border-radius:4px;
    color:#302d29;
    font-size:13px;
    font-weight:700;
    line-height:1.35;
    text-align:center;
}

.location-selection-actions a:first-child {
    background:var(--gold);
    border-color:var(--gold);
    color:#211f1b;
}

.location-selection-actions a:hover,
.location-selection-actions a:focus {
    background:#242321;
    border-color:#242321;
    color:#fff;
}

.location-selection-more {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    margin-top:19px;
    padding:19px 0 0;
    border-top:1px solid rgba(36,34,30,.14);
}

.location-selection-more-copy {
    min-width:0;
}

.location-selection-more-label {
    display:block;
    margin-bottom:4px;
    color:#a58a4d;
    font-size:10px;
    font-weight:700;
    letter-spacing:1.45px;
    line-height:1.4;
    text-transform:uppercase;
}

.location-selection-more strong {
    display:block;
    color:#302d29;
    font-family:"Playfair Display";
    font-size:21px;
    font-weight:600;
    line-height:1.35;
}

.location-selection-more > a {
    display:inline-flex;
    align-items:center;
    gap:10px;
    flex:0 0 auto;
    padding:11px 0;
    color:#302d29;
    border-bottom:1px solid var(--gold);
    font-size:13px;
    font-weight:700;
}

.location-selection-more > a i {
    color:var(--gold);
    transition:transform .2s ease;
}

.location-selection-more > a:hover,
.location-selection-more > a:focus {
    color:var(--gold);
}

.location-selection-more > a:hover i,
.location-selection-more > a:focus i {
    transform:translateX(4px);
}

@media only screen and (max-width:900px) {
    .location-selection-grid {
        grid-template-columns:1fr;
        max-width:720px;
        margin:0 auto;
    }

    .location-selection-image {
        height:220px;
    }
}

@media only screen and (max-width:767px) {
    .location-selection {
        margin-bottom:38px;
        padding:0 16px;
    }

    .location-selection-grid {
        gap:14px;
    }

    .location-selection-image {
        height:155px;
    }

    .location-selection-region {
        right:13px;
        bottom:10px;
        left:13px;
    }

    .location-selection-region small {
        display:none;
    }

    .location-selection-content {
        padding:15px 15px 16px;
    }

    .location-selection-eyebrow {
        display:none;
    }

    .location-selection-content h3 {
        margin-bottom:10px;
        font-size:23px;
    }

    .location-selection-line {
        grid-template-columns:29px minmax(0, 1fr);
        gap:9px;
        padding:9px 0;
    }

    .location-selection-icon {
        width:29px;
        height:29px;
        font-size:12px;
    }

    .location-selection-label {
        margin-bottom:1px;
        font-size:9px;
    }

    .location-selection-value {
        font-size:12.5px;
        line-height:1.42;
    }

    .location-selection-hours {
        grid-template-columns:22px minmax(0, 1fr);
        gap:7px;
        padding:10px 11px;
    }

    .location-selection-hours > i {
        font-size:13px;
    }

    .location-selection-hours strong {
        margin-bottom:1px;
        font-size:12px;
    }

    .location-selection-hours span {
        font-size:11.5px;
        line-height:1.4;
    }

    .location-selection-hours small {
        display:none;
    }

    .location-selection-actions {
        grid-template-columns:minmax(0, 1.18fr) minmax(0, .82fr);
        gap:7px;
        margin-top:11px;
    }

    .location-selection-actions a {
        min-height:39px;
        padding:7px 6px;
        font-size:11px;
        line-height:1.25;
    }

    .location-selection-more {
        align-items:flex-start;
        flex-direction:column;
        gap:8px;
        margin-top:16px;
        padding-top:16px;
    }

    .location-selection-more strong {
        font-size:19px;
    }
}
/* =========================================================
   EINLEITUNG ÜBER DER STANDORTAUSWAHL – V15
   HTML BLEIBT UNVERÄNDERT
   ========================================================= */

.office-section.content-text {
    position:relative;
    width:100%;
    max-width:900px;
    margin:72px auto 34px;
    padding:0 28px 34px;
    text-align:center;
}

.office-section.content-text::after {
    content:"";
    display:block;
    width:100%;
    max-width:680px;
    height:1px;
    margin:30px auto 0;
    background:linear-gradient(
        90deg,
        transparent 0%,
        rgba(200,178,116,.55) 22%,
        rgba(200,178,116,.55) 78%,
        transparent 100%
    );
}

.office-section.content-text > h2 {
    margin:0;
    padding:0;
    color:#27241f;
    font-family:"Playfair Display";
    font-size:clamp(30px, 3.6vw, 42px);
    font-weight:600;
    line-height:1.16;
    letter-spacing:-.3px;
}

.office-section.content-text > h2::before {
    content:"Persönlich für Sie vor Ort";
    display:block;
    margin:0 0 9px;
    color:var(--gold);
    font-family:Lato, sans-serif;
    font-size:11px;
    font-weight:700;
    line-height:1.4;
    letter-spacing:1.8px;
    text-transform:uppercase;
}

.office-section.content-text > h2::after {
    width:44px;
    height:2px;
    margin:17px auto 0;
    background:var(--gold);
}

.office-section.content-text .rte {
    max-width:760px;
    margin:20px auto 0;
}

.office-section.content-text .rte p {
    margin:0;
    color:#666057;
    font-size:16px;
    font-weight:300;
    line-height:1.75;
}

.office-section.content-text .rte strong {
    color:#403b34;
    font-weight:600;
}

.office-section.content-text .rte a {
    position:relative;
    color:#8d7440;
    font-weight:600;
    text-decoration:none;
    white-space:nowrap;
}

.office-section.content-text .rte a::after {
    content:"";
    position:absolute;
    right:0;
    bottom:-2px;
    left:0;
    height:1px;
    background:rgba(200,178,116,.65);
    transform:scaleX(0);
    transform-origin:right;
    transition:transform .22s ease;
}

.office-section.content-text .rte a:hover::after,
.office-section.content-text .rte a:focus::after {
    transform:scaleX(1);
    transform-origin:left;
}

.office-section.content-text + .location-selection {
    margin-top:0;
}

@media only screen and (max-width:767px) {
    .office-section.content-text {
        margin:48px auto 26px;
        padding:0 20px 27px;
        text-align:left;
    }

    .office-section.content-text::after {
        margin-top:24px;
        background:linear-gradient(
            90deg,
            rgba(200,178,116,.55) 0%,
            rgba(200,178,116,.18) 72%,
            transparent 100%
        );
    }

    .office-section.content-text > h2 {
        font-size:30px;
        line-height:1.2;
    }

    .office-section.content-text > h2::before {
        margin-bottom:7px;
        font-size:10px;
        letter-spacing:1.55px;
    }

    .office-section.content-text > h2::after {
        width:40px;
        margin:14px 0 0;
    }

    .office-section.content-text .rte {
        margin-top:17px;
    }

    .office-section.content-text .rte p {
        font-size:14px;
        line-height:1.7;
    }

    .office-section.content-text .rte a {
        white-space:normal;
    }
}


/* Kompakte Nachschärfung der Standortkarten */
@media only screen and (max-width:767px) {
    .location-selection-region span {
        gap:5px;
        font-size:10px;
        letter-spacing:.8px;
    }

    .location-selection-details {
        margin-bottom:10px;
    }

    .location-selection-more-label {
        margin-bottom:2px;
        font-size:9px;
    }

    .location-selection-more > a {
        padding:7px 0;
        font-size:12px;
    }
}

