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%}.aspect--9\:16,.responsive.ratio-916{padding-bottom:177.7777%}.aspect--1\:1,.responsive.ratio-11{padding-bottom:100%}
/**
 * @license
 * MyFonts Webfont Build ID 2792977, 2014-04-11T04:46:04-0400
 * 
 * The fonts listed in this notice are subject to the End User License
 * Agreement(s) entered into by the website owner. All other parties are 
 * explicitly restricted from using the Licensed Webfonts(s).
 * 
 * You may obtain a valid license at the URLs below.
 * 
 * Webfont: Futura Condensed Light by Linotype
 * URL: http://www.myfonts.com/fonts/linotype/futura/condensed-light/
 * Copyright: Copyright &#x00A9; 1987, 1991, 1992, 1993, 2002 Adobe Systems Incorporated.  All Rights Reserved.
 * 
 * Webfont: Futura Condensed Medium by Linotype
 * URL: http://www.myfonts.com/fonts/linotype/futura/condensed/
 * Copyright: Part of the digitally encoded machine readable outline data for producing the Typefaces provided is copyrighted (c) 1987, 1991, 1992, 1993, 2003 Linotype Library GmbH, www.linotype.com. All rights reserved. This software is the property of Linotype Librar
 * 
 * Webfont: Rotis Sans Serif Italic by Monotype 
 * URL: http://www.myfonts.com/fonts/mti/rotis-sans-serif/italic-56/
 * Copyright: Font software Copyright 1998 Monotype Imaging, Inc. All rights reserved.
 * 
 * Webfont: Rotis Sans Serif Bold by Monotype 
 * URL: http://www.myfonts.com/fonts/mti/rotis-sans-serif/bold-65/
 * Copyright: Font software Copyright 1998 Monotype Imaging, Inc. All rights reserved.
 * 
 * Webfont: Rotis Sans Serif by Monotype 
 * URL: http://www.myfonts.com/fonts/mti/rotis-sans-serif/55/
 * Copyright: Font software Copyright 1998 Monotype Imaging, Inc. All rights reserved.
 * 
 * 
 * License: http://www.myfonts.com/viewlicense?type=web&buildid=2792977
 * Licensed pageviews: 250,000
 * 
 * © 2014 MyFonts Inc
*/


/* @import must be at top of file, otherwise CSS will not work */
@import url("//hello.myfonts.net/count/2a9e11");

  
@font-face {font-family: 'FuturaStd-CondensedLight';src: url('../../files/fonts/2A9E11_0_0.eot');src: url('../../files/fonts/2A9E11_0_0.eot?#iefix') format('embedded-opentype'),url('../../files/fonts/2A9E11_0_0.woff') format('woff'),url('../../files/fonts/2A9E11_0_0.ttf') format('truetype');}
 
  
@font-face {font-family: 'FuturaLT-Condensed';src: url('../../files/fonts/2A9E11_1_0.eot');src: url('../../files/fonts/2A9E11_1_0.eot?#iefix') format('embedded-opentype'),url('../../files/fonts/2A9E11_1_0.woff') format('woff'),url('../../files/fonts/2A9E11_1_0.ttf') format('truetype');}
 
  
@font-face {font-family: 'RotisSansSerif-Italic';src: url('../../files/fonts/2A9E11_2_0.eot');src: url('../../files/fonts/2A9E11_2_0.eot?#iefix') format('embedded-opentype'),url('../../files/fonts/2A9E11_2_0.woff') format('woff'),url('../../files/fonts/2A9E11_2_0.ttf') format('truetype');}
 
  
@font-face {font-family: 'RotisSansSerif-Bold';src: url('../../files/fonts/2A9E11_3_0.eot');src: url('../../files/fonts/2A9E11_3_0.eot?#iefix') format('embedded-opentype'),url('../../files/fonts/2A9E11_3_0.woff') format('woff'),url('../../files/fonts/2A9E11_3_0.ttf') format('truetype');}
 
  
@font-face {font-family: 'RotisSansSerif';src: url('../../files/fonts/2A9E11_4_0.eot');src: url('../../files/fonts/2A9E11_4_0.eot?#iefix') format('embedded-opentype'),url('../../files/fonts/2A9E11_4_0.woff') format('woff'),url('../../files/fonts/2A9E11_4_0.ttf') format('truetype');}
 
body {
    font:11.5pt RotisSansSerif;
    font-weight:normal;
}
h1,
h2,
h3,
h4,
h5,
h6 {
    margin:18px 0 10px;
    font-family:FuturaLT-Condensed;
    font-weight:normal;
    color:#970051;
}
h1 {
    font-size:160%;
}
h2 {
    font-size:150%;
}
h3 {
    font-size:140%;
}
h4 {
    font-size:130%;
}
h5 {
    margin-bottom:0;
    font-size:120%;
}
p {
    margin-top:5px;
}
a {
    text-decoration:none;
    color:#970051;
}
a:hover {
    text-decoration:underline !important;
}
#left {
    width:100;
    padding:10px 0 15px;
    background-color:#970051;
}
#navMain,
#navTop {
    font-family:FuturaStd-CondensedLight;
    font-weight:normal;
    text-decoration:none;
    text-transform:none;
}
#navMain {
    padding:0 20px 5px;
    font-size:110%;
}
#navMain ul {
    margin-left:0;
    padding-top:5px;
    padding-left:22px;
    list-style-type:none;
}
#navMain ul li {
    padding-top:2px;
    padding-bottom:2px;
}
#navMain ul li,
#navMain ul li a {
    font-weight:normal;
    text-decoration:none;
    color:#fff;
    text-transform:none;
}
#navMain ul li a.active {
    text-decoration:underline;
}
#navMain > ul > li ul {
    padding-bottom:20px;
}
#kidsWelcome {
    margin-top:20px;
    margin-bottom:25px;
    text-align:center;
}
#navTop {
    float:right;
    font-size:95%;
}
#navTop ul {
    margin-top:26px;
    margin-bottom:20px;
    list-style-type:none;
}
#navTop ul li {
    float:left;
    padding-left:25px;
}
#navTop ul li,
#navTop ul li a {
    font-weight:normal;
    text-decoration:none;
    color:#000;
    text-transform:uppercase;
}
#navTop ul li a.active {
    text-decoration:underline;
}
#logo {
    left:-80px;
    top:25px;
    position:absolute;
    z-index: 20;
}
#logoSpacer {
    height:140px;
}
#main .inside {
    padding-left:60px;
}
.quotation {
    padding-top:20px;
    padding-bottom:20px;
    padding-left:60px;
    font-family:FuturaStd-CondensedLight;
    color:#970051;
}
.quotation h3 {
    margin:0;
    padding:0;
    font:215% FuturaStd-CondensedLight;
    font-weight:normal;
}
form table td.col_first {
    padding-right:8px;
}
input[type=text],
input[type=email] {
    width:200px;
}
input,
textarea {
    padding:4px;
    border:1px solid #970051;
    transition: background 0.5s ease 0s;
}
input:hover,
input:focus,
textarea:hover,
textarea:focus {
    border-color:#590031;
    transition: background 0.5s ease 0s;
}
input[type=submit] {
    padding:4px 8px;
    background-color:#970051;
    border:0;
    color:#fff;
}
input[type=submit]:hover {
    background-color:#750041;
    cursor:pointer;
}
#footer {
    width:100;
    height:250px;
    overflow:hidden;
    margin-top:40px;
    margin-bottom:20px;
    padding:0 0 0 10px;
    background-color:#e3e4e4;
}
#footer .inside {
    height:100%;
}
#footer .footerBox {
    width:273px;
    float:left;
}
#footer .footerText {
    padding:10px 30px 15px;
}
#footer #footerMap {
    width:338px;
    height:260px;
    background-position:left top;
    background-repeat:no-repeat;
    background-image: url(http://maps.googleapis.com/maps/api/staticmap?center=Hauptstrasse+68-70,5600+St.+Johann+im+Pongau&zoom=14&size=338x250&maptype=roadmap
    &markers=color:red%7C47.3457038,13.19756910000001&sensor=false);
}
#footer #footerMedicent {
    height:100%;
    border-left:1px solid #970051;
}
.image_container.float_right {
    margin-top:10px;
    margin-bottom:10px;
    margin-left:10px;
}
.ce_text li {
    margin-bottom:4px;
}
.mod_newslist .layout_latest {
    margin-bottom:5px;
    border-top:0px solid #970051;
    border-right:0px solid #970051;
    border-bottom:1px solid #970051;
    border-left:0px solid #970051;
}
.mod_newslist .layout_latest h2,
.mod_newslist .layout_latest .info {
    margin-top:13px;
}
.mod_newslist .layout_latest .info,
.mod_newsreader .layout_full .info {
    float:right;
}

/*
 * Responsive Ergänzungen für ganzheits-medizin.eu
 *
 * Diese Datei nach dem bisherigen theme.css einbinden.
 * Das mobile Menü wird nur ausgeblendet, wenn mobile-navigation.js
 * erfolgreich initialisiert wurde.
 */

.mobile-menu-toggle,
.mobile-menu-backdrop,
.mobile-menu-secondary {
    display: none;
}

@media (max-width: 767px) {
    #main .inside {
        width: 100%;
        padding-right: clamp(16px, 5vw, 24px) !important;
        padding-left: clamp(16px, 5vw, 24px) !important;
        box-sizing: border-box;
    }

    #logo {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        padding-right: 4.75rem !important;
        box-sizing: border-box;
    }

    #logo img {
        max-width: 100%;
        height: auto;
    }

    #logoSpacer {
        height: 1rem !important;
    }

    .quotation {
        padding-right: 0;
        padding-left: 0;
    }

    html.mobile-menu-ready #navTop {
        display: none;
    }

    html.mobile-menu-ready #left {
        min-height: 0;
        padding: 0;
        background: transparent;
    }

    html.mobile-menu-ready #left .inside {
        position: static;
    }

    html.mobile-menu-ready #topImage,
    html.mobile-menu-ready #kidsWelcome {
        display: none;
    }

    html.mobile-menu-ready #navMain {
        position: fixed;
        z-index: 1001;
        top: 0;
        right: 0;
        bottom: 0;
        width: min(84vw, 340px);
        max-width: 100%;
        margin: 0;
        padding: 5.25rem 1.25rem 2rem;
        overflow-y: auto;
        box-sizing: border-box;
        background: #970051;
        box-shadow: -12px 0 30px rgba(45, 0, 24, 0.22);
        visibility: hidden;
        transform: translateX(105%);
        transition:
            transform 220ms ease,
            visibility 220ms;
        pointer-events: none;
    }

    html.mobile-menu-ready.mobile-menu-open #navMain {
        visibility: visible;
        transform: translateX(0);
        pointer-events: auto;
    }

    html.mobile-menu-ready #navMain ul {
        margin: 0;
        padding: 0;
    }

    html.mobile-menu-ready #navMain ul li {
        margin: 0;
        padding: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    }

    html.mobile-menu-ready #navMain > ul > li ul {
        padding: 0 0 0.5rem 0.75rem;
    }

    html.mobile-menu-ready #navMain .mobile-menu-secondary {
        display: block;
        margin-top: 1.25rem;
        padding-top: 0.75rem;
        border-top: 2px solid rgba(255, 255, 255, 0.35);
        font-size: 0.92em;
    }

    html.mobile-menu-ready #navMain a,
    html.mobile-menu-ready #navMain strong,
    html.mobile-menu-ready #navMain span {
        display: block;
        padding: 0.8rem 0.35rem;
        color: #fff;
        line-height: 1.25;
    }

    html.mobile-menu-ready #navMain a:hover,
    html.mobile-menu-ready #navMain a:focus-visible,
    html.mobile-menu-ready #navMain a.active,
    html.mobile-menu-ready #navMain a.trail {
        text-decoration: underline;
        text-decoration-thickness: 2px;
        text-underline-offset: 0.2em;
    }

    .mobile-menu-toggle {
        position: fixed;
        z-index: 1002;
        top: 0.75rem;
        right: 0.75rem;
        display: inline-flex;
        align-items: center;
        gap: 0.55rem;
        min-height: 44px;
        padding: 0.65rem 0.8rem;
        border: 0;
        border-radius: 6px;
        background: #970051;
        box-shadow: 0 3px 12px rgba(45, 0, 24, 0.2);
        color: #fff;
        font: 1rem/1 FuturaStd-CondensedLight, Arial, sans-serif;
        cursor: pointer;
    }

    .mobile-menu-toggle:hover,
    .mobile-menu-toggle:focus-visible {
        background: #750041;
    }

    .mobile-menu-toggle:focus-visible {
        outline: 3px solid rgba(151, 0, 81, 0.28);
        outline-offset: 3px;
    }

    .mobile-menu-icon {
        display: grid;
        width: 22px;
        gap: 4px;
    }

    .mobile-menu-icon span {
        display: block;
        width: 100%;
        height: 2px;
        border-radius: 2px;
        background: currentColor;
        transition:
            transform 180ms ease,
            opacity 180ms ease;
    }

    .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon span:nth-child(1) {
        transform: translateY(6px) rotate(45deg);
    }

    .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon span:nth-child(2) {
        opacity: 0;
    }

    .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon span:nth-child(3) {
        transform: translateY(-6px) rotate(-45deg);
    }

    .mobile-menu-backdrop {
        position: fixed;
        z-index: 1000;
        inset: 0;
        display: block;
        border: 0;
        background: rgba(24, 12, 18, 0.55);
        opacity: 0;
        visibility: hidden;
        transition:
            opacity 220ms ease,
            visibility 220ms;
        pointer-events: none;
    }

    html.mobile-menu-open .mobile-menu-backdrop {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    html.mobile-menu-open,
    html.mobile-menu-open body {
        overflow: hidden;
    }
}

@media (max-width: 420px) {
    .mobile-menu-label {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    html.mobile-menu-ready #navMain,
    .mobile-menu-backdrop,
    .mobile-menu-icon span {
        transition: none;
    }
}

.contact-form {
    --contact-accent: #970051;
    --contact-accent-dark: #750041;
    --contact-border: #d9ccd3;
    --contact-surface: #fbf7f9;
    --contact-focus: rgba(151, 0, 81, 0.16);
}

.contact-form form {
    width: 100%;
    max-width: 640px;
    margin: 1.5rem 0 2rem;
    padding: 1.5rem;
    box-sizing: border-box;
    border: 1px solid #eadfe5;
    border-radius: 8px;
    background: var(--contact-surface);
}

.contact-form .formbody {
    display: grid;
    gap: 1rem;
}

.contact-form .widget {
    min-width: 0;
    margin: 0;
}

.contact-form label,
.contact-form legend {
    font-weight: 600;
}

.contact-form .widget-text > label,
.contact-form .widget-textarea > label {
    display: block;
    margin-bottom: 0.35rem;
}

.contact-form label .mandatory,
.contact-form legend .mandatory {
    color: var(--contact-accent);
}

.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form input[type="number"],
.contact-form select,
.contact-form textarea {
    display: block;
    width: 100%;
    min-height: 44px;
    padding: 0.7rem 0.8rem;
    box-sizing: border-box;
    border: 1px solid var(--contact-border);
    border-radius: 5px;
    outline: 0;
    background: #fff;
    color: inherit;
    font: inherit;
    transition:
        border-color 160ms ease,
        box-shadow 160ms ease,
        background-color 160ms ease;
}

.contact-form textarea {
    min-height: 150px;
    resize: vertical;
}

.contact-form input[type="text"]:hover,
.contact-form input[type="email"]:hover,
.contact-form input[type="tel"]:hover,
.contact-form input[type="number"]:hover,
.contact-form select:hover,
.contact-form textarea:hover {
    border-color: #b99eac;
}

.contact-form input[type="text"]:focus,
.contact-form input[type="email"]:focus,
.contact-form input[type="tel"]:focus,
.contact-form input[type="number"]:focus,
.contact-form select:focus,
.contact-form textarea:focus {
    border-color: var(--contact-accent);
    box-shadow: 0 0 0 3px var(--contact-focus);
    background: #fff;
}

.contact-form .checkbox_container {
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0.9rem 1rem 1rem;
    box-sizing: border-box;
    border: 1px solid var(--contact-border);
    border-radius: 5px;
    background: #fff;
}

.contact-form .checkbox_container legend {
    padding: 0 0.35rem;
}

.contact-form .checkbox_container > span {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    line-height: 1.45;
}

.contact-form .checkbox_container input.checkbox {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    margin: 0.15rem 0 0;
    padding: 0;
    accent-color: var(--contact-accent);
}

.contact-form .checkbox_container label {
    font-weight: 400;
}

.contact-form .widget-altcha altcha-widget {
    display: block;
}

.contact-form .widget-altcha .altcha {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    border-color: var(--contact-border);
    border-radius: 5px;
    background: #fff;
}

.contact-form button.submit,
.contact-form input[type="submit"] {
    min-height: 44px;
    padding: 0.7rem 1.4rem;
    border: 0;
    border-radius: 5px;
    background: var(--contact-accent);
    box-shadow: 0 2px 5px rgba(89, 0, 49, 0.18);
    color: #fff;
    font: inherit;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    transition:
        background-color 160ms ease,
        box-shadow 160ms ease,
        transform 160ms ease;
}

.contact-form button.submit:hover,
.contact-form input[type="submit"]:hover {
    background: var(--contact-accent-dark);
    box-shadow: 0 3px 8px rgba(89, 0, 49, 0.24);
    transform: translateY(-1px);
}

.contact-form button.submit:focus-visible,
.contact-form input[type="submit"]:focus-visible {
    outline: 3px solid var(--contact-focus);
    outline-offset: 2px;
}

.contact-form input.error,
.contact-form textarea.error,
.contact-form select.error {
    border-color: #b42318;
}

.contact-form p.error {
    margin: 0 0 0.35rem;
    color: #b42318;
}

@media (max-width: 600px) {
    .contact-form form {
        margin-top: 1.25rem;
        padding: 1rem;
        border-radius: 6px;
    }

    .contact-form .formbody {
        gap: 0.9rem;
    }

    .contact-form button.submit,
    .contact-form input[type="submit"] {
        width: 100%;
    }
}

/*
 * Vorschaltkarte für Google Maps
 * Nach theme.css und contact-form.css einbinden.
 */

.map-consent {
    --map-accent: #970051;
    --map-accent-dark: #750041;
    --map-surface: #f5eff2;
    --map-border: #e1d4db;
    position: relative;
    width: 100%;
    max-width: 760px;
    min-height: 430px;
    margin: 1.25rem 0 2rem;
    overflow: hidden;
    box-sizing: border-box;
    border: 1px solid var(--map-border);
    border-radius: 10px;
    background-color: var(--map-surface);
    box-shadow: 0 8px 24px rgba(66, 24, 46, 0.08);
}

.map-consent__placeholder {
    position: relative;
    z-index: 1;
    display: grid;
    min-height: 430px;
    padding: clamp(1rem, 4vw, 2.5rem);
    box-sizing: border-box;
    place-items: center;
    background:
        linear-gradient(32deg, transparent 46%, rgba(151, 0, 81, 0.08) 47%, rgba(151, 0, 81, 0.08) 49%, transparent 50%),
        linear-gradient(148deg, transparent 48%, rgba(151, 0, 81, 0.06) 49%, rgba(151, 0, 81, 0.06) 51%, transparent 52%),
        repeating-linear-gradient(0deg, transparent 0 52px, rgba(117, 0, 65, 0.045) 53px 55px),
        repeating-linear-gradient(90deg, transparent 0 72px, rgba(117, 0, 65, 0.04) 73px 75px),
        var(--map-surface);
}

.map-consent__placeholder::before,
.map-consent__placeholder::after {
    position: absolute;
    width: 12px;
    height: 12px;
    border: 3px solid rgba(151, 0, 81, 0.22);
    border-radius: 50%;
    background: #fff;
    content: "";
}

.map-consent__placeholder::before {
    top: 13%;
    left: 12%;
}

.map-consent__placeholder::after {
    right: 11%;
    bottom: 14%;
}

.map-consent__panel {
    position: relative;
    z-index: 2;
    width: min(100%, 470px);
    padding: clamp(1.25rem, 4vw, 2rem);
    box-sizing: border-box;
    border: 1px solid rgba(151, 0, 81, 0.14);
    border-radius: 9px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 12px 32px rgba(66, 24, 46, 0.13);
    text-align: center;
}

.map-consent__icon {
    display: grid;
    width: 54px;
    height: 54px;
    margin: 0 auto 0.75rem;
    border-radius: 50%;
    background: rgba(151, 0, 81, 0.09);
    color: var(--map-accent);
    place-items: center;
}

.map-consent__icon::before,
.map-consent__icon::after {
    grid-area: 1 / 1;
    box-sizing: border-box;
    content: "";
}

.map-consent__icon::before {
    width: 22px;
    height: 22px;
    border: 2px solid currentColor;
    border-radius: 50% 50% 50% 0;
    transform: translateY(-2px) rotate(-45deg);
}

.map-consent__icon::after {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
    transform: translateY(-4px);
}

.map-consent__eyebrow {
    margin: 0 0 0.2rem;
    color: var(--map-accent);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.map-consent__title {
    margin: 0 0 0.75rem;
    color: var(--map-accent);
    font-size: clamp(1.4rem, 4vw, 1.75rem);
    line-height: 1.15;
}

.map-consent__address {
    margin: 0 0 1.1rem;
    line-height: 1.5;
}

.map-consent__load {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.15rem;
    border: 0;
    border-radius: 6px;
    background: var(--map-accent);
    box-shadow: 0 3px 10px rgba(117, 0, 65, 0.18);
    color: #fff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
    transition:
        background-color 160ms ease,
        transform 160ms ease;
}

.map-consent__load:hover {
    background: var(--map-accent-dark);
    transform: translateY(-1px);
}

.map-consent__load:focus-visible {
    outline: 3px solid rgba(151, 0, 81, 0.25);
    outline-offset: 3px;
}

.map-consent__load:disabled {
    cursor: wait;
    opacity: 0.75;
    transform: none;
}

.map-consent__privacy {
    max-width: 390px;
    margin: 0.85rem auto 0;
    color: #5d5057;
    font-size: 0.82rem;
    line-height: 1.45;
}

.map-consent__route {
    display: inline-block;
    margin-top: 0.75rem;
    font-size: 0.9rem;
    font-weight: 600;
}

.map-consent__frame {
    position: absolute;
    z-index: 0;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    opacity: 0;
}

.map-consent.is-loading .map-consent__panel {
    opacity: 0.88;
}

.map-consent.is-loaded .map-consent__placeholder {
    display: none;
}

.map-consent.is-loaded .map-consent__frame {
    z-index: 3;
    opacity: 1;
}

.map-consent noscript p {
    margin: 1rem;
    padding: 1rem;
    background: #fff;
}

@media (max-width: 600px) {
    .map-consent,
    .map-consent__placeholder {
        min-height: 390px;
    }

    .map-consent {
        border-radius: 8px;
    }
}

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

