/* Approved pink/yellow consultation buttons; visibility is reconciled against painted consultation controls. */
:root:root:root body .cta-float .cta-float__btn--phone,
:root:root:root body .cta-float .cta-float__btn--kakao {
  height: 56px !important;
  min-height: 56px !important;
  border: 0 !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  animation: none !important;
  transform: none !important;
  text-decoration: none !important;
}
:root:root:root body .cta-float .cta-float__btn--phone {
  flex-direction: column !important;
  gap: 2px !important;
  padding: 6px 10px !important;
  background: #D1006F !important;
  background-image: none !important;
  color: #fff !important;
}
:root:root:root body .cta-float .cta-float__btn--phone .cta-float__icon,
:root:root:root body .cta-float .cta-float__btn--phone::before {
  display: none !important;
}
:root:root:root body .cta-float .cta-float__btn--phone .s24-float__verb {
  display: block;
  color: #fff !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  white-space: nowrap;
}
:root:root:root body .cta-float .cta-float__btn--phone .s24-float__number {
  display: block;
  color: #fff !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
}
:root:root:root body .cta-float .cta-float__btn--kakao {
  background: #FEE500 !important;
  background-image: none !important;
  color: #191600 !important;
}
:root:root:root body .cta-float .cta-float__btn--phone:focus-visible,
:root:root:root body .cta-float .cta-float__btn--kakao:focus-visible {
  outline: 3px solid #173a4a !important;
  outline-offset: 2px !important;
}
@media (max-width: 380px) {
  :root:root:root body .cta-float .cta-float__btn--phone .s24-float__verb { font-size: 16px !important; }
}

/* Visibility bridge owns only the floating controls after initialization. */
html.s24-cta-qa-ready body #ctaFloat {
  display: block !important; opacity: 1 !important; visibility: visible !important;
  transform: none !important; animation: none !important; transition: none !important;
}
html.s24-cta-qa-ready body #ctaFloat .cta-float__btn--phone,
html.s24-cta-qa-ready body #ctaFloat .cta-float__btn--kakao { visibility: visible !important; }
html.s24-cta-qa-ready body #ctaFloat .s24-cta-qa-hidden,
html.s24-cta-qa-ready body #ctaFloat.s24-cta-qa-empty { display: none !important; }
html.s24-cta-qa-ready body #ctaFloat.s24-cta-qa-single .cta-float__inner { grid-template-columns: minmax(0, 1fr) !important; }
html.s24-cta-qa-ready .site-footer { padding-bottom: calc(100px + env(safe-area-inset-bottom)) !important; }

/* Two-line phone label needs its full width in the desktop floating rail. */
@media (min-width: 769px) {
  html.s24-cta-qa-ready body #ctaFloat { width: 180px !important; max-width: calc(100vw - 36px) !important; }
  html.s24-cta-qa-ready body #ctaFloat .cta-float__inner { width: 100% !important; }
  html.s24-cta-qa-ready body #ctaFloat .cta-float__btn--phone,
  html.s24-cta-qa-ready body #ctaFloat .cta-float__btn--kakao { width: 100% !important; box-sizing: border-box !important; }
  html.s24-cta-qa-ready .site-footer { padding-bottom: 180px !important; }
}
#content .urgent-banner.s24-band .s24-band__text{color:#fff!important}

/* Keep sidebar consultation copy clear of the desktop floating rail. */
@media (min-width:1100px){
html.s24-cta-qa-ready body:has(.s24-side) #ctaFloat{width:clamp(120px,calc(50vw - 600px),180px)!important}
html.s24-cta-qa-ready body .s24-side__card>:is(p,a){max-width:clamp(132px,calc(50vw - 468px),254px)}
html.s24-cta-qa-ready body .s24-side__toc>p,html.s24-cta-qa-ready body .s24-side__toc>ol{max-width:clamp(132px,calc(50vw - 468px),258px)}
}

/* 헤더 고정(10-29): body의 overflow-x:hidden이 스크롤 컨테이너가 되어 sticky가 안 붙던 것을 clip으로 바꿈 */
body{overflow-x:clip;overflow-y:visible}
html body .site-header,html body #siteHeader{position:sticky;top:0;z-index:900}
html{scroll-padding-top:88px}
/* 10-30 화면 정리 */
/* ① 히어로 뒤에 띠가 오는 쪽(sc-hero--page): 띠를 히어로 위로 */
main.site-content:has(>.sc-hero--page){display:flex;flex-direction:column}
main.site-content:has(>.sc-hero--page)>.urgent-banner{order:-1}
/* ② 카테고리 목록(v9-listhead): 띠는 분홍, 히어로는 화면 전체 폭 장면 */
:root:root:root:root:root:root:root body:has(.v9-listhead) .urgent-banner.s24-band{background:linear-gradient(135deg,#8F174A 0%,#C21E5B 55%,#F82F6B 100%)!important}
:root:root:root:root:root:root:root body .v9-listhead{box-sizing:border-box!important;width:100vw!important;max-width:none!important;margin:0 0 32px calc(50% - 50vw)!important;border-radius:0!important;min-height:clamp(300px,34vw,480px)!important;padding:56px max(24px,calc((100vw - 1200px)/2 + 24px))!important}
:root:root:root:root:root:root:root body .v9-listhead .section__title{font-size:clamp(30px,3.2vw,44px)!important}
@media (max-width:767px){:root:root:root:root:root:root:root body .v9-listhead{min-height:300px!important;padding:28px 20px!important;margin-bottom:24px!important}}
:root:root:root:root:root:root:root body :is(main,section):has(>.container>.v9-listhead){padding-top:0!important}
:root:root:root:root:root:root:root body .container>.ah-crumb:has(+.v9-listhead){position:relative;z-index:3;height:0;margin:0!important;padding:0!important;top:18px;overflow:visible;color:#fff!important;font-size:14px;text-shadow:0 1px 6px rgba(0,0,0,.45)}
:root:root:root:root:root:root:root body .container>.ah-crumb:has(+.v9-listhead) a{color:#fff!important;text-decoration:none!important}
/* 10-30 떠 있는 전화·카톡: 하수24 기준(156×56·모서리12·700 17px), 세로 스택, 글자 한 줄·번호 없음 */
:root:root:root:root:root:root:root body .cta-float{display:block!important;position:fixed!important;left:auto!important;right:16px!important;bottom:calc(16px + env(safe-area-inset-bottom))!important;top:auto!important;width:auto!important;max-width:none!important;padding:0!important;background:none!important;box-shadow:none!important;border:0!important;pointer-events:none}
:root:root:root:root:root:root:root body .cta-float__inner{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important;width:auto!important;margin:0!important;padding:0!important;background:none!important;box-shadow:none!important;border:0!important}
:root:root:root:root:root:root:root body .cta-float__btn{pointer-events:auto;box-sizing:border-box;display:inline-flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:9px!important;width:156px!important;height:56px!important;min-height:56px!important;padding:0 20px!important;border:0!important;border-radius:12px!important;font-size:17px!important;font-weight:700!important;line-height:1!important;letter-spacing:-.17px!important;text-decoration:none!important;animation:none!important;transition:transform .15s,filter .15s}
:root:root:root:root:root:root:root body .cta-float__btn::before{content:""!important;display:block!important;position:static!important;inset:auto!important;width:21px;height:21px;flex:0 0 21px;opacity:1!important;z-index:auto!important;border-radius:0!important;background:center/contain no-repeat!important}
:root:root:root:root:root:root:root body .cta-float__btn:hover{transform:translateY(-1px)!important;filter:brightness(1.03)}
:root:root:root:root:root:root:root body .cta-float__btn:active{transform:scale(.96)!important}
:root:root:root:root:root:root:root body .cta-float__btn--phone{background:linear-gradient(#e8579b 0%,#d63384 100%)!important;color:#fff!important;box-shadow:rgba(214,51,132,.75) 0 8px 18px -8px,rgba(255,255,255,.28) 0 1px 0 0 inset!important}
:root:root:root:root:root:root:root body .cta-float__btn--phone::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 006.6 6.6l2.2-2.2a1 1 0 011-.25 11.4 11.4 0 003.6.57 1 1 0 011 1V20a1 1 0 01-1 1A17 17 0 013 4a1 1 0 011-1h3.5a1 1 0 011 1c0 1.25.2 2.45.57 3.6a1 1 0 01-.25 1z'/%3E%3C/svg%3E")!important}
:root:root:root:root:root:root:root body .cta-float__btn--kakao{background:linear-gradient(#ffe75a 0%,#f8da2c 100%)!important;color:#2B2000!important;box-shadow:rgba(120,96,0,.7) 0 8px 18px -10px,rgba(255,255,255,.55) 0 1px 0 0 inset!important}
:root:root:root:root:root:root:root body .cta-float__btn--kakao::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%232B2000'%3E%3Cpath d='M12 3C6.5 3 2 6.6 2 11c0 2.8 1.8 5.3 4.6 6.7l-1 3.6a.5.5 0 00.77.55L10.5 19c.5.1 1 .1 1.5.1 5.5 0 10-3.6 10-8S17.5 3 12 3z'/%3E%3C/svg%3E")!important}
:root:root:root:root:root:root:root body .cta-float__btn--kakao>.cta-float__icon{display:none!important}
:root:root:root:root:root:root:root body .cta-float__btn--phone .s24-float__number{display:none!important}
:root:root:root:root:root:root:root body .cta-float__btn--top{background:#2B2F38!important;color:#fff!important;box-shadow:rgba(20,18,26,.45) 0 8px 18px -10px,rgba(255,255,255,.14) 0 1px 0 0 inset!important}
:root:root:root:root:root:root:root body .cta-float__btn--top::before{display:none!important}
:root:root:root:root:root:root:root body .cta-float__btn--top .cta-float__icon{width:21px!important;height:21px!important;margin:0!important;animation:none!important}
:root:root:root:root:root:root:root body .cta-float__btn--top>span{font-size:17px!important;font-weight:700!important;color:inherit!important}
@media (max-width:767px){:root:root:root:root:root:root:root body .cta-float{right:12px!important;bottom:calc(12px + env(safe-area-inset-bottom))!important}:root:root:root:root:root:root:root body .cta-float__inner{gap:8px!important}}
html.s24-cta-qa-ready body #ctaFloat .cta-float__inner{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important;grid-template-columns:none!important;width:auto!important}
html.s24-cta-qa-ready body #ctaFloat .cta-float__btn{width:156px!important;min-width:0!important;max-width:156px!important;height:56px!important;min-height:56px!important;padding:0 20px!important;margin:0!important;gap:9px!important;border-radius:12px!important}
@media (max-width:767px){html.s24-cta-qa-ready body #ctaFloat .cta-float__inner{gap:8px!important}}
:root:root:root:root:root:root:root body .cta-float__btn--phone .s24-float__verb,:root:root:root:root:root:root:root body .cta-float__btn--kakao>span{font-size:17px!important;font-weight:700!important;letter-spacing:-.17px!important;color:inherit!important;line-height:1!important}
