/* 축제개요*/
.festival_summary{width:100%;}
.festival_summary_inner{display:flex;align-items:flex-start;gap:70px;max-width:1400px;margin:0 auto;}
.festival_poster{width:38%;flex-shrink:0;}
.festival_poster img{display:block;width:100%;height:auto;border-radius:10px;box-shadow:0 15px 40px rgba(0,0,0,.12);}
.festival_info{flex:1;padding-top:20px;}
.festival_info_head{padding-bottom:35px;border-bottom:2px solid #222;}
.festival_info_label{display:inline-block;margin-bottom:15px;color:#e85621;font-weight:700;letter-spacing:.08em;}
.festival_info_head h3{margin:0 0 15px;font-weight:800;line-height:1.35;color:#222;word-break:keep-all;}
.festival_info_head p{margin:0;color:#777;line-height:1.7;word-break:keep-all;}
.festival_info_list{margin:0;padding:0;}
.festival_info_item{display:flex;align-items:flex-start;padding:22px 10px;border-bottom:1px solid #e5e5e5;}
.festival_info_item dt{width:120px;flex-shrink:0;margin:0;font-weight:700;color:#222;position:relative;padding-left:18px;}
.festival_info_item dt:before{content:"";position:absolute;left:0;top:.65em;width:6px;height:6px;border-radius:50%;background:#e85621;}
.festival_info_item dd{flex:1;margin:0;color:#555;line-height:1.7;word-break:keep-all;}
.festival_poster{perspective:1000px;}
.festival_poster img{transition:transform .45s ease,box-shadow .45s ease;transform-style:preserve-3d;}
.festival_poster:hover img{transform:rotateY(12deg) scale(1.02);}

@media(max-width:1024px){
    .festival_summary_inner{gap:40px;}
    .festival_poster{width:40%;}
    .festival_info_item dt{width:100px;}
}

@media(max-width:768px){
    .festival_summary_inner{display:block;}
    .festival_poster{width:100%;max-width:430px;margin:0 auto 45px;}
    .festival_poster img{border-radius:14px;}
    .festival_info{padding-top:0;}
    .festival_info_head{padding-bottom:25px;}
    .festival_info_head h3{font-size:1.6rem;}
    .festival_info_head p{font-size:.95rem;}
    .festival_info_item{padding:18px 5px;}
    .festival_info_item dt{width:90px;font-size:.95rem;}
    .festival_info_item dd{font-size:.95rem;}
}

@media(max-width:480px){
    .festival_poster{max-width:100%;margin-bottom:35px;}
    .festival_info_item{display:block;}
    .festival_info_item dt{width:auto;margin-bottom:7px;}
    .festival_info_item dd{padding-left:18px;}
}



/* 홍보영상 */
.promo_video{position:relative;width:100%;overflow:hidden;padding:50px 0 100px;background:linear-gradient(180deg,#fff 0%,#fffaf7 50%,#fff 100%);}
.promo_video_inner{position:relative;z-index:5;width:100%;max-width:1200px;margin:0 auto;}

.promo_video_title{text-align:center;margin-bottom:45px;}
.promo_video_title span{display:inline-block;margin-bottom:14px;color:#ec6635;font-weight:700;letter-spacing:.12em;}
.promo_video_title h3{margin:0;color:#222;font-weight:800;line-height:1.4;word-break:keep-all;}
.promo_video_title p{margin:14px 0 0;color:#777;line-height:1.7;word-break:keep-all;}

.promo_video_wrap{position:relative;width:100%;overflow:hidden;border-radius:10px;background:#f9f9f9;box-shadow:0 25px 60px rgba(0,0,0,.13);}
.promo_video_wrap video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#000;object-fit:contain;}


/* 배경 장식 공통 */
.promo_bg{position:absolute;pointer-events:none;}


/* 좌측 큰 원 */
.promo_bg_circle01{top:120px;left:-130px;width:330px;height:330px;border-radius:50%;background:rgba(235,104,53,.055);}


/* 우측 아래 큰 원 */
.promo_bg_circle02{right:-100px;bottom:30px;width:280px;height:280px;border-radius:50%;background:rgba(255,186,42,.075);}


/* 좌측 도트 */
.promo_bg_dot01{top:310px;left:5%;width:120px;height:120px;opacity:.14;background-image:radial-gradient(#ef7548 2px,transparent 2px);background-size:16px 16px;}


/* 우측 도트 */
.promo_bg_dot02{top:80px;right:5%;width:95px;height:95px;opacity:.11;background-image:radial-gradient(#f5a623 2px,transparent 2px);background-size:15px 15px;}


/* 좌측 물결 */
.promo_bg_wave01{left:-40px;bottom:110px;width:220px;height:90px;opacity:.08;background:repeating-radial-gradient(ellipse at center,#ec6635 0,#ec6635 2px,transparent 3px,transparent 12px);transform:rotate(-12deg);}


/* 우측 물결형 선 */
.promo_bg_wave02{right:-40px;top:260px;width:230px;height:230px;border:2px solid rgba(236,102,53,.07);border-radius:45% 55% 60% 40% / 55% 45% 55% 45%;transform:rotate(18deg);}

.promo_bg_wave02:before{content:"";position:absolute;inset:24px;border:2px solid rgba(236,102,53,.05);border-radius:55% 45% 45% 55% / 45% 55% 45% 55%;}

.promo_bg_wave02:after{content:"";position:absolute;inset:48px;border:2px solid rgba(255,185,55,.055);border-radius:45% 55% 60% 40% / 60% 40% 55% 45%;}


/* 영상 뒤 은은한 강조 */
.promo_video_wrap:before{content:"";position:absolute;z-index:-1;left:-35px;top:-35px;width:150px;height:150px;border-radius:50%;background:rgba(235,103,54,.08);}

.promo_video_wrap:after{content:"";position:absolute;z-index:-1;right:-40px;bottom:-40px;width:180px;height:180px;border-radius:50%;background:rgba(255,190,45,.09);}


@media(max-width:1240px){
    .promo_video_inner{width:calc(100% - 40px);}
}


@media(max-width:768px){
    .promo_video{padding:25px 0 60px;}
    .promo_video_inner{width:calc(100% - 30px);}

    .promo_video_title{margin-bottom:30px;}
    .promo_video_title span{margin-bottom:10px;font-size:.85rem;}
    .promo_video_title h3{font-size:1.55rem;}
    .promo_video_title p{margin-top:10px;font-size:.95rem;}

    .promo_video_wrap{border-radius:18px;box-shadow:0 15px 35px rgba(0,0,0,.12);}

    .promo_bg_circle01{width:210px;height:210px;left:-110px;top:100px;}
    .promo_bg_circle02{width:190px;height:190px;right:-90px;}

    .promo_bg_dot01{width:80px;height:80px;left:2%;top:260px;background-size:13px 13px;}
    .promo_bg_dot02{width:70px;height:70px;right:2%;top:50px;background-size:13px 13px;}

    .promo_bg_wave01{display:none;}
    .promo_bg_wave02{width:150px;height:150px;right:-80px;top:250px;}
}


@media(max-width:480px){
    .promo_video_inner{width:calc(100% - 24px);}
    .promo_video_title h3{font-size:1.35rem;}
    .promo_video_wrap{border-radius:12px;}

    .promo_bg_dot01{display:none;}
    .promo_bg_wave02{opacity:.7;}
}



.location_map{width:100%;max-width:1200px;margin:0 auto;}
.location_map_info{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:20px;padding:25px 30px;background:#f7f7f7;border-radius:15px;}
.location_map_text strong{display:block;font-weight:700;color:#222;margin-bottom:7px;}
.location_map_text p{margin:0;color:#666;}
.location_map_info > a{flex:none;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;background:#222;color:#fff;text-decoration:none;border-radius:8px;transition:.2s;}
.location_map_info > a:hover{background:#444;}

.location_map_box{width:100%;overflow:hidden;border-radius:15px;}
.location_map_box .root_daum_roughmap{width:100% !important;}


.root_daum_roughmap{width:100% !important; border-radius:10px 10px 0 0;}
.root_daum_roughmap .cont{display:none !important}

@media(max-width:768px){
    .location_map_info{display:block;padding:20px;border-radius:10px;}
    .location_map_text{margin-bottom:15px;}
    .location_map_info > a{width:100%;box-sizing:border-box;}
    .location_map_box{border-radius:10px;}
    .location_map_box .root_daum_roughmap .wrap_map{height:380px !important;}
}