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%}
/* Contao rooms bundle – booking front end styles */

/* ===== Search bar ===== */
.rb-searchbar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;background:#f5f5f7;border:1px solid #e2e2e6;border-radius:8px;padding:16px}
.rb-searchbar .rb-field{display:flex;flex-direction:column;gap:4px;flex:1 1 160px;min-width:140px}
.rb-searchbar label{font-size:.85em;font-weight:600}
.rb-searchbar input{padding:9px 10px;border:1px solid #bbb;border-radius:5px;font:inherit;background:#fff}
.rb-searchbar .rb-submit{flex:0 0 auto}
.rb-searchbar button{padding:10px 22px;border:0;border-radius:5px;background:#f47c00;color:#fff;font-weight:700;cursor:pointer;font:inherit}
.rb-searchbar button:hover{background:#d96e00}

.rb-errors .error{color:#a12626;background:#fbe3e3;border:1px solid #eec4c4;border-radius:5px;padding:8px 12px;margin:10px 0 0}
.rb-success{color:#3f7009;background:#e4f2d5;border:1px solid #cbe3a8;border-radius:5px;padding:12px 16px}
.rb-empty{color:#666;padding:12px 0}
.rb-count{margin:16px 0 8px;font-weight:600}
.rb-note{font-size:.85em;color:#666}

/* ===== Search results ===== */
.rb-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:12px}
.rb-result{border:1px solid #e2e2e6;border-radius:8px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.rb-result-image img{display:block;width:100%;height:auto}
.rb-result-body{padding:14px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.rb-result-body h3{margin:0}
.rb-meta{color:#666;font-size:.85em;margin:0}
.rb-teaser{font-size:.92em;flex:1}
.rb-price{margin:6px 0 0}
.rb-price strong{font-size:1.25em}
.rb-price span{display:block;color:#666;font-size:.8em}
.rb-button{display:inline-block;background:#f47c00;color:#fff;border-radius:5px;padding:8px 16px;text-decoration:none;font-weight:600}
.rb-button:hover{background:#d96e00;color:#fff}

/* ===== Availability calendar ===== */
.rb-months{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}
.rb-month h4{margin:0 0 6px}
.rb-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.rb-dow{font-size:.7em;color:#888;text-align:center;font-weight:700;padding:2px 0}
.rb-day{border:1px solid #e5e5e8;border-radius:3px;text-align:center;font-size:.78em;padding:5px 0;background:#fff}
.rb-day.rb-void{border:0;background:transparent}
.rb-day.rb-past{opacity:.45}
.rb-day.rb-booked{background:#e88b8b;border-color:#d97676}
.rb-day.rb-option{background:#f6c67c;border-color:#e8b264}
.rb-day.rb-blocked{background:#b9bcc4;border-color:#a6a9b2}
.rb-day.rb-turnover{background:linear-gradient(135deg,#e88b8b 49%,#e88b8b 51%)}
.rb-day.rb-arrival-booked{background:linear-gradient(135deg,#fff 49%,#e88b8b 51%)}
.rb-day.rb-departure-booked{background:linear-gradient(135deg,#e88b8b 49%,#fff 51%)}
.rb-day.rb-arrival-option{background:linear-gradient(135deg,#fff 49%,#f6c67c 51%)}
.rb-day.rb-departure-option{background:linear-gradient(135deg,#f6c67c 49%,#fff 51%)}
.rb-day.rb-arrival-blocked{background:linear-gradient(135deg,#fff 49%,#b9bcc4 51%)}
.rb-day.rb-departure-blocked{background:linear-gradient(135deg,#b9bcc4 49%,#fff 51%)}

.rb-legend{display:flex;gap:20px;list-style:none;padding:10px 0 0;margin:0;flex-wrap:wrap;font-size:.85em;color:#555}
.rb-legend li{position:relative;padding-left:22px}
.rb-legend li::before{content:'';position:absolute;left:0;top:1px;width:14px;height:14px;border-radius:3px;border:1px solid #ccc;background:#fff}
.rb-legend .rb-legend-booked::before{background:#e88b8b}
.rb-legend .rb-legend-option::before{background:#f6c67c}
.rb-legend .rb-legend-blocked::before{background:#b9bcc4}

/* ===== Price breakdown ===== */
.rb-pricecalc{margin-top:24px}
.rb-breakdown{width:100%;max-width:560px;border-collapse:collapse;margin-top:12px}
.rb-breakdown td{padding:8px 10px;border-bottom:1px dashed #e2e2e6;vertical-align:top}
.rb-breakdown small{color:#777}
.rb-breakdown .rb-num{text-align:right;white-space:nowrap}
.rb-breakdown .rb-total td{border-bottom:0;border-top:2px solid #333}
.rb-price-preview{background:#eef6fc;border:1px solid #cfe4f2;border-radius:5px;padding:8px 12px}

/* ===== Inquiry form ===== */
.rb-inquiryform .rb-fieldset{border:1px solid #e2e2e6;border-radius:8px;padding:16px}
.rb-inquiryform legend{font-weight:700;padding:0 6px}
.rb-inquiryform .rb-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}
.rb-inquiryform .rb-field{display:flex;flex-direction:column;gap:4px;flex:1 1 180px}
.rb-inquiryform .rb-wide{margin-bottom:12px;display:flex;flex-direction:column;gap:4px}
.rb-inquiryform label{font-size:.85em;font-weight:600}
.rb-inquiryform input,.rb-inquiryform textarea{padding:9px 10px;border:1px solid #bbb;border-radius:5px;font:inherit;background:#fff}
.rb-inquiryform button{padding:11px 26px;border:0;border-radius:5px;background:#f47c00;color:#fff;font-weight:700;cursor:pointer;font:inherit}
.rb-inquiryform button:hover{background:#d96e00}

/* ===== Map ===== */
.rb-map-canvas{width:100%;border-radius:8px;z-index:0}
.rb-map .leaflet-popup-content{min-width:200px}

