@import url('https://fonts.googleapis.com/earlyaccess/notosanskr.css');

/* 공통 사이트 기본값 */
:root { --major_color: #746457; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #fffcf7; color: #57534e; font-family: 'Noto Sans KR', sans-serif; font-weight: 300; }
img { border: 0; }

/* 상단 헤더 및 메뉴 */
#top_menu .menu_on { background: #fffcf7; color: #746457; }

/* 메인 비주얼 Owl Carousel */
.owl-carousel .owl-dots, .owl-theme .owl-nav { position: relative; top: -50px; text-align: center; -webkit-tap-highlight-color: transparent; }
.owl-carousel .owl-dots .owl-dot { display: inline-block; }
.owl-carousel .owl-dots .owl-dot span { display: block; width: 20px; height: 20px; margin: 10px; border-radius: 9999px; background: #fff; transition: opacity .2s ease; }
.owl-carousel .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span { width: 70px; background: #929292; }

/* 진료후기 무한 슬라이드 */
.review-marquee-left { animation: review-marquee-left 38s linear infinite; }
.review-marquee-right { animation: review-marquee-right 42s linear infinite; }
@keyframes review-marquee-left { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(-50%, 0, 0); } }
@keyframes review-marquee-right { from { transform: translate3d(-50%, 0, 0); } to { transform: translate3d(0, 0, 0); } }
@media (prefers-reduced-motion: reduce) { .review-marquee__track { animation-play-state: paused; } }

/* 유튜브 영상 모달 */
.swiper-container { width: 100%; height: 100%; }
.swiper-slide { display: flex; align-items: center; justify-content: center; }

/* 안내 팝업 */
#main_popup { position: absolute; top: 200px; z-index: 10; width: 98%; }
#main_popup > div { width: 100%; max-width: 1600px; margin: 0 auto; }
#main_popup > div > ul > li { float: left; }
#main_popup .popup { display: none; min-width: 360px; overflow: hidden; border: 1px solid #e7e5e4; border-radius: 16px; background: #fff; box-shadow: 0 18px 45px rgba(68, 55, 45, .18); }
#main_popup .popup_media-link { display: block; }
#main_popup .popup_media { display: block; max-width: 100%; height: auto; }
#main_popup .popup_actions { position: relative; display: flex; align-items: center; justify-content: flex-end; gap: 10px; padding: 12px 14px; clear: both; border-top: 1px solid #e7e5e4; background: #fafaf9; }
#main_popup .popup_action { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; gap: 8px; padding: 0 16px; border: 1px solid transparent; border-radius: 10px; font-family: inherit; font-size: 14px; font-weight: 500; line-height: 1.2; white-space: nowrap; cursor: pointer; appearance: none; transition: border-color .2s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease; }
#main_popup .popup_action i { width: 1em; text-align: center; }
#main_popup .popup_action-snooze { color: #57534e; border-color: #d6d3d1; background: #fff; }
#main_popup .popup_action-snooze:hover { color: #746457; border-color: #a8a29e; background: #f5f5f4; }
#main_popup .popup_action-close { color: #fff; border-color: #746457; background: #746457; }
#main_popup .popup_action-close:hover { border-color: #5e5045; background: #5e5045; }
#main_popup .popup_action:active { transform: translateY(1px); }
#main_popup .popup_action:focus-visible { outline: 3px solid rgba(116, 100, 87, .28); outline-offset: 2px; }

@media (max-width: 767px) {
	#main_popup { width: 100%; padding: 0 12px; }
	#main_popup > div > ul > li { float: none; width: 100%; }
	#main_popup .popup { width: 100%; min-width: 0; max-width: calc(100vw - 24px); }
	#main_popup .popup > div { max-width: 100% !important; max-height: none !important; }
	#main_popup .popup_actions { gap: 8px; padding: 10px; }
	#main_popup .popup_action { padding: 0 12px; font-size: 13px; }
	#main_popup .popup_action-snooze { min-width: 0; flex: 1 1 auto; }
	#main_popup .popup_action-close { flex: 0 0 auto; }
}

/* 빠른 메뉴 및 모바일 메뉴 */
#quickScrollMenu img { display: block; }
