/* ===============================
   Hero
================================= */
.yc-hero{position:relative;}
.yc-hero-carousel{background:#0b1220;border-radius:22px;overflow:hidden;}
.yc-hero-carousel .carousel-inner,.yc-hero-carousel .carousel-item{position:relative;}
.yc-hero-link{display:block;position:relative;overflow:hidden;}
/* Hero image */
.yc-hero-img{width:100%;aspect-ratio:1920 / 510;object-fit:cover;object-position:center center;display:block;transform:scale(1.12);animation:ycHeroZoomOut 6.8s ease-out forwards;will-change:transform;}
.yc-hero-carousel .carousel-item.active .yc-hero-img{animation:ycHeroZoomOut 6.8s ease-out forwards;}
/* Ken Burns zoom out */
@keyframes ycHeroZoomOut{0%{transform:scale(1.12);}100%{transform:scale(1.00);}}
/* Dark overlay */
.yc-hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.58) 34%,rgba(0,0,0,.34) 66%,rgba(0,0,0,.20) 100%);pointer-events:none;}
/* Caption layout */
.yc-hero-caption{z-index:2;inset:0;width:100%;padding:0;display:flex !important;align-items:center;justify-content:flex-start;text-align:left;}
/* Caption container */
.yc-hero-cap{max-width:1400px;width:100%;margin:0 auto;padding:0 56px;background:none;border:none;box-shadow:none;color:#fff;}
/* 기관명 */
.yc-hero-org{display:block;margin-bottom:14px;font-size:18px;font-weight:700;letter-spacing:-.02em;color:rgba(255,255,255,.96);text-shadow:0 2px 10px rgba(0,0,0,.45),0 4px 24px rgba(0,0,0,.35);}
/* 캐치프레이즈 */
.yc-hero-headline{max-width:720px;margin:0 0 14px 0;font-size:46px;line-height:1.18;font-weight:800;letter-spacing:-.04em;color:#fff;text-shadow:0 3px 14px rgba(0,0,0,.65),0 8px 30px rgba(0,0,0,.55);}
/* 설명 */
.yc-hero-desc{max-width:620px;font-size:18px;line-height:1.65;color:rgba(255,255,255,.92);text-shadow:0 2px 10px rgba(0,0,0,.6);}
/* Indicators */
.yc-hero-carousel .carousel-indicators{margin-bottom:20px;z-index:3;}
.yc-hero-carousel .carousel-indicators [data-bs-target]{width:10px;height:10px;border-radius:999px;margin:0 5px;opacity:.55;}
.yc-hero-carousel .carousel-indicators .active{opacity:1;}
/* Navigation */
.yc-hero-carousel .carousel-control-prev,.yc-hero-carousel .carousel-control-next{width:7%;z-index:3;}
.yc-hero-carousel .carousel-control-prev-icon,.yc-hero-carousel .carousel-control-next-icon{width:2.6rem;height:2.6rem;border-radius:999px;background-color:rgba(0,0,0,.32);background-size:55% 55%;}
/* ===============================
Mobile Hero
================================= */
@media (max-width: 991.98px){
	.yc-hero-img{aspect-ratio:1 / 1;transform:scale(1.10);}
	.yc-hero-overlay{background:linear-gradient(180deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.46) 48%,rgba(0,0,0,.30) 100%);}
	.yc-hero-caption{align-items:flex-end;}
	.yc-hero-cap{padding:0 24px 40px;}
	.yc-hero-org{margin-bottom:10px;font-size:15px;}
	.yc-hero-headline{max-width:none;margin-bottom:10px;font-size:29px;line-height:1.28;}
	.yc-hero-desc{max-width:none;font-size:14px;line-height:1.55;}
	.yc-hero-carousel .carousel-control-prev,.yc-hero-carousel .carousel-control-next{width:12%;}
}
/* ===============================
Ellipsis
================================= */
.yc-ellipsis-1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.yc-ellipsis-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
/* ===============================
Hero CTA bar
================================= */
.yc-cta-bar{display:grid;grid-template-columns:repeat(3, 1fr);gap:10px;}
@media (max-width:992px){
	.yc-cta-bar{grid-template-columns:1fr;}
}
.yc-cta-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;text-decoration:none;background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 8px 18px rgba(0,0,0,.05);color:#111;transition:all .28s ease;position:relative;}
.yc-cta-item:hover{transform:translateY(-4px);border-color:rgba(30,136,229,.45);box-shadow:0 14px 28px rgba(0,0,0,.10);}
.yc-cta-ic{width:40px;height:40px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:rgba(30,136,229,.10);color:#1e88e5;flex:0 0 auto;font-size:16px;transition:all .28s ease;}
.yc-cta-item:hover .yc-cta-ic{background:#1e88e5;color:#fff;transform:scale(1.08);}
.yc-cta-txt{display:flex;flex-direction:column;gap:2px;min-width:0;}
.yc-cta-title{font-weight:800;transition:color .28s ease;}
.yc-cta-item:hover .yc-cta-title{color:#1e88e5;}
.yc-cta-sub{font-size:12px;color:rgba(0,0,0,.55);}
.yc-cta-arr{margin-left:auto;color:rgba(0,0,0,.35);transition:transform .28s ease, color .28s ease;}
.yc-cta-item:hover .yc-cta-arr{transform:translateX(4px);color:#1e88e5;}
/* ===============================
Ellipsis
================================= */
.yc-ellipsis-1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.yc-ellipsis-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
/* ===============================
Hero CTA bar
================================= */
.yc-cta-bar{display:grid;grid-template-columns:repeat(3, 1fr);gap:10px;}
@media (max-width:992px){
	.yc-cta-bar{grid-template-columns:1fr;}
}
.yc-cta-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;text-decoration:none;background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 8px 18px rgba(0,0,0,.05);color:#111;transition:all .28s ease;position:relative;}
.yc-cta-item:hover{transform:translateY(-4px);border-color:rgba(30,136,229,.45);box-shadow:0 14px 28px rgba(0,0,0,.10);}
.yc-cta-ic{width:40px;height:40px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:rgba(30,136,229,.10);color:#1e88e5;flex:0 0 auto;font-size:16px;transition:all .28s ease;}
.yc-cta-item:hover .yc-cta-ic{background:#1e88e5;color:#fff;transform:scale(1.08);}
.yc-cta-txt{display:flex;flex-direction:column;gap:2px;min-width:0;}
.yc-cta-title{font-size:1.4rem;font-weight:800;transition:color .28s ease;}
.yc-cta-item:hover .yc-cta-title{color:#1e88e5;}
.yc-cta-sub{font-size:12px;color:rgba(0,0,0,.55);}
.yc-cta-arr{margin-left:auto;color:rgba(0,0,0,.35);transition:transform .28s ease, color .28s ease;}
.yc-cta-item:hover .yc-cta-arr{transform:translateX(4px);color:#1e88e5;}
/* ===============================
Program Card Hover
================================= */
.yc-post-card{transition: transform .35s ease, box-shadow .35s ease;overflow: hidden;border-radius: 16px;}
.yc-prog-item:hover .yc-post-card{transform: translateY(-6px);box-shadow: 0 18px 36px rgba(0,0,0,0.18);}
.yc-post-thumb{width:100%;aspect-ratio: 3 / 4;background-size:cover;background-position:center;border-radius:14px;position:relative;transition: transform .6s ease;}
.yc-prog-item:hover .yc-post-thumb{ transform: scale(1.06); }
.yc-post-thumb::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,0);border-radius:14px;transition: background .4s ease;}
.yc-prog-item:hover .yc-post-thumb::after{ background:rgba(0,0,0,0.12); }
@media (hover: none){
	.yc-prog-item:hover .yc-post-card,.yc-prog-item:hover .yc-post-thumb{transform:none;box-shadow:none;}
}
/* 링크 기본 색상 */
.yc-widget-notice .yc-notice-link{color:#212529;}
.yc-widget-notice .yc-notice-link:hover{color:#212529;}
.yc-widget-notice .yc-notice-link:hover .yc-notice-subject{color:#111;}
/* 갤러리 */
.yc-widget-gallery .yc-gallery-card{border-radius:1rem;overflow:hidden;transition:transform .2s ease, box-shadow .2s ease;background:#fff;}
.yc-widget-gallery .yc-gallery-card:hover{transform:translateY(-4px);box-shadow:0 1rem 2rem rgba(15, 23, 42, .12) !important;}
.yc-widget-gallery .yc-gallery-thumb{position:relative;width:100%;padding-top:65%;background-position:center center;background-repeat:no-repeat;background-size:cover;background-color:#eef2f7;}
.yc-widget-gallery .yc-gallery-thumb-empty{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg, rgba(13,110,253,.08), rgba(13,110,253,.02)),#f8fafc;}
.yc-widget-gallery .yc-gallery-thumb-empty-inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#64748b;padding:1rem;}
.yc-widget-gallery .yc-gallery-thumb-empty-inner i{font-size:2rem;margin-bottom:.5rem;color:#0d6efd;opacity:.9;}
.yc-widget-gallery .yc-gallery-thumb-empty-inner p{margin:0;font-size:.9rem;}
.yc-widget-gallery .yc-gallery-title{line-height:1.5;min-height:3em;word-break:keep-all;}
.yc-widget-gallery .yc-ellipsis-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.yc-widget-gallery .yc-gallery-comment{color:#6c757d;}
.yc-widget-gallery .yc-gallery-new{font-size:.68rem;padding:.25rem .45rem;}
.yc-widget-gallery .yc-gallery-empty{border-radius:1rem;}
.yc-widget-gallery .yc-gallery-empty i{font-size:2rem;color:#94a3b8;}
/* 캘린더 */
.yc-cal-card{border-radius:1rem;}
.yc-cal-week,.yc-cal-days{display:grid;grid-template-columns:repeat(7, 1fr);gap:6px;}
.yc-cal-week span{text-align:center;font-weight:600;padding:.35rem 0;}
.yc-cal-day{min-height:86px;border:1px solid #eef2f7;border-radius:.85rem;background:#fff;padding:8px;}
.yc-cal-day.is-today{background:#fffbea;border-color:#f7df8a;}
.yc-cal-day.is-sun .yc-cal-date{color:#dc3545;}
.yc-cal-day.is-sat .yc-cal-date{color:#0d6efd;}
.yc-cal-date{font-weight:700;font-size:.92rem;line-height:1;margin-bottom:8px;}
.yc-cal-icons{display:flex;flex-wrap:wrap;gap:4px;align-items:flex-start;}
.yc-cal-icon-link{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;text-decoration:none;}
.yc-cal-icon-link img{max-width:16px;max-height:16px;display:block;}
.yc-cal-dot{width:7px;height:7px;border-radius:50%;background:#0d6efd;display:inline-block;}
.yc-sumbox{padding:.65rem .8rem;border:1px solid #eef2f7;border-radius:.85rem;background:#fbfcfe;}
.yc-sum-item{margin-top:.45rem;line-height:1.45;}
.yc-sum-item a{color:#212529;text-decoration:none;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.yc-sum-item a:hover{color:#111;}
.yc-sum-empty{margin-top:.45rem;color:#6c757d;}
.yc-cal-icon-link{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;text-decoration:none;border-radius:50%;}
.yc-cal-icon-link i{font-size:12px;line-height:1;}
.yc-cal-icon-link.is-event .icon-elem{ color:#f59e0b; }
.yc-cal-icon-link.is-event .icon-middle{ color:#3b82f6; }
.yc-cal-icon-link.is-event .icon-high{ color:#8b5cf6; }
.yc-cal-icon-link.is-event .icon-parent{ color:#ec4899; }
.yc-cal-icon-link.is-event .icon-teacher{ color:#14b8a6; }
.yc-cal-icon-link.is-event .icon-etc{ color:#f97316; }
.yc-cal-icon-link.is-event .icon-default{ color:#64748b; }
.yc-cal-icon-link.is-program i{color:#ef4444;}
@media (max-width: 767.98px){
	.yc-cal-day{min-height:72px;padding:6px;}
	.yc-cal-date{font-size:.86rem;margin-bottom:6px;}
}