.jcc-bk{--teal:#08aeba;--teal-deep:#007d86;--navy:#062f4f;--gold:#d8a33a;--ink:#123d3b;--muted:#6b7b86;--line:rgba(13,36,51,.12);--paper:#f7faf9;
  font-family:inherit;color:var(--ink);max-width:1140px;margin:0 auto}
.jcc-bk *{box-sizing:border-box}
.jcc-grid{display:grid;grid-template-columns:1fr 360px;gap:24px;align-items:start}
.jcc-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 22px 24px;margin-bottom:20px;box-shadow:0 10px 30px rgba(9,49,65,.05)}
.jcc-h{font-size:1.05rem;margin:0 0 16px;color:var(--navy);letter-spacing:.01em;font-weight:800}
.jcc-row{display:flex;flex-wrap:wrap;gap:14px}
.jcc-f{display:flex;flex-direction:column;gap:6px;flex:1 1 150px;font-size:.82rem;font-weight:700;color:var(--muted)}
.jcc-f.jcc-col-2{flex:2 1 260px}
.jcc-f.jcc-col-full{flex:1 1 100%}
.jcc-f span{text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}
.jcc-f input,.jcc-f select,.jcc-f textarea{font:inherit;font-weight:500;color:var(--ink);padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;width:100%}
.jcc-f input:focus,.jcc-f select:focus,.jcc-f textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(8,174,186,.15)}
.jcc-avail{margin:14px 0 0;padding:10px 12px;border-radius:9px;font-size:.85rem;font-weight:700}
.jcc-avail.jcc-checking{background:#f1f5f6;color:var(--muted)}
.jcc-avail.jcc-ok{background:rgba(8,174,186,.1);color:var(--teal-deep)}
.jcc-avail.jcc-no{background:#fdecec;color:#c0392b}
.jcc-amenities{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.jcc-amenity{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;cursor:pointer;font-size:.9rem;font-weight:600;transition:.15s}
.jcc-amenity:hover{border-color:var(--teal)}
.jcc-amenity input{accent-color:var(--teal);width:17px;height:17px}
.jcc-am-name{flex:1}
.jcc-am-price{color:var(--teal-deep);font-weight:800;font-size:.85rem;white-space:nowrap}
.jcc-am-price small{color:var(--muted);font-weight:600}
.jcc-side{position:sticky;top:20px}
.jcc-summary{background:linear-gradient(160deg,#083b52,#0b4a63);color:#fff;border-radius:16px;padding:22px;box-shadow:0 16px 40px rgba(0,37,53,.18)}
.jcc-summary .jcc-h{color:#fff}
.jcc-sum-empty{color:rgba(255,255,255,.6);font-size:.9rem;margin:0}
.jcc-sum-line{display:flex;justify-content:space-between;gap:12px;padding:7px 0;font-size:.9rem;color:rgba(255,255,255,.85)}
.jcc-sum-line strong{color:#fff;font-weight:700;white-space:nowrap}
.jcc-sum-line small{color:rgba(255,255,255,.6)}
.jcc-sum-div{height:1px;background:rgba(255,255,255,.15);margin:8px 0}
.jcc-sum-total{font-size:1.05rem;border-top:1px solid rgba(255,255,255,.15);margin-top:6px;padding-top:12px}
.jcc-sum-total strong{color:var(--gold)}
.jcc-sum-dep strong{color:#f0bd51}
.jcc-pay{margin-top:18px;border-top:1px solid rgba(255,255,255,.15);padding-top:14px}
.jcc-pay h4{margin:0 0 10px;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.7)}
.jcc-pm{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:.9rem;color:#fff;cursor:pointer}
.jcc-pm input{accent-color:var(--gold)}
.jcc-submit{margin-top:16px;width:100%;border:0;border-radius:10px;background:var(--gold);color:#fff;font-weight:800;font-size:1rem;padding:15px;cursor:pointer;transition:.15s}
.jcc-submit:hover{background:#c8952f;transform:translateY(-1px)}
.jcc-fineprint{margin:12px 0 0;font-size:.76rem;color:rgba(255,255,255,.6);text-align:center}
.jcc-confirm{text-align:center;max-width:620px;margin:0 auto;padding:40px 30px}
.jcc-confirm-badge{width:64px;height:64px;border-radius:50%;background:rgba(8,174,186,.12);color:var(--teal-deep);display:grid;place-items:center;font-size:2rem;margin:0 auto 16px}
.jcc-ref{color:var(--teal-deep);letter-spacing:.05em}
.jcc-recap{list-style:none;margin:22px auto;padding:0;max-width:420px;text-align:left}
.jcc-recap li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:.92rem}
.jcc-recap li span{color:var(--muted)}
.jcc-instructions{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:16px 18px;text-align:left;font-size:.9rem;color:var(--muted);margin-top:16px}
@media(max-width:900px){.jcc-grid{grid-template-columns:1fr}.jcc-side{position:static}.jcc-amenities{grid-template-columns:1fr}}
