.ohb-booking{--ohb-gold:#cdb383;--ohb-gold-deep:#b18e57;--ohb-ink:#241914;--ohb-muted:#7a7069;--ohb-soft:#f7f3ed;--ohb-soft-2:#fbfaf7;--ohb-border:#e8e1d8;--ohb-green:#2e8b57;--ohb-green-bg:#eff8f1;--ohb-red:#a6534d;--ohb-red-bg:#f8eeee;--ohb-shadow:0 22px 60px rgba(34,25,19,.08);max-width:1180px;margin:48px auto;font-family:inherit;color:var(--ohb-ink);isolation:isolate}
.ohb-booking *{box-sizing:border-box}.ohb-card{background:#fff;border:1px solid rgba(36,25,20,.07);box-shadow:var(--ohb-shadow);padding:42px clamp(24px,4vw,54px) 48px;position:relative;overflow:hidden}.ohb-heading{max-width:900px}.ohb-kicker{font-size:11px;font-weight:700;letter-spacing:.22em;color:var(--ohb-gold-deep);margin-bottom:12px}.ohb-title{margin:0;font-size:clamp(28px,3vw,40px);line-height:1.14;font-weight:500;letter-spacing:-.02em}.ohb-intro{margin:14px 0 0;color:var(--ohb-muted);font-size:15px;line-height:1.75;max-width:820px}
.ohb-demo-banner{display:flex;gap:10px;align-items:flex-start;margin:-42px -54px 32px;padding:13px 18px;background:#f4efe4;border-bottom:1px solid #dfd2b8;color:#6b5b3d}.ohb-demo-dot{width:9px;height:9px;border-radius:50%;background:#b99557;box-shadow:0 0 0 5px rgba(185,149,87,.14);margin-top:5px}.ohb-demo-banner strong,.ohb-demo-banner span{display:block}.ohb-demo-banner strong{font-size:12px;text-transform:uppercase;letter-spacing:.12em}.ohb-demo-banner span{font-size:12px;margin-top:2px;color:#86745b}
.ohb-step{display:grid;grid-template-columns:42px 1fr;gap:18px;margin-top:35px;align-items:start}.ohb-step-number{width:34px;height:34px;border-radius:50%;border:1px solid #d6c29b;background:#fff;color:#6f5b39;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.ohb-step-body{min-width:0}.ohb-step-title{font-size:18px;font-weight:700;line-height:1.35}.ohb-step-hint{font-size:13px;line-height:1.55;color:var(--ohb-muted);margin-top:4px}.ohb-step-headline{display:flex;justify-content:space-between;gap:18px;align-items:flex-end}
.ohb-select-shell{position:relative;display:block;max-width:340px;margin-top:14px}.ohb-select-shell select{appearance:none;width:100%;height:54px;border:1px solid #dcd4ca;border-radius:0;background:#fff;padding:0 45px 0 16px;color:var(--ohb-ink);font:inherit;cursor:pointer;transition:border-color .18s,box-shadow .18s}.ohb-select-shell select:hover{border-color:#c7b9a9}.ohb-select-shell select:focus{outline:none;border-color:var(--ohb-gold-deep);box-shadow:0 0 0 3px rgba(205,179,131,.18)}.ohb-select-arrow{position:absolute;right:16px;top:50%;transform:translateY(-54%);pointer-events:none;color:#695847;font-size:19px}
.ohb-calendar-shell{margin-top:16px;border:1px solid var(--ohb-border);background:var(--ohb-soft-2)}.ohb-calendar-toolbar{display:grid;grid-template-columns:48px 1fr 48px;gap:12px;align-items:center;padding:16px 18px 13px;border-bottom:1px solid var(--ohb-border);background:#fff}.ohb-month-label{text-align:center;font-size:16px;font-weight:700;letter-spacing:.02em;text-transform:capitalize}.ohb-nav{width:48px;height:46px;border:1px solid #ddd3c7;background:#fff;color:var(--ohb-ink);cursor:pointer;transition:background .18s,border-color .18s,transform .18s}.ohb-nav:hover:not(:disabled){background:#faf6ef;border-color:#cdb383;transform:translateY(-1px)}.ohb-nav:disabled{opacity:.36;cursor:not-allowed}.ohb-nav span{font-size:27px;line-height:1;font-family:Georgia,serif}
.ohb-calendar-topline{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 18px 10px;flex-wrap:wrap;background:var(--ohb-soft-2)}.ohb-calendar-status{font-size:12px;color:var(--ohb-muted);min-height:18px}.ohb-calendar-status.is-loading{color:#806f5f}.ohb-calendar-status.is-error{color:#9a5b55}.ohb-calendar-status.is-ready{color:#6c655d}.ohb-legend{display:flex;gap:13px;flex-wrap:wrap;font-size:11px;color:#6f6760}.ohb-legend span{display:inline-flex;align-items:center;gap:6px}.ohb-legend-dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex:0 0 auto}.ohb-dot-available{background:#dcf1e1;border:1px solid #b9dbbf}.ohb-dot-booked{background:#efd9d7;border:1px solid #dfbbb8}.ohb-dot-selected{background:var(--ohb-gold);border:1px solid #b18e57}.ohb-dot-departure{background:linear-gradient(135deg,#efd9d7 0 50%,#d3ba83 50% 100%);border:1px solid #c6ae7c}
.ohb-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:14px 18px 20px;background:var(--ohb-soft-2)}.ohb-month{background:#fff;border:1px solid #e5ded5;padding:16px}.ohb-month-title{text-align:center;font-size:15px;font-weight:700;text-transform:capitalize;margin:0 0 12px}.ohb-weekdays,.ohb-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.ohb-weekdays span{text-align:center;font-size:10px;font-weight:700;color:#9b9087;padding:4px 0}.ohb-day{position:relative;min-height:49px;border:1px solid transparent;border-radius:3px;background:#fff;cursor:pointer;font:inherit;color:var(--ohb-ink);font-size:13px;font-weight:600;transition:background .15s,border-color .15s,transform .12s,color .15s}.ohb-day:hover:not(:disabled){border-color:#d1bd98;background:#fbf6ed;transform:translateY(-1px)}.ohb-day:focus-visible{outline:2px solid #b3915c;outline-offset:1px}.ohb-day.is-empty{background:transparent!important;border-color:transparent!important;cursor:default}.ohb-day.is-available{background:var(--ohb-green-bg);color:#356b4a}.ohb-day.is-booked{background:var(--ohb-red-bg);color:#a26b67;cursor:not-allowed}.ohb-day.is-past{background:#f6f4f1;color:#bdb4ac;cursor:not-allowed}.ohb-day.is-start,.ohb-day.is-end{background:var(--ohb-gold)!important;color:#2c241d!important;border-color:#b5925a!important;box-shadow:0 5px 12px rgba(177,142,87,.2)}.ohb-day.is-range{background:#efe2cb!important;color:#3a2c20!important}.ohb-day.is-range:hover{border-color:#d2b983}.ohb-day.is-departure-option{background:linear-gradient(135deg,#f8eeee 0 52%,#d6be88 52% 100%);color:#6e5a40;border-color:#d7c18f}.ohb-day .ohb-day-status{position:absolute;right:5px;top:5px;width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.55}.ohb-day.is-start .ohb-day-status,.ohb-day.is-end .ohb-day-status{display:none}.ohb-calendar-loading{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;padding:14px 18px 20px}.ohb-skeleton{height:320px;background:linear-gradient(90deg,#f5f2ee 25%,#fbfaf8 37%,#f5f2ee 63%);background-size:400% 100%;animation:ohbShimmer 1.4s ease infinite;border:1px solid #eee7df}@keyframes ohbShimmer{0%{background-position:100% 50%}100%{background-position:0 50%}}
.ohb-empty-state{padding:22px;color:var(--ohb-muted);line-height:1.65}.ohb-error-state{padding:20px 18px;border-top:1px solid var(--ohb-border);background:#fff8f6;color:#945e57;font-size:13px}.ohb-selection-card{margin-top:18px;padding:20px;background:linear-gradient(180deg,#fbf7ef,#f8f3eb);border:1px solid #e5d8c5}.ohb-selection-top{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:end}.ohb-selection-top>div:not(.ohb-selection-arrow){display:flex;flex-direction:column;gap:4px}.ohb-selection-top span,.ohb-selection-meta span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#8d7d6e}.ohb-selection-top strong{font-size:15px}.ohb-selection-arrow{align-self:center;color:#ad8d5a;font-size:20px}.ohb-selection-meta{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:17px;padding-top:15px;border-top:1px solid rgba(177,142,87,.22)}.ohb-selection-meta span{display:inline-flex;align-items:center;gap:4px}.ohb-selection-meta span:not(:last-child)::after{content:'•';margin-left:10px;color:#b3a28c}.ohb-selection-meta b{color:var(--ohb-ink);font-size:13px}.ohb-selection-price{margin-left:auto;color:#2d6e49!important}.ohb-price-note{margin-top:10px;color:#8a817a;font-size:11px;line-height:1.55}.ohb-reset.link{margin-top:12px;border:0;background:none;padding:0;color:#876b43;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font:inherit;font-size:12px}.ohb-reset.small{border:0;background:none;color:#876b43;text-decoration:underline;text-underline-offset:3px;padding:0;cursor:pointer;font:inherit;font-size:12px}
.ohb-step-form{margin-top:39px;padding-top:30px;border-top:1px solid var(--ohb-border);animation:ohbFadeIn .28s ease}@keyframes ohbFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.ohb-form{margin-top:18px}.ohb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ohb-field{display:flex;flex-direction:column;gap:8px}.ohb-field>span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#8a7e75}.ohb-field input{width:100%;height:51px;border:1px solid #dcd4ca;background:#fff;color:var(--ohb-ink);padding:0 14px;font:inherit;transition:border-color .18s,box-shadow .18s}.ohb-field input::placeholder{color:#b7aea6}.ohb-field input:focus{outline:none;border-color:#b6925c;box-shadow:0 0 0 3px rgba(182,146,92,.15)}.ohb-checks{display:flex;flex-direction:column;gap:10px;margin:22px 0}.ohb-checks label{display:flex;gap:9px;align-items:flex-start;color:#786f68;font-size:12px;line-height:1.55}.ohb-checks input{margin:2px 0 0}.ohb-checks a{color:#806641}.ohb-submit-row{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.ohb-submit{min-height:53px;padding:0 24px 0 27px;border:0;background:#cdb383;color:#fff;cursor:pointer;font:inherit;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;display:inline-flex;gap:18px;align-items:center;transition:background .18s,transform .18s,opacity .18s}.ohb-submit:hover:not(:disabled){background:#b18e57;transform:translateY(-1px)}.ohb-submit:disabled{opacity:.6;cursor:not-allowed}.ohb-submit-arrow{font-size:20px;font-weight:400;line-height:1}.ohb-form-message{min-height:20px;font-size:13px;line-height:1.6;flex:1 1 280px}.ohb-form-message.is-success,.ohb-form-message.is-error{padding:11px 14px}.ohb-form-message.is-success{background:#eff7f1;border-left:3px solid #87af93;color:#477154}.ohb-form-message.is-error{background:#faf0ee;border-left:3px solid #bd7a72;color:#965b54}.ohb-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.ohb-booking a{text-underline-offset:2px}.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media (max-width:900px){.ohb-card{padding:34px 24px 40px}.ohb-grid{grid-template-columns:1fr 1fr}.ohb-months{grid-template-columns:1fr}.ohb-calendar-loading{grid-template-columns:1fr}.ohb-selection-price{margin-left:0}.ohb-demo-banner{margin:-34px -24px 28px}}
@media (max-width:640px){.ohb-booking{margin:30px auto}.ohb-card{padding:28px 16px 34px}.ohb-demo-banner{margin:-28px -16px 24px}.ohb-title{font-size:28px}.ohb-step{grid-template-columns:34px 1fr;gap:11px;margin-top:29px}.ohb-step-number{width:30px;height:30px}.ohb-calendar-toolbar{grid-template-columns:42px 1fr 42px;padding:12px}.ohb-nav{width:42px;height:42px}.ohb-months{padding:10px 10px 15px}.ohb-month{padding:11px}.ohb-day{min-height:43px;font-size:12px}.ohb-calendar-topline{padding:12px;align-items:flex-start}.ohb-selection-top{grid-template-columns:1fr}.ohb-selection-arrow{display:none}.ohb-selection-meta{gap:8px}.ohb-selection-meta span:not(:last-child)::after{content:'';margin:0}.ohb-grid{grid-template-columns:1fr}.ohb-submit{width:100%;justify-content:center}.ohb-form-message{width:100%}}

/* v0.3.1 visual refinement – scoped overrides for Elementor/theme compatibility */
.ohb-booking .ohb-title{font-size:clamp(30px,3vw,42px);line-height:1.16}
.ohb-booking .ohb-intro{font-size:16.5px;line-height:1.78}
.ohb-booking .ohb-step-title{font-size:20px;line-height:1.35}
.ohb-booking .ohb-step-hint{font-size:15px;line-height:1.65}
.ohb-booking .ohb-select-shell select{font-size:15px}

/* Calendar controls must win over Elementor's global button rules. */
.ohb-booking button.ohb-nav{width:50px!important;min-width:50px!important;max-width:50px!important;height:50px!important;min-height:50px!important;padding:0!important;margin:0!important;border:1px solid #ccb17f!important;border-radius:2px!important;background:var(--ohb-gold)!important;color:#fff!important;box-shadow:none!important;display:flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;transform:none!important}
.ohb-booking button.ohb-nav:hover:not(:disabled){background:var(--ohb-gold-deep)!important;border-color:var(--ohb-gold-deep)!important;transform:translateY(-1px)!important;box-shadow:0 6px 16px rgba(177,142,87,.20)!important}
.ohb-booking button.ohb-nav:focus-visible{outline:2px solid #7f633b!important;outline-offset:2px!important}
.ohb-booking button.ohb-nav span{display:block;font-size:27px!important;line-height:1!important;font-family:Georgia,serif!important;font-weight:400!important;transform:translateY(-1px)}

.ohb-booking .ohb-calendar-toolbar{grid-template-columns:50px 1fr 50px;min-height:82px;align-items:center;padding:14px 18px}
.ohb-booking .ohb-month-label{font-size:18px;line-height:1.3}
.ohb-booking .ohb-calendar-status{font-size:13px}
.ohb-booking .ohb-legend{font-size:12.5px;gap:14px}
.ohb-booking .ohb-legend-dot{width:10px;height:10px}

/* Prevent theme button padding from breaking two-digit calendar numbers. */
.ohb-booking button.ohb-day{width:100%!important;min-width:0!important;max-width:none!important;height:52px!important;min-height:52px!important;padding:0!important;margin:0!important;border-width:1px!important;border-style:solid!important;border-color:transparent!important;border-radius:3px!important;display:flex!important;align-items:center!important;justify-content:center!important;position:relative!important;white-space:nowrap!important;word-break:normal!important;overflow:hidden!important;font-family:inherit!important;font-size:15px!important;font-weight:600!important;line-height:1!important;letter-spacing:0!important;box-shadow:none!important}
.ohb-booking button.ohb-day.is-available{background:var(--ohb-green-bg)!important;color:#356b4a!important}
.ohb-booking button.ohb-day.is-booked{background:var(--ohb-red-bg)!important;color:#a26b67!important}
.ohb-booking button.ohb-day.is-past{background:#f6f4f1!important;color:#bdb4ac!important}
.ohb-booking button.ohb-day.is-range{background:#efe2cb!important;color:#3a2c20!important}
.ohb-booking button.ohb-day.is-start,.ohb-booking button.ohb-day.is-end{background:var(--ohb-gold)!important;color:#2c241d!important;border-color:#b5925a!important;box-shadow:0 5px 12px rgba(177,142,87,.22)!important}
.ohb-booking button.ohb-day.is-departure-option{background:linear-gradient(135deg,#f8eeee 0 52%,#d6be88 52% 100%)!important;color:#6e5a40!important;border-color:#d7c18f!important}
.ohb-booking button.ohb-day.is-preview{background:#f1e6d3!important;color:#4b3b2a!important}
.ohb-booking button.ohb-day.is-preview-invalid{background:#f9e7e4!important;color:#965c56!important}
.ohb-booking button.ohb-day:hover:not(:disabled){border-color:#d1bd98!important;background:#fbf6ed!important;transform:translateY(-1px)!important;box-shadow:0 5px 10px rgba(36,25,20,.05)!important}
.ohb-booking button.ohb-day.is-start:hover:not(:disabled),.ohb-booking button.ohb-day.is-end:hover:not(:disabled){background:var(--ohb-gold-deep)!important;color:#fff!important;border-color:var(--ohb-gold-deep)!important}
.ohb-booking button.ohb-day:focus-visible{outline:2px solid #8f7045!important;outline-offset:-2px!important}

.ohb-booking .ohb-weekdays span{font-size:11.5px;padding:6px 0}
.ohb-booking .ohb-month-title{font-size:17px;margin-bottom:14px}
.ohb-booking .ohb-month{padding:18px}
.ohb-booking .ohb-days{gap:4px}

/* Make the two reset/change actions clearly actionable without looking like generic links. */
.ohb-booking button.ohb-reset.small{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:40px!important;padding:0 14px!important;margin:0!important;border:1px solid #d4c09b!important;border-radius:2px!important;background:#f5efe3!important;color:#765d37!important;cursor:pointer!important;font:inherit!important;font-size:12px!important;font-weight:700!important;letter-spacing:.08em!important;text-transform:uppercase!important;text-decoration:none!important;transition:background .18s,color .18s,border-color .18s,transform .18s,box-shadow .18s!important}
.ohb-booking button.ohb-reset.small:hover{background:var(--ohb-gold)!important;border-color:var(--ohb-gold)!important;color:#fff!important;transform:translateY(-1px)!important;box-shadow:0 5px 14px rgba(177,142,87,.18)!important}
.ohb-booking button.ohb-reset.link{display:inline-flex!important;align-items:center!important;min-height:40px!important;padding:0 14px!important;margin-top:13px!important;border:1px solid #d4c09b!important;border-radius:2px!important;background:#f5efe3!important;color:#765d37!important;cursor:pointer!important;font:inherit!important;font-size:12px!important;font-weight:700!important;letter-spacing:.07em!important;text-transform:uppercase!important;text-decoration:none!important;transition:background .18s,color .18s,border-color .18s,transform .18s,box-shadow .18s!important}
.ohb-booking button.ohb-reset.link:hover{background:var(--ohb-gold)!important;border-color:var(--ohb-gold)!important;color:#fff!important;transform:translateY(-1px)!important;box-shadow:0 5px 14px rgba(177,142,87,.18)!important}

/* Selection summary gets slightly stronger hierarchy. */
.ohb-booking .ohb-selection-card{padding:23px 24px;background:linear-gradient(180deg,#fcf8f0,#f8f2e8);border-color:#decfb8;box-shadow:0 7px 20px rgba(36,25,20,.04)}
.ohb-booking .ohb-selection-top span,.ohb-booking .ohb-selection-meta span{font-size:12px}
.ohb-booking .ohb-selection-top strong{font-size:16px}
.ohb-booking .ohb-selection-arrow{font-size:23px}
.ohb-booking .ohb-selection-meta b{font-size:14px}
.ohb-booking .ohb-selection-price{font-size:15px!important}
.ohb-booking .ohb-price-note{font-size:12px}


/* Contact data follows the final Hyperion person schema: surname + firstname + email + phone. */
.ohb-booking .ohb-contact-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.ohb-booking .ohb-contact-grid .ohb-field:nth-child(3),
.ohb-booking .ohb-contact-grid .ohb-field:nth-child(4){margin-top:0}
@media (max-width:980px){
  .ohb-booking .ohb-contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .ohb-booking .ohb-contact-grid{grid-template-columns:1fr}
}

/* Form readability and checkbox affordance. */
.ohb-booking .ohb-field>span{font-size:13.5px}
.ohb-booking .ohb-field input{height:54px;font-size:15px}
.ohb-booking .ohb-checks{gap:12px;margin:24px 0}
.ohb-booking .ohb-checks label{gap:11px;align-items:center;font-size:14px;line-height:1.6;cursor:pointer}
.ohb-booking .ohb-checks input[type="checkbox"]{appearance:none;-webkit-appearance:none;width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;margin:0!important;padding:0!important;border:1px solid #c7b79f!important;border-radius:2px!important;background:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.65)!important;display:grid!important;place-content:center!important;cursor:pointer!important;transition:background .16s,border-color .16s,box-shadow .16s!important}
.ohb-booking .ohb-checks input[type="checkbox"]:hover{border-color:#a98a5b!important;box-shadow:0 0 0 3px rgba(205,179,131,.12)!important}
.ohb-booking .ohb-checks input[type="checkbox"]:focus-visible{outline:2px solid #8f7045!important;outline-offset:2px!important}
.ohb-booking .ohb-checks input[type="checkbox"]:checked{background:#b18e57!important;border-color:#b18e57!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5 8.3 14 15 6.8' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-size:14px 14px!important;background-repeat:no-repeat!important;background-position:center!important}
.ohb-booking .ohb-checks a{font-size:14px;font-weight:500;text-underline-offset:3px}
.ohb-booking .ohb-submit{min-height:56px;padding:0 26px 0 30px!important;font-size:13px!important;letter-spacing:.11em!important}

@media (max-width:900px){
  .ohb-booking .ohb-calendar-toolbar{grid-template-columns:46px 1fr 46px}
  .ohb-booking button.ohb-nav{width:46px!important;min-width:46px!important;max-width:46px!important;height:46px!important;min-height:46px!important}
}
@media (max-width:640px){
  .ohb-booking .ohb-intro{font-size:15.5px}
  .ohb-booking .ohb-step-title{font-size:18px}
  .ohb-booking .ohb-step-hint{font-size:14px}
  .ohb-booking .ohb-calendar-toolbar{grid-template-columns:44px 1fr 44px;padding:11px 12px;min-height:70px}
  .ohb-booking button.ohb-nav{width:44px!important;min-width:44px!important;max-width:44px!important;height:44px!important;min-height:44px!important}
  .ohb-booking .ohb-month-label{font-size:16px}
  .ohb-booking .ohb-month{padding:13px}
  .ohb-booking .ohb-day{height:46px!important;min-height:46px!important;font-size:14px!important}
  .ohb-booking .ohb-weekdays span{font-size:11px}
  .ohb-booking .ohb-checks label,.ohb-booking .ohb-checks a{font-size:13.5px}

  /* Mobile: let only Step 2's calendar use the full card width.
     The numbered step rail remains visible, while the calendar itself can
     extend into the left rail area for easier tapping and less cramped layout. */
  .ohb-booking .ohb-step[data-ohb-step="2"] .ohb-calendar-shell{
    width:calc(100% + 45px);
    margin-left:-45px;
  }
  .ohb-booking .ohb-step[data-ohb-step="2"] .ohb-selection-card{
    width:calc(100% + 45px);
    margin-left:-45px;
  }
  .ohb-booking .ohb-step[data-ohb-step="2"] .ohb-reset.small{
    white-space:nowrap;
    flex:0 0 auto;
  }
}

/* Live Hyperion pricing diagnostics: keep the selection summary visible while
   clearly distinguishing a missing/temporarily unavailable price from an unavailable stay. */
.ohb-booking .ohb-selection-price.is-unavailable{
  color:#94654e!important;
  font-weight:600!important;
}

/* v0.4.4: optional booking note field */
.ohb-booking .ohb-note-field{display:flex;flex-direction:column;gap:8px;margin-top:18px}
.ohb-booking .ohb-field textarea{display:block;width:100%;min-height:96px;max-width:100%;box-sizing:border-box;border:1px solid #dcd4ca;background:#fff;color:var(--ohb-ink);padding:12px 14px;font:inherit;line-height:1.55;resize:vertical;transition:border-color .18s,box-shadow .18s}
.ohb-booking .ohb-field textarea::placeholder{color:#b7aea6}
.ohb-booking .ohb-field textarea:focus{outline:none;border-color:#b6925c;box-shadow:0 0 0 3px rgba(182,146,92,.15)}
