
/*container*/
#container {
	padding-top: 0 !important;
}
#container section {
    padding-bottom: 100px;
}
#container .main02 {
    padding: 100px 0 160px;
}
.main01 {
    background: #FFF5BC;
    background-size: cover;
    height: 960px;
}
.main01 .m01_top {
    display: flex;
    justify-content: space-between;
    padding: 60px 0;
}
.m01_txt {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}
.m01_txt .m_mark {
    display: inline-block;
    color: #fff;
    padding: 6px 11px;
    background: #FF9D00;
    border-radius: 8px;
    border: 2px solid #FF9D00
}
.m01_txt .m_mark strong {
    display: flex;
    align-items: center;
}
.m01_txt .m_mark img {
    width: 20px;
    margin-right: 8px;
}
.m01_txt h2 {
    color: #3C2300;
    font-size: 36px;
    line-height: 140%;
    word-break: keep-all;
    padding-top: 20px;
}
.pt {
	color:#FF9D00
}
.mint {
    color:#00F4E8;
}
.main_pop .swiper-slide{
    opacity:0;
}

.main_pop .swiper-slide-active{
    opacity:1;
}
.slide_txt p {
    font-size: 22px;
    font-weight: 300;
}
.slide_txt p.sub_tit{
    font-size: 20px;
    opacity: 0.4;
}
.m_srch {
    position: relative;
    margin-top: 40px;
    width: 800px;
    max-width: 800px; /* ← 이 줄 추가 */
}
.m_srch input[type="text"] {
    width: 100%;
    border-radius: 999px;
    border: 1.5px solid #FFBD07;
    text-indent: 30px;
    box-shadow: rgba(216, 173, 57, 0.3) 0 6px 16px;
    box-sizing: border-box;
    transition: border-radius .15s, box-shadow .15s;
}
.m_srch.active input[type="text"] {
    border-radius: 20px 20px 0 0;
    border-bottom-color: #F5F5F5;
    box-shadow: none;
}
.m_srch button {
	background: none;
	position: absolute;
	top: 50%;
	transform:translateY(-50%);
	padding: 14px 10px 10px;
	right: 10px;
}
.m_srch button img {
	width: 26px;
	height: 26px;
}
.m01_bot {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.m01_bot img {
    max-width: 100%;
    border-radius: 16px;
}
.m01_bot .m_menu {
    width:23.5%;
    background: #fff;
    border-radius: 25px;
    box-shadow: 0 9px 15.5px rgba(164, 164, 164, 0.2);
    transition: .3s;
}
.m01_bot .m_menu a {
    padding:20px;
}
.m01_bot .m_menu h3 {
    padding: 25px 0 25px;
    border-bottom: 1px solid #ddd;
    text-align: center;
    color:#3C2300;
    font-size: 30px;
    font-weight: 900;
}
.m01_bot .m_menu:hover {
    box-shadow: 0 9px 14px rgba(210, 180, 0, 0.3);
    transform:translateY(-30px);
    transition: .3s;
}
.m01_btn_tit {
	font-size: 20px;
	color:#666;
}
.m01_btn {
	display: flex;
	justify-content:space-between;
	align-items: center;
	margin-top: 40px;
}
.m01_btn .bd_btn {
	display: inline-flex;
	justify-content:center;
	align-items:center;
	width: 40px;
	height: 40px;
	background: #FFBD07;
	border-radius:999px;
}
.m01_btn .bd_btn img {
	width: 9px;
}

/*visual slide*/
.main_visual {
    height: 100%;
}
.main_visual .swiper-slide img {
    width:100%;
    height: 100%;
    object-fit:cover
}

.m-slide-btn {
    display: flex;
    align-items: center;
}
.swiper-button-next, .swiper-button-prev {
    position: static !important;
}
.swiper-navi {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    right: 0;
}
.swiper-pagination {
    position: static !important;
}
.m-p-btn {
    z-index: 99;
}
.m-p-btn div {
    display: flex;
    align-items: center;
    cursor: pointer;
}

.swiper-button-prev:after, .swiper-button-next:after {
    display: none !important;
}

.swiper-navi img {
    width:auto !important;
    height: 14px !important;
}

.swiper-btn-arr {
    width:12px !important;
    padding: 9px 12px;
    
}
.m-p-btn {
    padding: 9px 12px;
    background: #edf3fc;
    position: relative;
}

.swiper-button-next, .swiper-button-prev {
    height: auto !important;
    margin-top: 0 !important;
    background: #edf3fc;
}

.swiper-button-prev {
}
.swiper-button-next {
    
}
.m-visual-btn-wrap {
    display: flex;
    align-items: center;
}
.swiper-pagination {
    
}
.swiper-pagination, .pop-pagination {
    display: flex;
    align-items: center;
    margin-left: 12px;
}
.swiper-pagination-bullet {
    width:12px !important;
    height:12px !important;
    background: #D9D9D9 !important;
    opacity: 1 !important;
}
.swiper-pagination-bullet-active {
    width:34px !important;
    border-radius: 999px !important;
    background:#ff9d00 !important;
}
.swiper-slide a {
    display: block;
    border-radius: 25px;
    overflow: hidden;
}
.swiper01 .swiper-slide {
    background: url('../img/v_slide01.jpg') no-repeat center center;
    background-size: cover;
}
.swiper01 {
    height:100%;
    position:relative;
    overflow:hidden;
  }
  
  .swiper01 img {
    width:100%;
    height: 100%;
    display:block;
  }
  
  .bar_wrap {
    width: 90%;
    margin-right: 10px;
  }
  .bar_wrap > p {
    font-size:22px;
    color:white;
    font-weight:bold;
    text-align:center;
  }
  .bar {
    width:100%;
    height:3px;
    background:rgba(255,255,255,0.3);
    position:relative;
  }
  
  .back {
    display:inline-block;
    width:0%;
    height:100%;
    background:#fff;
    position:absolute;
    top:0;
    left:0;
  }
  
  .animation {
    animation:5s start linear;
  }
  
  
  @keyframes start {
    0% {
      width:0%
    }
    100% {
      width:100%
    }
  }
  .swiper-controls {
    /* position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 20;
    gap: 10px; */
    display: flex;
    
  }
  
  .swiper-controls button {
    padding: 6px 14px;
    background: rgba(255, 255, 255, 0.3);
    color: #fff;
    font-size: 14px;
    cursor: pointer;
    width: 40px;
    height: 40px;
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 0;
  }
  .swiper-controls button.btn-toggle {
    border-left: 0;
    border-right:0;
  }
  .swiper-controls img {
    height: 15px;
    width:auto
  }


  .swiper01 .pagenation {
    display: flex;
    align-items: center;
    position: absolute;
    bottom: 20px;
    z-index: 999;
    width: 90%;
    left: 50%;
    transform: translateX(-50%);
  }
.main02 {
    padding: 100px 0;
}
.main02 .inner {
    display: flex;
    justify-content: space-between;
}
.main02 .inner > div {
}
.main02 .m2_lt {
    width: 63%;
    max-width:916px;
    padding-right: 50px;
}
.main02 .m2_lt .lt_bot {
    
}
.m2_lt .lt_top{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
}
.m2_lt .lt_top a {
}
.m2_lt .lt_top a img {
    height: 21px;
} 
.m2_lt .lt_top ul {
    display: flex;
}
.m2_lt .lt_top ul li {
    padding: 14px 18px;
    font-size: 18px;
    color:#315500;
    position: relative;
    cursor: pointer;
    border-radius: 8px;
    background: #E1EFC9;
    font-weight: 600;
    margin-right: 8px;
}
.m2_lt .lt_top ul li:last-child {
    margin-right: 10px;
}
.m2_lt .lt_top ul li.on {
    color:#fff;
    background-color: #447600;
}
.m2_lt .lt_top ul li:last-child::after {
    display: none;
}
.m2_lt .lt_bot li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border: 1px solid #ddd;
    transition: .3s;
    border-radius: 16px;
    margin-bottom: 12px;
    box-shadow: 0 0 24px rgba(0, 0, 0, 0.06);
}
.m2_lt .lt_bot li:last-child{
    margin-bottom: 0;
}
.m2_lt .lt_bot li:hover{
    border-color:#FFBD07;
    transition: .3s;
}
.m2_lt .lt_bot li:hover .b_bdge {
    background: #FFF3D0;
    color:#FFBD07;
    transition: .3s;
}

.m2_lt .lt_bot li a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 27px 30px;
    box-sizing: border-box;
    transition: .3s;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden; 
}
.m2_lt .lt_bot li:hover a {
    transition: .3s;
}
.m2_lt .lt_bot li h4 {
    font-weight: 500;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    font-size: 24px;
}
.m_b_tit {
    display: flex;
    align-items: center;
    width: 83%;
}
.m_b_tit .b_bdge {
    padding:8px 10px;
    background: #eee;
    border-radius: 999px;
    color:#666;
    font-weight: 600;
    margin-right: 12px;
    transition: .3s;
    font-size: 18px;

}
.m2_lt .lt_bot li span {
    color:#999;
    font-size: 18px;
}
.m2_lt .lt_bot li.new .date {
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    width:93px;
    height:93px;
    background: #F4F4F4;
    border-radius: 999px;
}
.m2_lt .lt_bot li.new .date p {
    font-size: 14px;
    font-weight: 500;
    color:#666;

}
.m2_lt .lt_bot li.new .date p.day{
    font-size: 32px;
    font-weight: 700;
    color:#00B9B0;
    line-height: 1;
    padding-top: 2px;
}
.m2_lt .lt_bot li.new .cont {
    width:calc(100% - 93px);
    padding-left: 12px;
    box-sizing: border-box;

}
.m2_lt .lt_bot li.new .cont a {
    width:100%;
}
.m2_lt .lt_bot li.new .cont h3 {
    width:100%;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden; 
    font-weight: 500;
    transition: .3s;
}
.m2_lt .lt_bot li.new .cont p {
    width:100%;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden; 
    padding-top: 10px;
    color:#999;
}
.m2_lt .lt_bot li:first-child:hover .cont p {
    color:#999;
}
.m2_lt .lt_bot li:first-child:hover .cont h3 {
    color:#0071BB;
    transition: .3s;
}
.m2_lt_box {
    display: none;
}
.m2_lt_box.on {
    display: block;
}
.lt_board {
    min-height: 328px;
}
.main02 .m2_md {
    width:480px;
    max-width:480px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.main02 .m2_rg {
    max-width:434px;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.main02 .m2_md a{
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 40px;
    box-sizing: border-box;
}
.m2_btn {
    height:47%;
    border-radius: 20px;
    background: #00B9B0 url('../img/bn01.png') no-repeat 90% center;
    background-size: 97px;
}
.m2_btn.bot {
    background: #0071BB url('../img/bn02.png') no-repeat 90% center;
    background-size: 87px;
}
.m2_btn a {
    display: block;
    height: 100%;
    color:#fff;
}
.m2_btn p {
    font-size: 16px;
}
.m2_btn h3 {
    font-size: 28px;
    padding-top: 4px;
    font-weight: 600;
    display: flex;
    align-items: center;
}
.m2_btn h3 img {
    height: 22px;
    margin-left: 10px;
}

/*vd_slide*/
.main02 h2 {
    font-size: 34px;
}
.vd_slide { 
    width: 100%;
    height: auto;
    overflow: hidden;
    position: relative;
  }
  
  .vd_slide .swiper-wrapper {
    height: 100%;
  }
  
  .vd_slide .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    overflow: hidden;
  }
  .vd_slide .swiper-slide img {
    width: 100%;
    border-radius: 20px;
  }
  .vd_slide .fraction {
    display: inline-block;
    padding: 5px 18px;
    background: rgba(0,0,0,0.5);
    border-radius: 999px;
    color: #fff;
    position: absolute;
    right: 18px;
    bottom: 20px;
    z-index: 10;
  }
  .vd_btn {
    display: flex;
    align-items: center;
  }
  .vd_btn button {
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
    width: 40px;
    height: 40px;
    border: 1px solid #ddd;
    border-radius: 0;

  }
  .vd_btn button.vd_toggle {
    border-left: 0;
    border-right: 0;
  }
  .vd_btn button img {
    height:15px;
  }
  .m2_rg .rg_top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 25px;
    position: relative;
  }
.cir_more_btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width:24px;
    height:24px;
    border-radius: 50%;
    background: #fff;
    margin-left: 10px;
}

.m2_call {
	display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 999px;
    background: #FF9D00;
    color: #fff;
    padding: 15px 25px;
    box-sizing: border-box;
    margin-top: 20px;
}
.m2_call img {
	width:20px;
	height:20px;
	margin-right: 8px;
}
.m2_call h3 {
	display: flex;
    align-items: center;
	font-size: 20px;
}
.m2_call a {
	color: #fff;
	font-size: 22px;
	font-weight:600;
}

img.arr{
    height:10px;
}

.vd_slide {
    position: relative;
  }
  
  .vd_slide .swiper-pagination {
    bottom: -20px;   /* 아래로 내리고 싶을 때 */
  }
  .swiper {
    width:100%;
  }
  .swiper img {
      display: block;
      width: 100%;
      height: auto;
  }
.m2_rg .pop-pagination,
.m2_rg .pop-pagination.swiper-pagination-lock {
    display: flex !important;
    gap: 6px;
    position: static !important;
}

.m2_rg .pop-pagination .swiper-pagination-bullet {
    display: block !important;
    width: 8px;
    height: 8px;
    background: #ccc;
    opacity: 1;
    border-radius: 50%;
}

.m2_rg .pop-pagination .swiper-pagination-bullet-active {
    background: #111;
}
/*media query*/
@media(max-width:1620px){
    .inner {
        padding: 0 2%;
    }
    .main02 .m2_lt {
    width: 60%;
        padding-right: 0;
    }
    .main02 .m2_md {
        width: 30%;
        margin: 0 20px;
    }
    .main02 .m2_rg {
        width: 32%;
    }
    .m2_btn {
        background-size: 80px;
    }
    .main02 .m2_md a {
        padding: 25px;
    }
    .m2_btn.bot {
        background-size: 73px;
    }
    .main02 h2 {
        font-size: 28px;
    }
    .m2_btn p {
        font-size: 14px;
    }
    .m2_btn h3 {
        font-size: 26px;
    }
    .m2_lt .lt_top ul li {
        font-size: 20px;
    }
    .m2_lt .lt_top a {
        padding: 12px 26px;
        font-size: 16px;
    }
    #container .main01 {
    height: auto; 
    }
     .main02 .m2_rg {
    	justify-content: flex-start;
    }
}
@media(max-width:1400px){
	.m01_txt {
	width: calc(100% - 470px);
	}
	.m_srch input[type="text"] {
		width: 100%;
	}
	.m_srch {
	width: 100%;
	}
	.m_login_box {
	
	}
}

@media(max-width:1200px) {
    .main01 .m_visual {
        width: calc(100% - 370px);
        height: 380px;
    }
    .slide_txt p.sub_tit {
        font-size: 16px;
    }
    .slide_txt h2 {
        font-size: 36px;
    }
    .slide_txt p {
        font-size: 18px;
    }
    .m_login {
        max-width: 370px;
        padding: 30px 30px;
    }
    .m_login h2 {
        font-size: 26px;
    }
    .m_login p {
        font-size: 16px;
    }
    .m_login .log_info {
        padding: 18px 0 18px;
    }
    .m_login .log_info input {
        padding: 14px 14px;
        font-size: 16px;
    }
    .log_btn button {
        padding: 14px 14px;
        font-size: 16px;
    }
    .log_btn button img {
        width: 20px;
    }
    .log_info_page a {
        font-size:14px;
    }
    .main02 .inner {
        flex-wrap: wrap;
    }
    .main02 .m2_lt {
        margin-bottom: 60px;
    }
    .slide_txt {
        left: 30px;
    }
    .main02 .m2_md {
        width: 60%;
        max-width: 100%;
        margin: 0;
    }
    .main02 .m2_rg {
        width: 38%;
    }
    .m2_rg .rg_top {
    }
    .m01_txt h2 {
    	font-size: 30px;
    }
    .main02 {
    padding: 60px 0;
    }
    #container .main02 {
        padding: 60px 0 120px;
    }
    .m2_lt .lt_top ul li {
    font-size: 18px;
    }
    .m2_lt .lt_bot li a {
    padding: 25px 20px;
    }
    .m2_lt .lt_bot li h4 {
    font-size: 18px;
    }
    .m_b_tit .b_bdge {
    font-size: 14px;
    }
}
@media(max-width:1024px){
    .main01 .m01_top {
        flex-direction: column;
        padding: 0 3%;
        box-sizing: border-box;
    }
    .m01_bot {
    padding: 0 2%;
        box-sizing: border-box;
        flex-wrap: wrap;
        margin-top: 30px;
    }
    .m01_txt h2 {
    	font-size: 28px;
    }
    .m01_txt .m_mark {
    	font-size: 14px;
    }
    .m01_txt .m_mark img {
    width: 15px;
    }
    .m01_bot .m_menu:hover {
    	box-shadow: none;
    	transform: translateY(0px);
    }  
    .m01_bot .m_menu h3 {
        padding: 30px 0;
    font-size: 18px;
    }
    .main01 {
    height: auto;
    }
    .m01_bot .m_menu {
    width: 49%;
    margin-bottom: 2%;
    }
    .main01 .m_visual {
        width: 100%;
    }
    .m_login {
        width:100%;
        max-width: 100%;
        margin: 0;
        margin-top:30px;
    }
    .main02 .m2_lt {
    width: 100%;
    max-width: 100%;
    }
    .main02 .m2_rg {
    width: 100%;
    max-width: 100%;
    }
    .lt_board {
    min-height: auto;
    }
    .m2_lt .lt_top ul li {
    font-size: 16px;
    }
    .m2_lt .lt_bot li h4 {
    font-size: 18px;
    }
    .m2_lt .lt_bot li span {
    
    font-size: 16px;
    }
    .m2_lt .lt_bot li a {
    padding: 20px 15px;
    }
    .main02 h2 {
    	font-size: 28px;
    }
    .swiper-pagination-bullet {
    width: 6px !important;
    height: 6px !important;
    }
    
    .m_srch input[type="text"] {
    height: 50px;
    font-size: 16px;
    }
}
@media(max-width:768px){
    #container .main01 {
        padding:30px 0
    }
    .main01 .m_visual {
        height:280px;
        border-radius: 20px;
    }
    .slide_txt p.sub_tit {
        font-size: 14px;
    }
    .slide_txt h2 {
        font-size: 20px;
        padding-bottom: 15px;
    }
    .slide_txt p {
        font-size: 16px;
    }
    .swiper-controls button {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 35px;
        height: 35px;
    }
    .m_login h2 {
        font-size: 24px;
    }
    .m_login p {
        font-size: 14px;
    }
    .m_login {
        padding: 30px;
        border-radius: 20px;
    }
    .m_login .log_info input {
        font-size: 14px;
    }
    .log_btn button {
        font-size: 14px;
    }
    .log_btn button img {
        width: 17px;
    }
    .main02 .m2_lt {
        order: 2;
        width: 100%;
    }
    .main02 .m2_md {
        order: 1;
        width: 100%;
    }
    .main02 .m2_rg {
        order:3;
        width: 100%;
        max-width: 100%;
    }
    .m2_btn {
        width:100%;
        border-radius: 10px;
    }
    .m2_btn p {
        font-size: 12px;
    }
    .m2_btn h3 img {
        height:18px;
    }
    .vd_slide .swiper-slide {
        width:100%;
        height:auto;
    }
    .vd_slide .swiper-slide img {
        width:100%;
        height:auto;
    }
    .m2_btn h3 {
        font-size: 24px;
        font-weight: 500;
    }
    .m2_lt .lt_top ul li {
        font-size: 14px;
    }
    .m2_lt .lt_top a {
        display: flex;
        align-items: center;
        font-size: 14px;
        padding: 10px 20px;
    }
    .m2_lt .lt_top a img {
        margin-left: 7px;
        height: 16px;
        padding-bottom: 2px;
    }
    .m2_lt .lt_bot li.new .date {
        width: 60px;
        height:60px;
    }
    .m2_lt .lt_bot li.new .date p {
        font-size: 10px;
    }
    .m2_lt .lt_bot li.new .date p.day {
        font-size: 20px;
    }
    .m2_lt .lt_bot li.new .cont {
        width: calc(100% - 60px);
        padding-left: 0;
    }
    .m2_lt .lt_bot li.new .cont h3 {
        font-size: 16px;
    }
    .m2_lt .lt_bot li.new .cont p {
        font-size: 14px;
        padding-top: 6px;
    }
    .m2_lt .lt_bot li a {
        padding: 12px 8px;
        font-size: 16px;
    }
    .m2_lt .lt_bot li span {
        font-size: 14px;
    }
    .m2_lt .lt_bot li.new {
        padding: 12px 0;
    }
    .lt_board {
        min-height: auto;
    }
    .main02 h2 {
        font-size: 24px;
    }
    .vd_btn button {
        width:35px;
        height:35px;
    }
    .m2_lt .lt_top {
    margin-bottom:20px;
    }
}

@media(max-width:768px){
	.m01_bot .m_menu a {
		padding: 10px;
	}
	.m01_bot img {
		    border-radius: 10px;
	}
	.m01_bot .m_menu {
		    border-radius: 15px;
	}
	.my_btn button h3 {
		font-size: 14px;
	}
	.m01_txt h2 {
	font-size: 24px;
	}
	.m01_txt {
	padding-top: 0 !important;
	margin-bottom: 20px;
	}
	.m01_bot {
	margin-top: 20px;
	}
	
    .m_b_tit {
    width: 78%;
    }
    .m2_lt .lt_bot li span {
    font-size: 14px;
    }
    .m2_lt .lt_bot li h4 {
    font-size: 16px;
    }
    .m2_lt .lt_top ul li {
    padding: 11px 10px;
    }
    
    .m2_call h3 {
    	font-size: 14px;
    }
    .m2_call a{
    font-size: 14px;
    }
    .m2_call {
    padding: 12px 18px;
    }
    .m2_call img {
    width: 15px;
    height: 15px;
    }
    .m_srch button img {
    width: 20px;
    height: 20px;
    }
    
    .m_srch input[type="text"] {
    height: 45px;
        text-indent: 20px;
    }
    .m01_btn {
    margin-top: 20px;
    }
    .m01_btn_tit {
        font-size: 16px;
    }

}

/* ──────────────────────────────────────────────
   메인 검색 결과 드롭다운 카드
────────────────────────────────────────────── */
.main-srch-result {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    box-sizing: border-box;
    background: #fff;
    border-radius: 0 0 16px 16px;
    box-shadow:
        0 8px 20px rgba(0,0,0,0.10),
        0 24px 48px rgba(180,140,0,0.10);
    border: 1.5px solid #FFBD07;
    border-top: none;
    z-index: 9999;
    overflow: hidden;
}

/* ── 검색결과 리스트 ── */
.srch-grid {
    display: flex;
    flex-direction: column;
}

/* 각 행 — 타이틀 + 기간 한 줄 */
.srch-grid-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 20px;
    background: #fff;
    border-bottom: 1px solid #F3F3F3;
    text-decoration: none;
    color: inherit;
    position: relative;
    transition: background .15s;
}
.srch-grid-item:last-child {
    border-bottom: none;
}
.srch-grid-item::after {
    content: '';
    position: absolute;
    left: 0; top: 0;
    width: 3px; height: 100%;
    background: linear-gradient(180deg, #FFBD07, #6C9A12);
    transform: scaleY(0);
    transform-origin: top;
    transition: transform .2s;
}
.srch-grid-item:hover {
    background: #FFFCF0;
}
.srch-grid-item:hover::after {
    transform: scaleY(1);
}

/* 타이틀 */
.sgi-title {
    flex: 1;
    font-size: 13px;
    font-weight: 600;
    color: #222;
    word-break: keep-all;
    line-height: 1.5;
    transition: color .15s;
}
.srch-grid-item:hover .sgi-title {
    color: #3A7000;
}

/* 기간 */
.sgi-period {
    flex-shrink: 0;
    font-size: 11px;
    color: #BBBBBB;
    white-space: nowrap;
}

/* 전체 보기 */
.srch-more {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px 22px;
    background: linear-gradient(180deg, #FAFAFA 0%, #F5F5F5 100%);
    border-top: 1px solid #EDEDED;
}
.srch-more a {
    font-size: 13px;
    font-weight: 700;
    color: #5A8500;
    text-decoration: none;
    letter-spacing: -0.01em;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: gap .18s, color .18s;
}
.srch-more a::after {
    content: '→';
    font-size: 14px;
    transition: transform .18s;
}
.srch-more a:hover {
    color: #3A7000;
}
.srch-more a:hover::after {
    transform: translateX(4px);
}

/* 결과 없음 */
.srch-empty {
    padding: 36px 24px;
    text-align: center;
    color: #bbb;
    font-size: 14px;
    line-height: 2;
}
.srch-empty-ico {
    display: block;
    width: 36px;
    height: 36px;
    margin: 0 auto 10px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='10' cy='10' r='7' fill='none' stroke='%23ddd' stroke-width='2'/%3E%3Cline x1='15.5' y1='15.5' x2='21' y2='21' stroke='%23ddd' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center / contain;
}
.srch-empty strong { color: #888; }

@media (max-width: 1400px) {
    .m_srch { width: 100%; max-width: 100%; }
}
@media (max-width: 600px) {
    .srch-grid-item { padding: 11px 14px; gap: 10px; }
    .sgi-period { display: none; }
}