/* Shared only by the children's landing pages and guide. */
.contact-actions {
  display:grid; gap:10px; width:100%; max-width:420px; text-align:center;
  --contact-surface:#fff; --contact-ink:#222; --contact-line:#deded9;
}
.contact-actions .contact-button {
  display:flex; align-items:center; justify-content:center; gap:10px;
  min-height:50px; width:100%; padding:13px 18px; margin:0;
  border:1px solid var(--contact-line); border-radius:14px;
  color:var(--contact-ink); background:var(--contact-surface);
  font:700 15px/1.3 var(--font-body); letter-spacing:-.02em;
  text-decoration:none; cursor:pointer; opacity:1;
  transition:background .18s, border-color .18s, box-shadow .18s, transform .18s;
}
.contact-button svg, .contact-nav-sms svg { width:21px; height:21px; flex-shrink:0; }
.contact-actions .contact-button--sms, .sms-dialog .contact-button--sms {
  position:relative; min-height:62px; border-color:#fbb72c;
  background:linear-gradient(115deg,#ffd36a,#fbb72c); color:#19160d;
  box-shadow:0 6px 20px rgba(251,183,44,.19); font-size:19px; font-weight:800;
}
.contact-arrow { position:absolute; right:20px; font-size:22px; font-weight:500; }
.contact-secondary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.contact-actions .contact-button--kakao { background:#fffbea; border-color:#e9dfba; color:#362d14; }
.contact-actions .contact-button--reserve { min-height:62px; background:#252923; color:#fff; border-color:#252923; font-size:18px; font-weight:800; box-shadow:0 5px 16px #1820181a; }
.contact-button--reserve small { border-left:1px solid currentColor; padding-left:10px; font-size:12px; font-weight:500; opacity:.85; }
.contact-actions .contact-button:hover { transform:translateY(-2px); border-color:#ad8b40; box-shadow:0 5px 14px #0000000c; }
.contact-actions .contact-button--sms:hover { background:#ffcd5b; box-shadow:0 8px 24px #fbb72c44; }
.contact-actions .contact-button:active { transform:translateY(0); }
.contact-button:focus-visible, .contact-help:focus-visible, .contact-menu summary:focus-visible,
.sms-dialog button:focus-visible, .contact-nav a:focus-visible { outline:3px solid #aa6900; outline-offset:4px; }
.contact-help { border:0; background:none; color:var(--contact-ink); opacity:.7; font:400 12px/1.5 var(--font-body); padding:5px; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.hero-cta { display:block; width:100%; margin-top:24px; }
.hero-cta .contact-actions { --contact-surface:rgba(255,255,255,.1); --contact-ink:#fff; --contact-line:rgba(255,255,255,.3); }
.hero-cta .contact-button--phone { backdrop-filter:blur(12px); }
.hero-cta .contact-button--reserve { background:#fffefa; color:#252923; border-color:#fffefa; box-shadow:0 5px 18px #0003; }
.hero-cta .contact-button--reserve:hover { background:#fff5da; }
.cta-actions { display:block; width:100%; margin:30px auto 0; }
.cta-actions .contact-actions { margin:auto; }
.contact-nav { gap:12px; }
.contact-nav .contact-nav-sms { gap:7px; min-height:44px; border-radius:12px; }
.contact-menu { position:relative; }
.nav .contact-menu { color:#fff; }
.nav.scrolled .contact-menu, .nav.nav--solid .contact-menu { color:#222; }
.contact-menu summary { display:flex; align-items:center; gap:7px; min-height:44px; cursor:pointer; list-style:none; font-size:13px; font-weight:600; }
.contact-menu summary::-webkit-details-marker { display:none; }
.contact-menu-panel { position:absolute; right:0; top:calc(100% + 12px); width:320px; max-width:calc(100vw - 32px); padding:18px; background:#fff; color:#222; border:1px solid #eae6db; border-radius:20px; box-shadow:0 16px 50px #0003; }
.contact-menu-panel .contact-actions { margin:0; }
.contact-menu-panel .contact-button { display:flex !important; }
.uniform-offer { max-width:520px; margin:0 auto 22px; color:#59564d; font-size:16px; line-height:1.8; }
.uniform-offer strong { color:#302714; }
.uniform-value { display:block; font:700 17px/1.6 var(--font-body); letter-spacing:0; color:#8a621c; margin-bottom:10px; }
.basic-benefit { margin:20px 0 0; font-size:13px; color:#706c62; }
.hero-offer { display:flex; align-items:center; flex-wrap:wrap; gap:5px 10px; margin:16px 0 0; color:#ffdc87; font-size:13px; }
.hero-offer strong { font-weight:700; }
.hero-offer span { color:#fff; opacity:.8; font-size:12px; }
.promo-bar { line-height:1.5; }
.promo-bar-msg { display:inline-flex; flex-wrap:wrap; justify-content:center; gap:0 5px; }
.promo-bar-deadline { white-space:nowrap; }
.promo-modal-msg { line-height:1.6; }
.guide-cta .contact-actions { margin:24px 0 0; }
.guide-cta .guide-cta-link { display:inline-block; margin-top:18px; }
.sms-dialog { width:min(440px,calc(100vw - 32px)); max-height:85dvh; padding:30px; color:#24231f; background:#fffefa; border:1px solid #e9e3d6; border-radius:24px; box-shadow:0 24px 100px #0005; font-family:var(--font-body); }
.sms-dialog::backdrop { background:#10182099; backdrop-filter:blur(5px); }
.sms-dialog-close { position:absolute; top:12px; right:12px; width:36px; height:36px; border:0; border-radius:50%; background:#f0ede5; color:#333; font-size:23px; cursor:pointer; }
.sms-dialog-kicker { color:#92650b; font-size:12px; font-weight:700; letter-spacing:.08em; }
.sms-dialog h2 { margin:14px 0 10px; font-size:25px; letter-spacing:-.04em; }
.sms-dialog p { font-size:13px; line-height:1.7; color:#706c62; }
.sms-number { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:16px 0; border-bottom:1px solid #e9e3d6; margin-bottom:20px; }
.sms-number strong { font-size:20px; }
.sms-number button { border:1px solid #dad2c2; background:#fff; border-radius:8px; padding:10px; cursor:pointer; font:600 12px var(--font-body); }
.sms-dialog label { display:block; margin-bottom:8px; font-size:12px; font-weight:700; }
.sms-dialog textarea { width:100%; resize:vertical; padding:14px; border:1px solid #e9e3d6; border-radius:12px; background:#f8f6f0; color:#39372f; font:400 13px/1.8 var(--font-body); }
.sms-dialog-actions { display:grid; gap:8px; margin-top:18px; }
.sms-dialog .contact-button { display:flex; justify-content:center; align-items:center; min-height:44px; border:0; border-radius:12px; padding:12px; font:700 14px var(--font-body); cursor:pointer; }
.sms-copy-status { min-height:22px; margin:10px 0 0; }
.dock .contact-actions { max-width:100%; gap:6px; }
.dock .contact-secondary { gap:6px; }
.dock .contact-button { min-height:40px; padding:9px 14px; border-radius:10px; font-size:13px; }
.dock .contact-button--sms { min-height:45px; font-size:16px; }
.dock .contact-button--reserve { min-height:45px; padding:9px 14px; font-size:16px; }
body.has-contact-dock { --dock-h:168px; }
.has-contact-dock .dock { display:block; padding:10px 16px calc(10px + env(safe-area-inset-bottom)); visibility:hidden; }
.has-contact-dock .dock--shown { visibility:visible; }
@media (max-width:900px) {
  .nav-links > a:not(.nav-cta) { display:none; }
  .nav-links { gap:12px; }
}
@media (max-width:600px) {
  .contact-nav { gap:10px; }
  .contact-nav .contact-nav-sms { padding:9px 12px; font-size:13px; }
  .contact-nav-sms svg { width:18px; height:18px; }
  .contact-menu summary { font-size:12px; }
  .hero-cta .contact-actions { max-width:420px; }
  .hero { padding-top:140px; }
  .uniform-value { font-size:14px; }
  .uniform-offer { font-size:14px; }
  .promo-bar { gap:4px 10px; padding:10px 14px; }
  .promo-bar-msg { flex-basis:100%; order:1; font-size:14px; }
  .promo-bar-clock { font-size:11px; }
  .sms-dialog { padding:26px 20px 20px; }
}
@media (max-width:360px) {
  .contact-nav .contact-nav-sms { padding:8px 10px; }
  .nav-title-sub { display:none; }
  .hero { padding-top:110px; }
  .hero-sub { font-size:14px; line-height:1.65; }
  .hero-title { font-size:32px; }
  .hero-cta { margin-top:18px; }
  .contact-secondary .contact-button { padding:12px 10px; gap:6px; font-size:14px; }
}
@media (prefers-reduced-motion:reduce) {
  .contact-actions .contact-button { transition:none; }
}
