/* CSS Document */

/* @import url(https://fonts.googleapis.com/css?family=Droid+Sans:400,700); */

/* latin */
@font-face {
	font-family: 'Droid Sans';
	font-style: normal;
	font-weight: 400;
	src: url(droidsans400.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  }
  /* latin */
  @font-face {
	font-family: 'Droid Sans';
	font-style: normal;
	font-weight: 700;
	src: url(droidsans700.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  }

* { margin:0; font-family: 'Droid Sans', sans-serif; }
html, body, #wrapper { background-color:#d9d1bf; font-size:11pt; color:#474746; line-height:17pt; }
body { display:flex; flex-direction:column; min-height:100vh; }
body > #wrapper { flex:1 0 auto; }
.small, small { font-size:10pt; }

img { border:0; }
h1, h2, h3 { font-weight:normal; }
h1 { margin-bottom:10px; margin-top:5px; font-size: 20pt; line-height:32pt; font-weight:bold; }
h2 { margin-bottom:7px; margin-top:3px; font-size: 16pt; line-height:22pt; font-weight:600; }
h3 { margin-bottom:7px; margin-top:3px; font-size: 13pt; line-height:19pt; font-weight:600; }
p { margin-bottom:20px; }
a { cursor: pointer; color: #66A9DD; }
a:hover, a:active { color: #474746; }
a.menulink { color:#474746; text-decoration:none; }
a.menulink:hover { text-decoration:underline; }
img.rounded { border-radius:5px; }

hr { height: 1px; margin:10px 0px 10px 0px; border:none; border-top:1px dotted;}


/* Form input fields */
.button, input, select, textarea { 
	font-size:0.9em; 
	padding:8px; 
	border-radius:2px; 
	border:1px solid #ccc;
}
input, textarea {
	width: -moz-calc(100% - 18px); /* Firefox */
	width: -webkit-calc(100% - 18px); /* WebKit */
	width: -o-calc(100% - 19px); /* Opera */
	width: calc(100% - 19px); /* Standard */
}
textarea { height:70px; }
textarea.textarea_big { height:140px; }
select { width:100%; }
.button, input.button, input[type="button"], input[type="submit"] { font-size:1em; border-width:0px 0px 1px 0px; border-color:#aeaeae; border-radius:5px; cursor: pointer; padding:7px; max-width:200px; text-align:center; background-color:#65a9dd; color:#fff; }
input.checkbox, input[type="checkbox"], input[type="radio"] { display:inline-block; margin:5px 3px 8px 0px; vertical-align:middle; width:17px; height:17px; border:1px solid #ccc; }
a.button { text-decoration:none; font-size:1em; padding:8px; white-space:nowrap; }
a.button:hover { color:#fff; }

label { display:block; font-size:0.95em; margin: 0px 0px 3px 9px; }
label.checkbox { display:inline-block; }
label.error { font-size:0.75em; margin: 4px 0px 3px 9px; }

pre { background-color: #E0EDED; border: 1px solid #66a9de; padding:5px; }

/* IE-Patch für IE 7*/ 
*:first-child+html .clearfix { min-height: 0; } 
/* IE-Patch für IE 6*/ 
* html .clearfix { height: 1%; } 
.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

.center { text-align:center; }
.clear { clear:both; }
.clearleft { clear:left; }
.clearright { clear:right; }
.error { color:#C00; }
p.error, div.error { color:#fff; margin:10px 0px 20px 0px; border-radius:5px; background-color:#d9534f; padding:10px; }
p.error a, div.error a { color:#fff; }
.notice { color:#090; }
p.notice, div.notice { color:#fff; margin:10px 0px 20px 0px; border-radius:5px; background-color:#5cb85c; padding:10px; }
.green { color:#5cb85c; }
.red { color:#d9534f; }
.yellow { color:#FF3; }
i.big, .big { font-size:2.5em; }
i.listicon, .listicon { float:left; margin-right:20px; margin-bottom:15px; font-size:2em; }

i.h1symbol { font-size:3em; float:left; margin-right:10px; }

.tooltip { cursor:pointer;color:#65a9dd; }


/* Flex Layout */
.flex {
	display: -webkit-box;      /* OLD - iOS 6-, Safari 3.1-6 */
	display: -moz-box;         /* OLD - Firefox 19- (buggy but mostly works) */
	display: -ms-flexbox;      /* TWEENER - IE 10 */
	display: -webkit-flex;     /* NEW - Chrome */
	display: flex;             /* NEW, Spec - Opera 12.1, Firefox 20+ */
}

.flex.flex-row {
	flex-flow: row wrap;
	flex-wrap: wrap;
	justify-content: space-between;
}


#header { background-color:rgba(255, 255, 255, 0.8); width:100%; }
#header.ontop { position: absolute; z-index: 2; }
#header .inside { margin:0 auto; max-width:1214px; }

#header .inside .menu { text-align:center; }
#header .inside .menu div { display:block; padding:10px; }
#header .inside .menu .suche a { font-size:0.9em; }
#header .inside a { color:#474746; text-decoration:none; }

.theme-picture { margin:0 auto; max-width:1214px; height:460px; background:#d9d1bf url("/img/theme.jpg") no-repeat center top; }
.theme-picture img { width:490px; float:right; margin-top:190px; margin-right:100px;}

#content { padding-bottom:0; } /* Sticky Footer jetzt per Flexbox (siehe body) */
#content .inside { padding:1px 0px 1px 0px; margin:0 auto; max-width:1214px; } /* Container for the content-containers */

/* Admin and Vermieter menu */
#content .inside .menu { background-color:#fff; list-style-type:none; padding:0px 0px 0px 0px; }
#content .inside .menu a { text-decoration:none; display:block; padding:15px; border-left:4px solid #fff; color:#474746; }
#content .inside .border-left a:hover, #content .inside .border-left .active { border-left:4px solid #aaa; text-decoration:none; }
#content .inside .menu .profile { padding:15px 5px 15px 10px; }
#content .inside .menu table { margin:0; }
#content .inside .menu table td { padding:3px; }
#content .inside .menu i { font-size: 15pt; margin-right:13px; }

/* Content Top-Menu quer: Usually Admin Detail Pages */
#content .inside .content-topmenu { overflow: auto; list-style-type:none; padding:0px 0px 0px 0px; margin-bottom:1px; margin-left:15px; background-color:#fff; }
#content .inside .content-topmenu li { float:left; border-right:1px solid #d9d1bf; }
#content .inside .content-topmenu li.last { border-right:0px; }
#content .inside .content-topmenu a { text-decoration:none; color:#474746; display:block; padding:10px 20px 8px 10px; border-bottom:2px solid #fff;}
#content .inside .content-topmenu i.fa { font-size:1.5em; }
#content .inside .content-topmenu a:hover, #content .inside .content-topmenu .active { border-bottom:2px solid #aaa; text-decoration:none; }
#content .inside .content-topmenu.small a { padding:4px 10px; 4px 5px; }

/* Inline Menu simple */
#content .inside .inline-menu { padding:0; list-style-type:none; white-space:nowrap;  }
#content .inside .inline-menu li { margin-bottom:5px; background-color:#65a9dd; border-radius:4px; }
#content .inside .inline-menu a { display:block; padding:5px 5px 5px 5px; color:#fff; text-decoration:none; text-align:center; }
#content .inside .inline-menu i { color:#fff; }

/* Subscription colors and classes */
#content .inside .subscription-basic { border:1px solid #03F; padding:1px 5px 1px 5px; color:#03F; background-color:#D5D6F7; }
#content .inside .subscription-basic a, #content .inside .subscription-basic a:hover { text-decoration:none; color:#03F; }
#content .inside .subscription-premium { border:1px solid #C00; padding:1px 5px 1px 5px; color:#C00; background-color:#FEE2E3; }
#content .inside .subscription-premium a, #content .inside .subscription-premium a:hover { text-decoration:none; color:#C00; }
#content .inside .subscription-business { border:1px solid #0B4; padding:1px 5px 1px 5px; color:#0B4; background-color:#E2FEE3; }
#content .inside .subscription-business a, #content .inside .subscription-business a:hover { text-decoration:none; color:#0B4; }

#content .inside .content { padding:25px 25px 10px 25px; margin-bottom:1px; background-color:#fff; display:block; }
#content .inside .content.right { padding:0; width:220px; float:right; background-color:#fff; }
#content .inside .content.midleft { min-width:300px; margin-right:221px; }

/* Large sizes for fewo detail */
#content .inside .bigmidleft { width:821px; float:left; }
#content .inside .bigright { padding:0; margin-left:822px; min-width:250px;  background-color:#fff;  }
@media (max-width: 1070px) { 
	#content .inside .bigmidleft { width:711px; }
	#content .inside .bigright { margin-left:712px; }
}
@media (max-width: 970px) { 
	#content .inside .bigmidleft { width:601px; }
	#content .inside .bigright { margin-left:602px; }
}
@media (max-width: 870px) { 
	#content .inside .bigmidleft { width:100%; clear:both; }
	#content .inside .bigright { width:100%; max-width:100%; margin-left:0px; clear:both;}
}


#content .inside .left { width:230px; float:left; }
#content .inside .right { width:230px; float:right; }
#content .inside .midright { margin-left:231px; }
#content .inside .headerpart { min-height:75px; }
#content .inside .midleft { margin-right:231px; }

#content .inside .content .btn_navigator { background:url("btn_navigator.svg") no-repeat left top; background-size: 34px 34px; padding-left:45px; padding-bottom:20px;}
#content .inside .content .btn-list { max-width:840px; text-align:left; margin:10px 0px 20px 0px;}
#content .inside .content .btn-list div { display:inline-block; min-width:360px; max-width:360px; margin-right:10px; vertical-align:top;}

#content .inside .reloadbutton { margin:0 auto; text-align:center; width:66%; border:1px solid #d9d1bf; background-color:#ebebeb;}
#content .inside .reloadbutton a { padding:10px; display:block; text-decoration:none; color:#333; }


/* Portal-Startseite: gleiche Karten wie auf der Suchseite, 4 pro Reihe (responsiv) */
#content .inside .content .start-fewo-list { align-items:flex-start; }
#content .inside .content .start-fewo-list .fewo-card { width:22%; max-width:265px; margin:10px 1%; }
@media (max-width: 640px) {
	#content .inside .content .start-fewo-list { justify-content:center; }
	#content .inside .content .start-fewo-list .fewo-card { width:46%; }
}
@media (max-width: 460px) {
	#content .inside .content .start-fewo-list .fewo-card { width:85%; }
}


/* Preisinfo und Pakete */
#content .inside .content .subscription-list { max-width:840px; margin:10px 0px 20px 0px;}
#content .inside .content .subscription-list .subscription { background-color:#eeeeee; border:1px solid #8c8c8c; border-radius:5px; display:inline-block; min-width:250px; max-width:250px; margin:15px 15px 0px 0px; vertical-align:top; }
#content .inside .content .subscription-list .subscription div { padding:10px; }
#content .inside .content .subscription-list .subscription .light { background-color:#fff; }


/* Form alignment */
#content .inside form.defaultsize { max-width:450px; }
#content .inside form div.form { display:inline-block; width:100%; padding-right:15px; margin-bottom:10px; }
#content .inside form div.fullsize { max-width:100%; }
#content .inside form div.fullsize input, #content .inside form div.fullsize select { display:inline-block; max-width:400px; }
#content .inside form div.full { max-width:450px; }
#content .inside form div.half { max-width:180px; }
#content .inside form div.eindrittel { max-width:100px; }
#content .inside form div.zweidrittel { max-width:285px; }
#content .inside form div.inline { float:left; }
#content .inside form { margin-bottom:15px; }

#content .inside img.title { float:right; margin:-20px; width:100px; }

#content .inside .input-size { font-size:0.9em; padding-top:8px; max-width:100%;}

/* Fewo-Detail */
#content .inside .ort_breadcrump { background-color:#f5f5f5; padding:8px 0px 5px 10px; border-radius:5px; font-size:11pt;margin-bottom:10px; }
#content .inside .fewo-header .theme { max-width:770px; }
#content .inside .fewo-header img { width:100%; }
#content .inside .fewo-header div.image {
	display:inline-block;
	max-width:200px;
	width: -moz-calc(25% - 20px); /* Firefox */
	width: -webkit-calc(25% - 20px); /* WebKit */
	width: -o-calc(25% - 20px); /* Opera */
	width: calc(25% - 20px); /* Standard */
	float:left; 
	margin:20px 10px 20px 10px; 
}
#content .inside ul.overview { margin-bottom:20px; padding-left:0; box-sizing:border-box; }
#content .inside ul.overview li { display:block; padding: 10px 15px; margin-bottom:-1px; border:1px solid #ddd; }
#content .inside ul.overview li.first { border-top-right-radius:4px; border-top-left-radius:4px; }
#content .inside ul.overview li.last { border-bottom-right-radius:4px; border-bottom-left-radius:4px; }
#content .inside ul.overview li i { margin-right:13px; }
#content .inside div.bingMaps-searchdetail { position:relative; width:100%; height:422px; margin-bottom:20px; }
/* end Fewo-Detail */

#content .inside table.actionlist { margin-bottom:20px; }
#content .inside .actionlist td { padding:10px; }
#content .inside .image-list-entry { min-height:100px; margin-right:15px; margin-bottom:15px; }
#content .inside .flex-list-entry { margin-right:15px; margin-bottom:15px; }

#content .inside .fewo-list-entry { min-height:115px; }
#content .inside .fewo-list-entry img { float:left; }
#content .inside .fewo-list-entry div.text { margin-left:110px; }
#content .inside .fewo-list-entry div.text div { margin-bottom:10px; }

#content .inside .content .image-holder { min-height:125px; border:1px dotted #aaa; margin:10px 0px 10px 0px;}
#content .inside .content .image-holder img { max-height:100px; max-width:150px; padding:10px 0px 10px 10px; }
#content .inside .content img.mikro { max-width:100px; margin:1px; }

#content .inside .content .image-left { float:left; margin-right:20px; }
#content .inside .content .section-left { float:left; margin-right:10px; font-size:1.5em; }
#content .inside .content .button-right { float:right; margin:0px 0px 20px 20px; font-size:2em; cursor:pointer; }
#content .inside .content .button-fa { font-size:2em; cursor:pointer; }
#content .inside .content .leftfloater { float:left; margin:0px 10px 10px 0px; }

#content .inside .calendar { min-width:205px; max-width:210px; height:200px; float:left; margin:10px; }
#content .inside .calendar .title { max-width:210px; text-align:left; text-transform:uppercase; border-bottom:2px solid #ddd; margin-bottom:5px; font-size:11pt; }
#content .inside .calendar .weekday, 
#content .inside .calendar .day, 
#content .inside .calendar .noday { width:25px; float:left; padding:1px; margin:1px; text-align:left; font-size:10.5pt; line-height:18.5pt; }
#content .inside .calendar .weekday { }
#content .inside .calendar .day { cursor:pointer; border:none; color:#fff; border-radius:2px; opacity:1; text-align:center; }
#content .inside .calendar .avail { background-color:#5cb85c; }
#content .inside .calendar .noavail { background-color:#d9534f; }

#content .inside .calendar .change { 
	background-image: linear-gradient(135deg, #d9534f 0 44%, #5cb85c 45% 55%, #d9534f 56% 100%); 
}

#content .inside .calendar .arrive { 
	background-image: -ms-linear-gradient(right bottom,#d9534f 50%,#5cb85c 50%);
	background-image: -webkit-linear-gradient(right bottom,#d9534f 50%,#5cb85c 50%); 
	background-image: -moz-linear-gradient(right bottom,#d9534f 50%,#5cb85c 50%); 
	background-image: linear-gradient(135deg,#5cb85c 50%,#d9534f 50%);
}
#content .inside .calendar .depart { 
	background-image: -ms-linear-gradient(right bottom,#5cb85c 50%,#d9534f 50%);
	background-image: -webkit-linear-gradient(right bottom,#5cb85c 50%,#d9534f 50%); 
	background-image: -moz-linear-gradient(right bottom,#5cb85c 50%,#d9534f 50%); 
	background-image: linear-gradient(135deg,#d9534f 50%,#5cb85c 50%);
}
#content .inside .calendar .highlight { opacity:0.5; } /* Just use opacity for highlighting */

/* Datepicker-Layouts to embed calendar */
#content .inside .datepicker_across { overflow:auto; display:block; width:100%; max-width:760px; height:285px; border:0; }
#content .inside .datepicker_across .part_calendar {  width:100%; border:0; overflow:hidden; height:245px; }

/* Register vermieten */
#content .inside .register-steps { margin: 5px 0px 15px 25px; }
#content .inside .register-steps div { display:inline; }
#content .inside .register-steps div.left { float:left; width:50px; }


/* Booking steps */
#content .inside .booking-steps { margin-bottom:20px; }
#content .inside .booking-steps ul { margin:0 auto; max-width:840px; padding:10px; }
#content .inside .booking-steps li { float:left; font-size:1.5em; width:130px; list-style-type:none; padding:5px; display:block; text-align:center; }
#content .inside .booking-steps li .desc { font-size:0.7em; }

#content .inside .booking-summary .price, #content .inside .content .price { max-width:750px; margin:10px 0px 20px 0px; border-radius:4px; border:2px solid #474746; padding:10px; }
#content .insice .booking-summara .theme { max-width:100%; }
#content .inside .content .booking-summary-complete {min-width:400px; max-width:770px; margin:20px 0px 25px 0px; border-radius:4px; padding:20px; }
#content .inside .content .bsc-preview { background:#FFF2F2; border:2px solid #900; }
#content .inside .content .bsc-booked { background:#E8FFE8; border:2px solid #090; }

#content .inside .content .text-module { padding:10px; background:#fbfbfb; border:2px solid #CCC; border-radius:4px; max-width:790px; margin-bottom:15px;}

/* Aufzählung Fakten Booking */
#content .inside ul.booking-facts { padding-left:0px; margin-bottom:10px; }
#content .inside ul.booking-facts li { list-style-type:none; padding:5px; }

/* WICHTIGE Downloads */
#content .inside ul.important-downloads { padding:5px; margin-bottom:10px; font-size:1.3em; }
#content .inside ul.important-downloads li { list-style-type:none; padding:5px; }

#content .inside table.booking-facts { margin-bottom:20px; max-width:760px; width:100%; }
#content .inside table.booking-facts td { min-height:35px; vertical-align:top; }
#content .inside table.booking-facts td i.bigicon { font-size:30px; }
#content .inside table.booking-facts td.last { min-width:100px; text-align:right; }
#content .inside table.booking-facts td.first { width:60px; text-align:center; }
#content .inside table.booking-facts input.editprice { max-width:50px; }
#content .inside table.booking-facts select {min-width:50px; }

#content .inside table.booking-facts-complete { margin-bottom:20px; max-width:760px; }
#content .inside table.booking-facts-complete td { vertical-align:top; padding-bottom:10px;}
#content .inside table.booking-facts-complete td.last { text-align:right; }


/* All Tables */
#content .inside table { border-spacing: 0px; margin-bottom:15px;  }
#content .inside table.highlighter tr:hover, #content .inside table tr.second { background-color:#f9f9f9; margin:0;}
#content .inside table td { padding:8px; vertical-align:top; }
#content .inside table th { padding:8px; text-align:left; }
/* Content Frontent tables / listings */
#content .inside .content table.fe-listing th { border-bottom:1px solid #ddd; }
#content .inside .content table.fe-listing td { border-top:1px solid #ddd; }

#content .inside table tr.pseudohighlight:nth-child(odd) { background-color: #eeeeee; }


#footer { min-height:180px; flex-shrink:0; background-color:#333333; }
#footer .inside { margin:0 auto; width:95%; max-width:1164px; padding:30px 0px 0px; font-size:10pt;line-height:15pt;  color:#aeaeae; }
#footer .inside a { transition: color .2s ease-in-out; text-decoration:none;  color:#aeaeae; }
#footer .inside a:hover { color:#fff; }
#footer .inside .menu div.entry { width:19%; min-width:130px; float:left; }
#footer .inside .menu div.logo { width:38%; min-width:320px; float:left; }
#footer .inside .menu ul { padding-left:0; }
#footer .inside .menu li { display:block; cursor:pointer; list-style-type:none;}
#footer .inside .copyright { text-align:center; padding:15px; color:#aeaeae; font-size:9pt; line-height:29px; }


/* Admin booking-overview entry page */
#content .inside .booking-overview { position:relative; display:block; overflow-x:auto; overflow-y:auto; white-space:nowrap; }
#content .inside .booking-overview table { border-left:1px dotted #d9d1bf;  } 
#content .inside .booking-overview table td, #content .inside .booking-overview table th { min-width:30px; width:30px; height:30px; padding:0; border-bottom:1px dotted #d9d1bf; border-right:1px dotted #d9d1bf; }
#content .inside .booking-overview table td.legend { border-bottom:1px solid #d9d1bf; border-right:1px solid #d9d1bf; text-align:center; line-height:28px; font-size:10pt; font-size:10pt; background:#f7f6f2; }
#content .inside .booking-overview table td.sa { background-color:#f3f3f3; }
#content .inside .booking-overview table td.so { background-color:#ebebeb; }

#content .inside .booking-overview .bar	{ font-size:10pt; line-height:18px; position:absolute; height:20px; padding-left:5px; border-radius:2px; overflow:hidden; }
#content .inside .booking-overview .bar a { display:block; color:#fff; text-decoration:none; }
#content .inside .booking-overview .blocking { background-color:#42a8fc; }
#content .inside .booking-overview .external { background-color:#77d058; }
#content .inside .booking-overview .regular-nook { background-color:#d9534f; }
#content .inside .booking-overview .regular-ok { background-color:#5cb85c; }
#content .inside .booking-overview .regular-nearlyok { background-color:#5cb0b8; }
#content .inside .booking-overview .attention { background-color:#e3bf52; }

#content .inside .booking-overview-legend { z-index:3; display:inline-block; position:absolute; left:0px; top:0px; }
#content .inside .booking-overview-legend table {  background:#f7f6f2; border:0; }
#content .inside .booking-overview-legend table td, #content .inside .booking-overview-legend table th { height:30px; font-size:10pt; border-right:1px solid #d9d1bf; border-bottom:1px solid #d9d1bf; padding:0 8px 0 8px; line-height:29px; }

#content .inside .booking-overview-togglebutton { z-index:2; background:#f7f6f2; padding-right:4px; display:inline-block; position:absolute; left:0px; top:0px; padding-left:8px; line-height:30px; font-size:12pt;}


/* Responsive */

@media (max-width: 900px) { 
	#footer .inside .menu div.logo { display:none; }
	#footer .inside .menu div.entry { width:30%; }
	#header .inside .menu .suche { display:none; }
	#content .inside .content .btn-list { max-width:400px; }
	#content .inside .content .btn-list div { min-width:80%; max-width:350px; }
	.theme-picture { height:350px; background:#d9d1bf url("/img/theme.jpg") no-repeat center center; }
	.theme-picture img { float:right; margin-top:185px; margin-right:50px; width:57%; }
	#content .inside .menu .text { display:none; }
	#content .inside .menu .profile .text { display:none; }
	#content .inside .left { width:70px; float:left; }
	#content .inside .midright { margin-left:71px; }
}
@media (max-width: 450px) {
	.theme-picture { height:200px; }
	.theme-picture img { display:none; }
}


/* ===== Startseite: dezentere Überschriften ===== */
#content .inside .content h1.start-headline,
#content .inside .content h2.start-headline {
	font-weight: 400;
	margin-bottom: 10px;
}


/* ===== Suchbox (Startseite + Ergebnisseite /suche) ===== */
.search-box {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 12px;
	background: #f7f6f2;
	border: 1px solid #d9d1bf;
	border-radius: 6px;
	padding: 16px;
	max-width: 900px;
	margin: 0 auto;
	box-shadow: 0 1px 4px rgba(0,0,0,.07);
}
.search-box-field { display: flex; flex-direction: column; flex: 1 1 130px; }
.search-box-field.search-box-ziel { flex: 2 1 220px; }
.search-box-field.search-box-submit { flex: 0 0 auto; }
.search-box-field label { font-size: 10pt; color: #474746; margin-bottom: 4px; }
.search-box-field input[type=text],
.search-box-field select {
	padding: 9px 10px;
	border: 1px solid #d9d1bf;
	border-radius: 4px;
	font-size: 11pt;
	background: #ffffff;
	width: 100%;
	box-sizing: border-box;
}
.search-box-field small { color: #aeaeae; font-size: 8.5pt; margin-top: 2px; }
.search-box-submit button {
	background: #65a9dd;
	color: #ffffff;
	border: none;
	border-radius: 4px;
	padding: 11px 22px;
	font-size: 12pt;
	cursor: pointer;
	white-space: nowrap;
}
.search-box-submit button:hover { background: #5698cc; }
@media (max-width: 640px) {
	.search-box-field { flex: 1 1 100%; }
}


/* ===== Ferienwohnungs-Karten (Suchergebnisse + Startseite) ===== */
.search-results { display: flex; flex-flow: row wrap; gap: 20px; margin-top: 20px; }
.search-results .fewo-card { width: 265px; }
@media (max-width: 640px) {
	.search-results { justify-content: center; }
}

.fewo-card {
	border: 1px solid #d9d1bf;
	border-radius: 6px;
	overflow: hidden;
	background: #ffffff;
	box-shadow: 0 1px 4px rgba(0,0,0,.08);
}
.fewo-card a { text-decoration: none; color: #474746; display: block; }
.fewo-card img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; }
.fewo-card .fewo-card-body { padding: 12px 14px 14px 14px; }
.fewo-card .fewo-card-name { font-weight: bold; font-size: 12pt; }
.fewo-card .fewo-card-region { color: #6f6a61; font-size: 10pt; margin-top: 2px; }
.fewo-card .fewo-card-pers { color: #8a857b; font-size: 9.5pt; margin-top: 6px; }

/* Buchungsart-Badge unter dem Bild (nicht auf dem Bild) */
.fewo-badge {
	display: inline-block;
	margin-bottom: 8px;
	padding: 3px 9px;
	border-radius: 4px;
	font-size: 9pt;
	font-weight: bold;
	color: #ffffff;
}
.fewo-badge i { margin-right: 4px; }
.fewo-badge.badge-instant { background: #5cb85c; }
.fewo-badge.badge-request { background: #e3bf52; color: #474746; }

/* Verfügbarkeits-Badge über dem Buchen-Button (Detailseite) */
.booking-period-badge { padding:8px 12px; border-radius:5px; font-size:10.5pt; margin-bottom:12px; }
.booking-period-badge i { margin-right:5px; }
.booking-period-badge.available { background:#eaf6ea; border:1px solid #5cb85c; color:#3c7a3c; }
.booking-period-badge.unavailable { background:#fdeceb; border:1px solid #d9534f; color:#a53c38; }

.search-no-results {
	background: #fbfbfb;
	border: 1px solid #d9d1bf;
	border-radius: 6px;
	padding: 20px;
	color: #474746;
	margin-top: 20px;
}