/*
Theme Name: MG Wellness Luxury V3
Theme URI: https://ferienwohnung-wellness.de
Author: OpenAI für Marius Goldmann
Description: Mobile-first Luxus-Theme für die Wellness-Oase Kerpen mit Galerie, Preisen, Aktionen, iCal-Kalender, Direktanfrage, SEO und geschütztem Gästebereich.
Version: 3.3.6
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: mg-wellness-v3
*/
:root{
 --bg:#070706;--bg2:#100e0b;--panel:#12100d;--gold:#c99437;--gold2:#f2d08b;
 --text:#f7f2e9;--muted:#c9beb0;--line:rgba(201,148,55,.46);--max:1220px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.6}img{max-width:100%;display:block}a{color:inherit}
.mg-page{overflow:hidden;background:radial-gradient(circle at 50% 6%,rgba(113,72,18,.18),transparent 28%),linear-gradient(180deg,#050505,#100e0b 40%,#080706)}
.mg-header{position:fixed;z-index:70;top:0;left:0;right:0;display:flex;align-items:center;justify-content:center;padding:12px 18px;background:linear-gradient(180deg,rgba(0,0,0,.92),rgba(0,0,0,.45),transparent);backdrop-filter:blur(9px)}
.mg-nav{width:min(var(--max),100%);display:flex;align-items:center;justify-content:space-between;gap:22px}
.mg-nav-links{display:flex;gap:28px;align-items:center}.mg-nav a{text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-family:Georgia,serif;font-size:.78rem}.mg-nav a:hover{color:var(--gold2)}
.mg-mini-logo{width:58px;height:58px;object-fit:contain}.mg-book-top{border:1px solid var(--gold);padding:12px 17px}
.mg-mobile-toggle{display:none;border:1px solid var(--line);background:#0c0b09;color:var(--gold2);padding:9px 12px}
.mg-hero{padding-top:82px;background:#000;text-align:center}.mg-hero-banner{display:block;width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;margin:0 auto;image-rendering:auto}
.mg-actions{width:min(var(--max),calc(100% - 34px));margin:-1px auto 0;display:grid;grid-template-columns:repeat(6,1fr);gap:10px;padding:18px 0 28px}
.mg-btn{display:flex;align-items:center;justify-content:center;min-height:66px;padding:13px;border:1px solid var(--line);background:rgba(10,9,8,.84);color:var(--text);text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-family:Georgia,serif;text-align:center;transition:.25s}
.mg-btn:hover{border-color:var(--gold2);color:var(--gold2);transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.38)}
.mg-section{padding:clamp(72px,9vw,132px) 18px;border-top:1px solid rgba(201,148,55,.16)}.mg-wrap{width:min(var(--max),100%);margin:auto}
.mg-kicker{margin:0 0 10px;color:var(--gold);text-transform:uppercase;letter-spacing:.24em;font-family:Georgia,serif;font-size:.76rem}
.mg-title{margin:0 0 22px;font-family:Georgia,serif;font-weight:400;font-size:clamp(2.2rem,5vw,4.8rem);line-height:1.05}.mg-gold{color:var(--gold2)}
.mg-lead{max-width:780px;color:var(--muted);font-size:clamp(1rem,1.4vw,1.18rem)}
.mg-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,6vw,80px);align-items:center}
.mg-photo{border:1px solid rgba(201,148,55,.27);box-shadow:0 28px 70px rgba(0,0,0,.48)}.mg-photo img{width:100%;height:610px;object-fit:cover}
.mg-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(201,148,55,.25);border:1px solid rgba(201,148,55,.25);margin-top:44px}.mg-fact{padding:25px;background:#0b0a09;text-align:center}.mg-fact strong{display:block;color:var(--gold2);font-family:Georgia,serif;font-weight:400}.mg-fact span{font-size:.88rem;color:var(--muted)}
.mg-gallery{
 column-count:3;
 column-gap:14px;
 margin-top:40px;
}
.mg-gallery figure{
 margin:0 0 14px;
 break-inside:avoid;
 overflow:hidden;
 border:1px solid rgba(201,148,55,.18);
 background:#090807;
 cursor:zoom-in;
}
.mg-gallery img{
 width:100%;
 height:auto;
 object-fit:contain;
 transition:filter .25s ease, opacity .25s ease;
}
.mg-gallery figure:hover img{
 filter:brightness(1.06);
}
.mg-gallery figure::after{
 content:"Bild vergrößern";
 display:block;
 padding:8px 10px;
 color:#a99d8f;
 font-size:.75rem;
 letter-spacing:.08em;
 text-transform:uppercase;
 text-align:center;
 border-top:1px solid rgba(201,148,55,.12);
}

.mg-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:36px}.mg-card{padding:29px;border:1px solid rgba(201,148,55,.3);background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(255,255,255,.008))}.mg-card h3{font-family:Georgia,serif;color:var(--gold2);font-weight:400;font-size:1.35rem;margin:0 0 10px}.mg-card p{color:var(--muted);margin:0}
.mg-price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:38px}.mg-price{padding:34px;border:1px solid var(--line);background:#0d0c0a}.mg-price .amount{font-family:Georgia,serif;color:var(--gold2);font-size:3.3rem}.mg-price ul{padding-left:19px;color:var(--muted)}
.mg-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}.mg-review{padding:26px;border:1px solid rgba(201,148,55,.28);background:#0c0b09}.mg-stars{color:var(--gold2);letter-spacing:.18em}.mg-review strong{display:block;margin-top:10px}
.mg-booking-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;margin-top:34px}.mg-calendar,.mg-form{padding:25px;border:1px solid rgba(201,148,55,.3);background:#0d0c0a}.mg-cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.mg-cal-head button{background:transparent;color:var(--gold2);border:1px solid var(--line);padding:8px 12px}.mg-cal-title{font-family:Georgia,serif;color:var(--gold2);font-size:1.25rem}.mg-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.mg-cal-grid div{min-height:41px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.055)}.mg-cal-grid .label{border:0;color:#a99d8f;min-height:25px}.mg-cal-grid .free{background:rgba(67,116,69,.17)}.mg-cal-grid .busy{background:rgba(158,55,45,.3);color:#e0aaa4;text-decoration:line-through}.mg-cal-grid .past{opacity:.28}
.mg-form label{display:block;margin:0 0 6px;color:#d8cdbf;font-size:.9rem}.mg-form input,.mg-form select,.mg-form textarea{width:100%;background:#090807;border:1px solid rgba(201,148,55,.3);color:#fff;padding:12px;margin-bottom:13px}.mg-form button{width:100%;cursor:pointer}.mg-notice{border:1px solid var(--line);padding:12px;margin-bottom:15px}
.mg-poster-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:36px}.mg-poster-grid img{width:100%;border:1px solid rgba(201,148,55,.25)}
.mg-location{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:34px}.mg-loc{padding:20px;border:1px solid rgba(201,148,55,.25);text-align:center;background:#0d0c0a}.mg-loc strong{display:block;color:var(--gold2);font-family:Georgia,serif}
.mg-footer{padding:36px 18px;background:#050505;border-top:1px solid rgba(201,148,55,.18);text-align:center;color:#9d9386}.mg-footer-links{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.mg-footer a{text-decoration:none}
.mg-sticky{display:none}.mg-cookie{position:fixed;z-index:90;left:16px;right:16px;bottom:16px;max-width:760px;margin:auto;background:#15120e;border:1px solid var(--gold);padding:18px;box-shadow:0 20px 60px rgba(0,0,0,.6)}.mg-cookie.hidden{display:none}.mg-cookie-actions{display:flex;gap:10px;flex-wrap:wrap}.mg-cookie button{padding:10px 14px;border:1px solid var(--line);background:#0b0a08;color:#fff}
.mg-legal{max-width:920px;margin:auto;padding:120px 18px 70px}.mg-legal h1,.mg-legal h2{font-family:Georgia,serif;color:var(--gold2);font-weight:400}.mg-legal p,.mg-legal li{color:#d2c7b9}
.mg-guest-login{max-width:520px;margin:140px auto;padding:28px;border:1px solid var(--line);background:#0e0c09}.mg-guest-login input{width:100%;padding:12px;background:#080706;color:#fff;border:1px solid var(--line);margin:10px 0}.mg-guest-login button{width:100%}
@media(max-width:980px){.mg-nav-links{display:none}.mg-mobile-toggle{display:block}.mg-actions{grid-template-columns:repeat(3,1fr)}.mg-split,.mg-booking-grid{grid-template-columns:1fr}.mg-cards,.mg-review-grid{grid-template-columns:1fr}.mg-facts,.mg-location{grid-template-columns:repeat(2,1fr)}.mg-photo img{height:520px}.mg-poster-grid{grid-template-columns:1fr}}
@media(max-width:620px){.mg-header{position:absolute}.mg-nav{justify-content:space-between}.mg-hero{padding-top:72px}.mg-hero-banner{max-height:none}.mg-actions{grid-template-columns:1fr 1fr;width:calc(100% - 22px);gap:8px;padding:12px 0 20px}.mg-btn{min-height:55px;font-size:.76rem}.mg-section{padding:62px 14px}.mg-facts,.mg-location,.mg-price-grid{grid-template-columns:1fr}.mg-gallery{column-count:1}.mg-photo img{height:410px}.mg-sticky{position:fixed;z-index:80;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;background:#080706;border-top:1px solid var(--gold)}.mg-sticky a{text-decoration:none;text-align:center;padding:13px 8px;color:var(--gold2);font-weight:700}.mg-footer{padding-bottom:80px}}


/* V3.1: kompakte öffentliche Informationen und erweiterter Gästebereich */
.mg-info-grid{
 display:grid;
 grid-template-columns:repeat(5,1fr);
 gap:12px;
 margin-top:34px;
}
.mg-info-item{
 min-height:145px;
 display:flex;
 flex-direction:column;
 align-items:center;
 justify-content:center;
 text-align:center;
 padding:22px 16px;
 border:1px solid rgba(201,148,55,.28);
 background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(255,255,255,.006));
}
.mg-info-icon{
 font-size:1.8rem;
 margin-bottom:10px;
 color:var(--gold2);
}
.mg-info-item strong{
 font-family:Georgia,serif;
 font-weight:400;
 color:var(--gold2);
 font-size:1.05rem;
}
.mg-info-item span{
 color:var(--muted);
 font-size:.9rem;
 margin-top:4px;
}
.mg-special-note{
 margin-top:24px;
 padding:18px 20px;
 border-left:3px solid var(--gold);
 background:rgba(201,148,55,.07);
 color:var(--muted);
}
.mg-guest-rules{
 display:grid;
 grid-template-columns:repeat(2,1fr);
 gap:16px;
 margin:34px 0;
}
.mg-guest-rule{
 padding:22px;
 border:1px solid rgba(201,148,55,.28);
 background:#0d0c0a;
}
.mg-guest-rule h3{
 margin:0 0 8px;
 color:var(--gold2);
 font-family:Georgia,serif;
 font-weight:400;
}
.mg-guest-rule p,
.mg-guest-rule li{
 color:var(--muted);
}
@media(max-width:980px){
 .mg-info-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
 .mg-info-grid,.mg-guest-rules{grid-template-columns:1fr}
}


/* V3.2 Lightbox */
.mg-lightbox{
 position:fixed;
 inset:0;
 z-index:9999;
 display:none;
 align-items:center;
 justify-content:center;
 background:rgba(0,0,0,.94);
 padding:22px;
}
.mg-lightbox.open{display:flex}
.mg-lightbox-stage{
 position:relative;
 width:min(96vw,1500px);
 height:min(92vh,1100px);
 display:flex;
 align-items:center;
 justify-content:center;
}
.mg-lightbox-img{
 max-width:100%;
 max-height:100%;
 width:auto;
 height:auto;
 object-fit:contain;
 box-shadow:0 24px 70px rgba(0,0,0,.7);
}
.mg-lightbox-close,
.mg-lightbox-prev,
.mg-lightbox-next{
 position:absolute;
 z-index:2;
 border:1px solid rgba(201,148,55,.65);
 background:rgba(10,9,8,.76);
 color:var(--gold2);
 cursor:pointer;
 font-size:1.5rem;
 line-height:1;
}
.mg-lightbox-close{
 top:10px;
 right:10px;
 width:46px;
 height:46px;
}
.mg-lightbox-prev,
.mg-lightbox-next{
 top:50%;
 transform:translateY(-50%);
 width:50px;
 height:64px;
}
.mg-lightbox-prev{left:10px}
.mg-lightbox-next{right:10px}
.mg-lightbox-count{
 position:absolute;
 left:50%;
 bottom:10px;
 transform:translateX(-50%);
 color:#e8dcc8;
 background:rgba(0,0,0,.55);
 padding:8px 12px;
 font-size:.82rem;
 letter-spacing:.08em;
}
body.mg-no-scroll{overflow:hidden}
@media(max-width:980px){
 .mg-gallery{column-count:2}
}
@media(max-width:620px){
 .mg-gallery{column-count:1}
 .mg-lightbox{padding:8px}
 .mg-lightbox-stage{width:100vw;height:100vh}
 .mg-lightbox-prev,.mg-lightbox-next{width:42px;height:56px}
 .mg-lightbox-prev{left:2px}.mg-lightbox-next{right:2px}
}


/* V3.3 – dynamisch verwaltbarer Gästebereich */
.mg-guest-items{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:18px;
 margin-top:34px;
}
.mg-guest-item{
 border:1px solid rgba(201,148,55,.28);
 background:#0d0c0a;
 overflow:hidden;
}
.mg-guest-item-media{
 background:#050505;
}
.mg-guest-item-media img{
 width:100%;
 height:auto;
 object-fit:contain;
}
.mg-guest-item-body{
 padding:22px;
}
.mg-guest-item-body h2{
 margin:0 0 10px;
 color:var(--gold2);
 font-family:Georgia,serif;
 font-weight:400;
}
.mg-guest-item-body p,
.mg-guest-item-body li{
 color:var(--muted);
}
.mg-guest-item-links{
 display:flex;
 gap:10px;
 flex-wrap:wrap;
 margin-top:16px;
}
.mg-guest-item-links a{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 min-height:44px;
 padding:10px 14px;
 border:1px solid var(--line);
 color:var(--gold2);
 text-decoration:none;
}
.mg-video-wrap{
 position:relative;
 padding-top:56.25%;
 overflow:hidden;
 background:#000;
}
.mg-video-wrap iframe{
 position:absolute;
 inset:0;
 width:100%;
 height:100%;
 border:0;
}
@media(max-width:760px){
 .mg-guest-items{grid-template-columns:1fr}
}


/* V3.3.2 – 4K-Banner, HBook und Buchungsbedingungen */
.mg-hbook-wrap{margin-top:34px;padding:clamp(16px,3vw,30px);border:1px solid rgba(201,148,55,.30);background:#0d0c0a}
.mg-hbook-wrap .hb-booking-search-form,.mg-hbook-wrap form{max-width:100%}
.mg-booking-terms{margin:22px 0 0;padding:16px;border:1px solid rgba(201,148,55,.32);background:rgba(201,148,55,.06);color:var(--muted)}
.mg-booking-terms label{display:flex;align-items:flex-start;gap:10px;cursor:pointer}
.mg-booking-terms input{width:auto!important;margin:5px 0 0!important;flex:0 0 auto}
.mg-booking-terms a{color:var(--gold2)}
.mg-booking-terms-error{display:none;margin-top:10px;color:#ffb2aa;font-weight:700}
.mg-parking-note{margin-top:24px;padding:18px 20px;border-left:3px solid var(--gold);background:rgba(201,148,55,.07);color:var(--muted)}
@media(max-width:980px){
 .mg-header{display:none}
 .mg-hero{padding-top:0}
}


/* V3.3.3 – HBook im MG-Wellness-Schwarz-Gold-Design */
:root{
 --hb-mg-bg:#0d0c0a;
 --hb-mg-panel:#15120e;
 --hb-mg-gold:#c99437;
 --hb-mg-gold-light:#f2d08b;
 --hb-mg-text:#f7f2e9;
 --hb-mg-muted:#b9ae9f;
 --hb-mg-border:rgba(201,148,55,.46);
 --hb-mg-free:#203424;
 --hb-mg-busy:#8f2929;
}

/* Gesamter Buchungsbereich */
.hb-booking-form,
.hb-booking-search-form,
.hb-search-form,
.hb-resa-form,
.hbook-wrapper,
.hb-form-wrapper,
.hb-accom-list,
.hb-search-result,
.hb-search-results,
.hb-payment-form,
.hb-customer-form{
 background:linear-gradient(145deg,var(--hb-mg-panel),#0b0a08)!important;
 color:var(--hb-mg-text)!important;
 border:1px solid var(--hb-mg-border)!important;
 border-radius:0!important;
 box-shadow:0 24px 60px rgba(0,0,0,.42)!important;
 padding:clamp(18px,3vw,32px)!important;
 font-family:Arial,Helvetica,sans-serif!important;
}

/* Überschriften und Beschriftungen */
.hb-booking-form h1,.hb-booking-form h2,.hb-booking-form h3,.hb-booking-form h4,
.hb-booking-search-form h1,.hb-booking-search-form h2,.hb-booking-search-form h3,
.hbook-wrapper h1,.hbook-wrapper h2,.hbook-wrapper h3,
.hb-form-wrapper h1,.hb-form-wrapper h2,.hb-form-wrapper h3,
.hb-search-result h1,.hb-search-result h2,.hb-search-result h3,
.hb-customer-form h1,.hb-customer-form h2,.hb-customer-form h3,
.hb-payment-form h1,.hb-payment-form h2,.hb-payment-form h3{
 color:var(--hb-mg-gold-light)!important;
 font-family:Georgia,'Times New Roman',serif!important;
 font-weight:400!important;
 letter-spacing:.03em!important;
}
.hb-booking-form label,.hb-booking-search-form label,.hbook-wrapper label,.hb-form-wrapper label,
.hb-customer-form label,.hb-payment-form label,.hb-search-result label,
.hb-booking-form p,.hb-booking-search-form p,.hbook-wrapper p,.hb-form-wrapper p{
 color:var(--hb-mg-text)!important;
}

/* Eingabefelder */
.hb-booking-form input,.hb-booking-form select,.hb-booking-form textarea,
.hb-booking-search-form input,.hb-booking-search-form select,.hb-booking-search-form textarea,
.hb-search-form input,.hb-search-form select,.hb-search-form textarea,
.hbook-wrapper input,.hbook-wrapper select,.hbook-wrapper textarea,
.hb-form-wrapper input,.hb-form-wrapper select,.hb-form-wrapper textarea,
.hb-customer-form input,.hb-customer-form select,.hb-customer-form textarea,
.hb-payment-form input,.hb-payment-form select,.hb-payment-form textarea{
 background:#090807!important;
 color:var(--hb-mg-text)!important;
 border:1px solid var(--hb-mg-border)!important;
 border-radius:0!important;
 min-height:48px!important;
 padding:11px 13px!important;
 box-shadow:none!important;
}
.hb-booking-form input:focus,.hb-booking-form select:focus,.hb-booking-form textarea:focus,
.hb-booking-search-form input:focus,.hb-booking-search-form select:focus,.hb-booking-search-form textarea:focus,
.hbook-wrapper input:focus,.hbook-wrapper select:focus,.hbook-wrapper textarea:focus,
.hb-form-wrapper input:focus,.hb-form-wrapper select:focus,.hb-form-wrapper textarea:focus{
 border-color:var(--hb-mg-gold-light)!important;
 outline:none!important;
 box-shadow:0 0 0 2px rgba(201,148,55,.14)!important;
}

/* Buttons */
.hb-booking-form button,.hb-booking-form input[type=submit],.hb-booking-form .hb-button,
.hb-booking-search-form button,.hb-booking-search-form input[type=submit],.hb-booking-search-form .hb-button,
.hbook-wrapper button,.hbook-wrapper input[type=submit],.hbook-wrapper .hb-button,
.hb-form-wrapper button,.hb-form-wrapper input[type=submit],.hb-form-wrapper .hb-button,
.hb-search-result button,.hb-search-result input[type=submit],
.hb-payment-form button,.hb-payment-form input[type=submit],
.hb-customer-form button,.hb-customer-form input[type=submit],
.hb-next-step,.hb-prev-step,.hb-confirm-button,.hb-booking-search-button{
 background:rgba(7,7,6,.78)!important;
 color:var(--hb-mg-gold-light)!important;
 border:1px solid var(--hb-mg-gold)!important;
 border-radius:0!important;
 min-height:50px!important;
 padding:12px 20px!important;
 text-transform:uppercase!important;
 letter-spacing:.12em!important;
 font-family:Georgia,'Times New Roman',serif!important;
 box-shadow:none!important;
 transition:.25s ease!important;
}
.hb-booking-form button:hover,.hb-booking-form input[type=submit]:hover,
.hb-booking-search-form button:hover,.hb-booking-search-form input[type=submit]:hover,
.hbook-wrapper button:hover,.hbook-wrapper input[type=submit]:hover,
.hb-form-wrapper button:hover,.hb-form-wrapper input[type=submit]:hover,
.hb-next-step:hover,.hb-prev-step:hover,.hb-confirm-button:hover,.hb-booking-search-button:hover{
 background:var(--hb-mg-gold)!important;
 color:#090807!important;
 transform:translateY(-2px)!important;
}

/* HBook/JQuery-Datepicker und Verfügbarkeitskalender */
.hb-datepick-popup,
.hb-datepick-wrapper,
.hb-dp,
.hb-calendar,
.hb-availability-calendar,
.datepick-popup,
.datepick,
.ui-datepicker{
 background:var(--hb-mg-panel)!important;
 color:var(--hb-mg-text)!important;
 border:1px solid var(--hb-mg-gold)!important;
 border-radius:0!important;
 box-shadow:0 26px 70px rgba(0,0,0,.72)!important;
 font-family:Arial,Helvetica,sans-serif!important;
}
.datepick-nav,.datepick-ctrl,.datepick-month-header,
.hb-datepick-popup .datepick-nav,.hb-datepick-popup .datepick-ctrl,.hb-datepick-popup .datepick-month-header,
.ui-datepicker-header{
 background:#080706!important;
 color:var(--hb-mg-gold-light)!important;
 border:0!important;
}
.datepick-month,.datepick-month table,.ui-datepicker table{
 background:var(--hb-mg-panel)!important;
 border-color:rgba(201,148,55,.18)!important;
}
.datepick-month th,.ui-datepicker th{
 color:var(--hb-mg-gold-light)!important;
 background:#0a0908!important;
 border-color:rgba(201,148,55,.16)!important;
}
.datepick-month td,.ui-datepicker td{
 background:#0c0b09!important;
 border-color:rgba(201,148,55,.10)!important;
}
.datepick-month td a,.datepick-month td span,.ui-datepicker td a,.ui-datepicker td span{
 color:var(--hb-mg-text)!important;
 background:#11100e!important;
 border:1px solid rgba(201,148,55,.16)!important;
 text-align:center!important;
}
.datepick-month td a:hover,.ui-datepicker td a:hover,
.datepick-highlight,.datepick-selected,.ui-datepicker-current-day a,
.hb-dp-day-check-in,.hb-dp-day-check-out,.hb-dp-day-selected{
 background:var(--hb-mg-gold)!important;
 color:#080706!important;
 border-color:var(--hb-mg-gold-light)!important;
}
/* HBook-Kalender: Grün = frei, Rot = vollständig belegt. */
.hb-datepicker-popup .hb-dp-day-link.hb-day-available:not(.hb-day-fully-taken):not(.hb-dp-day-not-selectable-taken),
.hb-datepick-popup .hb-dp-day-link.hb-day-available:not(.hb-day-fully-taken):not(.hb-dp-day-not-selectable-taken),
.hb-dp .hb-dp-day-link.hb-day-available:not(.hb-day-fully-taken):not(.hb-dp-day-not-selectable-taken){
 background:var(--hb-mg-free)!important;
 background-color:var(--hb-mg-free)!important;
 color:#ffffff!important;
}

/* Vollständig belegte Tage. Die Tageszahl bleibt sichtbar. */
html body .hb-datepicker-popup .hb-dp-day-link.hb-day-fully-taken,
html body .hb-datepicker-popup .hb-dp-day-link.hb-dp-day-not-selectable-taken,
html body .hb-datepick-popup .hb-dp-day-link.hb-day-fully-taken,
html body .hb-datepick-popup .hb-dp-day-link.hb-dp-day-not-selectable-taken,
html body .hb-dp .hb-dp-day-link.hb-day-fully-taken,
html body .hb-dp .hb-dp-day-link.hb-dp-day-not-selectable-taken{
 background:#8f2929!important;
 background-color:#8f2929!important;
 background-image:none!important;
 box-shadow:inset 0 0 0 999px #8f2929!important;
 color:#ffffff!important;
 opacity:1!important;
 cursor:not-allowed!important;
 text-decoration:none!important;
}

/* HBook legt die Tageszahl in dieses innere Element. Nicht ausblenden. */
html body .hb-datepicker-popup .hb-day-fully-taken > .hb-day-taken-content,
html body .hb-datepick-popup .hb-day-fully-taken > .hb-day-taken-content,
html body .hb-dp .hb-day-fully-taken > .hb-day-taken-content{
 visibility:visible!important;
 opacity:1!important;
 color:#ffffff!important;
 position:relative!important;
 z-index:3!important;
}

/* Weitere HBook-Klassen für nicht verfügbare Tage. */
.hb-dp-day-not-available,.hb-dp-day-booked,.hb-day-booked,.hb-unavailable,.hb-occupied,
.datepick-day-unavailable,.hb-availability-calendar .occupied,.hb-calendar .occupied,
.hb-availability-calendar .unavailable,.hb-calendar .unavailable{
 background:var(--hb-mg-busy)!important;
 color:#ffffff!important;
 opacity:1!important;
 cursor:not-allowed!important;
 text-decoration:none!important;
}
.datepick-other-month,.ui-datepicker-other-month{opacity:.32!important}
.datepick-cmd,.ui-datepicker-prev,.ui-datepicker-next{
 color:var(--hb-mg-gold-light)!important;
 background:transparent!important;
 border:1px solid rgba(201,148,55,.34)!important;
}

/* Tabellen, Zusammenfassungen und Preise */
.hb-booking-form table,.hbook-wrapper table,.hb-form-wrapper table,.hb-search-result table,
.hb-resa-summary,.hb-price-breakdown,.hb-accom-list-item,.hb-search-result-item{
 background:#0c0b09!important;
 color:var(--hb-mg-text)!important;
 border-color:var(--hb-mg-border)!important;
}
.hb-booking-form th,.hbook-wrapper th,.hb-form-wrapper th,.hb-search-result th{
 background:#080706!important;
 color:var(--hb-mg-gold-light)!important;
 border-color:rgba(201,148,55,.22)!important;
}
.hb-booking-form td,.hbook-wrapper td,.hb-form-wrapper td,.hb-search-result td{
 color:var(--hb-mg-text)!important;
 border-color:rgba(201,148,55,.14)!important;
}
.hb-price,.hb-price-amount,.hb-total-price,.hb-resa-total-price,
.hb-search-result .price,.hbook-wrapper .price{
 color:var(--hb-mg-gold-light)!important;
 font-weight:700!important;
}

/* Hinweise und Fehlermeldungen */
.hb-message,.hb-error,.hb-success,.hb-notification,.hb-resa-done-msg{
 border:1px solid var(--hb-mg-border)!important;
 background:#11100e!important;
 color:var(--hb-mg-text)!important;
 padding:12px 15px!important;
}

/* Buchungsseite luftiger und mobil angenehmer */
.page .hb-booking-form,.page .hbook-wrapper,.page .hb-form-wrapper{
 width:min(1100px,calc(100% - 24px))!important;
 margin:36px auto!important;
}
@media(max-width:700px){
 .hb-booking-form,.hb-booking-search-form,.hbook-wrapper,.hb-form-wrapper,.hb-payment-form,.hb-customer-form{
  padding:16px!important;
 }
 .hb-booking-form input,.hb-booking-form select,.hb-booking-form textarea,
 .hb-booking-search-form input,.hb-booking-search-form select,
 .hbook-wrapper input,.hbook-wrapper select,.hbook-wrapper textarea{
  font-size:16px!important;
 }
 .datepick,.hb-datepick-popup,.ui-datepicker{
  max-width:calc(100vw - 16px)!important;
  width:calc(100vw - 16px)!important;
 }
 .datepick-month{width:100%!important}
}


/* V3.3.6 – HBook Reservierungszusammenfassung: dunkler Hintergrund, klar lesbarer Text */
.hbook-wrapper .hb-resa-summary,
.hbook-wrapper .hb-resa-summary-wrapper,
.hbook-wrapper .hb-resa-summary-content,
.hbook-wrapper .hb-summary,
.hbook-wrapper .hb-summary-content,
.hbook-wrapper [class*="resa-summary"],
.hbook-wrapper [class*="reservation-summary"],
.hbook-wrapper [class*="summary-content"],
.hb-booking-form .hb-resa-summary,
.hb-booking-form .hb-resa-summary-wrapper,
.hb-booking-form .hb-resa-summary-content,
.hb-booking-form .hb-summary,
.hb-booking-form .hb-summary-content,
.hb-booking-form [class*="resa-summary"],
.hb-booking-form [class*="reservation-summary"],
.hb-booking-form [class*="summary-content"]{
 background:#0c0b09!important;
 background-color:#0c0b09!important;
 color:#f7f2e9!important;
 border:1px solid rgba(201,148,55,.46)!important;
 box-shadow:none!important;
 opacity:1!important;
}

.hbook-wrapper .hb-resa-summary *,
.hbook-wrapper .hb-resa-summary-wrapper *,
.hbook-wrapper .hb-resa-summary-content *,
.hbook-wrapper .hb-summary *,
.hbook-wrapper .hb-summary-content *,
.hbook-wrapper [class*="resa-summary"] *,
.hbook-wrapper [class*="reservation-summary"] *,
.hbook-wrapper [class*="summary-content"] *,
.hb-booking-form .hb-resa-summary *,
.hb-booking-form .hb-resa-summary-wrapper *,
.hb-booking-form .hb-resa-summary-content *,
.hb-booking-form .hb-summary *,
.hb-booking-form .hb-summary-content *,
.hb-booking-form [class*="resa-summary"] *,
.hb-booking-form [class*="reservation-summary"] *,
.hb-booking-form [class*="summary-content"] *{
 color:#f7f2e9!important;
 opacity:1!important;
 text-shadow:none!important;
}

/* Preiszeilen und Gesamtsumme in der Zusammenfassung stärker hervorheben */
.hbook-wrapper [class*="summary"] strong,
.hbook-wrapper [class*="summary"] b,
.hbook-wrapper [class*="summary"] .hb-total-price,
.hbook-wrapper [class*="summary"] .hb-price,
.hb-booking-form [class*="summary"] strong,
.hb-booking-form [class*="summary"] b,
.hb-booking-form [class*="summary"] .hb-total-price,
.hb-booking-form [class*="summary"] .hb-price{
 color:#f2d08b!important;
 font-weight:700!important;
}
