/* css/hive-cart.css: 장바구니·예약 공통 시트(skin/hive_cart_modal.php + js/hive-cart.js)
 * 휴대폰(640px 이하): 아래에서 올라오는 시트, 손잡이를 끌어 내려 닫기
 * 그 밖: 오른쪽 서랍(장바구니 440px, 예약 760px)
 * 확정 스타일: 회색 바탕(#f2f2f7) + 흰 카드(모서리 14), 회색 원 닫기, 사이트 색 알약 버튼 */
.hcs{--hcs-brand:var(--hv-main,#0068d6);--hcs-ink:color-mix(in srgb,var(--hcs-brand) 62%,#000);--hcs-on:#fff;position:fixed;inset:0;z-index:10050;visibility:hidden;transition:visibility 0s linear .42s;font-family:'Pretendard Variable','Pretendard',-apple-system,BlinkMacSystemFont,sans-serif;color:#1d1d1f;word-break:keep-all;overflow-wrap:anywhere}
.hcs.is-on{visibility:visible;transition:visibility 0s}
.hcs-dim{position:absolute;inset:0;background:rgba(0,0,0,.45);opacity:0;transition:opacity .3s ease}
.hcs.is-on .hcs-dim{opacity:1}
.hcs-panel{position:absolute;top:0;right:0;bottom:0;width:min(440px,100%);display:flex;flex-direction:column;background:var(--hv-ui-group,#f2f2f7);box-shadow:-16px 0 48px rgba(0,0,0,.18);transform:translateX(100%);transition:transform .42s cubic-bezier(.22,1,.36,1),width .3s ease;outline:0}
.hcs.is-wide .hcs-panel{width:min(760px,100%)}
.hcs.is-on .hcs-panel{transform:none}
.hcs-head{position:relative;flex:0 0 auto;display:flex;align-items:center;gap:8px;min-height:56px;padding:8px 12px 4px 16px}
.hcs-title{flex:1 1 auto;min-width:0;margin:0;font-size:17px;font-weight:700;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hcs-iconbtn{flex:0 0 32px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin:0;padding:0;border:0;border-radius:50%;background:rgba(118,118,128,.12);color:#1d1d1f;cursor:pointer}
.hcs-iconbtn svg{width:18px;height:18px}
.hcs-iconbtn[hidden]{display:none}
.hcs-grip{display:none}
.hcs-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}
.hcs-body iframe{flex:1 1 auto;width:100%;border:0;background:#f2f2f7}
.hcs-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 16px 16px}
.hcs-count{margin:0 4px 12px;display:flex;align-items:center;justify-content:space-between;font-size:14px;color:#6e6e73}
.hcs-count strong{color:var(--hcs-ink);font-weight:700}
.hcs-clear{height:32px;padding:0 12px;border:0;border-radius:16px;background:rgba(118,118,128,.12);color:#3a3a3c;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.hcs-list{margin:0;padding:0;list-style:none;border-radius:14px;background:#fff;overflow:hidden}
.hcs-item{position:relative;display:flex;align-items:center;gap:12px;padding:12px 12px 12px 14px;transition:opacity .2s ease,transform .2s ease}
.hcs-item+.hcs-item::before{content:"";position:absolute;top:0;left:84px;right:0;height:1px;background:rgba(60,60,67,.12)}
.hcs-item.is-leaving{opacity:0;transform:translateX(24px)}
.hcs-thumb{flex:0 0 56px;width:56px;height:56px;border-radius:12px;background:#e5e5ea center/cover no-repeat;display:flex;align-items:center;justify-content:center;color:#8e8e93}
.hcs-thumb svg{width:24px;height:24px}
.hcs-meta{flex:1 1 auto;min-width:0}
.hcs-kind{display:block;margin-bottom:3px;font-size:12px;font-weight:600;color:var(--hcs-ink)}
.hcs-name{margin:0;font-size:15px;font-weight:600;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hcs-opt{margin:2px 0 0;font-size:12px;color:#6e6e73}
.hcs-price{margin-top:4px;display:flex;align-items:baseline;gap:6px;font-size:15px;font-weight:700}
.hcs-price s{font-size:12px;font-weight:500;color:#8e8e93}
.hcs-sum{margin-top:12px;padding:14px 16px;border-radius:14px;background:#fff;font-size:14px}
.hcs-row{display:flex;justify-content:space-between;gap:12px;padding:4px 0;color:#3a3a3c}
.hcs-row.is-off span:last-child{color:var(--hcs-ink);font-weight:600}
.hcs-row.is-total{margin-top:6px;padding-top:10px;border-top:1px solid rgba(60,60,67,.12);color:#1d1d1f;font-size:16px;font-weight:700}
.hcs-fx{margin:8px 0 0;font-size:12px;line-height:1.5;color:#6e6e73}
.hcs-row.is-total span:last-child{font-size:20px}
.hcs-note{margin:10px 4px 0;font-size:12px;color:#6e6e73}
.hcs-foot{flex:0 0 auto;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:var(--hv-ui-group-a,rgba(242,242,247,.92));-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.hcs-book{display:flex;align-items:center;justify-content:center;width:100%;height:52px;border:0;border-radius:26px;background:var(--hcs-brand);color:var(--hcs-on);font:inherit;font-size:16px;font-weight:700;cursor:pointer}
.hcs-empty{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;text-align:center}
.hcs-empty svg{width:44px;height:44px;color:#c7c7cc}
.hcs-empty strong{font-size:17px}
.hcs-empty p{margin:0 0 8px;font-size:14px;color:#6e6e73}
.hcs-ghost{height:44px;padding:0 20px;border:0;border-radius:22px;background:rgba(118,118,128,.12);color:#1d1d1f;font:inherit;font-size:15px;font-weight:600;cursor:pointer}
.hcs button:focus-visible,.hcs a:focus-visible{outline:2px solid #0068d6;outline-offset:2px}
.hcs-loading{flex:1 1 auto;display:flex;align-items:center;justify-content:center;color:#6e6e73;font-size:14px}
html.hcs-lock,html.hcs-lock body{overflow:hidden}
/* 시트가 열린 동안 관리자 아래 독·하단 탭이 시트를 가리지 않게 */
html.hcs-lock :is(#hive-dock,#qtab_bar){visibility:hidden}
/* 휴대폰: 아래 시트 */
@media (max-width:640px){
  .hcs-panel,.hcs.is-wide .hcs-panel{top:auto;left:0;width:100%;height:min(88dvh,860px);border-radius:20px 20px 0 0;box-shadow:0 -12px 40px rgba(0,0,0,.25);transform:translateY(100%)}
  .hcs.is-on .hcs-panel{transform:none}
  .hcs-panel.is-dragging{transition:none}
  .hcs-head{padding-top:18px;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}
  .hcs-grip{display:block;position:absolute;top:7px;left:50%;width:36px;height:5px;margin-left:-18px;border-radius:3px;background:rgba(60,60,67,.3)}
}
@media (prefers-reduced-motion:reduce){.hcs,.hcs-dim,.hcs-panel,.hcs-item{transition:none}}
