:root{--res-c-6ee0d8:#1a1a1a;--res-c-19659c:rgba(0, 0, 0, .55);--res-c-6aaa00:#fff;--res-c-ab05d9:rgba(0, 0, 0, .25);--res-fs-9eea7b:19px;--res-c-88c28e:#e5e5e5;--res-c-3f099d:#222;--res-c-76a249:#000;--res-fs-e11281:12px;--res-c-1b459b:#9a9a9a;--res-c-8fab76:#d9d9d9;--res-fs-b8c9f0:13px;--res-c-a8b5cb:#111;--res-c-5578ea:#f6f6f6;--res-fs-f4f9f2:14px;--res-c-2dd6cb:#fff7e6;--res-c-becb4a:#f1d9a6;--res-c-5bae72:#6b4a00;--res-c-dc6677:#fff1f1;--res-c-b84a49:#f3c2c2;--res-c-767635:#a11;--res-fs-9a9cf7:15px;--res-fs-b2342e:11px;--res-c-4db759:#888;--res-c-31b45d:#6b6b6b;--res-c-08d7e1:#dcdcdc;--res-c-55d128:#bdbdbd;--res-c-c238bd:#f5f5f5;--res-c-dc2483:#777;--res-c-37e8d7:#e3e3e3;--res-c-78566f:#f3f3f3;--res-fs-865b4c:20px;--res-c-0386b8:#c33;--res-c-fd2b88:#c9c9c9;--res-c-6c95ef:#bbb;--res-c-c10905:#f7f7f7;--res-c-50a842:#d6d6d6;--res-fs-cf3c03:16px;--res-c-ad31ce:#eee;--res-c-8ca9b0:#555;--res-fs-93e835:12.5px;--res-fs-c7c6a7:28px;--res-c-e1e62e:#f0f0f0;--res-c-415ef7:#666}
/* 지점 예약 신청 팝업 — 에이블메디스킨 '빠른 예약하기' 단계형 구성을 트리니티 흑백 톤으로 */
.rsv { position: fixed; inset: 0; z-index: 300; display: flex; align-items: center; justify-content: center; font-family: inherit; color: var(--res-c-6ee0d8); letter-spacing: -0.01em; line-height: 1.5; }
.rsv[hidden] { display: none; }
.rsv__dim { position: absolute; inset: 0; background: var(--res-c-19659c); }
.rsv__sheet { position: relative; width: min(460px, calc(100% - 32px)); max-height: calc(100dvh - 48px); background: var(--res-c-6aaa00); border-radius: 20px; display: flex; flex-direction: column; overflow: hidden; box-shadow: 0 20px 60px var(--res-c-ab05d9); }
.rsv__head { display: flex; align-items: center; justify-content: space-between; padding: 22px 22px 8px; }
.rsv__title { font-size: var(--res-fs-9eea7b); font-weight: 700; margin: 0; }
.rsv__x { width: 40px; height: 40px; border: 1px solid var(--res-c-88c28e); border-radius: 10px; background: var(--res-c-6aaa00); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; color: var(--res-c-3f099d); }
.rsv__x:focus-visible, .rsv__btn:focus-visible, .rsv__opt-card:focus-within, .rsv__calday:focus-visible, .rsv__time:focus-visible { outline: 2px solid var(--res-c-76a249); outline-offset: 2px; }

.rsv__steps { list-style: none; margin: 8px 22px 4px; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); position: relative; }
.rsv__steps::before { content: ""; position: absolute; left: 12.5%; right: 12.5%; top: 14px; height: 2px; background: var(--res-c-88c28e); }
.rsv__step { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; font-size: var(--res-fs-e11281); color: var(--res-c-1b459b); }
.rsv__num { width: 28px; height: 28px; border-radius: 50%; border: 2px solid var(--res-c-8fab76); background: var(--res-c-6aaa00); display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: var(--res-fs-b8c9f0); }
.rsv__step.is-current { color: var(--res-c-a8b5cb); font-weight: 700; }
.rsv__step.is-current .rsv__num { background: var(--res-c-a8b5cb); border-color: var(--res-c-a8b5cb); color: var(--res-c-6aaa00); }
.rsv__step.is-done .rsv__num { border-color: var(--res-c-a8b5cb); color: var(--res-c-a8b5cb); }

.rsv__body { overflow-y: auto; padding: 14px 22px 8px; flex: 1; }
.rsv__info { border-left: 3px solid var(--res-c-a8b5cb); background: var(--res-c-5578ea); border-radius: 0 10px 10px 0; padding: 14px 16px; font-size: var(--res-fs-f4f9f2); margin-bottom: 20px; }
.rsv__info strong { display: block; margin-bottom: 6px; font-size: var(--res-fs-b8c9f0); }
.rsv__info p { margin: 0 0 4px; }
.rsv__demo { font-size: var(--res-fs-b8c9f0); background: var(--res-c-2dd6cb); border: 1px solid var(--res-c-becb4a); color: var(--res-c-5bae72); border-radius: 10px; padding: 10px 12px; margin: 0 0 14px; }
.rsv__msg { font-size: var(--res-fs-b8c9f0); background: var(--res-c-dc6677); border: 1px solid var(--res-c-b84a49); color: var(--res-c-767635); border-radius: 10px; padding: 10px 12px; margin: 0 0 14px; }
.rsv__field { border: 0; margin: 0 0 18px; padding: 0; }
.rsv__label { display: block; font-size: var(--res-fs-9a9cf7); font-weight: 700; margin: 0 0 8px; padding: 0; }
.rsv__req { font-size: var(--res-fs-b2342e); font-weight: 500; color: var(--res-c-767635); margin-left: 4px; }
.rsv__opt { font-size: var(--res-fs-b2342e); font-weight: 500; color: var(--res-c-4db759); margin-left: 4px; }
.rsv__help { font-size: var(--res-fs-b8c9f0); color: var(--res-c-31b45d); margin: -2px 0 10px; }
.rsv__loading { font-size: var(--res-fs-f4f9f2); color: var(--res-c-4db759); }

.rsv__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.rsv__checks { display: grid; gap: 8px; }
.rsv__opt-card { position: relative; display: flex; align-items: center; gap: 10px; min-height: 48px; border: 1px solid var(--res-c-08d7e1); border-radius: 12px; padding: 10px 12px; cursor: pointer; font-size: var(--res-fs-f4f9f2); background: var(--res-c-6aaa00); }
.rsv__opt-card input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.rsv__opt-card .rsv__mark { flex: 0 0 18px; height: 18px; border: 1.5px solid var(--res-c-55d128); border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; }
.rsv__checks .rsv__mark { border-radius: 5px; }
.rsv__opt-card:has(input:checked) { border-color: var(--res-c-a8b5cb); background: var(--res-c-c238bd); font-weight: 700; }
.rsv__opt-card:has(input:checked) .rsv__mark { background: var(--res-c-a8b5cb); border-color: var(--res-c-a8b5cb); }
.rsv__opt-card:has(input:checked) .rsv__mark::after { content: ""; width: 6px; height: 6px; background: var(--res-c-6aaa00); border-radius: 50%; }
.rsv__checks .rsv__opt-card:has(input:checked) .rsv__mark::after { width: 9px; height: 5px; background: none; border: 2px solid var(--res-c-6aaa00); border-top: 0; border-right: 0; border-radius: 0; transform: rotate(-45deg) translate(1px, -1px); }
.rsv__meta { margin-left: auto; font-size: var(--res-fs-e11281); color: var(--res-c-dc2483); font-weight: 400; white-space: nowrap; }

.rsv__cal { border: 1px solid var(--res-c-37e8d7); border-radius: 14px; padding: 12px; }
.rsv__calhead { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; font-size: var(--res-fs-9a9cf7); }
.rsv__calnav { width: 36px; height: 36px; border: 0; background: var(--res-c-78566f); border-radius: 10px; font-size: var(--res-fs-865b4c); cursor: pointer; }
.rsv__calnav:disabled { opacity: .35; cursor: default; }
.rsv__calweek, .rsv__calgrid { display: grid; grid-template-columns: repeat(7, 1fr); text-align: center; }
.rsv__calweek span { font-size: var(--res-fs-e11281); color: var(--res-c-4db759); padding: 4px 0; }
.rsv__calweek span:first-child { color: var(--res-c-0386b8); }
.rsv__calday { height: 40px; margin: 2px; border: 0; border-radius: 10px; background: none; font-size: var(--res-fs-f4f9f2); cursor: pointer; color: var(--res-c-a8b5cb); }
.rsv__calday:disabled { color: var(--res-c-fd2b88); cursor: default; text-decoration: line-through; text-decoration-color: transparent; }
.rsv__calday.is-today { box-shadow: inset 0 0 0 1px var(--res-c-6c95ef); }
.rsv__calday.is-picked { background: var(--res-c-a8b5cb); color: var(--res-c-6aaa00); font-weight: 700; }
.rsv__times { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.rsv__times > p { grid-column: 1 / -1; }
.rsv__time { height: 40px; border: 1px solid var(--res-c-08d7e1); border-radius: 10px; background: var(--res-c-6aaa00); font-size: var(--res-fs-f4f9f2); cursor: pointer; }
.rsv__time:disabled { color: var(--res-c-6c95ef); background: var(--res-c-c10905); cursor: default; }
.rsv__time.is-picked { background: var(--res-c-a8b5cb); border-color: var(--res-c-a8b5cb); color: var(--res-c-6aaa00); font-weight: 700; }

.rsv__input { width: 100%; box-sizing: border-box; border: 1px solid var(--res-c-50a842); border-radius: 12px; padding: 12px 14px; font: inherit; font-size: var(--res-fs-cf3c03); background: var(--res-c-6aaa00); color: var(--res-c-a8b5cb); }
.rsv__input:focus { outline: 2px solid var(--res-c-a8b5cb); outline-offset: 0; border-color: var(--res-c-a8b5cb); }
textarea.rsv__input { resize: vertical; }
.rsv__terms { border-top: 1px solid var(--res-c-ad31ce); padding-top: 14px; }
.rsv__term { display: flex; align-items: flex-start; gap: 8px; font-size: var(--res-fs-f4f9f2); }
.rsv__term input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--res-c-a8b5cb); }
.rsv__termbtn { margin-left: auto; border: 0; background: none; text-decoration: underline; font-size: var(--res-fs-b8c9f0); color: var(--res-c-8ca9b0); cursor: pointer; white-space: nowrap; }
.rsv__termbody { font-size: var(--res-fs-93e835); color: var(--res-c-8ca9b0); background: var(--res-c-c10905); border-radius: 10px; padding: 10px 12px; margin: 8px 0 0; max-height: 180px; overflow: auto; }
.rsv__termbody p { margin: 0 0 6px; }

.rsv__sum { margin: 0 0 18px; padding: 12px 14px; background: var(--res-c-5578ea); border-radius: 12px; display: grid; grid-template-columns: auto 1fr; gap: 4px 14px; font-size: var(--res-fs-f4f9f2); }
.rsv__sum dt { color: var(--res-c-dc2483); }
.rsv__sum dd { margin: 0; font-weight: 600; word-break: keep-all; }
.rsv__done { text-align: center; padding-top: 10px; }
.rsv__done .rsv__sum { text-align: left; }
.rsv__doneicon { width: 56px; height: 56px; border-radius: 50%; background: var(--res-c-a8b5cb); color: var(--res-c-6aaa00); font-size: var(--res-fs-c7c6a7); display: flex; align-items: center; justify-content: center; margin: 4px auto 12px; }
.rsv__donetitle { font-size: var(--res-fs-9eea7b); margin: 0 0 6px; }
.rsv__donetext { font-size: var(--res-fs-f4f9f2); color: var(--res-c-8ca9b0); margin: 0 0 16px; }
.rsv__donetext b { color: var(--res-c-6ee0d8); }
.rsv__nb { white-space: nowrap; }
.rsv__line { display: block; text-wrap: balance; }
.rsv__status { color: var(--res-c-767635); font-weight: 700; }

.rsv__foot { padding: 12px 22px 18px; border-top: 1px solid var(--res-c-e1e62e); background: var(--res-c-6aaa00); }
.rsv__btns { display: flex; gap: 8px; }
.rsv__btn { flex: 1; height: 52px; border-radius: 12px; font-size: var(--res-fs-cf3c03); font-weight: 700; cursor: pointer; border: 1px solid var(--res-c-a8b5cb); }
.rsv__btn[hidden] { display: none; }
.rsv__btn--primary { background: var(--res-c-a8b5cb); color: var(--res-c-6aaa00); flex: 2; }
.rsv__btn--primary:disabled { background: var(--res-c-1b459b); border-color: var(--res-c-1b459b); cursor: default; }
.rsv__btn--ghost { background: var(--res-c-6aaa00); color: var(--res-c-a8b5cb); }
.rsv__kakao { display: block; text-align: center; font-size: var(--res-fs-b8c9f0); color: var(--res-c-415ef7); margin-top: 10px; text-decoration: underline; }

@media (max-width: 599px) {
  .rsv { align-items: flex-end; }
  .rsv__sheet { width: 100%; max-height: calc(100dvh - 24px); border-radius: 20px 20px 0 0; }
  .rsv__head { padding: 18px 16px 6px; }
  .rsv__steps { margin: 6px 16px 2px; }
  .rsv__body { padding: 12px 16px 6px; }
  .rsv__foot { padding: 10px 16px calc(14px + env(safe-area-inset-bottom)); }
}


.rsv__checks .rsv__meta{color:#2f6fd6;background:#eef4ff;border-radius:4px;padding:2px 6px;font-size:12px}

/* 팝업 글꼴·카카오 카드 */
#reserve,#reserve *{font-family:'Noto Sans KR',Apple SD Gothic Neo,Malgun Gothic,sans-serif!important;letter-spacing:-.01em}
#reserve .rsv__sum dd,#reserve .rsv__time,#reserve .rsv__calday{font-variant-numeric:tabular-nums}
/* 끝 */
.rsv__kakaocard{margin:22px 0 4px;text-align:left}
.rsv__kakaocard-ticket{position:relative;display:flex;gap:14px;align-items:center;padding:18px 18px 18px 16px;border-radius:14px 14px 0 0;background:#fffbe0;border:1px solid #f3df6f;border-bottom:1px dashed #e7cf4a}
.rsv__kakaocard-ticket::before,.rsv__kakaocard-ticket::after{content:"";position:absolute;bottom:-9px;width:16px;height:16px;border-radius:50%;background:#fff;border:1px solid #f3df6f}
.rsv__kakaocard-ticket::before{left:-9px;clip-path:inset(0 0 50% 50%)}.rsv__kakaocard-ticket::after{right:-9px;clip-path:inset(0 50% 50% 0)}
.rsv__kakaocard-ico{flex:0 0 46px;height:46px;border-radius:14px;background:#fee500;color:#191919;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(0,0,0,.08)}
.rsv__kakaocard-tag{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.12em;color:#8a6d00;background:#fff1a6;border-radius:999px;padding:2px 8px;margin-bottom:6px}
.rsv__kakaocard strong{display:block;font-size:16px;font-weight:700;color:#191919;line-height:1.35;margin:0 0 4px}
.rsv__kakaocard p{margin:0;font-size:12.5px;color:#6b6440;line-height:1.55}
/* 줄바꿈 정리(10-30): 낱말 중간에서 끊지 않고, 짧은 문장은 줄 길이를 고르게 */
#reserve .rsv__info p,#reserve .rsv__donetext,#reserve .rsv__kakaocard p,#reserve .rsv__kakaocard strong{word-break:keep-all;overflow-wrap:break-word;text-wrap:pretty}
#reserve .rsv__info p,#reserve .rsv__donetext,#reserve .rsv__kakaocard p,#reserve .rsv__kakaocard strong{text-wrap:balance}
.rsv__kakaocard-btn{display:flex;align-items:center;justify-content:center;gap:7px;height:50px;border-radius:0 0 14px 14px;background:#fee500;color:#191919;font-size:15px;font-weight:700;text-decoration:none;border:1px solid #f3df6f;border-top:0;transition:background .15s}
.rsv__kakaocard-btn:hover{background:#fada0a}
.rsv__kakaocard-btn:focus-visible{outline:2px solid #191919;outline-offset:2px}
.rsv__kakaocard-arr{margin-left:2px;opacity:.7}
/* 하단 고정 「쿠폰받고 예약하기」(10-30): 화면 폭 전체를 덮는 투명 상자가 푸터 링크 클릭을 막지 않게, 버튼만 누를 수 있게 한다 */
.custom_floating_banner_div { pointer-events: none; }
.custom_floating_banner_div > a { pointer-events: auto; }
/* 맨 아래 개인정보처리방침·이용약관 줄이 버튼 밑에 깔리지 않도록 버튼 높이만큼 여백 */
div:has(+ .custom_floating_banner_div) { padding-bottom: 110px; }
/* 개인정보처리방침 | 이용약관 사이 간격(빌더 CSS에 mx-2 가 없어 붙어 보임) */
a[href='/privacy.html'] + span { margin: 0 8px; }
/* 신청 후 확정 안내(10-30 고객사 요청: 네이버 예약과 같은 모양·색) */
#reserve .rsv__confirm, #reserve .rsv__info p.rsv__confirm { margin: 0; color: #333; word-break: keep-all; text-wrap: balance; }
#reserve .rsv__confirm b { color: #03c75a; font-weight: 700; margin-right: 2px; }
#reserve .rsv__confirm-ico { display: inline-block; width: 15px; height: 15px; margin-right: 5px; vertical-align: -2px; border: 1.5px solid #03c75a; border-radius: 3px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.3 2.3 4.7-5' fill='none' stroke='%2303c75a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/11px no-repeat; }
#reserve .rsv__donetext .rsv__confirm { display: inline-block; text-wrap: balance; }
#reserve p.rsv__donetext { margin-bottom: 0; padding-bottom: 20px; }
/* 안내 상자(10-30 사용자 요청): 흰 바탕 + 초록 테두리로 눈에 띄게, 안내 문장은 한 줄(상자 폭에 맞춰 글자 크기 자동) */
#reserve .rsv__info { background: #fff; border: 1.5px solid #03c75a; border-radius: 10px; padding: 12px 14px; box-shadow: 0 2px 10px rgba(3, 199, 90, .12); container-type: inline-size; }
#reserve .rsv__info strong { color: #1a1a1a; font-size: 13px; margin-bottom: 6px; }
#reserve .rsv__donetext { container-type: inline-size; }
#reserve .rsv__info p.rsv__confirm, #reserve .rsv__donetext .rsv__confirm { white-space: nowrap; font-size: clamp(10.5px, calc(100cqi / 29), 14px); }
@media (max-width: 400px) { #reserve .rsv__info { padding: 11px 10px; } }
/* 11-02 고객사 요청: 모바일(특히 삼성 인터넷·큰 글꼴)에서 한 줄 고정 문장이 초록 상자 밖으로 나감 → 모바일은 줄바꿈 허용, 「(평균 20~30분)」은 붙여 둔다 */
@media (max-width: 767px) { #reserve .rsv__info p.rsv__confirm, #reserve .rsv__donetext .rsv__confirm { white-space: normal; font-size: 13px; line-height: 1.55; } }

/* 하단 사업자정보: 항목마다 한 줄 (아주 좁은 화면만 줄바꿈 허용) */
.biz-info li{white-space:nowrap}
@media (max-width:359px){.biz-info li{white-space:normal}}

/* 상담·예약 메뉴(10-30 고객사 요청): 하단 버튼 색·문구, 메뉴 4개, 전화상담 팝업, 오른쪽 고정 메뉴 — js/contact.js */
:root{--cta-bg:#03a94e;--cta-fg:#fff;--cta-bg-hover:#028a40}
.cta-float{background:var(--cta-bg)!important;color:var(--cta-fg)!important;box-shadow:0 6px 20px rgba(0,0,0,.18);transition:background .15s}
.cta-float:hover{background:var(--cta-bg-hover)!important}
.cta-float:focus-visible{outline:2px solid #111;outline-offset:3px}
.ct-box,.ct-box *{font-family:'Noto Sans KR',Apple SD Gothic Neo,Malgun Gothic,sans-serif!important;letter-spacing:-.01em}
.ct-box .rsv__sheet{width:min(420px,calc(100% - 32px))}
.ct-lead{margin:0 0 14px;font-size:14px;color:#555}
.ct-menu{display:grid;gap:10px;padding-bottom:18px}
.ct-pill{display:flex;align-items:center;justify-content:center;gap:10px;height:54px;border:1.5px solid #3b3550;border-radius:999px;background:#fff;color:#2b2540;font-size:16px;font-weight:600;text-decoration:none;cursor:pointer;font-family:inherit;transition:background .15s,color .15s}
.ct-pill svg{width:22px;height:22px;flex:0 0 22px}
.ct-pill:hover,.ct-pill--main{background:#3b3550;color:#fff}
.ct-pill--main:hover{background:#2b2540}
.ct-pill:focus-visible{outline:2px solid #111;outline-offset:2px}
.ct-help{margin:0 0 14px}
.ct-branches{grid-template-columns:1fr 1fr}
.ct-branches .rsv__opt-card{min-height:42px;padding:8px 10px;font-size:13.5px}
.ct-term{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px}
.ct-term .rsv__term{flex:1}
.ct-term b{font-weight:700}
.ct-sub{display:flex;gap:18px;margin:-2px 0 8px 26px}
.ct-sub .rsv__term{font-size:13px;color:#555}
.ct-box .rsv__termbody{margin:0 0 10px}
/* 오른쪽 고정 메뉴 — 반투명 흰 유리 패널(10-30 사용자 요청: 더 인터랙티브하고 세련되게) */
.ct-quick{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:60}
.ct-quick,.ct-quick *{font-family:'Noto Sans KR',Apple SD Gothic Neo,Malgun Gothic,sans-serif!important}
.ct-quick__toggle{display:none}
.ct-quick__list{list-style:none;margin:0;padding:10px 8px;display:flex;flex-direction:column;align-items:center;gap:6px;
  background:rgba(255,255,255,.58);-webkit-backdrop-filter:blur(16px) saturate(170%);backdrop-filter:blur(16px) saturate(170%);
  border:0;border-radius:999px;box-shadow:0 10px 34px rgba(17,17,17,.14)}
.ct-quick__list li{opacity:0;transform:translateX(14px);transition:opacity .45s ease,transform .45s cubic-bezier(.2,.8,.2,1)}
.ct-quick.is-ready .ct-quick__list li{opacity:1;transform:none}
.ct-quick__list li:nth-child(2){transition-delay:.04s}.ct-quick__list li:nth-child(3){transition-delay:.08s}.ct-quick__list li:nth-child(4){transition-delay:.12s}
.ct-quick__list li:nth-child(5){transition-delay:.16s}.ct-quick__list li:nth-child(6){transition-delay:.2s}.ct-quick__list li:nth-child(7){transition-delay:.24s}
.ct-quick__list li:nth-child(8){transition-delay:.28s}.ct-quick__list li:nth-child(9){transition-delay:.32s}
.ct-quick__sep{width:20px;height:1px;background:rgba(0,0,0,.12);margin:2px 0}
.ct-q{--brand:#1a1a1a;--on:#fff;position:relative;width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:0;padding:0;
  background:transparent;color:#2a2a2a;cursor:pointer;text-decoration:none;font:inherit;
  transition:background .25s ease,color .25s ease,transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease}
.ct-q svg{width:21px;height:21px}
.ct-q:hover,.ct-q:focus-visible{background:var(--brand);color:var(--on);transform:scale(1.08);box-shadow:0 6px 16px rgba(0,0,0,.18)}
.ct-q:active{transform:scale(.96)}
.ct-q:focus-visible{outline:2px solid #111;outline-offset:2px}
.ct-q--map{--brand:#03c75a}
.ct-q--reserve{--brand:#03a94e}
.ct-q--kakao{--brand:#fee500;--on:#3a1d1d}
.ct-q--kakao svg text{fill:#fff}
.ct-q--kakao:hover svg text,.ct-q--kakao:focus-visible svg text{fill:#fee500}
.ct-q--youtube{--brand:#ff0033}
.ct-q--blog{--brand:#03c75a}
.ct-q--instagram{--brand:#d62976}
.ct-q--instagram:hover,.ct-q--instagram:focus-visible{background:radial-gradient(circle at 30% 107%,#fdf497 0,#fd5949 45%,#d6249f 60%,#285aeb 90%)}
.ct-q--facebook{--brand:#1877f2}
.ct-q--youtube:hover svg path,.ct-q--youtube:focus-visible svg path{fill:#ff0033}
.ct-q--blog:hover svg text,.ct-q--blog:focus-visible svg text{fill:#03c75a}
.ct-q--tel{background:#1a1a1a;color:#fff;margin-top:4px;width:46px;height:46px}
.ct-q--tel::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1.5px solid rgba(26,26,26,.35);animation:ctPulse 2.4s ease-out infinite;pointer-events:none}
.ct-q--tel:hover,.ct-q--tel:focus-visible{background:#000}
@keyframes ctPulse{0%{transform:scale(.9);opacity:.9}80%,100%{transform:scale(1.35);opacity:0}}
/* 이름표: 왼쪽으로 미끄러져 나온다 */
.ct-q__tip{position:absolute;right:calc(100% + 14px);top:50%;transform:translate(8px,-50%);white-space:nowrap;pointer-events:none;
  padding:7px 12px;border-radius:999px;background:rgba(20,20,20,.86);color:#fff;font-size:12.5px;font-weight:500;letter-spacing:-.01em;
  box-shadow:0 6px 18px rgba(0,0,0,.18);opacity:0;transition:opacity .2s ease,transform .25s cubic-bezier(.2,.8,.2,1)}
.ct-q:hover .ct-q__tip,.ct-q:focus-visible .ct-q__tip{opacity:1;transform:translate(0,-50%)}
@media (prefers-reduced-motion:reduce){.ct-quick__list li,.ct-q,.ct-q__tip{transition:none}.ct-q--tel::after{animation:none;display:none}}
/* 모바일: 버튼 하나로 접고, 누르면 위로 펼친다 */
@media (max-width:767px){
  .ct-quick{right:12px;top:auto;bottom:calc(98px + env(safe-area-inset-bottom));transform:none;display:flex;flex-direction:column-reverse;align-items:flex-end;gap:10px}
  .ct-quick__toggle{display:inline-flex;align-items:center;gap:7px;height:42px;padding:0 15px 0 13px;border-radius:999px;border:0;cursor:pointer;color:#1a1a1a;font-size:13.5px;font-weight:600;letter-spacing:-.01em;
    background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(16px) saturate(170%);backdrop-filter:blur(16px) saturate(170%);box-shadow:0 8px 24px rgba(17,17,17,.18);transition:background .25s}
  .ct-quick.is-open .ct-quick__toggle{background:rgba(26,26,26,.88);color:#fff}
  .ct-quick__bars{position:relative;display:block;width:12px;height:12px;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
  .ct-quick__bars::before,.ct-quick__bars::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;border-radius:2px;background:currentColor;transform:translate(-50%,-50%)}
  .ct-quick__bars::after{transform:translate(-50%,-50%) rotate(90deg)}
  .ct-quick.is-open .ct-quick__bars{transform:rotate(135deg)}
  .ct-quick__list{padding:7px 5px;gap:5px;visibility:hidden;opacity:0;transform:translateY(12px) scale(.96);transform-origin:bottom right;transition:opacity .25s ease,transform .3s cubic-bezier(.2,.8,.2,1),visibility 0s .3s}
  .ct-quick.is-open .ct-quick__list{visibility:visible;opacity:1;transform:none;transition-delay:0s}
  .ct-quick.is-ready:not(.is-open) .ct-quick__list li{opacity:0;transform:translateY(8px)}
  .ct-q{width:32px;height:32px}.ct-q svg{width:18px;height:18px}
  .ct-q--tel{width:36px;height:36px}.ct-q--tel svg{width:17px;height:17px}
  .ct-q__tip{font-size:12px;padding:6px 10px;right:calc(100% + 10px)}
  .ct-quick.is-open .ct-q__tip{opacity:1;transform:translate(0,-50%)}
}

/* 모바일·터치(10-30 사용자 결정 「중간안」): 원은 반투명 흰색 그대로, 아이콘 그림만 브랜드 색. 누르는 순간 원이 브랜드 색으로 찬다 */
@media (hover:none),(max-width:767px){
  .ct-q:not(.ct-q--tel){background:rgba(255,255,255,.78);box-shadow:0 2px 8px rgba(0,0,0,.06)}
  .ct-q--map{color:#03c75a}.ct-q--reserve{color:#03a94e}.ct-q--blog{color:#03c75a}.ct-q--facebook{color:#1877f2}.ct-q--instagram{color:#d62976}
  .ct-q--kakao{color:#fee500}.ct-q--kakao svg text{fill:#3a1d1d}.ct-q--kakao svg path{filter:drop-shadow(0 1px 1px rgba(0,0,0,.12))}
  .ct-q--youtube{color:#ff0033}.ct-q--youtube svg path{fill:#fff}
  .ct-q--blog svg text{fill:#fff}
  .ct-q:hover,.ct-q:focus-visible{transform:none;box-shadow:0 2px 8px rgba(0,0,0,.06)}
  .ct-q:not(.ct-q--tel):hover,.ct-q:not(.ct-q--tel):focus-visible{background:rgba(255,255,255,.78)}
  .ct-q:not(.ct-q--tel):active{background:var(--brand);color:var(--on);transform:scale(.92)}
  .ct-q.ct-q--instagram:active{background:radial-gradient(circle at 30% 107%,#fdf497 0,#fd5949 45%,#d6249f 60%,#285aeb 90%);color:#fff}
  .ct-q--youtube:active svg path{fill:#ff0033}.ct-q--blog:active svg text{fill:#03c75a}.ct-q--kakao:active svg text{fill:#fee500}
  .ct-q--tel:active{transform:scale(.92)}
  .ct-quick__sep{margin:3px 0}
}

/* 11-02 박루루: 하단 「할인쿠폰받고 예약하기」 버튼이 너무 큼 → 폭·높이·글자 한 단계 줄임 */
.cta-float{max-width:260px!important;padding-top:12px!important;padding-bottom:12px!important}
.cta-float .text-2xl{font-size:19px!important;line-height:1.4!important}
@media (min-width:768px){.cta-float{max-width:280px!important;padding-top:14px!important;padding-bottom:14px!important}.cta-float .text-2xl{font-size:21px!important}}
