/* ================================
   전체 변수 및 기본 리셋
================================ */
:root{
  --yw-container: 1320px;
  --yw-gutter: 20px;
  --yw-header-h: 100px; /*pc메뉴 head 높이*/

  --yw-text: #111;
  --yw-muted: #666;
  --yw-line: rgba(0,0,0,.08);
  --yw-bg: #fff;

  --yw-gnb-right-gap: 16px; /* 전체메뉴 아이콘과 메뉴의 간격 */
  --yw-mega-head-h: 100px; /* 전체메뉴 헤더 높이 */


  --yw-hero-bg: var(--yw-bg);
  --yw-bubble-color: #7AA6FF;

}
@media (max-width:1024px){
  :root{ 	
	--yw-header-h: 80px; /*pc메뉴 head 높이*/
	--yw-mega-head-h: 80px; /* 전체메뉴 헤더 높이 */
	}
}
@media (max-width:768px){
  :root{ 
	--yw-gutter:16px;	
	}
}

* { margin: 0; padding: 0; box-sizing: border-box; } /* 모든 요소 여백/패딩 제거, 테두리 포함 계산 */

/* 스크롤바가 생겨도 레이아웃 폭이 안 흔들리도록 */
html {scrollbar-gutter:stable;}
/* 깜빡임 방지 */
[hidden]{ display:none !important;}


body {margin:0; font-family: "Paperlogy", sans-serif;color:var(--text);background:#fff;line-height:1.6;} /*1.6*/
a { text-decoration: none; color: inherit; } /* 링크 밑줄X, 본문색 상속 */
button{ font:inherit; cursor:pointer; }


/* ================================
  섹션진입 애니메이션
================================ */
/* 기본 상태 */
[data-reveal]{
  opacity:0;
  transform:translateY(14px);
  transition:opacity .45s ease, transform .45s ease;
  will-change:opacity, transform;
}

/* 나타난 상태 */
[data-reveal].is-revealed{
  opacity:1;
  transform:none;
}

/* 카드/리스트 순차(ywca에서는 적용하지않음 스크롤이 너무적음) */
[data-stagger]{
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .55s ease, transform .55s ease;
  transition-delay: var(--yw-delay, 0ms);
  will-change: opacity, transform;
}
[data-stagger].is-revealed{
  opacity: 1;
  transform: translateY(0);
}

/* 접근성: 모션 줄이기 */
@media (prefers-reduced-motion: reduce){
  [data-reveal], [data-stagger]{
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* ================================
  Skip Link (접근성)
================================ */
.sohskip{position: fixed;top: 0; left: 0; right: 0;display: flex;justify-content: center;gap: 8px;padding: 8px;transform: translateY(-120%);transition: transform .15s ease;z-index: 10000; /* 헤더/모달 위로 */}
.sohskip:focus-within{transform: translateY(0);}
.sohskip a{display: inline-block;padding:10px 14px;font-weight:700;border-radius:10px;background:#111;color:#fff;text-decoration:none;box-shadow: 0 2px 10px rgba(0,0,0,.18);outline: none;}
.sohskip a:focus-visible{outline: 3px solid color-mix(in oklab, var(--search-focus, #2f7efb) 60%, transparent);}

/* 두 번째 링크가 아래에 겹치지 않게 살짝 아래로 */
.sohskip a + a:focus-visible{ /* 필요 시 조절 : 문제가생기면 수정해주자! margin-top: 48px;*/}
#container, #gnb{scroll-margin-top: calc(var(--fixed-header-h) + 12px);}	
/* 사용자가 reduce motion 설정 시 애니메이션 제거 */
@media (prefers-reduced-motion: reduce){.sohskip{ transition: none;}}	




/* ================================
   레이아웃 공통 클래스 - 변경금지
================================ */
/* ywca사이트 전체 화면사이즈 1320px */
.yw-container{max-width: var(--yw-container);margin: 0 auto;padding: 0 var(--yw-gutter);}



/* ================================
   헤더 / 로고 / 메뉴 / 모바일메뉴
================================ */

/* Header */
.yw-header{position:sticky;top:0;background: var(--yw-bg);border-bottom: 1px solid #ddd;z-index: 80;} /*relative*/
.yw-header__inner{height:var(--yw-header-h);display:flex;align-items:center;justify-content:space-between;gap:24px;}

/* 로고 */
.yw-brand{ display:flex; align-items:center; min-width:238px; }
.yw-brand img{ display:block; width:238px; max-width:100%; height:auto; }

/* PC GNB right */
.yw-gnb{flex: 1;display:flex;justify-content:flex-end;margin-right: var(--yw-gnb-right-gap);}
.yw-gnb__list{list-style:none;margin:0; padding:0;display:flex; align-items:center;/*gap:12px;*/}
.yw-gnb__item{position:static;}
/*.yw-gnb__item::after{content:"";position:absolute;left:-12px;right:-12px;top:100%;height:14px;background:transparent;} */
.yw-gnb__link{padding:0 30px;display:inline-flex;align-items:center;height: var(--yw-header-h);font-size:22px;font-weight:600;color:var(--yw-text);text-decoration:none;letter-spacing:-0.01em;}
.yw-gnb__link:hover{color:#07176B}

/* PC GNB / Sub Menu */
.yw-sub{position:static;margin:0;padding:0;list-style:none;display:grid;grid-auto-flow: row;/* 행으로 채우기 */grid-template-columns: repeat(3, 1fr);gap:12px;align-items: stretch;}
.yw-sub__link{width:100%;/*  그리드 셀 꽉 채움 */justify-content:center;/* 중앙정렬 */text-align: center;display:inline-flex;align-items:center;height:46px;padding:0 20px;border-radius:8px;
			font-size:16px;font-weight:500;color:#0b1f63;background:#fff;border:1px solid rgba(11,31,99,.18);
			transition: background .18s ease, border-color .18s ease, transform .18s ease;}
.yw-sub__link:hover,
.yw-sub__link:focus-visible{background:#f0f4ff;border-color:#c7d4ff;;outline:none;}
.yw-gnb__item:hover > .yw-subpanel,
.yw-gnb__item:focus-within > .yw-subpanel{opacity:1;pointer-events:auto;}
/* 패널이 내려오는 영역 */
.yw-subpanel{position:absolute;left:0;right:0;top:var(--yw-header-h);background:#fff;border-bottom:1px solid rgba(0,0,0,.08);border-top:1px solid rgba(0,0,0,.08);
  opacity:0;transform:translateY(0);pointer-events:none;/*transition:opacity .16s ease;트랜지션*/z-index:90;}
.yw-subpanel__inner{display:grid;grid-template-columns:240px 1px 1fr;gap:24px;padding-block:30px;align-items:start;min-height:150px;}
.yw-subpanel__title{display:block;font-size:28px;font-weight:700;color:#0b1f63;margin:0 0 10px;}
.yw-subpanel__desc{margin:0;font-size:13px;line-height:1.4;color:#666;}
.yw-subpanel__divider{width:1px;height:100%;background:rgba(0,0,0,.10);}

/* 전체메뉴 아이콘 */
.yw-allmenu{width:52px;height:52px;border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;}
.yw-allmenu__icon{display:block;width:28px;height:2px;background:#111;position:relative;}
.yw-allmenu__icon::before,
.yw-allmenu__icon::after{content:"";position:absolute;left:0;width:28px;height:2px;background:#111;}
.yw-allmenu__icon::before{ top:-8px; }
.yw-allmenu__icon::after{ top:8px; }

/* Dim - 검은배경 */
.yw-dim{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:90;}

/* 전체메뉴 - 메가메뉴 */
.yw-mega{position:fixed;left:0;right:0;top:0;height:100%;z-index:100;background:#fff;/*border-bottom:1px solid var(--yw-line);box-shadow: 0 18px 40px rgba(0,0,0,.12);*/opacity:0;transform: translateY(-8px);
  transition: opacity .18s ease, transform .18s ease;}
.yw-mega.is-open{opacity:1;transform: translateY(0);}

/* 메가메뉴 패널 헤더(PC/모바일 공통) */
.yw-mega__head{border-bottom: 1px solid var(--yw-line);background:#07176B;}
.yw-mega__head-inner{height: var(--yw-mega-head-h);display:flex;align-items:center;justify-content:space-between;gap:14px;}
.yw-mega__htitle{font-size:22px;color:#fff;font-weight:600;letter-spacing:-0.01em;}

/* X 버튼 */
.yw-mega__close{width:44px;height:44px;border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;}
.yw-mega__close:hover{background:rgba(255,255,255,.06);}
.yw-x{position: relative;width: 20px;height: 20px;}
.yw-x::before,
.yw-x::after{content:"";position:absolute;left:50%;top:50%;width:22px;height:2px;background:#eee;transform-origin:center;}
.yw-x::before{transform:translate(-50%, -50%) rotate(45deg);}
.yw-x::after{transform:translate(-50%, -50%) rotate(-45deg);}

/* 메가메뉴 패널 */
.yw-mega__inner{padding:22px 0 26px;}
.yw-mega__grid{display:grid;grid-template-columns: repeat(3, minmax(0, 1fr));gap:18px;}
.yw-mega__col{padding:10px 10px;border-radius:6px;background: rgba(0,0,0,.02);border:1px solid #eee;}

/* 모바일 아코디언 메뉴 */
.yw-acc__btn{width:100%;border-bottom:1px solid #07176B;background:transparent;padding:6px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:default;}
.yw-acc__title{font-size:20px;font-weight:700;color:#07176B;}
.yw-acc__chev{display:none;}

/* PC: 서브 메뉴 항상 open */
.yw-acc__panel{ margin-top:10px;}
.yw-mega__link{display:block;padding:10px 10px;border-radius:8px;font-size:16px;color:#222;text-decoration:none;font-weight:500;}
.yw-mega__link:hover{ background: rgba(0,0,0,.06);color:#07176B}



/* 스크롤 잠금 - 전체메뉴오픈시  모바일메뉴에서 확인해봐야함 */
.yw-scroll-locked{overflow:hidden;touch-action:none;}



/* ===== Responsive 반응형 ===== */

@media (max-width: 1320px){
	/* 로고 */
	.yw-brand{min-width:180px;}
	.yw-brand img{width:180px;}
	/*대메뉴 폰트사이즈*/
	.yw-gnb__link {font-size:20px;}
	.yw-sub__link {font-size:15px;}
}

@media (max-width: 1024px){

	/* 로고 */
	.yw-brand{min-width:160px;}
	.yw-brand img{width:160px;}
	.yw-sub{display:none !important;}
	/* 모바일 서브 메뉴 */
	/*gnb*/
	.yw-gnb{ display:none;}
	.yw-mega{top:0;left:auto; right:0;height:100%;width: min(86vw, 360px);border-bottom:0;border-left: 1px solid var(--yw-line);box-shadow: -20px 0 50px rgba(0,0,0,.18);
    opacity:1;transform: translateX(100%);transition: transform .22s ease;}
	.yw-mega.is-open{ transform: translateX(0); }
	
	 #ywMega {overflow-y:auto;-webkit-overflow-scrolling: touch;}

	/* 모바일에서는 헤더가 패널 내부 상단에 고정 */
	.yw-mega__head{position:sticky;top:0;z-index:2;}
	.yw-mega__inner{padding: 14px 0 18px;height:calc(100% - var(--yw-mega-head-h));overflow:auto;}
	.yw-mega__grid{grid-template-columns:1fr;gap:10px;}
	.yw-mega__col{background:transparent;border:1px solid var(--yw-line);padding:12px 12px;}
  
	.yw-acc__btn{border:0;cursor:pointer;padding:4px 2px;}
	.yw-acc__title{font-size:15px;}
	.yw-acc__chev{display:inline-block;width:10px;height:10px;border: 2px solid #111;border-top:0;border-left:0;transform: rotate(45deg);transition:transform .18s ease;margin-right:4px;}
	.yw-acc__btn[aria-expanded="true"] .yw-acc__chev{transform: rotate(-135deg);}

	/* 모바일 패널 height */
	.yw-acc__panel{margin-top:8px;overflow:hidden;height:0;transition:height .22s ease;}

	.yw-mega__link{padding: 12px 10px;border-radius:8px;border:1px solid rgba(0,0,0,.06);margin-top:8px;font-size:14px;}
	}

/* ================================
   메인비쥬얼
================================ */
.yw-hero{position: relative;}

/* 슬라이더 */
.yw-slider{position:relative;width:100%;height:650px;overflow:hidden;border-bottom:1px solid #ddd;}

/* viewport/track */
.yw-slider__viewport{height:100%;}
.yw-slider__track{height:100%;display:flex;transition:transform .45s ease;will-change:transform;}
.yw-slider__slide{position:relative;flex:0 0 100%;height:100%;}

/* background */
.yw-slider__bg{position:absolute;inset:0;background-size:cover;background-position:center;/*background-color:#eee;*/}
/* content area */
.yw-hero__content{position:relative;display:flex;flex-direction:column;gap:18px;max-width:98%;padding:10px 0;margin:0;text-align:left;align-items:flex-start;}
.yw-slider__slide .yw-container{height:100%;display:flex;align-items:center;justify-content: flex-start;}
/* 텍스트 크기 */
.yw-hero__title{margin:-10px 0 10px 0;font-size:72px;line-height:1.1;letter-spacing:-0.02em;color:#07176B;font-weight:700;} /* #111*/
.yw-hero__eyebrow{margin:0;font-size:52px;line-height:1.2;letter-spacing:-0.02em;color:#111;font-weight:600;}
.yw-hero__desc{margin:0;font-size:35px;line-height:1.3;color:#333;font-weight:300;}

/* ===== Responsive 반응형 ===== */
@media (max-width: 1320px){
	.yw-slider{height:540px;}
	/*가운데정렬로 변경*/
	.yw-slider__slide .yw-container{/*justify-content:center;*/}
	/*폰트크기*/
	.yw-hero__title{font-size:62px;}
	.yw-hero__eyebrow{font-size:42px;}
	.yw-hero__desc {font-size:32px;}
}
@media (max-width: 1024px){
	.yw-slider{height:460px;} 
	/*폰트크기*/
	.yw-hero__title{font-size:50px;}
	.yw-hero__eyebrow{font-size:38px;}
	.yw-hero__desc {font-size:26px;}
}
@media (max-width: 768px){	
	.yw-slider{ height:300px;}
	/*폰트크기*/
	.yw-hero__content{ max-width:92%;}
	.yw-hero__title{margin:-10px 0 0 0;font-size:32px;}
	.yw-hero__eyebrow{font-size:32px;}
	.yw-hero__desc{font-size: 16px;}
}

@media (max-width: 480px){	
	.yw-slider{ height:240px;}
	/*폰트크기*/	
	.yw-hero__title{font-size:26px;letter-spacing:-0.06em;font-weight:600;}
	.yw-hero__eyebrow{font-size:26px;}
	.yw-hero__desc{font-size: 14px;}
}

/* ===== Arrows (컨테이너 밖, 화면 중앙쯤) ===== */
.yw-slider__arrow{position:absolute;top:50%;transform: translateY(-50%);width:52px;height:52px;border:0;background:rgba(255,255,255,.3);border-radius:999px;
  backdrop-filter:blur(2px);cursor:pointer;z-index:10;}

/* 1320 컨테이너 바깥 : 컨테이너 가장자리 기준으로 살짝 밖 */
.yw-slider__arrow--prev{left:20px;} /*max(16px, calc(50% - (1320px / 2) - 56px));*/
.yw-slider__arrow--next{right:20px;} /*max(16px, calc(50% - (1320px / 2) - 56px));*/

.yw-slider__arrow::before{content:"";position:absolute;inset:0;margin:auto;width:10px;height:10px;border:2px solid rgba(0,0,0,.65);border-top:0;border-right:0;transform:rotate(45deg);}
.yw-slider__arrow--next::before{transform: rotate(-135deg);}
.yw-slider__arrow:hover{background: rgba(255,255,255,.8);}

/* ===== Dots (오른쪽 하단) ===== */
.yw-slider__dots{position: absolute;right:max(16px, calc(50% - (1320px / 2) + 24px));bottom:26px;display:flex;align-items:center;gap:10px;z-index:10;}
.yw-dot{width:10px;height:10px;border-radius:999px;border:0;background:rgba(0,0,0,.25);cursor:pointer;}
.yw-dot.is-active{width:28px;/* 타원형 */background: rgba(0,0,0,.45);}

@media (max-width: 1024px){
	/* 화살표 모바일에서는 살짝 안으로 */
	.yw-slider__arrow {display:none;}
	.yw-slider__arrow--prev{left:12px;}
	.yw-slider__arrow--next{right:12px;}
	/*dot*/
	.yw-slider__dots{right:18px;bottom:18px;}
}
@media (max-width: 768px){
	.yw-slider__arrow{/*backdrop-filter:blur(1px);*/}
}

	/* 버블전용css */
	
	.yw-hero{position:relative;overflow:hidden;}
	.yw-hero{background:var(--yw-hero-bg);transition:background .42s ease; /* 원치 않으면 삭제 */}
	#ywBubbles{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;z-index:0;}
	.yw-hero .yw-container{position:relative;z-index:1;}

/* ================================
   YWCA 활동보기 - 게시판 스킨 css로 이동
================================ */
/* 타이틀 */
.yw-activity [data-carousel]{--yw-card-w:290px;--yw-gap: 40px;}
.yw-activity{padding:68px 0 68px;background:#fff;}
.yw-activity__head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:28px;}
.yw-activity__title{margin:0;font-size:38px;font-weight:700;letter-spacing:-0.02em;color:#0b1f63;}
.yw-activity__sub{margin:2px 0 0;font-size:20px;color:#444;font-weight:400;}
.yw-activity__more{display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:500;color:#0b1f63;text-decoration:none;margin-top:8px;padding:2px 6px;border-radius:4px;border:1px solid #fff}
.yw-activity__more:hover{background:#f0f4ff;border:1px solid #c7d4ff}

@media (max-width: 1320px){
	/*폰트*/
	.yw-activity__title{font-size:32px}
	.yw-activity__sub{font-size:18px;}
}

@media (max-width: 1024px){
	/*폰트*/
	.yw-activity__title{font-size:26px}
	.yw-activity__sub{font-size:16px;}

	.yw-activity [data-carousel]{--yw-card-w:260px; --yw-gap:24px;}
	.yw-activity {padding:40px 0 40px;}
	.yw-activity__title{font-size:28px;}
	.yw-activity__sub{font-size:16px;} 
}

@media (max-width: 768px){  
	/*폰트*/
	.yw-activity__title{font-size:22px}
	.yw-activity__sub{font-size:15px;}
	.yw-activity__more{font-size:14px;}

	.yw-activity [data-carousel]{--yw-card-w: 240px; --yw-gap: 16px;}
	.yw-activity__head{flex-direction: column;align-items: flex-start;}
	.yw-activity__more{margin-top:0;}  
}

/* 캐러셀 공통 게시판 스킨 css로 이동 */
.yw-carousel{position: relative;}

/* viewport는 1320 컨테이너 폭에 맞춰서 가운데 정렬 */
.yw-carousel__viewport{max-width:var(--yw-container, 1320px);margin:0 auto;padding:0 var(--yw-gutter, 20px);overflow:visible;}
.yw-carousel__mask{overflow:hidden;padding:20px 20px;margin:0 -20px;}
.yw-carousel__track{display:flex;gap:var(--yw-gap, 40px);will-change:transform;transition:transform .35s ease;}

/* 카드 */
.yw-actcard{flex: 0 0 var(--yw-card-w, 290px);}
.yw-actcard__link{display:block;background:#fff;border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,.07);overflow:hidden;text-decoration:none;color:inherit;height:398px;}

/* 이미지 영역 290x290 */
.yw-actcard__thumb{width:100%;height:290px;background:#f3f4f6;overflow: hidden;}
.yw-actcard__thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease;will-change: transform;}
/* hover 시 이미지 살짝 확대 */
.yw-actcard__link:hover .yw-actcard__thumb img{transform: scale(1.05);}
/* 하단 텍스트 제목*/
.yw-actcard__body{padding: 18px 18px 20px;}
.yw-actcard__name{margin:0 0 10px;font-size:20px;font-weight:600;letter-spacing:-0.02em;color:#222;display: -webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.yw-actcard__date{display:flex;align-items:center;gap:8px;font-size:14px;color:rgba(0,0,0,.55);}

/* 달력 아이콘(심플) */
.yw-actcard__cal{width:16px;height:16px;border:1.6px solid rgba(0,0,0,.5);border-radius:4px;position:relative;display:inline-block;}
.yw-actcard__cal::before{content:"";position:absolute;left:2px;right:2px;top:4px;height:1.6px;background:rgba(0,0,0,.5);}

/* ===== 화살표 (섹션 양 끝) ===== */
.yw-carousel__arrow{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:54px;border:0;background:rgba(255,255,255,.7);border-radius:999px;box-shadow:0 2px 10px rgba(0,0,0,.12);
  cursor:pointer;z-index:5;}

/* 1320 기준 바깥으로 살짝 벗어난 화살표 */
.yw-carousel__arrow--prev{left: max(10px, calc(50% - (1320px / 2) - 56px));}
.yw-carousel__arrow--next{right: max(10px, calc(50% - (1320px / 2) - 56px));}

.yw-carousel__arrow::before{content:"";position:absolute;inset:0;margin:auto;width:10px;height:10px;border:2px solid rgba(0,0,0,.55);border-top:0;border-right:0;transform: rotate(45deg);}
.yw-carousel__arrow--next::before{transform:rotate(-135deg);}
.yw-carousel__arrow:hover{background:rgba(255,255,255,.9);}
.yw-carousel__arrow:disabled{opacity:.35; cursor: default;}

/* ===== Responsive 반응형 ===== */
@media (max-width: 1320px){ 
	/*폰트*/
	.yw-actcard__name{font-size:20px;}
}
@media (max-width: 1024px){ 
	/*폰트*/
	.yw-actcard__name{font-size:18px;}

	.yw-carousel__arrow--prev{left:10px;}
	.yw-carousel__arrow--next{right:10px;}
}
@media (max-width: 768px){
	/*폰트*/
	.yw-actcard__name{font-size:16px;}
	.yw-actcard__date{font-size:13px;}
	.yw-actcard__cal{width:14px;height:14px;}
	.yw-carousel__mask{padding:16px 16px;margin:0 -16px;}  
	.yw-actcard__thumb{height:220px; } /* 모바일에서만 이미지 높이 축소 */
	.yw-actcard__link{height:auto; }   /* 모바일은 높이 고정 풀어도 좋음(선택) */
}


/* ================================
   공지사항 및 후원안내
================================ */

.yw-boardcta{padding:76px 0 76px;background:#F9FAFB;border-top:1px solid #eee;border-bottom:1px solid #eee;}
	@media (max-width: 1024px){
	  .yw-boardcta{ padding: 44px 0 44px; }
	}

/* ===== Layout grid ===== */
.yw-boardcta__grid{display:grid;grid-template-columns:1.2fr 1fr; /* 좌 넓게, 우 CTA */ gap: 28px;align-items: stretch;}
	@media (max-width: 1024px){
	  .yw-boardcta__grid{grid-template-columns: 1fr;gap:18px;}
	}

/* ===== Notice card ===== */
.yw-notice{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,.06);padding:26px 26px;min-height:260px;}
	@media (max-width:768px){
	  .yw-notice{padding:20px;}
	}

.yw-notice__head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px;}
.yw-notice__title{margin:0;font-size:28px;font-weight:600;letter-spacing:-0.02em;color:#0b1f63;}
.yw-notice__more{font-size:16px;font-weight:500;color:#0b1f63;text-decoration:none;white-space:nowrap;padding:2px 6px;display:inline-flex;gap:8px;border-radius:4px;border:1px solid #fff;}
.yw-notice__more:hover{background:#f0f4ff;border:1px solid #c7d4ff}
.yw-notice__list{list-style:none;margin:0;padding:0;border-top:1px solid rgba(0,0,0,.08);text-overflow:ellipsis !important}
.yw-notice__item{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid rgba(0,0,0,.08);}
.yw-notice__item:last-child{ border-bottom:0;}
.yw-notice__no{width:34px;height:34px;border-radius:10px;background:rgba(62, 84, 255, .12);color:#0b1f63;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;}
.yw-notice__txt{min-width:0;}
.yw-notice__link{display:inline-flex;align-items:center;gap:8px;max-width:100%;font-size:18px;font-weight:500;color:#333;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.yw-notice__link:hover{text-decoration:underline;text-underline-offset:4px;}
.yw-notice__date{display:block;margin-top:6px;font-size:14px;color:rgba(0,0,0,.55);}

	@media (max-width: 1320px){
		/*폰트*/
		.yw-notice__title{font-size:26px}
		.yw-notice__link{}
	}

	@media (max-width: 1024px){
		/*폰트*/
		.yw-notice__title{font-size:24px}
		.yw-notice__link{font-size:16px;}
	}

	@media (max-width: 768px){
		/*폰트*/
		.yw-notice__title{font-size:22px}
		.yw-notice__more{font-size:14px;}
		.yw-notice__date{font-size:13px;}
	}
/* badge 
.yw-badge{display:inline-flex;align-items:center;justify-content:center;height:20px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.02em;}
.yw-badge--hot{background:rgba(255, 77, 77, .14);color: #ff3b3b;}
*/
/* ===== 후원안내/뉴스레터/가사서비스문의 ===== */
.yw-cta{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch;}
	@media (max-width: 1024px){/* 태블릿/모바일: 큰 카드 위, 작은 2개 아래 */
		.yw-cta{grid-template-columns: 1fr;}
	}

/* 후원안내 card */
.yw-cta__big{border-radius:12px;background:#2f49c8;color: #fff;text-decoration:none;padding:22px;min-height:260px;display:flex;flex-direction: column;align-items:center;justify-content:center;
  text-align:center;gap:12px;transition:transform .25s ease, box-shadow .25s ease;box-shadow:0 2px 10px rgba(0,0,0,.15)}
.yw-cta__big:hover{transform:translateY(-4px);box-shadow:0 2px 10px rgba(0,0,0,.15);}
.yw-cta__big-title{font-size:26px;font-weight:400;letter-spacing:-0.02em;}
.yw-cta__big-desc{margin:0;font-size:14px;line-height:1.6;opacity:.9;}
.yw-cta__btn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 18px;border-radius:10px;border:1px solid rgba(255,255,255,.7);font-size:15px;font-weight:400;margin-top:4px;}

/* 뉴스레터/가사서비스문의 cards */
.yw-cta__stack{display:grid;grid-template-rows:1fr 1fr;gap:18px;}
.yw-cta__sm{border-radius:12px;color:#fff;text-decoration:none;padding:20px;min-height:121px;display:flex;flex-direction:column;align-items:center;justify-content:center;
            text-align:center;gap:10px;transition:transform .25s ease, box-shadow .25s ease;box-shadow:0 2px 10px rgba(0,0,0,.15)}
.yw-cta__sm:hover{transform:translateY(-4px);box-shadow:0 2px 10px rgba(0,0,0,.15);}
.yw-cta__sm--purple{background:#0AA699;} /*민트색변경요청*/
.yw-cta__sm--teal{background:#FF7A59;}
.yw-cta__sm-title{font-size:24px;font-weight:400;letter-spacing:-0.02em;}

/* icon placeholder */
.yw-cta__icon{width:64px;height:64px;border-radius:16px;/*border:2px solid rgba(255,255,255,.65);*/display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;opacity: .95;}
.yw-cta__icon img{height:64px;}
	@media (max-width: 1320px){
		/*폰트*/
		.yw-cta__big-title{font-size:24px}
		.yw-cta__sm-title{font-size:22px;}
	}
	@media (max-width: 1024px){
	  .yw-cta__stack{grid-template-columns:1fr 1fr;grid-template-rows:none;}
	}
	@media (max-width: 560px){
		/*폰트*/
		.yw-cta__big-title{font-size:20px}
		.yw-cta__sm-title{font-size:18px;}

		.yw-cta__btn {height:32px;}
	    .yw-cta__stack{grid-template-columns:1fr;}
	}


/* ================================
   프로그램안내
================================ */
.yw-program{padding:68px 0 68px;background:#fff;}
.yw-program__head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:26px;}
.yw-program__title{margin:0;font-size:38px;font-weight:700;letter-spacing:-0.02em;color:#0b1f63;}
.yw-program__sub{margin:2px 0 0;font-size:20px;color:#444;}
.yw-program__more{display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:500;color:#0b1f63;text-decoration:none;margin-top:8px;border-radius:4px;padding:2px 6px;border:1px solid #fff;}
.yw-program__more:hover{background:#f0f4ff;border:1px solid #c7d4ff}

/* ===== 프로그램캐러셀 ===== */
.yw-program__carousel{position:relative;/* 이 캐러셀 전용 변수 */--yw-card-w: 400px;--yw-gap: 40px;}
.yw-program .yw-carousel__viewport{max-width:var(--yw-container, 1320px);margin:0 auto;padding:0 var(--yw-gutter, 20px);overflow:visible;}
.yw-program .yw-carousel__mask{overflow: hidden;padding:20px 20px;margin: 0 -20px;}
.yw-program .yw-carousel__track{display:flex;gap:var(--yw-gap);transition: transform .35s ease;will-change:transform;}

/* ===== Program card (400 x 240) ===== */
.yw-procard{flex:0 0 var(--yw-card-w);}
.yw-procard__link{display:block;width:100%;height:240px;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,.07);
  padding:32px 22px;text-decoration:none;color:#222;display:flex;flex-direction:column;justify-content:space-between;}
.yw-procard__name{margin:0;font-size:21px;color:#222;font-weight:500;letter-spacing:-0.02em;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.yw-procard__desc{margin:10px 0 0;font-size:17px;line-height:1.5;color:rgba(0,0,0,.62);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.yw-procard__date{margin-top:14px;display:flex;align-items:center;gap:8px;font-size:14px;color:rgba(11,31,99,.9);}

/* calendar icon */
.yw-procard__cal{width:16px;height:16px;border:1.6px solid rgba(11,31,99,.7);border-radius:4px;position:relative;display:inline-block;}
.yw-procard__cal::before{content:"";position:absolute;left:2px;right:2px;top:4px;height:2px;background: rgba(11,31,99,.7);}

/* hover */
.yw-procard__link{transition: transform .25s ease, box-shadow .25s ease;}
.yw-procard__link:hover{transform: translateY(-6px);box-shadow: 0 2px 10px rgba(0,0,0,.14);}

/* arrows  */
.yw-program .yw-carousel__arrow{position:absolute;top:56%;transform:translateY(-50%);width:54px;height:54px;border:0;background:rgba(255,255,255,.72);border-radius:999px;box-shadow: 0 2px 10px rgba(0,0,0,.12);
  cursor:pointer;z-index:5;}
.yw-program .yw-carousel__arrow::before{content:"";position:absolute;inset:0;margin:auto;width:10px;height:10px;border:2px solid rgba(0,0,0,.55);border-top:0;border-right:0;transform: rotate(45deg);}
.yw-program .yw-carousel__arrow--next::before{ transform: rotate(-135deg);}
.yw-program .yw-carousel__arrow--prev{left:max(10px, calc(50% - (1320px / 2) - 56px));}
.yw-program .yw-carousel__arrow--next{right:max(10px, calc(50% - (1320px / 2) - 56px));}

/* ===== Responsive 반응형 ===== */
@media (max-width: 1320px){
	/*폰트*/
	.yw-program__title{font-size:32px}
	.yw-program__sub{font-size:18px;}
	.yw-procard__name{font-size:20px;}
	.yw-procard__desc{font-size:16px;}
}

@media (max-width: 1024px){
	/*폰트*/
	.yw-program__title{font-size:26px}
	.yw-program__sub{font-size:16px;}
	.yw-procard__name{font-size:18px;}
	.yw-procard__desc{font-size:15px;}

	.yw-program{padding:52px 0 70px;} 
	.yw-program__carousel{--yw-card-w:340px; --yw-gap:24px;}
	.yw-program .yw-carousel__arrow--prev{left:10px;}
	.yw-program .yw-carousel__arrow--next{right:10px;}
}

@media (max-width: 768px){

	/*폰트*/
	.yw-program__title{font-size:22px}
	.yw-program__sub{font-size:15px;}
	.yw-program__more{font-size:14px;}
	.yw-procard__name{font-size:16px;}
	.yw-procard__desc{font-size:14px;}
	.yw-procard__date {font-size:13px;}

	.yw-procard__cal{width:14px;height:14px;}
	.yw-program .yw-carousel__mask{padding:16px 16px;margin:0 -16px;}
	.yw-program__head{flex-direction:column;align-items:flex-start;}
	.yw-program__more{margin-top:0;}
	.yw-program__carousel{--yw-card-w:280px; --yw-gap:16px;}
	.yw-procard__link{height: auto; /* 모바일은 자연 높이 */padding:18px;}
	.yw-procard__desc{-webkit-line-clamp:3;} /*출력 길이*/
}


/* ================================
   푸터 / 하단 / 카피라이터 / 패밀리사이트
================================ */

/* footer only */
.yw-footer{background:#101828;color:rgba(255,255,255,.86);padding:34px 0 30px;}
.yw-footer__top{display:flex;align-items:flex-end;/*start는 윗라인으로 올려주기*/justify-content: space-between;gap:20px;}
.yw-footer__title{display:block;font-size:18px;font-weight:700;margin-bottom:12px;letter-spacing:-0.01em;}
.yw-footer__info{margin:0;font-size:16px;line-height:1.7;color: rgba(255,255,255,.75);}

/* 1px line */
.yw-footer__line{height:1px;background: rgba(255,255,255,.12);margin:70px 0 30px;}
/* bottom */
.yw-footer__bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;}
.yw-footer__copy{margin:0;font-size:16px;color: rgba(255,255,255,.68);}
.yw-footer__links{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:flex-end;}
.yw-footer__links a{font-weight:400;font-size:16px;color:rgba(255,255,255,.78);text-decoration:none;}
.yw-footer__links a:hover{color: rgba(255,255,255,.95);text-decoration:underline;text-underline-offset:4px;}
/* family dropdown */
.yw-footer__family{position:relative;display:flex;flex-direction:column;align-items:flex-end;gap:10px;min-width:240px;}
.yw-family__btn{width:240px;height:44px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 14px;border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.02);color:rgba(255,255,255,.88);font-size:16px;border-radius:4px;}
.yw-family__btn:hover{background: rgba(255,255,255,.06);}
.yw-family__plus{width:18px;height:18px;position:relative;display:inline-block;opacity: .9;}
.yw-family__plus::before,
.yw-family__plus::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:rgba(255,255,255,.9);transform:translate(-50%,-50%);}
.yw-family__plus::after{transform: translate(-50%,-50%) rotate(90deg);}

/* opened state: + -> x */
.yw-family__btn[aria-expanded="true"] .yw-family__plus::after{transform: translate(-50%,-50%) rotate(0deg);}
.yw-family__list{position:absolute;bottom:calc(44px + 10px); /* 버튼높이(44) + 간격(10) */right:0;width:240px;max-height:280px;/* 원하는 값 */overflow: auto;margin:0;padding:8px;
  list-style:none;border-radius:4px;border: 1px solid rgba(255,255,255,.18);background: #0b1220;box-shadow: 0 18px 40px rgba(0,0,0,.35);}
.yw-family__list a{display:block;padding:10px 10px;border-radius:8px;color:rgba(255,255,255,.85);text-decoration:none;font-size:16px;}
.yw-family__list a:hover{background: rgba(255,255,255,.08);}

.yw-admin-btn{display:inline-block;font-size:14px !important;padding:4px 14px;border-radius:10px;background:#2D43BA;color:#fff;font-weight:500 !important;transition:.2s;}
.yw-admin-btn:hover{background:#07176B;color:#fff;}
.ad_color{background:#F65252 !important;}

/* ===== Responsive 반응형 ===== */
@media (max-width: 860px){
	
  /*폰트만*/
  .yw-footer__title {font-size:16px;}
  .yw-footer__info, 
  .yw-footer__copy, 
  .yw-footer__links a, 
  .yw-family__btn, 
  .yw-family__list a{font-size:14px;}

  .yw-footer__top{flex-direction: column;align-items: flex-start;}
  .yw-footer__line{margin:40px 0 20px;}
  .yw-footer__family{align-items: flex-start;}
  .yw-family__btn,
  .yw-family__list{width: min(100%, 320px);}
  .yw-family__list{right: auto;left: 0;bottom: calc(44px + 10px); /* 동일 */}

  .yw-footer__bottom{flex-direction: column;align-items: flex-start;}
  .yw-footer__links{justify-content: flex-start;gap: 12px 12px;}
}


@media (max-width: 480px){	
  /*폰트만*/
  .yw-footer__title {font-size:16px;}
  .yw-footer__info, .yw-footer__copy, .yw-footer__links a, .yw-family__btn, .yw-family__list a {font-size:12px;}
}



/* =========================
   서브페이지 레이아웃
========================= */

.yw-subhero{padding:40px 0 40px;position:relative;overflow:visible; /* 드롭다운 잘림 방지 */background:linear-gradient(135deg, rgba(11,31,99,0.05) 0%, rgba(11,31,99,0.02) 40%, #ffffff 100%);
			border-bottom: 1px solid #ddd;}

/* 장식 wrapper */
.yw-sub-hero__decor{position:absolute;right:100px;top:0px;width:200px;height:150px;pointer-events:none;z-index:0;}

/* 기본 원 */
.yw-sub-hero__decor .dot{position:absolute;border-radius:50%;}
.dot-purple{width:160px;height:160px;right:-22px;top:0px;background:rgba(166, 130, 255, 0.18);} /* 22 92 38*/
/* 중간 연두: 큰 원 좌하단에 겹치기 */
.dot-green{width:110px;height:110px;right:92px;top:62px;background:rgba(140, 220, 160, 0.20);}
/* 작은 노랑: 위로 살짝 띄우기 */
.dot-yellow{width:38px;height:38px;right:170px;top:18px;background:rgba(255, 210, 90, 0.30);}

@media (max-width:768px){

 .yw-sub-hero__decor{  
    transform:scale(.82);
    transform-origin:top right;
	right:50px;
    opacity:.9;
  }

}


.yw-subhero__head{margin-bottom:32px;}
.yw-subhero__title{position:relative;font-size:36px;font-weight:700;margin:0 0 14px;}
.yw-subhero__title::after{content:"";display:block;width:42px;height:3px;margin-top:14px;background:#07176B;border-radius:2px;}
.yw-subhero__desc{font-size:16px;color:#555;margin:0;}

/* 서브네비게이션 */
.yw-subnav{margin-top:18px;/*padding-top:18px;border-top:1px solid rgba(11,31,99,.08);*/ z-index:2;position:relative}
.yw-subbar{display:grid;grid-template-columns:64px 0.6fr 0.6fr 2fr;/*64px 240px 240px 1fr */align-items:stretch;background:#07176B;border:1px solid rgba(0,0,0,.18);border-radius:8px;overflow:visible;}

/* HOME */
.yw-subbar__home{display:flex;align-items:center;justify-content:center;color:#fff; text-decoration:none;border-radius:8px 0 0 8px;}
.yw-subbar__home:hover{background:#051253}

/* 드롭다운 셀 */
.yw-dd{position:relative;border-left:1px solid rgba(255,255,255,.18);border-radius:0 8px 8px 0;}

/* 버튼(선택박스처럼) */
.yw-dd__btn{width:100%;height:64px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;cursor:pointer;}
.yw-dd__value{font-size:18px;font-weight:500;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.yw-dd__chev{font-size:16px;color:rgba(255,255,255,.45);transition:transform .16s ease;}
.yw-dd.is-open .yw-dd__chev{transform:rotate(180deg);color:rgba(255,255,255,.65);}

/* 드롭다운 패널 */
.yw-dd__panel{position:absolute;left:-1px;right:-1px;top:100%;background:#fff;border:1px solid #07176B;box-shadow:0 6px 12px rgba(0,0,0,.12);padding:10px 0;z-index:9999;}
.yw-dd__opt{width:100%;padding:10px 18px;border:0;background:transparent;text-align:left;font-size:16px;font-weight:500;color:#222;cursor:pointer;}
.yw-dd__opt:hover{background:rgba(11,31,99,.06);}
.yw-dd__opt.is-active{color:#07176B;}

/* 4번째 영역(빈영역) */
.yw-subbar__spacer{/*display:flex;align-items:center;justify-content:flex-end;padding:0 18px;*/background:#07176B;border-radius:0 10px 10px 0;border-left:1px solid rgba(255,255,255,.18);}
/*.yw-subbar__breadcrumb{font-size:13px;color:#ccc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.yw-subbar__breadcrumb a{color:#ccc;text-decoration:none;}
.yw-subbar__breadcrumb span{margin:0 6px;}*/

/* 서브컨텐츠 - 이부분은 컨텐츠에서 수정*/
.yw-submain{padding:60px 0;}
.yw-content__title{font-size:26px;margin-bottom:30px;color:#222;font-weight:600;}

/* RESPONSIVE */
@media (max-width: 1024px){

  .yw-submain{padding:40px 0;}

  .yw-subhero{padding:30px 0 30px;}
  .yw-subhero__title{font-size:26px;}
  .yw-content__title{font-size:24px;}
  .yw-dd__value{font-size:17px;}

  /* 모바일: 4번째 영역(빈영역) 숨김 */
  .yw-subbar{grid-template-columns:56px 1fr 1fr;}
  .yw-subbar__spacer{display:none;}
  .yw-dd{min-width:0;}
  .yw-dd__btn{height:56px;padding:0 14px;border-radius:0 10px 10px 0;min-width:0;overflow:hidden;}
  .yw-dd__value{font-size:16px;display:block;min-width:0;width:0;flex: 1 1 auto;white-space:nowrap;overflow:hidden;text-overflow: ellipsis !important;}
  .yw-dd__opt{font-size:15px;padding:10px 14px;}
  .yw-dd__chev{flex: 0 0 auto;margin-left:10px;}
}

@media (max-width: 480px){

.yw-dd__btn{height:52px;padding:0 12px;}
.yw-subbar__home{display:none;}
.yw-subbar{grid-template-columns:1fr 1fr;}
.yw-dd__opt{font-size:14px}

}



/* ====================== 
3차 탭메뉴 
====================== */
.yw-tabs{position:relative;display:flex;gap:24px;margin:0px 0 36px;padding-bottom:12px;border-bottom:1px solid rgba(0,0,0,.20);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.yw-tabs::-webkit-scrollbar{display:none;}
.yw-tab{display:inline-flex;align-items:center;padding:6px 2px;text-decoration:none;white-space:nowrap;flex:0 0 auto;font-size:17px;font-weight:500;color:#6b7280;transition:color .2s ease, font-weight .2s ease;}
.yw-tab:hover{color:#1f6fb2;}
.yw-tab.is-active{color:#111827;font-weight:600;}

/* 인디케이터*/
.yw-tab-indicator{position:absolute;bottom:-1px;left:0;height:3px;background:#1f6fb2;border-radius:2px;width:0;transform:translateX(0);}
.yw-tabs.is-ready .yw-tab-indicator{transition:transform .25s ease, width .25s ease;}

/* “스크롤 가능” 오른쪽 페이드 */
.yw-tabs:after{content:"";position:absolute;top:0;right:0;width:42px;height:100%;pointer-events:none;background:linear-gradient(90deg, rgba(255,255,255,0), #fff 70%);}
.yw-short{ display:inline; }

/* 화면 작을 때 폰트/간격 조금 정리 */
@media (max-width: 768px){
  .yw-tabs{gap:16px;margin:18px 0 28px;}
  .yw-tab{font-size:16px;}   
  .yw-short{ display:none; }
}