.hm-book{
  --hm-gold:#7CADB1;
  --hm-gold-dark:#112631;
  --hm-gold-soft:rgba(124,173,177,.16);
  --hm-text:#ffffff;
  --hm-ink:#1c2b30;
  --hm-muted:#9aa6aa;
  --hm-line:#ececec;
  --hm-bg:#ffffff;
  --hm-radius:18px;
  --hm-scale:1;            /* responzívne zmenšenie */
  --hm-width:1180px;       /* šírka */
  --hm-height:104px;       /* výška pruhu */
  --hm-cta-h:60px;         /* výška (hrúbka) tlačidla */
  --hm-fs-brand:20px;      /* veľkosť – názov */
  --hm-fs-day:42px;        /* veľkosť – čísla dátumu */
  --hm-fs-people:30px;     /* veľkosť – počty osôb */
  --hm-fs-cta:18px;        /* veľkosť – text tlačidla */
  font-family:'Montserrat',-apple-system,Segoe UI,sans-serif;
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
  background:var(--hm-bg);
  border:1px solid rgba(17,38,49,.06);
  border-radius:var(--hm-radius);
  box-shadow:0 24px 60px -28px rgba(17,38,49,.55), 0 4px 14px -8px rgba(17,38,49,.2);
  max-width:var(--hm-width);
  margin:0 auto;
  min-height:var(--hm-height);
}
.hm-book,
.hm-book *,
.hm-book *::before,
.hm-book *::after{box-sizing:border-box;margin:0;padding:0;}

/* Bunky */
.hm-cell{
  display:flex;align-items:center;justify-content:center;
  padding:0 28px;position:relative;
}
.hm-cell:not(:first-child)::before{
  content:"";position:absolute;left:0;top:24%;height:52%;width:1px;background:var(--hm-line);
}

/* Názov */
.hm-brand{
  font-weight:800;letter-spacing:.05em;color:var(--hm-ink);
  font-size:calc(var(--hm-fs-brand) * var(--hm-scale));
  white-space:nowrap;padding-left:34px;padding-right:34px;
}

/* Dátumy */
.hm-dates{gap:20px;position:relative;}
.hm-date{
  position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;
  cursor:pointer;min-width:56px;border-radius:12px;padding:6px 8px;
  background:transparent;border:0;font-family:inherit;transition:background .15s;
}
.hm-date:hover{background:#f5f8f8;}
.hm-date-day{font-weight:800;font-size:calc(var(--hm-fs-day) * var(--hm-scale));line-height:1;color:var(--hm-ink);}
.hm-date-mon{font-weight:700;font-size:calc(12px * var(--hm-scale));letter-spacing:.14em;color:var(--hm-muted);margin-top:5px;}
.hm-dash{color:#c8d2d4;font-weight:700;font-size:calc(22px * var(--hm-scale));margin-top:-14px;}

/* Osoby */
.hm-people{gap:14px;position:relative;}
.hm-children-val{cursor:pointer;}
.hm-people-label{font-weight:700;font-size:calc(13px * var(--hm-scale));letter-spacing:.12em;color:var(--hm-muted);}
.hm-people-val{font-weight:800;font-size:calc(var(--hm-fs-people) * var(--hm-scale));color:var(--hm-ink);min-width:24px;text-align:center;}
.hm-stepper{display:flex;flex-direction:column;gap:3px;}
.hm-stepper button{
  border:0;background:#f1f5f5;cursor:pointer;color:#7a8a8e;
  font-size:9px;line-height:1;padding:5px 6px;border-radius:7px;transition:.15s;
}
.hm-stepper button:hover{color:#fff;background:var(--hm-gold);}

/* Tlačidlo */
.hm-cta{
  align-self:center;margin:0 14px 0 auto;
  display:inline-flex;align-items:center;justify-content:center;
  height:calc(var(--hm-cta-h) * var(--hm-scale));
  border:0;cursor:pointer;background:var(--hm-gold);color:var(--hm-text);
  font-family:inherit;font-weight:800;letter-spacing:.09em;
  font-size:calc(var(--hm-fs-cta) * var(--hm-scale));
  padding:0 50px;border-radius:calc(var(--hm-radius) - 8px);
  transition:background .2s, transform .1s;white-space:nowrap;
}
.hm-cta:hover{background:var(--hm-gold-dark);}
.hm-cta:active{transform:scale(.985);}

/* ===== Mini kalendár ===== */
.hm-cal{
  position:absolute;top:calc(100% + 12px);left:0;z-index:9999;
  width:330px;max-width:calc(100vw - 32px);
  background:#fff;border:1px solid rgba(17,38,49,.08);
  border-radius:16px;box-shadow:0 30px 70px -24px rgba(17,38,49,.5);
  padding:18px;font-family:inherit;
}
.hm-cal[hidden]{display:none;}
.hm-cal-tabs{display:flex;gap:10px;margin-bottom:16px;}
.hm-cal-tab{
  flex:1;border:1px solid var(--hm-line);background:#fff;color:var(--hm-ink);
  font-family:inherit;font-weight:700;letter-spacing:.08em;font-size:13px;
  padding:13px 0;border-radius:10px;cursor:pointer;transition:.15s;
}
.hm-cal-tab:hover{border-color:var(--hm-gold);}
.hm-cal-tab.is-active{background:var(--hm-gold-soft);border-color:var(--hm-gold);color:var(--hm-ink);}
.hm-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.hm-cal-title{font-weight:800;letter-spacing:.04em;color:var(--hm-ink);font-size:15px;}
.hm-cal-nav{
  border:0;background:transparent;font-size:20px;line-height:1;color:var(--hm-ink);
  cursor:pointer;width:34px;height:34px;border-radius:50%;transition:.15s;
}
.hm-cal-nav:hover{background:#f0f4f4;}
.hm-cal-nav[disabled]{color:#cdd5d7;cursor:default;background:transparent;}
.hm-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center;}
.hm-cal-wd{margin-bottom:6px;}
.hm-cal-wdc{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--hm-muted);padding:4px 0;}
.hm-cal-day{
  border:0;background:transparent;cursor:pointer;font-family:inherit;
  font-weight:600;font-size:14px;color:var(--hm-ink);
  aspect-ratio:1/1;border-radius:10px;transition:.12s;
}
.hm-cal-day:hover{background:#f0f4f4;}
.hm-cal-day.is-range{background:var(--hm-gold-soft);}
.hm-cal-day.is-sel{background:var(--hm-gold)!important;color:#fff;}
.hm-cal-day.is-disabled{color:#cdd5d7;cursor:default;}
.hm-cal-day.is-disabled:hover{background:transparent;}
.hm-cal-empty{}

/* ===== Vek detí (popup) ===== */
.hm-kids{
  position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%);z-index:9999;
  width:230px;max-width:calc(100vw - 32px);
  background:#fff;border:1px solid rgba(17,38,49,.08);border-radius:14px;
  box-shadow:0 30px 70px -24px rgba(17,38,49,.5);padding:14px;font-family:inherit;
}
.hm-kids[hidden]{display:none;}
.hm-kids-title{font-weight:800;font-size:12px;letter-spacing:.08em;color:var(--hm-muted);text-transform:uppercase;margin-bottom:12px;}
.hm-kids-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px;}
.hm-kids-row:last-child{margin-bottom:0;}
.hm-kids-row span{font-weight:600;font-size:14px;color:var(--hm-ink);}
.hm-kid-age{
  font-family:inherit;font-size:14px;font-weight:600;color:var(--hm-ink);
  border:1px solid var(--hm-line);border-radius:8px;padding:7px 10px;background:#fff;cursor:pointer;
}
.hm-kid-age:focus{outline:0;border-color:var(--hm-gold);}

/* ===== TABLET / MOBIL ===== */
@media(max-width:860px){
  /* mobilná škála písma (nastaviteľná z admina) */
  .hm-book{ --hm-scale: var(--hm-scale-mobile, .8); min-height:0; }

  /* spoločné: popupy ako vycentrované modály */
  .hm-cal,
  .hm-kids{
    position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);
    min-width:min(320px,calc(100vw - 24px));max-width:calc(100vw - 24px);
    max-height:90vh;overflow-y:auto;z-index:99999;
  }

  /* ---- REŽIM: POD SEBA (predvolené) ---- */
  .hm-book:not(.hm-mobile-row){ flex-wrap:wrap; }
  .hm-book:not(.hm-mobile-row) .hm-cell{ padding:18px 16px; }
  .hm-book:not(.hm-mobile-row) .hm-cell:not(:first-child)::before{ display:none; }
  .hm-book:not(.hm-mobile-row) .hm-brand{ flex-basis:100%; justify-content:center; padding:18px; border-bottom:1px solid var(--hm-line); }
  .hm-book:not(.hm-mobile-row) .hm-dates{ flex-basis:100%; border-bottom:1px solid var(--hm-line); }
  .hm-book:not(.hm-mobile-row) .hm-people{ flex:1 1 50%; border-bottom:1px solid var(--hm-line); }
  .hm-book:not(.hm-mobile-row) .hm-people:first-of-type{ border-right:1px solid var(--hm-line); }
  .hm-book:not(.hm-mobile-row) .hm-cta{ flex-basis:100%; align-self:auto; margin:14px; padding:0 16px; border-radius:12px; }

  /* ---- REŽIM: JEDEN RIADOK ---- */
  .hm-book.hm-mobile-row{ flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .hm-book.hm-mobile-row .hm-cell{ flex:0 0 auto; padding:0 12px; }
  .hm-book.hm-mobile-row .hm-brand{ padding:0 14px; }
  .hm-book.hm-mobile-row .hm-dates{ gap:12px; }
  .hm-book.hm-mobile-row .hm-people{ gap:8px; }
  .hm-book.hm-mobile-row .hm-cta{ flex:0 0 auto; align-self:center; margin:8px 10px 8px auto; padding:0 22px; }
}

/* malé telefóny */
@media(max-width:480px){
  .hm-book{ --hm-radius:14px; }
  .hm-book:not(.hm-mobile-row) .hm-cell{ padding:14px 12px; }
  .hm-book:not(.hm-mobile-row) .hm-brand{ padding:15px; }
  .hm-book:not(.hm-mobile-row) .hm-dates{ gap:14px; }
}
