.akomio-booking{--akb-brand:var(--brand-600,#0f766e);--akb-ink:#18302b;--akb-line:#dce5e1;width:100%;max-width:none;margin-inline:auto;color:var(--akb-ink);font:16px/1.5 system-ui,sans-serif}
.akomio-booking [hidden]{display:none}
.akomio-booking>*,.akb-calendar-wrap,.akb-calendar-wrap .akomio-calendar{min-width:0}
.akomio-booking>*+*{margin-top:1.25rem}
.akb-header{width:100%}
.akb-header h2{font-size:clamp(1.7rem,3.3vw,2.3rem);font-weight:800;line-height:1.15;margin:0}
.akb-header p{margin:.35rem 0 0}
.akb-extras h3,.akb-summary h3{margin:.1rem 0}
.akb-header p,.akb-note{color:#50645e}
.akb-calendar-wrap{padding:clamp(1rem,3vw,1.75rem);border:1px solid var(--akb-line);border-radius:1.1rem;background:#fff;box-shadow:0 1px 2px rgba(24,48,43,.05)}
.akb-calendar-wrap .akomio-calendar{max-width:none}
.akb-stay{font-weight:600;font-size:1.05rem}
.akb-extras,.akb-price,.akb-summary{border-top:1px solid var(--akb-line);padding-top:1.1rem}
.akb-extra{display:flex;align-items:center;gap:.7rem;padding:.65rem 0;border-bottom:1px solid #edf1ef}
.akb-extra-main{flex:1;cursor:pointer}
.akb-extra small{display:block;color:#50645e}
.akb-extra input[type=number]{width:4.5rem;padding:.4rem}
.akb-price-row,.akb-summary-row{display:flex;justify-content:space-between;gap:1rem;padding:.25rem 0}
.akb-total{display:flex;justify-content:space-between;gap:1rem;margin-top:.5rem;padding-top:.6rem;border-top:1px solid var(--akb-line);font-size:1.3rem;font-weight:800}
.akb-form{display:grid;gap:1.1rem;padding:clamp(1rem,3vw,1.75rem);border:1px solid var(--akb-line);border-radius:1.1rem;background:#fff}
.akb-form fieldset{border:1px solid var(--akb-line);border-radius:.8rem;padding:1rem;display:grid;gap:.75rem}
.akb-form legend{font-weight:700;padding:0 .3rem}
.akb-form label{display:grid;gap:.25rem;font-weight:600}
.akb-form input,.akb-form textarea{font:inherit;padding:.65rem;border:1px solid #b9c8c2;border-radius:.5rem}
.akb-two{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.akb-summary{border-top:1px solid var(--akb-line);border-radius:.8rem}
.akb-submit{border:0;border-radius:.6rem;background:var(--akb-brand);color:#fff;font:700 1.05rem inherit;padding:.9rem 1.3rem;cursor:pointer;width:100%}
.akb-submit:hover{filter:brightness(.94)}
.akb-submit:disabled{opacity:.65;cursor:wait}
.akb-error{color:#9b2c2c;margin:0}
.akb-success{padding:1.25rem;border-radius:1rem;background:#edf8f3;color:#14532d}
.akb-success h3{margin:0 0 .35rem}
@media(min-width:60rem){
  .akb-calendar-wrap{padding:2rem}
}
@media(min-width:56rem){
  .akomio-booking{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);
    grid-template-areas:
      "header header"
      "calendar stay"
      "calendar extras"
      "calendar price"
      "calendar form"
      "calendar success"
      "calendar note";
    column-gap:clamp(1.5rem,4vw,3rem);
    align-items:start;
  }
  .akb-header{grid-area:header}
  .akb-calendar-wrap{grid-area:calendar}
  .akb-stay{grid-area:stay}
  .akb-extras{grid-area:extras}
  .akb-price{grid-area:price}
  .akb-form{grid-area:form}
  .akb-success{grid-area:success}
  .akb-note{grid-area:note}
}
@media(max-width:34rem){
  .akb-two{grid-template-columns:1fr}
  .akb-calendar-wrap{padding:.65rem}
  .akb-form{padding:1rem}
  .akb-extra{align-items:flex-start}
}
