
/* myRelaxs 2027 — modern UI layer
   This file intentionally overrides the legacy theme without changing Fewo-Verwalter data logic. */
:root{
  --mx-bg:#f5f6f2;
  --mx-surface:#ffffff;
  --mx-surface-soft:#f0f3ee;
  --mx-text:#1f2925;
  --mx-muted:#68736d;
  --mx-line:#e0e6e1;
  --mx-brand:#567a63;
  --mx-brand-dark:#365744;
  --mx-brand-soft:#e7f0e9;
  --mx-accent:#d9a94d;
  --mx-danger:#b85b5b;
  --mx-radius-sm:12px;
  --mx-radius:18px;
  --mx-radius-lg:26px;
  --mx-shadow:0 14px 40px rgba(35,49,42,.08);
  --mx-shadow-sm:0 6px 20px rgba(35,49,42,.07);
  --mx-max:1280px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body,html{width:100%;min-height:100%;height:auto}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;font-size:16px;line-height:1.6;color:var(--mx-text);background:var(--mx-bg);padding-top:84px;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{font-family:inherit!important;color:var(--mx-text);font-weight:750;letter-spacing:-.02em}
h1{font-size:clamp(2rem,4.1vw,3.75rem);line-height:1.05}
h2{font-size:clamp(1.45rem,2.3vw,2.25rem);line-height:1.15}
h3{font-size:1.18rem}
a{color:var(--mx-brand);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--mx-brand-dark);text-decoration:none}
.container{max-width:var(--mx-max)!important;padding-left:24px;padding-right:24px}
@media(max-width:767px){.container{padding-left:16px;padding-right:16px}}
section{padding:48px 0!important}

/* Header */
#mainNav.navbar-fixed-top{position:fixed;top:0;left:0;right:0;width:100%;z-index:9999}
#mainNav{min-height:84px;background:rgba(255,255,255,.94)!important;border-bottom:1px solid rgba(224,230,225,.85);box-shadow:0 4px 20px rgba(35,49,42,.05)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:.2s ease}
#mainNav .container{max-width:var(--mx-max)!important;display:flex;align-items:center;gap:18px;flex-wrap:nowrap}
#mainNav .navbar-brand{display:flex;align-items:center;margin-right:auto;padding:.35rem 0}
#mainNav .navbar-brand img{height:44px!important;width:auto;max-width:170px}
#mainNav .navbar-collapse{flex-grow:0}
#mainNav .navbar-nav{margin:0!important;display:flex;align-items:center;gap:4px}
#mainNav .navbar-nav>li.nav-item>a,#mainNav .navbar-nav>li.nav-item>a:focus{border:0!important;padding:11px 13px!important;border-radius:999px;font-size:14px!important;line-height:1;font-weight:650!important;text-transform:none!important;color:var(--mx-text)!important;white-space:nowrap}
#mainNav .navbar-nav>li.nav-item>a:hover,#mainNav .navbar-nav>li.nav-item>a.active{background:var(--mx-brand-soft);color:var(--mx-brand-dark)!important}
.navbar-nav .dropdown-menu{top:calc(100% + 12px);left:0;min-width:235px;background:#fff;border:1px solid var(--mx-line);border-radius:16px;padding:8px;box-shadow:var(--mx-shadow);font-size:14px}
.navbar-nav .dropdown-menu .nav-item a,.navbar-nav .dropdown-menu>li>a{color:var(--mx-text);padding:10px 12px;border-radius:10px;font-weight:550}
.navbar-nav .dropdown-menu .nav-item a:hover,.navbar-nav .dropdown-menu>li>a:hover{background:var(--mx-surface-soft);color:var(--mx-brand-dark)}
#mainNav .merkerlink{display:inline-flex;align-items:center;gap:5px;padding:10px 12px;border:1px solid var(--mx-line);border-radius:999px;color:var(--mx-text);background:#fff;white-space:nowrap}
#mainNav .merkerlink:before{color:var(--mx-brand);font-size:15px}
#mainNav .merkerlink .fewo_merk_value{color:var(--mx-text);font-size:13px;margin:0}
#mainNav .textsuche{margin-left:0}
#mainNav .textsuche .prompt{height:40px;width:150px;border:1px solid var(--mx-line)!important;border-radius:999px!important;background:var(--mx-surface-soft)!important;font-size:13px;padding:0 14px!important;box-shadow:none!important}
.navbar-toggler{border:1px solid var(--mx-line)!important;border-radius:12px;padding:8px 10px}
@media(max-width:1199px){
  body{padding-top:74px}
  #mainNav{min-height:74px}
  #mainNav .container{flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
  #mainNav .navbar-brand img{height:38px!important}
  #mainNav .navbar-collapse{order:5;width:100%;background:#fff;border-top:1px solid var(--mx-line);margin:8px -16px -8px;padding:10px 16px 16px}
  #mainNav .navbar-nav{align-items:stretch}
  #mainNav .navbar-nav>li.nav-item>a{border-radius:10px!important;padding:12px!important}
  #mainNav .textsuche{display:none}
}

/* Generic cards/forms/buttons */
.btn{border-radius:12px!important;font-size:15px!important;font-weight:700!important;min-height:44px;padding:10px 18px!important;border:1px solid transparent!important;box-shadow:none!important;transition:.18s ease!important}
.btn:hover{transform:translateY(-1px)}
.btn-success,.bg-primary{background:var(--mx-brand)!important;color:#fff!important}
.btn-success:hover{background:var(--mx-brand-dark)!important}
.btn-secondary{background:var(--mx-text)!important;border-color:var(--mx-text)!important;color:#fff!important}
.btn-info,.btn-light{background:#fff!important;color:var(--mx-text)!important;border-color:var(--mx-line)!important}
.form-control,select,input[type=text],input[type=email],input[type=tel],input[type=number],textarea{min-height:46px;border:1px solid var(--mx-line)!important;border-radius:12px!important;background:#fff!important;color:var(--mx-text)!important;padding:10px 13px!important;box-shadow:none!important;font-size:15px!important}
.form-control:focus,input:focus,textarea:focus,select:focus{border-color:var(--mx-brand)!important;box-shadow:0 0 0 3px rgba(86,122,99,.12)!important;outline:0}
.card,.well,.panel{border:1px solid var(--mx-line)!important;border-radius:var(--mx-radius)!important;box-shadow:var(--mx-shadow-sm)!important;background:#fff!important}
.bg_grau,.bg-secondary{background:transparent!important}

/* Detail page: outer shell */
.detailseite .fewo_objektdetails,.detailseite section.fewo_objektdetails{padding-top:18px!important;background:var(--mx-bg)}
.detailseite .objekt_titel{padding:0!important;margin:16px 0 18px!important;display:flex;align-items:center;justify-content:space-between;gap:16px}
.detailseite .objekt_titel h1{font-size:clamp(1.8rem,3.2vw,3rem);line-height:1.08;margin:0;font-weight:780}
.detailseite .link-back{border-radius:999px!important;padding:8px 14px!important;min-height:38px}
.detailseite .mx-breadcrumbs{font-size:13px;color:var(--mx-muted);margin:3px 0 8px}
.detailseite .mx-breadcrumbs a{color:inherit}

/* Gallery */
.detailseite .objektbilder_top{max-width:var(--mx-max);margin:0 auto!important;padding:0 24px!important;display:grid;grid-template-columns:1.35fr .9fr .9fr;grid-template-rows:235px 235px;gap:10px;float:none!important}
.detailseite .objektbilder_top>div{width:auto!important;max-width:none!important;padding:0!important;margin:0!important;float:none!important;overflow:hidden;border-radius:16px;background:#e8ebe8}
.detailseite .objektbilder_top>div:first-child{grid-column:1 / 2;grid-row:1 / 3;border-radius:22px}
.detailseite .objektbilder_top>div:nth-child(2){grid-column:2 / 4;grid-row:1 / 2}
.detailseite .objektbilder_top>div:nth-child(3){grid-column:2 / 3;grid-row:2 / 3}
.detailseite .objektbilder_top>div:nth-child(4){grid-column:3 / 4;grid-row:2 / 3}
.detailseite .objektbilder_top>div:nth-child(5){display:none!important}
.detailseite .objektbilder_top img,.detailseite .objektbilder_top picture,.detailseite .objektbilder_top .image_big{width:100%!important;height:100%!important;object-fit:cover!important;display:block}
.detailseite .load_gallery{max-width:var(--mx-max);margin:0 auto;float:none!important;display:block!important;position:relative;text-align:right!important;padding:0 34px}
.detailseite .load_gallery .show_gallery{display:inline-flex!important;align-items:center;background:#fff!important;color:var(--mx-text)!important;border:1px solid var(--mx-line);border-radius:999px;padding:10px 16px;margin-top:-58px;position:relative;z-index:3;box-shadow:var(--mx-shadow-sm);font-size:14px;font-weight:700}
.detailseite .load_gallery .show_gallery:before{content:'\f03e';font-family:FontAwesome;margin-right:8px;color:var(--mx-brand)}
@media(max-width:991px){
  .detailseite .objektbilder_top{grid-template-columns:1fr 1fr;grid-template-rows:360px 180px;padding:0 16px!important}
  .detailseite .objektbilder_top>div:first-child{grid-column:1/3;grid-row:1/2}
  .detailseite .objektbilder_top>div:nth-child(2){grid-column:1/2;grid-row:2/3}
  .detailseite .objektbilder_top>div:nth-child(3){grid-column:2/3;grid-row:2/3}
  .detailseite .objektbilder_top>div:nth-child(4){display:none!important}
}
@media(max-width:575px){
  .detailseite .objektbilder_top{grid-template-columns:1fr;grid-template-rows:280px;padding:0 12px!important}
  .detailseite .objektbilder_top>div:first-child{grid-column:1;grid-row:1}
  .detailseite .objektbilder_top>div:not(:first-child){display:none!important}
  .detailseite .load_gallery{padding:0 22px}
}

/* Sticky detail navigation */
.mx-detail-nav{position:sticky;top:84px;z-index:50;background:rgba(255,255,255,.96);border-top:1px solid var(--mx-line);border-bottom:1px solid var(--mx-line);backdrop-filter:blur(12px);margin-top:22px}
.mx-detail-nav .container{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-top:8px;padding-bottom:8px}
.mx-detail-nav .container::-webkit-scrollbar{display:none}
.mx-detail-nav a{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;color:var(--mx-muted);font-size:13px;font-weight:700;padding:9px 12px;border-radius:999px;text-decoration:none}
.mx-detail-nav a:hover{background:var(--mx-brand-soft);color:var(--mx-brand-dark)}
@media(max-width:1199px){.mx-detail-nav{top:74px}}

/* Detail sections */
.mx-detail-section{scroll-margin-top:145px;padding:34px 0!important}
.mx-section-card{background:#fff;border:1px solid var(--mx-line);border-radius:var(--mx-radius-lg);box-shadow:var(--mx-shadow-sm);padding:28px}
.mx-section-title{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:20px}
.mx-section-title h2{margin:0}
.mx-section-title p{margin:0;color:var(--mx-muted);font-size:14px}
.detailseite .detail_headline{display:none!important}
.detailseite .mx-copy{font-size:16px;line-height:1.75;color:#39443f}
.detailseite .mx-copy p:last-child{margin-bottom:0}

/* Booking card */
.detailseite .detail_preisrechner{background:#fff!important;border:1px solid var(--mx-line)!important;border-radius:var(--mx-radius)!important;padding:20px!important;box-shadow:var(--mx-shadow)!important}
.detailseite .detail_preisrechner.preisrechner_top{position:sticky;top:160px}
.detailseite .detail_preisrechner h2,.detailseite .preisrechner h2{font-size:1.15rem!important;margin:0 0 15px!important}
.detailseite .detail_preisrechner .form-control{width:100%!important;margin-bottom:8px}
.detailseite .detail_preisrechner .btn{width:100%;margin-top:8px}
.detailseite .buttons_preisrechner .btn{width:100%;margin:8px 0 0!important}
.detailseite .buttons_preisrechner,.detailseite .detail_preisrechner+.content-block{margin-top:12px}
.detailseite .border-green{border-color:var(--mx-line)!important}

/* Ausstattung */
.detailseite .fewo-ausstattung,.detailseite .fewo_ausstattung,.detailseite .ausstattung{font-size:15px}
.detailseite .fewo-ausst-group{background:var(--mx-surface-soft);border-radius:14px;padding:16px;margin-bottom:12px}
.detailseite .fewo-ausst-group h3,.detailseite .fewo-ausst-group h4{font-size:15px;margin-bottom:10px;color:var(--mx-brand-dark)}
.detailseite .fewo-ausst-group ul{padding-left:18px;margin-bottom:0}

/* Maps, reviews, calendars, pricing */
.detailseite #map,.detailseite .leaflet-container,.detailseite .map{border-radius:18px!important;overflow:hidden;min-height:320px}
.detailseite .details_bewertungen,.detailseite .fewo-bewertungen{background:#fff;border:1px solid var(--mx-line);border-radius:var(--mx-radius);padding:22px}
.detailseite .fewo-rating-text{color:var(--mx-muted)}
.detailseite .belegung,.detailseite .fewo-belegung,.detailseite .kalender{background:#fff;border-radius:var(--mx-radius);padding:18px;border:1px solid var(--mx-line);overflow-x:auto}
.detailseite table{width:100%;background:#fff;border-collapse:separate;border-spacing:0;border:1px solid var(--mx-line);border-radius:14px;overflow:hidden;font-size:14px}
.detailseite table th{background:var(--mx-surface-soft);color:var(--mx-muted);font-size:12px;text-transform:none;letter-spacing:.01em;font-weight:750;padding:12px 10px;border-bottom:1px solid var(--mx-line)}
.detailseite table td{padding:11px 10px;border-bottom:1px solid var(--mx-line);vertical-align:middle}
.detailseite table tr:last-child td{border-bottom:0}
.detailseite .saisonzeit{overflow-x:auto}

/* Legacy detail image / floating fixes */
.detailseite .float-left,.detailseite .float-right{ }
.detailseite .row:after{content:'';display:block;clear:both}

/* Property cards */
.objliste .fewo-item,#fewo-objektliste .fewo-item,.zufallsobjekte .fewo-item{background:#fff;border:1px solid var(--mx-line);border-radius:20px;box-shadow:var(--mx-shadow-sm);padding:0!important;overflow:hidden;margin-bottom:24px;transition:.18s ease}
.objliste .fewo-item:hover,#fewo-objektliste .fewo-item:hover,.zufallsobjekte .fewo-item:hover{transform:translateY(-3px);box-shadow:var(--mx-shadow)}
.objliste .fewo-item .fewo_image,#fewo-objektliste .fewo-item .fewo_image{margin:0!important}
.objliste .fewo-item .fewo_image img,#fewo-objektliste .fewo-item .fewo_image img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}
.objliste .fewo-item .fewo_titel,#fewo-objektliste .fewo-item .fewo_titel{font-size:20px!important;line-height:1.2;margin:18px 18px 8px;width:calc(100% - 36px)!important}
.objliste .fewo-item .fewo_kurztext,#fewo-objektliste .fewo-item .fewo_kurztext{margin:0 18px 12px!important;color:var(--mx-muted);font-size:14px;min-height:auto!important;max-height:4.6em!important}
.objliste .fewo-item .fewo_infos,#fewo-objektliste .fewo-item .fewo_infos{margin:0 18px 14px!important;padding:12px 0;border-top:1px solid var(--mx-line);border-bottom:1px solid var(--mx-line)}
.objliste .fewo-item .fewo_abpreis,#fewo-objektliste .fewo-item .fewo_abpreis{margin:0 18px 18px;font-size:14px;color:var(--mx-muted)}
.fewo_abpreis .big{font-size:24px!important;color:var(--mx-text);font-weight:800}
.objliste .fewo-item .fewo-btndetail,#fewo-objektliste .fewo-item .fewo-btndetail{padding:0 18px 18px!important}
.objliste .fewo-item .fewo-btndetail a,#fewo-objektliste .fewo-item .fewo-btndetail a{width:100%;float:none!important}
.objliste .fewo-item .fewo-btnmerken.merkenadd:before,#fewo-objektliste .fewo-item .fewo-btnmerken.merkenadd:before{top:16px;right:16px;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;font-size:18px;color:#8b938f;box-shadow:var(--mx-shadow-sm)}
.objliste .fewo-item .fewo-btnmerken.merkendelete:before,#fewo-objektliste .fewo-item .fewo-btnmerken.merkendelete:before{top:16px;right:16px;width:42px;height:42px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:18px;color:var(--mx-brand);box-shadow:var(--mx-shadow-sm)}

/* Search + filters */
.home_suche,.listenfilter,.objektsuche{border:0!important;border-radius:18px!important;background:#fff!important;box-shadow:var(--mx-shadow)!important;padding:10px!important}
.objektsuche{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.objektsuche>div{float:none!important;flex:1 1 170px}
.objektsuche .btn{flex:0 0 auto;min-width:130px}
.listenfilter{padding:18px!important}
.listenfilter .form-control{border:1px solid var(--mx-line)!important;border-radius:10px!important}
.listenfilter #filterclear,.listenfilter .kartensuche_link,.listenfilter .listenansicht_link{position:static!important;display:inline-flex!important;border-radius:999px!important;margin:10px 8px 0 0!important;height:auto!important;line-height:1!important;padding:10px 14px!important;background:var(--mx-surface-soft)!important;color:var(--mx-text)!important;font-size:13px!important}

/* Home hero: modernize without breaking CMS content */
header.masthead{min-height:620px!important;border-radius:0 0 32px 32px;overflow:hidden;box-shadow:inset 0 -180px 160px rgba(18,31,23,.25)}
header.masthead .home_container{left:50%!important;transform:translateX(-50%);width:min(1180px,calc(100% - 32px))!important;top:50%!important;transform:translate(-50%,-45%)}
header.masthead .home_container_text{width:min(820px,100%)!important;padding:0!important;margin-bottom:28px!important}
header.masthead .home_container_text h1{font-size:clamp(2.4rem,5.3vw,4.8rem)!important;line-height:1.02;text-shadow:0 3px 20px rgba(0,0,0,.35)}
header.masthead .home_suche{display:flex!important;flex-wrap:wrap;max-width:1000px;margin:0 auto!important}
header.masthead input.form-control,header.masthead select.form-control,header.masthead .btn{height:52px!important}
header.masthead .form-fromdate,header.masthead .form-region,header.masthead .form-personen{width:auto!important;flex:1 1 180px;border:0!important}
header.masthead .home_suche .btn{border-radius:12px!important;padding:0 24px!important}
@media(max-width:767px){
  header.masthead{min-height:570px!important;border-radius:0 0 22px 22px}
  header.masthead .home_container{top:48%!important}
  header.masthead .home_suche{display:grid!important;grid-template-columns:1fr!important;background:rgba(255,255,255,.95)!important;padding:10px!important}
  header.masthead .home_suche>div,header.masthead .home_suche .btn{width:100%!important}
}

/* Footer */
#footer{margin-top:60px;background:#1d2823;color:#dbe2dd}
#footer .footer1{padding:48px 0 36px;background:#1d2823}
#footer .footer1 .widget{margin-bottom:18px}
#footer .widget-title{font-size:14px!important;letter-spacing:.02em;text-transform:none;color:#fff!important;font-weight:800;margin-bottom:12px}
#footer a{color:#dbe2dd}
#footer a:hover{color:#fff}
#footer .widget-link a{display:block;margin:6px 0}
#footer .social_links a{display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.15);border-radius:50%;margin-right:6px}
#footer .footer2{background:#14201a!important;border-top:1px solid rgba(255,255,255,.08);padding:15px 0;color:#9ba9a1;font-size:13px}
#footer .footer2 p{margin:0}

/* Cookie bar */
.cookie,.cookie-bar,.cookiebanner{border-radius:16px!important;box-shadow:var(--mx-shadow)!important}

/* Mobile booking bar */
.mx-mobile-booking{display:none}
@media(max-width:767px){
  .detailseite{padding-bottom:86px}
  .detailseite .detail_preisrechner.preisrechner_top{position:static}
  .mx-mobile-booking{display:flex;position:fixed;z-index:9990;left:10px;right:10px;bottom:10px;background:rgba(255,255,255,.97);border:1px solid var(--mx-line);border-radius:18px;box-shadow:0 14px 36px rgba(25,37,30,.20);padding:9px;gap:8px;align-items:center;backdrop-filter:blur(14px)}
  .mx-mobile-booking .mx-mobile-booking__text{flex:1;padding-left:8px;font-size:12px;color:var(--mx-muted)}
  .mx-mobile-booking .mx-mobile-booking__text strong{display:block;color:var(--mx-text);font-size:14px}
  .mx-mobile-booking .btn{min-height:44px;margin:0!important}
}

/* Accessibility / polish */
:focus-visible{outline:3px solid rgba(86,122,99,.35)!important;outline-offset:2px}
img{max-width:100%}
hr{border-color:var(--mx-line);max-width:none;border-width:1px}
