@charset "utf-8";
/* ==========================================================================
   desktop.css — 데스크톱(≥992px) 및 데스크톱 구간 세부 규칙 (기획서 §2-1)
   ========================================================================== */

/* PC: 모바일 전용 영역 숨김 (컴포넌트 display 에 덮이지 않도록 !important) */
@media (min-width: 992px) {
    .mo-only, .mo-only-inline { display: none !important; }

    /* hover 효과는 PC에서만 (기획서 §3-3) */
    .btn-outline-round:hover { border-color: var(--brand); color: var(--brand); }
    .btn-primary:hover { background: var(--brand-dark); }
    .inquiry-modal__tel a:hover { color: var(--brand); }
    .form-address__btn:hover { background: var(--brand); color: #fff; }
    .btn-ghost-light:hover { background: rgba(0, 0, 0, .45); border-color: #fff; }
    .link-arrow:hover { color: var(--brand); }
    .link-arrow:hover::after { transform: translateX(4px); }

    /* 카드 hover */
    .service-type:hover { transform: translateY(-4px); border-color: var(--brand); box-shadow: var(--shadow-hover); }
    .service-type:hover .service-type__image img { transform: scale(1.05); }
    .service-extra__btn:hover { background: var(--brand); color: #fff; }
    .svc-feature:hover { background: var(--brand-soft); transform: translateY(-3px); }
    .pause-btn:hover { background: rgba(0, 0, 0, .55); }
    .cc-card__action:not(.is-disabled):not(.cc-card__action--tel):hover { border-color: var(--brand); color: var(--brand); }

    /* 서브 페이지 */
    .page-tabs__link:hover { color: var(--brand); }
    .svc-cta__btn:hover { background: var(--brand-hover-soft); }
    .related-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-hover); }
    .related-card:hover .related-card__image img { transform: scale(1.05); }
    .related-card:hover .link-arrow { color: var(--brand); }
    .related-card:hover .link-arrow::after { transform: translateX(4px); }
    .faq__q:hover { color: var(--brand); }
    .partners__item:hover img { opacity: .75; }
    .error-page__links a:hover { border-color: var(--brand); color: var(--brand); }

    /* 플로팅 버튼 */
    .floating__btn:hover { transform: translateY(-3px); }
    .floating__btn:hover .floating__label { opacity: 1; visibility: visible; transform: translate(0, -50%); }
    .gnb-bar__cta:hover,
    .inquiry-form__submit:hover:not(:disabled) { background: var(--brand-dark); }
    .site-footer__cta-btn:hover { background: var(--brand-hover-soft); }
    .site-footer__cta-btn:hover .site-footer__cta-arrow { transform: translateX(4px); }
    .site-footer__cta-tel:hover { background: rgba(255, 255, 255, .12); border-color: #fff; }
    .site-footer__col a:hover,
    .site-footer__policy a:hover,
    .site-footer__contact a:hover { color: var(--brand); }
    .sns:hover { transform: translateY(-2px); box-shadow: 0 6px 14px rgba(0, 0, 0, .1); }
}

/* XL: ≥1200 — 전화번호는 헤더에 있으므로 플로팅은 카톡만 */
@media (min-width: 1200px) {
    .floating__btn--tel { display: none; }
}

/* L: 992 ~ 1199 — 화면 가운데 메뉴가 로고와 겹치지 않도록 메뉴 칸 · 로고 축소 */
@media (min-width: 992px) and (max-width: 1199px) {
    .gnb__link { width: 96px; font-size: 15px; }
    .gnb-bar__logo img,
    .site-header.is-scrolled .gnb-bar__logo img { width: 160px; height: auto; }
}

/* L-: ≤1024 — 상단 비주얼 높이 축소 */
@media (max-width: 1024px) {
    :root { --visual-h: 598px; }
}
