/* IBE Book v2: shared controller, breakpoint-specific shells */
:root{
  --book-shell:#FBFBF8;
  --book-bg:#f3eee7;
  --book-text:#1F2A3D;
  --book-muted:#7A7A7A;
  --book-line:rgba(64,64,64,.20);
  --book-line-strong:rgba(64,64,64,.42);
  --book-cta:#2F2F2F;
  --book-cta-text:#FBFBF8;
}

.book-page{background:var(--book-bg)}
.ibe-book-page{min-height:calc(100svh - 92px);background:var(--book-bg);padding:58px 24px 56px}
.ibe-book-intro{text-align:center;max-width:820px;margin:0 auto 34px;color:var(--book-text)}
.ibe-book-intro .eyebrow{letter-spacing:.18em;text-transform:uppercase;font-size:11px;color:var(--book-muted);margin-bottom:18px}
.ibe-book-intro h1{font-size:clamp(30px,3.4vw,40px);font-weight:500;line-height:1.16;margin:0 0 18px}
.ibe-book-intro p{font-size:15px;color:#586174;line-height:1.5;margin:0 auto;max-width:680px}
.ibe-book-root{max-width:1020px;margin:0 auto}

.ibe-book-root button,
.ibe-book-root select{font:inherit;-webkit-appearance:none;appearance:none;box-shadow:none;text-shadow:none}

/* ===== Desktop / tablet shared shell ===== */
.ibd-shell{max-width:1020px;margin:0 auto;border:1px solid var(--book-line);border-radius:14px;background:var(--book-shell);padding:18px;display:grid;grid-template-columns:1.62fr 1fr;gap:18px;align-items:start}
.ibd-calendar{border:none;border-radius:12px;padding:6px 6px 0}
.ibd-side{border:none;border-radius:12px;padding:6px}
.ibd-input{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.ibd-dates{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--book-line);overflow:hidden;background:transparent}
.ibd-datebox{padding:10px 10px 12px}
.ibd-datebox + .ibd-datebox{border-left:1px solid var(--book-line)}
.ibd-datebox-h{font-size:12px;color:var(--book-shell);background:var(--book-cta);text-align:center;padding:9px 0;margin:-10px -10px 10px;letter-spacing:.04em}
.ibd-datebox-main{text-align:center}.ibd-day{font-size:34px;line-height:1;font-weight:400;margin-top:2px}.ibd-month{margin-top:5px;font-size:12px;color:var(--book-muted);letter-spacing:.02em}
.ibd-nightsbar{border:1px solid var(--book-line);border-top:none;overflow:hidden;margin-bottom:12px;background:transparent}.ibd-nightsbar-h{background:var(--book-cta);color:var(--book-shell);text-align:center;font-size:12px;letter-spacing:.04em;padding:10px 0}
.ibd-select{position:relative;margin-bottom:10px}.ibd-select-btn{width:100%;display:flex;justify-content:space-between;align-items:center;padding:12px;border:1px solid var(--book-line);background:transparent;border-radius:0;font-size:14px;color:#404040;cursor:pointer;line-height:1.2}.ibd-select-btn:hover,.ibd-select-btn:focus,.ibd-select-btn[aria-expanded="true"]{background:transparent!important;border-color:var(--book-line-strong)!important;outline:none!important}.ibd-caret{font-size:12px;color:var(--book-muted);margin-left:12px}.ibd-select-menu{display:none;position:absolute;left:0;right:0;top:calc(100% + 6px);background:var(--book-shell);border:1px solid var(--book-line);z-index:50}.ibd-select-menu button{width:100%;text-align:left;padding:12px 14px;border:0;background:transparent;cursor:pointer;font-size:14px;color:#404040;border-radius:0}.ibd-select-menu button:hover,.ibd-select-menu button:focus{background:rgba(0,0,0,.04)!important;outline:none}
.ibd-cta{width:100%;border-radius:0;border:1px solid var(--book-cta);background:var(--book-cta);color:var(--book-cta-text);padding:12px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;margin-top:6px;line-height:1.2}.ibd-cta:hover,.ibd-cta:focus{background:var(--book-cta)!important;color:var(--book-cta-text)!important;outline:none}.ibd-cta[disabled]{background:transparent!important;color:#404040!important;border-color:var(--book-line)!important;cursor:not-allowed!important;opacity:.85!important}
.ibd-editline{margin-top:9px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px;color:var(--book-muted)}.ibd-edit{border:0;background:transparent;color:#404040;text-decoration:underline;cursor:pointer;padding:6px 0;font-size:13px;white-space:nowrap}.ibd-edit:hover,.ibd-edit:focus{background:transparent!important;color:#404040!important;outline:none;text-decoration:underline!important}

/* Flatpickr desktop/tablet */
.ibd-inline .flatpickr-calendar{box-shadow:none!important;border:none!important;background:transparent!important;width:100%!important}.ibd-inline .flatpickr-innerContainer,.ibd-inline .flatpickr-rContainer,.ibd-inline .flatpickr-days{width:100%!important}.ibd-inline .flatpickr-months{margin-bottom:6px}.ibd-inline .flatpickr-months .flatpickr-month{background:transparent!important;color:#404040!important}.ibd-inline .flatpickr-current-month{font-size:15px!important;letter-spacing:.04em!important}.ibd-inline .flatpickr-weekdays{border-top:1px solid var(--book-line);border-bottom:1px solid var(--book-line);padding:6px 0;margin:6px 0 8px}.ibd-inline .flatpickr-weekdays .flatpickr-weekdaycontainer{display:grid!important;grid-template-columns:repeat(7,1fr)!important;width:100%!important}.ibd-inline span.flatpickr-weekday{color:var(--book-muted)!important;font-weight:400!important;letter-spacing:.04em;display:flex!important;align-items:center!important;justify-content:center!important;margin:0!important;padding:0!important}.ibd-inline .flatpickr-days .dayContainer{display:grid!important;grid-template-columns:repeat(7,1fr)!important;width:100%!important;min-width:0!important;max-width:none!important}.ibd-inline .flatpickr-days .dayContainer>.flatpickr-day{max-width:none!important;width:auto!important}.ibd-inline .flatpickr-day{border-radius:0!important;height:40px!important;line-height:40px!important;font-size:1.02em!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:0!important;padding:4px 0!important;box-shadow:none!important}.ibd-inline .flatpickr-day.flatpickr-disabled,.ibd-inline .flatpickr-day.flatpickr-disabled:hover{opacity:.22!important;color:var(--book-muted)!important;background:transparent!important;border-color:transparent!important;cursor:default!important}.ibd-inline .flatpickr-day.prevMonthDay,.ibd-inline .flatpickr-day.nextMonthDay{opacity:.22!important;color:var(--book-muted)!important}.ibd-inline .flatpickr-day.inRange{background:rgba(64,64,64,.10)!important;border-color:transparent!important;box-shadow:none!important}.ibd-inline .flatpickr-day.selected,.ibd-inline .flatpickr-day.startRange,.ibd-inline .flatpickr-day.endRange{background:rgba(64,64,64,.70)!important;border-color:rgba(64,64,64,.70)!important;color:#fff!important;box-shadow:none!important}.ibd-inline .flatpickr-day.startRange{border-top-left-radius:12px!important;border-bottom-left-radius:12px!important}.ibd-inline .flatpickr-day.endRange{border-top-right-radius:12px!important;border-bottom-right-radius:12px!important}

@media (min-width:768px) and (max-width:1024px){
  .ibe-book-page{padding:74px 44px 72px}.ibd-shell{grid-template-columns:1fr}.ibd-inline .flatpickr-weekdays,.ibd-inline .flatpickr-days{display:flex!important;width:100%!important}.ibd-inline .flatpickr-weekdays .flatpickr-weekdaycontainer,.ibd-inline .flatpickr-days .dayContainer{width:50%!important;flex:1 1 0!important;min-width:0!important}
}

/* ===== Mobile portrait shell ===== */
.ibm-shell{display:none}.ibe-rotate-overlay{display:none!important;position:fixed;inset:0;z-index:2147483647;background:rgba(243,238,231,.98);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);align-items:center;justify-content:center;padding:24px}.ibe-rotate-overlay.is-on{display:flex!important}.ibe-rotate-card{width:100%;max-width:420px;background:var(--book-shell);border:1px solid var(--book-line);border-radius:16px;padding:18px;text-align:center;color:#404040}.ibe-rotate-title{font-size:18px}.ibe-rotate-text{margin-top:8px;font-size:13px;color:var(--book-muted)}

@media (max-width:767px){
  html,body.book-page{height:100%;overflow:hidden!important;background:var(--book-bg)}
  .ibe-book-page{height:calc(100svh - 124px);min-height:calc(100svh - 124px);padding:0;background:var(--book-bg);overflow:hidden!important}
  .ibe-book-intro{display:none}.ibe-book-root{max-width:none;margin:0;height:100%}.ibd-shell{display:none}.ibm-shell{display:block;height:100%;position:relative;background:var(--book-bg);overflow:hidden}
  .ibm-input{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.ibm-calendar-card{position:fixed;left:12px;right:12px;bottom:252px;background:var(--book-shell);border:1px solid var(--book-line);border-radius:16px;padding:8px 8px 9px;overflow:hidden;z-index:1000000}.ibm-sticky{position:fixed!important;left:0;right:0;bottom:0;background:rgba(243,238,231,.96);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:1px solid var(--book-line);padding:6px 10px calc(8px + env(safe-area-inset-bottom));z-index:1000001}.ibm-row-joined{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;margin-bottom:8px}.ibm-box{height:72px;background:var(--book-shell);display:flex;flex-direction:column;border:1px solid var(--book-line)}.ibm-box-left{border-right:0}.ibm-box-mid{border-left:0;border-right:0}.ibm-box-right{border-left:0}.ibm-box-h{background:var(--book-cta);color:var(--book-shell);text-align:center;font-size:8px;letter-spacing:.12em;padding:5px 0;text-transform:uppercase}.ibm-box-v{flex:1;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:500;text-align:center}.ibm-nights{font-weight:400}.ibm-guests{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px}.ibm-select{height:56px;background:var(--book-shell);display:flex;flex-direction:column;border:1px solid var(--book-line);justify-content:center}.ibm-lab{font-size:8px;letter-spacing:.12em;color:var(--book-muted);text-transform:uppercase;padding-top:5px;text-align:center}.ibm-select select{flex:1;font-size:16px;font-weight:500;border:0;background:transparent;text-align:center;text-align-last:center;padding:0;margin:0;outline:0;color:#1F2A3D}.ibm-cta{width:100%;background:var(--book-cta);color:var(--book-cta-text);border:1px solid var(--book-cta);font-size:13px;letter-spacing:.14em;text-transform:uppercase;padding:16px 14px;border-radius:6px}.ibm-cta[disabled]{background:transparent;color:#404040;border-color:var(--book-line)}
  .kln-sticky-cta{display:none!important}
  .ibm-inline .flatpickr-calendar{border:none!important;box-shadow:none!important;background:transparent!important;width:100%!important;margin:0!important}.ibm-inline .flatpickr-months{margin:2px 0 4px}.ibm-inline .flatpickr-current-month{font-size:20px!important;letter-spacing:.03em!important;font-weight:400!important;padding:4px 0!important}.ibm-inline .flatpickr-weekdays{border-top:1px solid var(--book-line);border-bottom:1px solid var(--book-line);padding:6px 0;margin:6px 0}.ibm-inline span.flatpickr-weekday{color:var(--book-muted)!important;font-weight:400!important;letter-spacing:.06em}.ibm-inline .flatpickr-day{border-radius:0!important;border-color:transparent!important;height:34px!important;line-height:34px!important}.ibm-inline .flatpickr-days{padding-bottom:2px!important}.ibm-inline .flatpickr-day.inRange{background:rgba(64,64,64,.10)!important;box-shadow:none!important}.ibm-inline .flatpickr-day.selected,.ibm-inline .flatpickr-day.startRange,.ibm-inline .flatpickr-day.endRange{background:rgba(64,64,64,.70)!important;border-color:rgba(64,64,64,.70)!important;color:#fff!important;box-shadow:none!important}.ibm-inline .flatpickr-day.startRange{border-top-left-radius:16px!important;border-bottom-left-radius:16px!important}.ibm-inline .flatpickr-day.endRange{border-top-right-radius:16px!important;border-bottom-right-radius:16px!important}.ibm-inline .flatpickr-day.flatpickr-disabled,.ibm-inline .flatpickr-day.flatpickr-disabled:hover,.ibm-inline .flatpickr-day.prevMonthDay,.ibm-inline .flatpickr-day.nextMonthDay{opacity:.22!important;color:var(--book-muted)!important;background:transparent!important}
}

@media (max-width:380px){.ibm-calendar-card{bottom:238px}.ibm-box{height:66px}.ibm-select{height:52px}.ibm-cta{padding:14px}}
