/* ═══════════════════════════════════════════════════════════════════════════
   booking.oneclip.co.kr 전용 추가 스타일
   WEB-BOOKING-BIZPARITY-13 · 2026-09-13

   무엇인가 : biz.oneclip.co.kr 의 «머리띠(header.nav)» · «간편로그인 카드» ·
              «CONTACT 구획» 셋을 이 주소로 옮겨 온 것.
   어디서만 : booking.oneclip.co.kr 한 곳에서만 링크된다.
              oneclip.co.kr/products/booking/ 은 이 파일을 «읽지 않는다».
              site.css · booking-black.css 는 한 글자도 바꾸지 않았다.

   ⚠ 이름을 전부 «bz-» 로 갈아 끼웠다.
     까닭 — BIZ 원본의 `.nav` `.btn` `.card` `.form` `.contact` `.field` 는
     site.css 와 «글자까지 같은» 이름이다. 그대로 옮기면 회사 사이트 규칙과
     뒤엉켜 어디가 이겼는지 알 수 없게 된다. 그래서 충돌이 «생길 수 없게» 했다.
     (site.css · booking-black.css 안의 `bz-` 등장 횟수 = 0 으로 확인함)

   ⚠⚠ 색 — BIZ 의 버튼 그라디언트 `linear-gradient(100deg,#3B7BFF,#2D6BF0)` 는
     «가져오지 않았다». 그 색 위의 흰 글자는 3.84:1 로 AA(4.5:1) 미달이다.
     #11 §12 가 「BIZ 의 AA 미달 버튼 Gradient 를 Booking 에 재도입하지 말 것」
     이라고 못 박은 바로 그 자리다. 대신 Booking 승인값을 쓴다 —
       채움 --btn-fill #0B6FD6 · 흰 글자 4.93:1 (AA 통과)
       강조 --blue     #0085FD · 검정 위 5.48:1
     새로 만든 색은 «하나도 없다».
   ═══════════════════════════════════════════════════════════════════════════ */

:root{
  /* BIZ 에만 있던 값 중 이 세 덩어리가 실제로 쓰는 것만 가져온다 */
  --bz-line-3:rgba(255,255,255,.17);
  --bz-dim:#66718C;
  --bz-red:#F06E62;
  --bz-amber:#E9B15C;
  --bz-amber-soft:rgba(233,177,92,.13);
  --bz-green:#2FE08A;
  --bz-green-soft:rgba(47,224,138,.12);
  --bz-sh-lg:0 40px 90px -40px rgba(0,0,0,.95),0 0 0 1px rgba(255,255,255,.04);
}

/* ── 머리띠 ───────────────────────────────────────────────────────────────
   BIZ 실측: sticky · 높이 72px · 배경 78% 불투명 + blur(18px) · 아래 1px 선 */
.bz-nav{position:sticky;top:0;z-index:60;background:var(--nav-bg);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid var(--line-soft);}
.bz-nav-in{display:flex;align-items:center;gap:28px;height:72px;}

/* ONECLIP 표식 — BIZ 와 같은 «고리 + 오른쪽 짧은 막대» */
.bz-brand{display:flex;align-items:center;gap:11px;padding-right:4px;
  font-family:var(--display);font-weight:700;font-size:16px;letter-spacing:-.015em;
  color:var(--ink);text-decoration:none;}
.bz-mark{width:27px;height:27px;border-radius:50%;border:2.7px solid #fff;
  position:relative;flex:none;}
.bz-mark::after{content:"";position:absolute;top:9px;right:-3px;width:10px;height:2.7px;
  background:#fff;border-radius:2px;}

.bz-nav-links{display:flex;gap:26px;margin-left:auto;font-size:14px;
  color:var(--muted);font-weight:500;}
.bz-nav-links a{padding:3px 0;border-bottom:1.5px solid transparent;
  color:inherit;text-decoration:none;transition:.16s;}
.bz-nav-links a:hover{color:var(--ink);border-bottom-color:var(--blue);}

.bz-nav-cta{display:flex;align-items:center;gap:10px;flex:none;margin-left:auto;}

/* ── 단추 ─────────────────────────────────────────────────────────────── */
.bz-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:inherit;font-weight:700;font-size:15.5px;padding:15px 28px;
  border-radius:12px;border:1px solid transparent;text-decoration:none;
  transition:transform .15s ease,box-shadow .2s,background .2s,border-color .2s;}
.bz-btn:hover{transform:translateY(-1px);}
/* ⚠ BIZ 의 그라디언트가 아니라 Booking 승인 채움색이다 (위 머리말 참고) */
.bz-btn-primary{color:var(--btn-on);background:var(--btn-fill);
  box-shadow:0 12px 30px -16px rgba(11,111,214,.85);}
.bz-btn-primary:hover{background:var(--btn-fill-h);
  box-shadow:0 18px 38px -18px rgba(11,111,214,.95);}
.bz-btn-ghost{border-color:var(--bz-line-3);color:var(--ink);
  background:rgba(255,255,255,.05);}
.bz-btn-ghost:hover{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.30);}
.bz-btn-sm{padding:10px 18px;font-size:14.5px;border-radius:10px;}
.bz-btn[disabled]{opacity:.45;pointer-events:none;}

/* ── 간편로그인 서랍 ─────────────────────────────────────────────────────
   BIZ 와 «같은 방식»으로 열고 닫는다 — grid-template-rows 0fr ↔ 1fr.
   높이를 재지 않아도 되고, 내용이 길어져도 그대로 맞는다. */
.bz-login-dock{position:relative;flex:none;}
.bz-chev{width:8px;height:8px;border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;flex:none;
  transform:rotate(45deg) translate(-2px,-2px);transition:transform .25s;}
[aria-expanded="true"] .bz-chev{transform:rotate(-135deg) translate(-2px,-2px);}

.bz-acc{display:grid;grid-template-rows:0fr;opacity:0;
  transition:grid-template-rows .36s cubic-bezier(.2,.7,.3,1),opacity .26s;}
.bz-acc.open{grid-template-rows:1fr;opacity:1;}
.bz-acc-in{overflow:hidden;min-height:0;}
#bzLoginAcc{position:absolute;top:calc(100% + 12px);right:0;z-index:70;
  width:min(320px,calc(100vw - 32px));pointer-events:none;}
#bzLoginAcc.open{pointer-events:auto;}
#bzLoginAcc.open.done > .bz-acc-in{overflow:visible;}

.bz-login-card{background:#fff;border:1px solid var(--line);border-radius:20px;
  padding:26px 22px 18px;box-shadow:var(--bz-sh-lg);}
.bz-lc-title{font-family:var(--display);font-weight:700;font-size:17px;
  text-align:center;letter-spacing:-.015em;color:#111;}
.bz-sns-in{display:flex;flex-direction:column;gap:10px;margin-top:20px;}

/* ⚠⚠ 다섯 단추는 «누를 수 없다» — 대표 지시.
     그래서 진짜 <button disabled> 로 둔다. 보기만 막은 것이 아니라
     탭 이동에서도 빠지고, 화면낭독기도 「사용할 수 없음」으로 읽는다.
     색은 BIZ 와 똑같이 둔다 (회색으로 죽이지 않는다 — 「동일한 모양」 지시).
     ⚠ 여기에 로그인을 «연결하지» 않는 이유는 따로 있다: 이 주소에서 시작하면
       redirect_uri 가 https://booking.oneclip.co.kr 이 되는데, 그 주소는
       구글·카카오·페이스북·네이버 어느 콘솔에도 등록돼 있지 않다. */
.bz-sns{display:flex;align-items:center;justify-content:center;
  padding:12.5px 12px;border-radius:11px;border:1px solid transparent;
  font-family:inherit;font-weight:700;font-size:15px;}
.bz-sns[disabled]{cursor:not-allowed;opacity:1;}
.bz-sns-kakao{background:#FEE500;color:#191600;}
.bz-sns-apple{background:#000;color:#fff;}
/* ⚠ #4285F4 는 구글 브랜드 가이드가 허용하는 공식 색 셋(흰·파랑·검정) 중 하나다.
     임의로 고른 파랑이 아니다. 바꿀 때도 그 셋 안에서 고를 것. */
.bz-sns-google{background:#4285F4;color:#fff;}
.bz-sns-naver{background:#03C75A;color:#fff;}
.bz-sns-facebook{background:#1877F2;color:#fff;}

/* 「아직 회원이 아니신가요? 파트너 신청」 — <a> 가 아니라 <span> 이다.
   링크가 아예 아니므로 누를 자리 자체가 없다 (대표 지시). */
.bz-lc-links{display:flex;justify-content:center;margin-top:20px;font-size:13px;}
.bz-lc-links span{color:var(--btn-fill);font-weight:700;
  text-decoration:underline;text-underline-offset:3px;cursor:not-allowed;}
.bz-lc-foot{margin-top:16px;padding-top:12px;border-top:1px solid rgba(0,0,0,.08);
  text-align:center;font-size:11.5px;color:#7A8398;line-height:1.8;}
.bz-lc-foot span{display:block;font-family:var(--mono);font-size:10px;
  letter-spacing:.1em;opacity:.8;}

/* ── CONTACT ─────────────────────────────────────────────────────────────
   BIZ 실측: 2열 1fr / 1.15fr · gap 56px · 왼쪽 연락 카드 3장 · 오른쪽 폼 */
.bz-contact{background:var(--ground);border-top:1px solid var(--line-soft);}
.bz-contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
  gap:56px;align-items:start;}

.bz-eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);
  font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);
  background:transparent;border:1px solid var(--line);border-radius:999px;padding:6px 15px;}
.bz-eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;
  background:var(--muted);flex:none;}

.bz-h2{font-family:var(--display);font-weight:700;color:var(--ink);
  font-size:clamp(26px,3.3vw,40px);line-height:1.26;letter-spacing:-.026em;
  margin:20px 0 0;word-break:keep-all;}
.bz-h2 .acc{color:var(--blue);}
.bz-lead{margin-top:18px;color:var(--muted);font-size:17px;line-height:1.78;}

.bz-ways{display:grid;gap:12px;margin-top:28px;}
.bz-way{display:flex;align-items:center;gap:13px;padding:15px 17px;
  border:1px solid var(--line);border-radius:14px;background:var(--surface);
  text-decoration:none;transition:border-color .18s,background .18s;}
.bz-way:hover{border-color:var(--blue-line);background:var(--blue-soft);}
.bz-way svg{width:17px;height:17px;flex:none;fill:none;stroke:var(--blue);
  stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.bz-way span{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;
  color:var(--bz-dim);text-transform:uppercase;}
.bz-way b{display:block;margin-top:3px;font-size:15px;font-weight:700;
  color:var(--ink);letter-spacing:-.01em;}

/* ── 문의 폼 ─────────────────────────────────────────────────────────────
   ⚠ 이 폼은 «진짜로 보낸다». 받는 곳 = POST /api/consultations
     (server/routes/consult.js · MySQL biz_consultations 한 곳)
     그래서 눌렀을 때 성공처럼 보이기만 하고 아무 데도 가지 않는 일이 없다. */
.bz-form{background:var(--bk-glass);border:1px solid var(--line);border-radius:16px;
  box-shadow:var(--bk-shadow);padding:28px 26px;display:grid;gap:14px;}
.bz-field{display:grid;gap:7px;}
.bz-field > label{font-family:var(--mono);font-size:10px;letter-spacing:.14em;
  color:var(--bz-dim);text-transform:uppercase;}
.bz-field input,.bz-field select,.bz-field textarea{
  width:100%;font-family:inherit;font-size:15px;color:var(--ink);
  background:var(--ground);border:1px solid var(--line);border-radius:11px;
  padding:12px 14px;transition:border-color .16s;}
.bz-field textarea{min-height:110px;resize:vertical;}
.bz-field input::placeholder,.bz-field textarea::placeholder{color:#5A6480;}
.bz-field input:focus,.bz-field select:focus,.bz-field textarea:focus{
  outline:none;border-color:var(--blue-line);}
.bz-field-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.bz-req{color:var(--bz-red);margin-left:3px;}
.bz-field .bz-err{display:none;font-size:11.5px;color:var(--bz-red);}
.bz-field.bad .bz-err{display:block;}
.bz-field.bad input,.bz-field.bad select,.bz-field.bad textarea{
  border-color:rgba(240,110,98,.62);}

/* ⚠ #11 §12 와 같은 고침 — 체크상자에 «이름»이 붙어야 화면낭독기가
   무엇에 동의하는지 읽는다. label 로 감싸고, 링크는 label «밖»에 둔다
   (안에 두면 링크를 누를 때 체크가 같이 토글된다). */
.bz-agree{display:flex;align-items:center;flex-wrap:wrap;gap:8px;
  min-height:24px;font-size:13px;color:var(--ink-2);line-height:1.6;}
.bz-agree-in{display:inline-flex;align-items:center;gap:10px;min-height:24px;cursor:pointer;}
.bz-agree input{width:18px;height:18px;flex:none;margin:0;accent-color:var(--blue);}
.bz-agree a{color:var(--blue);text-decoration:underline;text-underline-offset:3px;}
.bz-agree em{font-style:normal;color:var(--bz-red);margin-left:2px;}

.bz-form .bz-btn{margin-top:4px;}
.bz-form-msg{display:none;font-size:13.5px;line-height:1.7;border-radius:11px;padding:12px 14px;}
.bz-form-msg.on{display:block;}
.bz-form-msg.ok{color:var(--bz-green);background:var(--bz-green-soft);
  border:1px solid rgba(47,224,138,.34);}
.bz-form-msg.err{color:var(--bz-amber);background:var(--bz-amber-soft);
  border:1px solid rgba(233,177,92,.34);}
.bz-form-note{font-size:12px;color:var(--bz-dim);line-height:1.7;}
.bz-form-note a{color:var(--blue);}

/* ── 붙박이 두 겹 맞추기 ─────────────────────────────────────────────────
   ⚠⚠ 실측으로 잡은 겹침. booking-black.css 는 `.bk-subnav{top:66px}` 인데
     그 66px 은 «회사 소개 머리띠»의 높이였다. 여기 머리띠는 BIZ 치수라 73px 이다.
     그대로 두면 구획 띠가 머리띠 «아래로 7px 파고들어» 글자가 잘린다.
     (측정값: navH 73 · subnav.top 66)
   ⚠ booking-black.css 는 한 글자도 바꾸지 않았다. 이 쪽에서만 덮어쓴다.
     그래서 oneclip.co.kr/products/booking/ 의 66px 은 그대로다. */
/* ⚠ 구획 띠(.bk-subnav)는 2026-09-19 대표 지시로 «지웠다».
     이제 붙박이는 머리띠 한 겹(73px)뿐이므로 앵커 여백도 한 겹으로 줄인다.
     133px 그대로 두면 구획이 필요 이상으로 아래에서 멈춘다. */
section[id]{scroll-margin-top:85px;}

/* ── 히어로 화면 자리 — 실제 캡처가 들어왔다 (2026-09-19) ──────────────────
   원본 1814×867 (비율 2.09). 슬롯 폭 624px 에서 높이 298px 이라
   옛 빈 상자(min-height 300px)와 거의 같다 — 레이아웃이 흔들리지 않는다.
   ⚠⚠ .bk-slot 은 이 문서에 «두 개»다 (히어로 V-01 · 예약센터 V-02).
     V-02 는 아직 글자가 든 «대기 자리»라 여백을 걷으면 글자가 모서리에 붙는다.
     그래서 사진이 들어간 쪽(.bk-slot-shot)에만 적용한다. */
.bk-slot-shot{padding:0;min-height:0;border-style:solid;
  border-color:rgba(255,255,255,.07);overflow:hidden;display:block;}
.bk-shot{display:block;width:100%;height:auto;border-radius:13px;}

/* ── 반응형 ──────────────────────────────────────────────────────────── */
@media (max-width:1080px){
  .bz-contact-grid{grid-template-columns:1fr;gap:40px;}
}
@media (max-width:980px){
  /* BIZ 와 같다 — 좁아지면 메뉴를 접는다.
     ⚠ 2026-09-19 에 구획 띠를 지웠으므로, 이 폭에서는 구획 메뉴가 «보이지 않는다».
       대표님께 보고한 사항이다. 되살릴지는 지시를 받아 정한다. */
  .bz-nav-links{display:none;}
  .bz-nav-in{gap:14px;}
}
@media (max-width:620px){
  .bz-nav-in{height:64px;gap:10px;}
  .bz-brand{font-size:14px;gap:9px;}
  .bz-mark{width:23px;height:23px;border-width:2.4px;}
  .bz-mark::after{top:7.5px;width:9px;height:2.4px;}
  .bz-btn-sm{padding:9px 13px;font-size:13px;}
  /* 히어로와 마무리에 같은 CTA 가 있다 — 머리띠에서는 접는다 */
  .bz-nav-cta .bz-btn-primary{display:none;}
  .bz-field-2{grid-template-columns:1fr;}
  .bz-form{padding:22px 18px;}
  /* 구획 띠가 없어졌으므로 머리띠 한 겹(65px = 몸통 64 + 아래 선 1)만 피하면 된다 */
  section[id]{scroll-margin-top:77px;}
}
@media (prefers-reduced-motion:reduce){
  .bz-acc{transition:none;}
  .bz-btn:hover{transform:none;}
}

/* ── AI Semi 구획 — 오른쪽 빈자리에 세미 그림 (WEB) ──────────────────────
     왼쪽 글은 건드리지 않는다. 구획의 .wrap 만 두 칸으로 나누고,
     기존 아이들은 모두 «왼쪽 칸»에 그대로 쌓이게 한다.
     그림은 인물만 오려 낸 것이고 세로로 길다 (716×1453). */
.bk-semisec .wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;
  column-gap:48px;align-items:center;}
.bk-semisec .wrap > *{grid-column:1;min-width:0;}
.bk-semisec .wrap > .bk-semifig{grid-column:2;grid-row:1 / span 8;
  align-self:center;justify-self:center;width:210px;margin:0;}
.bk-semifig img{display:block;width:100%;height:auto;}
@media (max-width:980px){
  .bk-semisec .wrap{display:block;}
  .bk-semisec .wrap > .bk-semifig{width:147px;margin:30px auto 0;}
}
