/* Common styles extracted from shared HTML <style> blocks.
   Keep this file linked after page-specific builder CSS to preserve the original UI. */

@import url('https://fonts.googleapis.com/css2?family=Anonymous+Pro:ital,wght@0,400;0,700;1,400;1,700&family=Science+Gothic:wdth,wght@50..200,100..900&display=swap');
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css');

/* Shared navigation/menu typography */
@font-face {
    font-family: 'GmarketSansMedium';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansMedium.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
  
  .viewport-nav.mobile {
	font-family: "GmarketSansMedium", serif;
	font-weight: 500;
	font-style: normal;
	
  }
  
  .slide_open .viewport-nav.mobile {
	margin-top:30px !important;
  }
  .mobile_slide_menu_container .viewport-nav.mobile li.depth-01 > a {
	margin: 10px 0px !important;
  }
  
  #w202208055fc5e73d1c7e5 .viewport-nav {
  font-family: "GmarketSansMedium", serif;
  font-weight: 500;
  font-style: normal;
  }
  
  #w202208055fc5e73d1c7e5 .dropdown-menu,
  .scroll-to-fixed-fixed #w202208055fc5e73d1c7e5 .dropdown-menu {
	  left:0px !important;
	  padding-left:10px !important;
	  /*text-align:center !important;*/
	border:  1px solid #DB5757 !important;
  }
  /*
    #w202208055fc5e73d1c7e5 ul li:nth-child(4),
	#w202208055fc5e73d1c7e5 ul li:nth-child(5) {

  		cursor: default !important; 시각적으로 클릭 가능 상태를 제거 
	 }*/
	 
 
	 
  
  /* 마지막 메뉴 버튼 형식 및 드랍다운 정렬
  #w202208055fc5e73d1c7e5 ul li:nth-child(4) {
	padding-right:25px !important;
  }
  #w202208055fc5e73d1c7e5 .viewport-nav > li:last-child > a {
	border-radius: 100px !important;
    color:#DB5757 !important;
    border: none;
	box-shadow: 0 0 0 1px rgba(219, 87, 87, 1) inset;
  }*/
  
  /*지도 모서리 라운드*/
  #gmap_w20241122b2cd287f4c172,
  #gmap_w2024120499fff537c781d,
  #gmap_w202412044b1430172cf4b {
	border-radius:20px !important;
  }
  #gmap_w2024120513df20eee353b,
  #gmap_w2024120506da2c37fc5f2,
  #gmap_w20241205060fce32701e7 {
	border-radius:10px !important;
  }

  /*메인페이지 최신글 숨김 섹션*/
  #s202411228442bbc2fa231,
  #s202411285a7756d6147b7,
  #s202411284868764683078 {
	display:none;
  }

/* Shared utility font families */
.font-science,
  .font-science * {
    font-family: 'Science Gothic', 'Pretendard Variable', Pretendard, sans-serif !important;
  }

  .font-anonymous,
  .font-anonymous * {
    font-family: 'Anonymous Pro', 'Pretendard Variable', Pretendard, monospace !important;
  }

  .font-pretendard,
  .font-pretendard * {
    font-family: 'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont, 'Noto Sans KR', 'Malgun Gothic', sans-serif !important;
  }

/* Shared PLAIF navigation shell */
/* 아임웹 기본 헤더 숨김 */
  #doz_header_wrap { display: none !important; }

  .plfnav, .plfnav * { box-sizing: border-box; }
  .plfnav {
    position: fixed; top: 16px; left: 50%; transform: translateX(-50%);
    z-index: 99999; width: max-content; max-width: calc(100vw - 24px);
    font-family: 'Pretendard', -apple-system, sans-serif;
  }

  .plfnav-bar {
    display: flex; align-items: center; gap: 4px;
    padding: 7px 7px 7px 20px;
    background: rgba(6,10,15,0.72);
    -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
    border: 1px solid rgba(219,87,87,0.22);
    border-radius: 100px;
    box-shadow: 0 0 26px rgba(219,87,87,0.12), 0 14px 36px rgba(0,0,0,0.45);
    transition: background .3s ease, border-color .3s ease, box-shadow .3s ease;
  }
  .plfnav.plf-scrolled .plfnav-bar {
    background: rgba(6,10,15,0.92);
    border-color: rgba(219,87,87,0.32);
    box-shadow: 0 0 30px rgba(219,87,87,0.18), 0 14px 36px rgba(0,0,0,0.55);
  }

  /* 로고 */
  .plfnav-logo { display: flex; align-items: center; margin-right: 14px; flex: none; }
  .plfnav-logo img { height: 22px; width: auto; display: block; }

  /* 메뉴 */
  .plfnav-menu { display: flex; align-items: center; gap: 2px; }
  .plfnav-item { position: relative; }
  .plfnav-item::after { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 16px; }

  .plfnav-link {
    display: inline-flex; align-items: center;
    padding: 9px 16px; border-radius: 100px;
    color: #eef3f7 !important; font-size: 15px; font-weight: 500; letter-spacing: -0.01em;
    text-decoration: none; white-space: nowrap;
    transition: background .22s ease, color .22s ease;
  }
  .plfnav-link:hover { background: rgba(255,255,255,0.12); color: #ffffff !important; }
  .plfnav-link.plf-active { background: rgba(255,255,255,0.18); color: #ffffff !important; }

  /* 드롭다운 */
  .plfnav-drop {
    position: absolute; top: calc(100% + 14px); left: 50%; transform: translateX(-50%) translateY(6px);
    min-width: 168px; padding: 8px;
    background: rgba(10,14,20,0.96);
    -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
    border: 1px solid rgba(219,87,87,0.22); border-radius: 14px;
    box-shadow: 0 18px 44px rgba(0,0,0,0.55);
    opacity: 0; visibility: hidden; pointer-events: none;
    transition: opacity .22s ease, transform .22s ease, visibility .22s;
  }
  .plfnav-item:hover .plfnav-drop { opacity: 1; visibility: visible; pointer-events: auto; transform: translateX(-50%) translateY(0); }
  .plfnav-drop a {
    display: block; padding: 10px 14px; border-radius: 9px;
    color: rgba(255,255,255,0.9); font-size: 14px; font-weight: 500; text-decoration: none; white-space: nowrap;
    transition: background .2s ease, color .2s ease;
  }
  .plfnav-drop a:hover { background: rgba(219,87,87,0.14); color: #DB5757; }

  /* CTA */
  .plfnav-cta {
    flex: none; margin-left: 8px;
    display: inline-flex; align-items: center;
    padding: 10px 22px; border-radius: 100px;
    background: linear-gradient(135deg,#DB5757 0%,#C74747 100%);
    color: #ffffff; font-size: 15px; font-weight: 700; text-decoration: none; white-space: nowrap;
    box-shadow: 0 4px 16px rgba(219,87,87,0.45);
    transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
  }
  .plfnav-cta:hover { transform: translateY(-1px); background: linear-gradient(135deg,#E46A6A 0%,#DB5757 100%); box-shadow: 0 7px 24px rgba(219,87,87,0.7); }

  /* 햄버거 (모바일) */
  .plfnav-burger { display: none; flex: none; width: 42px; height: 42px; margin-left: 4px; padding: 0; border: none; background: transparent; cursor: pointer; position: relative; }
  .plfnav-burger span { position: absolute; left: 11px; right: 11px; height: 2px; background: #fff; border-radius: 2px; transition: transform .3s ease, opacity .2s ease, top .3s ease; }
  .plfnav-burger span:nth-child(1) { top: 14px; }
  .plfnav-burger span:nth-child(2) { top: 20px; }
  .plfnav-burger span:nth-child(3) { top: 26px; }
  .plfnav.plf-open .plfnav-burger span:nth-child(1) { top: 20px; transform: rotate(45deg); }
  .plfnav.plf-open .plfnav-burger span:nth-child(2) { opacity: 0; }
  .plfnav.plf-open .plfnav-burger span:nth-child(3) { top: 20px; transform: rotate(-45deg); }

  /* 모바일 패널 */
  .plfnav-mobile {
    display: none;
    margin-top: 10px; padding: 12px;
    background: rgba(8,12,18,0.97); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
    border: 1px solid rgba(219,87,87,0.22); border-radius: 20px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.55);
    opacity: 0; transform: translateY(-8px); transition: opacity .25s ease, transform .25s ease;
  }
  .plfnav.plf-open .plfnav-mobile { opacity: 1; transform: translateY(0); }
  .plfnav-mobile > a { display: block; padding: 13px 16px; border-radius: 12px; color: rgba(255,255,255,0.88); font-size: 16px; font-weight: 600; text-decoration: none; }
  .plfnav-mobile > a:active, .plfnav-mobile > a:hover { background: rgba(255,255,255,0.07); }
  .plfnav-mgroup { padding: 6px 0; border-top: 1px solid rgba(255,255,255,0.08); margin-top: 6px; }
  .plfnav-mlabel { display: block; padding: 6px 16px; color: rgba(255,255,255,0.45); font-size: 12px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; }
  .plfnav-msub { display: block; padding: 11px 16px 11px 24px; border-radius: 12px; color: rgba(255,255,255,0.8); font-size: 15px; font-weight: 500; text-decoration: none; }
  .plfnav-msub:hover { background: rgba(219,87,87,0.12); color: #DB5757; }
  .plfnav-mcta { display: block; text-align: center; margin-top: 12px; padding: 14px; border-radius: 14px; background: linear-gradient(135deg,#DB5757,#C74747); color: #ffffff; font-size: 16px; font-weight: 700; text-decoration: none; }

  /* 반응형: 좁아지면 메뉴/CTA 숨기고 햄버거 */
  @media (max-width: 920px) {
    .plfnav { top: 12px; max-width: calc(100vw - 20px); }
    .plfnav-bar { padding: 7px 7px 7px 16px; }
    .plfnav-menu, .plfnav-cta { display: none; }
    .plfnav-burger { display: block; }
    .plfnav.plf-open .plfnav-mobile { display: block; }
    .plfnav-mobile { display: none; }
  }

/* Shared mobile slide menu */
.new_header_site .mobile_slide_menu_container.slide_open .mobile_slide_menu,
		.new_header_site .mobile_slide_menu_container .mobile_slide_menu,
		.admin.new_header_mode .mobile_slide_menu_container.slide_open .mobile_slide_menu,
		.admin.new_header_mode .mobile_slide_menu_container .mobile_slide_menu {
			background: #0f1f25 !important;
		}
		.new_header_site .mobile_slide_menu_container .mobile_slide_menu .viewport-nav.mobile li li ul,
		.admin.new_header_mode .mobile_slide_menu_container .mobile_slide_menu .viewport-nav.mobile li li ul {
			background: transparent;
		}
		.mobile_slide_menu_container .mobile_slide_menu .profile-area {
			background: #2b2b2b;
			margin-bottom:0 ;
		}
		.mobile_slide_menu_container .mobile_slide_menu .profile-area .member-info,
		.mobile_slide_menu_container .mobile_slide_menu .profile-area .btn-group,
		.mobile_slide_menu_container .mobile_slide_menu .profile-area .member-info.guest button {
			color: #fff;
		}
		.mobile_slide_menu_container .mobile_slide_menu .profile-area .member-info.guest button {
				border-color:rgb(255,255,255) ;border-color:rgba(255,255,255,0.2) ;		}
		.mobile_slide_menu_container .viewport-nav.mobile li li a.has_child.open > span,
		.mobile_slide_menu_container .viewport-nav.mobile li li a.has_child.open:after,
		.mobile_slide_menu_container .viewport-nav.mobile li li a span {
			color: rgba(255, 255, 255, 0.9);
		}
		.mobile_slide_menu_container .viewport-nav.mobile li a {
			color: rgba(255, 255, 255, 0.9);
			letter-spacing: 0px;
		}
		.mobile_slide_menu_container .viewport-nav.mobile li.use_sub_name:hover>a:not(.active)>.plain_name:before {
			color: rgba(255, 255, 255, 0.9);
		}
		.mobile_slide_menu_container .viewport-nav.mobile li li.use_sub_name:hover>a:not(.active)>.plain_name {
			color: transparent;
		}
		.mobile_slide_menu_container .viewport-nav.mobile li li.use_sub_name:hover>a:not(.active)>.plain_name:before {
			position: absolute;
			color: rgba(255, 255, 255, 0.9);
			left: auto;
			right: auto;
		}
		.mobile_slide_menu_container .viewport-nav.mobile li a.active-real {
			background: #0f1f25;
			color: #DB5757;
		}
		.mobile_slide_menu_container .viewport-nav.mobile li a.active-real span,
		.mobile_slide_menu_container .viewport-nav.mobile li a.has_child.open.active-real span {
			color: #DB5757;
		}
		.mobile_slide_menu_container .viewport-nav.mobile li.depth-01 {
			border-top: 0px solid #f3f3f3;
		}
		.mobile_slide_menu_container .viewport-nav.mobile li.depth-01:last-child {
			border-bottom: 0px solid #f3f3f3;
		}
		.mobile_slide_menu_container .viewport-nav.mobile li.depth-01 ul{
			display : none; 		}
		.mobile_slide_menu_container .viewport-nav.mobile li.depth-01 > a {
			font-size: 20px;
		}
		.mobile_slide_menu_container .viewport-nav.mobile li li a {
			font-size: 19px !important;
		}
		.mobile_slide_menu_container .viewport-nav.mobile li li:last-child a,
		.mobile_slide_menu_container .viewport-nav.mobile li li li:last-child a,
		.mobile_slide_menu_container .viewport-nav.mobile li > ul.collapse,
		.mobile_slide_menu_container .viewport-nav.mobile li li > ul.collapse,
		.mobile_slide_menu_container .viewport-nav.mobile li > ul.collapsing[aria-expanded=false],
		.mobile_slide_menu_container .viewport-nav.mobile li li > ul.collapsing[aria-expanded=false] {
			margin-bottom : 0;
		}
		.mobile_slide_menu_container .viewport-nav.mobile li > ul,
		.mobile_slide_menu_container .viewport-nav.mobile li li > ul,
		.mobile_slide_menu_container .viewport-nav.mobile li > ul.collapse.in,
		.mobile_slide_menu_container .viewport-nav.mobile li li > ul.collapse.in,
		.mobile_slide_menu_container .viewport-nav.mobile li > ul.collapsing[aria-expanded=true],
		.mobile_slide_menu_container .viewport-nav.mobile li li > ul.collapsing[aria-expanded=true] {
			margin-bottom: 14px;
		}
		.mobile_slide_menu_container .viewport-nav.mobile li li li:first-child a {
			margin-top: 0;
		}
					.mobile_slide_menu_container .viewport-nav.mobile li.depth-01:first-of-type {
				padding-top: 10px;
			}
			.mobile_slide_menu_container .viewport-nav.mobile li.depth-01 > a {
				padding : 9px 20px 10px;
			}
			.mobile_slide_menu_container .viewport-nav.mobile li > ul,
			.mobile_slide_menu_container .viewport-nav.mobile li li > ul,
			.mobile_slide_menu_container .viewport-nav.mobile li > ul.collapse.in,
			.mobile_slide_menu_container .viewport-nav.mobile li li > ul.collapse.in,
			.mobile_slide_menu_container .viewport-nav.mobile li > ul.collapsing[aria-expanded=true],
			.mobile_slide_menu_container .viewport-nav.mobile li li > ul.collapsing[aria-expanded=true] {
				margin-bottom: 10px;
			}
			.viewport-nav.mobile li a.has_child > .toggle-btn:after {
				padding: 9px 18px 10px;
			}
				.viewport-nav.mobile li a.has_child > .toggle-btn:after {
							font-size: 18px;
					}
		.viewport-nav.mobile li li a.has_child > .toggle-btn:after {
							font-size: 17.1px;
					}
		.navbar-nav .profile-more.open .dropdown-menu li > a {
			background: transparent;
			color: #212121;
			padding: 8px 16px;
		}
				.mobile_slide_menu_container .mobile_slide_menu .profile-area {
			display: none;
		}
						.im-globe .globe_icon {
			display: inline-block;
		}
		.im-globe .globe_square,
		.im-globe .globe_circle {
			display: none !important;
		}
				.im-mobile-slide-footer {
			background: #0f1f25;
			color: rgba(255, 255, 255, 0.9);
		}
		.im-mobile-slide-footer .btn {
			color: rgba(255, 255, 255, 0.9);
		}
