:root {
    /* [Goods/Category Core Colors] */
    --gd-color-primary: #E35826;
    --gd-color-primary-hover: #004A5A;
    --gd-color-price: #FF4D26;
    --gd-color-blue: #0D52EA;
    --gd-color-blue-dark: #2563EB;
    --gd-color-blue-sky: #3094fb;
    --gd-color-teal: #004A5A;
    --gd-color-teal-hover: #266572;
    --gd-color-gold: #B58832;
    --gd-color-gold-dark: #C9A45C;
    --gd-color-navy: #122D52;
    --gd-color-navy-dark: #112845;
    
    /* [Text Colors] */
    --gd-text-main: #222222;
    --gd-text-sub: #555555;
    --gd-text-muted: #6B7280;
    --gd-text-light: #64748B;
    --gd-text-placeholder: #94A3B8;
    --gd-text-danger: #E11D48;
    --gd-text-tab: #608992;
    
    /* [Background Colors] */
    --gd-bg-white: #FFFFFF;
    --gd-bg-light: #F8FAFC;
    --gd-bg-subtle: #F1F5F9;
    --gd-bg-button: #F8F9FA;
    --gd-bg-blue-tag: #DBEAFE;
    --gd-bg-blue-box: #F0F9FF;
    --gd-bg-alert: #FFF1F2;
    
    /* [Borders & Radius] */
    --gd-border-color: #E2E8F0;
    --gd-border-light: #E9ECEF;
    --gd-border-dark: #CBD5E1;
    --gd-border-gold: #E2CFAB;
    --gd-radius-sm: 6px;
    --gd-radius-md: 8px;
    --gd-radius-lg: 12px;
    --gd-radius-pill: 20px;
    
    /* [Shadows & Transitions] */
    --gd-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.04);
    --gd-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.06);
    --gd-transition: all 0.2s ease;
}


/*********** 카테고리 이미지 *****************************/
.responsive-padding { padding-top: clamp(20px, 4vw, 36px); }
.responsive-category { width: 100%; box-sizing: border-box; padding: 0 20px; }
.category-card { width: 100%; height: 300px; border-radius: 13px; overflow: hidden; display: flex; align-items: center; justify-content: center; position: relative; z-index: 1; }
.category-card::after { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: inherit; background-size: cover; background-position: center; background-repeat: no-repeat; z-index: 0; animation: zoomOutBg 2s ease-out forwards; }
.category-card::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.8) 100%); z-index: 1; }
.category_ko { font-size: 36px; color: var(--gd-bg-white); font-weight: 700; text-align: center; word-break: keep-all; text-shadow: 0px 2px 10px rgba(0, 0, 0, 0.35); position: relative; z-index: 2; }

@keyframes zoomOutBg {
    0% { transform: scale(1.25); }
    100% { transform: scale(1); }
}

@media (max-width: 1024px) {
    .responsive-category { padding: 0 15px; }
    .category-card { height: 220px; }
    .category_ko { font-size: 30px; }
}

@media (max-width: 820px) {
    .responsive-category { padding: 5px 15px; }
    .category-card { height: 200px; }
    .category_ko { font-size: 30px; }
}

@media (max-width: 768px) {
    .responsive-padding { padding-top: 0 !important; }
    .responsive-category { padding: 0px 0px; }
    .category-card { height: 120px; border-radius: 0px; }
    .category_ko { font-size: 24px; }
}


/*********** 카테고리 2단계 메뉴 *****************************/
.sub-menu-wrapper { width: 100%; margin: 0 auto; box-sizing: border-box; padding: 0px 20px; }
.sub-menu-container { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 15px; width: 100%; box-sizing: border-box; padding: 25px 0; border-bottom: 1px dashed #E8E8E8; }
.sub-menu-agree { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 15px; width: 100%; box-sizing: border-box; padding: 10px 0 25px 0; }
.sub-menu-item { display: inline-flex; align-items: center; justify-content: center; padding: 8px 18px 8px 18px; text-decoration: none; color: var(--gd-text-main); background-color: var(--gd-bg-button); border: 1px solid var(--gd-border-color); border-radius: var(--gd-radius-pill); font-size: 15px; font-weight: 500; cursor: pointer; white-space: nowrap; transition: var(--gd-transition); }
.sub-menu-item:hover { background-color: #E1EDF0; color: var(--gd-color-teal); border-color: #C9DEE3; }
.sub-menu-item.on { background-color: var(--gd-color-primary); color: var(--gd-bg-white); border-color: var(--gd-color-primary); font-weight: 500; box-shadow: 0 2px 6px rgba(227, 88, 38, 0.25); }

@media screen and (max-width: 1024px) {
    .sub-menu-wrapper { padding: 0px 15px; }
    .sub-menu-container { padding: 18px 0; gap: 8px 6px; }
    .sub-menu-agree { padding: 10px 0 18px 0; gap: 8px 6px; }
    .sub-menu-item { padding: 7px 15px; font-size: 14px; }
}

@media screen and (max-width: 600px) {
    .sub-menu-wrapper { padding: 0px 0px; }
    .sub-menu-container { padding: 20px 15px; gap: 8px 6px; }
    .sub-menu-agree .sub-menu-item { font-size: 0 !important; display: inline-block; }
    .sub-menu-agree [data-mobile]::before { content: attr(data-mobile); font-size: 12px; color: var(--gd-text-main); font-weight: 500; letter-spacing: -0.02em; display: inline-block; }
    .sub-menu-agree .sub-menu-item.on::before { color: var(--gd-bg-white); font-weight: 500; }
    .sub-menu-item { padding: 5px 0px 6px 0px; font-size: 12px; flex: 1 1 auto; text-align: center; letter-spacing: -0.5px; }
}

@media screen and (max-width: 414px) {
    .sub-menu-wrapper { padding: 0px 0px; }
    .sub-menu-container { padding: 20px 15px; gap: 8px 6px; }
    .sub-menu-agree .sub-menu-item { font-size: 0 !important; display: inline-block; }
    .sub-menu-agree [data-mobile]::before { content: attr(data-mobile); font-size: 11px; color: var(--gd-text-main); font-weight: 500; letter-spacing: -0.02em; display: inline-block; }
    .sub-menu-agree .sub-menu-item.on::before { color: var(--gd-bg-white); font-weight: 500; }
    .sub-menu-item { padding: 5px 0px 6px 0px; font-size: 11px; flex: 1 1 auto; text-align: center; letter-spacing: -0.7px; }
}


/*********** 상품 리스트 메뉴 구성 *****************************/
.category-container { width: 100%; max-width: 1200px; margin: 0 auto; box-sizing: border-box; }
.category-header { display: flex; justify-content: space-between; align-items: center; margin: 30px 0px 25px 0px; flex-wrap: wrap; gap: 15px; }
.b-codename { font-size: 24px; font-weight: 700; color: var(--gd-text-main); letter-spacing: -0.5px; flex: 1; text-align: left; }
.b-codename::before { content: ''; display: inline-block; width: 5px; height: 20px; background-color: var(--gd-color-primary); border-radius: 4px; margin: 0 10px 0 0; }

.sub-category-list { display: flex; justify-content: center; align-items: center; gap: 15px; flex-wrap: wrap; flex: 2; text-align: center; }
.sub-category-list a { display: inline-block; padding: 6px 20px 7px 20px; font-size: 14px; color: var(--gd-text-sub); text-decoration: none; border-radius: var(--gd-radius-pill); background-color: #F6F6F6; border: 1px solid var(--gd-border-color); transition: var(--gd-transition); letter-spacing: -0.2px; }
.sub-category-list a:hover { background-color: #E1EDF0; color: var(--gd-color-teal); border-color: #C9DEE3; }
.sub-category-list a.sub_sub_on { color: var(--gd-bg-white); background-color: var(--gd-color-teal); border-color: var(--gd-color-teal); font-weight: 500; }

.view-switcher { display: flex; justify-content: flex-end; align-items: center; gap: 0px; flex: 1; }
.view-switcher img { cursor: pointer; height: 35px; width: auto; transition: opacity 0.2s ease; }
.view-switcher img:hover { opacity: 0.8; }

.nat_no { font-size: 18px; color: var(--gd-text-placeholder); padding: 150px 0; text-align: center; }

@media screen and (max-width: 1280px) {
    .category-header { margin: 20px 0px 20px 0px; gap: 12px; }
    .b-codename { font-size: 22px; letter-spacing: -0.4px; }
    .b-codename::before { height: 19px; margin: 0px 8px 0 0; }
    .sub-category-list { gap: 10px; }
    .sub-category-list a { padding: 5px 16px 6px 16px; font-size: 13.5px; }
    .view-switcher img { height: 32px; }
    .nat_no { font-size: 18px; padding: 120px 0; }
}

@media screen and (max-width: 1024px) {
    .category-container { padding: 0 15px; }
    .category-header { margin: 20px 0px 18px 0px; gap: 10px; }
    .b-codename { font-size: 20px; letter-spacing: -0.3px; }
    .b-codename::before { height: 18px; margin: 0 8px 0 0; }
    .sub-category-list { gap: 8px; }
    .sub-category-list a { padding: 5px 12px 5px 12px; font-size: 13px; }
    .view-switcher img { height: 30px; }
    .nat_no { font-size: 17px; padding: 100px 0; }
}

@media screen and (max-width: 768px) {
    .category-container { padding: 0 15px; }
    .category-header { margin: 20px 0px 20px 0px; gap: 0px; }
    .b-codename { font-size: 18px; letter-spacing: -0.2px; }
    .b-codename::before { height: 15px; margin: 0 7px 0 0; }
    .sub-category-list { gap: 7px; }
    .sub-category-list a { padding: 4px 8px 5px 8px; font-size: 12px; letter-spacing: -0.2px; }
    .view-switcher img { width: 30px; height: 30px; }
    .nat_no { font-size: 17px; color: var(--gd-text-muted); padding: 150px 0; text-align: center; }
}

@media screen and (max-width: 414px) {
    .category-container { padding: 0 15px; }
    .category-header { flex-direction: column; align-items: center; margin: 15px 0 20px 0; gap: 12px; }
    .b-codename { font-size: 20px; letter-spacing: -0.5px; text-align: center; width: 100%; }
    .sub-category-list { display: flex; justify-content: center; align-items: center; gap: 10px; flex-wrap: wrap; width: 100%; }
    .sub-category-list a { padding: 5px 10px 6px 10px; font-size: 12px; letter-spacing: -0.2px; line-height: 1; }
    .view-switcher { justify-content: center; width: 100%; margin-top: 4px; }
    .view-switcher img { width: 30px; height: 30px; }
    .nat_no { font-size: 17px; color: var(--gd-text-muted); padding: 150px 0; text-align: center; }
}


/*********** 상품 갤러리형 *****************************/
.goods-grid-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(384px, 1fr)); gap: 24px; width: 100%; max-width: 1200px; margin: 0 auto; padding: 0px; box-sizing: border-box; }
.goods-card { background: var(--gd-bg-white); border: 1px solid var(--gd-border-light); border-radius: var(--gd-radius-lg); overflow: hidden; transition: transform 0.3s, box-shadow 0.3s; box-shadow: var(--gd-shadow-sm); }
.goods-card1 { background: var(--gd-bg-white); overflow: hidden; }
.goods-card:hover {transform: translateY(-8px); border-color: #DDD; box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);}


.photo-area { width: 100%; aspect-ratio: 16 / 10; overflow: hidden; background: var(--gd-text-main); }
.photo-area .photo { position: relative; width: 100%; height: 100%; overflow: hidden; }
.photo-area .photo img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 300ms ease, opacity 300ms ease; }
.photo-area:hover .photo img { transform: scale(1.08); opacity: 0.9; }

.info-area { height: 160px; padding: 20px; box-sizing: border-box; }
.location-tags { font-weight: 500; background: var(--gd-bg-blue-tag); color: var(--gd-color-blue); font-size: 12px; padding: 3px 8px 3px 8px; border-radius: 4px; width: fit-content; margin-bottom: 8px; line-height: 1.2; }
.goods-title { font-size: 17px; font-weight: 500; line-height: 1.5em; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; margin-bottom: 8px; }

.price-bottom { margin-top: 8px; }
.price-val { font-size: 20px; font-weight: 400; color: var(--gd-color-price); font-family: 'Black Han Sans', sans-serif; }
.price-unit { font-size: 15px; color: var(--gd-color-price); font-weight: 700; padding-left: 2px; }
.price-tel { font-size: 16px; font-weight: 500; color: var(--gd-text-sub); }

.schedule-box { display: flex; align-items: center; gap: 6px; width: 100%; margin-bottom: 5px; }
.ic-day { flex-shrink: 0; width: 14px; height: auto; }
.day_txt { flex-grow: 1; font-size: 13px; line-height: 1.4; word-break: keep-all; color: var(--gd-text-muted); }

@media screen and (max-width: 1024px) {
    .goods-grid-container { grid-template-columns: repeat(3, 1fr); gap: 20px 15px; padding: 0 15px; }
    .goods-title { font-size: 17px;}
    .price-val { font-size: 19px; }
    .photo-area { aspect-ratio: 16 / 8; }
    .info-area { height: 150px;padding: 20px 15px;}
}

@media screen and (max-width: 820px) {
    .goods-grid-container { grid-template-columns: repeat(auto-fit, minmax(calc(50% - 15px), 1fr)); gap: 20px 15px; padding: 0 15px; }
    .goods-title { font-size: 17px;}
    .price-val { font-size: 19px; }
    .photo-area { aspect-ratio: 16 / 8; }
    .info-area { height: 150px;padding: 20px 20px;}
}

@media screen and (max-width: 640px) {
    .goods-grid-container { gap: 30px; padding: 0 15px; grid-template-columns: 1fr; }
    .goods-title { font-size: 16px;font-weight: 700;}
    .price-val { font-size: 19px; }
    .price-unit { font-size: 15px; }
    .photo-area { aspect-ratio: 16 / 8; }
    .info-area { height: 150px; padding: 18px 17px 0px 17px; }
}


/*********** 상품 리스트형 *****************************/
.goods-container { width: 100%; max-width: 1200px; margin: 0 auto; box-sizing: border-box; }
.horizontal-item { padding: 20px 0; }
.item-link { display: flex; align-items: center; text-decoration: none; color: inherit; gap: 30px; }
.item-img-box { flex: 0 0 250px; max-width: 250px; }
.item-img-box .photo { position: relative; overflow: hidden; background: var(--gd-text-main); border-radius: var(--gd-radius-lg); aspect-ratio: 16 / 10; }
.item-img-box .photo img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 300ms ease; }
.item-img-box:hover .photo img { transform: scale(1.08); opacity: 0.9; }
.item-info-box { flex: 1; min-width: 0; }

.item-tags { font-weight: 500; background: var(--gd-bg-blue-tag); color: var(--gd-color-blue); font-size: 12px; padding: 3px 8px; border-radius: 4px; width: fit-content; margin-bottom: 8px; line-height: 1.2; }
.item-title { font-size: 18px; font-weight: 500; margin-bottom: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item-schedule { display: flex; align-items: center; gap: 6px; margin-bottom: 10px; font-size: 14px; }
.day-ic { flex-shrink: 0; width: 14px; height: auto; }
.item-price .val { font-size: 22px; font-weight: 400; color: var(--gd-color-price); font-family: 'Black Han Sans', sans-serif; }
.item-price .unit { font-size: 16px; color: var(--gd-color-price); font-weight: 700; padding-left: 1px; }
.item-price .call-msg { font-size: 16px; font-weight: 500; color: var(--gd-text-sub); }

.gangy { padding: 20px 0 0 0; }
.goods_line-divider { border-bottom: 1px dashed var(--gd-border-color); }

@media (max-width: 1280px) {
    .horizontal-item { padding: 18px 0; }
    .item-link { gap: 20px; }
    .item-img-box { flex: 0 0 220px; max-width: 220px; }
    .item-title { font-size: 17px; margin-bottom: 8px; }
    .item-schedule { font-size: 13.5px; margin-bottom: 8px; }
    .item-price .val { font-size: 21px; }
    .item-price .unit { font-size: 15.5px; }
    .gangy { padding: 15px 0 0 0; }
}

@media (max-width: 1024px) {
    .goods-container { padding: 0 15px; }
    .horizontal-item { padding: 16px 0; }
    .item-link { gap: 16px; }
    .item-img-box { flex: 0 0 180px; max-width: 180px; }
    .item-tags { font-size: 12px; }
    .item-title { font-size: 16px; margin-bottom: 8px;}
    .item-schedule { font-size: 13px; margin-bottom: 8px; }
    .item-price .val { font-size: 19px; }
    .item-price .unit { font-size: 15px; }
    .gangy { padding: 10px 0 0 0; }
    .goods_line-divider { margin: 0; }
}

@media (max-width: 768px) {
    .goods-container { padding: 0 15px; }
    .horizontal-item { padding: 14px 0; }
    .item-link { gap: 12px; }
    .item-img-box { flex: 0 0 120px; max-width: 120px; }
    .item-img-box .photo { aspect-ratio: 16 / 11; border-radius: var(--gd-radius-md); }
    .item-tags { font-size: 11px; padding: 2px 6px; margin-bottom: 4px; }
    .item-title { font-size: 14.5px; margin-bottom: 4px;}
    .item-schedule { font-size: 13px; margin-bottom: 5px; }
    .item-price .val { font-size: 16px; }
    .item-price .unit { font-size: 13px; }
    .gangy { padding: 10px 0 0 0; }
    .goods_line-divider { margin: 0; }
}

@media (max-width: 414px) {
    .goods-container { padding: 0 15px; }
    .horizontal-item { padding: 12px 0; }
    .item-link { gap: 10px; }
    .item-img-box { flex: 0 0 100px; max-width: 100px; }
    .item-img-box .photo { aspect-ratio: 16 / 11; border-radius: var(--gd-radius-md); }
    .item-tags { font-size: 10.5px; padding: 2px 5px; margin-bottom: 3px; }
    .item-title { font-size: 13.5px; margin-bottom: 3px;font-weight: 700;}
    .item-schedule { font-size: 13px; margin-bottom: 5px; }
    .item-price .val { font-size: 15px; }
    .item-price .unit { font-size: 12.5px; }
    .gangy { padding: 8px 0 0 0; }
    .goods_line-divider { margin: 0; }
}


/*********** 출발확정형 *****************************/
.item-tags-wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-bottom: 6px; }
.item-tag-unit { font-weight: 500; background: var(--gd-bg-blue-tag); color: var(--gd-color-blue); font-size: 12px; padding: 3px 8px 3px 8px; border-radius: 4px; width: fit-content; margin-bottom: 8px; line-height: 1.2; }

@media (max-width: 1024px) {
    .item-tags-wrap { gap: 4px; margin-bottom: 8px; }
    .item-tag-unit { font-size: 13px; }
}

@media (max-width: 600px) {
    .item-tags-wrap { gap: 4px; margin-bottom: 0px; }
    .item-tag-unit { font-size: 12px; }
}

@media (max-width: 414px) {
    .item-tags-wrap { gap: 4px; margin-bottom: 0px; }
    .item-tag-unit { font-size: 11px; }
}


/** 상품상세 보기***********************************************/
.product-header-container { padding: 80px 0px 0px 0px; max-width: 1200px; margin: 0 auto; }
.header-top-row { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 10px; margin-bottom: 20px; }
.product_title { font-size: 24px; font-weight: 700; color: var(--gd-text-main); flex: 1; min-width: 300px; }
.breadcrumb { font-size: 12px; color: var(--gd-text-muted); }
.header-divider { border-top: 2px solid #000; margin-bottom: 20px; }
.header-bottom-row { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 15px; margin-bottom: 20px; }
.product-info-code { display: flex; align-items: center; font-size: 15px; }

.view_pop { display: flex; justify-content: flex-start; }
.view_pop a { display: inline-flex; align-items: center; justify-content: space-between; gap: 4px; width: fit-content; max-width: 100%; padding: 7px 9px 8px 13px; border: 1px solid var(--gd-border-light); border-radius: var(--gd-radius-sm); background-color: var(--gd-bg-white); font-size: 13px; font-weight: 500; color: var(--gd-text-main); text-decoration: none; box-shadow: var(--gd-shadow-sm); transition: var(--gd-transition); }
.view_pop a:hover { background-color: var(--gd-bg-button); border-color: #CED4DA; }


#photo_slide { position: relative; width: 100%; padding: 0; box-sizing: border-box; }
#photo_slide .photobox { max-width: 1200px; margin: 0 auto; position: relative; }
.responsive-carousel:not(.slick-initialized) { display: flex !important; flex-wrap: nowrap; overflow: hidden; width: 100%; margin: 0 -6px; }
.responsive-carousel:not(.slick-initialized) > div { flex: 0 0 33.333%; padding: 0 6px; box-sizing: border-box; }
.responsive-carousel:not(.slick-initialized) > div a,
.responsive-carousel:not(.slick-initialized) > div img { display: block; width: 100%; height: auto; border-radius: var(--gd-radius-lg); }
.responsive-carousel .slick-list { margin: 0 -6px; }
.responsive-carousel .slick-slide { padding: 0 6px; box-sizing: border-box; }
.responsive-carousel .slick-slide a { display: block; width: 100%; border-radius: var(--gd-radius-lg); overflow: hidden; }
.responsive-carousel img { width: 100%; display: block; height: auto; cursor: pointer; border-radius: var(--gd-radius-lg); }
.slider-arrow-btn { position: absolute; top: 50%; transform: translateY(-50%); width: 23px; height: 47px; z-index: 10; cursor: pointer; opacity: 0.7; transition: opacity 0.2s ease; }
.slider-arrow-btn:hover { opacity: 1; }
.slider-arrow-btn.btnL { left: 20px; }  
.slider-arrow-btn.btnR { right: 20px; } 
.slider-arrow-btn img { width: 100%; height: auto; display: block; border-radius: 0; }

@media (max-width: 1024px) and (min-width: 769px) {
    .product-header-container { padding: 60px 15px 20px 15px; }
    .header-top-row { margin-bottom: 15px; }
    .product_title { font-size: 19px; font-weight: 700; color: var(--gd-text-main); flex: 1; min-width: 300px; }
    .breadcrumb { font-size: 12px; color: var(--gd-text-muted); }
    .header-divider { border-top: 2px solid #000; margin-bottom: 15px; }
    .header-bottom-row { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 15px; margin-bottom: 0px; }
    .product-info-code { display: flex; align-items: center; font-size: 14px; }
    #photo_slide { padding: 0 15px; }
}

@media (max-width: 768px) {
    .product-header-container { padding: 90px 15px 20px 15px; }
    .header-top-row { flex-direction: column; align-items: flex-start; }
    .product_title { font-size: 19px; min-width: 100%; }
    .breadcrumb { display: none !important; }
    .header-bottom-row { flex-direction: column; align-items: flex-start; margin-bottom: 0px; }

    #photo_slide { padding: 0 15px; }
    .responsive-carousel:not(.slick-initialized) > div { flex: 0 0 50%; }
    .slider-arrow-btn { width: 18px; height: 36px; }
    .slider-arrow-btn.btnL { left: 10px; }
    .slider-arrow-btn.btnR { right: 10px; }

    .view_pop { width: 100%; text-align: center; }
    .view_pop a { width: 100%; box-sizing: border-box; padding: 13px 20px; }
}

@media (max-width: 480px) {
    .responsive-carousel .slick-list,
    .responsive-carousel:not(.slick-initialized) { margin: 0 -4px; }
    .responsive-carousel .slick-slide,
    .responsive-carousel:not(.slick-initialized) > div { padding: 0 4px; }
    .responsive-carousel:not(.slick-initialized) > div { flex: 0 0 85%; }
    .slider-arrow-btn { width: 15px; height: 30px; }
    .slider-arrow-btn.btnL { left: 6px; }
    .slider-arrow-btn.btnR { right: 6px; }
}

/***** 상품 아이콘 설명 **************************************************************************/
#view_container { max-width: 1200px; margin: 0 auto; position: relative; }
.info-container { background: var(--gd-bg-light); padding: 40px 0px; display: flex; justify-content: center; border-radius: var(--gd-radius-lg); }
.info-grid { display: flex; flex-direction: row; justify-content: center; align-items: flex-start; gap: 20px; max-width: 1200px; width: 100%; flex-wrap: wrap; }
.info-item { width: 120px; display: flex; flex-direction: column; align-items: center; text-align: center; }
.info-item img { border: 0; display: block; max-width: 100%; height: auto; margin-bottom: 12px; }
.info-item .day_ss { width: 100%; word-break: keep-all; font-size: 14px; line-height: 1.3; color: var(--gd-text-main); }
.P_gap { padding: 30px 0 0 0; }
.Q_gap { padding: 50px 0 0 0; }
.A_gap { padding: 20px 0 0 0; }
.B_gap { padding: 0 0 0 0; }
.C_gap { padding: 40px 0 0 0; }
.D_gap { padding: 0 0 0 0; }
.E_gap { padding: 20px 0 0 0; }
.F_gap { padding: 10px 0 0 0; }
.K_gap { padding: 30px 0 0 0; }

@media (max-width: 1024px) and (min-width: 769px) {
    #view_container { width: 100%; padding: 0 15px; }
    .info-container { padding: 30px 20px; }
    .info-grid { display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: flex-start; gap: 8px; }
    .info-item { width: auto; flex: 1; display: flex; flex-direction: column; align-items: center; text-align: center; }
    .info-item img { border: 0; display: block; max-width: 45px; height: auto; margin-bottom: 8px; }
    .info-item .day_ss { font-size: 14px; word-break: keep-all; }
    
    .P_gap { padding: 20px 0 0 0; }
    .Q_gap { padding: 30px 0 0 0; }
    .A_gap { padding: 40px 0 0 0; }
    .B_gap { padding: 20px 0 0 0; }
    .D_gap { padding: 0 0 0 0; }
    .E_gap { padding: 0 0 0 0; }
    .F_gap { padding: 0 0 0 0; }
    .K_gap { padding: 20px 0 0 0; }
}

@media (max-width: 768px) {
    #view_container { width: 100%; padding: 0 15px; }
    .info-container { padding: 30px 20px; }
    .info-grid { gap: 20px 10px; justify-content: space-between; }
    .info-item { width: calc(25% - 8px); }
    .info-item img { max-width: 50px; margin-bottom: 8px; }
    .info-item .day_ss { font-size: 13px; }
    
    .P_gap { padding: 30px 0 0 0; }
    .Q_gap { padding: 30px 0 0 0; }
    .A_gap { padding: 30px 0 0 0; }
    .B_gap { padding: 10px 0 0 0; }
    .C_gap { padding: 30px 0 0 0; }
    .D_gap { padding: 20px 0 0 0; }
    .E_gap { padding: 0 0 0 0; }
    .F_gap { padding: 0 0 0 0; }
    .K_gap { padding: 20px 0 0 0; }
}

@media (max-width: 480px) {
    .info-container { padding: 25px 20px; }
    .info-grid { gap: 16px 4px; }
    .info-item { width: calc(25% - 4px); }
    .info-item img { max-width: 40px; margin-bottom: 6px; }
    .info-item .day_ss { font-size: 12px; letter-spacing: -0.5px; }
}


/***** 상품 일정 **************************************************************************/
.goods-view-wrapper { width: 100%; max-width: 1200px; margin: 0 auto; box-sizing: border-box; }
.goods-main-layout { display: grid; grid-template-columns: 885px 1fr; gap: 30px; width: 100%; }

.content-left-zone { width: 100%; min-width: 0; }
.content-right-zone { position: sticky; top: 100px; height: fit-content; width: 285px; }

.flight-card-container { border: 1px solid var(--gd-border-color); border-radius: var(--gd-radius-lg); padding: 30px 30px 15px 30px; background-color: var(--gd-bg-white); box-shadow: var(--gd-shadow-sm); font-family: sans-serif; font-size: 15px; }
.schedule-divider { border-top: 1px dashed var(--gd-border-color); margin: 0 0 20px 0; }
.flight-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 8px; font-family: sans-serif; font-size: 15px; }
.flight-label { font-weight: bold; color: var(--gd-text-main); min-width: 60px; }
.flight-data { flex: 1; min-width: 140px; }
.flight-data span { font-weight: 700; }

.air-code { color: var(--gd-color-blue-sky); font-weight: 700; margin-left: 5px; }
.arrow-icon { display: flex; align-items: center; justify-content: center; }
.arrow-icon img { max-width: 16px; height: auto; }
.air-logo-info { display: flex; align-items: center; gap: 8px; margin: 15px 0 20px 0; font-size: 13px; color: var(--gd-text-muted); }
.air-logo-info img { height: 18px; width: auto; object-fit: contain; }

.book_num { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 18px; padding: 14px 18px; margin: 15px 0; background-color: var(--gd-bg-blue-box); border: 1px solid #BAE6FD; border-radius: 10px; font-size: 14px; }
.book_num > .book_prpsses,
.book_num > span:first-child, [class^="book_prpsses"] { font-size: 13px; font-weight: 500; padding: 4px 10px; border-radius: var(--gd-radius-sm); margin-right: 4px; display: inline-block; }
.book_item { display: flex; align-items: center; gap: 4px; }
.book_prpsses1 { color: #9b9c9e; background-color: #d9dbdd; }
.book_prpsses2 { color: #059669; background-color: #D1FAE5; }
.book_prpsses3 { color: #FF4E40; background-color: #FEF3C7; }
.book_prpsses4 { color: #5586F7; background-color: #E0F2FE; }

.book_label { color: var(--gd-text-main); font-size: 14px; }
.book_cnt { font-weight: 700; color: #3A5BAA; font-size: 14px; }

.manager_info { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; padding: 14px 18px; margin: 15px 0; background-color: var(--gd-bg-light); border: 1px solid var(--gd-border-color); border-radius: 10px; font-size: 14px; }
.manager_info span:first-child { font-weight: 700; color: #1E293B; font-size: 14px; padding-right: 10px; }
.manager_info span { display: inline-flex; align-items: center; gap: 6px; transition: color 0.2s ease; }


@media screen and (max-width: 1024px) {
    .goods-main-layout { grid-template-columns: 1fr; }
    .content-right-zone { display: none !important; }
}


@media (max-width: 768px) {
    .goods-main-layout { grid-template-columns: 1fr; }
    .content-right-zone { display: none !important; }
    .flight-card-container { padding: 20px 20px 5px 20px; font-size: 15px; }
    .flight-row { display: grid; grid-template-columns: auto 1fr; row-gap: 12px; column-gap: 10px; padding: 0; }
    .flight-row .arrow-icon { display: none !important; }
    .flight-label { font-weight: bold; color: var(--gd-text-sub); min-width: 65px; }
    .flight-data { color: var(--gd-text-main); }
    .flight-data span { font-weight: 700; margin-left: 5px; }
    .flight-data .air-code { color: var(--gd-color-blue-sky); font-size: 1.0em; }
    
    .air-logo-info { display: flex; align-items: center; gap: 8px; margin: 10px 0 20px 0; font-size: 14px; color: var(--gd-text-sub); }
    .air-logo-info img { height: 16px; width: auto; object-fit: contain; }
    
    .book_num { gap: 10px 12px; padding: 10px; border-radius: var(--gd-radius-sm); font-size: 14px; }
    .book_cnt { font-weight: 700; color: #3a5baa; font-size: 14px; }
    
    .manager_info { gap: 10px 12px; padding: 10px; border-radius: var(--gd-radius-sm); font-size: 14px; }
    .manager_info span:first-child { font-size: 14px; }
    .manager_info .mobile-hide { display: none !important; }
}
 
/* 상품요금 */
.nday_list { width: 100%; margin-bottom: 24px; }
.price-card { width: 100%; background: var(--gd-bg-white); border: 1px solid #E5E7EB; border-radius: var(--gd-radius-lg); overflow: hidden; box-shadow: var(--gd-shadow-sm); }
.price-row { display: grid; grid-template-columns: 1fr 17% 17% 17%; align-items: center; border-bottom: 1px solid var(--gd-bg-subtle); }
.price-row:last-child { border-bottom: none; }
.price-header-row { background-color: var(--gd-bg-light); border-bottom: 1px solid var(--gd-border-color); }

.price-header { padding: 14px 8px; font-size: 15px; font-weight: 500; color: var(--gd-text-main); text-align: center; }
.price-header .gubun { font-size: 13px; font-weight: 400; color: var(--gd-text-muted); display: inline-block; }
.price-cell { padding: 16px 12px; font-size: 15px; color: var(--gd-text-main); text-align: center; }
.price-cell.title { text-align: left; font-weight: 500; color: var(--gd-text-main); padding-left: 20px; }
.price-cost { font-size: 18px; font-weight: 400; color: var(--gd-text-sub); letter-spacing: -0.3px; font-family: 'Black Han Sans', sans-serif; }
.price-won { font-size: 14px; font-weight: 500; color: var(--gd-text-muted); }
.fuel-surcharge { font-size: 13px; color: #666; }

/* 두 번째 기본 요금표 모드 (구분/성인/아동/유아) */
.price-row.type-default { grid-template-columns: 18% 27.3% 27.3% 27.3%; }
.notice-box { margin-top: 15px; font-size: 13px; line-height: 1.6; color: var(--gd-text-muted); }


@media screen and (max-width: 1024px) {
  .price-row { grid-template-columns: 1fr 22% 22% 22%; }
  .price-row.type-default { grid-template-columns: 22% 26% 26% 26%; }
}

@media screen and (max-width: 768px) {
  .hide-mobile { display: none !important; }
  .price-header .gubun { font-size: 12px; letter-spacing: -0.3px; }
  .price-row { grid-template-columns: 1fr 25% 25%; }
  .price-row.type-default { grid-template-columns: 26% 37% 37%; }

  .price-cell.title { padding-left: 14px; font-size: 14px; }
  .price-header { padding: 12px 4px; font-size: 13px; }
  .price-cell { padding: 14px 6px; }
  .price-cost { font-size: 16px; }
  .price-won { font-size: 13px; }
  .notice-box { font-size: 12px; }
  .fuel-surcharge { font-size: 11px; letter-spacing: -0.5px;}
}


/* AI 박스 레이아웃 */
.ai-summary-wrapper { max-width: 1200px; margin: 0 auto; box-sizing: border-box; }
.ai-summary-box { margin: 20px 0; border: 1px solid #E5E7EB; border-radius: var(--gd-radius-lg); overflow: hidden; background: var(--gd-bg-light); box-shadow: var(--gd-shadow-sm); }
.ai-summary-header { padding: 14px 18px; background: linear-gradient(135deg, #1E3A8A 0%, #0D9488 100%); color: var(--gd-bg-white); font-size: 15px; font-weight: 500; display: flex; align-items: center; gap: 8px; }

.header-badge { font-size: 11px; font-weight: 400; opacity: 0.8; }

.ai-summary-body { position: relative; }
.ai-summary-content { padding: 16px 18px; font-size: 15px; line-height: 1.8; color: var(--gd-text-main); max-height: 120px; overflow: hidden; transition: max-height 0.4s ease; }
.ai-summary-content.is-expanded { max-height: 2000px; }
.ai-summary-gradient { position: absolute; bottom: 0; left: 0; right: 0; height: 60px; background: linear-gradient(to bottom, rgba(248, 250, 252, 0) 0%, rgba(248, 250, 252, 1) 100%); pointer-events: none; transition: opacity 0.3s ease; }
.ai-summary-gradient.is-hidden { opacity: 0; }
.ai-summary-btn-wrap { text-align: center; padding: 8px 0 14px; }
.ai-summary-btn { background: none; border: 1px solid var(--gd-border-dark); color: #475467; padding: 6px 20px; border-radius: var(--gd-radius-pill); font-size: 12px; cursor: pointer; transition: background-color 0.2s ease, border-color 0.2s ease; }

.ai-summary-btn:hover { background-color: var(--gd-bg-subtle); border-color: var(--gd-text-placeholder); }
.ai-loading { display: flex; align-items: center; gap: 8px; color: var(--gd-text-placeholder); font-size: 13px; }
.ai_dot { width: 6px; height: 6px; background: var(--gd-text-placeholder); border-radius: 50%; display: inline-block; animation: ai_blink 1.4s infinite both; }
.ai_dot:nth-child(2) { animation-delay: 0.2s; }
.ai_dot:nth-child(3) { animation-delay: 0.4s; }

@keyframes ai_blink { 0% { opacity: 0.2; } 20% { opacity: 1; } 100% { opacity: 0.2; } }

@media (max-width: 768px) {
    .ai-summary-wrapper { padding: 0 0px; }
    .ai-summary-header { padding: 12px 14px; font-size: 14px; flex-wrap: wrap; }
    .header-badge { font-size: 10px; }
    .ai-summary-content { padding: 14px; font-size: 14px; line-height: 1.7; max-height: 100px; }
    .ai-summary-gradient { height: 45px; }
    .ai-summary-btn { padding: 5px 16px; font-size: 11px; }
}


/* 포함/불포함*/
.detail-card-box { border: 1px solid var(--gd-border-color); padding: 30px 20px; border-radius: var(--gd-radius-lg); background-color: var(--gd-bg-white); box-shadow: var(--gd-shadow-sm); }
.detail-item { display: flex; gap: 24px; align-items: flex-start; }
.detail-label-group { width: 140px; flex-shrink: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.detail-badge-icon { display: flex; align-items: center; justify-content: center; margin-bottom: 10px; min-height: 32px; }
.detail-badge-icon img { max-width: 36px; max-height: 36px; width: auto; height: auto; object-fit: contain; display: block; }
.detail-label-title { font-size: 17px; font-weight: 500; color: #1E293B; word-break: keep-all; }
.detail-body-text { flex: 1; font-size: 15px; line-height: 1.7; color: var(--gd-text-main); word-break: break-all; }
.detail-body-divider { border: none; border-top: 1px dashed var(--gd-border-color); margin: 24px 0; }

.benefit-card-box { margin-top: 24px; border: 1px solid var(--gd-border-color); padding: 20px; border-radius: var(--gd-radius-lg); background-color: var(--gd-bg-light); box-shadow: var(--gd-shadow-sm); }
.benefit-body-text { font-size: 15px; line-height: 1.7; color: var(--gd-text-main); word-break: break-all; }

@media screen and (max-width: 768px) {
    .detail-card-box { padding: 20px; }
    .detail-item { flex-direction: column; gap: 5px; }
    .detail-label-group { width: 100%; flex-direction: row; justify-content: flex-start; gap: 8px; padding-bottom: 8px; }
    .detail-badge-icon { margin-bottom: 0; min-height: auto; }
    .detail-badge-icon img { max-width: 24px; max-height: 24px; }
    .detail-label-title { font-size: 16px; }
    .detail-body-divider { margin: 18px 0; }
    .benefit-card-box { padding: 18px; }
}


/* 일정표 구분 탭 */
.sidebar1 { position: -webkit-sticky; position: sticky; top: 80px; z-index: 100; width: 100%; background-color: var(--gd-bg-white); padding: 22px 0 0 0; }
.wrapper_tab { width: 100%; max-width: 885px; margin: 0 auto; box-sizing: border-box; }
.tab-box { position: relative; display: flex; list-style: none; padding: 3px;margin: 0; width: 100%; border: 0px solid var(--gd-border-color); background-color: var(--gd-bg-subtle); border-radius: var(--gd-radius-lg); box-sizing: border-box; box-shadow: var(--gd-shadow-sm); }
.tab-box::before {content: "";position: absolute;top: 0;bottom: 0;left: 0;width: calc(100% / 5); background-color: var(--gd-color-teal);border-radius: var(--gd-radius-md);box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1); z-index: 1;}
.tab-item { flex: 1; text-align: center; font-size: 16px; font-weight: 500; color: var(--gd-text-tab); border-radius: var(--gd-radius-md); box-sizing: border-box; position: relative;z-index: 2;transition: color 0.25s ease; margin: 0; }
.tab-item a { display: block; padding: 14px 10px; text-decoration: none; color: inherit; cursor: pointer; white-space: nowrap; }
.tab-item:hover:not(.on) { color: var(--gd-color-teal); font-weight: 700; }
.tab-item.on { color: var(--gd-bg-white); }

.tab-item.on a { color: var(--gd-bg-white); font-weight: 700; }

/* 선택된 탭 위치에 따라 슬라이딩 배경 이동 좌표 설정 */
.tab-box:has(#tab_item_1.on)::before { transform: translateX(0); }
.tab-box:has(#tab_item_2.on)::before { transform: translateX(100%); }
.tab-box:has(#tab_item_3.on)::before { transform: translateX(200%); }
.tab-box:has(#tab_item_4.on)::before { transform: translateX(300%); }
.tab-box:has(#tab_item_5.on)::before { transform: translateX(400%); }


@media (max-width: 1024px) and (min-width: 769px) {
    .sidebar1 { top: 80px; padding: 10px 0 0 0; }
    .wrapper_tab { width: 100%; max-width: 100%; margin: 0 auto; box-sizing: border-box; }
    .tab-box { display: flex; list-style: none; padding: 1px;margin: 0; width: 100%; border: 0px solid var(--gd-border-color); background-color: var(--gd-bg-subtle); border-radius: var(--gd-radius-lg); box-sizing: border-box; box-shadow: var(--gd-shadow-sm); justify-content: space-between; position: relative; }
    .tab-box::before {top: 0;bottom: 0;left: 0;width: calc(100% / 5);}
    .tab-item { font-size: 15px; flex: 1; text-align: center; position: relative; z-index: 2; }
    .tab-item a { padding: 13px 6px; display: block; width: 100%; box-sizing: border-box; cursor: pointer; white-space: nowrap; }
}

@media screen and (max-width: 768px) {
    .sidebar1 { top: 69px; padding: 10px 0 0 0; }
    .tab-box { display: flex; width: 100%; padding: 3px;margin: 0; list-style: none; border-radius: 10px; box-sizing: border-box; background-color: var(--gd-bg-subtle); position: relative;box-shadow: var(--gd-shadow-sm);}
    .tab-box::before {top: 0;bottom: 0;left: 0;width: calc(100% / 5);}
    .tab-item { flex: 1; font-size: 14px; text-align: center; position: relative; z-index: 2; }
    .tab-item a { display: block; width: 100%; padding: 12px 2px; box-sizing: border-box; }
    .hide-m { display: none !important; }
}


/* 일정표*/
.infor_gubun { font-size: 22px; font-weight: 700; color: var(--gd-text-main); margin: 30px 0 16px 0; letter-spacing: -0.5px; display: flex; align-items: center; gap: 8px; }
.infor_gubun::before { content: ''; display: inline-block; width: 5px; height: 20px; background: var(--gd-color-primary); border-radius: 2px; }
.info-box { border: 1px solid var(--gd-border-color); border-radius: var(--gd-radius-lg); padding: 18px 20px; background-color: var(--gd-bg-white); box-shadow: var(--gd-shadow-sm); }
.meeting-title { display: flex; align-items: center; gap: 5px; font-size: 16px; font-weight: 700; color: var(--gd-color-teal); margin-bottom: 8px; }
.meeting-content { font-size: 15px; color: var(--gd-text-main); line-height: 1.7; word-break: keep-all; }

.alert-box { border-color: #FECDD3; background-color: var(--gd-bg-alert); }
.alert-title { font-size: 15px; font-weight: 700; color: var(--gd-text-danger); margin-bottom: 8px; }
.alert-desc { font-size: 13px; color: #9F1239; line-height: 1.7; }
.alert-desc li { margin-bottom: 4px; list-style-type: none; position: relative; padding-left: 16px; }
.alert-desc li::before { content: "※"; position: absolute; left: 0; color: var(--gd-text-danger); }

.p_gap10 { padding-top: 10px; }
.p_gap20 { padding-top: 20px; }

.dropdown2 { list-style: none; }
.schedule_in { border: 1px solid var(--gd-border-color); border-radius: var(--gd-radius-lg); background: var(--gd-bg-white); overflow: hidden; box-shadow: var(--gd-shadow-sm); transition: var(--gd-transition); }
.schedule_in:hover { border-color: var(--gd-border-dark); box-shadow: var(--gd-shadow-md); }
.schedule_grid { display: grid; grid-template-columns: 100px 180px 1fr 40px; align-items: center; padding: 18px 20px; }

.taa1 { display: inline-flex; align-items: center; justify-content: center; background: #EFF6FF; color: var(--gd-color-teal); font-size: 15px; font-weight: 700; padding: 5px 15px 6px 15px; border-radius: var(--gd-radius-pill); width: fit-content; }
.taa2 { text-align: left; color: var(--gd-text-main); font-size: 16px; font-weight: 700; }
.taa3 { text-align: right; display: flex; align-items: center; justify-content: flex-end; }
.area-text { color: var(--gd-text-light); }

.icon-arrow img { width: 24px; height: auto; display: block; transition: transform 0.3s ease-in-out; }
.icon-arrow.open img { transform: rotate(180deg); }
.icon-arrow.close img { transform: rotate(0deg); }
a.active .icon-arrow img,
a.open .icon-arrow img { transform: rotate(180deg); }


.dropdown2 .dropdown2-menu { max-height: 0; overflow: hidden; list-style: none; padding: 0; margin: 0; }
.dropdown2 .dropdown2-menu.show { margin-top: 10px; }
.dropdown2 .show { display: block; max-height: 9999px; animation: fadeInSlide 0.35s ease-out; }
.dropdown2 .hide { max-height: 0; display: none; }
.schedule_detail_box { border: 1px solid var(--gd-border-color); border-radius: var(--gd-radius-lg); background-color: var(--gd-bg-white); box-shadow: var(--gd-shadow-sm); overflow: hidden; }

@keyframes fadeInSlide {
  0% { opacity: 0; transform: translateY(-6px); }
  100% { opacity: 1; transform: translateY(0); }
}

.flight-wrap { padding: 24px 8% 20px 8%; width: 100%; box-sizing: border-box; background-color: var(--gd-bg-light); border-radius: var(--gd-radius-md); margin: 15px auto; max-width: calc(100% - 30px); border: 1px solid var(--gd-bg-subtle); }
.flight-container { display: flex; align-items: center; justify-content: space-between; width: 100%; }
.flight-side.departure { text-align: right; flex: 1; }
.flight-side.arrival { text-align: left; flex: 1; }
.flight-time { font-size: 22px; font-weight: 900; color: var(--gd-text-main); }
.flight-date { font-size: 13px; padding: 4px 0; font-weight: 500; color: var(--gd-text-light); }
.flight-date span { letter-spacing: -0.05em; }
.flight-city { font-size: 14px; font-weight: 700; color: var(--gd-text-main); }
.flight-center { flex: 1.5; display: flex; flex-direction: column; align-items: center; padding: 0 15px; }
.flight-info-text { font-weight: 700; font-size: 13px; color: var(--gd-color-blue-dark); margin-top: 6px; text-align: center; }
.flight-code { font-size: 13px; font-weight: 700; color: var(--gd-text-sub); padding-top: 3px; }
.flight-line-box { display: flex; align-items: center; width: 100%; margin-top: 8px; }
.flight-dot { width: 10px; height: 10px; flex-shrink: 0; }
.flight-line { flex-grow: 1; height: 1px; border-top: 1px dashed var(--gd-border-dark); }

.traffic-container { display: flex; align-items: flex-start; width: 100%; padding: 20px 25px; box-sizing: border-box; gap: 15px; }
.traffic-icon { flex-shrink: 0; width: 25px; min-height: 25px; background: url('/images/Goods/day_jum.png') no-repeat top center; font-size: 15px; line-height: 1.8; color: var(--gd-text-main); font-weight: normal;  text-align: center;}
.traffic-content { flex: 1; font-size: 15px; line-height: 1.8; color: var(--gd-text-main); word-break: break-all; }

.schedule-info-row { border-top: 1px dashed var(--gd-border-color); padding: 15px 24px; display: flex; align-items: center; gap: 10px; background-color: var(--gd-bg-light); }
.schedule-info-icon { display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.schedule-info-icon .material-icons { font-size: 20px; line-height: 18px;color: var(--gd-text-main);}
.schedule-info-content { flex: 1; font-size: 14px; font-weight: 500; color: var(--gd-text-light); word-break: break-all; }

@media (max-width: 768px) {
    .p_gap10 { padding-top: 5px; }
    .p_gap20 { padding-top: 15px; }
    .infor_gubun { font-size: 18px; }
    
    .schedule_grid { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; position: relative; padding: 14px 45px 14px 15px; }
    
    .taa1 { font-size: 14px; padding: 4px 15px 5px 15px; flex-shrink: 0; }
    .taa2:nth-child(2) { font-size: 15px; font-weight: 700; white-space: nowrap; flex-shrink: 0; }
    .taa2:nth-child(3) { width: 100%; font-size: 14px; word-break: break-all; margin: 2px 2px 0px 7px; }
    .taa3 { position: absolute; right: 15px; top: 50%; transform: translateY(-50%); }
    
    .dropdown2 .dropdown2-menu.show { margin-top: 13px; }
    
    .flight-wrap { padding: 15px 10px; margin: 10px auto; border-radius: var(--gd-radius-sm); max-width: calc(100% - 20px); }
    .flight-time { font-size: 18px; }
    .flight-date { font-size: 11px; display: flex !important; flex-direction: column !important; row-gap: 1px !important; padding: 4px 0 !important; }
    .flight-date span { margin-right: 0 !important; }
    .flight-city { font-size: 12px; }
    .flight-center { padding: 0 8px; }
    .flight-info-text, .flight-code { font-size: 11px; }
    
    .traffic-container { padding: 15px; gap: 5px; }
    .traffic-icon { font-size: 14px; line-height: 1.8; color: var(--gd-text-main); font-weight: normal; width: 20px; min-height: 20px; }
    .traffic-content { font-size: 14px; line-height: 1.8; }
    
    .schedule-info-row { padding: 12px 16px; gap: 8px; }
    .schedule-info-icon { width: 16px; height: 16px; display: flex; align-items: center; justify-content: center; opacity: 0.85; }
    .schedule-info-content { font-size: 13px; }
    .schedule-info-icon,
    .schedule-info-icon img { height: 16px; }
}


/* 취소/환불/체크사항 */
.goods-tab-card { border: 1px solid var(--gd-border-color); border-radius: var(--gd-radius-lg); padding: 20px; background-color: var(--gd-bg-white); box-shadow: var(--gd-shadow-sm); word-break: keep-all; overflow-wrap: break-word; }
.tab_txt { font-size: 15px; line-height: 1.8em; }
.tab_no { text-align: center; color: var(--gd-text-muted); padding: 240px 0; font-size: 17px; font-weight: 400; }
.day_gubun { font-size: 16px; font-weight: 500; padding: 5px 15px 6px 15px; color: var(--gd-bg-white); background-color: #2a7686; border: 1px solid #2a7686; border-radius: var(--gd-radius-sm); display: inline-block; max-width: 100%; box-sizing: border-box; word-break: keep-all; margin-bottom: 15px; }

@media screen and (max-width: 768px) {
    .goods-tab-card { padding: 16px; border-radius: var(--gd-radius-lg); }
    .tab_txt { font-size: 14px; }
    .tab_no { padding: 80px 0; }
    .day_gubun { font-size: 16px; padding: 4px 10px 5px 10px; border-radius: var(--gd-radius-sm); margin-bottom: 12px; }
}

/* 여행정보*/
.badge-img-container { display: flex; flex-wrap: wrap; gap: 10px; width: 100%; }
.badge-img-item { flex: 1 1 calc(33.333% - 10px); min-width: 274px; box-sizing: border-box; }
.badge-img-item img { width: 100%; height: auto; display: block; border-radius: var(--gd-radius-md); }


.title-flex-container { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; width: 100%; }
.title-text-group { display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px; }
.title-text-group .day_infor { font-size: 18px; font-weight: 500; }
.title-text-group .day_eng { font-size: 14px; color: var(--gd-text-muted); }
.title-text-group .day_star { display: inline-block; font-size: 14px; color: #FFA200; font-weight: 500; vertical-align: middle; white-space: nowrap; }
.title-icon-group { display: flex; align-items: center; }
.title-icon-group a { display: inline-block; padding: 4px; cursor: pointer; }

.day_infor_add { font-size: 15px; line-height: 1.8em; padding: 0px 0px 10px 5px; font-weight: 700; }
.day_infor_txt { font-size: 15px; line-height: 1.8em; }

@media screen and (max-width: 768px) {
    .badge-img-item { flex: 1 1 100%; }
    .title-text-group .day_infor { font-size: 16px; font-weight: 500; }
    .title-text-group .day_eng { display: none; }
}

/* 오른쪽 테두리*/
.goods-right-card { border: 1px solid var(--gd-border-dark); border-radius: var(--gd-radius-lg); background-color: var(--gd-bg-white); box-shadow: var(--gd-shadow-md); word-break: keep-all; overflow-wrap: break-word; }
.right-info-wrapper { width: 100%; padding: 0px 20px; box-sizing: border-box; }
.btn-all-days { display: block; width: 100%; margin-top: 10px; text-decoration: none; cursor: pointer; }
.ss_pop { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 10px 14px; background-color: var(--gd-color-teal); color: var(--gd-bg-white); border-radius: var(--gd-radius-sm); font-size: 14px; font-weight: 500; text-align: center; transition: background-color 0.2s ease; }
.ss_pop:hover { background-color: var(--gd-color-teal-hover); }

.right-info-list { display: flex; flex-direction: column; gap: 10px; margin: 20px 0 30px 0; padding: 13px 15px; background-color: var(--gd-bg-button); border: 1px solid var(--gd-border-light); border-radius: var(--gd-radius-sm); }
.right-info-item { display: flex; align-items: center; gap: 5px; font-size: 15px; color: var(--gd-text-main); }
.right-info-item .icon-box { width: 20px; height: 20px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.right-info-item .icon-box img { max-width: 100%; max-height: 100%; object-fit: contain; }
.right-info-item .time { font-weight: 700; color: #0066CC; padding: 0 0 0 10px; }


/***** 인쇄/메일 **************************************************************************/
.util_box_container { width: 100%; background-color: var(--gd-bg-light); border-top: 1px solid var(--gd-border-color); border-radius: 0 0 16px 16px; padding: 15px 20px; box-sizing: border-box; }
.util_box_bottom { display: flex; align-items: center; justify-content: center; gap: 12px; position: relative; }
.util_box_container a { text-decoration: none; display: inline-block; }
.util_box_container .day_sns { width: 42px; height: 42px; background-color: var(--gd-bg-white); border: 1px solid var(--gd-border-color); border-radius: var(--gd-radius-sm); display: flex; align-items: center; justify-content: center; color: var(--gd-text-sub); font-size: 18px; transition: var(--gd-transition); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); }
.util_box_container .day_sns:hover { background-color: #1E293B; color: var(--gd-bg-white); border-color: #1E293B; transform: translateY(-2px); }

.share_layer.link { position: absolute; bottom: 54px; left: 50%; transform: translateX(-50%); z-index: 100; background: var(--gd-bg-white); border: 1px solid var(--gd-border-dark); border-radius: 10px; padding: 14px; box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1); width: 260px; box-sizing: border-box; }
.share_layer.link::after { content: ''; position: absolute; bottom: -6px; left: 50%; transform: translateX(-50%) rotate(45deg); width: 10px; height: 10px; background: var(--gd-bg-white); border-right: 1px solid var(--gd-border-dark); border-bottom: 1px solid var(--gd-border-dark); }
.share_layer .conts p { margin: 0; }
.share_layer .btn_close_box { display: flex; justify-content: flex-end; margin-top: 0px; }
.share_layer .btn_close_box a { display: inline-flex; align-items: center; gap: 3px; padding: 2px 7px 3px 7px; font-size: 11px; font-weight: 500; color: var(--gd-text-sub); background-color: var(--gd-bg-subtle); border: 1px solid var(--gd-border-dark); border-radius: 4px; text-decoration: none !important; transition: all 0.15s ease-in-out; }
.share_layer .btn_close_box a:hover { background-color: var(--gd-border-color); color: #0F172A; border-color: var(--gd-text-placeholder); }

@media (max-width: 768px) {
    .util_box_container { display: none !important; }
    .util_box_bottom { display: none !important; }
}

.goods-mobile-card,
.goods-tablet-card { display: none; }

@media (max-width: 1024px) and (min-width: 769px) {
    .goods-tablet-card { display: block; border: 1px solid var(--gd-border-color); border-radius: var(--gd-radius-lg); background-color: var(--gd-bg-white); box-shadow: var(--gd-shadow-sm); word-break: keep-all; overflow-wrap: break-word; }
}

@media (max-width: 768px) {
    .goods-mobile-card { display: block; border: 1px solid var(--gd-border-color); border-radius: var(--gd-radius-lg); background-color: var(--gd-bg-white); box-shadow: var(--gd-shadow-sm); word-break: keep-all; overflow-wrap: break-word; }
}

/* 검색 리스트 */
.title_area { display: flex; flex-direction: column; align-items: center; margin: 70px 0 30px 0; }
.title_area1 { display: flex; flex-direction: column; align-items: center; margin: 70px 0 0px 0; }

@media (max-width: 768px) {
    .title_area { margin: 20px 0 30px; }
    .title_area1 { margin: 20px 0 20px; }
}

.search-header-container { max-width: 1200px; margin: 0 auto 20px auto; width: 100%; display: flex; justify-content: flex-end; align-items: center; box-sizing: border-box; }
.navigation-path { font-size: 13px; color: var(--gd-text-placeholder); display: flex; align-items: center; white-space: nowrap; }
.navigation-path a { color: var(--gd-text-placeholder); text-decoration: none; }
.navigation-path .sep { margin: 0 4px; color: var(--gd-border-dark); }
.navigation-path .count-badge { color: #FF0000; font-weight: 600; margin-left: 2px; }

@media (max-width: 768px) {
    .search-header-container { padding-left: 15px !important; padding-right: 15px !important; justify-content: flex-end; margin-bottom: 16px; }
    .navigation-path { font-size: 12px; }
}


/***** 약관 **************************************************************************/
.terms-agreement-section { max-width: 1200px; margin: 0px auto; box-sizing: border-box; }

.terms-card { padding: 30px; background: var(--gd-bg-white); border: 1px solid var(--gd-border-color); border-radius: var(--gd-radius-lg); margin-bottom: 15px; overflow: hidden; box-shadow: var(--gd-shadow-sm); }
.terms-group { margin-bottom: 30px; }
.terms-group:last-child { margin-bottom: 0; }
.terms-jamok { font-size: 16px; font-weight: 700; color: var(--gd-text-main); margin: 0 0 12px 0; display: flex; align-items: center; }
.terms-text { font-size: 15px; color: var(--gd-text-main); line-height: 1.8; margin: 0 0 10px 0; text-align: justify; }
.terms-text:last-child { margin-bottom: 0; }
.terms-flex-row { display: flex; align-items: flex-start; margin-bottom: 12px; }
.terms-flex-row:last-child { margin-bottom: 0; }
.terms-bullet { width: 20px; font-weight: 700; color: var(--gd-color-teal); font-size: 15px; line-height: 1.8; flex-shrink: 0; }
.terms-body { flex: 1; min-width: 0; }

.terms-sub-box { margin-top: 10px; padding: 15px; background-color: var(--gd-bg-light); border-radius: var(--gd-radius-md); }
.terms-sub-item { font-size: 14px; color: var(--gd-text-main); line-height: 1.7; margin-bottom: 6px; }
.terms-sub-item:last-child { margin-bottom: 0; }

.terms-beauty-card { background-color: #FAFAFA; padding: 16px 20px; border-radius: var(--gd-radius-md); margin-bottom: 16px; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03); }
.terms-beauty-title { font-size: 15px; font-weight: 700; color: var(--gd-color-teal); margin-bottom: 10px; }
.terms-beauty-grid { font-size: 14px; line-height: 1.8; color: var(--gd-text-main); }
.terms-beauty-label { color: var(--gd-text-sub); font-weight: 500; display: inline-block; width: 110px; }
.terms-highlight { color: #d11515; font-weight: 500; }
.terms-badge { font-size: 12px; font-weight: normal; background: #EEE; color: var(--gd-text-main); padding: 2px 8px; border-radius: var(--gd-radius-md); margin-left: 6px; display: inline-block; vertical-align: middle; }


@media (max-width: 1024px) {
    .terms-card { padding: 20px 20px; }
    .terms-agreement-section { padding: 0 0px; }
    .terms-group { margin-bottom: 25px; }
    .terms-jamok { font-size: 15px; }
    .terms-text, .terms-bullet { font-size: 14px; line-height: 1.65; }
    .terms-sub-box { padding: 10px 12px; }
    .terms-sub-item { font-size: 13px; }
}

@media (min-width: 769px) and (max-width: 1024px) {
    .terms-card { padding: 30px; }
    .terms-agreement-section { padding: 0 15px; }
    .terms-group { margin-bottom: 35px; }
    .terms-jamok { font-size: 17px; font-weight: 700; }
    .terms-text, 
    .terms-bullet { font-size: 15px; line-height: 1.7; }
    .terms-sub-box { padding: 15px 18px; }
    .terms-sub-item { font-size: 14px; line-height: 1.65; }
}

@media (max-width: 768px) {
    .terms-card { padding: 20px; }
    .terms-agreement-section { padding: 0; }
    .terms-group { margin-bottom: 25px; }
    .terms-jamok { font-size: 15px; font-weight: 700; }
    .terms-text, 
    .terms-bullet { font-size: 14px; line-height: 1.65; }
    .terms-sub-box { padding: 10px 12px; }
    .terms-sub-item { font-size: 13px; line-height: 1.6; }
}


/***** 회사소개 **************************************************************************/
.bg-container { max-width: 1200px; width: 100%; margin: 0px auto; background-color: var(--gd-bg-white); border: 1px solid var(--gd-border-color); border-radius: var(--gd-radius-lg); box-shadow: var(--gd-shadow-sm); padding: 50px 50px; background-image: url('/images/company/bg_about.jpg'); background-size: cover; background-position: center; background-repeat: no-repeat; min-height: auto; }
.bg-history-container { max-width: 1200px; width: 100%; margin: 0px auto; background-color: var(--gd-bg-white); border: 1px solid var(--gd-border-color); border-radius: var(--gd-radius-lg); box-shadow: var(--gd-shadow-sm); padding: 50px 50px; background-image: url('/images/company/bg_history.jpg'); background-size: cover; background-position: center; background-repeat: no-repeat; min-height: auto; }
.bg-ceo-container { max-width: 1200px; width: 100%; margin: 0px auto; background-color: var(--gd-bg-white); border: 1px solid var(--gd-border-color); border-radius: var(--gd-radius-lg); box-shadow: var(--gd-shadow-sm); padding: 50px 50px; background-image: url('/images/company/bg_greetings.jpg'); background-size: cover; background-position: center; background-repeat: no-repeat; min-height: auto; }

.about-content-inner { position: relative; z-index: 1; width: 100%; text-align: center; margin-bottom: 10px; }
.header-cross img { display: inline-block; max-width: 100%; height: auto; }
.header-cross img[src*="about_cross"] { max-width: 503px; width: 100%; }
.header-cross img[src*="about_line"] { max-width: 503px; width: 100%; }

.about-main-title { text-align: center; margin-bottom: 10px; font-family: 'Montserrat', sans-serif; font-size: 36px; font-weight: 700; color: var(--gd-color-navy); display: block; text-transform: uppercase; }
.about-main-sujet { text-align: center; margin-bottom: 70px; font-family: 'Noto Serif KR', serif; font-size: 23px; font-weight: 700; color: var(--gd-color-gold); letter-spacing: -0.5px; margin-top: 14px; display: block; word-break: keep-all; line-height: 1.4; }
 
.about-text-body { width: 100%; margin: 0 auto 55px; font-size: 17px; line-height: 1.9; color: var(--gd-text-main); text-align: left; word-break: keep-all; }
.about-text-body p { margin-bottom: 26px; }
.about-text-body p:last-child { margin-bottom: 0; }

.strengths-wrapper { position: relative; border: 1.5px solid var(--gd-border-gold); border-radius: 16px; padding: 42px 20px 30px; background-color: rgba(255, 255, 255, 0.85); margin-top: 20px; box-shadow: 0 4px 15px rgba(181, 136, 50, 0.05); }
.strengths-badge { position: absolute; top: -21px; left: 50%; transform: translateX(-50%); background: var(--gd-color-navy-dark); color: #dcb36c; font-size: 18px; font-weight: 700; padding: 8px 42px; border-radius: 30px; border: 2px solid var(--gd-color-gold); letter-spacing: 1.5px; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15); }
.strengths-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; text-align: center; }
.strength-item { display: flex; flex-direction: column; align-items: center; position: relative; padding: 10px 5px; }
.strength-item:not(:last-child)::after { content: ''; position: absolute; right: -8px; top: 15%; height: 70%; width: 1px; background-color: #ebd9b8; }

.icon-circle { width: 76px; height: 76px; background-color: var(--gd-color-navy-dark); border: 2px solid var(--gd-color-gold-dark); border-radius: 50%; display: flex; justify-content: center; align-items: center; margin-bottom: 16px; }
.icon-circle img { width: 44px; height: 44px; fill: none; stroke: #F3E5C8; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.strength-label { font-family: 'Noto Serif KR', serif; font-size: 17px; font-weight: 700; color: var(--gd-color-navy); line-height: 1.5; word-break: keep-all; }

@media screen and (max-width: 1024px) {
    .bg-container { width: calc(100% - 40px); margin: 0 auto; padding: 40px 30px; min-height: auto; }
    .bg-ceo-container { width: calc(100% - 40px); margin: 0 auto; padding: 40px 30px; min-height: auto; }
    .about-content-inner { padding: 0 15px; box-sizing: border-box; }
    .about-main-title { font-size: 32px; letter-spacing: 3px; }
    .about-main-sujet { font-size: 20px; margin-top: 12px; margin-bottom: 60px; }

    .header-cross img[src*="about_cross"] { max-width: 400px; }
    .header-cross img[src*="about_line"] { max-width: 400px; }

    .about-text-body { font-size: 16px; }
}

@media screen and (max-width: 768px) {
    .bg-container { width: calc(100% - 24px); margin: 0 auto; padding: 30px 20px 40px 20px; min-height: auto;background-image: url('/images/company/bg_about_mobile.jpg');}
    .bg-history-container { width: calc(100% - 24px); margin: 0 auto; padding: 30px 20px 40px 0px; min-height: auto;background-image: url('/images/company/bg_history_mobile.jpg');}
    .bg-ceo-container { width: calc(100% - 24px); margin: 0 auto; padding: 30px 20px 40px 20px; min-height: auto;background-image: url('/images/company/bg_greetings_mobile.jpg'); }
    .header-cross { margin-bottom: 8px; }
    .about-main-title { font-size: 24px; letter-spacing: 2px; margin-bottom: 8px; }
    .about-main-sujet { font-size: 18px; margin-top: 10px; margin-bottom: 40px; padding: 0 10px; }

    .header-cross img[src*="about_cross"] { width: 80%; }
    .header-cross img[src*="about_line"] { width: 80%; }
    
    .about-text-body { font-size: 16px; }
    
    .strength-label { font-size: 16px; }
    .strengths-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 30px 15px; text-align: center; }
    .strengths-grid > *:nth-child(1),
    .strengths-grid > *:nth-child(2) { border-bottom: 1px solid var(--gd-border-gold); padding-bottom: 15px; margin-bottom: -15px; }
    .strength-item:nth-child(even)::after { display: none; }
    .strength-item:nth-child(odd)::after { right: -8px; height: 60%; top: 10%; }
}

@media screen and (max-width: 480px) {
    .bg-container { padding: 25px 5px 30px 5px; }
    .bg-ceo-container { padding: 25px 5px 30px 5px; }
    .about-main-sujet { font-size: 17px; }
    .about-text-body { font-size: 15px; }
    .strength-label { font-size: 15px; }
}

/** 인사말 **/
.highlight { color: #c68e17; font-weight: 500; font-size: 19px; }

.quote-block { text-align: center; margin-bottom: 80px; position: relative; margin-top: 14px; }
.quote-text { display: inline-block; font-size: 24px; color: var(--gd-color-gold); font-weight: 700; line-height: 1.4; font-family: 'Noto Serif KR', serif; position: relative; }
.quote-text::before { content: '“'; font-size: 40px; color: var(--gd-color-gold); position: absolute; top: -5px; left: calc(50% - 230px); }
.quote-text::after { content: '”'; font-size: 40px; color: var(--gd-color-gold); position: absolute; top: 30px; right: calc(50% - 230px); }

.signature-block { margin-bottom: 60px; z-index: 1; position: relative; text-align: left; }
.thank-you { font-size: 22px; color: #003366; font-weight: 700; margin-bottom: 10px; }
.ceo-name { font-size: 18px; color: var(--gd-text-main); font-weight: 700; }
.ceo-name span { font-weight: 400; font-size: 16px; }

@media screen and (max-width: 1024px) {
    .highlight { font-size: 18px; }
    .quote-block { margin-bottom: 60px; }
    .quote-text { font-size: 22px; }
    .quote-text::before { font-size: 36px; top: -5px; left: -35px; }
    .quote-text::after { font-size: 36px; top: 25px; right: -35px; }
    .signature-block { margin-bottom: 45px; }
    .thank-you { font-size: 20px; }
    .ceo-name { font-size: 17px; }
    .ceo-name span { font-size: 15px; }
}

@media screen and (max-width: 768px) {
    .highlight { font-size: 17px; }
    .quote-block { margin-bottom: 40px; }
    .quote-text { font-size: 18px; line-height: 1.5; padding: 0 25px; }
    .quote-text::before { font-size: 30px; top: -10px; left: 0px; }
    .quote-text::after { font-size: 30px; top: auto; bottom: -15px; right: 0px; }
    .signature-block { margin-bottom: 30px; }
    .thank-you { font-size: 18px; }
    .ceo-name { font-size: 15px; }
    .ceo-name span { font-size: 14px; display: block; margin-top: 2px; }
}

@media screen and (max-width: 480px) {
    .bg-greeting { padding: 25px 5px 30px 5px; }
    .quote-text { font-size: 17px; padding: 0 20px; }
    .highlight { font-size: 18px; }
}

/** 협력기관 **/
.partner-wrapper  { max-width: 1200px; width: 100%; margin: 0px auto; background-color: var(--gd-bg-white); border: 1px solid var(--gd-border-color); border-radius: var(--gd-radius-lg); box-shadow: var(--gd-shadow-sm); padding: 50px 50px; }
.partner-grid {display: grid;grid-template-columns: repeat(3, 1fr);gap: 25px;margin-bottom: 50px;}
.partner-card {display: flex;align-items: center;background-color: var(--gd-bg-white);border: 1.5px solid #E2D2B5;border-radius: 16px;padding: 20px;transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;}
.partner-card:hover {transform: translateY(-3px);border-color: #C5A059;box-shadow: 0 6px 15px rgba(197, 160, 89, 0.15);}

.partner-logo-box {width: 100px;height: 100px;min-width: 100px;display: flex;align-items: center;justify-content: center;margin-right: 25px;overflow: hidden;}
.partner-logo-box img {width: 100%;height: 100%;object-fit: contain;}
.partner-name {font-size: 18px;font-weight: 500;color: var(--gd-text-main);line-height: 1.4;text-align: left;}

.partner-broadcast-section {text-align: center;border-top: 1px solid #F0E6D2;padding-top: 35px;margin-bottom: 40px;}
.partner-section-title {font-size: 32px;font-weight: 700;color: var(--gd-color-gold);margin-bottom: 25px;letter-spacing: 1px;}
.partner-footer {text-align: center;font-size: 20px;font-weight: 500;color: var(--gd-color-gold);border-top: 1.5px solid #F0E6D2;padding-top: 30px;}

.responsive-img-box {text-align: center;margin-top: 30px;}
.responsive-img-box img {max-width: 100%;height: auto;width: 191px;}

@media (max-width: 1024px) {
    .partner-wrapper {width: calc(100% - 30px);padding: 20px; }
    .partner-grid {grid-template-columns: repeat(3, 1fr);gap: 15px;}
    .partner-logo-box {width: 80px;height: 80px;margin-right: 10px;}
    .partner-name {font-size: 17px}
    .responsive-img-box { margin-top: 30px; }
    .responsive-img-box img {width: 160px;}
}

@media (max-width: 820px) {
    .partner-wrapper {width: calc(100% - 30px);padding: 20px; }
    .partner-grid {grid-template-columns: repeat(2, 1fr);gap: 18px;}
    .partner-logo-box {width: 80px;height: 80px;}
    .partner-name {font-size: 17px}
    .responsive-img-box { margin-top: 30px; }
    .responsive-img-box img {width: 160px;}
}

@media (max-width: 600px) {
    .partner-wrapper {width: calc(100% - 30px);padding: 20px 0px; }
    .partner-grid {grid-template-columns: 1fr;margin-bottom: 30px;}
    .partner-broadcast-section {padding-top: 25px;margin-bottom: 25px;}
    .partner-section-title {font-size: 24px;margin-bottom: 20px}
    .partner-footer {font-size: 16px;padding-top: 20px;}
    .responsive-img-box { margin-top: 20px; }
    .responsive-img-box img {width: 140px;}

}



/** 연혁 **/
.timeline-container { position: relative; padding: 0px 0px 0px 0px; }
.timeline-container::before { content: ''; position: absolute; left: 180px; top: 0; bottom: 0; width: 2px; background: #EADECC; }
.timeline-item { display: flex; position: relative; margin-bottom: 22px; align-items: flex-start; }
.timeline-item:last-child { margin-bottom: 0; }
.timeline-year { width: 150px; font-size: 20px; font-weight: 700; color: var(--gd-color-gold); text-align: right; padding-right: 30px; box-sizing: border-box; line-height: 1.4; }
.timeline-badge { position: absolute; left: 176px; top: 9px; width: 10px; height: 10px; border-radius: 50%; background: #A98436; border: 2px solid var(--gd-bg-white); box-shadow: 0 0 0 3px #EADECC; z-index: 2; }
.timeline-item:first-child .timeline-badge { background: #A98436; box-shadow: 0 0 0 4px #eadecc; }
.timeline-content { flex: 1; padding-left: 60px; box-sizing: border-box; }
.timeline-text { font-size: 17px; color: var(--gd-text-main); line-height: 1.65; word-break: keep-all; margin: 0; padding: 0; text-align: left; }

@media (max-width: 1024px) {
  .timeline-container::before { left: 120px; }
  .timeline-year { width: 100px; font-size: 18px; padding-right: 20px; }
  .timeline-badge { left: 116px; }
  .timeline-content { padding-left: 40px; }
  .timeline-text { font-size: 16px; }
}

@media (max-width: 768px) {
  .timeline-container::before { left: 10px; }
  .timeline-item { flex-direction: column; padding-left: 30px; margin-bottom: 30px; }
  .timeline-year { width: 100%; text-align: left; padding-right: 0; margin-bottom: 6px; font-size: 18px; }
  .timeline-badge { left: 6px; top: 8px; }
  .timeline-content { padding-left: 0; width: 100%; }
  .timeline-text { font-size: 15px; line-height: 1.6; }
}


.map-container { max-width: 1200px; width: 100%; margin: 0 auto; padding:20px; background-color: var(--gd-bg-white); border: 1px solid var(--gd-border-color); border-radius: var(--gd-radius-lg); box-shadow: var(--gd-shadow-sm); overflow: hidden; }
.map-wrapper { width: 100%; }
.map-wrapper .root_daum_roughmap { width: 100% !important; }

@media (max-width: 1024px) {
  .map-container { width: calc(100% - 30px); margin-left: 15px; margin-right: 15px;padding:15px;}
}

@media (max-width: 768px) {
  .map-container {padding:10px;}
  .map-wrapper .root_daum_roughmap .wrap_map { height: 400px !important;}
}