.ahr-box{background:#927b69;padding:28px;color:#fff;font-family:inherit;box-sizing:border-box;box-shadow:0 18px 40px rgba(0,0,0,.12)}
.ahr-box *{box-sizing:border-box}.ahr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ahr-personal-fields{display:grid;grid-template-columns:1fr;gap:14px;margin-top:18px}.ahr-wide{grid-column:1/-1}.ahr-form label{display:block}.ahr-form label span{display:block;text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:700;margin-bottom:8px;color:#fff}.ahr-form input,.ahr-form select,.ahr-form textarea{width:100%;border:0;background:rgba(255,255,255,.10);color:#fff;padding:14px 13px;min-height:48px;border-radius:0;outline:0}.ahr-form input::placeholder,.ahr-form textarea::placeholder{color:rgba(255,255,255,.75)}.ahr-form input[type="date"]{color-scheme:dark}.ahr-submit{width:100%;margin-top:20px;border:0;background:#7d6255;color:#fff;text-transform:uppercase;letter-spacing:2px;font-weight:800;padding:16px 18px;cursor:pointer;transition:.18s ease}.ahr-submit:hover{filter:brightness(1.08);transform:translateY(-1px)}.ahr-privacy{display:flex!important;gap:10px;align-items:flex-start;font-size:12px;line-height:1.45;text-transform:none!important;letter-spacing:0!important}.ahr-privacy input{width:auto;min-height:auto;margin-top:4px}.ahr-privacy span{text-transform:none!important;letter-spacing:0!important;font-weight:400!important;margin:0!important}.ahr-hp{position:absolute!important;left:-9999px!important}.ahr-notice{padding:12px 14px;margin-bottom:16px;background:#fff;color:#5f4e44}.ahr-notice--error{background:#fff2f2;color:#9b2222}.ahr-notice--success{background:#f7fff7;color:#315f31}@media(max-width:767px){.ahr-box{padding:22px}.ahr-grid{grid-template-columns:1fr}}

/* V3.1 Startseite, Popup & Flatpickr */
.ahr-home-search{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:0;align-items:stretch;background:rgba(112,86,75,.88);box-shadow:0 20px 45px rgba(0,0,0,.18);max-width:1120px;margin:0 auto;color:#5c5c5c}.ahr-home-search__fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#fff}.ahr-home-search label{padding:28px 34px;border-right:1px solid #eee;display:block}.ahr-home-search label span{display:block;text-align:center;text-transform:uppercase;letter-spacing:3px;font-size:12px;font-weight:700;margin-bottom:12px;color:#5c5c5c}.ahr-home-search input{width:100%;border:0!important;background:transparent!important;text-align:center;font-family:inherit;color:#8a7568;font-size:40px;line-height:1;outline:none!important}.ahr-home-search input[name="persons"]{max-width:90px;margin:0 auto;display:block}.ahr-home-search__submit{border:0;background:#7d6255;color:#fff;text-transform:uppercase;letter-spacing:1.6px;font-weight:800;cursor:pointer;font-family:"Poppins",Arial,sans-serif;transition:.2s ease}.ahr-home-search__submit:hover{filter:brightness(1.07)}
.ahr-popup{position:fixed;inset:0;z-index:999999;display:none}.ahr-popup.is-open{display:block}.ahr-popup__backdrop{position:absolute;inset:0;background:rgba(35,28,24,.62);backdrop-filter:blur(3px)}.ahr-popup__dialog{position:relative;width:min(720px,calc(100% - 28px));max-height:calc(100vh - 40px);overflow:auto;margin:20px auto;background:#fff;padding:34px;box-shadow:0 30px 90px rgba(0,0,0,.3)}.ahr-popup__dialog h2{margin:0 0 8px;color:#6d5a4e;font-size:34px}.ahr-popup__dialog>p{margin:0 0 22px;color:#6b625d}.ahr-popup__close{position:absolute;right:14px;top:10px;border:0;background:transparent;color:#6d5a4e;font-size:34px;line-height:1;cursor:pointer}.ahr-popup .ahr-box{box-shadow:none;margin:0}.ahr-popup .ahr-box--full{padding:26px}.ahr-popup .ahr-notice{display:none}
.flatpickr-calendar{font-family:"Poppins",Arial,sans-serif!important;border:0!important;border-radius:0!important;box-shadow:0 18px 45px rgba(0,0,0,.18)!important;overflow:hidden!important}.flatpickr-months{background:#8f7665!important;color:#fff!important;padding:10px 0!important}.flatpickr-current-month,.flatpickr-current-month input.cur-year,.flatpickr-current-month .flatpickr-monthDropdown-months{color:#fff!important;font-family:"Poppins",Arial,sans-serif!important;font-weight:600!important}.flatpickr-weekdays{background:#8f7665!important}span.flatpickr-weekday{color:rgba(255,255,255,.85)!important;font-family:"Poppins",Arial,sans-serif!important;font-size:11px!important;letter-spacing:1px!important;text-transform:uppercase!important}.flatpickr-day{border-radius:0!important;color:#5c5c5c!important;font-family:"Poppins",Arial,sans-serif!important}.flatpickr-day:hover{background:#f1ece8!important;border-color:#f1ece8!important}.flatpickr-day.today{border-color:#8f7665!important;color:#8f7665!important;font-weight:700!important}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange{background:#8f7665!important;border-color:#8f7665!important;color:#fff!important}.flatpickr-day.disabled,.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay{color:rgba(0,0,0,.25)!important}.flatpickr-prev-month svg,.flatpickr-next-month svg{fill:#fff!important}.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after{border-bottom-color:#8f7665!important}
@media(max-width:767px){.ahr-box{width:100%;max-width:100%;overflow:visible}.ahr-grid{grid-template-columns:1fr!important}.ahr-home-search{grid-template-columns:1fr;margin:0 18px}.ahr-home-search__fields{grid-template-columns:1fr}.ahr-home-search label{padding:22px 24px;border-right:0;border-bottom:1px solid #eee}.ahr-home-search input{font-size:28px}.ahr-home-search__submit{padding:18px 16px}.ahr-popup__dialog{width:calc(100% - 22px);padding:24px 18px;margin:11px auto;max-height:calc(100vh - 22px)}.ahr-popup__dialog h2{font-size:27px}.flatpickr-calendar{width:calc(100vw - 36px)!important;max-width:360px!important;left:18px!important;right:auto!important}.flatpickr-innerContainer,.flatpickr-rContainer,.flatpickr-days,.dayContainer{width:100%!important;min-width:100%!important;max-width:100%!important}.flatpickr-day{max-width:14.285%!important;flex-basis:14.285%!important}.flatpickr-current-month{left:0!important;width:100%!important;padding:7px 42px 0!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;font-size:18px!important}.flatpickr-current-month .numInputWrapper{width:70px!important}.flatpickr-current-month input.cur-year{font-size:18px!important}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{height:44px!important;padding:12px!important}.flatpickr-monthDropdown-months{max-width:150px!important;text-align:center!important}}

/* =========================================================
   V3.3: [ahr_home_search] im echten ND-Booking-Look
========================================================= */
.ahr-home-search--nd,
.ahr-home-search--nd *{
  box-sizing:border-box;
  font-family:"Poppins",Arial,sans-serif!important;
}
.ahr-home-search--nd{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 300px!important;
  width:100%;
  max-width:1220px;
  min-height:150px;
  margin:0 auto;
  padding:18px 26px;
  background:rgba(113,93,85,.78)!important;
  box-shadow:0 24px 55px rgba(0,0,0,.18);
  color:#5c5c5c;
  position:relative;
  z-index:30;
}
.ahr-home-search--nd .ahr-home-search__panel{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  background:#fff;
  min-height:118px;
}
.ahr-home-search--nd .ahr-home-search__date,
.ahr-home-search--nd .ahr-home-search__persons{
  appearance:none;
  border:0;
  border-right:1px solid rgba(92,92,92,.10);
  border-radius:0;
  background:#fff;
  min-height:118px;
  padding:28px 34px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#5c5c5c;
  cursor:pointer;
  position:relative;
}
.ahr-home-search--nd .ahr-home-search__persons{cursor:default;}
.ahr-home-search--nd .ahr-home-search__label{
  display:block;
  margin:0 0 13px;
  color:#5c5c5c;
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:3px!important;
  text-transform:uppercase;
  line-height:1.2;
  white-space:nowrap;
}
.ahr-home-search--nd .ahr-home-search__value,
.ahr-home-search--nd .ahr-home-search__person-row{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  gap:9px;
  min-height:55px;
  color:#8a7568;
}
.ahr-home-search--nd .ahr-home-search__value strong,
.ahr-home-search--nd .ahr-home-search__person-row strong{
  display:block;
  color:#8a7568;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:45px;
  font-weight:400;
  line-height:.95;
  letter-spacing:0;
}
.ahr-home-search--nd .ahr-home-search__value em{
  display:block;
  margin-top:4px;
  color:#8a7568;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:15px;
  font-style:normal;
  line-height:1;
  white-space:nowrap;
}
.ahr-home-search--nd .ahr-home-search__value i{
  display:block;
  margin-top:22px;
  color:#8a7568;
  font-size:18px;
  line-height:1;
  font-style:normal;
  opacity:.85;
}
.ahr-home-search--nd .ahr-home-search__person-row{
  align-items:center;
}
.ahr-home-search--nd .ahr-home-search__person-controls{
  display:flex;
  flex-direction:column;
  gap:2px;
  margin-left:3px;
}
.ahr-home-search--nd .ahr-home-search__person-controls button{
  appearance:none;
  border:0!important;
  background:transparent!important;
  color:#8a7568!important;
  width:20px;
  height:18px;
  padding:0!important;
  line-height:1;
  font-size:18px;
  cursor:pointer;
  opacity:.8;
}
.ahr-home-search--nd .ahr-home-search__hidden-date,
.ahr-home-search--nd .ahr-home-search__hidden-persons{
  position:absolute!important;
  left:50%!important;
  bottom:16px!important;
  width:1px!important;
  height:1px!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  opacity:0!important;
  pointer-events:none!important;
}
.ahr-home-search--nd .ahr-home-search__submit{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:118px;
  border:0!important;
  border-radius:0!important;
  background:rgba(113,93,85,.92)!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:800!important;
  letter-spacing:1.6px!important;
  text-transform:uppercase!important;
  cursor:pointer;
  transition:background .25s ease,filter .25s ease;
}
.ahr-home-search--nd .ahr-home-search__submit:hover{background:#5f4e47!important;filter:none!important;}

/* Kalender-Animation & grafisch stabiler Header */
.flatpickr-calendar{
  animation:ahrDatepickerFade .22s ease both;
  overflow:hidden!important;
}
@keyframes ahrDatepickerFade{
  from{opacity:0;transform:translateY(8px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
.flatpickr-months{padding:12px 0 8px!important;}
.flatpickr-month{height:44px!important;}
.flatpickr-current-month{
  padding-top:5px!important;
  height:44px!important;
  left:13%!important;
  width:74%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  font-size:18px!important;
}
.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year{
  font-size:18px!important;
  font-weight:700!important;
  letter-spacing:.3px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.flatpickr-current-month input.cur-year{width:72px!important;padding:0!important;}
.flatpickr-prev-month,.flatpickr-next-month{top:13px!important;height:34px!important;padding:8px!important;}

@media(max-width:767px){
  .ahr-home-search--nd{
    grid-template-columns:1fr!important;
    width:calc(100% - 32px);
    min-height:0;
    padding:14px;
    margin:0 auto;
  }
  .ahr-home-search--nd .ahr-home-search__panel{
    grid-template-columns:1fr;
    min-height:0;
  }
  .ahr-home-search--nd .ahr-home-search__date,
  .ahr-home-search--nd .ahr-home-search__persons{
    min-height:98px;
    padding:22px 26px;
    border-right:0;
    border-bottom:1px solid rgba(92,92,92,.10);
  }
  .ahr-home-search--nd .ahr-home-search__value strong,
  .ahr-home-search--nd .ahr-home-search__person-row strong{
    font-size:40px;
  }
  .ahr-home-search--nd .ahr-home-search__submit{
    min-height:82px;
    padding:22px 18px;
  }
  .flatpickr-calendar{
    width:calc(100vw - 44px)!important;
    max-width:360px!important;
    left:22px!important;
    right:auto!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .flatpickr-innerContainer,.flatpickr-rContainer,.flatpickr-days,.dayContainer{
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
  }
  .flatpickr-current-month{
    left:15%!important;
    width:70%!important;
    height:42px!important;
    padding:5px 36px 0!important;
    gap:6px!important;
  }
  .flatpickr-current-month .flatpickr-monthDropdown-months,
  .flatpickr-current-month input.cur-year{
    font-size:16px!important;
  }
  .flatpickr-current-month input.cur-year{width:64px!important;}
  .flatpickr-day{
    max-width:14.285%!important;
    flex-basis:14.285%!important;
    height:39px!important;
    line-height:39px!important;
  }
  .flatpickr-prev-month{left:8px!important;}
  .flatpickr-next-month{right:8px!important;}
}

/* V0.4.5: eigenständige, einlagige Startseitenleiste */
.ahr-home-search.ahr-home-search--nd{
  width:calc(100% - 40px)!important;
  max-width:1080px!important;
  min-height:0!important;
  margin:0 auto!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:0 16px 38px rgba(49,35,29,.20)!important;
}
.ahr-home-search--nd .ahr-home-search__panel{
  min-height:96px!important;
  background:transparent!important;
}
.ahr-home-search--nd .ahr-home-search__date{
  min-height:96px!important;
  padding:18px 24px!important;
  background:rgba(113,93,85,.94)!important;
  border-right:1px solid rgba(255,255,255,.13)!important;
}
.ahr-home-search--nd .ahr-home-search__persons{
  min-height:96px!important;
  padding:18px 24px!important;
  background:#fff!important;
  border-right:0!important;
}
.ahr-home-search--nd .ahr-home-search__date .ahr-home-search__label{
  color:#fff!important;
}
.ahr-home-search--nd .ahr-home-search__date .ahr-home-search__value,
.ahr-home-search--nd .ahr-home-search__date .ahr-home-search__value strong,
.ahr-home-search--nd .ahr-home-search__date .ahr-home-search__value em,
.ahr-home-search--nd .ahr-home-search__date .ahr-home-search__value i{
  color:#f5e9e1!important;
  opacity:1!important;
}
.ahr-home-search--nd .ahr-home-search__persons .ahr-home-search__label,
.ahr-home-search--nd .ahr-home-search__persons .ahr-home-search__person-row,
.ahr-home-search--nd .ahr-home-search__persons .ahr-home-search__person-row strong,
.ahr-home-search--nd .ahr-home-search__persons .ahr-home-search__person-controls button{
  color:#6d625d!important;
}
.ahr-home-search--nd .ahr-home-search__submit{
  min-height:96px!important;
  padding:18px!important;
  background:#766158!important;
  color:#fff!important;
}
.ahr-home-search--nd .ahr-home-search__submit:hover{
  background:#5f4e47!important;
}
@media(max-width:767px){
  .ahr-home-search.ahr-home-search--nd{width:calc(100% - 28px)!important;box-shadow:0 12px 28px rgba(49,35,29,.18)!important}
  .ahr-home-search--nd .ahr-home-search__date,
  .ahr-home-search--nd .ahr-home-search__persons{min-height:82px!important;padding:14px 18px!important}
  .ahr-home-search--nd .ahr-home-search__submit{min-height:66px!important;padding:15px!important}
}

/* Öffentlicher Verfügbarkeitskalender */
.ahr-availability-calendar{max-width:420px;margin:28px auto;padding:26px;background:#fff;box-shadow:0 16px 40px rgba(49,37,30,.12);font-family:"Poppins",Arial,sans-serif;color:#5c5c5c}
.ahr-availability-calendar__header{text-align:center;margin-bottom:18px}
.ahr-availability-calendar__header h3{margin:0 0 6px;font-size:20px;color:#5c5c5c}
.ahr-availability-calendar__header p{margin:0;font-size:13px;color:#81776f}
.ahr-availability-calendar__input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.ahr-availability-calendar .flatpickr-calendar{position:relative!important;top:auto!important;left:auto!important;width:100%!important;max-width:none!important;box-shadow:none!important;margin:0 auto}
.ahr-availability-calendar .flatpickr-rContainer,.ahr-availability-calendar .flatpickr-days,.ahr-availability-calendar .dayContainer{width:100%!important;max-width:none!important;min-width:0!important}
.ahr-availability-calendar .flatpickr-day{max-width:none!important}
.ahr-availability-calendar .flatpickr-day.flatpickr-disabled{background:#eee7e2!important;color:#a99d94!important;text-decoration:line-through;cursor:not-allowed}
.ahr-availability-calendar__legend{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;font-size:12px;color:#81776f}
.ahr-availability-calendar__legend span{width:14px;height:14px;background:#eee7e2;border:1px solid #d8cec7}
.ahr-availability-calendar--error:after{content:"Verfügbarkeit konnte nicht geladen werden.";display:block;text-align:center;color:#a33;margin-top:12px}
.ahr-availability-calendars--all{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:28px;align-items:start;margin:28px auto}
.ahr-availability-calendars--all .ahr-availability-calendar{width:100%;max-width:440px;margin:0 auto;box-sizing:border-box}
@media(max-width:480px){.ahr-availability-calendar{padding:16px;margin:20px auto}}

/* V0.4.3: kompaktere Startseiten-Suche und besserer Datumskontrast */
.ahr-home-search--nd{
  max-width:1080px!important;
  min-height:0!important;
  padding:12px 18px!important;
}
.ahr-home-search--nd .ahr-home-search__panel{
  min-height:96px!important;
}
.ahr-home-search--nd .ahr-home-search__date,
.ahr-home-search--nd .ahr-home-search__persons{
  min-height:96px!important;
  padding:18px 24px!important;
}
.ahr-home-search--nd .ahr-home-search__submit{
  min-height:96px!important;
  padding:18px!important;
}
.ahr-home-search--nd .ahr-home-search__date .ahr-home-search__label{
  color:#fff!important;
}
.ahr-home-search--nd .ahr-home-search__date .ahr-home-search__value strong,
.ahr-home-search--nd .ahr-home-search__date .ahr-home-search__value em,
.ahr-home-search--nd .ahr-home-search__date .ahr-home-search__value i{
  color:#f0e4dc!important;
  opacity:1!important;
  text-shadow:0 1px 1px rgba(55,38,31,.16);
}
.ahr-home-search--nd .ahr-home-search__date .ahr-home-search__value strong{
  font-size:40px!important;
}
.ahr-home-search--nd .ahr-home-search__person-controls button,
.ahr-home-search--nd button[data-ahr-persons]{
  width:20px!important;
  min-width:20px!important;
  max-width:20px!important;
  height:18px!important;
  min-height:18px!important;
  max-height:18px!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  line-height:18px!important;
  flex:0 0 18px!important;
}
.ahr-home-search--nd .ahr-home-search__person-controls{
  height:38px!important;
  min-height:38px!important;
  max-height:38px!important;
  justify-content:center!important;
}
@media(max-width:767px){
  .ahr-home-search--nd{max-width:none!important;padding:10px!important}
  .ahr-home-search--nd .ahr-home-search__date,
  .ahr-home-search--nd .ahr-home-search__persons{min-height:84px!important;padding:15px 20px!important}
  .ahr-home-search--nd .ahr-home-search__submit{min-height:68px!important;padding:16px!important}
  .ahr-home-search--nd .ahr-home-search__date .ahr-home-search__value strong{font-size:36px!important}
}

/* Abschließende Kaskade: kein zweiter Rahmen um die eigentliche Leiste */
.ahr-home-search.ahr-home-search--nd{
  width:calc(100% - 40px)!important;
  max-width:1080px!important;
  min-height:0!important;
  padding:0!important;
  background:transparent!important;
}
@media(max-width:767px){
  .ahr-home-search.ahr-home-search--nd{
    width:calc(100% - 28px)!important;
    max-width:none!important;
    padding:0!important;
  }
}
