@import url('https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600;700;800&display=swap');

.jgb-booking,
.jgb-booking *{
  box-sizing:border-box;
  font-family:'Figtree',system-ui,-apple-system,Segoe UI,sans-serif;
  font-style:normal;
}

.jgb-booking{
  --jgb-green:#00564f;
  --jgb-green-dark:#003f39;
  --jgb-green-mid:#8fc0b9;
  --jgb-green-soft:#e9f5f2;
  --jgb-cream:#f8f5ed;
  --jgb-panel:#ffffff;
  --jgb-line:#e4ded2;
  --jgb-text:#1b2521;
  --jgb-muted:#7d8781;
  --jgb-shadow:0 24px 70px rgba(16,26,22,.10);
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:0;
  color:var(--jgb-text);
  background:transparent;
  border-radius:0;
  position:relative;
  overflow:visible;
}

.jgb-steps{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  width:100%;
  margin:0 0 24px;
  padding:12px 24px;
  min-height:74px;
  background:#fff;
  border-radius:999px;
  box-shadow:0 18px 50px rgba(11,25,20,.08);
}
.jgb-step{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
  color:#c5c7c6;
  font-weight:500;
  white-space:nowrap;
  flex:1;
}
.jgb-step:last-child{flex:0 0 auto}
.jgb-step b{
  display:flex;
  align-items:center;
  justify-content:center;
  width:54px;
  height:54px;
  flex:0 0 54px;
  border-radius:50%;
  border:1.5px solid #d7d8d7;
  background:#fff;
  color:#c4c6c5;
  font-size:18px;
  font-weight:500;
}
.jgb-step span{
  font-size:15px;
  letter-spacing:0;
  text-transform:none;
  color:inherit;
}
.jgb-step i{
  display:block;
  flex:1;
  height:1px;
  min-width:70px;
  background:#d6d6d6;
}
.jgb-step.is-active{color:#111}
.jgb-step.is-done{color:#111}
.jgb-step.is-active b{
  background:#fff;
  color:var(--jgb-green);
  border-color:var(--jgb-green);
}
.jgb-step.is-done b{
  background:var(--jgb-green);
  color:#fff;
  border-color:var(--jgb-green);
}

.jgb-panel{
  position:relative;
  height:auto;
  min-height:0;
  overflow:visible;
  background:var(--jgb-panel);
  border:1px solid var(--jgb-line);
  border-radius:28px;
  box-shadow:var(--jgb-shadow);
  padding:26px 28px;
}
.jgb-view{display:none;opacity:0;transform:translateY(10px);height:auto;min-height:0}
.jgb-view.is-active{display:flex;flex-direction:column;animation:jgbView .58s cubic-bezier(.22,1,.36,1) forwards}
.jgb-booking.is-transitioning .jgb-view.is-active{pointer-events:none}

.jgb-loader{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(8px);
  z-index:20;
  border-radius:28px;
}
.jgb-loader[hidden]{display:none}
.jgb-loader span{
  width:34px;
  height:34px;
  border-radius:50%;
  border:3px solid #dce9e3;
  border-top-color:var(--jgb-green);
  animation:jgbSpin .8s linear infinite;
}

.jgb-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  min-height:54px;
}
.jgb-head h3,
.jgb-view>h3{
  font-size:22px;
  line-height:1.1;
  margin:0;
  font-weight:500;
  letter-spacing:-.01em;
}
.jgb-selected{
  min-width:320px;
  min-height:42px;
  border:1px solid transparent;
  border-radius:999px;
  padding:7px 14px;
  display:flex;
  align-items:center;
  gap:10px;
  justify-content:center;
  background:transparent;
  color:#111;
  transition:color .2s ease,background-color .2s ease,border-color .2s ease;
}
.jgb-selected.has-value{color:var(--jgb-text)}
.jgb-selected b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 18px;
  border:1px solid #111;
  border-radius:999px;
  font-size:13px;
  letter-spacing:1.5px;
  color:#111;
  white-space:nowrap;
  margin-left:6px;
}
.jgb-selected b:empty,
.jgb-selected:not(.has-value) span{
  display:none;
}

.jgb-selected-hint{
  display:inline-flex;
  align-items:center;
  max-width:min(360px, 100%);
  padding:6px 10px;
  border:1px solid #c7e1dc;
  border-radius:999px;
  background:#eef8f5;
  color:var(--jgb-green);
  font-size:12px;
  line-height:1;
  font-style:normal;
  font-weight:500;
  white-space:nowrap;
  margin-left:2px;
}

.jgb-selected.has-error .jgb-selected-hint{
  border-color:#f0b9a9;
  background:#fff3ef;
  color:#9a3d24;
}

.jgb-cal-ico{width:21px;height:21px;object-fit:contain;flex:0 0 21px}
.jgb-line{height:1px;background:#e7e4de;margin:18px 0}
.jgb-view>.jgb-actions{margin-top:0}

/* Date picker */
.jgb-calendar-shell{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:2px 0 0;
}
.jgb-calendar-shell .jgb-month-arrow{
  flex:0 0 38px;
}
.jgb-months{
  display:flex;
  gap:64px;
  flex:1;
  min-width:0;
}
.jgb-month{flex:1;min-width:0}
.jgb-month-title{
  text-align:center;
  font-weight:400;
  font-size:21px;
  margin:0 0 26px;
  color:#111;
}
.jgb-week,
.jgb-days{
  display:flex;
  flex-wrap:wrap;
  width:100%;
}
.jgb-days{
  position:relative;
}
.jgb-week span{
  width:14.285714%;
  text-align:center;
  font-size:16px;
  line-height:1;
  font-weight:400;
  color:#7f8582;
  text-transform:none;
  padding:0 0 18px;
}
.jgb-days>span,
.jgb-day{
  width:14.285714%;
  height:66px;
  margin:0;
}
.jgb-day{
  position:relative;
  border:0;
  padding:0;
  background:transparent;
  color:#17211d;
  font-size:19px;
  font-weight:400;
  cursor:pointer;
  isolation:isolate;
  overflow:visible;
  -webkit-tap-highlight-color:transparent;
  transition:color .22s ease;
}
.jgb-day[disabled]{opacity:.27;cursor:not-allowed}
.jgb-day i{display:none}
.jgb-range-track{
  position:absolute;
  height:58px;
  border-radius:999px;
  background:#eef4f1;
  opacity:1;
  transform:none;
  transform-origin:left center;
  z-index:1;
  pointer-events:none;
  will-change:left,width,top;
  transition:
    left .28s cubic-bezier(.22,1,.36,1),
    width .28s cubic-bezier(.22,1,.36,1),
    top .28s cubic-bezier(.22,1,.36,1);
}
.jgb-range-track.is-visible{
  opacity:1;
  transform:none;
}
.jgb-range-track.is-preview{
  background:#edf6f3;
}
.jgb-range-track.is-final{
  background:#edf4f1;
}
.jgb-range-track.is-no-anim{
  transition:none;
}
.jgb-day.is-start + .jgb-range-track{
  pointer-events:none;
}
.jgb-day span{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  width:58px;
  height:58px;
  margin:2px auto;
  border-radius:50%;
  transition:
    background-color .42s cubic-bezier(.16,1,.3,1),
    color .42s cubic-bezier(.16,1,.3,1),
    box-shadow .42s ease,
    transform .42s cubic-bezier(.16,1,.3,1);
}
.jgb-day:not([disabled]):not(.is-start):not(.is-end):not(.is-preview-start):not(.is-preview-end):hover span{background:#eff7f4;color:var(--jgb-green)}

.jgb-day.is-fully-booked[disabled]{opacity:1}
.jgb-day.is-fully-booked span{
  border:1px solid #eab19f;
  background:#fff5f1;
  color:#9a3d24;
  font-weight:500;
}
.jgb-day.is-fully-booked small{
  position:absolute;
  left:50%;
  top:43px;
  z-index:3;
  transform:translateX(-50%);
  padding:0;
  border-radius:0;
  background:transparent;
  color:#9a3d24;
  font-size:9px;
  line-height:1;
  font-weight:600;
  letter-spacing:.1px;
  pointer-events:none;
  white-space:nowrap;
}
.jgb-day.is-range-blocked span{
  opacity:.45;
}
.jgb-day.is-range span,
.jgb-day.is-preview-active span{background:transparent;color:#17211d;font-weight:400}
.jgb-day.is-start,
.jgb-day.is-end,
.jgb-day.is-preview-start,
.jgb-day.is-preview-end{
  z-index:8;
}
.jgb-day.is-range,
.jgb-day.is-preview-active{
  z-index:6;
}
.jgb-day.is-start span,
.jgb-day.is-preview-start span{
  background:var(--jgb-green);
  color:#fff;
  box-shadow:0 12px 26px rgba(0,86,79,.22);
  transform:scale(1);
}
.jgb-day.is-end span{
  background:var(--jgb-green);
  color:#fff;
  box-shadow:0 12px 26px rgba(0,86,79,.22);
  transform:scale(1);
}
.jgb-day.is-preview-end span{
  background:#b7dcd6;
  color:#073c37;
  box-shadow:0 12px 26px rgba(0,86,79,.12);
  transform:scale(1);
}
.jgb-day.is-start:hover span,
.jgb-day.is-end:hover span,
.jgb-day.is-preview-start:hover span{
  background:var(--jgb-green);
  color:#fff;
}
.jgb-day.is-preview-end:hover span{
  background:#b7dcd6;
  color:#073c37;
}
.jgb-month-arrow{
  width:38px;
  height:38px;
  flex:0 0 38px;
  align-self:start;
  margin-top:0;
  border-radius:50%;
  border:0;
  background:transparent;
  font-size:34px;
  font-weight:300;
  line-height:1;
  color:#111;
  cursor:pointer;
  transition:color .2s ease, opacity .2s ease;
}
.jgb-month-arrow:hover{color:var(--jgb-green)}
.jgb-month-arrow:disabled{opacity:.35;cursor:not-allowed}

.jgb-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}
.jgb-view>.jgb-actions{margin-top:auto}
.jgb-btn{
  border:0;
  border-radius:999px;
  padding:16px 30px;
  min-height:52px;
  font-weight:500;
  letter-spacing:1.5px;
  text-transform:uppercase;
  cursor:pointer;
  transition:background-color .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.jgb-main{background:var(--jgb-green);color:#fff;box-shadow:0 14px 28px rgba(0,86,79,.18)}
.jgb-main:hover{background:var(--jgb-green-dark);box-shadow:0 18px 38px rgba(0,86,79,.24)}
.jgb-main:disabled{opacity:.45;cursor:not-allowed}
.jgb-back{background:#f2eee7;color:#38413d}
.jgb-back:hover{background:#e8e0d4}

/* Glamp cards */
.jgb-cards{display:flex;gap:18px;align-items:stretch;flex:0 0 auto;min-height:0}
.jgb-card{display:flex;flex-direction:column;flex:1;min-width:0;height:auto;border:1px solid var(--jgb-line);border-radius:26px;overflow:hidden;background:#fff;cursor:pointer;transition:border-color .25s ease,box-shadow .25s ease,background-color .25s ease}
.jgb-card:hover,.jgb-card.is-selected{border-color:var(--jgb-green);box-shadow:0 18px 44px rgba(0,86,79,.12);background:#f8fffc}
.jgb-card.is-unavailable{opacity:.45;cursor:not-allowed}
.jgb-card-image{width:100%;height:182px;object-fit:cover}
.jgb-card-body{padding:18px;display:flex;flex-direction:column;gap:15px;flex:1;min-height:0}
.jgb-card-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;border-bottom:1px solid var(--jgb-line);padding-bottom:12px}
.jgb-card h4{font-size:20px;margin:0;font-weight:700}
.jgb-card strong{color:var(--jgb-green);white-space:nowrap}
.jgb-card-features,.jgb-picked div{display:flex;flex-direction:column;gap:10px}.jgb-card-features{align-self:stretch;min-height:130px;padding-bottom:10px}
.jgb-card-features p,.jgb-picked p{margin:0;display:flex;align-items:center;gap:11px;color:#2d3732;font-size:15px;line-height:1.35}
.jgb-info-icon{width:20px;height:20px;object-fit:contain;flex:0 0 20px}
.jgb-card button{align-self:stretch;min-height:46px;margin-top:auto;border:0;border-radius:999px;background:#eef5f0;color:var(--jgb-green);padding:13px;font-weight:700;letter-spacing:1.5px}
.jgb-card.is-selected button{background:var(--jgb-green);color:#fff}
.jgb-info-box{margin-top:18px;background:#fff7e5;border:1px solid #f0d899;border-radius:18px;padding:16px;color:#6f5517}
.jgb-date-hint{margin:-2px 0 14px;padding:10px 14px;border-radius:14px;background:#eef8f5;border:1px solid #c7e1dc;color:var(--jgb-green);font-size:13px;font-weight:600}
.jgb-card.is-unavailable button{background:#f1eee8;color:#8b8174}.jgb-min-rule{display:block;margin-top:4px;color:#7e8a85;font-size:11px;font-style:normal;font-weight:500;letter-spacing:.2px}

/* Summary */
.jgb-final-layout{display:flex;gap:20px;align-items:flex-start;flex:1;min-height:0;overflow:visible}
.jgb-final-left,.jgb-final-right{flex:1;min-width:0;display:flex;flex-direction:column}
.jgb-final-right{gap:10px;align-self:flex-start}
.jgb-date-row{display:flex;align-items:center;gap:12px;border:1px solid var(--jgb-line);border-radius:16px;padding:11px 14px;min-height:50px;margin-bottom:10px}
.jgb-date-row strong{font-weight:700}
.jgb-date-row b{margin-left:auto;color:var(--jgb-green);font-size:12px;letter-spacing:1.5px;white-space:nowrap}
.jgb-picked{display:flex;gap:14px;border:1px solid var(--jgb-line);border-radius:18px;padding:12px;margin-bottom:10px;background:#f7fffc}
.jgb-picked-image{width:126px;height:106px;object-fit:cover;border-radius:14px}
.jgb-picked h4{margin:0 0 6px;font-size:18px}
.jgb-picked div{gap:5px}
.jgb-final-left>h4{margin:16px 0 0;font-size:18px;font-weight:600}
.jgb-final-left>.jgb-line{margin:10px 0 12px}
.jgb-extras{display:flex;flex-direction:column;gap:10px}
.jgb-extras label{display:flex;align-items:center;gap:11px;border:1px solid var(--jgb-line);border-radius:15px;padding:10px 13px;min-height:54px;cursor:pointer;background:#fff;transition:border-color .2s ease,background-color .2s ease}
.jgb-extras label:hover{border-color:#bad7d2;background:#fbfffd}
.jgb-extras input{appearance:none;width:22px;height:22px;flex:0 0 22px;border-radius:7px;border:1.5px solid #b7c2ba;position:relative;transition:.2s ease;background:#fff}
.jgb-extras input:checked{background:var(--jgb-green);border-color:var(--jgb-green)}
.jgb-extras input:checked:after{content:'✓';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;font-weight:800;line-height:1}
.jgb-extras b{margin-left:auto;color:var(--jgb-green);white-space:nowrap}
.jgb-form-alert{display:none;margin:0 0 10px;border:1px solid #ead2c7;border-radius:15px;background:#fff6f2;color:#8d351f;padding:11px 13px;font-size:13px;line-height:1.4}
.jgb-form-alert.is-visible{display:block}
.jgb-form-alert[hidden]{display:none}
.jgb-form-alert strong{display:block;margin:0 0 5px;font-size:14px;font-weight:700;color:#8d351f}
.jgb-form-alert ul{margin:0;padding-left:18px}
.jgb-form-alert li{margin:2px 0}
.jgb-client{display:flex;flex-wrap:wrap;gap:10px}
.jgb-client input,.jgb-client select,.jgb-client textarea{flex:1 1 calc(50% - 5px);width:100%;min-width:0;min-height:52px;border:1px solid var(--jgb-line);border-radius:15px;padding:11px 14px;font-size:15px;background:#fff;outline:none;transition:border-color .2s ease,background-color .2s ease}
.jgb-client input:focus,.jgb-client select:focus,.jgb-client textarea:focus{border-color:#00564f;box-shadow:none}
.jgb-client input.is-invalid,.jgb-client select.is-invalid,.jgb-client textarea.is-invalid{border-color:#c95b3a;background:#fffaf7}
.jgb-client textarea{flex-basis:100%;height:54px;min-height:54px;resize:none}
.jgb-coupon-wrap{margin-top:0}
.jgb-coupon-field{display:flex;align-items:stretch;gap:8px}
.jgb-coupon-wrap .jgb-field-coupon{flex:1 1 auto;min-width:0;width:100%;height:52px;border:1px solid var(--jgb-line);border-radius:15px;padding:11px 14px;font-size:15px;background:#fff;outline:none;transition:border-color .2s ease,background-color .2s ease}
.jgb-coupon-wrap .jgb-field-coupon:focus{border-color:#00564f;box-shadow:none}
.jgb-coupon-apply{flex:0 0 auto;min-width:118px;height:52px;border:0;border-radius:15px;padding:0 18px;background:#00564f;color:#fff;font-size:12px;font-weight:600;letter-spacing:1.2px;cursor:pointer;transition:background-color .2s ease,opacity .2s ease}
.jgb-coupon-apply:hover{background:#00473f}
.jgb-coupon-apply:disabled{opacity:.64;cursor:wait}
.jgb-coupon-message{height:0;min-height:0;margin:0 2px;font-size:12px;line-height:1.35;color:#66716e;overflow:hidden;transition:height .18s ease,margin-top .18s ease}
.jgb-coupon-message.is-info,.jgb-coupon-message.is-success{height:0;margin-top:0;color:#006a5f}
.jgb-coupon-message.is-error{height:18px;margin-top:4px;color:#b42318}
.jgb-coupon-wrap.is-applied .jgb-field-coupon{border-color:#00564f;background:#f2faf7}
.jgb-coupon-wrap.is-applied:not(.is-dirty) .jgb-coupon-apply{background:#00564f;opacity:1}
.jgb-summary-box{margin-top:0;background:#f7f5ef;border:1px solid var(--jgb-line);border-radius:16px;padding:10px 13px;overflow:hidden;min-height:118px}
.jgb-summary-box h4{margin:0;font-size:17px;font-weight:600;display:flex;flex-direction:column;gap:1px}.jgb-summary-box h4 small{font-size:11px;line-height:1.2;font-weight:400;color:#75807c}
.jgb-summary-box p{display:flex;justify-content:space-between;gap:18px;margin:5px 0;font-size:14px}.jgb-summary-box hr{border:0;border-top:1px solid var(--jgb-line);margin:9px 0}
.jgb-total{font-size:18px;font-weight:700}.jgb-payment-note{display:flex;flex-direction:column;gap:6px;background:#eaf5ef;border-radius:18px;padding:14px;margin-top:14px;color:#23433a}
.jgb-final-layout+.jgb-line{margin:10px 0}
.jgb-final-actions{margin-top:auto;flex:0 0 auto;display:flex;flex-direction:column;gap:8px;align-items:stretch}
.jgb-final-buttons{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%}
.jgb-msg{display:none}
.jgb-glamp-picked span{font-size:12px;text-transform:uppercase;color:#73807a}.jgb-glamp-picked b{font-size:14px}.jgb-quote-discount b{color:#8a5a24}.jgb-summary-box [hidden]{display:none}.jgb-panel a.jgb-btn{display:inline-flex;text-decoration:none;align-items:center;justify-content:center}

.jgb-card:focus-visible,.jgb-day:focus-visible,.jgb-btn:focus-visible{outline:3px solid rgba(0,86,79,.22);outline-offset:3px}

@keyframes jgbView{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes jgbSpin{to{transform:rotate(360deg)}}


/* Payment choice */
.jgb-payment-choice{margin:0;padding:0;border:0;border-radius:0;background:transparent;display:flex;flex-wrap:wrap;gap:8px}
.jgb-payment-choice h4{flex:1 0 100%;margin:0;font-size:16px;font-weight:500;color:#1f2926}
.jgb-payment-choice label{display:flex;gap:12px;align-items:center;flex:1 1 0;border:2px solid rgba(0,86,79,.12);background:#fff;border-radius:14px;padding:12px 13px;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}
.jgb-payment-choice label.is-selected,.jgb-payment-choice label:has(input:checked){border-color:#004f48;background:#d5eee8;box-shadow:inset 0 0 0 1px rgba(0,86,79,.12),0 10px 24px rgba(0,86,79,.14)}
.jgb-payment-choice label.is-selected b,.jgb-payment-choice label:has(input:checked) b{color:#004d46}
.jgb-pay-option--full span{justify-content:flex-start}
.jgb-payment-choice input{
  --jgb-check-border:#b7c7c2;
  --jgb-check-bg:#fff;
  appearance:none;
  -webkit-appearance:none;
  width:24px;
  height:21px;
  border-radius:7px;
  border:1.5px solid var(--jgb-check-border);
  margin:0;
  position:relative;
  align-self:center;
  background:var(--jgb-check-bg);
}
.jgb-payment-choice input:checked{
  --jgb-check-border:#00564f;
  --jgb-check-bg:#00564f;
}
.jgb-payment-choice input:checked::after{content:'✓';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;font-weight:800;line-height:1}
.jgb-payment-choice input:disabled{opacity:.42}
.jgb-payment-choice span{display:flex;align-items:center;justify-content:space-between;gap:4px 12px;width:100%;min-width:0;color:#22302c;line-height:1.25}
.jgb-payment-choice b{display:block;font-size:18px;font-weight:500;line-height:1.25;color:#00564f;white-space:nowrap}
.jgb-payment-choice em{display:block;font-style:normal;font-size:15px;color:#65716e;line-height:1.25;text-align:right;white-space:nowrap}
.jgb-payment-choice[data-forced="true"] label:first-of-type{opacity:.55;cursor:not-allowed}
.jgb-payment-warning{flex:1 0 100%;margin-top:0;border-radius:12px;background:#eaf5ef;color:#24443d;font-size:12px;line-height:1.35;padding:8px 10px}
.jgb-summary-total-row{display:flex;align-items:center;justify-content:space-between;gap:18px}
.jgb-summary-total-row>b{min-width:96px;text-align:right;font-size:20px;color:#1f2926;white-space:nowrap;font-variant-numeric:tabular-nums}
.jgb-summary-payment-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:6px;padding-top:6px;border-top:1px solid rgba(0,86,79,.10);font-size:14px;color:#58635f}
.jgb-summary-coupon-row,.jgb-summary-long-row{margin-top:0;padding-top:0;border-top:0}
.jgb-summary-net-row{margin-top:0;padding-top:0;border-top:0}
.jgb-summary-vat-row{margin-top:4px;padding-top:4px}
.jgb-summary-payment-row b{min-width:70px;text-align:right;font-size:15px;font-weight:600;color:#00564f;white-space:nowrap;font-variant-numeric:tabular-nums}
.jgb-summary-payment-row[hidden]{display:none}
.jgb-summary-data[hidden]{display:none}

.jgb-booking-status{max-width:1240px}
.jgb-booking-status .jgb-status-panel{height:auto;min-height:0;overflow:visible;padding:30px;background:linear-gradient(180deg,#fff 0%,#fbfaf6 100%)}
.jgb-status-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:0 0 18px;padding:0 0 18px;border-bottom:1px solid var(--jgb-line)}
.jgb-status-eyebrow{display:block;margin:0 0 5px;font-size:12px;line-height:1;text-transform:uppercase;letter-spacing:1.2px;color:#00564f;font-weight:700}
.jgb-status-hero h3{margin:0;font-size:26px;line-height:1.15;font-weight:700;color:#17231f}
.jgb-status-hero p{margin:8px 0 0;max-width:620px;font-size:14px;line-height:1.45;color:#65716e}
.jgb-status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:8px 13px;border-radius:999px;background:#e9f5f2;color:#00564f;border:1px solid rgba(0,86,79,.18);font-size:12px;font-weight:800;letter-spacing:.45px;text-transform:uppercase;white-space:nowrap}
.jgb-status-badge--cancelled,.jgb-status-badge--payment_error{background:#fff4ef;color:#a83b22;border-color:#efc7ba}
.jgb-status-badge--paid,.jgb-status-badge--deposit_paid,.jgb-status-badge--confirmed{background:#e9f7ee;color:#1d6e3f;border-color:#c8e8d1}
.jgb-status-card{display:flex;align-items:stretch;justify-content:space-between;gap:20px;margin:0 0 14px;padding:14px;border:1px solid var(--jgb-line);border-radius:22px;background:#f6fbf9;box-shadow:0 14px 40px rgba(0,86,79,.06)}
.jgb-status-object{display:flex;align-items:center;gap:14px;min-width:230px;flex:0 1 32%}
.jgb-status-object img{width:118px;height:92px;object-fit:cover;border-radius:16px;flex:0 0 118px;display:block}
.jgb-status-object span,.jgb-status-meta span{display:block;margin:0 0 3px;font-size:12px;line-height:1.2;color:#66716e;font-weight:500}
.jgb-status-box span,.jgb-status-transfer span{display:block;margin:0 0 4px;font-size:14px;line-height:1.25;color:#66716e;font-weight:500}
.jgb-status-object h4{margin:0 0 4px;font-size:20px;line-height:1.15;font-weight:700;color:#17231f}
.jgb-status-meta{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:flex-end;gap:10px;flex:1 1 68%}
.jgb-status-meta div{flex:1 1 165px;min-width:155px;padding:16px;border-radius:16px;background:#fff;border:1px solid rgba(0,86,79,.08)}
.jgb-status-meta b{display:block;font-size:22px;line-height:1.14;color:#17231f;font-weight:800;letter-spacing:-.4px}
.jgb-status-grid{display:flex;align-items:stretch;gap:14px;margin:0 0 14px}
.jgb-status-box{flex:1 1 0;min-width:0;padding:16px;border-radius:20px;background:#fff;border:1px solid var(--jgb-line);box-shadow:0 10px 30px rgba(16,26,22,.04)}
.jgb-status-box--soft{background:#f2faf7;border-color:#cfe8e2}
.jgb-status-box h4,.jgb-status-transfer h4{margin:0 0 12px;font-size:18px;line-height:1.2;font-weight:700;color:#17231f}
.jgb-status-box p,.jgb-status-transfer p{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:10px 0;padding-top:10px;border-top:1px solid rgba(0,86,79,.10);font-size:16px;line-height:1.42;color:#58635f}
.jgb-status-box p:first-of-type,.jgb-status-transfer p:first-of-type{border-top:0;padding-top:0}
.jgb-status-box b,.jgb-status-transfer b{max-width:70%;text-align:right;font-size:16px;line-height:1.42;font-weight:800;color:#17231f;word-break:break-word}
.jgb-status-price{color:#00564f;font-size:18px}
.jgb-status-note{display:block;border-top:0;padding-top:0;margin:0;color:#51615c}
.jgb-status-transfer{margin:0 0 14px;padding:16px;border-radius:20px;background:#eef8f5;border:1px solid #cfe5df;box-shadow:0 12px 34px rgba(0,86,79,.05)}
.jgb-status-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-top:18px;padding-top:18px;border-top:1px solid var(--jgb-line)}
.jgb-status-actions p{margin:0;max-width:420px;text-align:right;color:#6f7975;font-size:13px;line-height:1.4}

/* Pole-pułapka antyspamowa pozostaje dostępne dla mechanizmu formularza, ale poza widokiem. */
.jgb-hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}

/* Potwierdzenie ceny i obsługa błędów przeliczenia */
.jgb-quote-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(0, 86, 79, .18);
  border-radius: 12px;
  background: rgba(0, 86, 79, .06);
  font-size: 13px;
  line-height: 1.35;
  color: #00564f;
}
.jgb-quote-status[hidden] { display: none; }
.jgb-quote-status.is-loading .jgb-quote-status-text::before {
  content: '';
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-right: 8px;
  border: 2px solid rgba(0, 86, 79, .22);
  border-top-color: #00564f;
  border-radius: 50%;
  vertical-align: -2px;
  animation: jgb-quote-spin .7s linear infinite;
}
.jgb-quote-status.is-error {
  border-color: rgba(151, 45, 45, .24);
  background: rgba(151, 45, 45, .07);
  color: #8b2424;
}
.jgb-quote-retry {
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.jgb-quote-retry[hidden] { display: none; }
@keyframes jgb-quote-spin { to { transform: rotate(360deg); } }

@media(max-width:900px){
  .jgb-steps{padding:10px 14px;min-height:62px;gap:12px}
  .jgb-step{gap:10px;min-width:0}
  .jgb-step b{width:42px;height:42px;flex-basis:42px;font-size:15px}
  .jgb-step i{min-width:26px}
  .jgb-panel{height:auto;min-height:0;padding:22px;border-radius:24px}
  .jgb-view.is-active{height:auto;overflow:visible}
  .jgb-head{align-items:flex-start;flex-direction:column}
  .jgb-selected{width:100%;min-width:0;justify-content:flex-start}
  .jgb-calendar-shell{gap:8px}
  .jgb-months{flex-direction:column;gap:34px}
  .jgb-month-arrow{margin-top:0}
  .jgb-cards,.jgb-final-layout{flex-direction:column;overflow:visible}
  .jgb-final-left,.jgb-final-right{width:100%;max-width:100%;flex:0 0 auto;align-self:stretch}
  .jgb-card{flex-direction:row}
  .jgb-card-image{width:38%;height:auto;min-height:180px}
  .jgb-card-features{min-height:0;padding-bottom:0}
  .jgb-final-actions{position:static;bottom:auto;background:transparent;backdrop-filter:none;padding:0;border-radius:0;z-index:5}
  .jgb-client .jgb-field-name,
  .jgb-client .jgb-field-phone,
  .jgb-client .jgb-field-email,
  .jgb-client .jgb-field-guests,
  .jgb-client .jgb-field-arrival{flex-basis:calc(50% - 5px)}
  .jgb-client input,.jgb-client select{width:100%}
  .jgb-status-card,.jgb-status-grid{flex-direction:column}
  .jgb-status-meta{justify-content:flex-start}
  .jgb-status-actions{align-items:stretch;flex-direction:column}
  .jgb-status-actions p{text-align:left;max-width:none}
}
@media(max-width:560px){
  .jgb-booking{padding:0 6px}

  /* Mobile stepper: trzy równe kolumny, bez przesunięć i bez ucinania paska. */
  .jgb-steps{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    min-height:48px;
    margin:0 0 12px;
    padding:6px 8px;
    gap:0;
    overflow:hidden;
  }
  .jgb-step,
  .jgb-step:last-child{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 33.333%;
    width:33.333%;
    max-width:33.333%;
    min-width:0;
    gap:5px;
  }
  .jgb-step b{
    width:26px;
    height:26px;
    flex:0 0 26px;
    font-size:10px;
    border-width:1px;
  }
  .jgb-step span{
    flex:0 1 auto;
    min-width:0;
    max-width:58px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:8.5px;
    letter-spacing:-.1px;
    line-height:1;
  }
  .jgb-step i{
    flex:1 1 auto;
    width:auto;
    min-width:0;
    max-width:24px;
    margin:0 1px;
  }

  .jgb-panel{height:auto;min-height:0;padding:14px;border-radius:20px}
  .jgb-booking-status .jgb-status-panel{padding:18px}
  .jgb-status-hero{flex-direction:column;gap:12px}
  .jgb-status-hero h3{font-size:22px}
  .jgb-status-object{min-width:0;width:100%}
  .jgb-status-object img{width:88px;height:76px;flex-basis:88px;border-radius:13px}
  .jgb-status-object h4{font-size:17px}
  .jgb-status-meta div{min-width:130px;flex-basis:calc(50% - 5px);padding:13px}
  .jgb-status-meta b{font-size:20px}
  .jgb-status-box p,.jgb-status-transfer p{flex-direction:column;gap:3px}
  .jgb-status-box b,.jgb-status-transfer b{max-width:none;text-align:left}
  .jgb-view.is-active{min-height:0}
  .jgb-head{gap:10px}
  .jgb-head h3,.jgb-view>h3{font-size:18px}
  .jgb-line{margin:12px 0}
  .jgb-selected{min-height:36px;padding:4px 8px;gap:7px}
  .jgb-selected b{min-height:28px;padding:0 10px;font-size:10px;margin-left:auto}
  .jgb-selected span{font-size:11px}
  .jgb-cal-ico{width:16px;height:16px;flex-basis:16px}

  /* Na telefonie pokazujemy jeden miesiąc; strzałki zmieniają go po jednym. */
  .jgb-calendar-shell{position:relative;display:block;gap:0;padding:0}
  .jgb-months{display:block;width:100%;min-width:0}
  .jgb-months .jgb-month:nth-child(n+2){display:none}
  .jgb-month{width:100%}
  .jgb-month-arrow{
    position:absolute;
    top:-7px;
    z-index:10;
    display:flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    flex-basis:34px;
    margin-top:0;
    font-size:27px;
  }
  .jgb-prev{left:-2px}
  .jgb-next{right:-2px}
  .jgb-month-title{font-size:16px;line-height:34px;margin-bottom:13px;padding:0 36px}
  .jgb-week span{font-size:11px;padding-bottom:11px}
  .jgb-days>span,.jgb-day{height:min(50px, 12.8vw)}
  .jgb-range-track{height:min(42px, 11vw)}
  .jgb-day span{
    width:min(44px, calc((100vw - 68px) / 7));
    height:min(44px, calc((100vw - 68px) / 7));
    min-width:36px;
    min-height:36px;
    margin:3px auto;
    font-size:clamp(14px, 3.85vw, 15.5px);
  }
  .jgb-day.is-fully-booked small{
    top:31px;
    padding:0;
    font-size:7.5px;
    letter-spacing:0;
  }

  .jgb-card{flex-direction:column}
  .jgb-card-image{width:100%;height:150px;min-height:0}
  .jgb-card-body{padding:12px;gap:9px}
  .jgb-card-top{padding-bottom:8px;gap:8px}
  .jgb-card h4{font-size:16px}
  .jgb-card strong{font-size:12px}
  .jgb-card-features{gap:6px;padding-bottom:2px}
  .jgb-card-features p,.jgb-picked p{font-size:11px;gap:7px}
  .jgb-info-icon{width:15px;height:15px;flex-basis:15px}
  .jgb-card button{min-height:38px;padding:9px;font-size:10px}
  .jgb-picked{flex-direction:column}
  .jgb-picked-image{width:100%;height:150px}

  .jgb-client input,.jgb-client select,.jgb-client textarea{flex-basis:100%}
  .jgb-client textarea{flex-basis:100%}
  .jgb-payment-choice label{flex-basis:100%}
  .jgb-payment-choice h4,.jgb-payment-warning{flex-basis:100%}
  .jgb-coupon-field{gap:6px}
  .jgb-coupon-apply{min-width:104px;padding:0 12px}
  .jgb-payment-choice span{display:flex;align-items:center;justify-content:space-between;gap:3px 8px}
  .jgb-payment-choice em{text-align:right}

  /* Bez sztucznego rozciągania widoku i bez dużej pustej przestrzeni nad CTA. */
  .jgb-view>.jgb-actions{margin-top:12px}
  .jgb-final-layout+.jgb-line{margin:12px 0}
  .jgb-final-actions{position:static;bottom:auto;margin-top:0;padding:0;background:transparent;backdrop-filter:none;border-radius:0;gap:6px}

  /* Krok 2: oba przyciski w jednym rzędzie. */
  .jgb-view[data-view="2"]>.jgb-actions{
    display:flex;
    flex-direction:row;
    align-items:center;
    gap:8px;
    width:100%;
  }
  .jgb-view[data-view="2"]>.jgb-actions .jgb-btn{
    width:auto;
    min-width:0;
    min-height:42px;
    padding:0 9px;
    white-space:nowrap;
    font-size:9px;
    letter-spacing:.65px;
  }
  .jgb-view[data-view="2"]>.jgb-actions .jgb-back{flex:0 0 32%}
  .jgb-view[data-view="2"]>.jgb-actions .jgb-main{flex:1 1 auto}


  /* Krok 3: na telefonie oba przyciski są w jednym rzędzie, tak jak w kroku 2. */
  .jgb-view[data-view="3"]>.jgb-final-actions{
    width:100%;
  }
  .jgb-view[data-view="3"] .jgb-final-buttons{
    display:flex;
    flex-direction:row;
    align-items:center;
    gap:8px;
    width:100%;
  }
  .jgb-view[data-view="3"] .jgb-final-buttons .jgb-btn{
    width:auto;
    min-width:0;
    min-height:42px;
    padding:0 10px;
    white-space:nowrap;
    font-size:9px;
    letter-spacing:.65px;
  }
  .jgb-view[data-view="3"] .jgb-final-buttons .jgb-back{
    flex:0 0 32%;
  }
  .jgb-view[data-view="3"] .jgb-final-buttons .jgb-main{
    flex:1 1 auto;
  }

  .jgb-actions{align-items:stretch;flex-direction:column;gap:9px}
  .jgb-actions span{display:none}
  .jgb-btn{width:100%;min-height:44px;padding:11px 14px;font-size:11px}
}

@media(max-width:380px){
  .jgb-booking{padding:0 5px}
  .jgb-steps{min-height:44px;padding:5px 6px;border-radius:999px}
  .jgb-step,.jgb-step:last-child{gap:3px}
  .jgb-step b{width:23px;height:23px;flex-basis:23px;font-size:9px}
  .jgb-step span{max-width:48px;font-size:7.4px;letter-spacing:-.18px}
  .jgb-step i{max-width:16px;margin:0}
  .jgb-panel{padding:12px;border-radius:18px}
  .jgb-date-row{padding:10px 11px;gap:8px}
  .jgb-date-row strong{font-size:13px}
  .jgb-date-row b{font-size:10px;letter-spacing:1.2px}
  .jgb-picked{padding:10px;border-radius:16px}
}

@media(max-width:420px){
  .jgb-coupon-field{flex-direction:column}
  .jgb-coupon-apply{width:100%;min-width:0}
  .jgb-summary-total-row{align-items:flex-end}
  .jgb-summary-total-row>b{font-size:19px}
}

@media(max-width:340px){
  .jgb-steps{padding:5px}
  .jgb-step,.jgb-step:last-child{gap:2px}
  .jgb-step b{width:21px;height:21px;flex-basis:21px;font-size:8px}
  .jgb-step span{max-width:39px;font-size:6.7px}
  .jgb-step i{max-width:10px}
  .jgb-month-arrow{top:-5px;width:30px;height:30px;font-size:24px}
  .jgb-month-title{line-height:30px;padding:0 31px}
  .jgb-day span{min-width:34px;min-height:34px;font-size:13.5px}
}

@media (prefers-reduced-motion: reduce){.jgb-booking *{animation-duration:.001ms;transition-duration:.001ms;scroll-behavior:auto}}

.jgb-card-top strong em {
  display: block;
  margin-top: 3px;
  font-size: 11px;
  font-style: normal;
  font-weight: 500;
  letter-spacing: .3px;
  color: #00564f;
  opacity: .86;
  text-align: right;
}
.jgb-card-features .jgb-card-included,
.jgb-picked .jgb-card-included {
  color: #00564f;
  font-weight: 500;
}
.jgb-hot-icon{width:20px;height:20px;min-width:20px;fill:#00564f;display:block}


.jgb-summary-coupon-row,.jgb-summary-long-row{color:#315f57}
.jgb-summary-coupon-row b,.jgb-summary-long-row b{color:#00564f}

/* Booking refinements */
.jgb-date-hint{
  display:none;
  align-items:center;
  width:auto;
  max-width:max-content;
  margin:-4px 0 8px;
  padding:7px 11px;
  border-radius:999px;
  font-size:12px;
  line-height:1;
  box-shadow:none;
}
.jgb-client .jgb-field-guests{appearance:textfield}
.jgb-extra-item{
  border:1px solid var(--jgb-line);
  border-radius:15px;
  background:#fff;
  margin:0 0 9px;
  padding:0;
  overflow:hidden;
  transition:border-color .2s ease,background-color .2s ease;
}
.jgb-extra-item.is-selected{border-color:rgba(0,86,79,.38);background:#f8fffc}
.jgb-extra-item>label{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:54px;
  padding:11px 13px;
  cursor:pointer;
}
.jgb-extra-item>label input{margin:0;flex:0 0 22px}
.jgb-extra-item>label span{flex:1;min-width:0;font-size:16px}
.jgb-extra-item>label b{color:#00564f;font-size:16px;white-space:nowrap}
.jgb-extra-item>small{display:block;margin:-7px 13px 10px 48px;color:#6a7772;font-size:12px}
.jgb-extra-controls{display:flex;flex-wrap:wrap;gap:8px;padding:0 13px 13px 48px}
.jgb-extra-stepper{display:inline-flex;align-items:center;gap:6px;background:#eef8f5;border:1px solid #d2e8e2;border-radius:999px;padding:5px 7px;color:#00564f;font-size:12px}
.jgb-extra-stepper span{font-weight:500;color:#34524c;margin-right:2px}
.jgb-extra-stepper button{width:24px;height:24px;border:0;border-radius:50%;background:#00564f;color:#fff;font-size:15px;line-height:1;cursor:pointer;transition:opacity .18s ease,background-color .18s ease}
.jgb-extra-stepper button:disabled{opacity:.38;cursor:not-allowed;pointer-events:none}
.jgb-extra-stepper b{min-width:20px;text-align:center;font-size:13px;color:#0f1f1c;font-variant-numeric:tabular-nums}
.jgb-thanks{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;height:100%;padding:34px 20px}
.jgb-thanks-icon{width:74px;height:74px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#00564f;color:#fff;font-size:34px;margin-bottom:18px;box-shadow:0 18px 42px rgba(0,86,79,.22)}
.jgb-thanks h3{font-size:30px;margin:0 0 12px;font-weight:600}
.jgb-thanks>p{max-width:620px;margin:0 auto 20px;color:#58635f;font-size:16px;line-height:1.6}
.jgb-thanks-card{width:100%;max-width:520px;background:#f7f5ef;border:1px solid var(--jgb-line);border-radius:18px;padding:16px;margin:6px 0 22px}
.jgb-thanks-card p{display:flex;justify-content:space-between;margin:8px 0;color:#58635f}.jgb-thanks-card b{color:#00564f}
.jgb-thanks-actions{width:100%;max-width:560px;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:12px;margin-top:4px}

@media(max-width:560px){
  .jgb-extra-item>label span{font-size:14px}
  .jgb-extra-item>label b{font-size:14px}
  .jgb-extra-controls{padding-left:13px}
  .jgb-extra-stepper{width:100%;justify-content:space-between}
  .jgb-thanks{padding:24px 4px}
  .jgb-thanks h3{font-size:22px}
  .jgb-thanks-actions{flex-direction:column}.jgb-thanks-actions .jgb-btn{width:100%}
}
.jgb-payment-method-note{flex:1 0 100%;margin:0;border-radius:12px;background:#fff;color:#00564f;border:1px dashed rgba(0,86,79,.22);font-size:12px;font-weight:600;line-height:1.35;padding:7px 10px}

/* Booking polish */
.jgb-booking{max-width:1240px}
.jgb-client{
  gap:10px;
}
.jgb-client .jgb-field-name,
.jgb-client .jgb-field-phone,
.jgb-client .jgb-field-email{
  flex-basis:calc(50% - 5px);
}
.jgb-client .jgb-field-guests,
.jgb-client .jgb-field-arrival{
  flex-basis:calc(25% - 8px);
}
.jgb-client .jgb-field-notes{
  flex-basis:100%;
}
.jgb-extra-item{
  overflow:visible;
}
.jgb-extra-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:10px 12px;
  min-height:64px;
}
.jgb-extra-item .jgb-extra-check{
  display:flex;
  align-items:center;
  gap:12px;
  flex:1 1 auto;
  min-width:0;
  padding:0;
  min-height:0;
  border:0;
  background:transparent;
  border-radius:0;
}
.jgb-extra-check>span{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
}
.jgb-extra-check strong{
  font-size:16px;
  font-weight:500;
  color:#25302c;
  line-height:1.25;
  white-space:normal;
}
.jgb-extra-check small{
  display:block;
  margin:0;
  font-size:12px;
  color:#6a7772;
  line-height:1.25;
}
.jgb-extra-side{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  flex:0 0 auto;
  max-width:58%;
}
.jgb-extra-side>b{
  color:#00564f;
  font-size:16px;
  font-weight:700;
  white-space:nowrap;
  min-width:78px;
  text-align:right;
  font-variant-numeric:tabular-nums;
}
.jgb-extra-controls{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:7px;
  padding:0;
  margin:0;
}
.jgb-extra-stepper{
  padding:4px 6px;
  gap:5px;
  white-space:nowrap;
}
.jgb-extra-stepper span{font-size:12px}
.jgb-extra-stepper button{width:24px;height:24px}
.jgb-extra-stepper button:disabled{opacity:.38;cursor:not-allowed;pointer-events:none}
.jgb-summary-warning{
  margin-top:8px;
  border-radius:12px;
  background:#eaf5ef;
  color:#24443d;
  font-size:12px;
  line-height:1.35;
  padding:8px 10px;
}
.jgb-terms{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-top:0;
  padding:10px 12px;
  border:1px solid rgba(0,86,79,.12);
  border-radius:14px;
  background:#fff;
  color:#33423e;
  font-size:12.5px;
  line-height:1.4;
}
.jgb-terms input{
  appearance:none;
  width:21px;
  height:21px;
  flex:0 0 21px;
  margin:0;
  border:1.5px solid #b7c2ba;
  border-radius:7px;
  position:relative;
  background:#fff;
}
.jgb-terms input:checked{
  background:#00564f;
  border-color:#00564f;
}
.jgb-terms input:checked:after{
  content:'✓';
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:13px;
  font-weight:800;
  line-height:1;
}
.jgb-terms.is-invalid{
  border-color:#c95b3a;
  background:#fffaf7;
}
.jgb-terms.is-invalid input{
  border-color:#c95b3a;
}
.jgb-terms a{
  color:#00564f;
  font-weight:600;
  text-decoration:none;
}
.jgb-thanks-actions .jgb-main{white-space:normal;line-height:1.2}

@media(max-width:900px){
  .jgb-client .jgb-field-name,
  .jgb-client .jgb-field-phone,
  .jgb-client .jgb-field-email,
  .jgb-client .jgb-field-guests,
  .jgb-client .jgb-field-arrival{flex-basis:calc(50% - 5px)}
}
@media(max-width:560px){
  .jgb-client .jgb-field-name,
  .jgb-client .jgb-field-phone,
  .jgb-client .jgb-field-email,
  .jgb-client .jgb-field-guests,
  .jgb-client .jgb-field-arrival,
  .jgb-client .jgb-field-notes{flex-basis:100%}
  .jgb-extra-row{align-items:flex-start;gap:8px;padding:10px}
  .jgb-extra-side{flex-direction:column;align-items:flex-end;gap:8px;max-width:54%}
  .jgb-extra-controls{justify-content:flex-end}
  .jgb-extra-stepper{width:auto;min-width:96px;justify-content:space-between}
  .jgb-thanks-actions{flex-direction:row;gap:8px;max-width:none}
  .jgb-thanks-actions .jgb-btn{width:auto;min-width:0;flex:1 1 0;font-size:10px;padding-left:8px;padding-right:8px;letter-spacing:.7px}
  .jgb-thanks-actions .jgb-back{flex:0 0 42%}
  .jgb-thanks-actions .jgb-main{flex:1 1 auto}
}


/* Booking polish */
.jgb-extra-row{
  align-items:center;
}
.jgb-extra-side{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  flex:0 0 auto;
  max-width:62%;
  min-height:32px;
}
.jgb-extra-controls{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:nowrap;
  gap:7px;
  order:1;
}
.jgb-extra-side>b{
  order:2;
  min-width:78px;
  text-align:right;
  font-variant-numeric:tabular-nums;
}
.jgb-extra-stepper{
  flex:0 0 auto;
}
.jgb-payment-method-note{
  display:none;
}
.jgb-client .jgb-field-guests,
.jgb-client .jgb-field-arrival{
  appearance:auto;
  overflow:hidden;
  text-overflow:ellipsis;
}
@media(max-width:900px){
  .jgb-panel{
    height:auto;
    min-height:0;
  }
}
@media(max-width:560px){
  .jgb-extra-row{
    align-items:center;
  }
  .jgb-extra-side{
    flex-direction:row;
    align-items:center;
    gap:6px;
    max-width:64%;
  }
  .jgb-extra-controls{
    flex-wrap:nowrap;
    gap:5px;
  }
  .jgb-extra-stepper{
    min-width:82px;
    padding:3px 5px;
  }
  .jgb-extra-stepper span{
    font-size:11px;
  }
  .jgb-extra-stepper button{
    width:22px;
    height:22px;
    font-size:14px;
  }
  .jgb-extra-stepper b{
    min-width:14px;
  }
  .jgb-extra-side>b{
    min-width:54px;
    font-size:14px;
  }
  .jgb-extra-item.is-selected .jgb-extra-row{
    align-items:stretch;
    gap:7px;
  }
  .jgb-extra-item.is-selected .jgb-extra-check{
    width:100%;
    flex:1 1 100%;
  }
  .jgb-extra-item.is-selected .jgb-extra-side{
    width:100%;
    max-width:100%;
    flex:1 1 100%;
    flex-direction:column;
    align-items:stretch;
    gap:7px;
    padding-left:34px;
  }
  .jgb-extra-item.is-selected .jgb-extra-controls{
    width:100%;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:7px;
    order:2;
  }
  .jgb-extra-item.is-selected .jgb-extra-stepper{
    flex:0 0 auto;
    width:auto;
    min-width:98px;
    max-width:100%;
    justify-content:space-between;
    gap:6px;
    padding:4px 6px;
  }
  .jgb-extra-item.is-selected .jgb-extra-stepper button{
    width:28px;
    height:28px;
    font-size:17px;
  }
  .jgb-extra-item.is-selected .jgb-extra-stepper b{
    min-width:18px;
    font-size:13px;
  }
  .jgb-extra-item.is-selected .jgb-extra-side>b{
    order:1;
    align-self:flex-end;
    min-width:auto;
  }
}
