/*
Theme Name: Haus Golmen
Theme URI: https://ferien.2-chance.ch/
Author: Haus Golmen
Description: Schlankes WordPress-Theme für die privaten Ferienwohnungen Golmen 2 und Golmen 12 auf der Riederalp.
Version: 5.19.0
Text Domain: haus-golmen
*/
:root{--paper:#f7f5ef;--white:#fff;--ink:#242720;--muted:#6f726a;--green:#66725c;--green-dark:#465143;--line:#dcd9cf;--warm:#b99d7c;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.6}a{color:inherit}img{max-width:100%;height:auto}.wrap{width:min(var(--max),calc(100% - 44px));margin:auto}.serif,h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;color:var(--green);font-weight:700}.site-header{position:sticky;top:0;z-index:30;background:rgba(247,245,239,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.header-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-decoration:none}.brand strong{font-family:Georgia,serif;font-size:1.35rem;font-weight:400}.brand small{display:block;color:var(--muted);font-size:.72rem;letter-spacing:.08em}.main-nav ul{display:flex;gap:24px;align-items:center;list-style:none;margin:0;padding:0}.main-nav li{position:relative}.main-nav a{text-decoration:none;font-size:.9rem}.main-nav .sub-menu{display:none;position:absolute;top:100%;left:-18px;background:var(--paper);border:1px solid var(--line);min-width:220px;padding:12px 0}.main-nav li:hover>.sub-menu{display:block}.main-nav .sub-menu a{display:block;padding:8px 18px}.lang-switch{font-size:.8rem;color:var(--muted)}.hero{height:min(78vh,760px);min-height:520px;position:relative;overflow:hidden;background:#333}.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.5s ease;background-size:cover;background-position:center}.hero-slide.active{opacity:1}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,20,17,.48),rgba(18,20,17,.08) 60%,rgba(18,20,17,.12))}.hero-content{position:relative;z-index:2;height:100%;display:flex;align-items:center;color:#fff}.hero-copy{max-width:650px}.hero h1{font-size:clamp(3rem,7vw,6.3rem);line-height:.98;margin:10px 0 20px}.hero p{font-size:1.15rem;max-width:520px}.intro{padding:78px 0 44px;text-align:center}.intro h2{font-size:clamp(2.2rem,4vw,3.5rem);margin:.3em 0}.intro p{max-width:760px;margin:auto;color:var(--muted)}.private-note{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px;text-align:center;margin-bottom:38px}.private-note strong{font-family:Georgia,serif;font-weight:400;font-size:1.18rem;margin-right:14px}.apt-section{padding:46px 0}.apt-grid{display:grid;grid-template-columns:1.08fr .92fr;align-items:start;background:var(--white)}.apt-section.alt .apt-grid{grid-template-columns:.92fr 1.08fr}.apt-copy{padding:58px 58px 46px;display:flex;flex-direction:column;justify-content:center}.apt-copy h2{font-size:3rem;margin:5px 0 14px}.apt-copy p{color:var(--muted)}.features{display:grid;grid-template-columns:1fr 1fr;gap:9px 22px;margin:18px 0 26px;font-size:.9rem}.features div:before{content:"— ";color:var(--green)}.apt-carousel{position:relative;height:570px;min-height:570px;overflow:hidden;background:#e7e3da}.apt-carousel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s}.apt-carousel img.active{opacity:1}.carousel-btn{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.8);background:rgba(20,20,20,.3);color:#fff;font-size:1.6rem;cursor:pointer}.prev{left:18px}.next{right:18px}.carousel-count{position:absolute;z-index:4;right:18px;bottom:18px;background:rgba(20,20,20,.48);color:#fff;padding:5px 10px;font-size:.78rem}.btn{display:inline-block;text-decoration:none;border:1px solid var(--green-dark);padding:11px 17px;font-size:.86rem}.btn-dark{background:var(--green-dark);color:#fff}.btn-light{background:transparent}.price-line{font-family:Georgia,serif;font-size:1.25rem;margin:10px 0 4px}.protected{display:none}.protected.open{display:block}.access{border-top:1px solid var(--line);margin-top:24px;padding-top:22px}.access-row{display:flex;gap:8px;margin-top:10px}.access input{flex:1;min-width:0;padding:11px;border:1px solid var(--line);font:inherit}.access button{border:0;background:var(--green-dark);color:#fff;padding:11px 16px;cursor:pointer}.access-error{display:none;color:#8a4944;font-size:.82rem;margin-top:7px}.calendar-placeholder{border:1px solid var(--line);padding:20px;margin-top:18px;background:var(--paper)}.calendar-placeholder strong{display:block;font-family:Georgia,serif;font-size:1.2rem}.comparison,.map-section,.tips-preview{padding:82px 0}.comparison h2,.map-section h2,.tips-preview h2{font-size:2.8rem;margin:.2em 0 .7em}.compare-table{width:100%;border-collapse:collapse;background:#fff}.compare-table th,.compare-table td{padding:16px;border-bottom:1px solid var(--line);text-align:left}.compare-table th{font-family:Georgia,serif;font-size:1.2rem;font-weight:400}.map-frame{width:100%;height:480px;border:0}.site-footer{padding:52px 0;border-top:1px solid var(--line);color:var(--muted);font-size:.88rem}.page-hero{padding:92px 0 48px}.page-hero h1{font-size:clamp(3rem,6vw,5rem);margin:.15em 0}.page-content{padding:0 0 80px}.page-content h2{font-size:2.2rem;margin-top:1.7em}.page-content h3{font-size:1.5rem;margin-top:1.5em}.page-content>p,.page-content>ul,.page-content>ol{max-width:820px}.gallery-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:230px;gap:10px;margin:30px 0 50px}.gallery-grid a:first-child{grid-row:span 2}.gallery-grid img{width:100%;height:100%;object-fit:cover}.lightbox{position:fixed;inset:0;background:rgba(12,13,11,.94);z-index:100;display:none;align-items:center;justify-content:center;padding:30px}.lightbox.open{display:flex}.lightbox img{max-width:92vw;max-height:88vh}.lightbox-close{position:absolute;top:18px;right:24px;color:#fff;background:none;border:0;font-size:2.2rem;cursor:pointer}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#fff;padding:26px;border:1px solid var(--line)}.card h3{margin-top:0}.komoot-wrap{margin:18px 0}.komoot-embed{display:none}.komoot-embed.open{display:block}.komoot-embed iframe{width:100%;height:700px;border:0}.jumpnav{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 32px}.jumpnav a{border:1px solid var(--line);padding:7px 10px;text-decoration:none;font-size:.82rem}.notice{padding:18px 20px;background:#fff;border-left:3px solid var(--green);margin:24px 0}.wp-block-image img{height:auto}@media(max-width:850px){.header-inner{height:auto;padding:14px 0;align-items:flex-start}.main-nav ul{gap:12px;flex-wrap:wrap;justify-content:flex-end}.apt-grid,.apt-section.alt .apt-grid{grid-template-columns:1fr}.apt-section.alt .apt-carousel{order:-1}.apt-carousel{height:390px;min-height:390px}.apt-copy{padding:36px 28px}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:190px}.gallery-grid a:first-child{grid-column:span 2}.cards{grid-template-columns:1fr}.map-frame{height:360px}}@media(max-width:560px){.wrap{width:min(var(--max),calc(100% - 28px))}.main-nav{display:none}.hero{min-height:500px}.features{grid-template-columns:1fr}.gallery-grid{display:block}.gallery-grid a{display:block;margin-bottom:8px}.gallery-grid img{height:240px}.private-note strong{display:block;margin:0 0 5px}.access-row{display:block}.access button{width:100%;margin-top:8px}}


/* v0.2: language flags and Tips submenu */
.lang-switch ul{display:flex;align-items:center;gap:10px;list-style:none;margin:0;padding:0}
.lang-switch li{list-style:none;margin:0;padding:0}
.lang-switch a{display:block;line-height:0}
.lang-switch img{display:block;width:24px;height:auto;border:1px solid rgba(0,0,0,.08)}
.main-nav .menu-item-has-children>a:after{content:" ▾";font-size:.7em;color:var(--muted)}
.main-nav .sub-menu{z-index:50}
.main-nav .sub-menu li{width:100%}
.main-nav .sub-menu a{white-space:nowrap}


/* v0.3: robust Tips dropdown + horizontal language switcher */
.site-header .header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.site-header .header-actions{
  display:flex;
  align-items:center;
  gap:20px;
}
.lang-switch,
.lang-switch ul{
  display:flex !important;
  flex-direction:row !important;
  align-items:center;
  gap:9px;
  margin:0;
  padding:0;
  list-style:none;
}
.lang-switch li{
  display:inline-flex !important;
  margin:0 !important;
  padding:0 !important;
}
.lang-switch a{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  line-height:1;
}
.lang-switch img{
  width:24px;
  height:auto;
  display:block;
}

/* Desktop dropdown */
@media (min-width: 851px){
  .main-nav ul{
    display:flex;
    align-items:center;
  }
  .main-nav li{
    position:relative;
  }
  .main-nav li.menu-item-has-children > ul.sub-menu{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    min-width:230px;
    padding:10px 0;
    margin:0;
    background:var(--paper,#fff);
    border:1px solid var(--line,#ddd);
    box-shadow:0 12px 28px rgba(0,0,0,.08);
    z-index:999;
  }
  .main-nav li.menu-item-has-children:hover > ul.sub-menu,
  .main-nav li.menu-item-has-children:focus-within > ul.sub-menu{
    display:block;
  }
  .main-nav .sub-menu li{
    display:block;
    width:100%;
  }
  .main-nav .sub-menu a{
    display:block;
    padding:10px 16px;
    white-space:nowrap;
  }
}

/* On smaller screens, show the Tips children directly below the parent */
@media (max-width: 850px){
  .main-nav .sub-menu{
    display:block !important;
    position:static !important;
    border:0 !important;
    box-shadow:none !important;
    background:transparent !important;
    padding:4px 0 4px 16px !important;
    margin:0 !important;
  }
}


/* v0.4: real MotoPress availability calendars in protected areas */
.hg-booking-panel{margin-top:22px}
.hg-booking-panel h3{font-size:1.45rem;margin:0 0 12px}
.hg-price-box{border-top:1px solid var(--line);padding-top:20px}
.hg-price-table{width:100%;border-collapse:collapse;margin:0 0 12px}
.hg-price-table th,.hg-price-table td{padding:9px 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.hg-price-table th{font-weight:500}
.hg-price-table td{text-align:right;white-space:nowrap}
.hg-price-note{font-size:.84rem;color:var(--muted);margin:7px 0}
.hg-live-calendar{margin-top:28px;border-top:1px solid var(--line);padding-top:22px}

/* MotoPress calendar: keep it visually aligned with the Haus Golmen theme */
.hg-live-calendar .mphb-calendar{max-width:100%}
.hg-live-calendar .datepick{width:100% !important;max-width:100%}
.hg-live-calendar .datepick-month{width:100%;border-color:var(--line);font-family:inherit}
.hg-live-calendar .datepick-month-header{background:var(--green-dark);color:#fff}
.hg-live-calendar .datepick-month td .datepick-day{font-size:.86rem}
.hg-live-calendar .datepick-ctrl{display:none}
.hg-live-calendar .mphb-calendar-title{display:none}
@media(max-width:560px){
  .hg-price-table th,.hg-price-table td{font-size:.86rem}
  .hg-price-table td{white-space:normal}
}


/* v0.5: more compact apartment detail pages */
.apartment-detail .content-section{padding:54px 0}
.apartment-detail .detail-intro{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:46px;
  align-items:start;
}
.apartment-detail .detail-intro h2{font-size:clamp(2rem,3.6vw,3.2rem);margin-bottom:14px}
.apartment-detail .detail-intro p{margin-top:0}
.compact-info-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 26px;
  margin-top:8px;
}
.compact-info-card{
  border-top:1px solid var(--line);
  padding-top:14px;
}
.compact-info-card h3{
  font-family:inherit;
  font-size:1rem;
  letter-spacing:0;
  font-weight:650;
  margin:0 0 6px;
}
.compact-info-card p,.compact-info-card ul{
  margin:0;
  color:var(--muted);
  font-size:.95rem;
}
.compact-info-card ul{padding-left:1.1em}
.apartment-detail .gallery-section{padding-top:40px;padding-bottom:32px}
.apartment-detail .access{margin-top:34px}
@media(max-width:850px){
  .apartment-detail .detail-intro{grid-template-columns:1fr;gap:24px}
  .compact-info-grid{grid-template-columns:1fr}
}


/* v0.6: pre-rendered protected calendars + compact apartment pages */
.protected{display:none}
.protected.open{display:block}
.access .protected{margin-top:28px}

.price-info-grid{margin-top:22px}
.price-info-grid .compact-info-card p span{font-size:.86em;color:var(--muted)}

.page-content > .apartment-detail:first-of-type{margin-top:0}
.apartment-detail{padding:34px 0 26px}
.apartment-detail .detail-intro{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:56px;
  align-items:start;
}
.apartment-detail .detail-intro h2{
  font-size:clamp(3rem,6vw,5.4rem);
  line-height:.95;
  margin-bottom:20px;
}
.apartment-detail .detail-intro p{
  font-size:1.04rem;
  max-width:620px;
}
.compact-info-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px 34px;
}
.compact-info-card{
  border-top:1px solid var(--line);
  padding-top:16px;
}
.compact-info-card h3{
  font-family:inherit;
  font-size:1rem;
  letter-spacing:0;
  font-weight:700;
  margin:0 0 8px;
}
.compact-info-card ul{
  margin:0;
  padding-left:1.1em;
  color:var(--muted);
}
.compact-info-card p{
  margin:0;
  color:var(--muted);
}
.gallery-grid{margin-bottom:36px}
.page-content .access{
  margin-top:32px;
  padding-top:38px;
  border-top:1px solid var(--line);
}
@media(max-width:850px){
  .apartment-detail .detail-intro{grid-template-columns:1fr;gap:28px}
  .compact-info-grid{grid-template-columns:1fr}
}


/* v0.7: Sommer / Herbst */
.summer-intro{max-width:820px;margin:0 0 42px}
.summer-lead{font-size:1.18rem;line-height:1.65;color:var(--muted)}
.summer-section{margin:0 0 72px}
.section-heading-compact{margin-bottom:26px}
.section-heading-compact h2{margin:7px 0 0;font-size:clamp(2rem,4vw,3.2rem)}
.tour-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.tour-card{
  border:1px solid var(--line);
  background:rgba(255,255,255,.38);
  padding:26px;
}
.tour-card-head{display:flex;gap:18px;align-items:flex-start;margin-bottom:20px}
.tour-number{
  flex:0 0 42px;
  width:42px;height:42px;
  border:1px solid var(--line);
  border-radius:50%;
  display:grid;place-items:center;
  font-family:Georgia,serif;
  font-size:1.05rem;
}
.tour-card h3{margin:0 0 6px;font-size:1.45rem}
.tour-card p{margin:0;color:var(--muted);font-size:.95rem}
.tour-card .komoot-embed{margin-top:20px}
.tour-card .komoot-embed iframe{width:100%;min-height:520px;border:0}
.excursion-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.excursion-card{
  border-top:1px solid var(--line);
  padding:20px 4px 8px 0;
}
.excursion-card h3{margin:0 0 8px;font-size:1.2rem}
.excursion-card p{margin:0 0 10px;color:var(--muted);font-size:.95rem}
.excursion-card a{font-size:.92rem}
@media(max-width:900px){
  .tour-grid{grid-template-columns:1fr}
  .excursion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .excursion-grid{grid-template-columns:1fr}
  .tour-card{padding:20px}
}


/* v0.8: direct booking request below availability calendar */
.hg-booking-form{
  margin-top:34px;
  padding-top:30px;
  border-top:1px solid var(--line);
}
.hg-booking-form h3{
  margin:6px 0 8px;
  font-size:clamp(1.55rem,3vw,2.15rem);
}
.hg-booking-intro{
  max-width:760px;
  color:var(--muted);
  margin:0 0 22px;
}
.hg-booking-note{
  margin:18px 0 0;
  padding-top:15px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:.9rem;
}
.hg-booking-form .mphb-reserve-room-section,
.hg-booking-form .mphb-regular-price,
.hg-booking-form .mphb-room-type-title{
  max-width:100%;
}
.hg-booking-form input,
.hg-booking-form select{
  min-height:44px;
}
.hg-booking-form input[type="submit"],
.hg-booking-form button,
.hg-booking-form .button{
  min-height:44px;
}
.hg-booking-form .mphb-rooms-quantity-wrapper,
.hg-booking-form .mphb-adults-wrapper,
.hg-booking-form .mphb-children-wrapper{
  margin-bottom:12px;
}


/* v0.9: keep MotoPress calendar/form rendered and measurable during initialization */
.js .access .protected.hg-locked{
  visibility:hidden;
  opacity:0;
  position:absolute;
  left:-10000px;
  top:auto;
  width:min(1200px, calc(100vw - 40px));
  pointer-events:none;
}
.js .access .protected.hg-locked.open{
  visibility:visible;
  opacity:1;
  position:static;
  width:auto;
  pointer-events:auto;
}
.no-js .access .protected{display:none}
.hg-live-calendar .datepick-month td a,
.hg-live-calendar .datepick-month td .datepick-day{
  cursor:pointer;
}


/* v1.0: reliable MotoPress initialization + compact booking form layout */
html.js .access .protected.hg-locked{
  display:block !important;
  visibility:hidden !important;
  opacity:0 !important;
  position:absolute !important;
  left:-9999px !important;
  top:0 !important;
  width:1180px !important;
  max-width:1180px !important;
  height:auto !important;
  overflow:visible !important;
  pointer-events:none !important;
}
html.js .access .protected.hg-locked.open{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  position:static !important;
  left:auto !important;
  top:auto !important;
  width:auto !important;
  max-width:none !important;
  pointer-events:auto !important;
}

/* Make the MotoPress form airy but compact */
.hg-booking-form form,
.hg-booking-form .mphb-booking-form{
  max-width:900px;
}
.hg-booking-form .mphb-required-fields-tip{
  display:none;
}
.hg-booking-form .mphb-check-in-date-wrapper,
.hg-booking-form .mphb-check-out-date-wrapper,
.hg-booking-form .mphb-adults-wrapper,
.hg-booking-form .mphb-children-wrapper{
  display:inline-block;
  width:calc(50% - 12px);
  vertical-align:top;
  margin:0 20px 16px 0;
}
.hg-booking-form .mphb-check-out-date-wrapper,
.hg-booking-form .mphb-children-wrapper{
  margin-right:0;
}
.hg-booking-form label{
  display:block;
  font-weight:650;
  margin-bottom:7px;
}
.hg-booking-form input[type="text"],
.hg-booking-form input[type="date"],
.hg-booking-form select{
  width:100% !important;
  min-width:180px;
  min-height:48px;
  padding:10px 12px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.58);
  font:inherit;
}
.hg-booking-form select{
  min-width:210px;
}
.hg-booking-form input[type="submit"],
.hg-booking-form button,
.hg-booking-form .button{
  margin-top:8px;
  min-height:48px;
  padding:12px 22px;
}
.hg-booking-form .mphb-errors-wrapper,
.hg-booking-form .mphb_sc_checkout-errors-wrapper,
.hg-booking-form .mphb-reserve-room-section{
  clear:both;
}
@media(max-width:680px){
  .hg-booking-form .mphb-check-in-date-wrapper,
  .hg-booking-form .mphb-check-out-date-wrapper,
  .hg-booking-form .mphb-adults-wrapper,
  .hg-booking-form .mphb-children-wrapper{
    display:block;
    width:100%;
    margin-right:0;
  }
}


/* v1.1: MotoPress availability form — actual markup uses <p> wrappers */
.hg-booking-form .mphb-booking-form{
  display:grid !important;
  grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) !important;
  column-gap:28px !important;
  row-gap:18px !important;
  max-width:760px !important;
  align-items:end !important;
}
.hg-booking-form .mphb-booking-form > p{
  margin:0 !important;
  width:auto !important;
  max-width:none !important;
  float:none !important;
  clear:none !important;
}
.hg-booking-form .mphb-booking-form > p:nth-of-type(1){grid-column:1 !important;}
.hg-booking-form .mphb-booking-form > p:nth-of-type(2){grid-column:2 !important;}
.hg-booking-form .mphb-booking-form > p:nth-of-type(3){grid-column:1 !important;}
.hg-booking-form .mphb-booking-form > p:nth-of-type(4){grid-column:2 !important;}
.hg-booking-form .mphb-booking-form > p:nth-of-type(5),
.hg-booking-form .mphb-booking-form > p:last-of-type{
  grid-column:1 / -1 !important;
}
.hg-booking-form .mphb-booking-form label{
  display:block !important;
  margin:0 0 7px !important;
}
.hg-booking-form .mphb-booking-form input[type="text"],
.hg-booking-form .mphb-booking-form input[type="date"],
.hg-booking-form .mphb-booking-form select{
  display:block !important;
  box-sizing:border-box !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  height:48px !important;
}
.hg-booking-form .mphb-booking-form select{
  min-width:220px !important;
}
.hg-booking-form .mphb-booking-form input[type="submit"]{
  width:auto !important;
  min-width:210px !important;
}
@media(max-width:700px){
  .hg-booking-form .mphb-booking-form{
    grid-template-columns:1fr !important;
  }
  .hg-booking-form .mphb-booking-form > p{
    grid-column:1 !important;
  }
}


/* v1.2 booking section */
.hg-booking-form{
  margin-top:42px;
}
.hg-booking-form > h3{
  margin-bottom:10px;
}
.hg-booking-form .hg-live-calendar{
  margin:26px 0 34px;
}
.hg-booking-form .hg-live-calendar > h3{
  display:none !important;
}

/* MotoPress: explicit field placement */
.hg-booking-form .mphb-booking-form{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:18px 28px !important;
  max-width:820px !important;
  align-items:end !important;
}
.hg-booking-form .mphb-booking-form .mphb-check-in-date-wrapper{
  grid-column:1 !important;
  grid-row:1 !important;
}
.hg-booking-form .mphb-booking-form .mphb-check-out-date-wrapper{
  grid-column:2 !important;
  grid-row:1 !important;
}
.hg-booking-form .mphb-booking-form .mphb-adults-wrapper{
  grid-column:1 !important;
  grid-row:2 !important;
}
.hg-booking-form .mphb-booking-form .mphb-children-wrapper{
  grid-column:2 !important;
  grid-row:2 !important;
}
.hg-booking-form .mphb-booking-form .mphb-reserve-btn-wrapper,
.hg-booking-form .mphb-booking-form .mphb-reserve-room-section,
.hg-booking-form .mphb-booking-form .mphb-errors-wrapper,
.hg-booking-form .mphb-booking-form .mphb-price-breakdown,
.hg-booking-form .mphb-booking-form > p:not(.mphb-check-in-date-wrapper):not(.mphb-check-out-date-wrapper):not(.mphb-adults-wrapper):not(.mphb-children-wrapper){
  grid-column:1 / -1 !important;
}
.hg-booking-form .mphb-check-in-date-wrapper,
.hg-booking-form .mphb-check-out-date-wrapper,
.hg-booking-form .mphb-adults-wrapper,
.hg-booking-form .mphb-children-wrapper{
  display:block !important;
  width:auto !important;
  margin:0 !important;
}
.hg-booking-form .mphb-booking-form input[type="text"],
.hg-booking-form .mphb-booking-form input[type="date"],
.hg-booking-form .mphb-booking-form select{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  height:50px !important;
  box-sizing:border-box !important;
}
.hg-booking-form .mphb-booking-form select{
  min-width:0 !important;
}
.hg-price-help{
  max-width:820px;
  margin:22px 0 0;
  padding:16px 18px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.38);
}
.hg-booking-note{
  max-width:820px;
}

/* Friendlier wording: hide generic MotoPress fee heading when present.
   The configured fee name "Pauschale pro Person" remains visible. */
.hg-booking-form .mphb-fees-details-title,
.hg-booking-form .mphb-price-breakdown-fees-title{
  display:none !important;
}

@media(max-width:700px){
  .hg-booking-form .mphb-booking-form{
    grid-template-columns:1fr !important;
  }
  .hg-booking-form .mphb-booking-form .mphb-check-in-date-wrapper,
  .hg-booking-form .mphb-booking-form .mphb-check-out-date-wrapper,
  .hg-booking-form .mphb-booking-form .mphb-adults-wrapper,
  .hg-booking-form .mphb-booking-form .mphb-children-wrapper{
    grid-column:1 !important;
    grid-row:auto !important;
  }
}


/* v1.3: repair MotoPress field order and dropdown widths.
   Actual MotoPress markup includes an extra first <p>, so the usable fields are p2-p5. */
.hg-booking-form .mphb-booking-form{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) !important;
  column-gap:28px !important;
  row-gap:18px !important;
  max-width:820px !important;
  align-items:end !important;
}

/* Reset older rules */
.hg-booking-form .mphb-booking-form > p{
  float:none !important;
  clear:none !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  box-sizing:border-box !important;
}

/* Hidden/intro paragraph, if MotoPress outputs one */
.hg-booking-form .mphb-booking-form > p:nth-of-type(1){
  grid-column:1 / -1 !important;
  grid-row:auto !important;
}

/* Correct visible order */
.hg-booking-form .mphb-booking-form > p:nth-of-type(2){
  grid-column:1 !important;
  grid-row:1 !important;
}
.hg-booking-form .mphb-booking-form > p:nth-of-type(3){
  grid-column:2 !important;
  grid-row:1 !important;
}
.hg-booking-form .mphb-booking-form > p:nth-of-type(4){
  grid-column:1 !important;
  grid-row:2 !important;
}
.hg-booking-form .mphb-booking-form > p:nth-of-type(5){
  grid-column:2 !important;
  grid-row:2 !important;
}

/* Button / result / messages below both columns */
.hg-booking-form .mphb-booking-form > p:nth-of-type(n+6),
.hg-booking-form .mphb-booking-form .mphb-errors-wrapper,
.hg-booking-form .mphb-booking-form .mphb-reserve-room-section,
.hg-booking-form .mphb-booking-form .mphb-price-breakdown{
  grid-column:1 / -1 !important;
}

.hg-booking-form .mphb-booking-form label{
  display:block !important;
  margin:0 0 7px !important;
}
.hg-booking-form .mphb-booking-form input[type="text"],
.hg-booking-form .mphb-booking-form input[type="date"],
.hg-booking-form .mphb-booking-form select{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:50px !important;
  box-sizing:border-box !important;
  position:relative !important;
  z-index:1 !important;
}

/* Dropdowns: never overlap neighbouring column */
.hg-booking-form .mphb-booking-form select{
  min-width:0 !important;
  max-width:100% !important;
}

@media(max-width:700px){
  .hg-booking-form .mphb-booking-form{
    grid-template-columns:1fr !important;
  }
  .hg-booking-form .mphb-booking-form > p{
    grid-column:1 !important;
    grid-row:auto !important;
  }
}


/* v1.4: lock guest-count selectors on MotoPress confirmation/checkout page */
.hg-locked-select{
  pointer-events:none !important;
  background:rgba(0,0,0,.035) !important;
  color:var(--text) !important;
  border-color:var(--line) !important;
}
.hg-guests-locked-row label::after{
  content:" übernommen";
  font-weight:400;
  color:var(--muted);
  font-size:.85em;
  margin-left:.35em;
}


/* v1.5: Winter page, improved map, desktop checkout */
.winter-section{margin:0 0 64px}.winter-piste{margin-top:8px}.piste-image-link{display:block;background:#fff;border:1px solid var(--line);padding:10px}.piste-image{display:block;width:100%;height:auto}.winter-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.winter-card{background:#fff;border:1px solid var(--line);padding:28px}.winter-card h3{margin-top:0}.winter-card a,.excursion-card a{color:var(--green-dark);font-weight:600;text-underline-offset:3px}.map-actions{margin-top:14px}
@media(min-width:900px){
 body.mphb-checkout-page .mphb_sc_checkout-wrapper, body .mphb_sc_checkout-wrapper{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.78fr);gap:48px;align-items:start}
 .mphb_sc_checkout-wrapper .mphb-checkout-section:not(.mphb-room-details),.mphb_sc_checkout-wrapper .mphb-customer-details{grid-column:1}
 .mphb_sc_checkout-wrapper .mphb-room-details,.mphb_sc_checkout-wrapper .mphb-booking-details{grid-column:2;grid-row:1 / span 8}
}
@media(max-width:899px){.winter-grid{grid-template-columns:1fr}}


/* v1.6: Komoot route on homepage instead of Google Maps */
.hg-location-section{
  padding:72px 0;
}
.hg-location-section .hg-section-inner{
  width:min(1180px, calc(100% - 40px));
  margin:0 auto;
}
.hg-komoot-home{
  margin-top:24px;
  overflow:hidden;
  border-radius:10px;
}
.hg-komoot-home iframe{
  display:block;
  width:100%;
  min-height:620px;
  border:0;
}
.hg-location-note{
  margin:16px 0 10px;
  color:var(--muted, #666);
}
.hg-location-link{
  margin:0;
}
@media(max-width:700px){
  .hg-location-section{
    padding:48px 0;
  }
  .hg-komoot-home iframe{
    height:560px;
    min-height:560px;
  }
}


/* v1.7: final booking-flow polish */

/* Primary booking action must clearly look active */
.mphb_sc_checkout-submit-wrapper input[type="submit"],
.mphb_sc_checkout-submit-wrapper button,
.mphb-confirm-reservation,
input[value="Reservierung bestätigen"],
button[value="Reservierung bestätigen"]{
  opacity:1 !important;
  filter:none !important;
  font-weight:700 !important;
  border-width:2px !important;
  box-shadow:0 5px 16px rgba(0,0,0,.16) !important;
  transform:none;
}
.mphb_sc_checkout-submit-wrapper input[type="submit"]:hover,
.mphb_sc_checkout-submit-wrapper button:hover,
.mphb-confirm-reservation:hover{
  box-shadow:0 7px 20px rgba(0,0,0,.22) !important;
  transform:translateY(-1px);
}

/* Desktop checkout: personal information first/left, booking details second/right.
   Mobile remains in the natural single-column flow. */
@media(min-width:901px){
  .mphb_sc_checkout-wrapper,
  .mphb-checkout-section{
    min-width:0;
  }

  /* Common MotoPress checkout container: use grid where sections are direct children. */
  form.mphb_sc_checkout-form,
  .mphb_sc_checkout-form{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:28px 42px;
    align-items:start;
  }

  /* Customer details / "Deine Informationen" on the left */
  .mphb_sc_checkout-form .mphb-customer-details,
  .mphb_sc_checkout-form .mphb-customer-details-wrapper,
  .mphb_sc_checkout-form .mphb_sc_checkout-customer-details{
    grid-column:1 !important;
    grid-row:1 !important;
  }

  /* Booking/accommodation details on the right */
  .mphb_sc_checkout-form .mphb-booking-details,
  .mphb_sc_checkout-form .mphb-room-details,
  .mphb_sc_checkout-form .mphb-reserve-rooms-details,
  .mphb_sc_checkout-form .mphb_sc_checkout-services-list{
    grid-column:2 !important;
  }

  /* Totals, terms and final action span the full width unless nested in details */
  .mphb_sc_checkout-form .mphb-price-breakdown,
  .mphb_sc_checkout-form .mphb-total-price,
  .mphb_sc_checkout-form .mphb_sc_checkout-submit-wrapper,
  .mphb_sc_checkout-form .mphb-terms-and-conditions{
    grid-column:1 / -1 !important;
  }
}

/* Remove the redundant outer H1 on apartment pages; the apartment heading in the content remains. */
body.page-golmen-2 main > .entry-header,
body.page-golmen-12 main > .entry-header,
body.page-golmen-2 .site-main > .entry-header,
body.page-golmen-12 .site-main > .entry-header{
  display:none !important;
}


/* v1.8: guest selectors are interactive on apartment booking pages */
.hg-booking-form .hg-locked-select,
.hg-booking-form select,
.hg-booking-form input{
  pointer-events:auto !important;
}
.hg-booking-form select.hg-locked-select{
  background:initial !important;
  box-shadow:initial !important;
}

/* Prices block should visually read as the final information block */
.hg-protected .hg-price-card,
.hg-protected-content .hg-price-card,
.hg-private-content .hg-price-card{
  margin-top:32px;
}


/* v1.9: desktop checkout in three columns:
   1) Deine Informationen
   2) Deine Buchungsdetails
   3) Preis + Reservierung bestätigen
   Mobile stays stacked. */

@media (min-width: 1000px){
  .mphb_sc_checkout-form{
    display:grid !important;
    grid-template-columns:minmax(0,1.05fr) minmax(0,1.15fr) minmax(280px,.8fr) !important;
    gap:30px 36px !important;
    align-items:start !important;
  }

  /* Left: customer information */
  .mphb_sc_checkout-form .mphb-customer-details,
  .mphb_sc_checkout-form .mphb-customer-details-wrapper,
  .mphb_sc_checkout-form .mphb_sc_checkout-customer-details{
    grid-column:1 !important;
    grid-row:1 !important;
    min-width:0 !important;
  }

  /* Middle: booking details */
  .mphb_sc_checkout-form .mphb-booking-details,
  .mphb_sc_checkout-form .mphb-room-details,
  .mphb_sc_checkout-form .mphb-reserve-rooms-details,
  .mphb_sc_checkout-form .mphb_sc_checkout-services-list,
  .mphb_sc_checkout-form .mphb-room-type,
  .mphb_sc_checkout-form .mphb-checkout-section:not(.mphb-customer-details):not(.mphb-price-breakdown){
    grid-column:2 !important;
    min-width:0 !important;
  }

  /* Right: price */
  .mphb_sc_checkout-form .mphb-price-breakdown,
  .mphb_sc_checkout-form .mphb-total-price,
  .mphb_sc_checkout-form .mphb-total-price-wrapper,
  .mphb_sc_checkout-form .mphb_sc_checkout-price-breakdown{
    grid-column:3 !important;
    grid-row:1 !important;
    min-width:0 !important;
    align-self:start !important;
  }

  /* Terms + confirm button in the right column below price */
  .mphb_sc_checkout-form .mphb-terms-and-conditions,
  .mphb_sc_checkout-form .mphb_sc_checkout-submit-wrapper{
    grid-column:3 !important;
    min-width:0 !important;
  }

  /* Give the right column a compact card feel if MotoPress doesn't already */
  .mphb_sc_checkout-form .mphb-price-breakdown{
    padding:22px !important;
    border:1px solid var(--line, #ddd) !important;
    border-radius:10px !important;
    background:#fff !important;
  }

  /* Make the final total visually clear */
  .mphb_sc_checkout-form .mphb-total-price,
  .mphb_sc_checkout-form .mphb-total-price-wrapper,
  .mphb_sc_checkout-form .mphb-price-breakdown-total{
    font-weight:700 !important;
    font-size:1.15em !important;
  }

  /* Primary action sits full width in price column */
  .mphb_sc_checkout-form .mphb_sc_checkout-submit-wrapper input[type="submit"],
  .mphb_sc_checkout-form .mphb_sc_checkout-submit-wrapper button{
    width:100% !important;
    min-height:52px !important;
  }
}

/* Mobile/tablet: natural stacked order */
@media (max-width: 999px){
  .mphb_sc_checkout-form{
    display:block !important;
  }
  .mphb_sc_checkout-form > *{
    width:100% !important;
    max-width:none !important;
  }
}


/* v2.0 HOTFIX — undo v1.9 grid that compressed MotoPress checkout */
@media (min-width:1000px){
  form.mphb_sc_checkout-form,
  .mphb_sc_checkout-form{
    display:block !important;
    width:100% !important;
    max-width:none !important;
  }

  .mphb_sc_checkout-form > *,
  .mphb_sc_checkout-form .mphb-customer-details,
  .mphb_sc_checkout-form .mphb-customer-details-wrapper,
  .mphb_sc_checkout-form .mphb_sc_checkout-customer-details,
  .mphb_sc_checkout-form .mphb-booking-details,
  .mphb_sc_checkout-form .mphb-room-details,
  .mphb_sc_checkout-form .mphb-reserve-rooms-details,
  .mphb_sc_checkout-form .mphb_sc_checkout-services-list,
  .mphb_sc_checkout-form .mphb-price-breakdown,
  .mphb_sc_checkout-form .mphb-total-price,
  .mphb_sc_checkout-form .mphb-total-price-wrapper,
  .mphb_sc_checkout-form .mphb_sc_checkout-price-breakdown,
  .mphb_sc_checkout-form .mphb-terms-and-conditions,
  .mphb_sc_checkout-form .mphb_sc_checkout-submit-wrapper{
    grid-column:auto !important;
    grid-row:auto !important;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
  }

  /* Our JS creates these three safe wrappers after MotoPress has rendered. */
  .hg-checkout-columns{
    display:grid !important;
    grid-template-columns:minmax(300px,1fr) minmax(340px,1.15fr) minmax(280px,.8fr) !important;
    gap:42px !important;
    align-items:start !important;
    width:100% !important;
    margin-top:28px !important;
  }
  .hg-checkout-col{
    min-width:0 !important;
    width:100% !important;
  }
  .hg-checkout-col input,
  .hg-checkout-col select,
  .hg-checkout-col textarea{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }
  .hg-checkout-price{
    padding:24px !important;
    border:1px solid var(--line,#ddd) !important;
    border-radius:10px !important;
    background:#fff !important;
  }
  .hg-checkout-price .mphb_sc_checkout-submit-wrapper input[type="submit"],
  .hg-checkout-price .mphb_sc_checkout-submit-wrapper button{
    width:100% !important;
    min-height:52px !important;
    font-weight:700 !important;
  }
}
@media(max-width:999px){
  .hg-checkout-columns{display:block !important;}
  .hg-checkout-col{margin-bottom:28px !important;}
}

/* Logged-in WP greeting is irrelevant to guests on the booking page. */
.hg-hide-checkout-login{display:none !important;}


/* v2.1: remove duplicate outer title on apartment pages and pull gallery upward */
body.page-id-64 .entry-header,
body.page-id-66 .entry-header,
body.page-template-default.page-id-64 .entry-header,
body.page-template-default.page-id-66 .entry-header,
body.page-golmen-2 .entry-header,
body.page-golmen-12 .entry-header,
body[class*="golmen-2"] .entry-header,
body[class*="golmen-12"] .entry-header{
  display:none !important;
  margin:0 !important;
  padding:0 !important;
  height:0 !important;
}

/* Remove the vertical space that belonged to the outer title */
body.page-id-64 main,
body.page-id-66 main,
body.page-golmen-2 main,
body.page-golmen-12 main{
  padding-top:0 !important;
  margin-top:0 !important;
}

body.page-id-64 .site-main,
body.page-id-66 .site-main,
body.page-golmen-2 .site-main,
body.page-golmen-12 .site-main{
  padding-top:0 !important;
  margin-top:0 !important;
}

body.page-id-64 .entry-content,
body.page-id-66 .entry-content,
body.page-golmen-2 .entry-content,
body.page-golmen-12 .entry-content{
  margin-top:0 !important;
  padding-top:0 !important;
}

/* Pull the first gallery/hero block upward on apartment pages */
body.page-id-64 .entry-content > :first-child,
body.page-id-66 .entry-content > :first-child,
body.page-golmen-2 .entry-content > :first-child,
body.page-golmen-12 .entry-content > :first-child{
  margin-top:0 !important;
  padding-top:0 !important;
}


/* v2.2: apartment pages no longer render the generic page hero at all */
.apartment-page-content{
  padding-top:32px !important;
}
.apartment-page-content .gallery-grid{
  margin-top:0 !important;
}
@media(max-width:700px){
  .apartment-page-content{
    padding-top:20px !important;
  }
}


/* v2.3: mobile navigation */
.hg-mobile-menu-toggle{display:none;}

@media(max-width:900px){
  .site-header,
  header.site-header,
  #masthead{position:relative;}

  .hg-mobile-menu-toggle{
    display:flex !important;
    width:44px;
    height:44px;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    padding:0;
    border:0;
    background:transparent;
    position:absolute;
    left:16px;
    top:50%;
    transform:translateY(-50%);
    z-index:1002;
    cursor:pointer;
  }

  .hg-mobile-menu-toggle span{
    display:block;
    width:24px;
    height:2px;
    background:currentColor;
    border-radius:2px;
    transition:transform .2s ease, opacity .2s ease;
  }

  body.hg-mobile-menu-open .hg-mobile-menu-toggle span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
  }
  body.hg-mobile-menu-open .hg-mobile-menu-toggle span:nth-child(2){opacity:0;}
  body.hg-mobile-menu-open .hg-mobile-menu-toggle span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
  }

  #hg-mobile-menu{
    display:none !important;
    position:absolute !important;
    left:0;
    right:0;
    top:100%;
    z-index:1000;
    background:#fff;
    border-top:1px solid var(--line,#e5e5e5);
    box-shadow:0 12px 24px rgba(0,0,0,.12);
    padding:14px 20px 20px;
  }

  body.hg-mobile-menu-open #hg-mobile-menu{display:block !important;}

  #hg-mobile-menu ul,
  #hg-mobile-menu .menu{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
  }

  #hg-mobile-menu li{
    display:block !important;
    margin:0 !important;
    border-bottom:1px solid var(--line,#eee);
  }

  #hg-mobile-menu li:last-child{border-bottom:0;}

  #hg-mobile-menu a{
    display:block !important;
    padding:13px 2px !important;
    text-decoration:none;
  }

  #hg-mobile-menu .sub-menu{
    display:block !important;
    position:static !important;
    box-shadow:none !important;
    background:transparent !important;
    padding:0 0 6px 14px !important;
  }

  #hg-mobile-menu .sub-menu li{border-bottom:0 !important;}
  #hg-mobile-menu .sub-menu a{
    padding:9px 2px !important;
    font-size:.95em;
  }

  .site-header .wrap,
  header.site-header .wrap,
  #masthead .wrap{
    padding-left:68px !important;
  }
}


/* v2.4: protected tenant-information pages */
.hg-tenant-intro{
  max-width:920px;
  margin:0 auto 34px;
}
.hg-tenant-intro h1{
  margin-bottom:12px;
}
.hg-tenant-sections{
  display:grid;
  gap:24px;
}
.hg-tenant-section{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
  gap:34px;
  align-items:start;
  padding:28px 0;
  border-top:1px solid var(--line,#e5e5e5);
}
.hg-tenant-section:first-child{
  border-top:0;
}
.hg-tenant-text h2{
  margin-top:0;
}
.hg-tenant-media{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.hg-media-placeholder{
  min-height:150px;
  border:1px dashed #aaa;
  border-radius:10px;
  background:rgba(0,0,0,.025);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:18px;
  color:var(--muted,#666);
}
.hg-media-placeholder span{
  display:block;
  font-weight:700;
  color:var(--text,#222);
  margin-bottom:5px;
}
.hg-media-placeholder small{
  display:block;
  line-height:1.35;
}
.hg-tenant-login{
  max-width:560px;
  margin:64px auto;
  padding:30px;
  border:1px solid var(--line,#ddd);
  border-radius:12px;
  background:#fff;
}
.hg-tenant-login form{
  margin-top:22px;
}
.hg-tenant-login label{
  display:block;
  margin-bottom:7px;
  font-weight:600;
}
.hg-tenant-login input{
  display:block;
  width:100%;
  min-height:48px;
  box-sizing:border-box;
  margin-bottom:14px;
}
.hg-tenant-login button{
  min-height:48px;
  padding:0 20px;
  font-weight:700;
}

@media(max-width:850px){
  .hg-tenant-section{
    grid-template-columns:1fr;
    gap:18px;
  }
  .hg-tenant-media{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:560px){
  .hg-tenant-media{
    grid-template-columns:1fr;
  }
}


/* v3.0: booking order and SAFE mobile field sizing */
.hg-booking-panel{
  display:flex;
  flex-direction:column;
  gap:32px;
}
.hg-price-section{
  padding-top:26px;
  border-top:1px solid var(--line,#e5e5e5);
}

/* Keep the explicit calendar visible and full width */
.hg-booking-panel .hg-live-calendar{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:18px 0 24px !important;
  overflow:visible !important;
}
.hg-booking-panel .hg-live-calendar > *{
  max-width:100% !important;
}

/* Only size the four MotoPress controls on mobile.
   Do not convert the whole MotoPress form to grid/flex. */
@media(max-width:700px){
  .hg-booking-form .mphb-check-in-date-wrapper,
  .hg-booking-form .mphb-check-out-date-wrapper,
  .hg-booking-form .mphb-adults-wrapper,
  .hg-booking-form .mphb-children-wrapper{
    display:inline-block !important;
    vertical-align:top !important;
    width:calc(50% - 8px) !important;
    max-width:calc(50% - 8px) !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    float:none !important;
  }

  .hg-booking-form .mphb-check-in-date-wrapper,
  .hg-booking-form .mphb-adults-wrapper{
    margin-right:12px !important;
  }

  .hg-booking-form .mphb-check-out-date-wrapper,
  .hg-booking-form .mphb-children-wrapper{
    margin-right:0 !important;
  }

  .hg-booking-form .mphb-check-in-date-wrapper input,
  .hg-booking-form .mphb-check-out-date-wrapper input,
  .hg-booking-form .mphb-adults-wrapper select,
  .hg-booking-form .mphb-children-wrapper select{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  .hg-booking-form .mphb-check-in-date-wrapper label,
  .hg-booking-form .mphb-check-out-date-wrapper label,
  .hg-booking-form .mphb-adults-wrapper label,
  .hg-booking-form .mphb-children-wrapper label{
    display:block !important;
    width:100% !important;
  }

  .hg-live-calendar{
    clear:both !important;
  }
}

@media(max-width:390px){
  .hg-booking-form .mphb-check-in-date-wrapper,
  .hg-booking-form .mphb-check-out-date-wrapper,
  .hg-booking-form .mphb-adults-wrapper,
  .hg-booking-form .mphb-children-wrapper{
    width:calc(50% - 6px) !important;
    max-width:calc(50% - 6px) !important;
  }
  .hg-booking-form .mphb-check-in-date-wrapper,
  .hg-booking-form .mphb-adults-wrapper{
    margin-right:8px !important;
  }
}


/* v3.1: Mobile booking layout
   Dates full width, guests 50/50. Calendar itself remains untouched. */
@media(max-width:700px){
  .hg-booking-form .mphb-check-in-date-wrapper,
  .hg-booking-form .mphb-check-out-date-wrapper{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 0 18px !important;
    float:none !important;
    box-sizing:border-box !important;
  }

  .hg-booking-form .mphb-adults-wrapper,
  .hg-booking-form .mphb-children-wrapper{
    display:inline-block !important;
    vertical-align:top !important;
    width:calc(50% - 8px) !important;
    max-width:calc(50% - 8px) !important;
    min-width:0 !important;
    float:none !important;
    box-sizing:border-box !important;
  }

  .hg-booking-form .mphb-adults-wrapper{
    margin:0 12px 18px 0 !important;
  }

  .hg-booking-form .mphb-children-wrapper{
    margin:0 0 18px 0 !important;
  }

  .hg-booking-form .mphb-check-in-date-wrapper input,
  .hg-booking-form .mphb-check-out-date-wrapper input,
  .hg-booking-form .mphb-adults-wrapper select,
  .hg-booking-form .mphb-children-wrapper select{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }
}

/* Dynamic MotoPress price overview */
.hg-dynamic-price-table{
  width:100%;
  margin-top:16px;
  border-top:1px solid var(--line,#ddd);
}
.hg-price-row{
  display:grid;
  grid-template-columns:minmax(180px,1.1fr) minmax(220px,1.25fr) minmax(130px,.65fr);
  gap:18px;
  align-items:center;
  padding:14px 0;
  border-bottom:1px solid var(--line,#ddd);
}
.hg-price-head{
  font-size:.88rem;
  font-weight:700;
  color:var(--muted,#666);
  padding:10px 0;
}
.hg-price-row small{
  display:block;
  margin-top:3px;
  font-weight:400;
  color:var(--muted,#666);
}
.hg-per-night{
  white-space:nowrap;
}
.hg-price-source-note{
  margin:14px 0 0;
  font-size:.92rem;
  color:var(--muted,#666);
}
.hg-price-extra{
  margin-top:18px;
}
.hg-price-extra p{
  margin:.45em 0;
}

@media(max-width:700px){
  .hg-price-head{
    display:none;
  }
  .hg-price-row{
    grid-template-columns:1fr;
    gap:7px;
    padding:16px 0;
  }
  .hg-price-row > div{
    display:grid;
    grid-template-columns:92px 1fr;
    gap:10px;
    align-items:baseline;
  }
  .hg-price-row > div::before{
    content:attr(data-label);
    font-size:.82rem;
    font-weight:700;
    color:var(--muted,#666);
  }
}


/* v3.2: Mobile - all booking controls stacked vertically */
@media(max-width:700px){
  .hg-booking-form .mphb-check-in-date-wrapper,
  .hg-booking-form .mphb-check-out-date-wrapper,
  .hg-booking-form .mphb-adults-wrapper,
  .hg-booking-form .mphb-children-wrapper{
    display:block !important;width:100% !important;max-width:100% !important;min-width:0 !important;
    margin:0 0 20px 0 !important;float:none !important;clear:both !important;box-sizing:border-box !important;
  }
  .hg-booking-form .mphb-check-in-date-wrapper input,
  .hg-booking-form .mphb-check-out-date-wrapper input,
  .hg-booking-form .mphb-adults-wrapper select,
  .hg-booking-form .mphb-children-wrapper select{
    display:block !important;width:100% !important;max-width:100% !important;min-width:0 !important;box-sizing:border-box !important;
  }
  .hg-booking-form .mphb-check-in-date-wrapper label,
  .hg-booking-form .mphb-check-out-date-wrapper label,
  .hg-booking-form .mphb-adults-wrapper label,
  .hg-booking-form .mphb-children-wrapper label{
    display:block !important;width:100% !important;margin:0 0 8px 0 !important;clear:both !important;
  }
}


/* v3.3: compact price area when daily prices are shown in the calendar */
.hg-price-section{
  margin-top:22px;
}
.hg-dynamic-price-table{
  display:none !important;
}
.hg-price-section > h3{
  display:none !important;
}
.hg-price-source-note{
  display:none !important;
}

/* Keep only concise extra price notes below the booking form */
.hg-price-extra{
  margin-top:8px !important;
  padding-top:16px;
  border-top:1px solid var(--line,#e5e5e5);
}

/* v3.3: force mobile booking controls to true one-column layout */
@media(max-width:700px){
  .hg-booking-form .mphb-booking-form,
  .hg-booking-form form{
    display:block !important;
  }

  .hg-booking-form .hg-mobile-field-stack{
    display:block !important;
    width:100% !important;
  }

  .hg-booking-form .hg-mobile-field-stack > *{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 0 20px 0 !important;
    float:none !important;
    clear:both !important;
    box-sizing:border-box !important;
  }

  .hg-booking-form .hg-mobile-field-stack input,
  .hg-booking-form .hg-mobile-field-stack select{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  .hg-booking-form .hg-mobile-field-stack label{
    display:block !important;
    width:100% !important;
    margin:0 0 8px 0 !important;
  }
}


/* v3.4: Desktop booking area uses full width:
   calendar ~75%, controls ~25%, remaining info full width below */
@media(min-width:901px){

  .access{
    width:100% !important;
    max-width:none !important;
  }

  .access .protected{
    width:100% !important;
    max-width:none !important;
  }

  .hg-booking-panel{
    width:100% !important;
    max-width:none !important;
  }

  .hg-booking-form{
    display:grid !important;
    grid-template-columns:minmax(0,3fr) minmax(280px,1fr) !important;
    column-gap:34px !important;
    row-gap:22px !important;
    align-items:start !important;
    width:100% !important;
  }

  /* Calendar on the left */
  .hg-booking-form .hg-live-calendar{
    grid-column:1 !important;
    grid-row:1 / span 8 !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
  }

  /* Intro/header and controls on the right */
  .hg-booking-form > .eyebrow,
  .hg-booking-form > h3,
  .hg-booking-form > .hg-booking-intro{
    grid-column:2 !important;
  }

  .hg-booking-form .mphb-booking-form,
  .hg-booking-form > form{
    grid-column:2 !important;
    width:100% !important;
    max-width:100% !important;
  }

  .hg-booking-form .mphb-check-in-date-wrapper,
  .hg-booking-form .mphb-check-out-date-wrapper,
  .hg-booking-form .mphb-adults-wrapper,
  .hg-booking-form .mphb-children-wrapper{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    float:none !important;
    margin:0 0 16px 0 !important;
    box-sizing:border-box !important;
  }

  .hg-booking-form .mphb-check-in-date-wrapper input,
  .hg-booking-form .mphb-check-out-date-wrapper input,
  .hg-booking-form .mphb-adults-wrapper select,
  .hg-booking-form .mphb-children-wrapper select{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  /* Result/price/button and notes span full width below the two-column top area */
  .hg-booking-form .hg-price-help,
  .hg-booking-form .hg-booking-note{
    grid-column:1 / -1 !important;
  }

  /* Some MotoPress result elements may be siblings in the form:
     keep them full width inside the right column, but allow post-form notes full width. */
  .hg-booking-form .mphb-reserve-btn-wrapper,
  .hg-booking-form .mphb-confirm-reservation,
  .hg-booking-form .mphb-errors-wrapper{
    width:100% !important;
    max-width:100% !important;
  }

  /* Make the calendar itself breathe on desktop */
  .hg-live-calendar .datepick,
  .hg-live-calendar .mphb-datepick,
  .hg-live-calendar .mphb-calendar,
  .hg-live-calendar table{
    width:100% !important;
    max-width:100% !important;
  }
}

/* medium desktop/tablet: slightly less extreme split */
@media(min-width:701px) and (max-width:1100px){
  .hg-booking-form{
    grid-template-columns:minmax(0,2.2fr) minmax(260px,1fr) !important;
    column-gap:24px !important;
  }
}


/* v3.5: apartment booking area is a dedicated full-width section below apartment details */
.hg-apartment-booking-section{
  width:100%;
  max-width:100%;
  clear:both;
  margin-top:34px;
  padding-top:32px;
  border-top:1px solid var(--line,#e5e5e5);
}
.hg-apartment-access{
  width:100% !important;
  max-width:100% !important;
}
.hg-access-login{
  width:100%;
  max-width:760px;
  margin:0 0 28px 0;
}
.hg-access-login .access-row{
  display:flex;
  gap:12px;
  align-items:stretch;
  max-width:560px;
}
.hg-access-login .access-code{
  flex:1 1 auto;
  min-width:0;
}
.hg-access-login .unlock-btn{
  flex:0 0 auto;
}

/* Once unlocked, let booking content use the whole section width */
.hg-apartment-booking-section .protected{
  width:100% !important;
  max-width:100% !important;
}
.hg-apartment-booking-section .hg-booking-panel,
.hg-apartment-booking-section .hg-booking-form{
  width:100% !important;
  max-width:100% !important;
}

@media(min-width:901px){
  .hg-apartment-booking-section .hg-booking-form{
    display:grid !important;
    grid-template-columns:minmax(0,3fr) minmax(300px,1fr) !important;
    gap:28px 34px !important;
    align-items:start !important;
  }

  .hg-apartment-booking-section .hg-live-calendar{
    grid-column:1 !important;
    grid-row:1 / span 10 !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
  }

  .hg-apartment-booking-section .hg-booking-form > .eyebrow,
  .hg-apartment-booking-section .hg-booking-form > h3,
  .hg-apartment-booking-section .hg-booking-form > .hg-booking-intro,
  .hg-apartment-booking-section .hg-booking-form > .mphb-booking-form,
  .hg-apartment-booking-section .hg-booking-form > form{
    grid-column:2 !important;
  }

  .hg-apartment-booking-section .hg-booking-form > .hg-price-help,
  .hg-apartment-booking-section .hg-booking-form > .hg-booking-note{
    grid-column:1 / -1 !important;
  }

  .hg-apartment-booking-section .hg-live-calendar .datepick,
  .hg-apartment-booking-section .hg-live-calendar .mphb-datepick,
  .hg-apartment-booking-section .hg-live-calendar table{
    width:100% !important;
    max-width:100% !important;
  }
}

@media(max-width:700px){
  .hg-access-login .access-row{
    display:block;
    max-width:none;
  }
  .hg-access-login .access-code,
  .hg-access-login .unlock-btn{
    width:100%;
    max-width:100%;
    box-sizing:border-box;
  }
  .hg-access-login .unlock-btn{
    margin-top:10px;
  }
}


/* v3.6: structural fix - booking section is genuinely outside apartment two-column layout */
.hg-apartment-detail-shell{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  clear:both !important;
}

.hg-apartment-booking-section{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  clear:both !important;
  margin:36px 0 0 !important;
  padding:32px 0 0 !important;
  border-top:1px solid var(--line,#e5e5e5);
}

.hg-apartment-booking-section .hg-apartment-access{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
}

.hg-access-login{
  width:100% !important;
  max-width:680px !important;
  margin:0 0 30px !important;
}

.hg-access-form{
  display:flex;
  gap:12px;
  align-items:stretch;
  width:100%;
  max-width:560px;
  margin-top:14px;
}
.hg-access-form .access-code{
  flex:1 1 auto;
  min-width:0;
  width:auto !important;
}
.hg-access-form .unlock-btn{
  flex:0 0 auto;
}

@media(min-width:901px){
  .hg-apartment-booking-section .hg-booking-form{
    display:grid !important;
    grid-template-columns:minmax(0,3fr) minmax(320px,1fr) !important;
    grid-template-areas:
      "calendar intro"
      "calendar form"
      "help help"
      "note note" !important;
    column-gap:36px !important;
    row-gap:18px !important;
    align-items:start !important;
    width:100% !important;
    max-width:100% !important;
  }

  .hg-apartment-booking-section .hg-live-calendar{
    grid-area:calendar !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
  }

  .hg-apartment-booking-section .hg-booking-form > .eyebrow,
  .hg-apartment-booking-section .hg-booking-form > h3,
  .hg-apartment-booking-section .hg-booking-form > .hg-booking-intro{
    grid-area:intro !important;
  }

  .hg-apartment-booking-section .hg-booking-form > .mphb-booking-form,
  .hg-apartment-booking-section .hg-booking-form > form{
    grid-area:form !important;
    width:100% !important;
    max-width:100% !important;
  }

  .hg-apartment-booking-section .hg-price-help{
    grid-area:help !important;
  }

  .hg-apartment-booking-section .hg-booking-note{
    grid-area:note !important;
  }

  .hg-apartment-booking-section .hg-live-calendar .datepick,
  .hg-apartment-booking-section .hg-live-calendar .mphb-datepick,
  .hg-apartment-booking-section .hg-live-calendar table{
    width:100% !important;
    max-width:100% !important;
  }

  .hg-apartment-booking-section .mphb-check-in-date-wrapper,
  .hg-apartment-booking-section .mphb-check-out-date-wrapper,
  .hg-apartment-booking-section .mphb-adults-wrapper,
  .hg-apartment-booking-section .mphb-children-wrapper{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 0 14px !important;
    float:none !important;
    clear:both !important;
  }

  .hg-apartment-booking-section .mphb-check-in-date-wrapper input,
  .hg-apartment-booking-section .mphb-check-out-date-wrapper input,
  .hg-apartment-booking-section .mphb-adults-wrapper select,
  .hg-apartment-booking-section .mphb-children-wrapper select{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }
}

@media(max-width:700px){
  .hg-access-form{
    display:block;
    max-width:none;
  }
  .hg-access-form .access-code,
  .hg-access-form .unlock-btn{
    display:block;
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box;
  }
  .hg-access-form .unlock-btn{
    margin-top:10px;
  }
}


/* v3.7: Homepage booking area below each complete apartment block */
.hg-home-booking-row{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  clear:both !important;
  margin-top:28px !important;
  padding-top:26px !important;
  border-top:1px solid var(--line,#e5e5e5);
}

.hg-home-access,
.hg-home-access .protected,
.hg-home-access .hg-booking-panel,
.hg-home-access .hg-booking-form{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  clear:both !important;
}

.hg-home-access .hg-access-login{
  width:100% !important;
  max-width:620px !important;
  margin:0 0 28px 0 !important;
}

.hg-home-access-title{
  display:block;
  font-size:1.05rem;
  margin-bottom:8px;
}

.hg-home-access .hg-access-form{
  display:flex;
  align-items:stretch;
  gap:12px;
  width:100%;
  max-width:540px;
  margin-top:12px;
}

.hg-home-access .hg-access-form .access-code{
  flex:1 1 auto;
  min-width:0;
  width:auto !important;
}

.hg-home-access .hg-access-form .unlock-btn{
  flex:0 0 auto;
}

/* Desktop: calendar 75%, fields 25% */
@media(min-width:901px){
  .hg-home-access .hg-booking-form{
    display:grid !important;
    grid-template-columns:minmax(0,3fr) minmax(300px,1fr) !important;
    grid-template-areas:
      "calendar intro"
      "calendar form"
      "help help"
      "note note" !important;
    column-gap:36px !important;
    row-gap:18px !important;
    align-items:start !important;
  }

  .hg-home-access .hg-live-calendar{
    grid-area:calendar !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
  }

  .hg-home-access .hg-booking-form > .eyebrow,
  .hg-home-access .hg-booking-form > h3,
  .hg-home-access .hg-booking-form > .hg-booking-intro{
    grid-area:intro !important;
  }

  .hg-home-access .hg-booking-form > .mphb-booking-form,
  .hg-home-access .hg-booking-form > form{
    grid-area:form !important;
    width:100% !important;
    max-width:100% !important;
  }

  .hg-home-access .hg-price-help{
    grid-area:help !important;
  }

  .hg-home-access .hg-booking-note{
    grid-area:note !important;
  }

  .hg-home-access .hg-live-calendar .datepick,
  .hg-home-access .hg-live-calendar .mphb-datepick,
  .hg-home-access .hg-live-calendar table{
    width:100% !important;
    max-width:100% !important;
  }

  .hg-home-access .mphb-check-in-date-wrapper,
  .hg-home-access .mphb-check-out-date-wrapper,
  .hg-home-access .mphb-adults-wrapper,
  .hg-home-access .mphb-children-wrapper{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    float:none !important;
    clear:both !important;
    margin:0 0 14px 0 !important;
    box-sizing:border-box !important;
  }

  .hg-home-access .mphb-check-in-date-wrapper input,
  .hg-home-access .mphb-check-out-date-wrapper input,
  .hg-home-access .mphb-adults-wrapper select,
  .hg-home-access .mphb-children-wrapper select{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }
}

/* Preserve the good mobile single-column booking layout */
@media(max-width:700px){
  .hg-home-access .hg-access-form{
    display:block;
    max-width:none;
  }

  .hg-home-access .hg-access-form .access-code,
  .hg-home-access .hg-access-form .unlock-btn{
    display:block;
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box;
  }

  .hg-home-access .hg-access-form .unlock-btn{
    margin-top:10px;
  }
}


/* v3.8: restore apartment detail galleries */
.apartment-page-content .gallery-grid{
  margin-bottom:28px !important;
}


/* v3.9: simplify booking area */
.hg-home-booking-row,
.hg-apartment-booking-section,
.hg-price-section,
.hg-price-extra{
  border-top:0 !important;
}

/* Remove any inherited separator lines around booking/access areas */
.hg-home-booking-row::before,
.hg-home-booking-row::after,
.hg-apartment-booking-section::before,
.hg-apartment-booking-section::after,
.hg-home-access::before,
.hg-home-access::after,
.hg-apartment-access::before,
.hg-apartment-access::after{
  display:none !important;
  content:none !important;
}

/* Booking form: no heading/intro block on the right */
.hg-booking-form > .eyebrow,
.hg-booking-form > h3,
.hg-booking-form > .hg-booking-intro{
  display:none !important;
}

@media(min-width:901px){
  .hg-home-access .hg-booking-form,
  .hg-apartment-booking-section .hg-booking-form{
    grid-template-areas:
      "calendar form"
      "calendar form"
      "help help"
      "note note" !important;
    align-items:start !important;
  }

  .hg-home-access .hg-booking-form > .mphb-booking-form,
  .hg-home-access .hg-booking-form > form,
  .hg-apartment-booking-section .hg-booking-form > .mphb-booking-form,
  .hg-apartment-booking-section .hg-booking-form > form{
    grid-area:form !important;
    margin-top:0 !important;
  }
}


/* v4.0: clearer section hierarchy */
.hg-home-booking-row,
.hg-apartment-booking-section{
  border-top:0 !important;
}
.hg-access-login,
.hg-home-access .hg-access-login,
.hg-apartment-access .hg-access-login{
  border-bottom:0 !important;
}

/* Homepage divider belongs between complete apartment sections */
.home .apt-section{
  border-top:0 !important;
  border-bottom:0 !important;
}
.home .apt-section + .apt-section{
  position:relative;
  margin-top:34px !important;
  padding-top:42px !important;
}
.home .apt-section + .apt-section::before{
  content:"";
  display:block !important;
  position:absolute;
  top:0;
  left:50%;
  transform:translateX(-50%);
  width:min(100% - 40px, 1280px);
  height:1px;
  background:var(--line,#dedbd2);
}

/* More compact booking information */
.hg-booking-form{ row-gap:14px !important; }
.hg-price-help{
  margin-top:12px !important;
  padding:16px 18px !important;
}
.hg-booking-note{
  margin-top:4px !important;
  padding-top:0 !important;
  border-top:0 !important;
}
.hg-price-extra{
  margin-top:12px !important;
  padding-top:0 !important;
  border-top:0 !important;
}
.hg-price-extra p{ margin:.3em 0 !important; }

.hg-home-booking-row{
  margin-top:22px !important;
  padding-top:0 !important;
}
.hg-apartment-booking-section{
  margin-top:28px !important;
  padding-top:0 !important;
}

@media(max-width:700px){
  .home .apt-section + .apt-section{
    margin-top:24px !important;
    padding-top:30px !important;
  }
  .home .apt-section + .apt-section::before{
    width:calc(100% - 28px);
  }
}


/* v4.1: compact price/help box */
.hg-price-help p{
  margin:.32em 0 !important;
}
.hg-price-help p:first-child{
  margin-top:0 !important;
}
.hg-price-help p:last-child{
  margin-bottom:0 !important;
}

/* Booking note is hidden until MotoPress shows the reservation action */
.hg-booking-note{
  display:none !important;
  margin:10px 0 0 !important;
  padding:0 !important;
  border:0 !important;
  color:var(--muted,#666);
  font-size:.95rem;
}
.hg-booking-note.hg-visible{
  display:block !important;
}

/* Keep the note visually tied to the reservation button/result area */
.hg-booking-note.hg-moved-next-to-action{
  max-width:520px;
}


/* v4.4: legacy duplicate pricing notes are obsolete; content now lives in hg-price-help */
.hg-price-extra{
  display:none !important;
}

.hg-summer-map{margin:48px 0 42px}.hg-summer-map h2{margin-bottom:10px}.hg-summer-map>p{margin:0 0 18px;max-width:760px}
.hg-mymaps-frame{width:100%;overflow:hidden;border:1px solid var(--line,#dedbd2);background:#fff}
.hg-mymaps-frame iframe{display:block;width:100%;height:560px;border:0}
@media(max-width:700px){.hg-summer-map{margin:34px 0 30px}.hg-mymaps-frame iframe{height:480px}}

/* v4.7: seasonal photo sliders on Tipps pages */
.tipps-photo-section{margin:0 0 48px}.tipps-photo-slider{position:relative;overflow:hidden;background:#eef2ee;border-radius:2px}.tipps-photo-track{position:relative;aspect-ratio:16/8.4}.tipps-photo-slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity .45s ease}.tipps-photo-slide.active{opacity:1;visibility:visible}.tipps-photo-slide img{width:100%;height:100%;object-fit:cover;display:block}.tipps-photo-slide figcaption{position:absolute;left:20px;bottom:18px;background:rgba(20,35,28,.72);color:#fff;padding:7px 11px;font-size:.88rem}.tipps-slider-btn{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.88);font-size:30px;line-height:1;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.12)}.tipps-slider-btn.prev{left:16px}.tipps-slider-btn.next{right:16px}.tipps-slider-counter{position:absolute;right:18px;bottom:18px;background:rgba(20,35,28,.72);color:#fff;padding:6px 10px;font-size:.82rem}.tipps-slider-dots{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:7px}.tipps-slider-dots button{width:7px;height:7px;border:0;border-radius:50%;padding:0;background:rgba(255,255,255,.55)}.tipps-slider-dots button.active{background:#fff}.tipps-photo-slider:focus-within .tipps-slider-btn{outline:2px solid #fff;outline-offset:2px}@media(max-width:700px){.tipps-photo-section{margin-bottom:34px}.tipps-photo-track{aspect-ratio:4/3}.tipps-photo-slide figcaption{left:12px;bottom:12px;max-width:65%;font-size:.78rem}.tipps-slider-btn{width:38px;height:38px}.tipps-slider-btn.prev{left:10px}.tipps-slider-btn.next{right:10px}.tipps-slider-counter{right:12px;bottom:12px}.tipps-slider-dots{display:none}}

/* v4.9 */
.hg-season-slider .hg-season-slide{transition:opacity 1.2s ease-in-out !important}
.mieter-login input[type="password"],.tenant-login input[type="password"],
.hg-tenant-login input[type="password"],.mieterinfo-login input[type="password"],
.protected-mieter input[type="password"],body[class*="mieter"] input[type="password"]{
 border:1px solid #c9c7c0 !important;background:#fff !important;
 box-shadow:0 0 0 1px rgba(0,0,0,.02) !important;
}


/* v5.0 consolidated seasonal fade */
.hg-season-slider .hg-season-slide{
  transition:opacity 1.2s ease-in-out !important;
}


/* v5.0 tenant password visibility */
body[class*="mieter"] input[type="password"],
.hg-tenant-login input[type="password"],
.mieter-login input[type="password"],
.tenant-login input[type="password"],
.mieterinfo-login input[type="password"],
.protected-mieter input[type="password"]{
  border:1px solid #c9c7c0 !important;
  background:#fff !important;
  box-shadow:0 0 0 1px rgba(0,0,0,.02) !important;
}


/* v5.1: smooth seasonal crossfade, analogous to homepage hero */
.tipps-photo-slide{
  opacity:0 !important;
  visibility:visible !important;
  pointer-events:none;
  transition:opacity 1.5s ease-in-out !important;
}
.tipps-photo-slide.active{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto;
}

/* v5.3: Golmen 12 tenant information */
.hg-tenant-table-wrap{width:100%;overflow-x:auto;margin:18px 0}
.hg-tenant-table{width:100%;border-collapse:collapse;background:#fff}
.hg-tenant-table th,.hg-tenant-table td{padding:12px 14px;border-bottom:1px solid #e4e1da;text-align:left;vertical-align:top}
.hg-tenant-table th{font-weight:700;background:#f6f4ef}
.hg-checklist{padding-left:1.25rem}.hg-checklist li{margin-bottom:.55rem}
.hg-tenant-thanks{margin-top:44px}
.hg-family-photo-placeholder{width:100%;min-height:430px;margin-top:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px dashed #c9c7c0;background:#f6f4ef;border-radius:8px}
.hg-family-photo-placeholder span{font-size:1.15rem;font-weight:700}.hg-family-photo-placeholder small{margin-top:6px}
@media(max-width:700px){.hg-tenant-table th,.hg-tenant-table td{padding:10px 9px}.hg-family-photo-placeholder{min-height:260px}}

/* v5.4: tenant media galleries */
.hg-v54-gallery{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:start}
.hg-v54-gallery-kitchen{grid-template-columns:repeat(3,minmax(0,1fr))}
.hg-v54-photo{display:block;overflow:hidden;border-radius:8px;background:#f3f1ec}
.hg-v54-photo img{display:block;width:100%;height:180px;object-fit:cover}
.hg-v54-map{margin-top:20px;width:100%;border-radius:10px;overflow:hidden;background:#f3f1ec}
.hg-v54-map iframe{display:block;width:100%;height:420px;border:0}
.hg-v54-family-photo{width:100%;margin-top:24px}
.hg-v54-family-image{display:block;width:100%;height:auto;max-height:none;border-radius:10px}
@media(max-width:800px){
 .hg-v54-gallery,.hg-v54-gallery-kitchen{grid-template-columns:repeat(2,minmax(0,1fr))}
 .hg-v54-photo img{height:150px}
 .hg-v54-map iframe{height:330px}
}
@media(max-width:480px){
 .hg-v54-gallery,.hg-v54-gallery-kitchen{grid-template-columns:1fr}
 .hg-v54-photo img{height:auto;max-height:280px}
}

/* v5.5: subtle alpine linework; white remains the base and the artwork scrolls normally. */
body{background-color:#fff;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNjAwJyBoZWlnaHQ9JzcyMCcgdmlld0JveD0nMCAwIDE2MDAgNzIwJz48ZyBmaWxsPSdub25lJyBzdHJva2U9JyM2ZDgxNzMnIHN0cm9rZS1vcGFjaXR5PScuMDc1JyBzdHJva2Utd2lkdGg9JzEuNCc+PHBhdGggZD0nTTAgNjEwIEwxNTAgNTIwIDI2MCA1NzAgMzkwIDQzMCA1MTAgNTUwIDY2MCAzOTAgNzkwIDUzNSA5MzAgNDQ1IDEwNjAgNTY1IDEyMjAgNDEwIDEzOTAgNTM1IDE2MDAgNDU1Jy8+PHBhdGggZD0nTTAgNjYwIEwyMTAgNTc1IDMzMCA2MjUgNDg1IDUxMCA2MTAgNjI1IDc4MCA0NzUgOTMwIDYxNSAxMTEwIDUyMCAxMjgwIDYzMCAxNDUwIDU0MCAxNjAwIDYwMCcvPjwvZz48L3N2Zz4=");background-repeat:repeat-y;background-position:center 180px;background-size:1600px 720px;background-attachment:scroll}
.site-header,.apt-grid,.compare-table,.card{background-color:rgba(255,255,255,.96)}

/* Make the editable kitchen table easier to scan. */
.hg-tenant-table th,.hg-tenant-table td{border-bottom:1px solid #d8d5ce!important}
.hg-tenant-table tbody tr:last-child td{border-bottom:1px solid #d8d5ce!important}

/* v5.6: alpine silhouette slightly more visible, still light on white. */
body{background-color:#fff!important;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNjAwJyBoZWlnaHQ9JzcyMCcgdmlld0JveD0nMCAwIDE2MDAgNzIwJz4KPGcgZmlsbD0nbm9uZScgc3Ryb2tlPScjNjY4MDZjJyBzdHJva2Utb3BhY2l0eT0nLjE2JyBzdHJva2Utd2lkdGg9JzEuOCc+CjxwYXRoIGQ9J00wIDYxMCBMMTUwIDUyMCAyNjAgNTcwIDM5MCA0MzAgNTEwIDU1MCA2NjAgMzkwIDc5MCA1MzUgOTMwIDQ0NSAxMDYwIDU2NSAxMjIwIDQxMCAxMzkwIDUzNSAxNjAwIDQ1NScvPgo8cGF0aCBkPSdNMCA2NjAgTDIxMCA1NzUgMzMwIDYyNSA0ODUgNTEwIDYxMCA2MjUgNzgwIDQ3NSA5MzAgNjE1IDExMTAgNTIwIDEyODAgNjMwIDE0NTAgNTQwIDE2MDAgNjAwJy8+CjxwYXRoIGQ9J00zOTAgNDMwIEw0MzUgNDc4IDQ3NSA0NTYgNTEwIDU1MCBNNjYwIDM5MCBMNzA1IDQ0OCA3NDIgNDI2IDc5MCA1MzUgTTEyMjAgNDEwIEwxMjYwIDQ2MyAxMzAwIDQ0NyAxMzkwIDUzNScvPgo8L2c+PC9zdmc+")!important;background-repeat:repeat-y!important;background-position:center 180px!important;background-size:1600px 720px!important;background-attachment:scroll!important}

/* v5.7 — approved Aletsch-glacier line illustration as a long scrolling background. */
body{
  background-color:#fff !important;
  background-image:url("assets/images/aletsch-glacier-lines-v57.png") !important;
  background-repeat:no-repeat !important;
  background-position:center 120px !important;
  background-size:100% auto !important;
  background-attachment:scroll !important;
}
@media(min-width:1400px){body{background-size:1400px auto !important}}
@media(max-width:700px){body{background-size:125% auto !important;background-position:center 100px !important}}

/* Once calendar access is remembered, remove the entire code prompt on every page. */
html.hg-calendar-unlocked .access > .eyebrow,
html.hg-calendar-unlocked .access > h3,
html.hg-calendar-unlocked .access > p:not(.protected):not(.access-error),
html.hg-calendar-unlocked .access .access-row,
html.hg-calendar-unlocked .access .access-error{
  display:none !important;
}
html.hg-calendar-unlocked .access{
  border-top:0 !important;
  padding-top:0 !important;
}

/* Booking form: target MotoPress field classes, never paragraph positions. */
.hg-booking-form .mphb-booking-form{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:20px 28px !important;
  align-items:start !important;
  max-width:820px !important;
}
.hg-booking-form .mphb-booking-form > *{min-width:0 !important}
.hg-booking-form .mphb-check-in-date-wrapper{grid-column:1 !important;grid-row:1 !important}
.hg-booking-form .mphb-check-out-date-wrapper{grid-column:2 !important;grid-row:1 !important}
.hg-booking-form .mphb-adults-wrapper{grid-column:1 !important;grid-row:2 !important}
.hg-booking-form .mphb-children-wrapper{grid-column:2 !important;grid-row:2 !important}
.hg-booking-form .mphb-booking-form > p:not(.mphb-check-in-date-wrapper):not(.mphb-check-out-date-wrapper):not(.mphb-adults-wrapper):not(.mphb-children-wrapper),
.hg-booking-form .mphb-reserve-btn-wrapper,
.hg-booking-form .mphb-errors-wrapper,
.hg-booking-form .mphb-reserve-room-section,
.hg-booking-form .mphb-price-breakdown{
  grid-column:1 / -1 !important;
  grid-row:auto !important;
  position:static !important;
  margin:0 !important;
}
.hg-booking-form .mphb-booking-form label{position:static !important}
.hg-booking-form .mphb-booking-form select,
.hg-booking-form .mphb-booking-form input{
  position:static !important;
  max-width:100% !important;
}
.hg-booking-note{
  position:static !important;
  clear:both !important;
  display:block !important;
  margin:24px 0 0 !important;
  max-width:820px !important;
}
@media(max-width:700px){
 .hg-booking-form .mphb-booking-form{grid-template-columns:1fr !important}
 .hg-booking-form .mphb-check-in-date-wrapper,
 .hg-booking-form .mphb-check-out-date-wrapper,
 .hg-booking-form .mphb-adults-wrapper,
 .hg-booking-form .mphb-children-wrapper,
 .hg-booking-form .mphb-booking-form > *{grid-column:1 !important;grid-row:auto !important}
}

/* v5.8: EUR alternative price. */
.hg-eur-price{max-width:820px;margin:18px 0 14px;padding:14px 16px;border:1px solid #d9ddd8;border-radius:8px;background:rgba(255,255,255,.92)}
.hg-eur-price strong{display:block;font-size:1.05rem}.hg-eur-price small{display:block;margin-top:5px;line-height:1.45;color:#59625c}

/* v5.9: Webcams */
.hg-webcams-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:24px 0}
.hg-webcam-card{margin:0;background:#fff;border:1px solid #e1e4e0;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.hg-webcam-card img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.hg-webcam-card figcaption{padding:10px 14px;font-weight:600}
.hg-webcams-note{font-size:.9rem;opacity:.75}
@media(max-width:700px){.hg-webcams-grid{grid-template-columns:1fr;gap:16px}}

/* v5.10 webcam page: no shortcode dependency, clean image tiles. */
.hg-webcams-grid{margin-top:8px}
.hg-webcam-card figcaption{display:none}
.hg-webcam-card img{min-height:220px}
.hg-more-apartments{margin-top:36px;padding-top:24px;border-top:1px solid #e1e4e0}

/* v5.11 */
.hg-webcams-source{margin-top:12px;font-size:.9rem;opacity:.78}
.hg-useful-link{margin-top:.8em}

/* v5.12 — Startseite: Google Maps links, Komoot rechts. */
.hg-home-maps{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:stretch;margin-top:20px}
.hg-home-map-card{min-width:0;overflow:hidden;border-radius:10px;background:#fff}
.hg-home-map-card iframe{display:block;width:100%;height:520px;border:0}
.hg-home-maps .hg-komoot-home{margin:0!important}
@media(max-width:800px){
  .hg-home-maps{grid-template-columns:1fr;gap:16px}
  .hg-home-map-card iframe{height:420px}
}
/* v5.13 */
.hg-useful-link a,.hg-useful-link strong{font-weight:400!important}
.hg-hot-water-warning{padding:15px 18px;border-left:4px solid #bc6829;background:#fff1e7;border-radius:5px}
.hg-care-ack{display:flex;gap:12px;align-items:flex-start;margin:22px 0;padding:16px;background:#f2f5ee;border-radius:8px;line-height:1.5}
.hg-care-ack input{margin-top:5px;flex-shrink:0}
.hg-review-form{max-width:720px;margin:40px auto;padding:25px;background:#f6f7f3;border-radius:12px}
.hg-review-form form{display:grid;gap:16px}.hg-review-form label{display:grid;gap:5px}.hg-review-form input:not([type=checkbox]),.hg-review-form textarea,.hg-review-form select{width:100%;padding:10px;border:1px solid #bbb;border-radius:6px}.hg-review-consent{display:flex!important;align-items:flex-start;gap:10px!important}.hg-review-consent input{margin-top:5px}.hg-review-trap{position:absolute;left:-99999px}.hg-review-success{color:#236b46;font-weight:600}
.hg-reviews-home{padding:50px 0;background:#f7f7f3}.hg-review-cards{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 0 20px}.hg-review-card{flex:0 0 min(380px,85vw);scroll-snap-align:start;background:white;padding:22px;border-radius:12px;box-shadow:0 1px 9px #00000012}.hg-review-stars{font-size:25px;color:#b78b2b;letter-spacing:3px}.hg-review-card blockquote{margin:12px 0;font-style:italic}.hg-review-by{font-size:.85em;color:#555}.hg-review-reply{border-top:1px solid #ddd;padding-top:12px;font-size:.9em}
.hg-weather,.hg-snow{margin-bottom:36px}.hg-hourly-scroll{display:flex;overflow-x:auto;gap:10px;padding:12px 0 20px;scroll-snap-type:x proximity}.hg-hour{min-width:110px;scroll-snap-align:start;background:#f5f7f5;padding:14px 8px;border-radius:10px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.hg-weather-icon svg,.hg-weather-days svg{height:40px;width:40px;color:#597b88}.hg-weather-days{display:flex;flex-wrap:wrap;gap:12px}.hg-weather-days>div{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px;background:#f5f7f5;border-radius:10px;min-width:100px}.hg-weather-source,.hg-weather-updated{font-size:.85em;color:#666}.hg-weather-unavailable{padding:18px;background:#f5f7f5;border-radius:9px}.hg-snow{padding:20px;background:#f5f7f5;border-radius:10px}.hg-webcam-card figcaption{font-weight:600;padding:10px 3px}
/* v5.13 */
.hg-useful-link a,.hg-useful-link strong{font-weight:400!important}
.hg-hot-water-warning{padding:15px 18px;border-left:4px solid #bc6829;background:#fff1e7;border-radius:5px}
.hg-care-ack{display:flex;gap:12px;align-items:flex-start;margin:22px 0;padding:16px;background:#f2f5ee;border-radius:8px;line-height:1.5}.hg-care-ack input{margin-top:5px;flex-shrink:0}
.hg-review-form{max-width:720px;margin:40px auto;padding:25px;background:#f6f7f3;border-radius:12px}.hg-review-form form{display:grid;gap:16px}.hg-review-form label{display:grid;gap:5px}.hg-review-form input:not([type=checkbox]),.hg-review-form textarea,.hg-review-form select{width:100%;padding:10px;border:1px solid #bbb;border-radius:6px}.hg-review-consent{display:flex!important;align-items:flex-start;gap:10px!important}.hg-review-trap{position:absolute;left:-99999px}.hg-reviews-home{padding:50px 0;background:#f7f7f3}.hg-review-cards{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 0 20px}.hg-review-card{flex:0 0 min(380px,85vw);scroll-snap-align:start;background:white;padding:22px;border-radius:12px;box-shadow:0 1px 9px #00000012}.hg-review-stars{font-size:25px;color:#b78b2b;letter-spacing:3px}.hg-review-card blockquote{margin:12px 0;font-style:italic}.hg-review-card small{color:#666}.hg-review-reply{border-top:1px solid #ddd;padding-top:12px;margin-top:14px;font-size:.9em}
.hg-weather,.hg-snow{margin-bottom:36px}.hg-hourly-scroll{display:flex;overflow-x:auto;gap:10px;padding:12px 0 20px;scroll-snap-type:x proximity}.hg-hour{min-width:110px;scroll-snap-align:start;background:#f5f7f5;padding:14px 8px;border-radius:10px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.hg-hour svg,.hg-weather-days svg{height:40px;width:40px;color:#597b88}.hg-weather-days{display:flex;flex-wrap:wrap;gap:12px}.hg-weather-days>div{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px;background:#f5f7f5;border-radius:10px;min-width:100px}.hg-weather-source,.hg-weather-updated{font-size:.85em;color:#666}.hg-weather-unavailable{padding:18px;background:#f5f7f5;border-radius:9px}.hg-snow{padding:20px;background:#f5f7f5;border-radius:10px}.hg-webcam-card figcaption{font-weight:600;padding:10px 3px}

/* v5.14 */
.hg-v514-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:12px;margin:20px 0}.hg-v514-gallery img{width:100%;height:170px;object-fit:cover;border-radius:8px}.hg-v514-snow{margin:40px 0;padding:20px;background:#f6f8f6;border-radius:10px}.hg-webcam-card figcaption{font-weight:600;margin-bottom:10px}

/* v5.16: always visible editable galleries and webcam headings */
.hg-v54-gallery{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin:15px 0 25px}.hg-v54-gallery a{display:block}.hg-v54-gallery img{display:block;width:100%;height:160px;object-fit:cover;border-radius:8px}.hg-webcam-card figcaption{font-size:1.05rem;font-weight:600;margin-bottom:12px}.hg-v516-extra{margin-top:25px}

.hg-v518-tenant-galleries{margin:36px 0}.hg-v518-photo-section{margin:30px 0;padding-top:12px;border-top:1px solid #ddd}.hg-v518-photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}.hg-v518-photo-grid img{width:100%;height:170px;object-fit:cover;border-radius:8px;display:block}.hg-webcam-card figcaption{display:block!important;font-weight:700!important;margin:0 0 12px!important;color:#213c43!important}

/* v5.19: galleries replace placeholders inside the matching text section. */
.hg-tenant-section .hg-tenant-media.hg-v54-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}
.hg-tenant-section .hg-v54-photo{display:block;min-width:0;overflow:hidden;border-radius:8px;aspect-ratio:4/3;background:#eee}
.hg-tenant-section .hg-v54-photo img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:850px){.hg-tenant-section .hg-tenant-media.hg-v54-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
