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%}
header,footer,nav,section,aside,main,article,figure,figcaption{display:block}body,div,h1,h2,h3,h4,h5,h6,p,blockquote,pre,code,ol,ul,li,dl,dt,dd,figure,table,th,td,form,fieldset,legend,input,textarea{margin:0;padding:0}table{border-spacing:0;border-collapse:collapse}caption,th,td{text-align:left;text-align:start;vertical-align:top}abbr,acronym{font-variant:normal;border-bottom:1px dotted #666;cursor:help}blockquote,q{quotes:none}fieldset,img,iframe{border:0}ul{list-style-type:none}sup{vertical-align:text-top}sub{vertical-align:text-bottom}del{text-decoration:line-through}ins{text-decoration:none}body{font:12px/1 "Lucida Grande","Lucida Sans Unicode",Verdana,sans-serif;color:#000}input,button,textarea,select{font-family:inherit;font-size:99%;font-weight:inherit}pre,code{font-family:Monaco,monospace}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400}h1{font-size:1.8333em}h2{font-size:1.6667em}h3{font-size:1.5em}h4{font-size:1.3333em}table{font-size:inherit}caption,th{font-weight:700}a{color:#00f}h1,h2,h3,h4,h5,h6{margin-top:1em}h1,h2,h3,h4,h5,h6,p,pre,blockquote,table,ol,ul,form{margin-bottom:12px}
/* Contao Open Source CMS, (c) 2005-2015 Leo Feyer, LGPL license */
@media(max-width:1024px){#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}.ie7 img{-ms-interpolation-mode:bicubic}.ie8 img{width:auto}
/* open-sans-300 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: url('../../files/themes/rauchfreischlank/fonts/open-sans-v15-latin-300.eot'); /* IE9 Compat Modes */
  src: local('Open Sans Light'), local('OpenSans-Light'),
       url('../../files/themes/rauchfreischlank/fonts/open-sans-v15-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../../files/themes/rauchfreischlank/fonts/open-sans-v15-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
       url('../../files/themes/rauchfreischlank/fonts/open-sans-v15-latin-300.woff') format('woff'), /* Modern Browsers */
       url('../../files/themes/rauchfreischlank/fonts/open-sans-v15-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../../files/themes/rauchfreischlank/fonts/open-sans-v15-latin-300.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* open-sans-regular - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../../files/themes/rauchfreischlank/fonts/open-sans-v15-latin-regular.eot'); /* IE9 Compat Modes */
  src: local('Open Sans Regular'), local('OpenSans-Regular'),
       url('../../files/themes/rauchfreischlank/fonts/open-sans-v15-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../../files/themes/rauchfreischlank/fonts/open-sans-v15-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../../files/themes/rauchfreischlank/fonts/open-sans-v15-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../../files/themes/rauchfreischlank/fonts/open-sans-v15-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../../files/themes/rauchfreischlank/fonts/open-sans-v15-latin-regular.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* open-sans-600 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  src: url('../../files/themes/rauchfreischlank/fonts/open-sans-v15-latin-600.eot'); /* IE9 Compat Modes */
  src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'),
       url('../../files/themes/rauchfreischlank/fonts/open-sans-v15-latin-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../../files/themes/rauchfreischlank/fonts/open-sans-v15-latin-600.woff2') format('woff2'), /* Super Modern Browsers */
       url('../../files/themes/rauchfreischlank/fonts/open-sans-v15-latin-600.woff') format('woff'), /* Modern Browsers */
       url('../../files/themes/rauchfreischlank/fonts/open-sans-v15-latin-600.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../../files/themes/rauchfreischlank/fonts/open-sans-v15-latin-600.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* open-sans-700 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: url('../../files/themes/rauchfreischlank/fonts/open-sans-v15-latin-700.eot'); /* IE9 Compat Modes */
  src: local('Open Sans Bold'), local('OpenSans-Bold'),
       url('../../files/themes/rauchfreischlank/fonts/open-sans-v15-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../../files/themes/rauchfreischlank/fonts/open-sans-v15-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('../../files/themes/rauchfreischlank/fonts/open-sans-v15-latin-700.woff') format('woff'), /* Modern Browsers */
       url('../../files/themes/rauchfreischlank/fonts/open-sans-v15-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../../files/themes/rauchfreischlank/fonts/open-sans-v15-latin-700.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* source-serif-pro-600 - latin */
@font-face {
  font-family: 'Source Serif Pro';
  font-style: normal;
  font-weight: 600;
  src: url('../../files/themes/rauchfreischlank/fonts/source-serif-pro-v5-latin-600.eot'); /* IE9 Compat Modes */
  src: local('Source Serif Pro Semibold'), local('SourceSerifPro-Semibold'),
       url('../../files/themes/rauchfreischlank/fonts/source-serif-pro-v5-latin-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../../files/themes/rauchfreischlank/fonts/source-serif-pro-v5-latin-600.woff2') format('woff2'), /* Super Modern Browsers */
       url('../../files/themes/rauchfreischlank/fonts/source-serif-pro-v5-latin-600.woff') format('woff'), /* Modern Browsers */
       url('../../files/themes/rauchfreischlank/fonts/source-serif-pro-v5-latin-600.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../../files/themes/rauchfreischlank/fonts/source-serif-pro-v5-latin-600.svg#SourceSerifPro') format('svg'); /* Legacy iOS */
}
@media print, screen {
html {
    -webkit-text-size-adjust: 100%;
}
#footer {
    min-height:200px;
    margin-bottom:80px;
    background-image:url("/files/themes/rauchfreischlank/layout/sky2.jpg");
    background-position:center center;
    background-repeat:no-repeat;
}
#footer .copyright,
#footer .title,
#footer .title a,
#footer .mod_customnav.custom,
#footer .mod_customnav.custom a {
    text-align:center;
    color:#FFFFFF;
}
input:not([type="radio"],
[type="checkbox"]),
textarea {
    -webkit-appearance: none;
    -webkit-border-radius: 0;
}
body {
    font:14px Open Sans,sans-serif;
}
#main,
#left {
    margin-bottom:20px;
}
.startseite #main {
    margin-top:20px;
}
a {
    text-decoration:none;
    color:#186296;
}
a:hover {
    text-decoration:underline;
}
abbr {
    border:0;
    text-decoration:none;
}
.logo {
    display:inline-block;
    margin-top:20px;
}
.logo a:hover {
    text-decoration:none;
}
.logo p {
    margin:0;
    padding:0;
}
.logo p.even {
    text-align:center;
    font-size:14px;
}
#overlay.layerstart {
    width:50%;
    position:relative;
    margin-right:auto;
    margin-left:auto;
    padding:40px;
    text-align:center;
    background-color:rgba(240,240,240,.75);
    border-radius:10px;
    z-index: 5;
}
#overtext {
    display:none;
    margin:0;
    padding:0;
    color:#186296;
}
#bild-container .sky {
    height:200px;
    margin-top:20px;
    background-image:url("/files/themes/rauchfreischlank/layout/sky.jpg");
    background-position:center center;
    background-repeat:no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}
.mod_article h1 {
    margin-top:0;
    margin-bottom:20px;
    font:27px Source Serif Pro,serif;
    color:#186296;
}
.mod_article h2 {
    margin-top:20px;
    margin-bottom:10px;
    font:23px Source Serif Pro,serif;
    color:#186296;
}
.mod_article h3 {
    margin-top:20px;
    margin-bottom:10px;
    font:20px Source Serif Pro,serif;
    color:#186296;
}
.mod_article .content-list ul,
.mod_article .content-text ul {
    padding-left:30px;
    list-style-type:square;
}
.mod_article .content-list ul ul,
.mod_article .content-text ul ul {
    margin-top:10px;
}
.mod_article .content-list ul li,
.mod_article .content-text ul li,
.mod_article .content-list ol li,
.mod_article .content-text ol li {
    margin-bottom:10px;
}
.mod_article .content-list ol,
.mod_article .content-text ol {
    padding-left:30px;
}
.mod_article .fussnote {
    font-size:12px;
    color:#BEBEBE;
}
.startseite .mod_article .content-text {
    overflow:hidden;
}
.startseite .mod_article .content-text:not(.last) h2 {
    margin-top:0;
}
.startseite .mod_article figure {
    padding-right:20px;
}
.rauchfrei .mod_eventlist div:nth-child(even):not(:nth-last-child(1)),
.gewichtsreduktion .mod_eventlist div:nth-child(even):not(:nth-last-child(1)),
.psychisch .mod_eventlist div:nth-child(1n +1):not(:nth-last-child(1)),
.hypnose .mod_eventlist div:nth-child(1n +1):not(:nth-last-child(1)) {
    margin-bottom:20px;
    border-bottom:1px solid #BEBEBE;
}
.mod_eventlist.behandlungen time,
.mod_eventlist.trainings time,
.mod_eventreader .event .info {
    display:block;
    font-weight: 700;
}
.mod_eventlist.behandlungen a,
.mod_eventlist.trainings a,
.btn a {
    width:210px;
    display:inline-block;
    margin-top:10px;
    margin-right:25px;
    margin-bottom:25px;
    padding:15px;
    text-align:center;
    background-color:#186296;
    border:1px solid #186296;
    border-radius:10px;
    color:#FFFFFF;
    text-decoration: none;
}
.mod_eventlist.behandlungen .event.ausgebucht a,
.mod_eventlist.trainings .event.ausgebucht a {
    width:210px;
    display:inline-block;
    margin-top:10px;
    margin-bottom:25px;
    padding:15px;
    text-align:center;
    background-color:#BEBEBE;
    border:1px solid #BEBEBE;
    border-radius:10px;
    color:#FFFFFF;
}
.mod_eventlist.behandlungen a:hover,
.mod_eventlist.trainings a:hover,
.btn a:hover {
    background-color:#3078BE;
    text-decoration:none;
}
.mod_eventlist.behandlungen .event.ausgebucht a:hover,
.mod_eventlist.trainings .event.ausgebucht a:hover {
    background-color:#000000;
    text-decoration:none;
}
.mod_article .back {
    margin-top:20px;
}
.ce_form.kontaktformular fieldset,
.anmeldeformular .ce_form fieldset {
    padding:20px;
    border:1px solid #BEBEBE;
}
.ce_form.kontaktformular legend,
.anmeldeformular .ce_form legend {
    margin-left:20px;
    padding-right:10px;
    padding-left:10px;
}
.ce_form.kontaktformular label,
.ce_form.kontaktformular span.spamschutz,
.anmeldeformular .ce_form label,
.anmeldeformular .ce_form span.spamschutz {
    display:block;
    padding:10px 0 4px;
}
.ce_form.kontaktformular .explanation,
.ce_form.kontaktformular label.spamschutz,
.anmeldeformular .ce_form .explanation,
.anmeldeformular .ce_form label.spamschutz {
    padding:10px 0 4px;
}
.ce_form.kontaktformular .ds-akzeptieren label,
.anmeldeformular .ce_form .ds-akzeptieren label {
    display:inline;
}
.ce_form.kontaktformular input,
.ce_form.kontaktformular textarea,
.anmeldeformular .ce_form input,
.anmeldeformular .ce_form textarea {
    padding:5px;
    border:1px solid #BEBEBE;
}
.ce_form.kontaktformular button.submit,
.anmeldeformular .ce_form button.submit {
    width:100px;
    display:block;
    margin-top:10px;
    padding:5px;
    background-color:#186296;
    border:0;
    color:#FFFFFF;
}
.ce_form.kontaktformular button.submit:hover,
.anmeldeformular .ce_form button.submit:hover {
    background-color:#3078BE;
}
.ce_form.kontaktformular p.error,
.anmeldeformular .ce_form p.error {
    color:#BC0D0D;
    font-weight: 600;
}
.ce_form.kontaktformular input.error,
.ce_form.kontaktformular textarea.error,
.anmeldeformular .ce_form input.error,
.anmeldeformular .ce_form textarea.error {
    border:1px solid #BC0D0D;
}
#footer .top_link {
    bottom:50px;
    right:30px;
    position:fixed;
    z-index:5;
}
.ce_cookiebar_opener a,
.content-cookiebar-opener a {
    display:inline-block;
    padding:10px;
    background-color:#186296;
    border:0;
    color:#FFFFFF;
}
.ce_cookiebar_opener a:hover,
.content-cookiebar-opener a:hover {
    background-color:#3078BE;
    text-decoration:none;
}

#main .mod_article {
    clear: both;
}
}

@media screen and (min-width:1025px) {
#header .inside,
#container,
#footer .inside {
    max-width:1140px;
    margin-right:auto;
    margin-left:auto;
    box-sizing: border-box;
}
.startseite #bild-container .sky {
    height:400px;
    margin-top:20px;
    background-image:url("/files/themes/rauchfreischlank/layout/sky.jpg");
    background-position:center center;
    background-repeat:no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}
.startseite #container {
    margin-top:0;
}
#container {
    margin-top:40px;
}
.startseite #main .inside {
    padding-left:0;
}
#main .inside {
    padding-left:20px;
}
.startseite #wrapper {
    margin-top:-148px;
}
#overlay.layerstart {
    top:300px;
}
#overtext {
    font:27px Source Serif Pro,serif;
}
.mod_navigation.main {
    float:right;
    margin-top:35px;
}
.mod_navigation.main ul {
    margin:0;
    padding:0;
}
.mod_navigation.main li {
    float:left;
    margin-left:25px;
}
.mod_navigation.main li a {
    display:block;
    font-size:16px;
    color:#BEBEBE;
    font-weight: 600;
}
.mod_navigation.main li .active,
.mod_navigation.main li .trail {
    display:block;
    font-size:16px;
    color:#186296;
    font-weight: 600;
}
.mod_navigation.main li a:hover {
    display:block;
    text-decoration:none;
    color:#186296;
}
.mod_navigation.main li.startseite,
.mod_navigation.main li.kontakt,
.mod_navigation.main li.datenschutz,
.mod_navigation.main li.impressum {
    display:none;
}
.mod_eventlist.behandlungen a.callbutton,
.mod_eventlist.trainings a.callbutton {
    display:none;
}
#footer .copyright,
#footer .title,
#footer .mod_customnav.custom {
    width:300px;
    min-height:100px;
    float:left;
    display:inline-block;
    margin-top:40px;
}
#footer .title {
    padding-right:50px;
    padding-left:50px;
    border-right:1px solid #FFFFFF;
    border-left:1px solid #FFFFFF;
}
#footer .telefon button {
    display:none;
}
}

@media screen and (min-width:603px) {
.logo p.odd {
    text-align:center;
    font:27px Source Serif Pro,serif;
}
.ce_form.kontaktformular input:not([type="checkbox"]),
.ce_form.kontaktformular textarea,
.anmeldeformular .ce_form input:not([type="checkbox"]),
.ce_form.kontaktformular textarea {
    width:50%;
}
.startseite .content-image {
    float:left;
    display:inline-block;
}
#footer .title p.odd {
    font:27px Source Serif Pro,serif;
}
.contao-cookiebar .cc-inner {
    max-width:500px;
}
}

@media screen and (min-width:603px) and (max-width:1024px) {
.startseite #wrapper {
    margin-top:-122px;
}
#overlay.layerstart {
    top:255px;
}
}

@media print {
.top_link,
#header,
.contao-cookiebar,
#wrapper .custom,
#left,
#footer {
    display: none !important;
}
}

@media screen and (max-width:1024px) {
.logo {
    margin-left:10px;
}
#main .inside,
#left .inside {
    padding-right:10px;
    padding-left:10px;
}
#container,
#left {
    margin-top:20px;
}
#overtext {
    font:16px Source Serif Pro,serif;
}
#header .mod_navigation.main {
    display:none;
}
.mod_mobile_menu {
    float:right;
    display:inline-block;
    margin-top:35px;
    margin-right:10px;
}
.responsive-menubutton {
    font-size:16px;
    color:#555353;
}
.responsive-menubutton img {
    top:3px;
    position:relative;
}
span.menubutton {
    text-decoration:none;
    color:#555353;
}
.mobile_menu .inner {
    padding-top:10px;
    padding-left:10px;
    background-color:#F0F0F0;
}
.mobile_menu .mod_navigation.main li a {
    font-size:18px;
    text-decoration:none;
    color:#000000;
}
.mobile_menu .mod_navigation.main li .active,
.mobile_menu .mod_navigation.main li .trail {
    font-size:18px;
    text-decoration:none;
    color:#186296;
}
.mobile_menu .mod_navigation.main li {
    margin-right:15px;
    margin-left:15px;
    padding-top:10px;
    padding-bottom:10px;
    text-align:center;
}
.mobile_menu .mod_navigation.main li:not(:nth-last-child(1)) {
    border-bottom:1px solid #BEBEBE;
}
.mobile_menu .content-text {
    margin-right:10px;
    padding-top:25px;
    border-top:1px solid #BEBEBE;
}
.mobile_menu_close {
    float:right;
    margin-right:20px;
}
#footer .title {
    margin-right:70px;
    margin-left:70px;
    border-top:1px solid #FFFFFF;
    border-bottom:1px solid #FFFFFF;
}
#footer .copyright,
#footer .title,
#footer .mod_customnav.custom {
    padding-top:10px;
}
#footer .mod_customnav.custom li {
    display:inline;
}
#footer .mod_customnav.custom li.kontakt,
#footer .mod_customnav.custom li.datenschutz {
    margin-right:10px;
}
#footer .telefon button {
    margin-left:10px;
    padding:5px 10px;
    background-color:#FFFFFF;
    border:0;
    border-radius:20px;
    color:#186296;
    text-transform:uppercase;
    font-weight: 600;
}
}

@media screen and (max-width:602px) {
.ce_form.kontaktformular input:not([type="checkbox"]),
.ce_form.kontaktformular textarea,
.anmeldeformular .ce_form input:not([type="checkbox"]),
.ce_form.kontaktformular textarea {
    width:100%;
}
.logo p.odd {
    text-align:center;
    font:22px Source Serif Pro,serif;
}
.startseite #wrapper {
    margin-top:-164px;
}
#overlay.layerstart {
    top:275px;
}
#footer .title p.odd {
    font:20px Source Serif Pro,serif;
}
}

/* RF Redesign: Schriften (selbst gehostet, kein Google-CDN).
   Ablage: files/themes/rauchfreischlank/css/rf-fonts.css
   Schriftdateien: files/themes/rauchfreischlank/fonts/ */

@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('../../files/themes/rauchfreischlank/fonts/source-sans-3-latin-var.woff2') format('woff2');
}

@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url('../../files/themes/rauchfreischlank/fonts/source-serif-4-latin-var.woff2') format('woff2');
}

/* RF Redesign: Basis (Variablen + Anpassungen an das alte Layout).
   Ablage: files/themes/rauchfreischlank/css/rf-base.css
   Die Überschreibungen greifen nur, wenn der neue Header bzw. Footer auf der Seite ist
   (:has). Ohne die RF-Module bleibt das alte Layout unverändert. */

:root {
  --rf-brand: #2B5C94;
  --rf-brand-dark: #1F3A5F;
  --rf-brand-tint: #EEF5FC;
  --rf-text: #1E2B3A;
  --rf-text-soft: #3A4A5C;
  --rf-text-muted: #566577;
  --rf-line: #DCE6F2;
  --rf-line-strong: #C9D6E4;
  --rf-footer-bg: #1A3150;
  --rf-footer-text: #B9CBE2;
  --rf-footer-link: #DCE8F7;
  --rf-font-sans: 'Source Sans 3', sans-serif;
  --rf-font-serif: 'Source Serif 4', serif;
  --rf-header-height: 72px;
}

/* Header: volle Breite statt 1140px-Container des alten Layouts */
#header:has(.rf-header) .inside {
  max-width: none;
  margin: 0;
  padding: 0;
}

/* Hero-Bild (Himmel) schließt direkt an den Header an:
   kein Abstand darüber, keine Trennlinie (gilt für alle Seiten mit Himmel, auch die Startseite) */
#wrapper:has(.rf-header) #bild-container .sky {
  margin-top: 0;
}
#wrapper:has(#bild-container .sky) .rf-header {
  border-bottom: 0;
}

/* Footer: kein Himmelbild, keine Mindesthöhe, volle Breite */
#footer:has(.rf-footer) {
  min-height: 0;
  margin-bottom: 0;
  background: none;
}
#footer:has(.rf-footer) .inside {
  max-width: none;
  margin: 0;
  padding: 0;
}

/* RF Redesign: Header + Navigation (1:1 nach Landingpage, plus Mobile-Menü).
   Ablage: files/themes/rauchfreischlank/css/rf-header.css */

.rf-header,
.rf-header * {
  box-sizing: border-box;
}

.rf-header {
  position: relative;
  background: #FFFFFF;
  border-bottom: 1px solid var(--rf-line);
  font-family: var(--rf-font-sans);
  font-size: 18px;
  line-height: 1.6;
  color: var(--rf-text);
}

.rf-header a {
  text-decoration: none;
}
.rf-header a:hover {
  text-decoration: none;
}

.rf-header__bar {
  max-width: 1440px;
  height: var(--rf-header-height);
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 24px;
}

/* Logo */
.rf-logo {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 10px;
}
.rf-logo__mark {
  width: 38px;
  height: 38px;
  border-radius: 8px;
  background: var(--rf-brand);
  display: flex;
  align-items: center;
  justify-content: center;
}
.rf-logo__text {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
}
.rf-logo__name {
  font-family: var(--rf-font-serif);
  font-weight: 600;
  font-size: 19px;
  color: var(--rf-brand-dark);
}
.rf-logo__sub {
  font-size: 13px;
  color: var(--rf-text-muted);
}

/* Hauptnavigation */
.rf-nav {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  justify-content: center;
  gap: 2px;
  font-size: 15px;
  font-weight: 600;
  white-space: nowrap;
}
.rf-nav a {
  padding: 8px 10px;
  border-radius: 6px;
  color: var(--rf-text-soft);
}
.rf-nav a:hover {
  background: var(--rf-brand-tint);
  color: var(--rf-brand);
}
.rf-nav a[aria-current="page"] {
  background: var(--rf-brand-tint);
  color: var(--rf-brand);
}
.rf-nav a:focus-visible,
.rf-phone:focus-visible,
.rf-cta:focus-visible,
.rf-burger:focus-visible,
.rf-logo:focus-visible {
  outline: 2px solid var(--rf-brand);
  outline-offset: 2px;
}
.rf-nav__cta {
  display: none;
}

/* Telefon + Termin-Button */
.rf-actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 10px;
}
.rf-phone {
  width: 42px;
  height: 42px;
  border-radius: 8px;
  border: 1px solid var(--rf-line-strong);
  display: flex;
  align-items: center;
  justify-content: center;
  background: #FFFFFF;
}
.rf-phone:hover {
  background: var(--rf-brand-tint);
}
.rf-cta {
  height: 42px;
  padding: 0 16px;
  border-radius: 8px;
  background: var(--rf-brand);
  color: #FFFFFF;
  font-weight: 700;
  font-size: 15px;
  display: flex;
  align-items: center;
  white-space: nowrap;
}
.rf-cta:hover {
  background: var(--rf-brand-dark);
  color: #FFFFFF;
}

/* Mobile-Menü-Schalter (nur auf schmalen Bildschirmen sichtbar) */
.rf-burger {
  display: none;
  width: 42px;
  height: 42px;
  padding: 0;
  border-radius: 8px;
  border: 1px solid var(--rf-line-strong);
  background: #FFFFFF;
  cursor: pointer;
  align-items: center;
  justify-content: center;
}
.rf-burger:hover {
  background: var(--rf-brand-tint);
}
.rf-burger__close {
  display: none;
}
.rf-header.rf-open .rf-burger__open {
  display: none;
}
.rf-header.rf-open .rf-burger__close {
  display: block;
}

/* Schmale Bildschirme: Navigation klappt unter dem Header auf */
@media (max-width: 1259px) {
  .rf-header__bar {
    gap: 16px;
  }
  .rf-logo {
    margin-right: auto;
  }
  .rf-burger {
    display: flex;
  }
  .rf-nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 50;
    flex-direction: column;
    justify-content: flex-start;
    gap: 2px;
    padding: 8px 24px 20px;
    background: #FFFFFF;
    border-bottom: 1px solid var(--rf-line);
    box-shadow: 0 12px 24px rgba(30, 43, 58, 0.12);
    font-size: 17px;
    white-space: normal;
  }
  .rf-header.rf-open .rf-nav {
    display: flex;
  }
  .rf-nav a {
    padding: 12px 10px;
  }
}

/* Sehr schmal: Termin-Button wandert ins aufgeklappte Menü */
@media (max-width: 639px) {
  .rf-header__bar {
    padding: 0 16px;
    gap: 10px;
  }
  .rf-nav {
    padding: 8px 16px 20px;
  }
  .rf-actions .rf-cta {
    display: none;
  }
  .rf-nav a.rf-nav__cta {
    display: flex;
    justify-content: center;
    margin-top: 10px;
    height: 46px;
    padding: 0 16px;
    align-items: center;
    background: var(--rf-brand);
    color: #FFFFFF;
    font-weight: 700;
    font-size: 16px;
  }
  .rf-nav a.rf-nav__cta:hover {
    background: var(--rf-brand-dark);
    color: #FFFFFF;
  }
}

/* RF Redesign: Footer (1:1 nach Landingpage).
   Ablage: files/themes/rauchfreischlank/css/rf-footer.css */

.rf-footer,
.rf-footer * {
  box-sizing: border-box;
}

.rf-footer {
  background: var(--rf-footer-bg);
  color: var(--rf-footer-text);
  font-family: var(--rf-font-sans);
  font-size: 16px;
  line-height: 1.6;
  text-align: left;
}

.rf-footer a {
  color: var(--rf-footer-text);
  text-decoration: none;
}
.rf-footer a:hover {
  color: #FFFFFF;
  text-decoration: underline;
}
.rf-footer a:focus-visible {
  outline: 2px solid #FFFFFF;
  outline-offset: 2px;
}

.rf-footer__main {
  max-width: 1248px;
  margin: 0 auto;
  padding: 56px 24px 28px;
  display: flex;
  flex-wrap: wrap;
  gap: 36px 56px;
}

.rf-footer__brand {
  flex: 2 1 280px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.rf-footer__name {
  font-family: var(--rf-font-serif);
  font-weight: 700;
  font-size: 20px;
  color: #FFFFFF;
}
.rf-footer a.rf-footer__name {
  color: #FFFFFF;
}
.rf-footer a.rf-footer__tel {
  color: #FFFFFF;
  font-weight: 700;
}
.rf-footer a.rf-footer__mail {
  color: var(--rf-footer-link);
}

.rf-footer__col {
  flex: 1 1 200px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.rf-footer__title {
  display: block;
  margin-bottom: 4px;
  color: #FFFFFF;
  font-weight: 700;
}

.rf-footer__legal {
  max-width: 1248px;
  margin: 0 auto;
  padding: 20px 24px 32px;
  border-top: 1px solid rgba(185, 203, 226, 0.25);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px 40px;
  font-size: 14px;
}
.rf-footer__copy {
  color: #FFFFFF;
}
.rf-footer__note {
  flex: 1 1 520px;
  min-width: 0;
  max-width: 820px;
}

@media (max-width: 639px) {
  .rf-footer__main {
    padding: 40px 16px 20px;
    gap: 28px;
  }
  .rf-footer__legal {
    padding: 20px 16px 28px;
  }
}

