.bus-page{max-width:1024px;margin:0 auto;padding-bottom: 50px;}
.bus-page .bus-cont{display:flex;flex-direction:column;gap:32px; max-width: 1024px; margin: 0 auto;}

/* °øÅë pill ÅÂ±× (¿îÇàÀÏ/½ÅÃ»¹æ¹ý/¿¬¶ôÃ³/À¯ÀÇ»çÇ×/³ë¼±¾È³») */
.bus-tit{display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid #2c5bf6;border-radius:999px;color:#2c5bf6;font-weight:500;line-height: 1.2;padding:4px 12px;white-space:nowrap;width:80px}

/* ¿îÇà¾È³» Ä«µå */
.bus-info{background:#fff;border:1px solid #ededed;border-radius:8px;overflow:hidden;}
.bus-info .bi-tit{margin-bottom: 32px; background:#f1f3f8;text-align:center;font-weight:600;font-size:20px;line-height:28px;color:#333;padding:12px 0; border-radius: 8px;}
.bus-info .bi-list{display:flex;flex-direction:column; padding:32px 40px}
.bus-info dl{display:grid;grid-template-columns:80px 1fr;column-gap:60px}
.bus-info dl + dl {margin-top: 24px;}
.bus-info dt{align-self:start}
.bus-info dd{font-size:16px;color:#555}
.bus-info .c-blue{color:#2c5bf6}
.bus-info .c-red{color:#e63333}

/* ¾ÆÄÚµð¾ð ¸®½ºÆ® */
.bus-accordion{border:1px solid #ededed;border-radius:8px;}
.bus-accordion .acc-item{border-bottom:1px solid #ededed}
.bus-accordion .acc-item:last-child{border-bottom:0}
.bus-accordion .acc-head{display:flex;align-items:center;justify-content:space-between;gap:0;flex-wrap:nowrap;width:100%;padding:24px 40px;background:none;border:0;cursor:pointer;text-align:left;font-family:inherit}
.bus-accordion .acc-num{display:flex;align-items:center;gap:8px;width:140px;flex:0 0 140px}
.bus-accordion .acc-bus-ic{width:28px; aspect-ratio: 1/1; flex:0 0 auto}
.bus-accordion .acc-num-txt{font-weight:600;font-size:18px;}
.bus-accordion .acc-route{font-weight:400;font-size:18px; color:#555;flex:1 1 auto}
.bus-accordion .acc-arrow{flex:0 0 auto;width:16px;}
.bus-accordion .acc-arrow svg{}
.bus-accordion .acc-arrow .ic-open{display:none}
.bus-accordion .acc-item.is-open .acc-arrow .ic-close{display:none}
.bus-accordion .acc-item.is-open .acc-arrow .ic-open{display:block}
.bus-accordion .acc-body{display:none;padding:0 40px 24px}
.bus-accordion .acc-item.is-open .acc-body{display:flex;flex-direction:row;flex-wrap:wrap;gap:32px}

/* Áöµµ + ¸¶Ä¿ */
.bus-map{position:relative; flex: 1; width: 100%; height:412px;}
.bus-map .map {width: 100%; height: 100%;}
.bus-map .map-marker{position:absolute;transform:translate(-50%,-100%);text-align:center}
.bus-map .map-marker-pin{position: absolute; width: 22px; height: 30px;}
.bus-map .map-marker-pin img {width: 100%; height: 100%;}
.bus-map .map-marker-box{display: inline-block; margin-left: 23px; padding:4px 2px;background:#fff;border:1px solid #555;font-size:12px;font-weight:700;color:black;white-space:nowrap}

/* ³ë¼±¾È³» */
.route-info{display:flex;flex-direction:column;gap:16px; flex: 0 0 270px;}
.route-list {max-height:370px; overflow-y: auto;}
.route-list li{display:flex;align-items:flex-start;gap:16px}
.route-num{display:flex;flex-direction:column;align-items:center;align-self:stretch;flex:0 0 auto; }
.route-num i{display:flex;align-items:center;justify-content:center;width:23px;height:23px; border-radius:50%;background:#9AA3B2;color:#fff;font-style:normal;font-weight:600; font-size: 15px; line-height:1;}
.route-num .route-line{flex:1 1 auto;width: 50%; margin-left: 50%; border-left: 1px dashed #ededed;}
.route-txt{display:flex;flex-direction:column; margin-top: -2px; padding-bottom:12px;}
.route-txt strong{font-weight:600;color:#333}
.route-txt span{color:#555}

/* FAQ */
.bus-faq{max-width: 1024px; width: 100%; margin: 0 auto; background:#f8f8f8;border-radius:8px;padding:32px 40px;}
.bus-faq .faq-tit{border-bottom:1px solid #e5e5e5;padding-bottom:24px;margin:0 0 24px;font-weight:600;font-size:20px;color:#333;}
.bus-faq dl{display:flex;flex-direction:column;margin-top:12px}
.bus-faq dt{font-weight:600;font-size:18px;color:#555;margin:0 0 4px}
.bus-faq dd{color:#777;margin:0 0 12px;padding-left:17px}
.bus-faq dd:last-child{margin-bottom:0}

/* ===================== TA (~1199px) ===================== */
@media all and (max-width:1199px){
	.bus-page{padding:0 24px 60px}
	.bus-page .sub-tit{font-size:22px;padding:34px 0}
	.bus-page .bus-cont{gap:20px}

	.bus-info .bi-list{padding:32px 40px}

	.bus-accordion{width:auto;margin:0}
	.bus-accordion .acc-item.is-open .acc-body {flex-direction: column;}
	.bus-map {flex: none;}
	.route-info {flex: none;}
	.route-list {max-height: none; }
}

/* ===================== MO (~767px) ===================== */
@media all and (max-width:767px){
	.bus-page{padding:20px 16px 32px}
	.bus-page .bus-cont{gap:16px}

	.bus-tit{font-size:14px;width:auto}

	.bus-info .bi-tit{margin-bottom: 16px; font-size:18px; padding:8px 0; border-radius: 0;}
	.bus-info .bi-list{padding: 0 0 16px;}
	.bus-info dl{display:block; padding: 0 16px;}
	.bus-info dl + dl {margin-top: 16px;}
	.bus-info dt{margin:0 0 8px}
	.bus-info dd{font-size:14px;}

	.bus-accordion .acc-head{padding:16px;gap:16px;}
	.bus-accordion .acc-num{gap:4px;width:auto;flex:0 0 auto}
	.bus-accordion .acc-bus-ic{width:27px;height:27px}
	.bus-accordion .acc-num-txt{font-weight:700;font-size:16px;line-height:1.2;}
	.bus-accordion .acc-route{font-size:16px;}
	.bus-accordion .acc-body{padding:0 16px 16px}
	.bus-accordion .acc-item.is-open .acc-body{flex-direction:column;flex-wrap:nowrap;gap:0}

	.bus-map{height:260px;margin-bottom:16px;}

	.route-info{gap:12px;}
	.route-info .bus-tit{align-self: start;}
	.route-list{}
	.route-list li {gap: 10px}
	.route-num i{width:18px;height:18px;font-size:12px}
	.route-txt{font-size:14px; padding-bottom:8px}

	.bus-faq{padding:16px}
	.bus-faq .faq-tit{font-size:18px; padding-bottom:16px;margin:0 0 16px}
	.bus-faq dl{}
	.bus-faq dt{font-size:16px;}
	.bus-faq dd{font-size:14px;}
}
