@import url('./font.css');
@import url('./common.css');
@import url('./reset.css');

.headerWrap {position: fixed;top:0;left:50%;background: #fff;width: 100%;transform: translateY(0);will-change: transform;z-index: 8;max-width: 475px;transform: translateX(-50%);box-sizing: border-box;}
.headerWrap .headerInner {padding: 16px;height: 52px;align-items: center;justify-content: center;box-sizing: border-box;position: relative;text-align: center;display: flex;max-width: 473px;margin: 0 auto;}
.headerWrap .arrow {width: 20px;height: 20px;display: flex;}
.headerWrap .arrow img {width: 20px;height: 20px;}
.headerWrap h1 {font-size:1.8rem;font-weight: 700;display: block;text-align: center;color: #383838;}
.headerWrap .center {text-align: center;}
.headerWrap .header-btn {display: flex;gap: 16px;position: absolute;right:16px;height: 2.5rem;  top: 14px;}
.headerWrap .header-btn li {width: 24px;height: 24px;}
.headerWrap .header-btn li a {display: inline-block;position: relative;}
.headerWrap .header-btn li a img {width: 2.4rem;}
.headerWrap .header-btn .alarm.active::before {content: '';width: 6px;height: 6px;display: inline-block;background: #FF7425;border-radius: 50%;position: absolute;top:0;right:0;border:2px solid #fff}
.headerWrap .header-btn .basket .num {text-align:center;box-sizing: border-box;width:15px;height: 15px;color:#fff;font-size: 10px;display: inline-block;background: #FF7425;border-radius: 50%;position: absolute;top: -2px;right: -4px;border:1px solid #fff}
.headerWrap .left {position: absolute;left:16px;top:16px;}
.headerWrap .btnPrev {text-indent: -999999px;background: url(../dm_images/ico_prev.png) no-repeat center;background-size: 8px 16px;width: 24px;height: 24px;}
.headerWrap .arrowLink {background: url(../dm_images/arrow.png) no-repeat right center ;background-size: 16px;padding-right: 20px;display: block;}

.headerWrap .menubars { display: none; max-height: 0; overflow: hidden; background: #fff; border-top: 1px solid #f5f5f5; transition: max-height 0.3s ease;max-width: 475px;margin: 0 auto;box-shadow: 0 0.5rem .5rem rgba(0, 0, 0, 0.2);}
.headerWrap .menubars.show { display: block; max-height: 50rem; }
.headerWrap .menubars li:last-child { border-bottom: none; }
.headerWrap .menubars li a { display: block; padding: 10px 20px; font-size: 18px; color: #666; transition: all 0.2s ease; text-align: center;}
.headerWrap .menubars li a:hover { background: #f9f9f9; }
.headerWrap .menubars li a.active { color: #6FB53D  ; font-weight: 600; }

.dm-wrap .product-search-result {float: none !important;text-align: center;}
.dm-wrap .product-search-result .text {float: none !important;font-size:16px !important;color:#777 !important;}
.dm-wrap .product-search-result .count {float: none !important;font-size:18px !important;}

.menuDim {  display: none;  position: fixed;  inset: 0;  background: rgba(0, 0, 0, 0.5);  z-index: 1;}
.menuDim.show {  display: block;}

.ico-tip {display: flex;align-items: center;}

.headerWrapFixed {
    position: fixed;
    top: 0;
    left: 0;
    background: #fff;
    width: 100%;
    transform: translateY(0);
    transition: transform 0.3s ease;
    will-change: transform;
    z-index: 3;
}
.headerWrapFixed .headerInner {padding: 16px;height: 52px;align-items: center;justify-content: center;box-sizing: border-box;position: relative;text-align: center;display: flex;max-width: 475px;margin: 0 auto;}
.headerWrapFixed .arrow {width: 20px;height: 20px;display: inline-block;}
.headerWrapFixed .arrow img {width: 20px;height: 20px;}
.headerWrapFixed h1 {font-size: 21px;font-weight: 700;display: block;text-align: center;}
.headerWrapFixed .center {text-align: center;}
.headerWrapFixed .header-btn {display: flex;gap: 16px;position: absolute;right:16px;top:16px;}
.headerWrapFixed .header-btn li {width: 24px;height: 24px;}
.headerWrapFixed .header-btn li a {display: inline-block;position: relative;}
.headerWrapFixed .header-btn li a img {width: 24px;}
.headerWrapFixed .header-btn .alarm.active::before {content: '';width: 6px;height: 6px;display: inline-block;background: #FF7425;border-radius: 50%;position: absolute;top:0;right:0;border:2px solid #fff}
.headerWrapFixed .header-btn .basket .num {text-align:center;box-sizing: border-box;width:15px;height: 15px;color:#fff;font-size: 10px;display: inline-block;background: #FF7425;border-radius: 50%;position: absolute;top: -2px;right: -4px;border:1px solid #fff}
.headerWrapFixed .left {position: absolute;left:16px;top:16px;}
.headerWrapFixed .btnPrev {text-indent: -999999px;background: url(../dm_images/ico_prev.png) no-repeat center;background-size: 8px 16px;width: 24px;height: 24px;}

.headerWrapFixed .headerInner .right {position:absolute;right:16px;top:16px}
.headerWrap.hide {transform: translateX(-50%) translateY(-140%);transition: transform 0.2s ease;}

.headerSticky2 {position: sticky;transition: transform 0.2s ease;}
.headerSticky2.active {position: sticky;    top: 5.1rem;    left: auto;    background: #fff;    width: 100%;    transform: translateY(0);    will-change: transform;    z-index: 5;    max-width: 475px;     box-sizing: border-box;}

.dim-overlay {position: fixed;    top: 0;    left: 0;    width: 100%;    height: 100%;    background: rgba(0, 0, 0, 0.6);    opacity: 0;    visibility: hidden;    z-index: 7;}
.dim-overlay.active {opacity: 1;    visibility: visible;}
.floatingMenu {position: fixed;    bottom: 0;    left: 50%;    transform: translateX(-50%);    display: flex;    gap: 22PX;    z-index: 4;    opacity: 0;    visibility: hidden; }
.floatingMenu .menu-item {text-align: center;color:#fff;font-size: 14px;font-weight:500;    cursor: pointer;}
.floatingMenu .menu-icon img {width: 56px;margin: 0 auto;}
.floatingMenu.active {opacity: 1;    visibility: visible;    bottom: 80px;}
.floatingMenu .menu-item.mt {margin-top: 28px;}
.floatingMenu .menu-label {margin-top:6px;width: 70px;text-align: center;color:#fff;font-size: 14px;font-weight:500;}

.bt-navi-common {height: 60px;position: fixed;width: 100%;bottom: 0;border-top: 1px solid #ddd;background: #fff;z-index: 11;transition:none; transform: translateY(0);min-width: 360px;left: 50%;    transform: translateX(-50%);    max-width: 475px;}
.bt-navi-common .navi {margin: auto;    width: 100%;    max-width: 474px;}
.bt-navi-common .navi .list {display: flex;justify-content: space-around;align-items: center;text-align: center;padding: 0 16px;position: relative;height: 62px;}
.bt-navi-common .navi .list > li {width: 58px;}
.bt-navi-common .navi .list > li p {font-size: 12px;color:#777;line-height: 1.4;font-weight: 500;margin-top: 2px;}
.bt-navi-common .navi .list .ico-n1 img {width: 24px;margin: 0 auto;}
.bt-navi-common .navi .list .bottomNaviBtn .character{ opacity: 1; }
.bt-navi-common .navi .list .bottomNaviBtn.active .character{opacity: 0}
.bt-navi-common .navi .list .bottomNaviBtn .naviClose {opacity: 0;}
.bt-navi-common .navi .list .bottomNaviBtn.active .naviClose {opacity: 1}
.bt-navi-common .navi .list .bottomNaviBtn {display: block; border-radius: 500px; width: 60px; height: 60px; background: url(../dm_images/bottom_ico_bg.png) no-repeat center; background-size: 60px auto; position: absolute; left: 50%; transform: translateX(-50%); top: -7px;}
.bt-navi-common .navi .list .bottomNaviBtn .character { opacity: 1; position: relative; width: 100%; height: 100%;}
.bt-navi-common .eye-container { position: absolute; top: 45%; left: 50%; transform: translate(-50%, -50%); width: 100%; height: 100%;}
.bt-navi-common .eye { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 42px; height: 100%; object-fit: contain; opacity: 0; transition: opacity 0.3s ease;}
.bt-navi-common .eye.active { opacity: 1;}
.bt-navi-common .naviClose {position: absolute; left: 50%; transform: translateX(-50%);top: 20px;}
.bt-navi-common .naviClose img {width: 16px;}
.bt-navi-common.hide {transform: translate(-50%, 120%);}

/* ========================================= Top Sheet Styles ========================================= */

.top-sheet-wrap { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 2000; visibility: hidden; transition: visibility 0s 0.3s; margin-left: 0; }
.top-sheet-wrap.active { visibility: visible; transition: visibility 0s 0s; }
.top-sheet-wrap.active .dimmed { opacity: 1; }
.top-sheet-wrap.active .top-sheet-container {  transform: translate(-50%, 0);   box-sizing: border-box;}
.top-sheet-wrap .dimmed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); opacity: 0; transition: opacity 0.3s ease; }

.top-sheet-wrap .sheet-handle {
    width: 46px;
    height: 4px;
    background-color: var(--gray-color-200);
    border-radius: 100px;
    margin: 20px auto 0px;
}

.top-sheet-wrap .top-sheet-container {
  position: absolute;
  top: 0;
  left: 50%; 
  width: 100%;
  background-color: #f5f6f8;
  border-bottom-left-radius: 1.6rem;
  border-bottom-right-radius: 1.6rem;
  transform: translate(-50%, -100%);
  transition: transform 0.3s ease-out;
  padding: 0 2rem 0.8rem;
  max-height: 54.8rem;
  overflow-y: auto;
  max-width: 475px;
}

#challengeIntro {padding-bottom:10rem}
.top-sheet-wrap .sheet-header { display: flex; justify-content: space-between; align-items: flex-start; padding: 2rem 0 1.6rem; }
.top-sheet-wrap .sheet-header h2 { font-size: 2.3rem; font-weight: 700; line-height: 1.2; color: var(--gray-color-900); margin: 0;  }
.top-sheet-wrap .sheet-header .btn-close-top { width: 2rem; height: 2rem; background: url(../dm_images/ico_btn_close_top.png) no-repeat center/contain; cursor: pointer; position: relative; margin-top: 0.5rem; }
.top-sheet-wrap .sheet-body .service-list { display: flex; flex-direction: column; gap: 0.8rem; margin-bottom: 1.6rem; }
.top-sheet-wrap .sheet-body .service-item a { display: flex; align-items: center; background: #fff; padding: 1.75rem 1.2rem; border-radius: 1.2rem; box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.03); border: 1px solid rgba(0, 0, 0, 0.08);}
.top-sheet-wrap .sheet-body .service-item.highlight a { background-color: var(--primary-color-50) !important; border: 1px solid var(--primary-color-500) !important; }
.top-sheet-wrap .sheet-body .service-item .icon-wrap { width: 4rem; height: 4rem; margin-right: 0.6rem; flex-shrink: 0; background-repeat: no-repeat; background-size: contain; }
.top-sheet-wrap .sheet-body .service-item .icon-wrap.icon-mall { background-image:url(../dm_images/ico_mall.png); }
.top-sheet-wrap .sheet-body .service-item .icon-wrap.icon-care { background-image:url(../dm_images/ico_care.png); }
.top-sheet-wrap .sheet-body .service-item .icon-wrap.icon-sub { background-image:url(../dm_images/ico_sub.png); }
.top-sheet-wrap .sheet-body .service-item .icon-wrap.icon-ndp { background-image:url(../dm_images/ico_ndp.png); }
.top-sheet-wrap .sheet-body .service-item .text-wrap { display: flex; flex-direction: column; }
.top-sheet-wrap .sheet-body .service-item .text-wrap .title {  font-size: 1.6rem; font-weight: 700; color: var(--gray-color-900); margin-bottom: 0.2rem; }
.top-sheet-wrap .sheet-body .service-item .text-wrap .desc { font-size: 1.3rem; color: var(--gray-color-600); line-height: 1.3; font-weight: 400; }
.top-sheet-wrap .sheet-body .service-list-half { display: flex; gap: 1rem; }
.top-sheet-wrap .sheet-body .service-list-half .service-item-half { width: 100%; }
.top-sheet-wrap .sheet-body .service-list-half .service-item-half a { display: flex; background: #fff; padding: 1.2rem 0.6rem 1.2rem 0.6rem; border-radius: 1.2rem; box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.03); flex-direction:column; height: 11.3rem; border: 1px solid rgba(0, 0, 0, 0.08);}
.top-sheet-wrap .sheet-body .service-list-half .service-item-half .icon-wrap { width: 2.4rem; height: 2.4rem; flex-shrink: 0; background-repeat: no-repeat; background-size: 2.4rem; background-position: center; margin: 0 auto 0.8rem; }
.top-sheet-wrap .sheet-body .service-list-half .service-item-half .icon-wrap.icon-health { background-image:url(../dm_images/ico_health.png); }
.top-sheet-wrap .sheet-body .service-list-half .service-item-half .icon-wrap.icon-box { background-image:url(../dm_images/ico_box.png); }
.top-sheet-wrap .sheet-body .service-list-half .service-item-half .text-wrap .title { font-size: 1.3rem; line-height: 1.2; font-weight: 700; color: var(--gray-color-900); margin-bottom: 0.2rem;  display: block; text-align: center; }
.top-sheet-wrap .sheet-body .service-list-half .service-item-half .text-wrap .desc { font-size: 1.3rem; color: var(--gray-color-600); display: block; line-height: 1.3; letter-spacing: -0.1rem; text-align: center; }

/* 바텀 시트 컨테이너 */

.bottom-sheet-wrap.type-full .bottom-sheet-container { height: 100%; max-height: none; border-radius: 0; }
.bottom-sheet-wrap.type-full .sheet-handle { display: none; }
.bottom-sheet-wrap.type-full .sheet-header { padding: 14px 16px; height: 52px; display: flex; justify-content: center; align-items: center; }
.bottom-sheet-wrap.type-full .sheet-header h2 {  font-size: 18px; font-weight: 700; text-align: center; margin: 0; color: var(--gray-color-800); }
.bottom-sheet-wrap.type-full .sheet-header .btn-schedule { display: flex; justify-content: center; align-items: center; gap: 4px; padding: 6px 8px; line-height: 1; border: 1px solid var(--gray-color-100); border-radius: 6px; background: #fff; font-size: 12px; color: var(--gray-color-600);  }
.bottom-sheet-wrap.type-full .sheet-header .btn-schedule::before { content: ""; display: block; width: 12px; height: 12px; background: url("../dm_images/ico_date.png") no-repeat center/contain; }
.bottom-sheet-wrap.type-full .sheet-header .btn-close { width: 24px; height: 24px; background: url("../dm_images/common/ico_close_g.png") no-repeat center/contain; border: none; font-size: 0; cursor: pointer; position: absolute; right: 16px; top: 14px; }
.bottom-sheet-wrap.type-full .sheet-header .btn-before { width: 24px; height: 24px; background: url("../dm_images/common/ico_before.png") no-repeat center/contain; border: none; font-size: 0; cursor: pointer; position: absolute; left: 16px; top: 14px; }

.bottom-sheet-wrap.type-full .sheet-header .btn-close2 { width: 24px; height: 24px; background: url("../dm_images/common/ico_close_g2.png") no-repeat center/contain; border: none; font-size: 0; cursor: pointer; position: absolute; right: 16px; top: 14px; z-index:9999999}

.bottom-sheet-wrap.type-full .sheet-body { padding: 0; display: flex; flex-direction: column; flex: 1; overflow-y: auto; -webkit-overflow-scrolling: touch; background: #fff; }
.bottom-sheet-wrap.type-full .sheet-body .inner { padding: 24px 20px 32px; background-color: #fff; }
.bottom-sheet-wrap.type-full .sheet-body .inner > img { width: 100%; }
.bottom-sheet-wrap.type-full .sheet-body .banner-wrap { width: 100%; }
.bottom-sheet-wrap.type-full .sheet-body .banner-wrap img { width: 100%; }
.bottom-sheet-wrap.type-full .sheet-body .sheet-content-fixed { padding: 20px 20px 16px; background-color: #f5f5f5; z-index: 1; }
.bottom-sheet-wrap.type-full .sheet-body .sheet-content-fixed .total-count { margin-bottom: 12px; font-size: 18px; font-weight: 700; display: flex; align-items: center; line-height: 1.2;  }
.bottom-sheet-wrap.type-full .sheet-body .sheet-content-fixed .total-count .count { margin-left: 2px; color: var(--primary-color-500); line-height: 1.4; display: block; }
.bottom-sheet-wrap.type-full .sheet-body .sheet-content-fixed .filter-tags { display: flex; gap: 8px;  overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
.bottom-sheet-wrap.type-full .sheet-body .sheet-content-fixed .filter-tags::-webkit-scrollbar { display: none; }
.bottom-sheet-wrap.type-full .sheet-body .sheet-content-fixed .filter-tags .tag { border: 1px solid var(--gray-color-100); color: var(--gray-color-500); background-color: var(--gray-color-00); padding: 0 12px; border-radius: 32px; height: 26px; line-height: 26px; font-size: 12px; flex-shrink: 0; }
.bottom-sheet-wrap.type-full .sheet-body .sheet-content-fixed .filter-tags .tag.active { background: var(--gray-color-900); color: var(--gray-color-00); }
.bottom-sheet-wrap.type-full .scroll-wrapper { position: relative; padding: 0 20px; }
.bottom-sheet-wrap.type-full .scroll-wrapper.has-blur .blur-overlay { display: block; }
.bottom-sheet-wrap.type-full .scroll-wrapper .blur-overlay { position: absolute; bottom: 0; left: 0; width: 100%; height: 60px; background: linear-gradient(to bottom, rgba(245, 245, 245, 0), rgb(245, 245, 245)); pointer-events: none; display: none; z-index: 5; }

.bottom-sheet-wrap .sheet-handle { width: 46px; height: 4px; background-color: var(--gray-color-200); border-radius: 100px; margin: 8px auto 20px; }
.bottom-sheet-wrap .sheet-header { padding: 0 20px 8px 20px; display: flex; justify-content: space-between; align-items: center; }
.bottom-sheet-wrap .sheet-header h2 {  font-size: 23px; font-weight: 700; margin: 0; color: var(--gray-color-900); }
.bottom-sheet-wrap .sheet-header .btn-schedule { display: flex; justify-content: center; align-items: center; gap: 4px; padding: 6px 8px; line-height: 1; border: 1px solid var(--gray-color-100); border-radius: 6px; background: #fff; font-size: 13px; color: var(--gray-color-600);  }
.bottom-sheet-wrap .sheet-header .btn-schedule::before { content: ""; display: block; width: 12px; height: 12px; background: url("../dm_images/ico_date.png") no-repeat center/contain; }
.bottom-sheet-wrap .sheet-calendar { padding: 13px 0 12px; }
.bottom-sheet-wrap .sheet-calendar .calendar-dates { display: flex; gap: 4px; justify-content: center; }
.bottom-sheet-wrap .sheet-calendar .date-item { display: flex; flex-direction: column; width: 46px; gap: 2px; align-items: center; padding: 5px 0 6px; border-radius: 8px; color: var(--gray-color-600);  }
.bottom-sheet-wrap .sheet-calendar .date-item.active { background-color: var(--gray-color-900); color: var(--gray-color-00); }
.bottom-sheet-wrap .sheet-calendar .date-item .day { font-size: 12px; line-height: 1.3; font-weight: 550; }
.bottom-sheet-wrap .sheet-calendar .date-item .num { font-size: 14px; font-weight: bold; line-height: 1.4; font-weight: 700; }
.bottom-sheet-wrap .sheet-body { padding: 0; display: flex; flex-direction: column; flex: 1; overflow-y: auto}
.bottom-sheet-wrap .sheet-body .sheet-content-fixed { padding: 20px 20px 16px; background-color: #f5f5f5; z-index: 1; }
.bottom-sheet-wrap .sheet-body .sheet-content-fixed .total-count { margin-bottom: 12px; font-size: 18px; font-weight: 700; display: flex; align-items: center; line-height: 1.2;  }
.bottom-sheet-wrap .sheet-body .sheet-content-fixed .total-count .count { margin-left: 2px; color: var(--primary-color-500); line-height: 1.4; display: block; }
.bottom-sheet-wrap .sheet-body .sheet-content-fixed .filter-tags { display: flex; gap: 8px;  overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
.bottom-sheet-wrap .sheet-body .sheet-content-fixed .filter-tags::-webkit-scrollbar { display: none; }
.bottom-sheet-wrap .sheet-body .sheet-content-fixed .filter-tags .tag { border: 1px solid var(--gray-color-100); color: var(--gray-color-500); background-color: var(--gray-color-00); padding: 0 12px; border-radius: 32px; height: 26px; line-height: 26px; font-size: 12px; flex-shrink: 0; }
.bottom-sheet-wrap .sheet-body .sheet-content-fixed .filter-tags .tag.active { background: var(--gray-color-900); color: var(--gray-color-00); }
.bottom-sheet-wrap .scroll-wrapper { position: relative; padding: 0 20px; }
.bottom-sheet-wrap .scroll-wrapper.has-blur .blur-overlay { display: none; }
.bottom-sheet-wrap .scroll-wrapper .product-list-scroll { height: 192px; overflow-y: auto; display: flex; flex-direction: column; gap: 12px; }
.bottom-sheet-wrap .scroll-wrapper .product-list-scroll::-webkit-scrollbar { width: 6px; }
.bottom-sheet-wrap .scroll-wrapper .product-list-scroll::-webkit-scrollbar-thumb { background-color: #ccc; border-radius: 3px; }
.bottom-sheet-wrap .scroll-wrapper .product-list-scroll::-webkit-scrollbar-track { background-color: transparent; }

.bottom-sheet-wrap .product-card { background: #fff; border-radius: 12px; overflow: hidden; min-height: 80px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); flex-shrink: 0; }
.bottom-sheet-wrap .product-card .card-inner {display: flex; }
.bottom-sheet-wrap .product-card .bottom {border-top:1px solid #EEE;padding: 0.7rem 0 0.6rem;text-align: center;display: flex;align-items: center;justify-content: center;}
.bottom-sheet-wrap .product-card .bottom button {color:#6FB53D;font-size:1.2rem;font-weight:600;display: flex;align-items: center;}
.bottom-sheet-wrap .product-card .product-img { width: 80px; height: 80px; background-color: #eee; position: relative; overflow: hidden; }
.bottom-sheet-wrap .product-card .product-img img { width: 100%; height: 100%;  object-fit: cover; }
.bottom-sheet-wrap .product-card .product-img .product-label { position: absolute; bottom: 0; left: 0; width: 100%; height: 16px; line-height: 16px; font-weight: 700; background: rgba(0, 0, 0, 0.7); color: #fff; font-size: 11px; text-align: center; }
.bottom-sheet-wrap .product-card .product-info { width: calc(100% - 104px); display: flex; flex-direction: column; justify-content: center; padding: 8px 12px; }
.bottom-sheet-wrap .product-card .product-info .product-cate { font-size: 12px; color: var(--gray-color-500); margin-bottom: 2px; font-weight: 700; }
.bottom-sheet-wrap .product-card .product-info .product-name { font-size: 14px; width: 100%; font-weight: 700; margin-bottom: 8px; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }
.bottom-sheet-wrap .product-card .product-info button { color:#383838; font-size:12px; display:flex; align-items: center; margin-top: 8px; }

#btn-open-sheet { padding: 15px 30px; font-size: 16px; background-color: #000; color: #fff; border: none; border-radius: 8px; cursor: pointer; }
.bottom-sheet-wrap { position: fixed; top: 0; left: 0%; width: 100%; height: 100%; z-index: 1000; visibility: hidden; transition: visibility 0s 0.3s; }
.bottom-sheet-wrap.active { visibility: visible; transition: visibility 0s 0s; }
.bottom-sheet-wrap.active .dimmed { opacity: 1; }
.bottom-sheet-wrap.active .bottom-sheet-container { transform: translate(-50%, 0); }
.bottom-sheet-wrap .dimmed { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); opacity: 0; transition: opacity 0.3s ease; }
.bottom-sheet-wrap.type-full .bottom-sheet-container { transition: transform 0s ease-out; }
.bottom-sheet-wrap .bottom-sheet-container { position: fixed; bottom: 0; left: 0; width: 100%; background-color: #fff; border-top-left-radius: 20px; border-top-right-radius: 20px; transform: translate(-50%, 100%); transition: transform 0.3s ease-out; display: flex; flex-direction: column; max-height: 75vh; overflow: hidden; min-height:8vh; max-width:475px;left:50%}
#todayOrderSheet {height:80vh;}
.sheet-body .noDataWrap {padding: 2.8rem 0;}

.wrap .footer {background:#fff}

.bottom-sheet-wrap .sheet-cont {max-height:50%;overflow-y: auto}
.bottom-sheet-wrap .sheet-handle { width: 46px; height: 4px; background-color: var(--gray-color-200); border-radius: 100px; margin: 8px auto 20px; }
.bottom-sheet-wrap .sheet-header { padding: 0 20px 8px 20px; display: flex; justify-content: space-between; align-items: center; }
.bottom-sheet-wrap .sheet-header h2 {  font-size: 23.6px; font-weight: 700; margin: 0; color: var(--gray-color-900); }
.bottom-sheet-wrap .sheet-header .btn-schedule { display: flex; justify-content: center; align-items: center; gap: 4px; padding: 6px 8px; line-height: 1; border: 1px solid var(--gray-color-100); border-radius: 6px; background: #fff; font-size: 14px; color: var(--gray-color-600);  }
.bottom-sheet-wrap .sheet-header .btn-schedule::before { content: ""; display: block; width: 12px; height: 12px; background: url("../dm_images/ico_date.png") no-repeat center/contain; }
.bottom-sheet-wrap .sheet-calendar { padding: 13px 0 12px; }
.bottom-sheet-wrap .sheet-calendar .calendar-dates { display: flex; gap: 4px; justify-content: center; }
.bottom-sheet-wrap .sheet-calendar .date-item { display: flex; flex-direction: column; width: 46px; gap: 2px; align-items: center; padding: 5px 0 6px; border-radius: 8px; color: var(--gray-color-600);  }
.bottom-sheet-wrap .sheet-calendar .date-item.active { background-color: var(--gray-color-900); color: var(--gray-color-00); }
.bottom-sheet-wrap .sheet-calendar .date-item .day { font-size: 12px; line-height: 1.3; font-weight: 550; }
.bottom-sheet-wrap .sheet-calendar .date-item .num { font-size: 14px; font-weight: 700; line-height: 1.4;  }
.bottom-sheet-wrap .sheet-body { padding: 0; display: flex; flex-direction: column; flex: 1; background:#f5f5f5; }
.bottom-sheet-wrap .sheet-body.bg01 { background:#fff; }
.bottom-sheet-wrap .sheet-body .sheet-content-fixed { padding: 20px 20px 12px; background-color: #f5f5f5; z-index: 1; }
.bottom-sheet-wrap .sheet-body .sheet-content-fixed .total-count { margin-bottom: 0; font-size: 18px; font-weight: 700; display: flex; align-items: center; line-height: 1.2;}
.bottom-sheet-wrap .sheet-body .sheet-content-fixed .total-count .count { margin-left: 2px; color: var(--primary-color-500); line-height: 1.4; display: block; }
.bottom-sheet-wrap .sheet-body .sheet-content-fixed .filter-tags { display: flex; gap: 8px;  overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
.bottom-sheet-wrap .sheet-body .sheet-content-fixed .filter-tags::-webkit-scrollbar { display: none; }
.bottom-sheet-wrap .sheet-body .sheet-content-fixed .filter-tags .tag { border: 1px solid var(--gray-color-100); color: var(--gray-color-500); background-color: var(--gray-color-00); padding: 0 12px; border-radius: 32px; height: 26px; line-height: 26px; font-size: 12px; flex-shrink: 0; }
.bottom-sheet-wrap .sheet-body .sheet-content-fixed .filter-tags .tag.active { background: var(--gray-color-900); color: var(--gray-color-00); }
.bottom-sheet-wrap .scroll-wrapper { position: relative; padding: 0 20px; }
.bottom-sheet-wrap .scroll-wrapper.has-blur .blur-overlay { display: none; }
.bottom-sheet-wrap .scroll-wrapper .product-list-scroll { height: auto;max-height:55rem; overflow-y: auto; padding-bottom: 10px; display: flex; flex-direction: column; gap: 12px; }
.bottom-sheet-wrap .scroll-wrapper .product-list-scroll::-webkit-scrollbar { width: 6px; }
.bottom-sheet-wrap .scroll-wrapper .product-list-scroll::-webkit-scrollbar-thumb { background-color: #ccc; border-radius: 3px; }
.bottom-sheet-wrap .scroll-wrapper .product-list-scroll::-webkit-scrollbar-track { background-color: transparent; }
.bottom-sheet-wrap .scroll-wrapper .blur-overlay { position: absolute; bottom: 0; left: 0; width: 100%; height: 30px; background: linear-gradient(to bottom, rgba(245, 245, 245, 0), rgb(245, 245, 245)); pointer-events: none; display: none; z-index: 5; }
.bottom-sheet-wrap .product-card .product-img { width: 80px; height: 80px; background-color: #eee; position: relative; overflow: hidden; flex-shrink: 0; }
.bottom-sheet-wrap .product-card .product-img img { width: 100%; height: 100%;  object-fit: cover; }
.bottom-sheet-wrap .product-card .product-img .product-label { position: absolute; bottom: 0; left: 0; width: 100%; height: 16px; line-height: 16px; font-weight: 700; background: rgba(111, 181, 61, 1); color: #fff; font-size: 11px; text-align: center; opacity: 0.88; }
.bottom-sheet-wrap .product-card .product-info { width: 100%; display: flex; flex-direction: row; padding: 4px 12px; justify-content: space-between; align-items: center; min-width: 0; }
.aside-area { display: none; }
.dm-wrap > .container { max-width: 475px; padding-top: 5.2rem; margin: 0 auto; min-width: 360px; min-height: 100%; display: flex; flex-direction: column; flex: 1; position: relative; box-shadow: 0 0 0 1px #ddd;;box-sizing: border-box;}

.charboxHeader {display:flex;justify-content: space-between; align-items: center;}
.charboxHeader .txt1 {font-size: 1.8rem;font-weight:700;color:#383838}
.charboxHeader .txt2 {font-size: 1.2rem;font-weight:400;color:#777}
.charboxHeader .txt3 {font-size: 3.2rem;font-weight:700;color:#383838}

.ico_food {display: flex;align-items: center;}
.ico_food img {width: 2rem;}

@media (min-width: 915px) {

  .cmmnLayoutBox .headerWrap {max-width: 474px;}
  .cmmnLayoutBox .bt-navi-common {position: fixed;    bottom: 0;    width: 100%;    left: auto;  transform: none;max-width: 473px;}

  .bottom-sheet-wrap .bottom-sheet-container { position: fixed; margin-left: -220px;}

  .toastPopup {margin-left:-220px}
  .foodCheckLottie {margin-left:-220px}
  .floatingMenu {margin-left: -220px;}
  .headerWrap { position: fixed; top: 0; left: auto; background: #fff; width: 100%; transform: none; z-index: 8; max-width: 475px; box-sizing: border-box; }
  .headerWrap.hide {transform: translateX(0%) translateY(-140%);transition: transform 0.2s ease;}
  .sheet-btn { max-width: 475px; }
  .dim-overlay { max-width: 475px; width: 100%;left: auto; }
  .top-sheet-wrap { max-width: 475px;  left: auto; }
  .ap-layout-popup { left: 0 !important; margin-left: 0; max-width: 100%; }
  .bottom-sheet-wrap { max-width: 475px; left: auto; }
  .bt-navi-common {position: fixed;    bottom: 0;    width: 100%;    left: auto;  transform: none;max-width: 475px;}

  .bt-navi-common.hide {transform: translateX(0%) translateY(140%)}
  .dm-wrap { width: 915px; display: flex; justify-content: space-between; margin: 0 auto; }
  .dm-wrap .container { margin: 0; }
  .aside-area { width: 400px; display: block; }
  .aside-area .aside-content { position: fixed; top: 0; width: 100%; height: 100%; max-width: 400px; display: flex; align-items: center; justify-content: flex-end; }
  .dm-wrap .aside-area.onlyPCbnnrBox { padding:0;}
  .aside-quick { width: 300px; }
  .aside-quick > .text { font-weight: 700; line-height: 1.2; }
  .aside-quick > .text .txt { color: #777; display: block; font-size: 20px; line-height: 1.2; }
  .aside-quick > .text .txt em { font-style: normal; color: #27C166; position: relative; vertical-align: baseline; }
  .aside-quick > .text .txt em:before { content: ''; display: block; position: absolute; left: 50%; top: -10px; transform: translateX(-50%); width: 4px; height: 4px; border-radius: 100%; background: #27C166; }
  .aside-quick > .text .tit { display: block; position: relative; margin-top: 10px; line-height: 1.2; }
  .aside-quick > .text .tit:before { content: ''; display: block; position: absolute; top: 50%; left: 0; width: 100%; height: 1px; background: #ccc; }
  .aside-quick > .text .tit b { color: #2a2a2a; font-size: 36px; position: relative; background: #fff; z-index: 1; padding-right: 14px; }
  .aside-quick .quick-go { margin-top: 50px; }
  .aside-quick .quick-go a { display: flex; }
  .aside-quick .quick-go a img { max-width: 100%; }
  .aside-quick .quick-go .menu { display: flex; align-items: center; justify-content: space-between; margin-top: 16px; }
  .aside-quick .quick-go .menu .btn { display: flex; align-items: center; justify-content: center; height: 36px; color: #777; font-size: 13px; border-radius: 4px; border: 1px solid #ccc; flex: 1; }
  .aside-quick .quick-go .menu .btn ~ .btn { margin-left: 12px; }
  .aside-quick .qr-wrap { display: flex; align-items: stretch; margin-top: 50px; }
  .aside-quick .qr-wrap .qr { display: flex; }
  .aside-quick .qr-wrap .qr img { height: 70px; }
  .aside-quick .qr-wrap .go-app { flex: 1; display: flex; flex-direction: column; margin-left: 24px; }
  .aside-quick .qr-wrap .go-app .text { display: block; color: #2a2a2a; font-size: 13px; line-height: 1.2; }
  .aside-quick .qr-wrap .go-app .text .txt { display: block; }
  .aside-quick .qr-wrap .go-app .text b { font-weight: 700; }
  .aside-quick .qr-wrap .go-app .menu { display: flex; align-items: center; margin-top: auto; justify-content: space-between; }
  .aside-quick .qr-wrap .go-app .menu .btn { height: 28px; outline: none; border: none; border-radius: 4px; overflow: hidden; }
  .aside-quick .qr-wrap .go-app .menu .btn img { height: 100%; }
  .aside-quick .telorder { background-color: #f5f5f5; border-radius: 7px; padding: 10px 0; width: 100%; margin-top: 11px; font-size: 1.1em; color: #474747; text-align: center; font-weight: 500; border: 1px solid #ebebeb; }
  .aside-quick .telorder span { color: #6FB53D; vertical-align: baseline; }
  .dm-wrap .container { min-height: 100vh; }
}


.dm-wrap .bottom-btn-group {
  display: flex;
  gap: 0.8rem;
  padding: 1.6rem 1.6rem 2.4rem;
  box-shadow: 0px -1px 8px -2px rgba(16, 24, 40, 0.1);
  background-color: #fff;
  transition: all 0.3s ease;
  position: relative;
  z-index: 10;
  background-color: #fff;
  box-shadow: 0 -0.4rem 1rem rgba(0, 0, 0, 0.06);
  padding: 1.6rem 2.4rem 2.4rem;
}
.dm-wrap .bottom-btn-group.sticky {
  position: fixed;
  bottom: 0;
  width: 100%;
  max-width: 475px;
  overflow: hidden;
  box-shadow: 0 -0.2rem 0.8rem rgba(0, 0, 0, 0.15);
  padding-bottom: calc(2.4rem + env(safe-area-inset-bottom));
}
.dm-wrap .bottom-btn-group.has-navi {
  position: fixed;
  bottom: 0rem;
  width: 100%;
  max-width: 475px;
  overflow: hidden;
  padding-bottom: calc(2.4rem + env(safe-area-inset-bottom));
  transition: transform 0.2s ease-in-out;
  padding: 1.2rem 1.6rem 2.4rem;
}
.dm-wrap .bottom-btn-group.has-navi.fit-bottom {
  /* transform: translateY(12.2rem); */
}

@media (max-width: 915px) {
  .dm-wrap .bottom-btn-group.has-navi { max-width: 100%; margin: 0; left: 0; }
}

.dm-wrap .bottom-btn-group.state-login .type-login {
  display: block;
}
.dm-wrap .bottom-btn-group.state-order .type-order {
  display: block;
}
.dm-wrap .bottom-btn-group button {
  flex: 1;
  height: 5.2rem;
  line-height: 5.2rem;
  font-size: 1.6rem;
  font-weight: 700;
  border-radius: 1.2rem;
  border: none;
  cursor: pointer;

  width: 100%;
}
.dm-wrap .bottom-btn-group .btn-cancel {
  background: var(--gray-color-50);
  color: var(--gray-color-700);
  border: 1px solid var(--gray-color-100);
}
.dm-wrap .bottom-btn-group .btn-confirm {
  background: var(--primary-color);
  color: #fff;
}

.dm-wrap .bottom-btn-group .btn-disabled {
  background: #EEE;
  color: #CCC;
}


/* MARE / CARE 공통 헤더,푸터 */


.dm-wrap .container.pb-0 {
  padding-bottom: 0;
}
.dm-wrap .ndp-management-wrap {
  min-height: 100vh;
  padding-bottom: 0;
  /* 1. Status Top Section */
  /* 2. Today's To-Do Swiper */
  /* 2. Today's To-Do Section */
  /* 3. Management Content */
}
.dm-wrap .ndp-management-wrap .ndp-event-banner img {
  width: 100%;
  display: block;
}
.dm-wrap .ndp-management-wrap .ndp-status-top {
  background-color: #fff;
  padding: 1.6rem 2rem 2rem;
  position: relative;
}
.dm-wrap .ndp-management-wrap .ndp-status-top .top-info {
  display: flex;
  justify-content: space-between;
  position: relative;
  margin-bottom: 1.15rem;
}
.dm-wrap .ndp-management-wrap .ndp-status-top .top-info .txt-group {
  position: relative;
  z-index: 1;
}
.dm-wrap .ndp-management-wrap .ndp-status-top .top-info .txt-group .user-txt {
  font-size: 1.4rem;
  color: #6FB53D;
  line-height: 1.3;

  font-weight: 700;
}

.dm-wrap .ndp-management-wrap .ndp-status-top .top-info .txt-group .user-tit {
  font-size: 2.1rem;
  color: var(--gray-color-900);
  line-height: 1.2;

}
.dm-wrap .ndp-management-wrap .ndp-status-top .top-info .txt-group .user-tit strong {
  font-weight: 700;
}
.dm-wrap .ndp-management-wrap .ndp-status-top .top-info .txt-group .user-desc {
  font-size: 1.6rem;
  color: var(--gray-color-800);
  line-height: 1.4;
  margin-top: 0.2rem;
  color: var(--gray-color-800);
  width: 70%;
}
.dm-wrap .ndp-management-wrap .ndp-status-top .top-info .txt-group .date {
  margin-top: 0.8rem;
  font-size: 1.3rem;
  color: var(--gray-color-600);
  font-weight: 500;
}
.dm-wrap .ndp-management-wrap .ndp-status-top .top-info .ndp-mascot {
  position: absolute;
  right: 0;
  bottom: -1rem;
  width: 12rem;
  height: 9.6rem;
  z-index: 0;
  background: url("../dm_images/ndp/char_ready.png") no-repeat center/contain;
}
.dm-wrap .ndp-management-wrap .ndp-status-top .top-info .ndp-mascot img {
  width: 100%;
  display: block;
}
.dm-wrap .ndp-management-wrap .ndp-status-top .status-msg-box {
  position: relative;
  height: 3.2rem;
  line-height: 3.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #F5F5E2;
  border-radius: 0.8rem;
  padding: 0.7rem 0;
  text-align: center;
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--gray-color-800);
  gap: 0.4rem;
  /* Speech Bubble Tail */
}
.dm-wrap .ndp-management-wrap .ndp-status-top .status-msg-box .highlight {
  line-height: 3.2rem;
  color: #FF7425;
  margin-right: -0.3rem;
}
.dm-wrap .ndp-management-wrap .ndp-status-top .status-msg-box::after {
  content: "";
  position: absolute;
  top: -0.6rem;
  right: 2.6rem;
  /* Adjusted to point towards mascot */
  width: 1.2rem;
  height: 1.2rem;
  background-color: #F5F5E2;
  transform: rotate(45deg);
}
.dm-wrap .ndp-management-wrap .daily-todo-section {
  background-color: var(--gray-color-50) !important;
  /* Daily Progress Card */
  /* Todo List */
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-header {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin-top: 2.4rem;
  margin-bottom: 0.6rem;
  padding: 0 2rem;
  height: 3.2rem;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-header .tit {

  font-size: 2.3rem;
  font-weight: 700;
  color: var(--gray-color-900);
  text-align: center;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-header .btn-prev,
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-header .btn-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 3.2rem;
  height: 3.2rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  font-size: 0;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-header .btn-prev {
  left: 2rem;
  background-image: url("../dm_images/common/ico_arrow_left_black.png");
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-header .btn-next {
  right: 2rem;
  background-image: url("../dm_images/common/ico_arrow_right_black.png");
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-guide-msg {
  padding: 0 3.6rem;
  font-size: 1.3rem;
  color: var(--gray-color-600);
  /* Green text color from image */
  text-align: center;
  line-height: 1.4;
  margin-bottom: 1.2rem;
  font-weight: 500;
  word-break: keep-all;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .report-d-day-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: -1rem;
  left: 50%;
  transform: translateX(-50%);
  padding: 0 1.2rem;
  height: 2.4rem;
  line-height: 2.4rem;
  background-color: #585858;
  color: #fff;
  border-radius: 0.6rem;
  font-size: 1.2rem;
  font-weight: 500;
  gap: 0.32rem;
  white-space: nowrap;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .report-d-day-badge::before {
  content: "";
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  background: url("../dm_images/common/ico_date.png") no-repeat center/contain;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .btn-go-view {
  height: 4rem;
  line-height: 4rem;
  font-size: 1.5rem;
  font-weight: 700;
  display: block;
  text-align: center;
  background-color: var(--gray-color-25);
  color: #6fb35d;

}
.dm-wrap .ndp-management-wrap .daily-todo-section .daily-progress-card {
  position: relative;
  margin: 0 2rem 0.1rem;
  /* Adjusting margin if needed, checking previous context */
  margin-top: 2rem;
  /* Add top margin to make space for the badge */
  background: #fff;
  border-radius: 1.2rem;
  padding: 2.4rem 1.6rem;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .daily-progress-card .card-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.8rem;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .daily-progress-card .card-head .date {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--gray-color-900);
}
.dm-wrap .ndp-management-wrap .daily-todo-section .daily-progress-card .card-head .percent {

  font-size: 1.4rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  /* Green */
}
.dm-wrap .ndp-management-wrap .daily-todo-section .daily-progress-card .card-head .percent .total {
  color: var(--gray-color-800);
  margin-right: 0.4rem;
  font-weight: 700;
  color: var(--primary-color);
}
.dm-wrap .ndp-management-wrap .daily-todo-section .daily-progress-card .progress-bar {
  width: 100%;
  height: 0.8rem;
  background-color: var(--gray-color-100);
  border-radius: 0.8rem;
  overflow: hidden;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .daily-progress-card .progress-bar .bar-fill {
  height: 100%;
  background-color: var(--primary-color);
  border-radius: 0.8rem;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap {
  margin: 0 2rem;
  border-radius: 1.2rem;
  overflow: hidden;
  margin-bottom: 3.2rem;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap > ul {
  display: flex;
  padding: 0.4rem 1.6rem 0.8rem;
  flex-direction: column;
  background: #fff;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item {
  /* Common Header Part */
  border-bottom: 1px solid var(--gray-color-50);
  /* For anchor tag specifically */
  /* Type: Accordion specific */
  /* Type: Link specific */
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item:last-child {
  border-bottom: 0;
}
.dm-wrap .notice-wrap {
  padding-top: 1.6rem;
  background-color: #fff;
  min-height: 100vh;
}
.dm-wrap .notice-wrap .notice-list {
  display: flex;
  flex-direction: column;
}
.dm-wrap .notice-wrap .notice-item {
  border-bottom: 1px solid var(--gray-color-50);
  position: relative;
  background-color: #fff;
}
.dm-wrap .notice-wrap .notice-item a {
  display: block;
  padding: 2rem 2rem 2.4rem 2rem;
  color: inherit;
  /* 텍스트 색상 상속 */
}
.dm-wrap .notice-wrap .notice-item.unread {
  /* 읽지 않음 상태의 연한 베이지/노란색 */
  background-color: #fafaf0;
  position: relative;
}
.dm-wrap .notice-wrap .notice-item.unread .notice-header::after {
  content: "";
  position: absolute;
  top: 1.6rem;
  right: 1.2rem;
  width: 0.6rem;
  height: 0.6rem;
  background-color: #ff7425;
  border-radius: 50%;
}
.dm-wrap .notice-wrap .notice-item.unread .notice-content {
  color: var(--gray-color-800);
}
.dm-wrap .notice-wrap .notice-item .notice-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.8rem;
}
.dm-wrap .notice-wrap .notice-item .notice-header .left {
  display: flex;
  align-items: center;
}
.dm-wrap .notice-wrap .notice-item .notice-header .left .icon {
  width: 1.6rem;
  height: 1.6rem;
  margin-right: 0.8rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  /* 플레이스홀더 아이콘 */
}
.dm-wrap .notice-wrap .notice-item .notice-header .left .icon.icon-health {
  background-image: url(../dm_images/ico_mini_health.png);
}
.dm-wrap .notice-wrap .notice-item .notice-header .left .icon.icon-care {
  background-image: url(../dm_images/ico_mini_care.png);
}
.dm-wrap .notice-wrap .notice-item .notice-header .left .icon.icon-mall {
  background-image: url(../dm_images/ico_mini_mall.png);
}
.dm-wrap .notice-wrap .notice-item .notice-header .left .category {
  font-size: 1.4rem;
  color: var(--gray-color-500);
  font-weight: 500;
}
.dm-wrap .notice-wrap .notice-item .notice-header .time {
  font-size: 1.2rem;
  color: var(--gray-color-500);
  font-weight: 400;
}
.dm-wrap .notice-wrap .notice-item .notice-content {
  font-size: 1.4rem;
  color: var(--gray-color-700);
  line-height: 1.4;
  padding-left: 2.4rem;
  /* =========================================
  커뮤니티 리스트 스타일
  ========================================= */
}
.dm-wrap .tab-type1 {
  background-color: #fff;
  border-bottom: 1px solid var(--gray-color-100);
  max-width: 475px;
  width: 100%;
  margin: 0 auto;
}
.dm-wrap .tab-type1.sticky {
  position: fixed;
  top: 0;
  width: 100%;
  max-width: 475px;
  margin: 0;
  overflow: hidden;
  z-index: 100;
}
.dm-wrap .tab-type1 ul {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
}
.dm-wrap .tab-type1 ul li {
  flex: 1;
}
.dm-wrap .tab-type1 ul li a {
  display: block;
  height: 4.6rem;
  line-height: 4.6rem;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--gray-color-800);
  text-decoration: none;
  position: relative;
  transition: color 0.2s;

}
.dm-wrap .tab-type1 ul li.on a {
  font-weight: 700;
  color: var(--gray-color-800);
}
.dm-wrap .tab-type1 ul li.on a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 0.3rem;
  background-color: var(--gray-color-900);
}
.dm-wrap .menu-ly-wrap {
  position: relative;
  display: inline-block;
  z-index: 10;
  transform: translateY(-0.8rem);
}
.dm-wrap .menu-ly-wrap .btn-more-menu {
  width: 2.4rem;
  height: 2.4rem;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.dm-wrap .menu-ly-wrap .btn-more-menu .ico-more-menu {
  display: block;
  width: 100%;
  height: 100%;
  background: url("../dm_images/challenge/ico_more_menu.png") no-repeat center/contain;
}
.dm-wrap .menu-ly-wrap .menu-layer {
  position: absolute;
  top: 100%;
  right: 0;
  background: #fff;
  border-radius: 0.8rem;
  border: 1px solid var(--gray-color-200);
  box-shadow: 0 0.4rem 1.2rem rgba(0, 0, 0, 0.15);
  overflow: hidden;
  min-width: 12.8rem;
  padding: 0.8rem 0;
  display: none;
}
.dm-wrap .menu-ly-wrap .menu-layer.active {
  display: block;
}
.dm-wrap .menu-ly-wrap .menu-layer ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.dm-wrap .menu-ly-wrap .menu-layer ul li button {
  width: 100%;
  padding: 1.2rem 1.6rem;
  background: transparent;
  border: none;
  text-align: left;
  font-size: 1.5rem;
  color: var(--gray-color-700);
  cursor: pointer;
  transition: background-color 0.2s;
  font-weight: 600;

}
.dm-wrap .menu-ly-wrap .menu-layer ul li button:hover {
  background-color: var(--gray-color-50);
}



.dm-wrap .my-rank-floating-bar {
  position: fixed;
  width: calc(100% - 4rem);
  max-width: 435px;
  bottom: 8.6rem;
  left: 50%;
  transform: translateX(-50%);
  background-color: #fff;
  border: 2px solid var(--primary-color);
  border-radius: 0.8rem;
  padding: 1.1rem 1.2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-shadow: 0px 2px 16px 0px rgba(132, 146, 158, 0.24);
  z-index: 4;
  margin-left:0px;

}

@media (min-width: 915px) {
  .dm-wrap .my-rank-floating-bar { left: 50%; transform: translateX(-50%); margin-left:-220px;}
}



.dm-wrap .my-rank-floating-bar::before {
  position: absolute;
    content: '';
    top: -3.2rem;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 3rem;
    background: linear-gradient(0deg, #FFF 53.65%, rgba(255, 255, 255, 0.00) 105.21%);
    opacity: 0.5;
}


.dm-wrap .my-rank-floating-bar .mission-count {
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--gray-color-800);
}
.dm-wrap .my-rank-floating-bar .rank-info {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 0.5rem 0;
}
.dm-wrap .my-rank-floating-bar .rank-info .rank-num {
  width: 3.2rem;
  font-size: 1.6rem;
  text-align: center;
  font-weight: 700;
  color: var(--gray-color-500);
}
.dm-wrap .my-rank-floating-bar .rank-info .user-name {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--gray-color-800);
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.dm-wrap .my-rank-floating-bar .rank-info .user-name .badge-me {
  background-color: #9DC460;
  color: #fff;
  font-size: 1.1rem;
  font-weight: 700;
  padding: 0.2rem 0.8rem;
  border-radius: 1rem;
  line-height: 1.4;
}
.dm-wrap .community-list-wrap {
  background-color: #fff;
  min-height: 100vh;
  padding: 0;
  border-bottom: 0;
  /* =========================================
   메뉴 레이어 컴포넌트 (전역)
   ========================================= */
}
.dm-wrap .community-notice {padding:0 2rem;}
.dm-wrap .community-notice > a {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin: 1.2rem 0;
  background: url(../dm_images/more_btn.png) no-repeat right center;background-size: 1.2rem;
}
.dm-wrap .community-notice .cate {
  display: inline-block;
  padding: 0 0.8rem;
  height: 2rem;
  line-height: 2rem;
  font-size: 1.3rem;
  font-weight: 500;
  color: #6FB53D;
  background-color: #F5F5E2;
  border-radius: 0.4rem;

}
.dm-wrap .community-notice .tit {
  font-size:1.6rem;
  color:#383838;
  line-height: 1.4;
  font-weight: 600;
}

.community-swiper {overflow: hidden;height:100%}
.community-swiper .swiper-pagination {
  position: relative;
  margin-top: -1rem;
  bottom: auto !important;
  margin-bottom: 1rem;
}
.community-swiper .swiper-pagination-bullet {
  width: 0.6rem;
  height: 0.6rem;
  background: #272727;
  /* background: var(--gray-color-900); */
  border-radius: 0.3rem;
  opacity: 0.4;
  margin: 0 4px !important;
  transition: all 0.3s;
}
.community-swiper .swiper-pagination-bullet-active {
  width: 2.4rem;
  opacity: 1;
}

.community-swiper .img > img {max-width: 475px;}

.community-list-box .btn-more-community{
  width: auto;
  margin: 2rem;
}
.btn-more-community {
  border-radius: 0.8rem;
  border: 1px solid #ddd;
  height: 4rem;
  line-height: 1.3;
  padding: 1.1rem 0;
  font-size: 1.4rem;
  color:#5B5B5B;
  text-align: center;
  margin: 2rem 0;
  display: block;
  width: 100%;
}

.dm-wrap .community-list-wrap .community-list-box {
  display: flex;
  flex-direction: column;
}
.dm-wrap .community-list-wrap .community-box {
  background-color: #fff;
  border-bottom: 1px solid var(--gray-color-100);
  padding: 0;
}
.dm-wrap .community-list-wrap .community-box:last-child {
  border-bottom: none;
}
.dm-wrap .community-list-wrap .community-box .box-header {
  padding: 2.05rem 2rem 1.6rem;
}
.dm-wrap .community-list-wrap .community-box .box-header .user-info {
  display: flex;
  align-items: flex-start;
  position: relative;
}
.dm-wrap .community-list-wrap .community-box .box-header .user-info .thumb {
  width: 3.6rem;
  height: 3.6rem;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  margin-right: 0.8rem;
}
.dm-wrap .community-list-wrap .community-box .box-header .user-info .thumb.default {
  background: url(../dm_images/challenge/user_default.png) no-repeat center/contain;
}
.dm-wrap .community-list-wrap .community-box .box-header .user-info .thumb.default img {
  display: none;
}
.dm-wrap .community-list-wrap .community-box .box-header .user-info .thumb img {
  width: 100%;
  height: 100%;

  object-fit: cover;
}
.dm-wrap .community-list-wrap .community-box .box-header .user-info .desc {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
.dm-wrap .community-list-wrap .community-box .box-header .user-info .desc .info {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.dm-wrap .community-list-wrap .community-box .box-header .user-info .desc .info b {
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--gray-color-900);
}
.dm-wrap .community-list-wrap .community-box .box-header .user-info .desc .info span {
  font-size: 1.3rem;
  color: var(--gray-color-500);
  font-weight: 400;
  display: flex;
  align-items: center;
}
.dm-wrap .community-list-wrap .community-box .box-header .user-info .desc .info span:before {
  content: "";
  display: inline-block;
  width: 0.2rem;
  height: 0.2rem;
  border-radius: 50%;
  background-color: var(--gray-color-300);
  margin-right: 0.4rem;
}
.dm-wrap .community-list-wrap .community-box .box-header .user-info .desc .date {
  font-size: 1.2rem;
  color: var(--gray-color-400);
  font-weight: 400;
}
.dm-wrap .community-list-wrap .community-box .box-header .user-info .right {
  margin-left: auto;
  flex-shrink: 0;
  /* 전역 컴포넌트 */
}
.dm-wrap .community-list-wrap .community-box .box-body .btn-txt-more {
  display: block;
  margin-top: 0.5rem;
  align-self: flex-end;
  font-size: 1.3rem;
  line-height: 1.4;
  color: var(--gray-color-500);
}
.dm-wrap .community-list-wrap .community-box .box-body .discription {
  display: flex;
  flex-direction: column;
  padding: 0 2rem 2.4rem;
  text-decoration: none;
  color: inherit;
}
.dm-wrap .community-list-wrap .community-box .box-body .img {
  width: 100%;
  aspect-ratio: 375/375;

  object-fit: cover;
  border-radius: 1.2rem;
  overflow: hidden;
  position: relative;
  margin-bottom: 1.6rem;
}
.dm-wrap .community-list-wrap .community-box .box-body .img::before {
  content: "";
  display: block;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 87.61%, rgba(0, 0, 0, 0.1) 100%);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.dm-wrap .community-list-wrap .community-box .box-body .img > img {
  width: 100%;
  height: 100%;
  position: relative;
}
.dm-wrap .community-list-wrap .community-box .box-body .desc {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  order: 1;
}
.dm-wrap .community-list-wrap .community-box .box-body .desc .tit {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--gray-color-900);
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dm-wrap .community-list-wrap .community-box .box-body .desc .txt {
  font-size: 1.3rem;
  color: var(--gray-color-600);
  line-height: 1.4;
}
.dm-wrap .community-list-wrap .community-box .box-body .desc .txt.ellips {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dm-wrap .community-list-wrap .community-box .noti-text {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 1.6rem;
  background-color: var(--gray-color-50);
  margin: 0 1.6rem 1.2rem;
}
.dm-wrap .community-list-wrap .community-box .noti-text .ico-noti-error {
  width: 1.6rem;
  height: 1.6rem;
  background: url("../dm_images/ico_noti_error.png") no-repeat center/contain;
  flex-shrink: 0;
}
.dm-wrap .community-list-wrap .community-box .noti-text .txt {
  font-size: 1.3rem;
  color: var(--gray-color-600);
  font-weight: 400;
}
.dm-wrap .community-list-wrap .community-box .info-menu-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 1.6rem 1.6rem;
}
.dm-wrap .community-list-wrap .community-box .info-menu-wrap .left {
  display: flex;
  gap: 0.4rem;
}
.dm-wrap .community-list-wrap .community-box .info-menu-wrap .left .cate {
  display: inline-block;
  padding: 0 0.8rem;
  height: 2rem;
  line-height: 2rem;
  font-size: 1.3rem;
  font-weight: 500;
  color: var(--gray-color-700);
  background-color: var(--gray-color-50);
  border-radius: 0.4rem;

}
.dm-wrap .community-list-wrap .community-box .info-menu-wrap .right {
  display: flex;
  gap: 1.2rem;
}
.dm-wrap .community-list-wrap .info-menu-wrap .btn-favorite {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
}
.dm-wrap .community-list-wrap .info-menu-wrap .btn-favorite span {
  font-size: 1.3rem;
  color: var(--gray-color-600);
  font-weight: 500;
}
.dm-wrap .community-list-wrap .info-menu-wrap .btn-favorite .ico-heart {
  width: 1.8rem;
  height: 1.8rem;
  background: url("../dm_images/challenge/ico_heart.png") no-repeat center/contain;
}
.dm-wrap .community-list-wrap .info-menu-wrap .btn-favorite .ico-heart.on {
  background-image: url("../dm_images/challenge/ico_heart_on.png");
}
.dm-wrap .community-list-wrap .info-menu-wrap .btn-reple {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
}
.dm-wrap .community-list-wrap .info-menu-wrap .btn-reple span {
  font-size: 1.3rem;
  color: var(--gray-color-600);
  font-weight: 500;
}
.dm-wrap .community-list-wrap .info-menu-wrap .btn-reple .ico-reple {
  width: 1.8rem;
  height: 1.8rem;
  background: url("../dm_images/challenge/ico_comment.png") no-repeat center/contain;
}
.dm-wrap .community-list-wrap .tab-sub {
  padding: 1.6rem 2rem 0.4rem;
}
.dm-wrap .community-list-wrap .tab-sub ul {
  display: flex;
  background-color: #f5f5f5;
  border-radius: 0.8rem;
  border: 1px solid var(--gray-color-200);
}
.dm-wrap .community-list-wrap .tab-sub ul li {
  flex: 1;
}
.dm-wrap .community-list-wrap .tab-sub ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  border-radius: 0.8rem;
  font-size: 1.4rem;
  color: var(--gray-color-600);
  font-weight: 700;
  line-height: 1.4;
}
.dm-wrap .community-list-wrap .tab-sub ul li.on a {
  background-color: var(--gray-color-800);
  color: #fff;
  font-weight: 700;
  /* =========================================
  커뮤니티 랭킹 스타일
  ========================================= */
}
.dm-wrap .no-data-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 8rem 2rem;
  text-align: center;
}
.dm-wrap .no-data-wrap .img {
  width: 12rem;
  height: 12rem;
  margin-bottom: 1.6rem;
}
.dm-wrap .no-data-wrap .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}
.dm-wrap .no-data-wrap .text {
  font-size: 1.5rem;

  color: var(--gray-color-500);
  font-weight: 400;
  /* 플로팅 버튼 (글쓰기) */
}





.dm-wrap .floating-btn-wrap {
  position: fixed;
  bottom: 7.8rem;
  left: 50%;
  z-index: 100;
  transform: translateX(-50%);
  margin-left: 13rem;
}

@media (min-width: 915px) { 
  .dm-wrap .floating-btn-wrap {
    left: 50%;
    margin-left: -5rem
  }
}

.dm-wrap .floating-btn-wrap.scrolled .btn-write {
  width: 4.4rem;
  padding: 0;
  border-radius: 50%;
}
.dm-wrap .floating-btn-wrap.scrolled .btn-write .ico-plus {
  margin-right: 0;
}
.dm-wrap .floating-btn-wrap.scrolled .btn-write .txt {
  max-width: 0;
  opacity: 0;
  margin: 0;
  transition: none;
  /* =========================================
  커뮤니티 리스트 스타일
  ========================================= */
}
.dm-wrap .floating-btn-wrap .btn-write {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 4.4rem;
  padding: 0 1.6rem 0 1.2rem;
  background-color: #6FB53D;
  border-radius: 2.4rem;
  border: none;
  overflow: hidden;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
  cursor: pointer;
}
.dm-wrap .floating-btn-wrap .btn-write .ico-plus {
  width: 2rem;
  height: 2rem;
  background: url("../dm_images/common/ico_plus_white.png") no-repeat center/contain;
  margin-right: 0.4em;
  transition: margin 0.5s ease;
}
.dm-wrap .floating-btn-wrap .btn-write .txt {
  font-size: 1.8rem;
  font-weight: 600;
  color: #fff;
  white-space: nowrap;

  opacity: 1;
  max-width: 10rem;
  transition: all 0.5s ease;
}
.dm-wrap .community-ranking-wrap {
  padding-bottom: 1.8rem;
}
.dm-wrap .community-ranking-wrap .ranking-header {
  text-align: center;
  padding: 2rem 2rem 0.8rem;
}
.dm-wrap .community-ranking-wrap .ranking-header .tit {
  font-size: 2.1rem;
  font-weight: 700;
  color: var(--gray-color-900);

}
.dm-wrap .community-ranking-wrap .ranking-header .trophy-img {
  width: 100%;
  margin: 1.6rem auto;
}
.dm-wrap .community-ranking-wrap .ranking-header .trophy-img img {
  width: 100%;
  display: block;
}
.dm-wrap .community-ranking-wrap .ranking-header .total-participant-banner {
  background-color: #F5F5E2;
  /* Light beige/greenish tint */
  border-radius: 0.8rem;
  padding: 0.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.dm-wrap .community-ranking-wrap .ranking-header .total-participant-banner::before {
  content: "";
  display: inline-block;
  width: 1.6rem;
  height: 1.6rem;
  margin-right: 0.4rem;
  background: url(../dm_images/challenge/ico_user.png) no-repeat center/contain;
}
.dm-wrap .community-ranking-wrap .ranking-header .total-participant-banner .txt {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.4;
}
.dm-wrap .community-ranking-wrap .ranking-header .total-participant-banner b {
  color: var(--primary-color);
  /* Dark green text */
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.4;
}
.dm-wrap .community-ranking-wrap .ranking-list {
  padding: 0 2rem 13rem;
  /* Bottom padding for floating bar space */
}
.dm-wrap .community-ranking-wrap .ranking-list ul {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.dm-wrap .community-ranking-wrap .ranking-list .rank-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.8rem;
  height: 4.8rem;
}
.dm-wrap .community-ranking-wrap .ranking-list .rank-item .rank-col {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}
.dm-wrap .community-ranking-wrap .ranking-list .rank-item .rank-col .rank-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.2rem;
  height: 3.2rem;
  font-size: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.dm-wrap .community-ranking-wrap .ranking-list .rank-item .rank-col .rank-badge.gold {
  background-image: url("../dm_images/challenge/ico_medal_gold.png");
}
.dm-wrap .community-ranking-wrap .ranking-list .rank-item .rank-col .rank-badge.silver {
  background-image: url("../dm_images/challenge/ico_medal_silver.png");
}
.dm-wrap .community-ranking-wrap .ranking-list .rank-item .rank-col .rank-badge.bronze {
  background-image: url("../dm_images/challenge/ico_medal_bronze.png");
}
.dm-wrap .community-ranking-wrap .ranking-list .rank-item .rank-col .rank-num {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--gray-color-500);
  width: 3.2rem;
  text-align: center;
}
.dm-wrap .community-ranking-wrap .ranking-list .rank-item .rank-col .user-name {
  font-size: 1.6rem;
  color: var(--gray-color-800);
  font-weight: 500;
}
.dm-wrap .community-ranking-wrap .ranking-list .rank-item .count-col {
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--gray-color-800);
  /* My Rank Floating Bar */
}
.dm-wrap .tag-status {
  display: inline-block;
  padding: 0.3rem 0.8rem;
  border-radius: 1.2rem;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;

}
.dm-wrap .tag-status.status-ing {
  background-color: var(--primary-color);
  color: #fff;
}
.dm-wrap .tag-status.status-end {
  background-color: #E5E5E5;
  color: #999;
}
.dm-wrap .tag-status.proceeding {
  /* Fallback  or alias if needed, but better to use status-ing */
  background-color: var(--primary-color);
  color: #fff;
  /* =========================================
  챌린지 미션 페이지 (Challenge Mission)
  ========================================= */
}
.dm-wrap .challenge-mission-wrap {
  background: #ECEFCF;
  min-height: 100vh;
  padding: 2.4rem 2rem 4.8rem;
  /* Mission Progress Card */
  /* Daily Mission Card */
}
.dm-wrap .challenge-mission-wrap.completed .daily-mission-card {
  border: 1px solid #9DC460;
}


.dm-wrap .challenge-mission-wrap.type01 .mission-top-area {
  padding-bottom: 2rem;
  position: relative;
  background: url("../dm_images/challenge/character_ing.png") no-repeat right -0.5rem;
  background-size:13.6rem;

}
.dm-wrap .challenge-mission-wrap.type02 .mission-top-area {
  padding-bottom: 2rem;
  position: relative;
  background: url("../dm_images/challenge/character_end.png") no-repeat right -0.5rem;
  background-size:13.6rem;

}
.dm-wrap .challenge-mission-wrap.type03 .mission-top-area {
  padding-bottom: 2rem;
  position: relative;
  background: url("../dm_images/challenge/character_end2.png") no-repeat right -0.5rem;
  background-size:13.6rem;
}


.dm-wrap .challenge-mission-wrap .mission-top-area .status-row {
  display: flex;
  align-items: center;
  margin-bottom: 1.6rem;
}
.dm-wrap .challenge-mission-wrap .mission-top-area .status-row .tag-status {
  position: relative;
  z-index: 1;
  min-width: 5.8rem;
  height: 2.4rem;
  line-height: 2.4rem;
  padding-top: 0.1rem;
}
.dm-wrap .challenge-mission-wrap .mission-top-area .status-row .d-day-txt {
  background-color: rgba(255, 255, 255, 0.6);
  color: var(--primary-color);
  font-size: 1.3rem;
  font-weight: 700;
  padding: 0.5rem 1.2rem 0.3rem 2.5rem;
  margin-left: -1.8rem;
  border-radius: 1.2rem;
  line-height: 1.2;

  height: 2.4rem;
}
.dm-wrap .challenge-mission-wrap .mission-top-area .mission-tit {
  font-size: 2.3rem;
  font-weight: 700;
  color: var(--gray-color-900);
  line-height: 1.2;

  word-break: keep-all;
  max-width:25rem;
}
.dm-wrap .challenge-mission-wrap .mission-progress-card {
  background: #fff;
  border-radius: 1.6rem;
  padding: 1.6rem;
  margin-bottom: 2rem;
}
.dm-wrap .challenge-mission-wrap .mission-progress-card .card-head {
  margin-bottom: 3rem;
  position: relative;
  /* Space for Tooltip */
}
.dm-wrap .challenge-mission-wrap .mission-progress-card .card-head .c-tit {
  font-size: 1.8rem;
  line-height: 1.4;
  font-weight: 700;
  color: var(--gray-color-800);
  margin-bottom: 0.4rem;
}


.dm-wrap .challenge-mission-wrap .mission-progress-card .card-head .top-box {display: flex;align-items: center;justify-content: space-between;}

.dm-wrap .challenge-mission-wrap .mission-progress-card .card-head .dayNum {background:#F3F3F3;padding:0.1rem 0.8rem;color:#6FB53D;font-size:1.2rem;font-weight:700;line-height:1.4;border-radius: 0.4rem;}

.dm-wrap .challenge-mission-wrap .mission-progress-card .card-head .c-desc {
  font-size: 1.3rem;
  color: var(--gray-color-600);
  line-height: 1.4;
  font-weight: 500;
}
.dm-wrap .challenge-mission-wrap .mission-progress-card .card-head .c-day {
  position: absolute;
  right: 0;
  top: 0.4rem;
  display: inline-block;
  width: auto;
  font-size: 1.2rem;
  color: var(--primary-color);
  font-weight: 700;
  padding: 0 0.8rem;
  height: 2rem;
  line-height: 2rem;
  background-color: var(--gray-color-50);
  border-radius: 0.4rem;
}
.dm-wrap .challenge-mission-wrap .mission-progress-card .progress-bar-area {
  position: relative;
}
.dm-wrap .challenge-mission-wrap .mission-progress-card .progress-bar-area .bar-container {
  position: relative;
  height: 0.8rem;
  background-color: var(--gray-color-100);
  border-radius: 0.8rem;
  margin-bottom: 0.4rem;
}
.dm-wrap .challenge-mission-wrap .mission-progress-card .progress-bar-area .bar-container .bar-fill {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  background-color: var(--primary-color);
  border-radius: 0.8rem;
  /* Width controlled inline */
  /* Tooltip Badge */
  /* Round End Indicator */
}
.dm-wrap .challenge-mission-wrap .mission-progress-card .progress-bar-area .bar-container .bar-fill .tooltip-badge {
  position: absolute;
  right: 0;
  top: -2.8rem;
  transform: translateX(50%);
  background-color: var(--gray-color-800);
  color: #fff;
  font-size: 1.2rem;
  line-height: 1.4;
  font-weight: 700;
  padding: 0.2rem 0.6rem;
  border-radius: 3.2rem;
  white-space: nowrap;
}
.dm-wrap .challenge-mission-wrap .mission-progress-card .progress-bar-area .bar-container .bar-fill .tooltip-badge::after {
  content: "";
  position: absolute;
  bottom: -0.4rem;
  left: 50%;
  transform: translateX(-50%);
  border-top: 0.5rem solid var(--gray-color-800);
  border-left: 0.4rem solid transparent;
  border-right: 0.4rem solid transparent;
}
.dm-wrap .challenge-mission-wrap .mission-progress-card .progress-bar-area .bar-container .bar-fill::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(50%, -50%);
  width: 0.8rem;
  height: 0.8rem;
  background-color: var(--primary-color-600);
  border-radius: 50%;
}
.dm-wrap .challenge-mission-wrap .mission-progress-card .progress-bar-area .bar-container .goal-flag {
  position: absolute;
  right: 0rem;
  bottom: 0.1rem;
  width: 1.6rem;
  height: 2.4rem;
  background: url("../dm_images/challenge/ico_flag_red.png") no-repeat center/contain;
  transform: translateX(50%);
}
.dm-wrap .challenge-mission-wrap .mission-progress-card .progress-bar-area .bar-labels {
  display: flex;
  justify-content: space-between;
  font-size: 1.2rem;
  color: var(--gray-color-500);
  font-weight: 500;
}
.dm-wrap .challenge-mission-wrap .mission-progress-card .progress-bar-area .bar-labels .r-txt {
  font-weight: 700;
}
.dm-wrap .challenge-mission-wrap .daily-mission-card {
  background: #fff;
  border-radius: 1.6rem;
  box-shadow: 0 0.4rem 1.6rem rgba(0, 0, 0, 0.04);
  position: relative;
  overflow: hidden;
}
.dm-wrap .challenge-mission-wrap .daily-mission-card .dm-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  height: 4rem;
}
.dm-wrap .challenge-mission-wrap .daily-mission-card .dm-header .date {
  padding: 2rem 0 0 1.6rem;
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--primary-color);
  letter-spacing: -0.05rem;
  line-height: 1.3;
  padding-bottom: 0.2rem;
  flex: 1;
  position: relative;
}
.dm-wrap .challenge-mission-wrap .daily-mission-card .dm-header .date::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  width: 1.2rem;
  height: 1.2rem;
  background: url("../dm_images/challenge/slice_green.png") no-repeat center/contain;
}
.dm-wrap .challenge-mission-wrap .daily-mission-card .dm-header .btn-sprout-count {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
  width: 17rem;
  height: 4rem;
  background-color: #F5F5E2;
  font-size: 1.45rem;
  font-weight: 700;
  color: var(--primary-color);
}
.dm-wrap .challenge-mission-wrap .daily-mission-card .dm-header .btn-sprout-count .ico-sprout {
  width: 1.6rem;
  height: 1.6rem;
  background: url("../dm_images/challenge/ico_sprout.png") no-repeat center/contain;
}
.dm-wrap .challenge-mission-wrap .daily-mission-card .dm-header .btn-sprout-count::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 1.2rem;
  height: 1.2rem;
  background: url("../dm_images/challenge/slice_white.png") no-repeat center/contain;
}
.dm-wrap .challenge-mission-wrap .daily-mission-card .dm-header .btn-sprout-count::after {
  content: "";
  display: inline-block;
  width: 1.2rem;
  height: 1.2rem;
  margin-left: 0.6rem;
  background: url("../dm_images/challenge/ico_arrow_green.png") no-repeat center/contain;
}
.dm-wrap .challenge-mission-wrap .daily-mission-card .dm-greeting {
  padding: 1.6rem 1.6rem 0.4rem;  
}
.dm-wrap .challenge-mission-wrap .daily-mission-card .dm-greeting .d-flex {
  display:flex;
  align-items: flex-end;
  justify-content: space-between;
}
.dm-wrap .challenge-mission-wrap .daily-mission-card .dm-greeting .ch-num {
  font-size:1.3rem;
  color:#5B5B5B;

}
.dm-wrap .challenge-mission-wrap .daily-mission-card .dm-greeting .ch-num span {
  color:#6FB53D;
  font-size:1.3rem;
  font-weight: 700;
}
.dm-wrap .challenge-mission-wrap .daily-mission-card .dm-greeting b {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--gray-color-900);
  line-height: 1.4;
  display: block;
  margin-bottom: 0.4rem;
}
.dm-wrap .challenge-mission-wrap .daily-mission-card .dm-greeting .sub {
  font-size: 1.3rem;
  color: var(--gray-color-600);
  line-height: 1.4;
  font-weight: 500;
}
.dm-wrap .challenge-mission-wrap .daily-mission-card .img-mission {
  display: block;
  width: 100%;
  margin-top: 1.4rem;
  padding-bottom: 3.2rem;
  text-align: center;
}
.dm-wrap .challenge-mission-wrap .daily-mission-card .img-mission img {
  width: 100%;
} 
.dm-wrap .daily-action-wrap {
  position: relative;
}
.dm-wrap .daily-action-wrap .dm-status {
  position: absolute;
  right: 1.6rem;
  top: -2.2rem;
  text-align: right;
  font-size: 1.5rem;

  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.dm-wrap .daily-action-wrap .dm-status .current {
  font-weight: 700;
  color: var(--primary-color);
}
.dm-wrap .daily-action-wrap .dm-status .slash {
  color: var(--gray-color-700);
  margin: 0 0.2rem 0 0.4rem;
}
.dm-wrap .daily-action-wrap .dm-status .total {
  color: var(--gray-color-700);
  font-weight: 500;
}
.dm-wrap .daily-action-list {
  display: flex;
  flex-direction: column;
  /* Type Status (Simple List) */
}
.dm-wrap .daily-action-list li {
  width: 100%;
}
.dm-wrap .daily-action-list.type-status {
  gap: 0.8rem;
}
.dm-wrap .daily-action-list.type-status .action-item {
  flex-direction: row;
  align-items: center;
  padding: 1.2rem 1.6rem;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 1.2rem;
  background-color: #fff;
  /* Badges */
}
.dm-wrap .daily-action-list.type-status .action-item.completed {
  border: 1px solid rgba(0, 0, 0, 0.04);
  background-color: rgba(0, 0, 0, 0.04);
}
.dm-wrap .daily-action-list.type-status .action-item .icon-box {
  width: 4rem;
  height: 4rem;
  margin-right: 1.2rem;
  flex-shrink: 0;
  border-radius: 50%;
  background-color: #f8f8f8;
  /* Light bg for icon */
  display: flex;
  align-items: center;
  justify-content: center;
}
.dm-wrap .daily-action-list.type-status .action-item .icon-box img {
  width: 4rem;
  height: 4rem;
  -o-object-fit: contain;
     object-fit: contain;
}
.dm-wrap .daily-action-list.type-status .action-item .action-name {
  flex: 1;
  font-size: 1.5rem;
  font-weight: 500;
  color: var(--gray-color-800);
  display:flex;
  flex-direction: column;
}
.dm-wrap .daily-action-list.type-status .action-item .action-name a {
    color: #383838;
    font-size: 1.2rem;
}
.dm-wrap .daily-action-list.type-status .action-item .status-badge {
  width: 5.5rem;
  display: inline-block;
  text-align: center;
  padding: 0.4rem 0.8rem;
  border-radius: 3.2rem;
  background-color: #F5F5E2;
  font-size: 1.2rem;
  border: 1px solid #F5F5E2;
  font-weight: 600;
  color: var(--primary-color);

}
.dm-wrap .daily-action-list.type-status .action-item .badge-completed {
  display: inline-block;
  padding: 0.4rem 0.8rem;
  border-radius: 3.2rem;
  background-color: var(--gray-color-100);
  font-size: 1.2rem;
  font-weight: 600;
  border: 1px solid rgba(0, 0, 0, 0.04);
  color: var(--gray-color-500);

}
.dm-wrap .daily-action-list.type-status .action-item .badge-wait {
  display: inline-block;
  padding: 0.4rem 0.8rem;
  border-radius: 3.2rem;
  background-color: var(--gray-color-100);
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--gray-color-700);

}
.dm-wrap .daily-action-list .action-item {
  display: flex;
  flex-direction: column;
  padding: 2rem 1.6rem;
  border-bottom: 0.4rem solid var(--gray-color-25);
  background: #fff;
  position: relative;
  transition: all 0.2s;
  /* Header Area */
  /* Content Area */
  /* Button Type */
  /* Link Type */
  /* Diet Buttons Group */
  /* Diet Swiper */
  /* Step Progress */
  /* Photo Auth Display */
  /* Data Display Box (For Completed/In-Progress State) */
  /* Complted Button State (White, Border, Check or just text) */
}
.dm-wrap .daily-action-list .action-item .head-area {
  display: flex;
  align-items: center;
  width: 100%;
}
.dm-wrap .daily-action-list .action-item .head-area .icon-box {
  width: 4.8rem;
  height: 4.8rem;
  margin-right: 0.8rem;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.dm-wrap .daily-action-list .action-item .head-area .icon-box img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.dm-wrap .daily-action-list .action-item .head-area .action-name {
  flex: 1;
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--gray-color-800);
  line-height: 1.4;
}
.dm-wrap .daily-action-list .action-item .head-area .right-area {
  margin-left: auto;
}
.dm-wrap .daily-action-list .action-item .head-area .right-area .status-badge {
  width: 5.5rem;
  text-align: center;
  display: inline-block;
  padding: 0.4rem 0.8rem;
  border-radius: 3.2rem;
  background-color: #F5F5E2;
  font-size: 1.2rem;
  border: 1px solid #F5F5E2;
  font-weight: 600;
  color: var(--primary-color);

}
.dm-wrap .daily-action-list .action-item .head-area .right-area .badge-completed {
  display: inline-block;
  padding: 0.4rem 0.8rem;
  border-radius: 3.2rem;
  background-color: var(--gray-color-100);
  font-size: 1.2rem;
  font-weight: 600;
  border: 1px solid rgba(0, 0, 0, 0.04);
  color: var(--gray-color-500);

}
.dm-wrap .daily-action-list .action-item .head-area .right-area .badge-wait {
  display: inline-block;
  padding: 0.4rem 0.8rem;
  border-radius: 3.2rem;
  background-color: var(--gray-color-100);
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--gray-color-700);

}
.dm-wrap .daily-action-list .action-item .content-area {
  width: 100%;
  margin-top: 1.6rem;
}
.dm-wrap .daily-action-list .action-item .btn-add-action {
  width: 100%;
  height: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  border: 1px dashed var(--primary-color);
  border-radius: 0.8rem;
  color: var(--primary-color);
  font-size: 1.5rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.2s;
}
.dm-wrap .daily-action-list .action-item .btn-add-action.line {
  border: 1px solid var(--primary-color);
}
.dm-wrap .daily-action-list .action-item .btn-add-action i.ico-plus {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  background: url("../dm_images/common/ico_plus_green.png") no-repeat center/contain;
  margin-top: 0.1rem;
}
.dm-wrap .daily-action-list .action-item.type-link .link-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.6rem;
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
  background-color: var(--gray-color-50);
  border-radius: 0.6rem;
  text-decoration: none;
}
.dm-wrap .daily-action-list .action-item.type-link .link-box .tit {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--primary-color);
  max-width:95%;
}
.dm-wrap .daily-action-list .action-item.type-link .link-box .tit > em {
  font-weight: 700;
  font-size: 1.4rem;
  color: var(--gray-color-700);
}
.dm-wrap .daily-action-list .action-item.type-link .link-box .ico-arr-right {
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  background: url("../dm_images/common/ico_arrow_g.png") no-repeat center/contain;
}
.dm-wrap .daily-action-list .action-item .swiper-diet .diet-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/1;
  border: 1px dashed var(--primary-color);
  border-radius: 0.8rem;
  background-color: #fff;
  box-sizing: border-box;
  /* Filled State (Data Exists) */
}
.dm-wrap .daily-action-list .action-item .swiper-diet .diet-card .d-tit {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  color: var(--gray-color-800);
  font-size: 1.3rem;
  font-weight: 600;
  margin-bottom: 0.8rem;

}
.dm-wrap .daily-action-list .action-item .swiper-diet .diet-card .d-tit i {
  display: inline-block;
  width: 1.6rem;
  height: 1.6rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.dm-wrap .daily-action-list .action-item .swiper-diet .diet-card .d-tit .ico-sun {
  background-image: url("../dm_images/challenge/ico_sun_gray.png");
}
.dm-wrap .daily-action-list .action-item .swiper-diet .diet-card .d-tit .ico-sun-full {
  background-image: url("../dm_images/challenge/ico_sun_full_gray.png");
}
.dm-wrap .daily-action-list .action-item .swiper-diet .diet-card .d-tit .ico-moon {
  background-image: url("../dm_images/challenge/ico_moon_gray.png");
}
.dm-wrap .daily-action-list .action-item .swiper-diet .diet-card .d-tit .ico-coffee {
  background-image: url("../dm_images/challenge/ico_coffee_gray.png");
}
.dm-wrap .daily-action-list .action-item .swiper-diet .diet-card .btn-diet-add {
  display: block;
  width: 2rem;
  height: 2rem;
  font-size: 0;
  border-radius: 50%;
  background: url(../dm_images/common/ico_plus_green.png) no-repeat center/contain;
  border: none;
  cursor: pointer;
}
.dm-wrap .daily-action-list .action-item .swiper-diet .diet-card.filled {
  border: none;
  background-color: #F9F9F9;
}
.dm-wrap .daily-action-list .action-item .swiper-diet .diet-card.filled .d-tit .ico-sun {
  background-image: url("../dm_images/challenge/ico_sun.png");
}
.dm-wrap .daily-action-list .action-item .swiper-diet .diet-card.filled .d-tit .ico-sun-full {
  background-image: url("../dm_images/challenge/ico_sun_full.png");
}
.dm-wrap .daily-action-list .action-item .swiper-diet .diet-card.filled .d-tit .ico-moon {
  background-image: url("../dm_images/challenge/ico_moon.png");
}
.dm-wrap .daily-action-list .action-item .swiper-diet .diet-card.filled .d-tit .ico-coffee {
  background-image: url("../dm_images/challenge/ico_coffee.png");
}
.dm-wrap .daily-action-list .action-item .swiper-diet .diet-card.filled .d-val {
  margin-top: 0.2rem;
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.2rem;
}
.dm-wrap .daily-action-list .action-item .swiper-diet .diet-card.filled .d-val b {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--gray-color-800);
  line-height: 1.4;
}
.dm-wrap .daily-action-list .action-item .swiper-diet .diet-card.filled .d-val span {
  font-size: 1.3rem;
  color: var(--gray-color-600);
  font-weight: 400;
  line-height: 1.4;
}
.dm-wrap .daily-action-list .action-item .step-progress-box .val-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.4rem;
}
.dm-wrap .daily-action-list .action-item .step-progress-box .val-row .curr {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--gray-color-800);
  margin-right: 0.2rem;
}
.dm-wrap .daily-action-list .action-item .step-progress-box .val-row .unit {
  display: flex;
  align-items: center;
  font-size: 1.4rem;
  font-weight: 400;
  color: var(--gray-color-600);
}
.dm-wrap .daily-action-list .action-item .step-progress-box .val-row .goal {
  font-size: 1.4rem;
  color: var(--gray-color-400);
  font-weight: 400;
}
.dm-wrap .daily-action-list .action-item .step-progress-box .prog-bar-bg {
  position: relative;
  width: 100%;
  height: 0.8rem;
  background-color: #E5E5E5;
  border-radius: 0.4rem;
  overflow: hidden;
}
.dm-wrap .daily-action-list .action-item .step-progress-box .prog-bar-bg .bar-fill {
  height: 100%;
  background-color: var(--primary-color);
  border-radius: 0.4rem;
}
.dm-wrap .daily-action-list .action-item .photo-auth-display {
  width: 100%;
  display: flex;
  justify-content: center;
}
.dm-wrap .daily-action-list .action-item .photo-auth-display .img-box {
  width: 16.1rem;
  height: 16.1rem;
  border-radius: 1.2rem;
  overflow: hidden;
  background-color: #f8f8f8;
}
.dm-wrap .daily-action-list .action-item .photo-auth-display .img-box img {
  width: 100%;
  height: 100%;

     object-fit: cover;
}
.dm-wrap .daily-action-list .action-item .data-display-box {
  width: 100%;
  height: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--gray-color-50);
  border-radius: 0.8rem;
}
.dm-wrap .daily-action-list .action-item .data-display-box .btn-add-action {
  border: none;
}
.dm-wrap .daily-action-list .action-item .data-display-box .val {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--gray-color-800);
  margin-right: 0.2rem;
}
.dm-wrap .daily-action-list .action-item .data-display-box .unit {
  display: flex;
  align-items: center;
  font-size: 1.3rem;
  font-weight: 400;
  color: var(--gray-color-600);
}
.dm-wrap .daily-action-list .action-item .data-display-box.col-3 {
  display: flex;
  justify-content: center;
  gap: 0.8rem;
}
.dm-wrap .daily-action-list .action-item .data-display-box.col-3 .item {
  display: flex;
  align-items: center;
  gap: 0.2rem;
}
.dm-wrap .daily-action-list .action-item .data-display-box.col-3 .label {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--gray-color-800);
}
.dm-wrap .daily-action-list .action-item .btn-add-action.completed {
  border: 1px solid var(--gray-color-200);
  color: var(--gray-color-800);
  background-color: #fff;
  /* If we want a check icon */
}
.dm-wrap .community-detail-wrap {
  padding-bottom: 0;
}
.dm-wrap .community-detail-wrap .post-detail-box {
  background: #fff;
  padding-bottom: 3.2rem;
}
.dm-wrap .community-detail-wrap .post-detail-box .box-header {
  padding: 2.4rem 2rem 1.6rem;
}
.dm-wrap .community-detail-wrap .post-detail-box .box-header .user-info {
  display: flex;
  align-items: center;
  position: relative;
}
.dm-wrap .community-detail-wrap .post-detail-box .box-header .user-info .thumb {
  width: 3.6rem;
  height: 3.6rem;
  border-radius: 50%;
  overflow: hidden;
  margin-right: 0.8rem;
  flex-shrink: 0;
}
.dm-wrap .community-detail-wrap .post-detail-box .box-header .user-info .thumb.default {
  background: url("../dm_images/challenge/user_default.png") no-repeat center/contain;
}
.dm-wrap .community-detail-wrap .post-detail-box .box-header .user-info .thumb.default img {
  display: none;
}
.dm-wrap .community-detail-wrap .post-detail-box .box-header .user-info .thumb img {
  width: 100%;
  height: 100%;

  object-fit: cover;
}
.dm-wrap .community-detail-wrap .post-detail-box .box-header .user-info .desc {
  flex: 1;
}
.dm-wrap .community-detail-wrap .post-detail-box .box-header .user-info .desc .info {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  line-height: 1.4;
}
.dm-wrap .community-detail-wrap .post-detail-box .box-header .user-info .desc .info b {
  font-size: 1.3rem;
  color: var(--gray-color-900);
  font-weight: 700;
}
.dm-wrap .community-detail-wrap .post-detail-box .box-header .user-info .desc .info .id {
  font-size: 1.3rem;
  color: var(--gray-color-500);
  font-weight: 400;
  vertical-align: middle;
  padding-left: 0.6rem;
  position: relative;
}
.dm-wrap .community-detail-wrap .post-detail-box .box-header .user-info .desc .info .id::before {
  content: "";
  display: inline-block;
  width: 0.2rem;
  height: 0.2rem;
  border-radius: 50%;
  background-color: var(--gray-color-300);
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.dm-wrap .community-detail-wrap .post-detail-box .box-header .user-info .desc .date {
  font-size: 1.2rem;
  line-height: 1.4;
  color: var(--gray-color-400);
}
.dm-wrap .community-detail-wrap .post-detail-box .box-header .user-info .right {
  /* Menu Layer reuse from list */
  /* 전역 컴포넌트 */
}
.dm-wrap .community-detail-wrap .post-detail-box .box-header .user-info .right .btn-more-menu {
  width: 2.4rem;
  height: 2.4rem;
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
}
.dm-wrap .community-detail-wrap .post-detail-box .box-header .user-info .right .btn-more-menu .ico-more-menu {
  display: block;
  width: 100%;
  height: 100%;
  background: url("../dm_images/challenge/ico_more_menu.png") no-repeat center/contain;
}
.dm-wrap .community-detail-wrap .post-detail-box .post-body {
  padding: 0 2rem;
}
.dm-wrap .community-detail-wrap .post-detail-box .post-body .cate-label {
  display: inline-flex;
  align-items: center;
}
.dm-wrap .community-detail-wrap .post-detail-box .post-body .cate-label .icon {
  width: 7.1rem;
  height: 3rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.dm-wrap .community-detail-wrap .post-detail-box .post-body .cate-label .icon span {
  font-size: 0;
}
.dm-wrap .community-detail-wrap .post-detail-box .post-body .cate-label .icon.intro {
  background-image: url("../dm_images/challenge/ico_cate_intro.png");
}
.dm-wrap .community-detail-wrap .post-detail-box .post-body .cate-label .icon.cheering {
  background-image: url("../dm_images/challenge/ico_cate_cheering.png");
}
.dm-wrap .community-detail-wrap .post-detail-box .post-body .cate-label .icon.boast {
  background-image: url("../dm_images/challenge/ico_cate_boast.png");
}
.dm-wrap .community-detail-wrap .post-detail-box .post-body .post-tit {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--gray-color-900);
  margin-bottom: 1.2rem;
  line-height: 1.4;
}
.dm-wrap .community-detail-wrap .post-detail-box .post-body .post-txt {
  font-size: 1.5rem;
  line-height: 1.6;
  color: var(--gray-color-800);
  margin-top: 1.6rem;
}
.dm-wrap .community-detail-wrap .post-detail-box .post-body .post-img-area {
  width: 100%;
  aspect-ratio: 335/335;
  border-radius: 1.2rem;
  overflow: hidden;
  position: relative;
}
.dm-wrap .community-detail-wrap .post-detail-box .post-body .post-img-area::before {
  content: "";
  display: block;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 87.61%, rgba(0, 0, 0, 0.1) 100%);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.dm-wrap .community-detail-wrap .post-detail-box .post-body .post-img-area img {
  width: 100%;
  height: 100%;

  object-fit: cover;
}
.dm-wrap .community-detail-wrap .post-detail-box .post-body .action-row {
  display: flex;
  justify-content: space-between;
  margin-top: 2.4rem;
  align-items: center;
}
.dm-wrap .community-detail-wrap .post-detail-box .post-body .action-row .right {
  display: flex;
  justify-content: flex-end;
  gap: 1.2rem;
}
.dm-wrap .community-detail-wrap .post-detail-box .post-body .action-row .right button {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  border: none;
  background: transparent;
  padding: 0;
  cursor: pointer;
}
.dm-wrap .community-detail-wrap .post-detail-box .post-body .action-row .right button span {
  font-size: 1.3rem;
  color: var(--gray-color-600);
  font-weight: 500;
  line-height: 1.4;
}
.dm-wrap .community-detail-wrap .post-detail-box .post-body .action-row .right button i {
  width: 1.6rem;
  height: 1.6rem;
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
}
.dm-wrap .community-detail-wrap .post-detail-box .post-body .action-row .right button .ico-heart {
  background-image: url("../dm_images/challenge/ico_heart.png");
}
.dm-wrap .community-detail-wrap .post-detail-box .post-body .action-row .right button .ico-reple {
  background-image: url("../dm_images/challenge/ico_comment.png");
}
.dm-wrap .community-detail-wrap .post-detail-box .post-body .action-row .right button .ico-heart.on {
  background-image: url("../dm_images/challenge/ico_heart_on.png");
}
.dm-wrap .community-detail-wrap .comment-section {
  background: #fff;
  padding: 0 0 1.6rem 0;
}
.dm-wrap .community-detail-wrap .comment-section .comment-head {
  padding: 2rem 2rem 0.4rem;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--gray-color-900);

}
.dm-wrap .community-detail-wrap .comment-section .comment-head .count {
  color: #ff7425;
  margin-left: 0.4rem;
}
.dm-wrap .community-detail-wrap .comment-section .comment-list {
  list-style: none;
  margin: 0;
  padding: 0;
  /* Reply (Nested Comment) */
}
.dm-wrap .community-detail-wrap .comment-section .comment-list > li {
  border-bottom: 1px solid var(--gray-color-100);
  padding: 2rem;
}
.dm-wrap .community-detail-wrap .comment-section .comment-list > li:last-child {
  border-bottom: none;
}
.dm-wrap .community-detail-wrap .comment-section .comment-list > li .comment-item .user-top {
  display: flex;
  align-items: flex-start;
  margin-bottom: 0.8rem;
  position: relative;
}
.dm-wrap .community-detail-wrap .comment-section .comment-list > li .comment-item .user-top .thumb {
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 50%;
  background: #eee;
  margin-right: 0.8rem;
  flex-shrink: 0;
  overflow: hidden;
}
.dm-wrap .community-detail-wrap .comment-section .comment-list > li .comment-item .user-top .thumb.default {
  background: url("../dm_images/challenge/user_default.png") no-repeat center/contain;
}
.dm-wrap .community-detail-wrap .comment-section .comment-list > li .comment-item .user-top .info {
  flex: 1;
  /* 첫 번째 줄: 이름 + ID + 작성자 배지 */
  line-height: 1.4;
  margin-top: -0.2rem;
  font-size:1.4rem;
  color:#777;
}
.dm-wrap .community-detail-wrap .comment-section .comment-list > li .comment-item .user-top .info .name {
  font-size: 1.3rem;
  color: var(--gray-color-900);
  font-weight: 700;
  vertical-align: middle;
}
.dm-wrap .community-detail-wrap .comment-section .comment-list > li .comment-item .user-top .info .id {
  font-size: 1.3rem;
  color: var(--gray-color-500);
  font-weight: 400;
  vertical-align: middle;
  padding-left: 0.6rem;
  position: relative;
}
.dm-wrap .community-detail-wrap .comment-section .comment-list > li .comment-item .user-top .info .id::before {
  content: "";
  display: inline-block;
  width: 0.2rem;
  height: 0.2rem;
  border-radius: 50%;
  background-color: var(--gray-color-300);
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.dm-wrap .community-detail-wrap .comment-section .comment-list > li .comment-item .user-top .info .badge-writer {
  display: inline-block;
  font-size: 1.2rem;
  padding: 0 0.6rem;
  color: var(--gray-color-700);
  background-color: var(--gray-color-50);
  border-radius: 0.4rem;
  margin-left: 0.4rem;
  vertical-align: middle;
  height: 1.8rem;
  line-height: 1.8rem;
}
.dm-wrap .community-detail-wrap .comment-section .comment-list > li .comment-item .user-top .info .time {
  line-height: 1.4;
  display: block;
  font-size: 1.1rem;
  color: var(--gray-color-400);
  font-family: "Roboto";
}
.dm-wrap .community-detail-wrap .comment-section .comment-list > li .comment-item .user-top .menu-ly-wrap {
  position: absolute;
  right: -0.8rem;
  top: 0;
}
.dm-wrap .community-detail-wrap .comment-section .comment-list > li .comment-item .comment-con {
  padding-left: 4rem;
  font-size: 1.4rem;
  color: var(--gray-color-800);
  line-height: 1.5;
  margin-bottom: 1.2rem;
  word-break: break-all;
}
.dm-wrap .community-detail-wrap .comment-section .comment-list > li .comment-item .comment-act {
  padding-left: 4rem;
  display: flex;
  align-items: center;
  gap: 1.2rem;
}
.dm-wrap .community-detail-wrap .comment-section .comment-list > li .comment-item .comment-act .btn-like-txt,
.dm-wrap .community-detail-wrap .comment-section .comment-list > li .comment-item .comment-act .btn-reply-txt {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  border: none;
  background: transparent;
  padding: 0;
  color: var(--gray-color-500);
  cursor: pointer;
}
.dm-wrap .community-detail-wrap .comment-section .comment-list > li .comment-item .comment-act .btn-like-txt i,
.dm-wrap .community-detail-wrap .comment-section .comment-list > li .comment-item .comment-act .btn-reply-txt i {
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  flex-shrink: 0;
}
.dm-wrap .community-detail-wrap .comment-section .comment-list > li .comment-item .comment-act .btn-like-txt span,
.dm-wrap .community-detail-wrap .comment-section .comment-list > li .comment-item .comment-act .btn-reply-txt span {
  font-size: 1.2rem;
  line-height: 1;
}
.dm-wrap .community-detail-wrap .comment-section .comment-list > li .comment-item .comment-act .btn-like-txt em,
.dm-wrap .community-detail-wrap .comment-section .comment-list > li .comment-item .comment-act .btn-reply-txt em {
  font-size: 1.2rem;
  line-height: 1;
  font-style: normal;
}
.dm-wrap .community-detail-wrap .comment-section .comment-list > li .comment-item .comment-act .btn-like-txt .ico-heart-sm {
  background: url("../dm_images/challenge/ico_heart.png") no-repeat center/contain;
}
.dm-wrap .community-detail-wrap .comment-section .comment-list > li .comment-item .comment-act .btn-like-txt.on .ico-heart-sm {
  background: url("../dm_images/challenge/ico_heart_on.png") no-repeat center/contain;
}
.dm-wrap .community-detail-wrap .comment-section .comment-list > li .comment-item .comment-act .btn-reply-txt .ico-comment-sm {
  background: url("../dm_images/challenge/ico_comment.png") no-repeat center/contain;
}
.dm-wrap .community-detail-wrap .comment-section .comment-list .reply-wrap {
  margin-top: 1.6rem;
  padding-left: 4rem;
}
.dm-wrap .community-detail-wrap .comment-section .comment-list .reply-wrap .comment-item .user-top {
  margin-bottom: 0.8rem;
}
.dm-wrap .community-detail-wrap .comment-section .comment-list .reply-wrap .comment-item .user-top .thumb {
  width: 3.2rem;
  height: 3.2rem;
  margin-right: 0.8rem;
}
.dm-wrap .community-detail-wrap .comment-section .comment-list .reply-wrap .comment-item .user-top .info {
  margin-top: 0;
  /* 수직 정렬 보정 */
}
.dm-wrap .community-detail-wrap .comment-section .comment-list .reply-wrap .comment-item .user-top .info .name {
  font-size: 1.2rem;
}
.dm-wrap .community-detail-wrap .comment-section .comment-list .reply-wrap .comment-item .user-top .info .date {
  font-size: 1.1rem;
}
.dm-wrap .community-detail-wrap .comment-section .comment-list .reply-wrap .comment-item .comment-con {
  padding-left: 4rem;
  /* 2.4 + 0.6 */
  font-size: 1.4rem;
  margin-bottom: 1.2rem;
}
.dm-wrap .community-detail-wrap .comment-section .comment-list .reply-wrap .comment-item .comment-act {
  padding-left: 4rem;
  display: flex;
  align-items: center;
  gap: 1.2rem;
}
.dm-wrap .community-detail-wrap .comment-section .comment-list .reply-wrap .comment-item .comment-act .btn-like-txt,
.dm-wrap .community-detail-wrap .comment-section .comment-list .reply-wrap .comment-item .comment-act .btn-reply-txt {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  border: none;
  background: transparent;
  padding: 0;
  color: var(--gray-color-500);
  cursor: pointer;
}
.dm-wrap .community-detail-wrap .comment-section .comment-list .reply-wrap .comment-item .comment-act .btn-like-txt i,
.dm-wrap .community-detail-wrap .comment-section .comment-list .reply-wrap .comment-item .comment-act .btn-reply-txt i {
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  flex-shrink: 0;
}
.dm-wrap .community-detail-wrap .comment-section .comment-list .reply-wrap .comment-item .comment-act .btn-like-txt span,
.dm-wrap .community-detail-wrap .comment-section .comment-list .reply-wrap .comment-item .comment-act .btn-reply-txt span {
  font-size: 1.2rem;
  line-height: 1;
  margin-top: 0.15rem;
  /* 한글 폰트 수직 중앙 보정 */
}
.dm-wrap .community-detail-wrap .comment-section .comment-list .reply-wrap .comment-item .comment-act .btn-like-txt em,
.dm-wrap .community-detail-wrap .comment-section .comment-list .reply-wrap .comment-item .comment-act .btn-reply-txt em {
  font-size: 1.2rem;
  line-height: 1;
  font-style: normal;
}
.dm-wrap .community-detail-wrap .comment-section .comment-list .reply-wrap .comment-item .comment-act .btn-like-txt .ico-heart-sm {
  background: url("../dm_images/challenge/ico_heart.png") no-repeat center/contain;
}
.dm-wrap .community-detail-wrap .comment-section .comment-list .reply-wrap .comment-item .comment-act .btn-like-txt.on .ico-heart-sm {
  background: url("../dm_images/challenge/ico_heart_on.png") no-repeat center/contain;
}
.dm-wrap .community-detail-wrap .comment-section .comment-list .reply-wrap .comment-item .comment-act .btn-reply-txt .ico-comment-sm {
  background: url("../dm_images/challenge/ico_comment.png") no-repeat center/contain;
}
.dm-wrap .community-detail-wrap .comment-section .comment-empty {
  padding: 2rem 0 4.8rem;
  text-align: center;
}
.dm-wrap .community-detail-wrap .comment-section .comment-empty p {
  font-size: 1.6rem;
  color: var(--gray-color-300);
  line-height: 1.4;
}
.dm-wrap .community-detail-wrap .bottom-input-bar {
  width: 100%;
  background: #fff;
  box-sizing: border-box;
  /* 폴백 패딩 */
  /* 안전 영역(Safe Area) 지원 */
  border-top: 1px solid var(--gray-color-200);
  z-index: 900;
  box-shadow: 0px -1px 8px 0px rgba(16, 24, 40, 0.1019607843);
  bottom:0;
  max-width:475px;
}
.dm-wrap .community-detail-wrap .bottom-input-bar .reply-target-info {
  display: flex;
  align-items: center;
  padding: 0.8rem 1.6rem;
  justify-content: space-between;
  border-bottom: 1px solid var(--gray-color-200);
}
.dm-wrap .community-detail-wrap .bottom-input-bar .reply-target-info p {
  font-size: 1.3rem;
  color: var(--gray-color-700);
  font-weight: 500;
  line-height: 1.4;
}
.dm-wrap .community-detail-wrap .bottom-input-bar .reply-target-info p b {
  font-weight: 700;
}
.dm-wrap .community-detail-wrap .bottom-input-bar .reply-target-info .btn-reply-close {
  width: 1.6rem;
  height: 1.6rem;
  border: none;
  background: url("../dm_images/common/ico_close_g.png") no-repeat center/contain;
  /* ico_close_sm.png or similar close icon */
  cursor: pointer;
  padding: 0;
}
.dm-wrap .community-detail-wrap .bottom-input-bar .input-group {
  padding: 1.6rem 1.6rem 2.4rem;
  display: flex;
  gap: 0.8rem;
  align-items: flex-end;
  width: 100%;
  /* 포커스 시 확장 */
}
.dm-wrap .community-detail-wrap .bottom-input-bar .input-group:focus-within {
  flex-direction: column;
  align-items: flex-end;
  gap: 0;
}
.dm-wrap .community-detail-wrap .bottom-input-bar .input-group:focus-within .inp-comment {
  width: 100%;
  height: 8.4rem;
  padding: 0;
  margin-bottom: 0.8rem;
  line-height: 1.5;
}
.dm-wrap .community-detail-wrap .bottom-input-bar .input-group .inp-comment {
  flex: 1;
  height: 4rem;
  border: none;
  font-size: 1.6rem;
  /* iOS 자동 확대 방지 (16px) */
  color: var(--gray-color-900);
  outline: none;
  resize: none;
  background: transparent;
  padding: 0.8rem 0;

  margin: 0;
  /* 기본값 초기화 */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  /* 기본 외형 제거 */
}
.dm-wrap .community-detail-wrap .bottom-input-bar .input-group .inp-comment::-moz-placeholder {
  color: var(--gray-color-500);
}
.dm-wrap .community-detail-wrap .bottom-input-bar .input-group .inp-comment::placeholder {
  color: var(--gray-color-500);
}
.dm-wrap .community-detail-wrap .bottom-input-bar .input-group .btn-submit {
  min-width: 6.1rem;
  height: 4rem;
  line-height: 4rem;
  padding: 0 1.6rem;
  border-radius: 0.6rem;
  background: var(--primary-color);
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  border: none;
  flex-shrink: 0;

  cursor: pointer;
  /* =========================================
  커뮤니티 등록 스타일
  ========================================= */
}


.dm-wrap .community-detail-wrap .bottom-input-bar .input-group .d-flex {display:flex;gap:0.8rem;}
.dm-wrap .community-detail-wrap .bottom-input-bar .input-group .btn-cancel {
  min-width: 6.1rem;
  height: 4rem;
  line-height: 4rem;
  padding: 0 1.6rem;
  border-radius: 0.6rem;
  background: rgba(243, 243, 243, 1);
  color: #5B5B5B;
  font-size: 1.6rem;
  font-weight: 700;
  border: none;
  flex-shrink: 0;

  cursor: pointer;
  /* =========================================
  커뮤니티 취소 스타일
  ========================================= */
}

.dm-wrap .community-regist-wrap {
  padding: 2.4rem 2rem 0;
  /* =========================================
  전역 폼 컴포넌트
  ========================================= */
}
.dm-wrap .regist-form-group {
  margin-bottom: 2.4rem;
}
.dm-wrap .regist-form-group.type-file .regist-label {
  margin-bottom: 1.2rem;
}
.dm-wrap .regist-form-group .regist-label {
  display: block;
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--gray-color-600);
  margin-bottom: 0.6rem;

  /* 커스텀 셀렉트 컴포넌트 */
}
.dm-wrap .custom-select-box {
  position: relative;
}
.dm-wrap .custom-select-box .custom-select-btn {
  width: 100%;
  height: 4.4rem;
  background: #fff;
  border: 1px solid var(--gray-color-200);
  border-radius: 0.8rem;
  text-align: left;
  padding: 0 1.6rem;
  font-size: 1.4rem;
  color: var(--gray-color-600);

  cursor: pointer;
  position: relative;
  z-index: 21;
}
.dm-wrap .custom-select-box .custom-select-btn.selected {
  color: var(--gray-color-900);
}
.dm-wrap .custom-select-box .custom-select-btn::after {
  content: "";
  display: block;
  width: 2rem;
  height: 2rem;
  background: url("../dm_images/common/ico_arrow_down.png") no-repeat center/contain;
  /* 기본 화살표 */
  position: absolute;
  right: 1.2rem;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.2s;
}
.dm-wrap .custom-select-box.active .custom-select-btn {
  border-color: #78bc27;
  /* 브랜드 초록색 */
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-color: transparent;
  /* 리스트와 병합 */
  color: var(--gray-color-900);
  /* 활성화 텍스트 색상 */
}
.dm-wrap .custom-select-box.active .custom-select-btn::after {
  transform: translateY(-50%) rotate(180deg);
}
.dm-wrap .custom-select-box.active .custom-select-options {
  display: block;
  border-color: #78bc27;
}
.dm-wrap .custom-select-box .custom-select-options {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid var(--gray-color-300);
  border-top: none;
  /* 버튼과 병합 */
  border-bottom-left-radius: 0.8rem;
  border-bottom-right-radius: 0.8rem;
  margin-top: -1px;
  /* 버튼 테두리와 겹침 */
  z-index: 20;
  padding: 0.8rem 0;
  box-shadow: 0 0.4rem 1.2rem rgba(0, 0, 0, 0.05);
  /* 더 부드러운 그림자 */
  max-height: 20rem;
  /* 높이 제한 */
  overflow-y: auto;
  /* 스크롤바 스타일링 */
}
.dm-wrap .custom-select-box .custom-select-options::-webkit-scrollbar {
  width: 0.4rem;
}
.dm-wrap .custom-select-box .custom-select-options::-webkit-scrollbar-track {
  background: transparent;
}
.dm-wrap .custom-select-box .custom-select-options::-webkit-scrollbar-thumb {
  background: #ddd;
  border-radius: 0.2rem;
}
.dm-wrap .custom-select-box .custom-select-options li button {
  width: 100%;
  display: block;
  text-align: left;
  padding: 1rem 1.6rem;
  font-size: 1.4rem;
  color: var(--gray-color-900);
  background: transparent;
  border: none;
  cursor: pointer;

}
.dm-wrap .custom-select-box .custom-select-options li button:hover,
.dm-wrap .custom-select-box .custom-select-options li button.on {
  background: #EFF9E6;
  /* 연한 초록 배경 */
  color: #78bc27;
  /* 초록 텍스트 */
  font-weight: 700;
}
.dm-wrap .custom-input {
  width: 100%;
  height: 4.8rem;
  border: 1px solid var(--gray-color-200);
  border-radius: 0.8rem;
  padding: 0 1.6rem;
  font-size: 1.4rem;
  color: var(--gray-color-900);
  border-radius: 0.8rem;

  outline: none;
  transition: border-color 0.2s, background-color 0.2s;
  box-sizing: border-box;
  /* Error State */
  /* 비활성화/읽기전용 상태 */
}
.dm-wrap .custom-input::-moz-placeholder {
  color: var(--gray-color-300);
}
.dm-wrap .custom-input::placeholder {
  color: var(--gray-color-300);
}
.dm-wrap .custom-input:focus {
  border-color: #78bc27;
  background-color: #FAFAF0;
}
.dm-wrap .custom-input.error {
  border-color: #FF5E5E;
  /* 빨강 */
}
.dm-wrap .custom-input:disabled,
.dm-wrap .custom-input[readonly] {
  background-color: #f5f5f5;
  color: var(--gray-color-500);
  border-color: var(--gray-color-200);
  pointer-events: none;
}
.dm-wrap .custom-textarea-wrap {
  position: relative;
  border: 1px solid var(--gray-color-200);
  border-radius: 0.8rem;
  background: #fff;
  padding: 1.6rem 1.6rem 3.6rem 1.6rem;
  /* 카운터를 위한 하단 여백 공간 */
  transition: border-color 0.2s, background-color 0.2s;
  /* 에러 상태 */
  /* 비활성화/읽기전용 상태 */
}
.dm-wrap .custom-textarea-wrap:focus-within {
  border-color: #78bc27;
  background-color: #FAFAF0;
}
.dm-wrap .custom-textarea-wrap.error {
  border-color: #FF5E5E;
}
.dm-wrap .custom-textarea-wrap.disabled {
  background-color: #f5f5f5;
  border-color: var(--gray-color-200);
}
.dm-wrap .custom-textarea-wrap.disabled .custom-textarea {
  background-color: transparent;
  pointer-events: none;
  color: var(--gray-color-500);
}
.dm-wrap .custom-textarea-wrap .custom-textarea {
  width: 100%;
  height: 20rem;
  border: none;
  resize: none;
  outline: none;
  font-size: 1.4rem;
  color: var(--gray-color-900);

  line-height: 1.5;
  padding: 0;
  background: transparent;
}
.dm-wrap .custom-textarea-wrap .custom-textarea::-moz-placeholder {
  color: var(--gray-color-300);
}
.dm-wrap .custom-textarea-wrap .custom-textarea::placeholder {
  color: var(--gray-color-300);
}
.dm-wrap .custom-textarea-wrap .count-wrap {
  display: flex;
  /* 숫자 정렬 */
  align-items: center;
  position: absolute;
  bottom: 1.6rem;
  right: 1.6rem;
  font-size: 1.2rem;
  color: var(--gray-color-400);
  letter-spacing: 0;
  /* ( 0 / 500 ) 형태처럼 꾸미거나 단순 0/500 유지 */
}
.dm-wrap .custom-textarea-wrap .count-wrap::before {
  content: "(";
  margin-right: 0.2rem;
}
.dm-wrap .custom-textarea-wrap .count-wrap::after {
  content: ")";
  margin-left: 0.2rem;
}
.dm-wrap .custom-textarea-wrap .count-wrap .current {
  color: #78bc27;
  /* 초록 */
  font-weight: 700;
  /* 파일 첨부 */
}
.dm-wrap .file-attach-area .file-list {
  display: flex;
  gap: 0.8rem;
  flex-wrap: nowrap;        
  overflow-x: auto;         
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  padding-top: 0.6rem;
}

.dm-wrap .file-attach-area .file-item {
  width: 8rem;
  height: 8rem;
  border-radius: 0.8rem;
  position: relative;
  flex: 0 0 auto;
}
.dm-wrap .file-attach-area .file-item.add-btn {
  border: 1px dashed var(--gray-color-300);
}
.dm-wrap .file-attach-area .file-item.add-btn .btn-add-file {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  /* 카메라 아이콘 CSS 또는 이미지 */
}
.dm-wrap .file-attach-area .file-item.add-btn .btn-add-file > span {
  font-size: 0;
}
.dm-wrap .file-attach-area .file-item.add-btn .btn-add-file::after {
  content: "";
  display: block;
  width: 2.4rem;
  height: 2.4rem;
  background: url("../dm_images/common/ico_camera.png") no-repeat center/contain;
}
.dm-wrap .file-attach-area .file-item.uploaded {
  border: 1px solid var(--gray-color-200);
}
.dm-wrap .file-attach-area .file-item.uploaded .img-box {
  width: 100%;
  height: 100%;
  border-radius: 0.8rem;
  overflow: hidden;
}
.dm-wrap .file-attach-area .file-item.uploaded .img-box img {
  width: 100%;
  height: 100%;

  object-fit: cover;
}
.dm-wrap .file-attach-area .file-item.uploaded .btn-delete-file {
  position: absolute;
  top: -0.6rem;
  right: -0.6rem;
  width: 2rem;
  height: 2rem;
  background: url("../dm_images/common/ico_btn_delete.png") no-repeat center/contain;
  z-index: 2;
  border: none;
  cursor: pointer;
  font-size: 0;
}
.dm-wrap .file-attach-area .file-guide-txt {
  position: relative;
  margin-top: 1.2rem;
  padding-left: 1.2rem;
  font-size: 1.2rem;
  color: var(--gray-color-500);
  line-height: 1.4;
  font-weight: 400;
}
.dm-wrap .file-attach-area .file-guide-txt::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--gray-color-400);
  /* 하단 버튼 */
}
.dm-wrap .challenge-wrap {
  padding: 0;
  background: #fff;
  /* Common Divider */
  /* 초록 요약 박스 */
  /* 초록 요약 박스 */
  /* 에디터 영역 (Editor) */
  /* 아코디언 섹션 */
}
.dm-wrap .challenge-wrap .grey-bar {
  width: 100%;
  height: 0.8rem;
  background-color: var(--gray-color-25);
  border-top: 1px solid var(--gray-color-50);
}
.dm-wrap .challenge-wrap .challenge-visual {
  position: relative;
  width: 100%;
  /* 해시태그 오버레이 (이미지 영역 하단) */
}
.dm-wrap .challenge-wrap .challenge-visual .img-box {
  width: 100%;
  aspect-ratio: 375/258;
  overflow: hidden;
}
.dm-wrap .challenge-wrap .challenge-visual .img-box::after {
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(360deg, #000000 -1.09%, rgba(0, 0, 0, 0) 30.04%);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.dm-wrap .challenge-wrap .challenge-visual .img-box > img {
  width: 100%;
  height: 100%;

  object-fit: cover;
}
.dm-wrap .challenge-wrap .challenge-visual .tag-group {
  position: absolute;
  top: 2rem;
  left: 2rem;
  display: flex;
  gap: 0.6rem;
  z-index: 10;
}
.dm-wrap .challenge-wrap .challenge-visual .tag-group .tag-black {
  display: inline-block;
  padding: 0.4rem 0.8rem;
  background: var(--gray-color-800);
  color: #fff;
  font-size: 1.2rem;
  border-radius: 0.4rem;

}
.dm-wrap .challenge-wrap .challenge-visual .btn-share-circle {
  position: absolute;
  top: 1.6rem;
  right: 2rem;
  width: 3.2rem;
  height: 3.2rem;
  background: url("../dm_images/challenge/ico_share_btn.png") no-repeat center/contain;
  /* 아이콘 가정 */
  border: none;
  cursor: pointer;
  z-index: 7;
  font-size: 0;
}
.dm-wrap .challenge-wrap .challenge-visual .hashtag-overlay {
  position: absolute;
  bottom: 1.6rem;
  left: 2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  z-index: 2;
}
.dm-wrap .challenge-wrap .challenge-visual .hashtag-overlay a {
  display: inline-block;
  height: 2.2rem;
  line-height: 2.2rem;
  color: #fff;
  font-weight: 700;
  font-size: 1.3rem;
}
.dm-wrap .challenge-wrap .challenge-info-header {
  padding: 2.4rem 2rem;
}
.dm-wrap .challenge-wrap .challenge-info-header .tit {
  font-size: 2.1rem;
  font-weight: 700;
  color: var(--gray-color-900);
  line-height: 1.2;
  margin-bottom: 1.6rem;

  word-break: keep-all;
}
.dm-wrap .challenge-wrap .challenge-info-header .info-list {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.dm-wrap .challenge-wrap .challenge-info-header .info-list .item {
  display: flex;
  gap: 1.2rem;
  align-items: flex-start;
  font-size: 1.4rem;
}
.dm-wrap .challenge-wrap .challenge-info-header .info-list .item dt {
  width: 6.8rem;
  color: var(--gray-color-800);
  font-weight: 700;
  display: flex;
  align-items: center;
  line-height: 1.4;
  gap: 0.4rem;
  flex-shrink: 0;
  background: none;
  /* 임의 */
  /* 임의 */
  /* 임의 */
}
.dm-wrap .challenge-wrap .challenge-info-header .info-list .item dt::before {
  content: "";
  display: inline-block;
  width: 1.6rem;
  height: 1.6rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.dm-wrap .challenge-wrap .challenge-info-header .info-list .item dt.ico-target::before {
  background-image: url("../dm_images/challenge/ico_target.png");
}
.dm-wrap .challenge-wrap .challenge-info-header .info-list .item dt.ico-calendar::before {
  background-image: url("../dm_images/challenge/ico_calendar.png");
}
.dm-wrap .challenge-wrap .challenge-info-header .info-list .item dt.ico-star::before {
  background-image: url("../dm_images/challenge/ico_star.png");
}
.dm-wrap .challenge-wrap .challenge-info-header .info-list .item dd {
  color: var(--gray-color-800);
  flex: 1;
  line-height: 1.4;
  font-size: 1.4rem;
  font-weight: 500;
}
.dm-wrap .challenge-wrap .challenge-info-header .info-list .item .star-rating {
  display: flex;
  gap: 0.1rem;
  align-items: center;
  min-height: 2rem;
}
.dm-wrap .challenge-wrap .challenge-info-header .info-list .item .star-rating .star {
  width: 1.6rem;
  height: 1.6rem;
  background: url("../dm_images/challenge/ico_star_off.png") no-repeat center/contain;
}
.dm-wrap .challenge-wrap .challenge-info-header .info-list .item .star-rating .star.on {
  background: url("../dm_images/challenge/ico_star_on.png") no-repeat center/contain;
}
.dm-wrap .challenge-wrap .challenge-summary-box {
  margin: 0 2rem 3.2rem;
  border: 1px solid #D6E2A9;
  background-color: #fff;
  /* 전체 베이스 흰색 */
  border-radius: 1.2rem;
  overflow: hidden;
  /* 자식 배경이 둥근 모서리 넘지 않도록 */
  padding: 0;
  /* 패딩 제거 후 자식에게 부여 */
}
.dm-wrap .challenge-wrap .challenge-summary-box .box-head {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  background-color: #FAFAF0;
  padding: 1.2rem;
  justify-content: center;
}
.dm-wrap .challenge-wrap .challenge-summary-box .box-head span {
  display: flex;
  align-items: center;
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--gray-color-800);
  /* 진한 초록 */
}
.dm-wrap .challenge-wrap .challenge-summary-box .box-head span b {
  color: var(--primary-color);
  font-weight: 700;
}
.dm-wrap .challenge-wrap .challenge-summary-box .box-head .ico-users {
  width: 1.6rem;
  height: 1.6rem;
  display: inline-block;
  background: url("../dm_images/challenge/ico_users.png") no-repeat center/contain;
}
.dm-wrap .challenge-wrap .challenge-summary-box .summary-list {
  padding: 1.6rem;
  /* 본문 패딩 */
  background-color: #fff;
  /* 본문 흰색 */
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
.dm-wrap .challenge-wrap .challenge-summary-box .summary-list li {
  display: flex;
  align-items: flex-start;
  font-size: 1.3rem;
  gap: 1.2rem;
}
.dm-wrap .challenge-wrap .challenge-summary-box .summary-list li:last-child {
  margin-bottom: 0;
}
.dm-wrap .challenge-wrap .challenge-summary-box .summary-list li .label {
  width:5.8rem;
  flex-shrink: 0;
  color: var(--gray-color-600);
  line-height: 1.4;
  font-weight: 500;
}
.dm-wrap .challenge-wrap .challenge-summary-box .summary-list li .val {
  color: var(--gray-color-800);
  flex: 1;
  word-break: break-all;
  line-height: 1.4;
  font-weight: 400;
}
.dm-wrap .challenge-wrap .editor-content-area {
  width: 100%;
  box-sizing: border-box;
    padding: 0 2rem;
}
.dm-wrap .challenge-wrap .editor-content-area img {
  max-width: 100%;
  height: auto;
}
.dm-wrap .accordion-section {
  padding: 2.4rem 0 1.8rem;
  /* 좌우 패딩 제거 */
  background: #fff;
}
.dm-wrap .accordion-section .section-tit {
  font-size: 1.8rem;
  font-weight: 700;

  margin-bottom: 0;
  /* 마진 조정 */
  padding: 0 2rem 1.6rem;
  /* 패딩으로 간격 및 좌우 여백 처리 */
  color: var(--gray-color-800);
}
.dm-wrap .accordion-section .accordion-list {
  border-top: 1px solid var(--gray-color-50);
  /* 상단 라인도 연하게 변경 가능성 고려 */
}
.dm-wrap .accordion-section .accordion-list .acc-item {
  border-bottom: 1px solid var(--gray-color-50);
  /* 구분선 색상 조정 */
  /* 토글 상태 (.active) */
}
.dm-wrap .accordion-section .accordion-list .acc-item:last-child {
  border-bottom: 0;
}
.dm-wrap .accordion-section .accordion-list .acc-item .acc-head {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.6rem 2rem;
  /* 좌우 패딩 추가 */
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--gray-color-800);
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
}
.dm-wrap .accordion-section .accordion-list .acc-item .acc-head .ico-arrow {
  width: 2rem;
  height: 2rem;
  background: url("../dm_images/common/ico_arrow_down.png") no-repeat center/contain;
  transition: transform 0.3s;
  opacity: 0.5;
}
.dm-wrap .accordion-section .accordion-list .acc-item.active .acc-head .ico-arrow {
  transform: rotate(180deg);
}
.dm-wrap .accordion-section .accordion-list .acc-item.active .acc-body {
  display: block;
}
.dm-wrap .accordion-section .accordion-list .acc-item .acc-body {
  display: none;
  /* JS Toggle */
  padding: 0 2rem 2rem;
  /* 좌우 패딩 추가 */
  font-size:1.3rem;
}
.dm-wrap .accordion-section .accordion-list .acc-item .acc-body .bul-list {
  padding-left: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.dm-wrap .accordion-section .accordion-list .acc-item .acc-body .bul-list li {
  position: relative;
  padding-left: 1.2rem;
  color: var(--gray-color-700);
  font-size: 1.2rem;
  line-height: 1.4;
}
.dm-wrap .accordion-section .accordion-list .acc-item .acc-body .bul-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--gray-color-700);
}
.dm-wrap .accordion-section .accordion-list .acc-item .acc-body .bul-list li:last-child {
  margin-bottom: 0;
  /* =========================================
  나의 챌린지 스타일
  ========================================= */
  /* 공통 구분선 */
}
.dm-wrap .divider-gray {
  height: 0.8rem;
  background-color: var(--gray-color-25);
  border-top: 1px solid var(--gray-color-50);
}
.dm-wrap .challenge-my-list-wrap {
  padding: 2.4rem 2rem 3.2rem;
}
.dm-wrap .challenge-my-list-wrap .divider-gray {
  margin: 0 -2rem;
}
.dm-wrap .challenge-my-list-wrap .section-my-challenge {
  margin-bottom: 3.2rem;
}
.dm-wrap .challenge-my-list-wrap .section-my-challenge.mb-0 {
  margin-bottom: 0;
}
.dm-wrap .challenge-my-list-wrap .section-my-challenge + .divider-gray + .section-my-challenge {
  margin-top: 2.4rem;
  margin-bottom: 0;
}
.dm-wrap .challenge-my-list-wrap .section-my-challenge .section-tit {
  font-size: 2.1rem;
  font-weight: 700;
  color: #000;
  margin-bottom: 1.6rem;

}
.dm-wrap .challenge-my-list-wrap .challenge-item {
  background: var(--gray-color-50);
  border-radius: 0.8rem;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  position: relative;
  /* 스탬프 기준점 */
  /* Default Vertical */
  /* Common Thumb Area */
  /* Default (Participating) Specifics */
  /* 종료/완료 챌린지 (Horizontal Card) */
}
.dm-wrap .challenge-my-list-wrap .challenge-item + .challenge-item {
  margin-top: 1.2rem;
}
.dm-wrap .challenge-my-list-wrap .challenge-item a {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
}
.dm-wrap .challenge-my-list-wrap .challenge-item .thumb-area {
  position: relative;
  overflow: hidden;
  background-color: #eee;
  width: 100%;
}
.dm-wrap .challenge-my-list-wrap .challenge-item .thumb-area img {
  width: 100%;
  height: 100%;

  object-fit: cover;
  display: block;
}
.dm-wrap .challenge-my-list-wrap .challenge-item .thumb-area .tag-group {
  position: absolute;
  top: 1.2rem;
  left: 1.2rem;
  display: inline-flex;
  align-items: center;
  z-index: 2;
  /* 기본 gap은 제거하거나 상황에 따라 다르게 */
  gap: 0;
}
.dm-wrap .challenge-my-list-wrap .challenge-item:not(.is-ended) {
  border: 1px solid rgba(0, 0, 0, 0.08);
  background-color: #fff;
  margin-top: 1.6rem;
}
.dm-wrap .challenge-my-list-wrap .challenge-item:not(.is-ended) .thumb-area {
  aspect-ratio: 335/167;
  /* 참여중인 경우 tag-group에 배경색 적용 (통합 알약 스타일) */
}
.dm-wrap .challenge-my-list-wrap .challenge-item:not(.is-ended) .thumb-area .tag-group {
  height: 2.4rem;
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 2.4rem;
  /* padding-right: 1.2rem; */
  /* 텍스트 여백 */
}
.dm-wrap .challenge-my-list-wrap .challenge-item:not(.is-ended) .thumb-area .tag-group .tag-status {
  height: 2.4rem;
  line-height: 2.4rem;
}
.dm-wrap .challenge-my-list-wrap .challenge-item:not(.is-ended) .thumb-area .thumb-info-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3.2rem;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 1.6rem;
  color: #fff;
  font-size: 1.2rem;
}
.dm-wrap .challenge-my-list-wrap .challenge-item:not(.is-ended) .thumb-area .thumb-info-bar .highlight {
  color: #FF7425;
}
.dm-wrap .challenge-my-list-wrap .challenge-item:not(.is-ended) .thumb-area .thumb-info-bar .info-wrap {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.dm-wrap .challenge-my-list-wrap .challenge-item:not(.is-ended) .thumb-area .thumb-info-bar .hash-wrap {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.dm-wrap .challenge-my-list-wrap .challenge-item:not(.is-ended) .thumb-area .thumb-info-bar .info-item {
  display: flex;
  align-items: center;
}
.dm-wrap .challenge-my-list-wrap .challenge-item:not(.is-ended) .thumb-area .thumb-info-bar .info-item i {
  width: 1.6rem;
  height: 1.6rem;
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
  margin-right: 0.4rem;
}
.dm-wrap .challenge-my-list-wrap .challenge-item:not(.is-ended) .thumb-area .thumb-info-bar .info-item i.ico-star-sm {
  background-image: url("../dm_images/challenge/ico_star_sm.png");
}
.dm-wrap .challenge-my-list-wrap .challenge-item:not(.is-ended) .thumb-area .thumb-info-bar .info-item i.ico-star-sm + em {
  margin-left: 0.3rem;
}
.dm-wrap .challenge-my-list-wrap .challenge-item:not(.is-ended) .thumb-area .thumb-info-bar .info-item i.ico-user-sm {
  background-image: url("../dm_images/challenge/ico_user_sm.png");
}
.dm-wrap .challenge-my-list-wrap .challenge-item:not(.is-ended) .thumb-area .thumb-info-bar .info-item em {
  font-weight: 700;
}
.dm-wrap .challenge-my-list-wrap .challenge-item:not(.is-ended) .info-area {
  padding: 1.4rem 1.6rem 2rem;
}
.dm-wrap .challenge-my-list-wrap .challenge-item:not(.is-ended) .info-area .tit {
  font-size: 1.6rem;
  font-weight: 500;
  color: #000;
  margin-bottom: 0.4rem;
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dm-wrap .challenge-my-list-wrap .challenge-item:not(.is-ended) .info-area .date {
  font-size: 1.2rem;
  line-height: 1.4;
  color: #999;
}
.dm-wrap .challenge-my-list-wrap .challenge-item.is-ended {
  flex-direction: row;
  align-items: stretch;
  padding: 0;
  height: 10rem;
}
.dm-wrap .challenge-my-list-wrap .challenge-item.is-ended a {
  display: flex;
  width: 100%;
}
.dm-wrap .challenge-my-list-wrap .challenge-item.is-ended .thumb-area {
  width: 10.3rem;
  height: 10.3rem;
  flex-shrink: 0;
  /* Dimmed Overlay (White) - 이미지 영역 */
  /* dimmed-layer 삭제 (스탬프가 이동했으므로) */
  /* 태그 위치 조정 */
}
.dm-wrap .challenge-my-list-wrap .challenge-item.is-ended .thumb-area::after {
  /* content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.3);
  z-index: 1; */
}
.dm-wrap .challenge-my-list-wrap .challenge-item.is-ended .thumb-area .tag-group {
  top: 0.8rem;
  left: 0.8rem;
  z-index: 2;
  /* Dimmed 위에 표시 */
}
.dm-wrap .challenge-my-list-wrap .challenge-item.is-ended .thumb-area .tag-group .tag-status {
  height: 2.2rem;
  font-size: 1.1rem;
  padding: 0 0.8rem;
  background: #777777;
  color:#fff;
}
.dm-wrap .challenge-my-list-wrap .challenge-item.is-ended .info-area {
  /* position: relative;  스탬프가 item 기준이므로 제거 */
  padding: 1.6rem 1.6rem 0 1.2rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  overflow: hidden;
  /* 스탬프 위치 이동 (Top Right inside info-area) */
  /* 스탬프 UI (이미지 교체용) */
}
.dm-wrap .challenge-my-list-wrap .challenge-item.is-ended .info-area .tit {
  font-size: 1.5rem;
  font-weight: 500;
  color: var(--gray-color-600);
  margin-bottom: 0.4rem;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dm-wrap .challenge-my-list-wrap .challenge-item.is-ended .info-area .date {
  font-size: 1.2rem;
  color: var(--gray-color-500);
  font-weight: 400;
}
.dm-wrap .challenge-my-list-wrap .challenge-item.is-ended .info-area .stamp {
  position: absolute;
  bottom: 0.8rem;
  right: 0.8rem;
  width: 4.8rem;
  height: 4.8rem;
  transform: none;
  /* 회전 제거 */
  box-shadow: none;
  background: transparent no-repeat center/contain;
  border: none;
  border-radius: 0;
  font-size: 0;
  /* 텍스트 숨김 */
  /* 성공/실패 이미지 매핑 예시 (실제 경로 확인 필요) */
}
.dm-wrap .challenge-my-list-wrap .challenge-item.is-ended .info-area .stamp.stamp-success {
  background-image: url("../dm_images/challenge/stamp_success.png");
}
.dm-wrap .challenge-my-list-wrap .challenge-item.is-ended .info-area .stamp.stamp-fail {
  background-image: url("../dm_images/challenge/stamp_fail.png");
}
.dm-wrap .challenge-my-list-wrap .challenge-item.is-ended .info-area .stamp.stamp-wait {
  background-image: url("../dm_images/challenge/stamp_wait.png");
}
.dm-wrap .challenge-my-list-wrap .challenge-item.is-ended .info-area .stamp.stamp-notSelected {
  background-image: url("../dm_images/challenge/stamp_notselected.png");
}
.dm-wrap .tag-status {
  min-width: 4.8rem;
  height: 2.2rem;
  line-height: 2.2rem;
  padding: 0 0.8rem;
  border-radius: 3.2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  font-weight: 600;
  color: #fff;

  border: none;
}
.dm-wrap .tag-status.status-ing {
  background-color: var(--primary-color);
}
.dm-wrap .tag-status.status-recruit {
  background-color: #FF7425;
}
.dm-wrap .tag-status.status-ready-progress {
  background-color: var(--gray-color-800);
}
.dm-wrap .tag-status.status-ready-recruit {
  background-color: var(--gray-color-800);
}
.dm-wrap .tag-status.status-end {
  color: var(--gray-color-700);
  background-color: rgba(255, 255, 255, 0.6);
}
.dm-wrap .tag-status.status-end-dark {
  color: #fff;
  background-color: var(--gray-color-600);
}
.dm-wrap .badge-point {
  /* 배경 제거 및 텍스트 스타일만 유지 */
  font-size: 1.3rem;
  color: #fff;
  font-weight: 500;
  display: flex;
  align-items: center;
  margin-left: 0.8rem;

  /* 기존 스타일 초기화 */
  background: none;
  padding: 0;
  height: auto;
  border-radius: 0;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  padding-right: 1.2rem;
  /* 성공/실패 스탬프 */
}
.dm-wrap .stamp {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.8rem;
  height: 4.8rem;
  border-radius: 50%;
  font-size: 1.5rem;
  font-weight: 700;
  font-style: normal;

  transform: rotate(-15deg);
}
.dm-wrap .stamp.stamp-success {
  border: 0.2rem solid #7AB730;
  color: #7AB730;
}
.dm-wrap .stamp.stamp-fail {
  border: 0.2rem solid #B2B2B2;
  color: #B2B2B2;
  /* =========================================
  NDP 메인 페이지 스타일 (dm_ndp_main.html)
  ========================================= */
}
.dm-wrap .ndp-container {
  /* padding-bottom: 8rem; */
  /* 하단 여백 */
  background-color: #fff;
  /* Survey Swiper */
}
.dm-wrap .ndp-container .ndp-event-banner img {
  width: 100%;
  display: block;
}
.dm-wrap .ndp-container .ndp-event-banner.space {
  margin-top: 3.2rem;
  padding: 0 2rem;
  background-color: var(--gray-color-100);
}
.dm-wrap .ndp-container .dm-main-date {
  margin-top: 1rem;
  padding-top: 0.9rem;
  border-bottom: 0;
  padding-bottom: 1.2rem;
  align-items: flex-end;
}
.dm-wrap .ndp-container .ndp-location {
  padding: 2.4rem 2rem 3.2rem;
  gap: 1.2rem;
  display: flex;
  flex-direction: column;
}
.dm-wrap .ndp-container .ndp-location .location-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.2rem 1.6rem;
  border-radius: 0.8rem;
  width: 100%;
  border: 1px solid rgba(0, 0, 0, 0.04);
  gap: 0 1rem;
  /* Icons */
  /* Case 1 & 2: Yellow Background */
  /* Case 3: Gray Background */
  /* Case 1: Registration */
  /* Case 2 & 3: Address Display */
}
.dm-wrap .ndp-container .ndp-location .location-banner .ico-pin {
  display: inline-block;
  width: 1.6rem;
  height: 1.6rem;
  background: url("../dm_images/ndp/ico_pin_gray.png") no-repeat center/contain;
  vertical-align: middle;
  margin-right: 0.2rem;
  background-size: contain !important;
}
.dm-wrap .ndp-container .ndp-location .location-banner.type-register, .dm-wrap .ndp-container .ndp-location .location-banner.type-available {
  background-color: #F5F5E2;
}
.dm-wrap .ndp-container .ndp-location .location-banner.type-unavailable {
  background-color: #F3F3F3;
}
.dm-wrap .ndp-container .ndp-location .location-banner.type-unavailable .status-box {
  color: var(--gray-color-500);
}
.dm-wrap .ndp-container .ndp-location .location-banner.type-register .msg {
  font-size: 1.4rem;
  line-height: 1.4;
  color: var(--gray-color-600);
  font-weight: 500;
  display: flex;
  align-items: center;
}
.dm-wrap .ndp-container .ndp-location .location-banner.type-register .btn-action {
  font-size: 1.2rem;
  color: #39802B;
  font-weight: 600;
  text-decoration: underline;
  text-underline-position: under;
}
.dm-wrap .ndp-container .ndp-location .location-banner .address-box {
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 0;
  /* for ellipsis if needed later */
}
.dm-wrap .ndp-container .ndp-location .location-banner .address-box .addr {
  font-size: 1.4rem;
  line-height: 1.4;
  font-weight: 700;
  color: #333;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dm-wrap .ndp-container .ndp-location .location-banner .address-box .btn-change {
  margin-left: 0.4rem;
  font-size: 1.3rem;
  color: var(--gray-color-600);
  border-bottom: 1px solid var(--gray-color-600);
  line-height: 1.2;

  font-weight: 600;
  flex-shrink: 0;
}
.dm-wrap .ndp-container .ndp-location .location-banner .status-box {
  display: flex;
  align-items: center;
  font-size: 1.3rem;
  line-height: 1.2;
  font-weight: 700;
  color: var(--primary-color-600);
  flex-shrink: 0;
  gap: 0.4rem;

}
.dm-wrap .ndp-container .ndp-location .location-banner .status-box .ico-truck {
  display: inline-block;
  width: 1.6rem;
  height: 1.6rem;
  background: url("../dm_images/ndp/ico_truck_green.png") no-repeat center/contain;
}
.dm-wrap .ndp-container .ndp-location .location-banner .status-box .ico-truck-gray {
  display: inline-block;
  width: 1.6rem;
  height: 1.6rem;
  background: url("../dm_images/ndp/ico_truck_gray.png") no-repeat center/contain;
}
.dm-wrap .ndp-container .more-btn {
  height: 4rem;
  line-height: 4rem;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--gray-color-700);

  border: 1px solid var(--gray-color-200);
  border-radius: 0.8rem;
  padding: 0;
}
.dm-wrap .ndp-container .grey-bar {
  width: 100%;
  height: 0.8rem;
  background-color: var(--gray-color-25);
  border-top: 1px solid var(--gray-color-50);
}
.dm-wrap .ndp-container .ndp-section {
  padding: 2.4rem 0 3.2rem;
  position: relative;
  /* Border removed, will be handled by .grey-bar in HTML or separate class if needed */
}

.dm-wrap .ndp-container .ndp-section .content-innder {
  margin-top:3.2rem;
  padding-top: 2.4rem;
  border-top: 0.7rem solid #F9F9F9;
  box-shadow: 0 -1px 0 0 #f3f3f3;
}

.dm-wrap .ndp-container .ndp-type .content-innder .product-list {
  padding:0;
}


.dm-wrap .ndp-container .ndp-section .tit-wrap {
  padding: 0 2rem;
  margin-bottom: 1.6rem;
}
.dm-wrap .ndp-container .ndp-section .tit-wrap .section-tit {
  line-height: 1.2;
  font-size: 2.1rem;
  font-weight: 700;
  color: var(--gray-color-900);

}
.dm-wrap .ndp-container .ndp-section .tit-wrap .section-sub {
  margin-top: 0.4rem;
  line-height: 1.4;
  font-size: 1.3rem;
  color: var(--gray-color-600);
  font-weight: 400;
}
.dm-wrap .ndp-container .ndp-banner.ndp {
  position: relative;
  background-color: #5DB26F;
  padding: 4rem 2.4rem 4.6rem;
  color: #fff;
  overflow: hidden;
  border-bottom-left-radius: 2rem;
  border-bottom-right-radius: 2rem;
}
.dm-wrap .ndp-container .ndp-banner .txt-group {
  position: relative;
  z-index: 2;
}
.dm-wrap .ndp-container .ndp-banner .txt-group .sub-tit {
  font-size: 1.6rem;
  line-height: 1.2;
  margin-bottom: 0.8rem;
  font-weight: 400;

}
.dm-wrap .ndp-container .ndp-banner .txt-group .main-tit {

  font-weight: 700;
  color: #fff;
  margin-bottom: 0;
}
.dm-wrap .ndp-container .ndp-banner .txt-group .main-tit .row {
  font-size: 3.5rem;
  line-height: 1.4;
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.dm-wrap .ndp-container .ndp-banner .txt-group .main-tit .highlight {
  color: #F8C73A;
  font-weight: 700;
}
.dm-wrap .ndp-container .ndp-banner .img-obj {
  position: absolute;
  top:0;
  right: 0;
  z-index: 1;
}
.dm-wrap .ndp-container .ndp-banner .img-obj img {
  width: 100%;
  display: block;
}
.dm-wrap .ndp-container .ndp-banner .feature-list {
  margin-top: 2rem;
  position: relative;
  z-index: 2;
}
.dm-wrap .ndp-container .ndp-banner .feature-list li {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  padding: 1.2rem 0.8rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.dm-wrap .ndp-container .ndp-banner.subscribe .feature-list li {
  display: block;
  gap:0;
  padding:0;
  border-bottom:0;
}

.dm-wrap .ndp-container .ndp-banner.subscribe .feature-list li > a {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  padding: 1.2rem 0.8rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M5.59961 3.19922L10.3996 7.99922L5.59961 12.7992' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 16px 16px;

}

.dm-wrap .ndp-container .ndp-banner.subscribe .feature-list li:last-child a {
  border-bottom:0;
}

.dm-wrap .ndp-container .ndp-banner .feature-list li:last-child {
  border-bottom: none;
}
.dm-wrap .ndp-container .ndp-banner .feature-list li .icon {
  width: 4rem;
  height: 4rem;
  background: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.dm-wrap .ndp-container .ndp-banner .feature-list li .icon .ico-img {
  display: block;
  width: 4rem;
  height: 4rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.dm-wrap .ndp-container .ndp-banner .feature-list li .icon .ico-img.type-chart {
  background-image: url("../dm_images/ndp/ico_chart.png");
}
.dm-wrap .ndp-container .ndp-banner .feature-list li .icon .ico-img.type-delivery {
  background-image: url("../dm_images/ndp/ico_delivery.png");
}
.dm-wrap .ndp-container .ndp-banner .feature-list li .icon .ico-img.type-ai {
  background-image: url("../dm_images/ndp/ico_ai.png");
}
.dm-wrap .ndp-container .ndp-banner .feature-list li .text {
  padding-top: 0.4rem;
}
.dm-wrap .ndp-container .ndp-banner .feature-list li .text .tit {
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 0.2rem;
}
.dm-wrap .ndp-container .ndp-banner .feature-list li .text .desc {
  font-size: 1.2rem;
  color: #fff;
  line-height: 1.4;
  word-break: keep-all;
  font-weight: 400;
}
.dm-wrap .ndp-container .ndp-banner .banner-btns {
  display: flex;
  gap: 0.8rem;
  position: relative;
  z-index: 1;
  margin-top: 1.2rem;
}
.dm-wrap .ndp-container .ndp-banner .banner-btns .btn-link {
  flex: 1;
  height: 4.8rem;
  line-height-step: 4.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #1D8F30;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  border-radius: 0.8rem;

}
.dm-wrap .ndp-container .ndp-banner .banner-btns .btn-link::after {
  display: none;
}
.dm-wrap .ndp-container .ndp-notification {
  padding: 2.4rem 2rem 3.2rem;
  background-color: #fff;
}
.dm-wrap .ndp-container .ndp-notification .noti-box {
  background-color: var(--primary-color);
  /* Light Beige similar to image */
  border-radius: 0.8rem;
  padding: 0 1.6rem;
  height: 4.4rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 1px solid rgba(0, 0, 0, 0.04);
}
.dm-wrap .ndp-container .ndp-notification .noti-box .tit {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--gray-color-00);
  /* Green Text */
}
.dm-wrap .ndp-container .ndp-notification .noti-box .link {
  font-size: 1.3rem;
  color: var(--gray-color-50);

  display: flex;
  align-items: center;
  font-weight: 600;
}
.dm-wrap .ndp-container .ndp-notification .noti-box .link::after {
  content: "";
  display: inline-block;
  margin-left: 0.2rem;
  width: 1.2rem;
  height: 1.2rem;
  background: url("../dm_images/common/ico_arrow_w.png") no-repeat center/contain;
}
.dm-wrap .ndp-container .ndp-notification .noti-box.view-managed {
  background-color: #F5F5E2;
}
.dm-wrap .ndp-container .ndp-notification .noti-box.view-managed .tit {
  color: var(--primary-color-600);
}
.dm-wrap .ndp-container .ndp-notification .noti-box .txt {
  font-size: 1.3rem;
  font-weight: 700;
  color: #fff;
}
.dm-wrap .ndp-container .ndp-notification .noti-box .btn-type-tag {
  display: inline-flex;
  align-items: center;
  background-color: #fff;
  border-radius: 0.6rem;
  height: 2.8rem;
  line-height: 2.8rem;
  padding: 0 0.8rem;
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--primary-color);
  text-decoration: none;
  border: 1px solid var(--primary-color);

  /* If no specific icon provided, use generic arrow rotated? */
}
.dm-wrap .ndp-container .ndp-notification .noti-box .btn-type-tag .ico-arr-down {
  display: inline-block;
  width: 1.2rem;
  height: 1.2rem;
  background: url("../dm_images/common/ico_arrow_down_green.png") no-repeat center/contain;
  margin: 0;
  margin-left: 0.4rem;
  transform: rotate(270deg);
}
.dm-wrap .ndp-container .product-list.type-ndp {
  /* Type Grid (2 Column) */
  /* Type Gift (Added) */
}
.dm-wrap .ndp-container .product-list.type-ndp .product-card {
  display: flex;
  overflow: hidden;
  margin-bottom: 2.2rem;
  height: 12.7rem;
  gap: 1.2rem;
}
.dm-wrap .ndp-container .product-list.type-ndp .product-card:last-child {
  margin-bottom: 0;
}

.product-image .product-btns {
  gap:0.4rem
}

.dm-wrap .ndp-container .product-list.type-ndp .product-image {
  position: relative;
  width: 12.7rem;
  height: 12.7rem;
  overflow: hidden;
  border-radius: 0.8rem;
}
.dm-wrap .ndp-container .product-list.type-ndp .product-image img {
  width: 100%;
  height: 100%;

  object-fit: cover;
}
.dm-wrap .ndp-container .product-list.type-ndp .product-image::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.05;
}
.dm-wrap .ndp-container .product-list.type-ndp .product-image .product-badge {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: flex;
}
.dm-wrap .ndp-container .product-list.type-ndp .product-image .product-badge span {
  height: 1.8rem;
  padding: 0 0.6rem;
  font-size: 1.1rem;
  font-weight: 700;
  color: #fff;
  border-bottom-right-radius: 0.8rem;

  line-height: 1.8rem;
  background-color: var(--primary-color);
  /* Default NEW color */
}
.dm-wrap .ndp-container .product-list.type-ndp .product-image .product-badge span.type01 {
  background-color: var(--primary-color);
  font-style: normal;
}
.dm-wrap .ndp-container .product-list.type-ndp .product-image .product-badge span.type02 {
  background-color: #DF6556;
  font-size: 1rem;
}
.dm-wrap .ndp-container .product-list.type-ndp .product-info {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.dm-wrap .ndp-container .product-list.type-ndp .product-title {
  font-size: 1.4rem;
  font-weight: 500;
  margin-bottom: 0.4rem;
  line-height: 1.4;
  color: #272727;
}
.dm-wrap .ndp-container .product-list.type-ndp .product-subtitle {
  font-size: 1.2rem;
  font-weight: 400;
  margin-bottom: 0.4rem;
  line-height: 1.4;
  color: #535353;
  font-size: 1.2rem;
  font-weight: 400;
  margin-bottom: 0.4rem;
  color: #535353;
  ellipsis: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.dm-wrap .ndp-container .product-list.type-ndp .product-btns {
  width: 2.8rem;
  height: 2.8rem;
  border-radius: 0.4rem;
  background: none;
}
.dm-wrap .ndp-container .product-list.type-ndp .product-btns .btn-type01 {
  width: 2.8rem;
  height: 2.8rem;
  background: url(../dm_images/product-ico01.png) no-repeat;
  background-size: 2.8rem;
}
.dm-wrap .ndp-container .product-list.type-ndp .product-btns.btn-cart {
  width: calc(100% - 1.6rem);
  justify-content: flex-end;
}
.dm-wrap .ndp-container .product-list.type-ndp .product-btns.btn-cart.active {
  width: auto;
}
.dm-wrap .ndp-container .product-list.type-ndp .product-btns.btn-cart.active .btn-type01 {
  display: none;
}
.dm-wrap .ndp-container .product-list.type-ndp .product-btns.btn-cart.active .inp-num-type1 {
  display: flex;
}
.dm-wrap .ndp-container .product-list.type-ndp .product-btns.btn-cart .inp-num-type1 {
  display: none;
  width: calc(100% - 1rem);
  margin-right: 0.1rem;
  height: 2.8rem;
  background-color: #fff;
  border-radius: 0.8rem;
  align-items: center;
  justify-content: space-between;
  overflow: hidden;
  box-shadow: 0px 0px 2px 0px rgba(16, 24, 40, 0.05);
  border: 0;
}
.dm-wrap .ndp-container .product-list.type-ndp .product-btns.btn-cart .inp-num-type1 .btn {
  position: relative;
  width: 2.8rem;
  height: 2.8rem;
  border: 0;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  font-size: 0;
  cursor: pointer;
}
.dm-wrap .ndp-container .product-list.type-ndp .product-btns.btn-cart .inp-num-type1 .btn::before, .dm-wrap .ndp-container .product-list.type-ndp .product-btns.btn-cart .inp-num-type1 .btn::after {
  display: none;
}
.dm-wrap .ndp-container .product-list.type-ndp .product-btns.btn-cart .inp-num-type1 .btn.down {
  background-image: url("../dm_images/common/btn_down.png");
}
.dm-wrap .ndp-container .product-list.type-ndp .product-btns.btn-cart .inp-num-type1 .btn.up {
  background-image: url("../dm_images/common/btn_up.png");
}
.dm-wrap .ndp-container .product-list.type-ndp .product-btns.btn-cart .inp-num-type1 input.num {
  width: 100%;
  height: 100%;
  border: 0;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--gray-color-800);
  padding: 0;
  background: transparent;
}
.dm-wrap .ndp-container .product-list.type-ndp .product-meta {
  font-size: 1.2rem;
  font-weight: 400;
  margin-bottom: 0.4rem;
  line-height: 1.4;
  color: #777;
}
.dm-wrap .ndp-container .product-list.type-ndp .product-pricing {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.dm-wrap .ndp-container .product-list.type-ndp .price-row {
  display: flex;
  align-items: center;
  gap: 6px;
}
.dm-wrap .ndp-container .product-list.type-ndp .original-price {
  font-size: 1.2rem;
  color: #AAA;
  text-decoration: line-through;
}
.dm-wrap .ndp-container .product-list.type-ndp .discount-rate {
  font-size: 1.7rem;
  font-weight: 700;
  color: #FF7425;
}
.dm-wrap .ndp-container .product-list.type-ndp .final-price {
  font-size: 1.7rem;
  font-weight: 700;
  color: #272727;
  display: flex;
  align-items: center;
}
.dm-wrap .ndp-container .product-list.type-ndp .final-price .unit {
  font-weight: 400;
  font-size: 1.5rem;
}
.dm-wrap .ndp-container .product-list.type-ndp.type-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1.8rem 1.2rem;
}
.dm-wrap .ndp-container .product-list.type-ndp.type-grid .product-card {
  width: calc(50% - 0.6rem);
  height: auto;
  flex-direction: column;
  margin-bottom: 0;
  gap: 0;
}
.dm-wrap .ndp-container .product-list.type-ndp.type-grid .product-card .product-tag {
  margin-top: 0.8rem;
}
.dm-wrap .ndp-container .product-list.type-ndp.type-grid .product-card .product-tag .count {
  display: inline-block;
  height: 1.8rem;
  line-height: 1.8rem;
  font-size: 1.1rem;
  padding: 0 0.4rem;
  font-weight: 400;
  color: #D6312C;
  background-color: #FEF2F2;
  border-radius: 0.4rem;

}
.dm-wrap .ndp-container .product-list.type-ndp.type-grid .product-card .product-tag .count > em {
  font-weight: 700;
  vertical-align: text-top;
}
.dm-wrap .ndp-container .product-list.type-ndp.type-grid .product-card .product-image {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  margin-bottom: 1.2rem;
  border-radius: 0.8rem;
}
.dm-wrap .ndp-container .product-list.type-ndp.type-grid .product-card .product-image img {
  width: 100%;
  height: 100%;
}
.dm-wrap .ndp-container .product-list.type-ndp.type-grid .product-card .product-image .product-btns {
  bottom: 0.75rem;
  right: 0.75rem;
}
.dm-wrap .ndp-container .product-list.type-ndp.type-grid .product-card .product-image  .dim {position: absolute; width: 100%;height: 100%; display: flex;align-items: center;justify-content: center;background-color: rgba(0, 0, 0, 0.5);top: 0;color: #fff;font-size: 1.6rem;} 

.dm-wrap .ndp-container .product-list.type-ndp.type-grid .product-card .product-info {
  padding: 0;
}
.dm-wrap .ndp-container .product-list.type-ndp.type-grid .product-card .product-info .product-title {
  font-size: 1.4rem;
  font-weight: 500;
  margin-bottom: 0.4rem;
  margin-top: 0;
  padding-top: 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-height: 4rem;
}
.dm-wrap .ndp-container .product-list.type-ndp.type-grid .product-card .product-info .product-subtitle {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-height: 3.4rem;
  font-size: 1.2rem;
  color: var(--gray-color-700);
  font-weight: 400;
  margin-bottom: 0.8rem;
  word-break: keep-all;
}

.dm-wrap .ndp-container .product-list.type-ndp.type-grid .product-card .product-info .product-price {
  color: #AAA;
font-size: 1.2rem;
font-style: normal;
font-weight: 400;
line-height: 1.4;
letter-spacing: -0.24px;
text-decoration: line-through;
}

.dm-wrap .ndp-container .product-list.type-ndp.type-grid .product-card .product-info .product-meta {
  display: none;
}
.dm-wrap .ndp-container .product-list.type-ndp.type-grid .product-card .product-info .price-row {
  gap: 0.4rem;
}
.dm-wrap .ndp-container .product-list.type-ndp.type-gift .product-card {
  overflow: visible;
  height: auto;
}
.dm-wrap .ndp-container .product-list.type-ndp.type-gift .product-pricing {
  margin-top: 0.8rem;
}
.dm-wrap .ndp-container .sw-ndp-consult .swiper-slide .consult-item {
  display: flex;
  border-radius: 1.2rem;
  overflow: hidden;
}
.dm-wrap .ndp-container .sw-ndp-consult .swiper-slide .consult-item .product-image {
  position: relative;
  width: 12.7rem;
  height: 12.7rem;
  overflow: hidden;
  border-radius: 0.8rem;
  flex-shrink: 0;
}
.dm-wrap .ndp-container .sw-ndp-consult .swiper-slide .consult-item .product-image img {
  width: 100%;
  height: 100%;

  object-fit: cover;
}
.dm-wrap .ndp-container .sw-ndp-consult .swiper-slide .consult-item .product-image::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.05;
}
.dm-wrap .ndp-container .sw-ndp-consult .swiper-slide .consult-item .info {
  padding: 0 1.6rem 1.6rem 1.2rem;
  display: flex;
  flex-direction: column;
}
.dm-wrap .ndp-container .sw-ndp-consult .swiper-slide .consult-item .info .c-tit {
  font-size: 1.4rem;
  line-height: 1.4;
  font-weight: 500;
  color: var(--gray-color-900);
}
.dm-wrap .ndp-container .sw-ndp-consult .swiper-slide .consult-item .info .c-desc {
  line-height: 1.4;
  font-size: 1.2rem;
  color: var(--gray-color-600);
  margin-top: 0.4rem;
}
.dm-wrap .ndp-container .sw-ndp-consult .swiper-slide .consult-item .info .c-price {
  margin-top: 0.8rem;
  font-size: 1.7rem;
  font-weight: 700;
  color: var(--gray-color-900);
  display: flex;
  align-items: center;
}
.dm-wrap .ndp-container .sw-ndp-consult .swiper-slide .consult-item .info .c-price .unit {
  font-size: 1.5rem;
  font-weight: 500;
}
.dm-wrap .ndp-container .sw-ndp-intro .swiper-slide {
  height: auto;
}
.dm-wrap .ndp-container .sw-ndp-intro .swiper-slide .intro-card {
  display: block;
  background-color: var(--gray-color-25);
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 1.6rem;
  padding: 2rem 2.6rem 2.4rem 2.5rem;
  height: 100%;
  position: relative;
  overflow: hidden;
  position: relative;
}
.dm-wrap .ndp-container .sw-ndp-intro .swiper-slide .intro-card:after {
  content: "";
  display: block;
  width: 4.8rem;
  height: 4.8rem;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  right: 1.6rem;
  top: 2rem;
}
.dm-wrap .ndp-container .sw-ndp-intro .swiper-slide .intro-card.target::after {
  background-image: url("../dm_images/ndp/intro_target.png");
}
.dm-wrap .ndp-container .sw-ndp-intro .swiper-slide .intro-card.change::after {
  background-image: url("../dm_images/ndp/intro_change.png");
}
.dm-wrap .ndp-container .sw-ndp-intro .swiper-slide .intro-card.process::after {
  background-image: url("../dm_images/ndp/intro_process.png");
}
.dm-wrap .ndp-container .sw-ndp-intro .swiper-slide .intro-card .txt-box {
  position: relative;
  z-index: 1;
}
.dm-wrap .ndp-container .sw-ndp-intro .swiper-slide .intro-card .txt-box .tit {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--gray-color-800);
}
.dm-wrap .ndp-container .sw-ndp-intro .swiper-slide .intro-card .txt-box .list {
  margin-top: 2.4rem;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.dm-wrap .ndp-container .sw-ndp-intro .swiper-slide .intro-card .txt-box .list.type-num {
  counter-reset: ndp-intro-num;
}
.dm-wrap .ndp-container .sw-ndp-intro .swiper-slide .intro-card .txt-box .list.type-num li::before {
  content: counter(ndp-intro-num) ".";
  counter-increment: ndp-intro-num;
  width: auto;
  height: auto;
  background-color: transparent;
  top: 0;
}
.dm-wrap .ndp-container .sw-ndp-intro .swiper-slide .intro-card .txt-box .list li {
  font-size: 1.2rem;
  color: var(--gray-color-700);
  line-height: 1.4;
  font-weight: 400;
  position: relative;
  padding-left: 1.2rem;
}
.dm-wrap .ndp-container .sw-ndp-intro .swiper-slide .intro-card .txt-box .list li::before {
  content: "";
  width: 0.3rem;
  height: 0.3rem;
  display: block;
  background-color: var(--gray-color-700);
  position: absolute;
  left: 0;
  top: 0.65rem;
}
.dm-wrap .ndp-container .ndp-my-plan .my-plan-card {
  padding: 0 2rem;
}
.dm-wrap .ndp-container .ndp-my-plan .my-plan-card a {
  display: block;
  background-color: #fff;
  border: 1px solid #eee;
  border-radius: 1.6rem;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
  overflow: hidden;
  position: relative;
}
.dm-wrap .ndp-container .ndp-my-plan .my-plan-card .card-header {
  background-color: #37c3c2;
  padding: 1rem 2rem;
}
.dm-wrap .ndp-container .ndp-my-plan .my-plan-card .card-header .badge {
  color: #fff;
  font-weight: 700;
  font-size: 1.3rem;
}
.dm-wrap .ndp-container .ndp-my-plan .my-plan-card .card-body {
  padding: 2.4rem 2rem;
  width: 60%;
}
.dm-wrap .ndp-container .ndp-my-plan .my-plan-card .card-body .tit {
  font-size: 2.1rem;
  font-weight: 700;
  margin-bottom: 0.8rem;

}
.dm-wrap .ndp-container .ndp-my-plan .my-plan-card .card-body .desc {
  font-size: 1.3rem;
  color: #666;
  line-height: 1.5;
  margin-bottom: 1.2rem;
}
.dm-wrap .ndp-container .ndp-my-plan .my-plan-card .card-body .tag-box .tag {
  display: inline-block;
  color: #ff5a00;
  font-weight: 700;
  font-size: 1.4rem;
}
.dm-wrap .ndp-container .ndp-my-plan .my-plan-card .card-img {
  position: absolute;
  bottom: 2rem;
  right: 2rem;
  width: 35%;
}
.dm-wrap .ndp-container .ndp-my-plan .my-plan-card .card-img img {
  width: 100%;
  display: block;
}
.dm-wrap .ndp-container .ndp-best .best-list {
  padding: 0 2rem;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
.dm-wrap .ndp-container .ndp-best .best-list .product-item-row {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  border-bottom: 1px solid #f0f0f0;
  padding-bottom: 1.2rem;
}
.dm-wrap .ndp-container .ndp-best .best-list .product-item-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.dm-wrap .ndp-container .ndp-best .best-list .product-item-row .thumb {
  width: 8rem;
  height: 8rem;
  border-radius: 1rem;
  overflow: hidden;
  background-color: #f8f8f8;
  position: relative;
  flex-shrink: 0;
}
.dm-wrap .ndp-container .ndp-best .best-list .product-item-row .thumb img {
  width: 100%;
  height: 100%;

  object-fit: cover;
}
.dm-wrap .ndp-container .ndp-best .best-list .product-item-row .thumb .badge-best {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #000;
  color: #fff;
  font-size: 1rem;
  padding: 0.2rem 0.6rem;
  border-bottom-right-radius: 0.6rem;
}
.dm-wrap .ndp-container .ndp-best .best-list .product-item-row .info {
  flex: 1;
}
.dm-wrap .ndp-container .ndp-best .best-list .product-item-row .info .tit {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--gray-color-800);
  margin-bottom: 0.4rem;

}
.dm-wrap .ndp-container .ndp-best .best-list .product-item-row .info .desc {
  font-size: 1.2rem;
  color: #888;
  margin-bottom: 0.8rem;
}
.dm-wrap .ndp-container .ndp-best .best-list .product-item-row .info .price-area {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.dm-wrap .ndp-container .ndp-best .best-list .product-item-row .info .price-area .discount {
  color: #ff5a00;
  font-weight: 700;
  font-size: 1.4rem;
}
.dm-wrap .ndp-container .ndp-best .best-list .product-item-row .info .price-area .price {
  font-weight: 700;
  font-size: 1.4rem;
}
.dm-wrap .ndp-container .ndp-expert {
  padding: 0 !important;
}
.dm-wrap .ndp-container .ndp-expert .expert-banner a {
  width: 100%;
  display: block;
}
.dm-wrap .ndp-container .ndp-expert .expert-banner img {
  width: 100%;
}
.dm-wrap .ndp-container .ndp-custom-care .custom-care-list {
  padding: 0 2rem;
}
.dm-wrap .ndp-container .ndp-custom-care .custom-card {
  display: block;
  width: 100%;
  border-radius: 0.8rem;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.08);
}
.dm-wrap .ndp-container .ndp-custom-care .custom-card .thumb {
  position: relative;
  width: 100%;
  overflow: hidden;
  background-color: #f5f5f5;
  aspect-ratio: 335/201;
}
.dm-wrap .ndp-container .ndp-custom-care .custom-card .thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;

  object-fit: cover;
}
.dm-wrap .ndp-container .ndp-custom-care .custom-card .thumb .badge-custom {
  position: absolute;
  top: 1rem;
  left: 1rem;
  background-color: #fff;
  padding: 0.4rem 0.8rem;
  border-radius: 1.2rem;
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--gray-color-800);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.dm-wrap .ndp-container .ndp-custom-care .custom-card .info {
  padding: 1.4rem 1.6rem 2rem;
}
.dm-wrap .ndp-container .ndp-custom-care .custom-card .info .tit {
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--gray-color-900);
}
.dm-wrap .ndp-container .ndp-custom-care .custom-card .info .desc {
  margin-top: 0.4rem;
  font-size: 1.2rem;
  color: var(--gray-color-800);
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-weight: 400;
}
.dm-wrap .ndp-container .ndp-custom-care .custom-card .info .desc02 {
  margin-top: 0.4rem;
  font-size: 1.2rem;
  color: var(--gray-color-600);
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-weight: 400;
}
.dm-wrap .ndp-container .ndp-custom-care .custom-card .info .price-info {
  margin-top: 0.8rem;
}
.dm-wrap .ndp-container .ndp-custom-care .custom-card .info .price-info .original {
  color: var(--gray-color-400);
  display: block;
  font-size: 1.2rem;
  text-decoration: line-through;
  font-weight: 400;
}
.dm-wrap .ndp-container .ndp-custom-care .custom-card .info .price-info .final-row {
  margin-top: 0.2rem;
  display: flex;
  gap: 0.4rem;
  align-items: center;
  font-size: 1.7rem;
  font-weight: 700;
  color: var(--gray-color-900);
}
.dm-wrap .ndp-container .ndp-custom-care .custom-card .info .price-info .final-row .sale {
  color: #FF7425;
}
.dm-wrap .ndp-container .ndp-custom-care .custom-card .info .price-info .final-row .final-price {
  font-size: 1.7rem;
  display: flex;
  align-items: center;
}
.dm-wrap .ndp-container .ndp-custom-care .custom-card .info .price-info .final-row .unit {
  font-weight: 500;
  font-size: 1.5rem;
}
.dm-wrap .ndp-container .ndp-reviews {
  /* padding: 3.2rem 2rem 4.85rem; */
  background-color: #F5EEE4;
}
.dm-wrap .ndp-container .ndp-reviews .tit-wrap {
  text-align: center;
  margin-bottom: 2rem;
}
.dm-wrap .ndp-container .ndp-reviews .tit-wrap .section-tit {
  font-size: 2.1rem;
  font-weight: 700;
  color: var(--gray-color-900);

  line-height: 1.2;
}
.dm-wrap .ndp-container .ndp-reviews .tit-wrap .section-desc {
  margin-top: 0.4rem;
  font-size: 1.4rem;
  font-weight: 400;
  color: var(--gray-color-600);

  line-height: 1.2;
}
.dm-wrap .ndp-container .ndp-reviews .review-list {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
.dm-wrap .ndp-container .ndp-reviews .review-item {
  background: #fff;
  border-radius: 0.8rem;
  padding: 1.2rem 1.6rem;
  text-align: center;
}
.dm-wrap .ndp-container .ndp-reviews .review-item .r-info {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.dm-wrap .ndp-container .ndp-reviews .review-item .rating-row {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.4rem;
  gap: 0.4rem;
}
.dm-wrap .ndp-container .ndp-reviews .review-item .rating-row .stars {
  display: flex;
  gap: 0.075rem;
}
.dm-wrap .ndp-container .ndp-reviews .review-item .rating-row .stars .ico-star {
  width: 1.2rem;
  height: 1.2rem;
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
}
.dm-wrap .ndp-container .ndp-reviews .review-item .rating-row .stars .ico-star.on {
  background-image: url("../dm_images/challenge/ico_star_on.png");
}
.dm-wrap .ndp-container .ndp-reviews .review-item .rating-row .stars .ico-star.off {
  background-image: url("../dm_images/challenge/ico_star_off.png");
}
.dm-wrap .ndp-container .ndp-reviews .review-item .rating-row .score {
  font-size: 1.3rem;
  font-weight: 500;
  color: #535353;
}
.dm-wrap .ndp-container .ndp-reviews .review-item .r-desc {
  font-size: 1.4rem;
  color: var(--gray-color-900);
  line-height: 1.4;
  font-weight: 500;
  width: 100%;
  /* =========================================
  Full Popup Style (AI Report)
  ========================================= */
}
.dm-wrap .ndp-container .oneday-products {
  padding: 0 2.4rem 4rem;
}
.dm-wrap .ndp-container .oneday-products .tit-wrap {
  margin-bottom: 2.4rem;
  padding: 0;
}
.dm-wrap .ndp-container .oneday-products .tit-wrap .section-tit {
  font-size: 2.2rem;
  font-weight: 700;
  color: #111;
  line-height: 1.2;

}
.dm-wrap .ndp-container .oneday-products .tit-wrap .section-sub {
  font-size: 1.5rem;
  color: #888;
  margin-top: 0.8rem;
  line-height: 1.4;
}
.dm-wrap .ndp-container .oneday-products .product-list.type-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.2rem 1.2rem;
}
.dm-wrap .ndp-container .oneday-products .product-list.type-grid .product-card .product-image {
  border-radius: 1.6rem;
  overflow: hidden;
  position: relative;
  background: #f7f7f7;
  margin-bottom: 1.2rem;
}
.dm-wrap .ndp-container .oneday-products .product-list.type-grid .product-card .product-image img {
  width: 100%;
  display: block;
}
.dm-wrap .ndp-container .oneday-products .product-list.type-grid .product-card .product-image .btn-cart {
  position: absolute;
  bottom: 1rem;
  right: 1rem;
  width: 3.6rem;
  height: 3.6rem;
  background-color: rgba(34, 34, 34, 0.4);
  border-radius: 50%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M8 20C6.9 20 6 20.9 6 22C6 23.1 6.9 24 8 24C9.1 24 10 23.1 10 22C10 20.9 9.1 20 8 20ZM18 20C16.9 20 16 20.9 16 22C16 23.1 16.9 24 18 24C19.1 24 20 23.1 20 22C20 20.9 19.1 20 18 20ZM8.17 14.75L18.55 14.74C19.22 14.74 19.83 14.38 20.13 13.84L23.83 7.15C24.16 6.55 23.72 5.82 23.03 5.82L5.27 5.82L4.17 3.51L0 3.51L0 5.51L2.83 5.51L7.14 14.59L5.52 17.53C4.66 19.09 5.79 21.01 7.56 21.01L22 21.01L22 19.01L7.56 19.01L9.06 16.29L8.17 14.75ZM5.83 7.82L21.36 7.82L18.55 12.75L8.74 12.75L5.83 7.82Z' fill='white'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 2rem;
  border: none;
  cursor: pointer;
}
.dm-wrap .ndp-container .oneday-products .product-list.type-grid .product-card .product-image .product-badge {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.dm-wrap .ndp-container .oneday-products .product-list.type-grid .product-card .product-info .product-title {
  font-size: 1.8rem;
  font-weight: 700;
  color: #222;
  margin-bottom: 0.4rem;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;

}
.dm-wrap .ndp-container .oneday-products .product-list.type-grid .product-card .product-info .product-subtitle {
  font-size: 1.3rem;
  color: #999;
  margin-bottom: 1rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dm-wrap .ndp-container .oneday-products .product-list.type-grid .product-card .product-info .product-pricing .price-row {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-bottom: 0.4rem;
}
.dm-wrap .ndp-container .oneday-products .product-list.type-grid .product-card .product-info .product-pricing .price-row .discount-rate {
  font-size: 1.6rem;
  color: #FA5252;
  font-weight: 700;
}
.dm-wrap .ndp-container .oneday-products .product-list.type-grid .product-card .product-info .product-pricing .price-row .final-price {
  font-size: 2.1rem;
  font-weight: 700;
  color: #222;

}
.dm-wrap .ndp-container .oneday-products .product-list.type-grid .product-card .product-info .product-pricing .price-row .unit {
  font-size: 1.4rem;
  font-weight: 500;
}
.dm-wrap .ndp-container .oneday-products .product-list.type-grid .product-card .product-info .product-pricing .stock-status {
  display: inline-block;
  font-size: 1.1rem;
  color: #FF6B6B;
  background-color: #FFF0F0;
  padding: 0.2rem 0.6rem;
  border-radius: 0.4rem;
  font-weight: 700;
}
.dm-wrap .ndp-container .subscribe-product-list .content-inner {
  padding: 2.4rem 2rem 3.4rem;
}
.dm-wrap .ndp-container .subscribe-product-list .content-inner .listTop {
  margin-bottom: 1.6rem;
}
.dm-wrap .ndp-container .subscribe-product-list .more-btn {
  margin-top: 2rem;
}
.dm-wrap .ndp-container .subscribe-product-list .product-list.typeList {
  gap: 2rem 1.7rem;
}
.dm-wrap .ndp-container .subscribe-product-list .product-list.typeList .product-image {
  aspect-ratio: 1/1;
}
.dm-wrap .ndp-container .subscribe-product-list .product-list.typeList .product-image img {
  width: 100%;
  height: 100%;

     object-fit: cover;
}
.dm-wrap .ndp-container .subscribe-product-list .product-list.typeList .refrigeration {
  margin-top: 0.6rem;
}
.dm-wrap .ndp-container .subscribe-product-list .product-list.typeList .refrigeration span {
  display: inline-block;
  width: 3.9rem;
}
.dm-wrap .ndp-container .subscribe-product-list .product-list.typeList .refrigeration span > img {
  width: 100%;
}
.dm-wrap .ndp-container .survey-swiper {
  padding: 0 2rem;
  /* Match section padding */
  overflow: hidden;
}
.dm-wrap .ndp-container .survey-swiper .swiper-slide {
  width: 26.5rem;
}
.dm-wrap .ndp-container .survey-swiper .survey-card {
  height: auto;
  min-height: 33.8rem;
  box-sizing: border-box;
  background: #F9F9F9;
  border-radius: 1.6rem;
  padding: 2.4rem 2.5rem;
  border: 1px solid rgba(0, 0, 0, 0.08);
  /* Ensure uniform height if content varies */
}
.dm-wrap .ndp-container .survey-swiper .survey-card .q-tit {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--gray-color-800);
  line-height: 1.4;
  margin-bottom: 1.6rem;
  word-break: keep-all;
}
.dm-wrap .ndp-container .survey-swiper .survey-card .a-group {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.dm-wrap .ndp-container .survey-swiper .survey-card .a-group .radio-box input[type=checkbox],
.dm-wrap .ndp-container .survey-swiper .survey-card .a-group .radio-box input[type=radio] {
  display: none;
  /* Disabled state if needed */
}
.dm-wrap .ndp-container .survey-swiper .survey-card .a-group .radio-box input[type=checkbox] + label,
.dm-wrap .ndp-container .survey-swiper .survey-card .a-group .radio-box input[type=radio] + label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 4rem;
  padding: 1rem 1.2rem 1rem 1.6rem;
  border-radius: 0.8rem;
  border: 1px solid var(--gray-color-200);
  background-color: #fff;
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--gray-color-600);
  cursor: pointer;
  box-sizing: border-box;
}
.dm-wrap .ndp-container .survey-swiper .survey-card .a-group .radio-box input[type=checkbox] + label::after,
.dm-wrap .ndp-container .survey-swiper .survey-card .a-group .radio-box input[type=radio] + label::after {
  content: "";
  display: block;
  width: 2rem;
  height: 2rem;
  background: url(../dm_images/common/ico_survey.png) center/contain no-repeat;
}
.dm-wrap .ndp-container .survey-swiper .survey-card .a-group .radio-box input[type=checkbox]:checked + label,
.dm-wrap .ndp-container .survey-swiper .survey-card .a-group .radio-box input[type=radio]:checked + label {
  border: 2px solid var(--primary-color);
  background-color: #FAFAF0;
  color: var(--primary-color);
  font-weight: 700;
}
.dm-wrap .ndp-container .survey-swiper .survey-card .a-group .radio-box input[type=checkbox]:checked + label::after,
.dm-wrap .ndp-container .survey-swiper .survey-card .a-group .radio-box input[type=radio]:checked + label::after {
  background: url(../dm_images/common/ico_survey_active.png) center/contain no-repeat;
}
.dm-wrap .ndp-container .survey-swiper .survey-card .a-group .radio-box input[type=checkbox]:disabled + label,
.dm-wrap .ndp-container .survey-swiper .survey-card .a-group .radio-box input[type=radio]:disabled + label {
  cursor: not-allowed;
}
.dm-wrap .ndp-container .ndp-present .product-list,
.dm-wrap .ndp-container .ndp-care .product-list,
.dm-wrap .ndp-container .ndp-type .product-list {
  padding: 0 2rem;
}
.dm-wrap .full-popup-wrap {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  background-color: #fff;
}
.dm-wrap .full-popup-wrap.active {
  display: block;
}
.dm-wrap .full-popup-wrap .popup-container {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.dm-wrap .full-popup-wrap .popup-header {
  height: 5.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border-bottom: 1px solid #eee;
}
.dm-wrap .full-popup-wrap .popup-header h2 {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--gray-color-800);
}
.dm-wrap .full-popup-wrap .popup-header .btn-close {
  position: absolute;
  right: 2rem;
  top: 50%;
  transform: translateY(-50%);
  width: 2.4rem;
  height: 2.4rem;
  background: url("../dm_images/common/btn_close_333.png") no-repeat center/contain;
  /* Adjust path if needed, assuming generic close icon exists or need to be added */
  /* If not existing, use text 'X' or SVG for now */
}
.dm-wrap .full-popup-wrap .popup-body {
  flex: 1;
  overflow-y: auto;
  background-color: #fff;
  padding: 0;
}
.dm-wrap .full-popup-wrap .popup-body .report-content {
  padding: 2rem 2rem 4rem;
  /* AI Report Card Style */
}
.dm-wrap .ndp-complete-view {
  padding: 2.4rem 1.6rem;
  background: #fff;
  text-align: center;
}
.dm-wrap .ndp-complete-view .txt-group {
  margin-bottom: 1.4rem;
}
.dm-wrap .ndp-complete-view .txt-group .tit {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--gray-color-800);
  margin-bottom: 0.4rem;
  line-height: 1.4;
}
.dm-wrap .ndp-complete-view .txt-group .desc {
  font-size: 1.4rem;
  color: var(--gray-color-600);
  line-height: 1.4;
}
.dm-wrap .ndp-complete-view .visual-area {
  margin-bottom: 2rem;
  display: flex;
  justify-content: center;
}
.dm-wrap .ndp-complete-view .visual-area .bg-img {
  width: 100%;
  height: 8rem;
  background: url("../dm_images/ndp/bg_complete.png") no-repeat center/contain;
}
.dm-wrap .ndp-complete-view .btn-area {
  margin-bottom: 1.6rem;
}
.dm-wrap .ndp-complete-view .btn-area .btn-check-report {
  width: 100%;
  height: 4.4rem;
  line-height: 4.4rem;
  background-color: var(--primary-color);
  color: #fff;
  font-size: 1.4rem;
  font-weight: 700;
  border-radius: 0.8rem;
  border: none;

  cursor: pointer;
}
.dm-wrap .ndp-complete-view .guide-txt {
  font-size: 1.2rem;
  color: var(--gray-color-600);
  line-height: 1.4;
  /* =========================================
  챌린지 참여현황 페이지 (Challenge Participation)
  ========================================= */
}
.dm-wrap .challenge-participation-wrap {
  overflow: hidden;
}
.dm-wrap .challenge-participation-wrap.part-1 {
  background: #F2F3F3;
  padding: 2.4rem 2rem 3.2rem;
}
.dm-wrap .challenge-participation-wrap.part-2 {
  background: #fff;
  padding: 2.4rem 2rem 5rem;
}
.dm-wrap .challenge-participation-wrap .part-top-area {
  /* Duplicated from .mission-top-area */
  margin-bottom: 2rem;
  position: relative;
  /* Unique styles for participation page */
}
.dm-wrap .challenge-participation-wrap .part-top-area:last-child {
  margin-bottom: 0;
}
.dm-wrap .challenge-participation-wrap .part-top-area .status-row {
  display: flex;
  align-items: center;
  margin-bottom: 1.6rem;
}
.dm-wrap .challenge-participation-wrap .part-top-area .status-row .tag-status {
  position: relative;
  z-index: 1;
  min-width: 5.8rem;
  height: 2.4rem;
  line-height: 2.4rem;
}
.dm-wrap .challenge-participation-wrap .part-top-area .status-row .d-day-txt {
  background-color: rgba(255, 255, 255, 0.6);
  color: var(--primary-color);
  font-size: 1.3rem;
  font-weight: 700;
  padding: 0.4rem 1.2rem 0.4rem 2rem;
  margin-left: -1.2rem;
  border-radius: 1.2rem;
  line-height: 1.2;

}
.dm-wrap .challenge-participation-wrap .part-top-area .mission-tit {
  font-size: 2.3rem;
  font-weight: 700;
  color: var(--gray-color-900);
  line-height: 1.2;

  word-break: keep-all;
}
.dm-wrap .challenge-participation-wrap .part-top-area .link-ranking {
  display: inline-block;
  margin-top: 0.8rem;
  font-size: 1.3rem;
  line-height: 1.2;
  color: var(--gray-color-700);
  font-weight: 600;
  text-decoration: none;
  display: flex;
  align-items: center;

}
.dm-wrap .challenge-participation-wrap .part-top-area .link-ranking::after {
  content: "";
  display: inline-block;
  width: 1.2rem;
  height: 1.2rem;
  background: url("../dm_images/common/ico_arrow_g.png") no-repeat center/contain;
}
.dm-wrap .challenge-participation-wrap .part-card {
  background: #fff;
  border-radius: 1.2rem;
  overflow: hidden;
  margin-bottom: 1.2rem;
}
.dm-wrap .challenge-participation-wrap .part-card:last-child {
  margin-bottom: 0;
}
.dm-wrap .challenge-participation-wrap .mission-success-card {
  border: 1px solid rgba(0, 0, 0, 0.08);
}
.dm-wrap .challenge-participation-wrap .mission-success-card .card-body {
  display: flex;
  justify-content: space-between;
  padding: 2rem 2rem 1.6rem;
}
.dm-wrap .challenge-participation-wrap .mission-success-card .txt-area {
  flex: 1;
}
.dm-wrap .challenge-participation-wrap .mission-success-card .txt-area .tit {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--gray-color-900);
  line-height: 1.4;
  margin-bottom: 2rem;
}
.dm-wrap .challenge-participation-wrap .mission-success-card .txt-area .tit .col-green {
  color: var(--primary-color);
  font-weight: 700;
}
.dm-wrap .challenge-participation-wrap .mission-success-card .txt-area .desc {
  font-size: 1.3rem;
  color: var(--gray-color-800);
  line-height: 1.4;
  margin-bottom: 0.4rem;
}
.dm-wrap .challenge-participation-wrap .mission-success-card .chart-area {
  display: flex;
  align-items: flex-end;
  gap: 1.2rem;
  width: 10.4rem;
  height: 10rem;
  padding: 0.8rem 1.2rem 0.8rem 1.6rem;
}
.dm-wrap .challenge-participation-wrap .mission-success-card .chart-area .bar-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 4rem;
  height: 100%;
  justify-content: flex-end;
}
.dm-wrap .challenge-participation-wrap .mission-success-card .chart-area .bar-group .bar {
  width: 100%;
  border-radius: 0.8rem;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.dm-wrap .challenge-participation-wrap .mission-success-card .chart-area .bar-group .bar .val {
  color: #fff;
  font-size: 1.3rem;
  position: absolute;
  top: 0.8rem;
}
.dm-wrap .challenge-participation-wrap .mission-success-card .chart-area .bar-group .label {
  margin-top: 0.4rem;
  font-size: 1.1rem;
  color: var(--gray-color-800);
}
.dm-wrap .challenge-participation-wrap .mission-success-card .chart-area .bar-group.my .bar {
  background: linear-gradient(180deg, #978DFF 0%, #7B6EFF 100%);
}
.dm-wrap .challenge-participation-wrap .mission-success-card .chart-area .bar-group.my .val {
  top: 50%;
  font-weight: 700;
  transform: translateY(-50%);
}
.dm-wrap .challenge-participation-wrap .mission-success-card .chart-area .bar-group.avg .bar {
  background-color: var(--gray-color-100);
  /* Gray */
}
.dm-wrap .challenge-participation-wrap .mission-success-card .chart-area .bar-group.avg .bar .val {
  color: var(--gray-color-500);
  font-weight: 500;
  top: 35%;
  bottom: 1.1rem;
}
.dm-wrap .challenge-participation-wrap .mission-success-card .card-bottom-link {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3.1rem;
  background-color: #F5F5E2;
  font-size: 1.2rem;
  font-weight: 400;
  color: var(--gray-color-800);
  text-decoration: none;
}
.dm-wrap .challenge-participation-wrap .mission-success-card .card-bottom-link .col-green {
  color: var(--primary-color);
  display: inline-block;
  font-weight: 700;
  margin: 0 0.2rem;
}
.dm-wrap .challenge-participation-wrap .mission-success-card .card-bottom-link::after {
  content: "";
  width: 1.2rem;
  height: 1.2rem;
  background: url("../dm_images/common/ico_arrow_b.png") no-repeat center/contain;
  opacity: 0.5;
}



.dm-wrap .sprout-card {
  display: flex;
  justify-content: space-between;
  align-items: start;
  padding: 2rem 1.6rem 2rem;
}
.dm-wrap .sprout-card .txt-area {
  flex: 1;
}
.dm-wrap .sprout-card .txt-area .tit {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--gray-color-900);
  line-height: 1.4;
  margin-bottom: 2rem;
}
.dm-wrap .sprout-card .txt-area .tit .col-green {
  color: var(--primary-color);
}
.dm-wrap .sprout-card .txt-area .desc {
  font-size: 1.3rem;
  color: var(--gray-color-800);
  line-height: 1.4;
}
.dm-wrap .sprout-card .img-area {
  width: 10.4rem;
  flex-shrink: 0;
      margin-top: -1.5rem;
}
.dm-wrap .sprout-card .img-area img {
  width: 100%;
  height: 100%;

  object-fit: cover;
  display: block;
}

.dm-wrap .sprout-card .go-btn {
    font-size: 1.3rem;
    font-weight: 600;
    line-height: 1.2;
    color: var(--primary-color);
    gap: 0.2rem;
    display: flex;
    align-items: center;
    position: relative;
    text-decoration: underline;

}

.dm-wrap .sprout-card .go-btn:after {
  content: "";
  display: inline-block;
  width: 1.2rem;
  height: 1.2rem;
  background: url(../dm_images/common/ico_arrow_primary.png) no-repeat center/contain;
}





.dm-wrap .challenge-participation-wrap .activity-info-card {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: 2rem 1.6rem 2rem;
}
.dm-wrap .challenge-participation-wrap .activity-info-card .txt-area {
  flex: 1;
}
.dm-wrap .challenge-participation-wrap .activity-info-card .txt-area .tit {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--gray-color-900);
  line-height: 1.4;
  margin-bottom: 2rem;
}
.dm-wrap .challenge-participation-wrap .activity-info-card .txt-area .tit .col-green {
  color: var(--primary-color);
  vertical-align: text-top;
}
.dm-wrap .challenge-participation-wrap .activity-info-card .txt-area .desc {
  font-size: 1.3rem;
  color: var(--gray-color-800);
  line-height: 1.4;
}
.dm-wrap .challenge-participation-wrap .activity-info-card .img-area {
  width: 10.4rem;
  flex-shrink: 0;
  margin-bottom: 1rem;
}
.dm-wrap .challenge-participation-wrap .activity-info-card .img-area img {
  width: 100%;
  height: 100%;

  object-fit: cover;
  display: block;
}
.dm-wrap .challenge-participation-wrap .activity-nodata-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2rem 1.6rem 2rem;
}
.dm-wrap .challenge-participation-wrap .activity-nodata-card .txt-area {
  flex: 1;
}
.dm-wrap .challenge-participation-wrap .activity-nodata-card .txt-area .tit {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--gray-color-900);
  line-height: 1.4;
  margin-bottom: 2rem;
}


.dm-wrap .challenge-participation-wrap .activity-nodata-card .txt-area .tit .col-green {
  color: var(--primary-color);
  vertical-align: text-top;
}
.dm-wrap .challenge-participation-wrap .activity-nodata-card .txt-area .desc {
  font-size: 1.3rem;
  color: var(--gray-color-800);
  line-height: 1.4;
}
.dm-wrap .challenge-participation-wrap .activity-nodata-card .go-btn {
  font-size: 1.3rem;
  font-weight: 600;
  line-height: 1.2;
  color: var(--primary-color);
  gap: 0.2rem;
  display: flex;
  align-items: center;
  position: relative;
  text-decoration: underline;

}
/* .dm-wrap .challenge-participation-wrap .activity-nodata-card .go-btn::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #6fb35d;
  position: absolute;
  left: 0;
  bottom: -0.3rem;
} */
.dm-wrap .challenge-participation-wrap .activity-nodata-card .go-btn:after {
  content: "";
  display: inline-block;
  width: 1.2rem;
  height: 1.2rem;
  background: url(../dm_images/common/ico_arrow_primary.png) no-repeat center/contain;
}
.dm-wrap .challenge-participation-wrap .activity-nodata-card .img-area {
  width: 10.4rem;
  flex-shrink: 0;
}
.dm-wrap .challenge-participation-wrap .activity-nodata-card .img-area img {
  width: 100%;
  height: 100%;

  object-fit: cover;
  display: block;
}
.dm-wrap .challenge-participation-wrap .change-stats-section {
  margin-bottom: 2rem;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .sec-tit {
  font-size: 2.1rem;
  font-weight: 700;
  color: var(--gray-color-900);
  margin-bottom: 1.6rem;

}
.dm-wrap .challenge-participation-wrap .change-stats-section .stats-swiper {
  overflow: visible;
  padding-bottom: 2.2rem;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .stats-swiper {
  position: relative;
  overflow: visible;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-container {
  width: 100%;
  overflow: hidden;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-wrapper {
  display: flex;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 17rem;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card {
  position: relative;
  aspect-ratio: 1/1;
  padding: 1.6rem;
  background-color: var(--white);
  border-radius: 1.2rem;
  background-repeat: no-repeat;
  background-size: 4rem;
  background-position: calc(100% - 1.6rem) calc(100% - 1.6rem);
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}

.dm-challenge-health .txt {
    color: var(--gray-color-600);
    font-size: 1.2rem;
}
.dm-challenge-health .link {
    display: flex;
    justify-content: start;
    align-items: center;
    margin-top: 0.6rem;
    text-underline-offset: 4px;
    color: var(--primary-color);
    font-size: 1.4rem;
    font-weight: 600;

}
.dm-challenge-health .link::after {
  content: "";
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  background-image:url("../dm_images/common/ico_arrow_primary.png");
  background-size: cover;
  margin: 0rem 0 0 0.2rem;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card.health_item_00 {
  background-image: url("../dm_images/challenge/health_item_00_on.png");
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card.health_item_00 .val {
  margin-bottom: 0.6rem;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card.health_item_00 .nutrition-list {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card.health_item_00 .nutrition-list li {
  display: flex;
  align-items: center;
  font-size: 1.2rem;
  color: var(--gray-color-700);
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card.health_item_00 .nutrition-list li .dot {
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 0.4rem;
  margin-right: 0.6rem;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card.health_item_00 .nutrition-list li .dot.green {
  background-color: #68D494;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card.health_item_00 .nutrition-list li .dot.orange {
  background-color: #FF7D66;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card.health_item_00 .nutrition-list li .dot.yellow {
  background-color: #FFD34D;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card.health_item_00 .nutrition-list li b {
  font-weight: 700;
  color: var(--gray-color-900);
  margin-left: 0.4rem;
}

.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card.health_item_01 {
  background-image: url("../dm_images/challenge/health_item_01_on.png");
}

.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card.health_item_02 {
  background-image: url("../dm_images/challenge/health_item_02_on.png");
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card.health_item_03 {
  background-image: url("../dm_images/challenge/health_item_03_on.png");
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card.health_item_04 {
  background-image: url("../dm_images/challenge/health_item_04_on.png");
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card.health_item_05 {
  background-image: url("../dm_images/challenge/health_item_05_on.png");
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card.health_item_06 {
  background-image: url("../dm_images/challenge/health_item_06_on.png");
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card.health_item_07 {
  background-image: url("../dm_images/challenge/health_item_07_on.png");
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card.health_item_08 {
  background-image: url("../dm_images/challenge/health_item_08_on.png");
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card.health_item_09 {
  background-image: url("../dm_images/challenge/health_item_09_on.png");
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card.health_item_10 {
  background-image: url("../dm_images/challenge/health_item_10_on.png");
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card.health_item_11 {
  background-image: url("../dm_images/challenge/health_item_11_on.png");
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card.health_item_12 {
  background-image: url("../dm_images/challenge/health_item_12_on.png");
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card.health_item_13 {
  background-image: url("../dm_images/challenge/health_item_13_on.png");
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card .tit-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.8rem;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card .tit {
  color: var(--gray-color-800);
  font-size: 1.5rem;
  font-weight: 600;

}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card .badge {
  font-size: 1.1rem;
  padding: 0.2rem 0.4rem;
  border-radius: 0.4rem;
  min-width: 3.8rem;
  text-align: center;

  box-sizing: border-box;
  line-height: 1.2;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card .badge.red {
  background-color: #FEF2F2;
  color: #D6312C;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card .badge.blue {
  background-color: #ECF5FF;
  color: #3F99FF;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card .badge.green {
  background-color: #E6F6EE;
  color: #08A159;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card .badge.orange {
  background-color: #FFF6E6;
  color: #FF7300;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card .yes-data {
  display: block;
  flex: 1;

}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card .yes-data .val {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--gray-color-800);
  line-height: 1.4;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card .yes-data .val-sm {
  font-size: 1.3rem;
  font-weight: 600;
  color: var(--gray-color-800);
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card .yes-data .val-sm.red {
  color: #D6312C;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card .yes-data .val-sm.blue {
  color: #358FFF;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card .yes-data dd {
  margin-top: 0.4rem;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card .yes-data .sub-txt {
  font-size: 1.2rem;
  color: var(--gray-color-800);
  line-height: 1.4;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card .yes-data .sub-txt.gray {
  color: var(--gray-color-600);
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card .yes-data .sub-txt + .sub-txt {
  margin-top: 0.2rem;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card .yes-data .ico-peak {
  display: inline-flex;
  align-items: center;
  font-weight: 700;
  gap: 0.2rem;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card .yes-data .ico-peak::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card .yes-data .ico-peak.up {
  color: #D6312C;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card .yes-data .ico-peak.up::before {
  border-width: 0 0.5rem 0.6rem 0.5rem;
  border-color: transparent transparent #D6312C transparent;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card .yes-data .ico-peak.down {
  color: #358FFF;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card .yes-data .ico-peak.down::before {
  border-width: 0.6rem 0.5rem 0 0.5rem;
  border-color: #358FFF transparent transparent transparent;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card .yes-data.health_item_01 .ico-peak.down {
  color: #D6312C;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card .yes-data.health_item_01 .ico-peak.down::before {
  border-color: #D6312C transparent transparent transparent;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card .yes-data .walk-graph {
  position: absolute;
  bottom: 1.6rem;
  left: 1.6rem;
  width: calc(100% - 3.2rem);
  display: flex;
  justify-content: space-between;
  list-style: none;
  margin: 0;
  padding: 0;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card .yes-data .walk-graph li {
  position: relative;
  width: 0.8rem;
  height: 4rem;
  background-color: var(--gray-color-50);
  border-radius: 10rem;
  overflow: hidden;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card .yes-data .walk-graph .gauge {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  background-color: var(--primary-color);
  border-radius: 10rem;
  display: block;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card .yes-data .stat-row {
  font-size: 12px;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.6rem;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .dm-challenge-health .swiper-slide.stats-card .yes-data .stats-detail {
  margin-top: 0.6rem;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .swiper-pagination-progressbar {
  margin: 1.2rem 0 0.8rem;
  background: #eee;
  height: 2px !important;
  position: absolute !important;
  bottom: 0 !important;
  top: auto !important;
  left: 0 !important;
  width: 100% !important;
  border-radius: 2px;
}
.dm-wrap .challenge-participation-wrap .change-stats-section .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: #222;
  border-radius: 2px;
}
.dm-wrap .challenge-participation-wrap .btn-check-diary {
  display: block;
  width: 100%;
  height: 4rem;
  line-height: 4rem;
  border: 1px solid var(--primary-color);
  color: var(--primary-color);
  text-align: center;
  font-size: 1.5rem;
  font-weight: 700;
  border-radius: 0.8rem;
  background: #fff;
  margin-bottom: 3.2rem;

}
.dm-wrap .challenge-participation-wrap .consultation-banner {
  display: block;
  border-radius: 1.2rem;
  overflow: hidden;
}
.dm-wrap .challenge-participation-wrap .consultation-banner img {
  width: 100%;
  display: block;
}
.dm-wrap .challenge-participation-wrap .achievement-card .card-body {
  display: flex;
  justify-content: space-between;
  padding: 2.2rem 2rem;
  align-items: center;
  border: 1px solid rgba(0, 0, 0, 0.08);
  font-family: "Pretendard", sans-serif;
}
.dm-wrap .challenge-participation-wrap .achievement-card .txt-area {
  flex: 1;
}
.dm-wrap .challenge-participation-wrap .achievement-card .txt-area .tit {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--gray-color-900);
  line-height: 1.4;
  margin-bottom: 2rem;
}
.dm-wrap .challenge-participation-wrap .achievement-card .txt-area .tit .col-green {
  color: var(--primary-color);
  vertical-align: text-top;
}
.dm-wrap .challenge-participation-wrap .achievement-card .txt-area .desc {
  font-size: 1.3rem;
  line-height: 1.4;
  color: var(--gray-color-600);
}
.dm-wrap .challenge-participation-wrap .achievement-card .txt-area .desc .col-orange {
  color: #FF7425;
  font-weight: 700;
  vertical-align: text-top;
}
.dm-wrap .challenge-participation-wrap .achievement-card .chart-area {
  flex-shrink: 0;
  width: 7.6rem;
  height: 7.6rem;
  margin-left: 3.3rem;
}
.dm-wrap .challenge-participation-wrap .achievement-card .chart-area .circle-chart-wrap {
  position: relative;
  width: 100%;
  height: 100%;
}
.dm-wrap .challenge-participation-wrap .achievement-card .chart-area .circle-chart-wrap .circular-chart {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  max-height: 100%;
}
.dm-wrap .challenge-participation-wrap .achievement-card .chart-area .circle-chart-wrap .circular-chart .circle-bg {
  fill: none;
  stroke: var(--gray-color-50);
  stroke-width: 5.3;
}
.dm-wrap .challenge-participation-wrap .achievement-card .chart-area .circle-chart-wrap .circular-chart .circle {
  fill: none;
  stroke-width: 5.3;
  stroke-linecap: round;
  stroke: url(#gradient-green);
}
.dm-wrap .challenge-participation-wrap .achievement-card .chart-area .circle-chart-wrap .percent-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--primary-color);
}
.dm-wrap .challenge-participation-wrap .achievement-card .chart-area .circle-chart-wrap .percent-text .unit {
  font-size: 1.2rem;
  margin-left: 0.1rem;
  color: var(--gray-color-500);
  font-weight: 500;
}
.dm-wrap .challenge-participation-wrap .evaluation-card .card-body {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: 2rem 1.6rem 2rem 2rem;
  width: 100%;
  box-sizing: border-box;
}
.dm-wrap .challenge-participation-wrap .evaluation-card .txt-area {
  flex: 1;
}
.dm-wrap .challenge-participation-wrap .evaluation-card .txt-area .tit {
  font-size: 1.6rem;
  font-weight: 400;
  color: var(--gray-color-900);
  line-height: 1.4;
  margin-bottom: 2rem;
  letter-spacing: -0.1rem;
}
.dm-wrap .challenge-participation-wrap .evaluation-card .txt-area .tit .col-green {
  color: var(--primary-color);
  font-weight: 700;
  vertical-align: text-top;
}
.dm-wrap .challenge-participation-wrap .evaluation-card .txt-area .top3-record .label {
  display: inline-block;
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--gray-color-800);
  margin-bottom: 0.2rem;
  line-height: 1.4;
}
.dm-wrap .challenge-participation-wrap .evaluation-card .txt-area .top3-record .val {
  font-size: 1.3rem;
  line-height: 1.4;
  color: var(--gray-color-800);
  word-break: keep-all;
}
.dm-wrap .challenge-participation-wrap .evaluation-card .img-area {
  width: 10.4rem;
  flex-shrink: 0;
  margin-left: 1rem;
}
.dm-wrap .challenge-participation-wrap .evaluation-card .img-area img {
  width: 100%;
  display: block;
  /* Challenge No Data Page */
}
.dm-wrap .challenge-participation-wrap .evaluation-nodata-card .card-body {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2rem 1.6rem 2rem 2rem;
  width: 100%;
  box-sizing: border-box;
}
.dm-wrap .challenge-participation-wrap .evaluation-nodata-card .txt-area {
  flex: 1;
}
.dm-wrap .challenge-participation-wrap .evaluation-nodata-card .txt-area .tit {
  font-size: 1.6rem;
  font-weight: 400;
  color: var(--gray-color-900);
  line-height: 1.4;
  margin-bottom: 2rem;
  letter-spacing: -0.1rem;
}
.dm-wrap .challenge-participation-wrap .evaluation-nodata-card .txt-area .tit .col-green {
  color: var(--primary-color);
  font-weight: 700;
  vertical-align: text-top;
}
.dm-wrap .challenge-participation-wrap .evaluation-nodata-card .txt-area .go-btn {
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.2;
  color: var(--primary-color);
  gap: 0.2rem;
  display: flex;
  align-items: center;
  position: relative;
  text-decoration: underline;

}
.dm-wrap .challenge-participation-wrap .evaluation-nodata-card .txt-area .go-btn::before {
  /* content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #6fb35d;
  position: absolute;
  left: 0;
  bottom: -0.3rem; */
}
.dm-wrap .challenge-participation-wrap .evaluation-nodata-card .txt-area .go-btn:after {
  content: "";
  display: inline-block;
  width: 1.2rem;
  height: 1.2rem;
  background: url(../dm_images/common/ico_arrow_primary.png) no-repeat center/contain;
}
.dm-wrap .challenge-participation-wrap .evaluation-nodata-card .img-area {
  width: 10.4rem;
  flex-shrink: 0;
  margin-left: 1rem;
}
.dm-wrap .challenge-participation-wrap .evaluation-nodata-card .img-area img {
  width: 100%;
  display: block;
  /* Challenge No Data Page */
}
.dm-wrap .challenge-nodata-wrap {
  padding: 2.4rem 2rem;
}
.dm-wrap .challenge-nodata-wrap .page-tit {
  font-size: 2.1rem;
  font-weight: 700;
  color: #222;
  margin-bottom: 1.6rem;

}
.dm-wrap .challenge-nodata-wrap .page-tit .col-green {
  color: var(--primary-color);
  margin-left: 0.4rem;
  font-weight: 700;
}
.dm-wrap .challenge-nodata-wrap .nodata-box {
  border: 1px dashed #ddd;
  border-radius: 1.6rem;
  text-align: center;
  padding: 2.4rem 1.6rem 3.2rem;
  background-color: var(--gray-color-25);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.dm-wrap .challenge-nodata-wrap .nodata-box .main-msg {
  font-size: 1.6rem;
  font-weight: 500;
  color: #222;
  line-height: 1.4;
  margin-bottom: 0.8rem;

  word-break: keep-all;
}
.dm-wrap .challenge-nodata-wrap .nodata-box .sub-msg {
  line-height: 1.4;
  font-size: 1.4rem;
  color: #AAA;
}
.dm-wrap .challenge-nodata-wrap .nodata-box .char-img {
  width: 100%;
  aspect-ratio: 303/160;
  margin: 1.6rem 0 2.4rem;
}
.dm-wrap .challenge-nodata-wrap .nodata-box .char-img img {
  width: 15.9rem;
  margin: 0 auto;
}
.dm-wrap .challenge-nodata-wrap .nodata-box .btn-login-challenge {
  width: 100%;
  height: 4rem;
  line-height: 4rem;
  background-color: var(--primary-color);
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  border-radius: 0.8rem;
  border: none;
  margin-top:1.6rem;

  cursor: pointer;
  /* =========================================
  Challenge In Progress Page (dm_challenge_ing.html)
  ========================================= */
}
.dm-wrap .dm-challenge-ing-page {
  padding-bottom: 2rem;
  color: var(--gray-color-900);
  /* Common UI Elements */
  /* 1. Top Section */
  /* 2. Banner Section */
  /* 3. All Challenge List Section */
}
.dm-wrap .dm-challenge-ing-page * {
  box-sizing: border-box;
}
.dm-wrap .dm-challenge-ing-page .divider-lg {
  height: 1rem;
  background: #f5f5f5;
  border-top: 1px solid #eee;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper {
  /* Notification Bar */
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .challenge-notice-bar {
  padding: 0.8rem 2rem 0;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .challenge-notice-bar a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #4C4C4C;
  border-radius: 0.8rem;
  padding: 0.9rem 1.6rem;
  color: #fff;
  font-size: 1.3rem;
  line-height: 1.4;
  font-weight: 500;
  border: 1px solid rgba(0, 0, 0, 0.1);
  text-decoration: none;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .challenge-notice-bar a .ico-bell {
  display: inline-block;
  width: 1.6rem;
  height: 1.6rem;
  background: url("../dm_images/challenge/ico_bell_yellow.png") no-repeat center center/contain;
  margin-right: 0.8rem;
  flex-shrink: 0;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .challenge-notice-bar a .txt {
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding-right: 0.8rem;
  text-align: left;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .challenge-notice-bar a .ico-arrow {
  display: inline-block;
  width: 1.6rem;
  height: 1.6rem;
  background: url("../dm_images/common/ico_arrow_w.png") no-repeat center center/contain;
  flex-shrink: 0;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .top-title-area {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2.4rem 2rem 1.6rem;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .top-title-area .pg-tit {
  font-size: 2.1rem;
  font-weight: 700;
  color: var(--gray-color-900);
  line-height: 1.2;

}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .top-title-area .pg-tit span.cnt {
  color: var(--primary-color);
  margin-left: 0.4rem;
  font-weight: 700;
}


.dm-wrap .dm-challenge-ing-page .section-top-swiper .top-title-area .link-more {
  display: flex;
  align-items: center;
  font-size: 1.3rem;
  font-weight: 600;
  color: var(--gray-color-800);
  text-decoration: none;
  line-height: 1.2;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .top-title-area .link-more::after {
  content: "";
  display: inline-block;
  width: 1.2rem;
  height: 1.2rem;
  margin-left: 0.2rem;
  /* Add slight spacing for better look */
  margin-top: 0rem;
  /* Visual correction to lift arrow */
  background: url("../dm_images/common/ico_arrow_g.png") no-repeat center center/contain;
}

.dm-wrap .dm-challenge-sticker-page .top-info .d-flex {display:flex;justify-content: space-between;  align-items: center;}
.dm-wrap .dm-challenge-sticker-page .link-more {
  display: flex;
  align-items: center;
  font-size: 1.3rem;
  font-weight: 600;
  color: #777;
  text-decoration: none;
  line-height: 1.2;
}
.dm-wrap .dm-challenge-sticker-page .link-more::after {
  content: "";
  display: inline-block;
  width: 1.2rem;
  height: 1.2rem;
  margin-left: 0.2rem;
  margin-top: 0rem;
  background: url("../dm_images/common/ico_arrow_g.png") no-repeat center center/contain;
}

.dm-wrap .dm-challenge-sticker-page .t-point {
  display: inline-flex;
  align-items: center;
  font-size: 1.3rem;
  line-height: 1.6rem;
  padding-left: 2rem;
  font-weight: 600;
  color:#777;
  position: relative;
  margin-top:5px;
}

.dm-wrap .dm-challenge-sticker-page .t-point::before {
  content: "";
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  position: absolute;
  left: 0;
  top: 0;
  background: url("../dm_images/challenge/ico_point.png") no-repeat center center/contain;
}

.dm-wrap .dm-challenge-sticker-page .btn-check-diary {
    margin-top:1.6rem;
    display: block;
    width: 100%;
    height: 4rem;
    line-height: 4rem;
    border: 1px solid var(--primary-color);
    color: #fff;
    text-align: center;
    font-size: 1.5rem;
    font-weight: 700;
    border-radius: 0.8rem;
    background: var(--primary-color);
    margin-bottom: 3.2rem;
}
.dm-wrap .dm-challenge-sticker-page .btn-check-diary svg{margin:0 3px;}



.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper {
  padding: 0 2rem 3.2rem;
  /* bottom padding for pagination space */
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .swiper-slide {
  transition: transform 0.3s;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card {
  position: relative;
  width: 100%;
  min-height: 30.2rem;
  border-radius: 1.2rem;
  padding: 2.4rem 1.6rem 2.4rem;
  /* Top Info */
  /* Stats Box */
  /* Mission Box */
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card.type01 {
  background: linear-gradient(180deg, #E8FCF9 0%, #E2F2BC 100%);
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card.type01 .char-box {
  background: url("../dm_images/challenge/character_ing.png") no-repeat center center/contain;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card.type02 {
  background: linear-gradient(180deg, #FFD3A7 0%, #F3EBAB 100%);
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card.type02 .char-box {
  background: url("../dm_images/challenge/character_end.png") no-repeat center center/contain;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card.type03 {
  background: linear-gradient(176.57deg, #F9E8AC -0.57%, #F2F3CB 105.36%);
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card.type03 .char-box {
  background: url("../dm_images/challenge/character_end2.png") no-repeat center center/contain;
}





.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .link-detail {
  display: block;
  text-decoration: none;
  color: inherit;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-top-info {
  padding: 0 0.4rem;
  position: relative;
  margin-bottom: 1.6rem;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-top-info .badges {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.6rem;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-top-info .badges .badge-day {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1rem 0.5rem 0.8rem;
  border-radius: 1.2rem;
  background: rgba(255, 255, 255, 0.6);
  color: #39802B;

  font-size: 1.3rem;
  font-weight: 700;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-top-info .badges .badge-day::before {
  content: "";
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  margin-right: 0.2rem;
  background: url("../dm_images/challenge/ico_badge_day.png") no-repeat center center/contain;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-top-info .badges .badge-count {
  position: absolute;
  right: 0;
  top: -1.2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 2rem;
  padding: 0 0.8rem;
  border-radius: 1rem;
  background: rgba(0, 0, 0, 0.6);
  color: #ccc;
  /* Base color for / N */
  font-size: 1rem;
  font-weight: 400;
  z-index:1;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-top-info .badges .badge-count em {
  color: #fff;
  /* Active color for current index */
  font-style: normal;
  font-weight: 600;
  margin-right: 0.2rem;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-top-info .title-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-top-info .title-row .tit-box {
  padding-right: 1rem;
  width: 22rem;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-top-info .title-row .tit-box .t-main {
  font-size: 2.3rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--gray-color-900);

}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-top-info .title-row .tit-box .t-date {
  margin-bottom: 0.8rem;
  font-size: 1.3rem;
  line-height: 1.2;
  color: var(--gray-color-600);
  /* #888 */
  letter-spacing: -0.02em;
  font-weight: 500;
  margin-top: 0.2rem;
}

.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-top-info .title-row .tit-box .t-point {
  display: inline-flex;
  align-items: center;
  font-size: 1.3rem;
  line-height: 1.6rem;
  padding-left: 2rem;
  font-weight: 600;
  color: var(--gray-color-900);
  position: relative;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-top-info .title-row .tit-box .t-point::before {
  content: "";
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  position: absolute;
  left: 0;
  top: 0;
  background: url("../dm_images/challenge/ico_point.png") no-repeat center center/contain;
}

.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-top-info .title-row .tit-box .t-point.type2::before {
  content: "";
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  position: absolute;
  left: 0;
  top: 0;
  background: url("../dm_images/challenge/ico_coupon.png") no-repeat center center/contain;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-top-info .title-row .tit-box .t-point.type3::before {
  content: "";
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  position: absolute;
  left: 0;
  top: 0;
  background: url("../dm_images/challenge/ico_point2.png") no-repeat center center/contain;
}




.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-top-info .title-row .tit-box p {
  font-size: 1.3rem;
  line-height: 1.6rem;
  font-weight: 700;
  color: var(--gray-color-900);

  position: relative;
}

.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card.type01 .card-top-info .title-row .char-box {
  position: absolute;
  right: -0.46rem;
  bottom: -3rem;
  width: 13.6rem;
  height: 13.6rem;
  flex-shrink: 0;
}


.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-top-info .title-row .char-box {
  position: absolute;
  right: -0.46rem;
  bottom: -3rem;
  width: 13.6rem;
  height: 13.6rem;
  flex-shrink: 0;
}




.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-stats-box {
  margin-bottom: 1.6rem;
  padding: 2.4rem 1.6rem;
  background: #fff;
  border-radius: 1.2rem;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  position: relative;
  z-index: 1;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-stats-box .stat-row {
  display: flex;
  align-items: center;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-stats-box .stat-row .icon-area {
  flex-shrink: 0;
  width: 4rem;
  height: 4rem;
  margin-right: 1.6rem;
  /* Circle Styles */
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-stats-box .stat-row .icon-area .ico {
  width: 4rem;
  height: 4rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  display: block;
}


.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-stats-box .stat-row .icon-area .ico.ico-cup {
  background-image: url("../dm_images/challenge/ico_cup.png");
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-stats-box .stat-row .icon-area .ico.ico-flag {
  background-image: url("../dm_images/challenge/ico_flag.png");
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-stats-box .stat-row .icon-area .ico.ico-rank {
  background-image: url("../dm_images/challenge/ico_rank.png");
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-stats-box .stat-row .info-area {
  flex: 1;
  min-width: 0;
  /* Prevent flex overflow */
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-stats-box .stat-row .info-area .info-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.4rem;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-stats-box .stat-row .info-area .info-head .lbl {
  font-size: 1.4rem;
  color: var(--gray-color-800);
  font-weight: 500;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-stats-box .stat-row .info-area .info-head .val-area {
  font-size: 1.4rem;
  color: var(--gray-color-600);
  font-weight: 400;
  display: flex;
  align-items: center;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-stats-box .stat-row .info-area .info-head .val-area .val {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--gray-color-900);
  margin-right: 0.2rem;
  line-height: 1.4;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-stats-box .stat-row .info-area .bar-area {
  width: 100%;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-stats-box .stat-row .info-area .bar-area .bar-bg {
  width: 100%;
  height: 0.8rem;
  background: #F2F2F2;
  border-radius: 0.4rem;
  overflow: hidden;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-stats-box .stat-row .info-area .bar-area .bar-bg .bar-fill {
  height: 100%;
  background: #7BBB4E;
  border-radius: 0.4rem;
  position: relative;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-stats-box .stat-row .info-area .bar-area .bar-bg .bar-fill::after {
  content: "";
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
  background-color: var(--primary-color-600);
  position: absolute;
  right: 0;
  top: 0;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-mission-box .mission-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.2rem;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-mission-box .mission-head .m-tit {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--gray-color-900);
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-mission-box .mission-head .m-count {

  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: var(--gray-color-800);
  display: flex;
  align-items: center;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-mission-box .mission-head .m-count em {
  font-weight: 700;
  font-size: 1.4rem;
  color: var(--primary-color);
  margin-right: 0.4rem;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-mission-box .mission-list {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-mission-box .mission-list .mission-item {
  display: flex;
  align-items: center;
  background: #fff;
  padding: 1.2rem 1.6rem;
  border-bottom: 1px solid #f2f2f2;
  border-radius: 0.8rem;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-mission-box .mission-list .mission-item:has(.btn-cert.completed) {
  background-color: rgba(0, 0, 0, 0.04);
  border: 1px solid rgba(0, 0, 0, 0.04);
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-mission-box .mission-list .mission-item:last-child {
  border-bottom: none;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-mission-box .mission-list .mission-item .icon-sq {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  margin-right: 1.2rem;
  border-radius: 1rem;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-mission-box .mission-list .mission-item .icon-sq img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-mission-box .mission-list .mission-item .m-name {
  flex: 1;
  font-size: 1.6rem;
  color: var(--gray-color-800);
  font-weight: 500;
  display: flex;
  flex-direction: column;
}

.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-mission-box .mission-list .mission-item .m-name a {
  color:#383838;
  font-size:1.2rem;
}

.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-mission-box .mission-list .mission-item .btn-cert {
  min-width: 5.5rem;
  display: inline-block;
  text-align: center;
  padding: 0.4rem 0.8rem;
  border-radius: 3.2rem;
  font-size: 1.2rem;
  border: 1px solid #F5F5E2;
  font-weight: 600;

}
.dm-wrap .sticker-swiper {
  padding-bottom:4rem;
}

.dm-wrap .sticker-swiper .swiper-pagination {
  bottom: 1.3rem;
}
.dm-wrap .sticker-swiper .swiper-pagination .swiper-pagination-bullet {
  margin: 0 0.3rem;
  width: 0.6rem;
  height: 0.6rem;
  background: var(--gray-color-400);
  opacity: 1;
  transition: all 0.3s;
}
.dm-wrap .sticker-swiper .swiper-pagination .swiper-pagination-bullet-active {
  width: 2.4rem;
  background: var(--gray-color-900);
  /* var(--gray-color-800) */
  border-radius: 0.3rem;
}





.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-mission-box .mission-list .mission-item .btn-cert.active {
  background-color: #F5F5E2;
  color: var(--primary-color);
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-mission-box .mission-list .mission-item .btn-cert.completed {
  border: 1px solid rgba(0, 0, 0, 0.04);
  color: var(--gray-color-500);
  background-color: var(--gray-color-100);
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .ing-card .card-mission-box .mission-list .mission-item .btn-cert.wait {
  background-color: var(--gray-color-100);
  color: var(--gray-color-700);
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .swiper-pagination {
  bottom: 1.3rem;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .swiper-pagination .swiper-pagination-bullet {
  margin: 0 0.3rem;
  width: 0.6rem;
  height: 0.6rem;
  background: var(--gray-color-400);
  opacity: 1;
  transition: all 0.3s;
}
.dm-wrap .dm-challenge-ing-page .section-top-swiper .ing-card-swiper .swiper-pagination .swiper-pagination-bullet-active {
  width: 2.4rem;
  background: var(--gray-color-900);
  /* var(--gray-color-800) */
  border-radius: 0.3rem;
}
.dm-wrap .dm-challenge-ing-page .section-sprout-banner {
  margin-bottom: 3.3rem;
}
.dm-wrap .dm-challenge-ing-page .section-sprout-banner .sprout-swiper {
  padding: 0 2rem 2rem;
  /* Pagination Space */
}
.dm-wrap .dm-challenge-ing-page .section-sprout-banner .sprout-swiper .swiper-slide {
  width:100%;
}
.dm-wrap .dm-challenge-ing-page .section-sprout-banner .sprout-swiper .sprout-inner {
  display: block;
  text-decoration: none;
  color: inherit;
  position: relative;
  background: #ECEFCF;
  border-radius: 1.2rem;
  overflow: hidden;
}
.dm-wrap .dm-challenge-ing-page .section-sprout-banner .sprout-swiper .sprout-inner .txt-group {
  padding: 1.6rem 1.6rem 2.3rem;
}
.dm-wrap .dm-challenge-ing-page .section-sprout-banner .sprout-swiper .sprout-inner .txt-group .t1 {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--gray-color-900);
  line-height: 1.4;
}
.dm-wrap .dm-challenge-ing-page .section-sprout-banner .sprout-swiper .sprout-inner .txt-group .t2 {
  font-size: 1.2rem;
  font-weight: 500;
  margin-top: 0.8rem;
  color: var(--gray-color-600);
}
.dm-wrap .dm-challenge-ing-page .section-sprout-banner .sprout-swiper .sprout-inner .count-group {
  position: absolute;
  bottom: 3.7rem;
  right: 1.6rem;
  display: flex;
  align-items: center;
}
.dm-wrap .dm-challenge-ing-page .section-sprout-banner .sprout-swiper .sprout-inner .count-group i.ico-sprout-big {
  display: inline-block;
  width: 3.2rem;
  height: 3.2rem;
  margin-right: 0.5rem;
  background: url("../dm_images/challenge/ico_sprout.png") no-repeat center/contain;
  border-radius: 50%;
}
.dm-wrap .dm-challenge-ing-page .section-sprout-banner .sprout-swiper .sprout-inner .count-group .curr {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--primary-color);
  line-height: 1.4;
}
.dm-wrap .dm-challenge-ing-page .section-sprout-banner .sprout-swiper .sprout-inner .count-group .total {
  margin-left: 0.4rem;
  font-size: 1.8rem;
  line-height: 1.4;
  color: var(--gray-color-600);
  margin-bottom: 0;
}
.dm-wrap .dm-challenge-ing-page .section-sprout-banner .sprout-swiper .sprout-inner .bottom-msg {
  padding: 0.6rem 0;
  background: #DDE8BE;
  text-align: center;
  font-size: 1.2rem;
  line-height: 1.4;
  color: var(--gray-color-800);
  font-weight: 400;
}
.dm-wrap .dm-challenge-ing-page .section-sprout-banner .sprout-swiper .swiper-pagination {
  bottom: 0;
}
.dm-wrap .dm-challenge-ing-page .section-sprout-banner .sprout-swiper .swiper-pagination .swiper-pagination-bullet {
  margin: 0 0.3rem;
  width: 0.6rem;
  height: 0.6rem;
  background: var(--gray-color-400);
  opacity: 1;
  transition: all 0.3s;
}
.dm-wrap .dm-challenge-ing-page .section-sprout-banner .sprout-swiper .swiper-pagination .swiper-pagination-bullet-active {
  width: 2.4rem;
  background: var(--gray-color-900);
  /* var(--gray-color-800) */
  border-radius: 0.3rem;
}
.dm-wrap .dm-challenge-ing-page .section-sprout-banner.main{margin: 2.5rem 0 1rem;}
.dm-wrap .dm-challenge-ing-page .section-all-challenge {
  padding: 2.4rem 2rem 3.2rem;
}
.dm-wrap .dm-challenge-ing-page .section-all-challenge .sec-tit {
  font-size: 2.1rem;
  line-height: 1.2;
  font-weight: 700;
  color: var(--gray-color-900);

  /* #000 */
}
.dm-wrap .dm-challenge-ing-page .section-all-challenge .tab-capsule {
  margin-top: 1.2rem;
  display: flex;
  gap: 0.4rem;
  margin-bottom: 1.6rem;
}
.dm-wrap .dm-challenge-ing-page .section-all-challenge .tab-capsule .tab-btn {
  height: 3.2rem;
  padding: 0 1.2rem;
  border: 1px solid #E5E5E5;
  border-radius: 1.6rem;
  background: #fff;
  font-size: 1.4rem;
  color: var(--gray-color-600);
  /* #666 */
  font-weight: 600;
  cursor: pointer;
}
.dm-wrap .dm-challenge-ing-page .section-all-challenge .tab-capsule .tab-btn.active {
  background: var(--gray-color-800);
  /* var(--gray-color-800) */
  color: #fff;
  border-color: var(--gray-color-800);
}
.dm-wrap .dm-challenge-ing-page .section-all-challenge .tab-content-group .tab-pane {
  display: none;
}
.dm-wrap .dm-challenge-ing-page .section-all-challenge .tab-content-group .tab-pane.active {
  display: block;
}
.dm-wrap .dm-challenge-ing-page .section-all-challenge .challenge-list-v .item {
  display: block;
  width: 100%;
  margin-bottom: 2.4rem;
}
.dm-wrap .dm-challenge-ing-page .section-all-challenge .challenge-list-v .item .thumb {
  position: relative;
  width: 100%;
  margin-bottom: 1.2rem;
  border-radius: 1.2rem;
  overflow: hidden;
  isolation: isolate;
}
.dm-wrap .dm-challenge-ing-page .section-all-challenge .challenge-list-v .item .thumb::after {
  display: block;
  content: "";
  padding-bottom: 56.25%;
  /* 16:9 Aspect */
}
.dm-wrap .dm-challenge-ing-page .section-all-challenge .challenge-list-v .item .thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;

  object-fit: cover;
}
.dm-wrap .dm-challenge-ing-page .section-all-challenge .challenge-list-v .item .thumb .on-img-tags {
  position: absolute;
  top: 1.6rem;
  left: 1.6rem;
  z-index: 1;
  display: flex;
  gap: 0.6rem;
}
.dm-wrap .dm-challenge-ing-page .section-all-challenge .challenge-list-v .item .thumb .on-img-tags .tag-orange {
  padding: 0.3rem 0.8rem;
  background: #FF6B00;
  color: #fff;
  font-size: 1.1rem;
  font-weight: 700;
  border-radius: 1.2rem;
}
.dm-wrap .dm-challenge-ing-page .section-all-challenge .challenge-list-v .item .thumb .on-img-tags .tag-point {
  padding: 0.3rem 0.8rem;
  background: rgba(0, 0, 0, 0.6);
  color: #FFD25F;
  font-size: 1.1rem;
  font-weight: 700;
  border-radius: 1.2rem;
}
.dm-wrap .dm-challenge-ing-page .section-all-challenge .challenge-list-v .item .thumb .bottom-info {
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: flex-end;
  width: 100%;
  padding: 2.4rem 1.6rem 1.2rem;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, transparent 100%);
  color: #fff;
  font-size: 1.2rem;
}
.dm-wrap .dm-challenge-ing-page .section-all-challenge .challenge-list-v .item .thumb .bottom-info .i-txt {
  display: flex;
  align-items: center;
  margin-right: 1.2rem;
}
.dm-wrap .dm-challenge-ing-page .section-all-challenge .challenge-list-v .item .thumb .bottom-info .i-txt b {
  margin-left: 0.2rem;
  font-weight: 700;
}
.dm-wrap .dm-challenge-ing-page .section-all-challenge .challenge-list-v .item .thumb .bottom-info .i-txt.with-icon b {
  margin-left: 0.4rem;
}
.dm-wrap .dm-challenge-ing-page .section-all-challenge .challenge-list-v .item .thumb .bottom-info .tags-right {
  margin-left: auto;
  font-size: 1.2rem;
}
.dm-wrap .dm-challenge-ing-page .section-all-challenge .challenge-list-v .item .thumb .bottom-info .tags-right .c-org {
  color: #FF6B00;
}
.dm-wrap .dm-challenge-ing-page .section-all-challenge .challenge-list-v .item .text-group .c-tit {
  margin-bottom: 0.4rem;
  font-size: 1.6rem;
  line-height: 1.4;
  font-weight: 700;
  color: var(--gray-color-900);
}
.dm-wrap .dm-challenge-ing-page .section-all-challenge .challenge-list-v .item .text-group .c-date {
  line-height: 1.4;
  font-size: 1.3rem;
  color: var(--gray-color-500);
  /* #888 */
  /* ==========================================================================
  DM Challenge Sticker Page (Detail)
  ========================================================================== */
}
.dm-wrap .dm-challenge-sticker-page {
  background-color: #F5F5E2;
  min-height: 100vh;
  padding-bottom: 6rem;
}
.dm-wrap .dm-challenge-sticker-page .top-info {
  padding: 2.4rem 2rem 1.6rem;
}
.dm-wrap .dm-challenge-sticker-page .top-info .tit {
  font-size: 2.3rem;
  font-weight: 700;
  color: var(--gray-color-900);
  line-height: 1.2;

}
.dm-wrap .dm-challenge-sticker-page .top-info .date {
  font-size: 1.3rem;
  margin-top: 0.4rem;
  font-weight: 400;
  line-height: 1.4;
  color: var(--gray-color-600);
}
.dm-wrap .dm-challenge-sticker-page .sticker-board-wrap {
  padding: 0 2rem;
}
.dm-wrap .dm-challenge-sticker-page .sticker-board-wrap .sticker-board {
  background: #fff;
  border-radius: 1.2rem;
  padding: 3.2rem 3.475rem;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.2rem 1.6rem;
  place-items: center;
}
.dm-wrap .dm-challenge-sticker-page .sticker-board-wrap .sticker-board .sticker-item {
  width: 100%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--gray-color-25);
  color: var(--gray-color-300);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  font-size: 1.6rem;
  position:relative;
}

.dm-wrap .dm-challenge-sticker-page .sticker-board-wrap .sticker-board .sticker-item.tooltip:after {
  content:'눌러서 포인트 받기!';
  position: absolute;
  top: -3rem;
  height: 2.2rem;
  line-height: 2.2rem;
  font-size: 1.2rem;
  font-weight: 500;
  display: inline-block;
  padding: 0 1rem;
  background: rgba(0, 0, 0, 0.70);
  border-radius: 0.6rem;
  color: #fff;
  white-space: nowrap;
  left: 50%;
  transform: translateX(-50%);
}


.dm-wrap .dm-challenge-sticker-page .sticker-board-wrap .sticker-board .sticker-item.tooltip:before {
    left: 50%;    
    width: .8rem;
    height: .5rem;
    background: url(../dm_images/gauge_step2.png) no-repeat center / contain;
    content: '';
    position: absolute;
    top: -0.8rem;
    display: block;
    transform: rotate(180deg);
    margin-left:-0.4rem;
}

.dm-wrap .dm-challenge-sticker-page .sticker-board-wrap .sticker-board .sticker-item.gift {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url("../dm_images/challenge/ico_gift.png") no-repeat center center/contain;
  font-size: 0;
}

.dm-wrap .dm-challenge-sticker-page .sticker-board-wrap .sticker-board .sticker-item.gift2 {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url("../dm_images/challenge/ico_gift2.png") no-repeat center center/contain;
  cursor:pointer;
  font-size: 0;
}

.dm-wrap .dm-challenge-sticker-page .sticker-board-wrap .sticker-board .sticker-item.checked {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url("../dm_images/challenge/ico_gift3.png") no-repeat center center/contain;
  cursor:pointer;
  font-size: 0;
}

.dm-wrap .dm-challenge-sticker-page .sticker-board-wrap .sticker-board .sticker-item.active {
  font-size: 0;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url("../dm_images/challenge/ico_sprout.png") no-repeat center center/contain;
}
.dm-wrap .dm-challenge-sticker-page .reward-section {
  padding: 3.2rem 2rem 0;
}
.dm-wrap .dm-challenge-sticker-page .reward-section .rew-tit {
  font-size: 1.8rem;
  font-weight: 700;

  font-weight: 700;
  color: var(--gray-color-900);
  line-height: 1.2;
}
.dm-wrap .dm-challenge-sticker-page .reward-section .reward-card {
  margin-top: 1.6rem;
  display: block;
  background: #fff;
  border-radius: 1.2rem;
  padding: 0.2rem 0;
  overflow: hidden;
}
.dm-wrap .dm-challenge-sticker-page .reward-section .reward-card img {
  display: block;
  width: 100%;
  height: auto;
  /* =========================================
  챌린지 캘린더 페이지 스타일
  ========================================= */
}
.dm-wrap .challenge-calendar-content {
  padding: 0;
  background-color: #fff;
  /* 캘린더 영역 */
  /* 범례 */
  /* 하단 미션 리스트 */
}
.dm-wrap .challenge-calendar-content .cal-header-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 2rem 0 1.6rem;
  height: 3.2rem;
  position: relative;
  gap: 0.8rem;
}
.dm-wrap .challenge-calendar-content .cal-header-controls .current-month {

  font-size: 2.3rem;
  font-weight: 600;
  color: #000;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.dm-wrap .challenge-calendar-content .cal-header-controls .current-month b {
  font-weight: 700;
}
.dm-wrap .challenge-calendar-content .cal-header-controls .current-month::after {
  content: "";
  margin-left: 0.8rem;
  display: block;
  width: 2rem;
  height: 2rem;
  background: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 6L8 10L12 6' stroke='%23333333' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;
}
.dm-wrap .challenge-calendar-content .cal-header-controls button {
  width: 3.2rem;
  height: 3.2rem;
  border: 1px solid #E1E1E2;
  border-radius: 0.8rem;
  background-color: #f4f4f5;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 2rem;
  font-size: 0;
  cursor: pointer;
}
.dm-wrap .challenge-calendar-content .cal-header-controls button.btn-cal-prev {
  position: absolute;
  left: 2rem;
  background-image: url("../dm_images/common/ico_arrow_left_b.png");
}
.dm-wrap .challenge-calendar-content .cal-header-controls button.btn-cal-next {
  position: absolute;
  right: 2rem;
  background-image: url("../dm_images/common/ico_arrow_right_b.png");
}
.dm-wrap .challenge-calendar-content .cal-header-controls button .blind {
  font-size: 0;
  text-indent: -9999px;
}
.dm-wrap .challenge-calendar-content .cal-status-banner strong {
  font-weight: 700;
}
.dm-wrap .challenge-calendar-content .cal-status-banner {
  background-color: #F5F5E2;
  padding: 0.6rem 2rem;
  text-align: center;
  font-size: 1.2rem;
  color: var(--gray-color-800);
  line-height: 1.4;
  display: flex;
  align-items: center;
  justify-content: center;
}
.dm-wrap .challenge-calendar-content .cal-status-banner .highlight {
  margin-left: 0.2rem;
  color: #FF7425;
  font-weight: 700;
}
.dm-wrap .challenge-calendar-content .calendar-swiper-wrap {
  padding: 1.6rem 2rem;
}
.dm-wrap .challenge-calendar-content .calendar-swiper-wrap .week-days {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.4em;
}
.dm-wrap .challenge-calendar-content .calendar-swiper-wrap .week-days span {
  display: block;
  width: 14.28%;
  text-align: center;
  font-size: 1.4rem;
  color: var(--gray-color-600);
  font-weight: 600;
}
.dm-wrap .challenge-calendar-content .calendar-swiper-wrap .week-days span.sun {
  color: #E64C63;
}
.dm-wrap .challenge-calendar-content .calendar-swiper-wrap .month-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  row-gap: 0.4rem;
}
.dm-wrap .challenge-calendar-content .calendar-swiper-wrap .month-grid .date-cell {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
  /* 과거 날짜 (회색) */
  /* 오늘 날짜 (Mock: data.today) */
  /* 상태: 인증 성공 (새싹) */
  /* 상태: 인증 중 (링) */
}
.dm-wrap .challenge-calendar-content .calendar-swiper-wrap .month-grid .date-cell .num {

  font-size: 1.6rem;
  color: var(--gray-color-300);
  z-index: 1;
}
.dm-wrap .challenge-calendar-content .calendar-swiper-wrap .month-grid .date-cell.current-month .num {
  color: var(--gray-color-800);
  font-weight: 600;
}
.dm-wrap .challenge-calendar-content .calendar-swiper-wrap .month-grid .date-cell.past {
  /* 인증 중인 경우 블랙 유지 */
}
.dm-wrap .challenge-calendar-content .calendar-swiper-wrap .month-grid .date-cell.past .num {
  color: var(--gray-color-300);
}
.dm-wrap .challenge-calendar-content .calendar-swiper-wrap .month-grid .date-cell.past.status-ing .num {
  color: var(--gray-color-800);
}
.dm-wrap .challenge-calendar-content .calendar-swiper-wrap .month-grid .date-cell.today {
  position: relative;
}


.dm-wrap .challenge-calendar-content .calendar-swiper-wrap .month-grid .date-cell.select::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 1.2px solid var(--primary-color-300);
  border-radius: 0.8rem;
  box-sizing: border-box;
  z-index: 10;
  pointer-events: none;
}

.dm-wrap .challenge-calendar-content .calendar-swiper-wrap .month-grid .date-cell.today::after {
  content: "";
  position: absolute;
  top: 0.4rem;
  right: 0.4rem;
  width: 0.6rem;
  height: 0.6rem;
  background-color: #FF7425;
  border-radius: 50%;
  z-index: 11;
  pointer-events: none;
}
.dm-wrap .challenge-calendar-content .calendar-swiper-wrap .month-grid .date-cell.status-success .icon-bg {
  position: absolute;
  width: 3.6rem;
  height: 3.6rem;
  background-color: var(--primary-color);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 0;
}
.dm-wrap .challenge-calendar-content .calendar-swiper-wrap .month-grid .date-cell.status-success .icon-bg::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url("../dm_images/challenge/ico_sprout.png") no-repeat center/contain;
}
.dm-wrap .challenge-calendar-content .calendar-swiper-wrap .month-grid .date-cell.status-success .num {
  display: none;
}
.dm-wrap .challenge-calendar-content .calendar-swiper-wrap .month-grid .date-cell.status-ing .icon-bg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 3.6rem;
  height: 3.6rem;
  border-radius: 50%;
  background: #EEEEEE;
  -webkit-mask: radial-gradient(closest-side, transparent 79%, #fff 80%);
  mask: radial-gradient(closest-side, transparent 79%, #fff 80%);
  z-index: 0;
}
.dm-wrap .challenge-calendar-content .calendar-swiper-wrap .month-grid .date-cell.status-ing .icon-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(65.28% 65.28% at 50% 34.72%, #C2DA28 0%, var(--primary-color) 100%);
  -webkit-mask: conic-gradient(#fff 75%, transparent 0);
  mask: conic-gradient(#fff 75%, transparent 0);
}
.dm-wrap .challenge-calendar-content .cal-legend-area {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 2rem 3.2rem;
  font-size: 1.2rem;
  font-weight: 400;
  color: var(--gray-color-700);
}
.dm-wrap .challenge-calendar-content .cal-legend-area .right-legend {
  display: flex;
  gap: 1.6rem;
}
.dm-wrap .challenge-calendar-content .cal-legend-area .right-legend .legend-item {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  color: var(--gray-color-800);
}
.dm-wrap .challenge-calendar-content .cal-legend-area .right-legend .legend-item .ico-ring {
  width: 2rem;
  height: 2rem;
  background-image: url("../dm_images/challenge/ico_ring.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.dm-wrap .challenge-calendar-content .cal-legend-area .right-legend .legend-item .ico-leaf {
  width: 2rem;
  height: 2rem;
  background-image: url("../dm_images/challenge/ico_sprout.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.dm-wrap .challenge-calendar-content .grey-bar {
  height: 0.8rem;
  background-color: #f5f5f5;
}
.dm-wrap .challenge-calendar-content .daily-mission-list-wrap {
  padding: 2.4rem 2rem 4.8rem;
  background-color: var(--gray-color-25);
}
.dm-wrap .challenge-calendar-content .daily-mission-list-wrap .list-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.6rem;
}
.dm-wrap .challenge-calendar-content .daily-mission-list-wrap .list-header .tit {

  font-size: 1.8rem;
  font-weight: 700;
  color: var(--gray-color-900);
}
.dm-wrap .challenge-calendar-content .daily-mission-list-wrap .list-header .count {

  font-size: 1.8rem;
  color: var(--gray-color-400);
}
.dm-wrap .challenge-calendar-content .daily-mission-list-wrap .list-header .count .curr {
  color: var(--primary-color);
  font-weight: 700;
}
.dm-wrap .challenge-calendar-content .daily-mission-list-wrap .mission-list {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
.dm-wrap .challenge-calendar-content .daily-mission-list-wrap .mission-list li .mission-card {
  display: flex;
  align-items: center;
  padding: 1.6rem;
  border: 1px solid var(--gray-color-100);
  border-radius: 1.2rem;
  box-shadow: 0 0.2rem 0.6rem rgba(0, 0, 0, 0.03);
  background-color: #fff;
}
.dm-wrap .challenge-calendar-content .daily-mission-list-wrap .mission-list li .mission-card .icon-box {
  width: 4rem;
  height: 4rem;
  margin-right: 1.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.dm-wrap .challenge-calendar-content .daily-mission-list-wrap .mission-list li .mission-card .icon-box img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}
.dm-wrap .challenge-calendar-content .daily-mission-list-wrap .mission-list li .mission-card .txt-box {
  flex: 1;
}
.dm-wrap .challenge-calendar-content .daily-mission-list-wrap .mission-list li .mission-card .txt-box .name {
  font-size: 1.6rem;
  color: var(--gray-color-800);
  font-weight: 500;
}
.dm-wrap .challenge-calendar-content .daily-mission-list-wrap .mission-list li .mission-card button {
  padding: 0 1.6rem;
  height: 3.6rem;
  border-radius: 0.6rem;
  font-size: 1.4rem;
  font-weight: 700;

  border: none;
  cursor: pointer;
}
.dm-wrap .challenge-calendar-content .daily-mission-list-wrap .mission-list li .mission-card button.btn-certify {
  background-color: var(--primary-color);
  color: #fff;
}
.dm-wrap .challenge-calendar-content .daily-mission-list-wrap .mission-list li .mission-card button.btn-certify.completed {
  background-color: var(--gray-color-100);
  color: var(--gray-color-400);
  cursor: default;
}
.dm-wrap .challenge-calendar-content .daily-mission-list-wrap .dm-status {
  top: -3.5rem;
}
.dm-wrap .dm-goal-wrap {
  padding: 0;
  /* Managed Title Highlight */
  /* Calorie Tab Title Highlight */
  /* Protein Care Tag Button Style */
  /* Managed Type Static Text */
  /* Banner In Progress Content */
  /* Banner In Progress Content - REFINED */
  /* Reset Banner Link */
  /* Read-Only Goal Setting Styles */
}
.dm-wrap .dm-goal-wrap .goal-process-banner-wrap {
  margin: 0;
}
.dm-wrap .dm-goal-wrap .goal-process-banner-wrap .banner-intro-content {
  padding: 2.4rem 2rem 3.2rem;
  background-color: #fff;
}
.dm-wrap .dm-goal-wrap .goal-process-banner-wrap .banner-intro-content .title {

  font-size: 2.3rem;
  font-weight: 700;
  color: var(--gray-color-900);
  line-height: 1.2;
  margin-bottom: 0.4rem;
  float:none;
}
.dm-wrap .dm-goal-wrap .goal-process-banner-wrap .banner-intro-content .title .highlight {
  color: var(--primary-color-600);
}
.dm-wrap .dm-goal-wrap .goal-process-banner-wrap .banner-intro-content .desc {
  font-size: 1.3rem;
  color: var(--gray-color-800);
  line-height: 140%;
  font-weight: 500;
}
.dm-wrap .dm-goal-wrap .goal-process-banner-wrap .nutrition-type-link-banner {
  background-color: var(--primary-color);
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 4.8rem;
  padding: 0 2rem;
}
.dm-wrap .dm-goal-wrap .goal-process-banner-wrap .nutrition-type-link-banner.view-managed {
  background-color: #F5F5E2;
}
.dm-wrap .dm-goal-wrap .goal-process-banner-wrap .nutrition-type-link-banner.view-managed .txt {
  color: var(--primary-color-600);
}
.dm-wrap .dm-goal-wrap .goal-process-banner-wrap .nutrition-type-link-banner .txt {
  font-size: 1.3rem;
  font-weight: 700;
  color: #fff;
}
.dm-wrap .dm-goal-wrap .goal-process-banner-wrap .nutrition-type-link-banner .btn-ai {
  display: flex;
  align-items: center;
  font-size: 1.3rem;
  line-height: 1.2;
  font-weight: 600;
  color: #fff;
  text-decoration: none;

}
.dm-wrap .dm-goal-wrap .goal-process-banner-wrap .nutrition-type-link-banner .btn-ai .ico-arr-right {
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  background: url("../dm_images/common/ico_arrow_white.png") no-repeat center;
  background-size: contain;
  margin-left: 0.2rem;
}
.dm-wrap .dm-goal-wrap .goal-process-banner-wrap .goal-process-banner {
  background: none;
  padding: 2.4rem 2rem 3.2rem;
}
.dm-wrap .dm-goal-wrap .goal-process-banner-wrap .goal-process-banner .text {
  padding: 0;

  font-size: 2.3rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--gray-color-900);
}
.dm-wrap .dm-goal-wrap .title-wrap [class*=tit] {
  display: block;

  font-size: 2.1rem;
  font-weight: 700;
  color: var(--gray-color-900);
}
.dm-wrap .dm-goal-wrap .title-wrap + * {
  margin-top: 1.2rem;
}
.dm-wrap .dm-goal-wrap .basic-setting-form {
  padding: 2.4rem 2rem 0;
  background-color: var(--gray-color-50);
}
.dm-wrap .dm-goal-wrap .basic-setting-form.pb-32 {
  padding-bottom: 6.2rem;
}
.total {margin-bottom: 0;}
.dm-wrap .dm-goal-wrap .basic-setting-form .grid-list-wrap {
  background-color: #fff;
  border-radius: 1.2rem;
  padding: 1.6rem 1.6rem 2rem;
  border: 1px solid var(--gray-color-100);
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
.dm-wrap .dm-goal-wrap .basic-setting-form .grid-list-wrap .row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0;
}
.dm-wrap .dm-goal-wrap .basic-setting-form .grid-list-wrap .row.line {
  border-top: 1px solid var(--gray-color-50);
  padding-top: 1.3rem;
  margin: 0;
}
.dm-wrap .dm-goal-wrap .basic-setting-form .grid-list-wrap .row .term {
  font-size: 1.4rem;
  line-height: 1.2;
  color: var(--gray-color-700);
  letter-spacing: 0;
  font-weight: 500;
}
.dm-wrap .dm-goal-wrap .basic-setting-form .grid-list-wrap .row .describe {
  min-height: auto;
  display: flex;
  justify-content: flex-end;
  line-height: 1.2;
}
.dm-wrap .dm-goal-wrap .basic-setting-form .grid-list-wrap .row .describe .text {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--gray-color-800);
}
.dm-wrap .dm-goal-wrap .basic-setting-form .grid-list-wrap .row .describe .text.highlight-fire {
  color: var(--primary-color);
}
.dm-wrap .dm-goal-wrap .basic-setting-form .grid-list-wrap .row .describe .check-wrap {
  display: flex;
  gap: 1.6rem;
}
.dm-wrap .dm-goal-wrap .basic-setting-form .grid-list-wrap .row .describe .check-wrap .inp-radio {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  position: relative;
  margin: 0;
}
.dm-wrap .dm-goal-wrap .basic-setting-form .grid-list-wrap .row .describe .check-wrap .inp-radio input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}
.dm-wrap .dm-goal-wrap .basic-setting-form .grid-list-wrap .row .describe .check-wrap .inp-radio .ic {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  border: 1px solid #ddd;
  border-radius: 50%;
  margin-right: 0.6rem;
  position: relative;
  background-color: #fff;
  box-sizing: border-box;
}
.dm-wrap .dm-goal-wrap .basic-setting-form .grid-list-wrap .row .describe .check-wrap .inp-radio input:checked + .ic {
  border-color: var(--primary-color);
}
.dm-wrap .dm-goal-wrap .basic-setting-form .grid-list-wrap .row .describe .check-wrap .inp-radio input:checked + .ic::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  background-color: var(--primary-color);
}
.dm-wrap .dm-goal-wrap .basic-setting-form .grid-list-wrap .row .describe .check-wrap .inp-radio .t {
  padding: 0;
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--gray-color-800);
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap {
  margin: 0;
  padding: 2.4rem 2rem 12.2rem;
  background-color: var(--gray-color-50);
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap.pb-0 {
  padding-bottom: 0;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-type4 {
  margin-bottom: 0;
  box-shadow: none;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-type4 ul {
  display: flex;
  background-color: var(--gray-color-200);
  overflow: hidden;
  padding: 0;
  margin: 0;
  height: 4rem;
  border-radius: 1.2rem 1.2rem 0 0;
  border: 1px solid var(--gray-color-100);
  border-bottom: 0;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-type4 ul li {
  flex: 1;
  text-align: center;
  height: 100%;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-type4 ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--gray-color-700);
  text-decoration: none;
  background-color: transparent;
  border: none;
  outline: none;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-type4 ul li.on a {
  background-color: #fff;
  color: var(--gray-color-800);
  font-weight: 700;
  border: 0;
  border-radius: 1.2rem 1.2rem 0 0;
  position: relative;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-type4 ul li.on a::before {
  content: "";
  display: block;
  width: 1.3rem;
  height: 1.3rem;
  background-image: url("../dm_images/common/tab_slice.png");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translateX(-1.2rem);
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-type4 ul li.on a::after {
  content: "";
  display: block;
  width: 1.3rem;
  height: 1.3rem;
  background-image: url("../dm_images/common/tab_slice_r.png");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 0;
  right: 0;
  transform: translateX(1.2rem);
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap {
  background-color: #fff;
  border-bottom-left-radius: 1.2rem;
  border-bottom-right-radius: 1.2rem;
  padding: 2rem 1.6rem 2.4rem;
  border: 1px solid var(--gray-color-100);
  border-top: 0;
  /* Walk Tab Specific Styling */
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .title-wrap {
  margin-bottom: 1.6rem;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .title-wrap .tit2 {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--gray-color-900);
  line-height: 1.4;

}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap#goal-weight .grid-list-wrap .row .describe .input::after {
  content: "Kg";
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap#goal-weight .goal-setting-exp {
  margin-top: 2.4rem;
  background-color: var(--gray-color-25);
  border-radius: 0.8rem;
  padding: 1.6rem;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap#goal-weight .goal-setting-exp .exp-tit {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--gray-color-800);
  margin-bottom: 2rem;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap#goal-weight .goal-setting-exp .appropriate-weight-diagram {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  margin-bottom: 2.4rem;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap#goal-weight .goal-setting-exp .appropriate-weight-diagram .val {
  font-family: "Pretendard", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--gray-color-800);
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap#goal-weight .goal-setting-exp .appropriate-weight-diagram .arr {
  display: block;
  width: 2rem;
  height: 2rem;
  background: url("../dm_images/common/ico_arrow_right_gray.png") no-repeat center/contain;
  transform: rotate(-180deg);
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap#goal-weight .goal-setting-exp .appropriate-weight-diagram .ico-person {
  display: block;
  width: 4rem;
  height: 4rem;
  background: url("../dm_images/goal/ico_body_green.png") no-repeat center/contain;
  border-radius: 0;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap#goal-weight .goal-setting-exp .text {
  font-size: 1.3rem;
  color: var(--gray-color-700);
  line-height: 1.4;
  text-align: left;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap#goal-walk .goal-setting-exp {
  margin-top: 2.4rem;
  background-color: var(--gray-color-25);
  border-radius: 0.8rem;
  padding: 1.6rem;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap#goal-walk .goal-setting-exp .exp-tit {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--gray-color-800);
  margin-bottom: 0.4rem;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap#goal-walk .goal-setting-exp .text {
  font-size: 1.3rem;
  color: var(--gray-color-700);
  line-height: 1.4;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap#goal-walk .goal-setting-exp .appropriate-walk-diagram {
  margin-top: 2rem;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap#goal-walk .goal-setting-exp .appropriate-walk-diagram .diagram {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.1rem;
  margin: 0;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap#goal-walk .goal-setting-exp .appropriate-walk-diagram .diagram .walk-st {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 0.8rem;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap#goal-walk .goal-setting-exp .appropriate-walk-diagram .diagram .walk-st .img-walk {
  width: 6rem;
  height: 2.4rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  margin-bottom: 0.4rem;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap#goal-walk .goal-setting-exp .appropriate-walk-diagram .diagram .walk-st .img-walk.walk1 {
  background-image: url("../dm_images/goal/ico_walk_1.png");
  /* Placeholder path */
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap#goal-walk .goal-setting-exp .appropriate-walk-diagram .diagram .walk-st .img-walk.walk2 {
  background-image: url("../dm_images/goal/ico_walk_2.png");
  width: 9.6rem;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap#goal-walk .goal-setting-exp .appropriate-walk-diagram .diagram .walk-st p {
  font-size: 1.2rem;
  color: var(--gray-color-600);
  line-height: 1.4;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap#goal-walk .goal-setting-exp .appropriate-walk-diagram .diagram .walk-st p em {
  font-size: 1.2rem;
  color: var(--primary-color);
  line-height: 1.4;
  font-style: normal;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap#goal-walk .goal-setting-exp .appropriate-walk-diagram .diagram .walk-st b {
  font-size: 1.4rem;
  font-weight: 700;
  /* Extra Bold */
  color: var(--gray-color-800);
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap#goal-walk .goal-setting-exp .appropriate-walk-diagram .diagram .or {
  width: 5.2rem;
  height: 6.8rem;
  margin: 0;
  position: relative;
  top: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: var(--gray-color-100);
  border-radius: 2rem;
  font-size: 1.2rem;
  color: var(--gray-color-600);
  line-height: 1.2;
  text-align: center;
  font-weight: 500;
  border: 0;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap#goal-walk .goal-setting-exp .appropriate-walk-diagram .txt {
  margin-top: 1.2rem;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap#goal-walk .goal-setting-exp .appropriate-walk-diagram .txt span {
  background-color: #fff;
  width: 100%;
  padding: 0.8rem 1.2rem;
  font-size: 1.3rem;
  line-height: 1.4;
  font-weight: 700;
  color: var(--primary-color);
  justify-content: center;
  border-radius: 0.8rem;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap#goal-walk .goal-setting-exp .noti {
  margin-top: 1.2rem;
  font-size: 1.1rem;
  color: var(--gray-color-500);
  line-height: 1.4;
  padding-left: 0.8rem;
  text-indent: -0.8rem;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .grid-list-wrap {
  display: flex;
  flex-direction: column;
  margin: 0;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .grid-list-wrap .row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 0 1.2rem 0;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .grid-list-wrap .row:last-child {
  margin-bottom: 0;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .grid-list-wrap .row .term {
  font-size: 1.4rem;
  font-weight: 500;
  color: #555;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .grid-list-wrap .row .term.bold {
  font-weight: 700;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .grid-list-wrap .row .describe {
  display: flex;
  justify-content: flex-end;
  min-height: auto;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .grid-list-wrap .row .describe .input {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: auto;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .grid-list-wrap .row .describe .input input {
  width: 20rem;
  height: 4.4rem;
  border-radius: 0.6rem;
  padding: 0 5.5rem 0 1.6rem;
  text-align: right;
  font-size: 1.6rem;
  font-weight: 500;
  color: #000;
  outline: none;
  background: #fff;
}

.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .grid-list-wrap .row .describe .input input:placeholder-shown {
  color: var(--gray-color-300);
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .grid-list-wrap .row .describe .input input:focus {
  border-color: var(--primary-color);
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .grid-list-wrap .row .describe .input.weight input {
  width: 13.6rem;
  padding: 0 4.3rem 0 1.6rem;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .grid-list-wrap .row .describe .input.walk input {
  width: 13.6rem;
  padding: 0 3.8rem 0 1.6rem;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .grid-list-wrap .row .describe .input::after {
  content: "Kcal";
  position: absolute;
  right: 1.2rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.4rem;
  color: #888;
  font-weight: 500;
  pointer-events: none;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .grid-list-wrap .row .describe .input.walk::after {
  content: "보";
  position: absolute;
  right: 1.2rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.4rem;
  color: #888;
  font-weight: 500;
  pointer-events: none;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .grid-list-wrap .row .describe .text {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--gray-color-800);
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .grid-list-wrap .row:has(.both-gage-wrap), .dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .grid-list-wrap .row.vt2 {
  display: block;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .grid-list-wrap .row:has(.both-gage-wrap) .term, .dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .grid-list-wrap .row.vt2 .term {
  display: block;
  margin-bottom: 2rem;
  font-size: 1.6rem;
  font-weight: 700;
  color: #000;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .grid-list-wrap .row:has(.both-gage-wrap) .describe, .dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .grid-list-wrap .row.vt2 .describe {
  text-align: left;
  display: block;
  width: 100%;
  justify-content: flex-start;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .both-gage-wrap {
  margin-top: 1.2rem;
  background-color: var(--gray-color-25);
  border-radius: 0.8rem;
  padding: 1.6rem;
  width: 100%;
  box-sizing: border-box;
  /* Indicies Positioning */
  /* Colors - Forced */
  /* Mint Green */
  /* Salmon */
  /* Yellow */
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .both-gage-wrap .tit {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--gray-color-800);
  margin-bottom: 2rem;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .both-gage-wrap .gage-list {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .both-gage-wrap .both-gage {
  display: flex;
  align-items: center;
  margin: 0;
  position: relative;
  height: auto;
  margin-bottom: 1.6rem;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .both-gage-wrap .both-gage .gage-tit {
  width: 5rem;
  font-size: 1.3rem;
  color: var(--gray-color-700);
  flex-shrink: 0;
  font-weight: 500;
  margin: 0;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .both-gage-wrap .both-gage .gage-wrap {
  flex: 1;
  height: 1.2rem;
  background-color: var(--gray-color-100);
  border-radius: 0.4rem;
  position: relative;
  margin-left: 0.8rem;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .both-gage-wrap .both-gage .gage-wrap .gage {
  position: absolute;
  top: 0;
  height: 100%;
  border-radius: 0.4rem;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .both-gage-wrap .both-gage .gage-wrap .gage .bar {
  border-radius: 0.4rem;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .both-gage-wrap .both-gage .idx {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .both-gage-wrap .both-gage .idx > span {
  position: absolute;
  top: 1.2rem;
  font-family: "Pretendard", sans-serif;
  font-size: 1.2rem;
  color: var(--gray-color-700);
  line-height: 1.2;
  font-weight: 400;
  white-space: nowrap;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .both-gage-wrap .both-gage .gage-wrap .gage .idx > span:first-child {
  left: 0;
  transform: translateX(-50%);
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .both-gage-wrap .both-gage .gage-wrap .gage .idx > span:last-child {
  right: 0;
  transform: translateX(50%);
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .both-gage-wrap #intakerate1 .gage .bar {
  background-color: #68D494;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .both-gage-wrap #intakerate2 .gage .bar {
  background-color: #FF7D66;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .both-gage-wrap #intakerate3 .gage .bar {
  background-color: #FFD34D;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .noti-wrap {
  margin: 0;
  padding: 0.8rem 0 0;
  border-top: 1px solid #f5f5f5;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .noti-wrap p.txt-dot {
  position: relative;
  padding-left: 1.2rem;
  font-size: 1.2rem;
  color: var(--gray-color-600);
  line-height: 1.4;
  margin: 0;
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .noti-wrap p.txt-dot.highlight {
  color: var(--primary-color-600);
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .noti-wrap p.txt-dot.highlight::before {
  background-color: var(--primary-color-600);
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .noti-wrap p.txt-dot::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6rem;
  width: 0.3rem;
  height: 0.3rem;
  border-radius: 0;
  background-color: var(--gray-color-600);
}
.dm-wrap .dm-goal-wrap .goal-setting-wrap .tab-wrap .noti-wrap + .both-gage-wrap {
  margin-top: 2.4rem;
}
.dm-wrap .dm-goal-wrap .banner-intro-content {
  position: relative;
}
.dm-wrap .dm-goal-wrap .banner-intro-content .view-managed .title .highlight {
  color: var(--primary-color);
  vertical-align: text-top;
  font-weight: 700;
  font-size:2.3rem;
  line-height: 1.2;
  /* Green highlight */
}



.view-managed2 {  font-size: 1.2rem;    color: #383838;}
.dm-wrap .dm-goal-wrap .banner-intro-content .add-txt {
  position: absolute;
  right: 1.2rem;
  top: 0.6rem;
  font-size: 1.1rem;
  color: var(--gray-color-500);
  font-weight: 400;
}
.dm-wrap .dm-goal-wrap .tab-wrap .title-wrap .tit2.view-managed {
  line-height: 1.4;
}
.dm-wrap .dm-goal-wrap .tab-wrap .title-wrap .tit2.view-managed .highlight {
  color: var(--primary-color);
  vertical-align: inherit;
}
.dm-wrap .dm-goal-wrap .btn-type-tag {
  display: inline-flex;
  align-items: center;
  background-color: #fff;
  border: 1px solid var(--primary-color);
  border-radius: 0.6rem;
  height: 2.8rem;
  line-height: 2.8rem;
  padding: 0 0.8rem;
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--primary-color);
  text-decoration: none;

  /* If no specific icon provided, use generic arrow rotated? */
}
.dm-wrap .dm-goal-wrap .btn-type-tag .ico-arr-down {
  display: inline-block;
  width: 1.2rem;
  height: 1.2rem;
  background: url("../dm_images/common/ico_arrow_down_green.png") no-repeat center/contain;
  margin: 0;
  margin-left: 0.4rem;
  transform: rotate(270deg);
}
.dm-wrap .dm-goal-wrap .type-tag-text {
  font-size: 1.3rem;
  color: #666;
  font-weight: 500;
  /* In managed mode, it might need green? 
         Previous step defined .view-managed styles.
         Let's ensure .nutrition-type-link-banner handles this text.
      */
}
.dm-wrap .dm-goal-wrap.is-type-managed .nutrition-type-link-banner .type-tag-text {
  color: var(--primary-color);
  font-weight: 700;
}
.dm-wrap .dm-goal-wrap .banner-ing-content {
  text-align: left;
  /* Ensure left align */
}
.dm-wrap .dm-goal-wrap .banner-ing-content .tag-wrap {
  margin-bottom: 0.8rem;
}
.dm-wrap .dm-goal-wrap .banner-ing-content .tag-wrap .tag-status {
  min-width: 5.8rem;
  height: 2.4rem;
  line-height: 2.4rem;
  font-size: 1.2rem;
}
.dm-wrap .dm-goal-wrap .banner-ing-content .title {

  /* Ensure font */
  font-size: 2.3rem;
  /* Slightly larger */
  font-weight: 700;
  color: var(--gray-color-900);
  line-height: 1.4;
}
.dm-wrap .dm-goal-wrap .banner-ing-content .title .d-day {
  color: #FF7425;
  /* Orange */
  font-weight: 700;
  display: inline-block;
  /* Or block if needs new line, but <br> is there */
}
.dm-wrap .dm-goal-wrap .banner-ing-content .period-info {
  display: flex;
  align-items: center;
  font-size: 1.3rem;
  color: var(--gray-color-600);
  margin-top: 0.4rem;
  /* Spacing from title */
}
.dm-wrap .dm-goal-wrap .banner-ing-content .period-info .period-tag {
  display: inline-block;
  padding: 0.2rem 0.6rem;
  background-color: #FFEBCF;
  color: #FF7425;
  border-radius: 0.4rem;
  font-size: 1.1rem;
  font-weight: 700;
  margin-right: 0.8rem;
  line-height: 1.3;
}
.dm-wrap .dm-goal-wrap .banner-reset-link {
  margin-top: 1.6rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #F3F3F3;
  border: 1px solid var(--gray-color-50);
  padding: 1rem 1.6rem;
  border-radius: 0.6rem;
  text-decoration: none;
}
.dm-wrap .dm-goal-wrap .banner-reset-link .ico-reset {
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  background: url("../dm_images/goal/ico_badge_day.png") no-repeat center/contain;
  /* Placeholder path */
  margin-right: 0.4rem;
}
.dm-wrap .dm-goal-wrap .banner-reset-link .t1 {
  flex: 1;
  font-size: 1.3rem;
  color: var(--gray-color-800);
  font-weight: 500;
}
.dm-wrap .dm-goal-wrap .banner-reset-link .t2 {
  font-size: 1.3rem;
  color: var(--gray-color-600);
  display: flex;
  align-items: center;

}
.dm-wrap .dm-goal-wrap .banner-reset-link .t2 .ico-arr-right-gray {
  display: inline-block;
  width: 1.2rem;
  height: 1.2rem;
  background: url("../dm_images/common/ico_arrow_g.png") no-repeat center/contain;
  /* Placeholder */
}
.dm-wrap .dm-goal-wrap .text-box-gray {
  background-color: #F9F9F9;
  border-radius: 0.6rem;
  padding: 1.1rem 1.6rem;
  font-size: 1.6rem;
  font-weight: 500;
  color: #777;
  text-align: right;
  width: 13.6rem;
  /* Match input width */
  box-sizing: border-box;
  border: 1px solid #eeeeee;
}
.dm-wrap .dm-goal-wrap .text-box-gray > span {
  margin-right: 0.8rem;
}
.dm-wrap .dm-goal-wrap .text.bold {
  font-weight: 700 !important;
  color: var(--gray-color-800) !important;
  font-size: 1.6rem !important;
}
.dm-wrap .dm-goal-wrap .text.font-weight-bold {
  font-weight: 700 !important;
  color: var(--gray-color-800) !important;
}
.dm-wrap .dm-goal-wrap .highlight-fire {
  color: var(--primary-color);
  font-weight: 700;
  font-size: 1.4rem;
  /* Fire emoji is handled by font usually */
}
.dm-wrap .dm-goal-list-container {
  background-color: var(--gray-color-50);
  padding: 0;
  min-height:100vh;
}
.dm-wrap .dm-goal-list-container .total-count-wrap {
  padding: 2rem 2rem 1.6rem;
  font-size: 1.4rem;
  color: var(--gray-color-800);
  font-weight: 500;
}
.dm-wrap .dm-goal-list-container .total-count-wrap .num {
  color: #FF5900;
  font-weight: 700;
  vertical-align: text-top;
}
.dm-wrap .dm-goal-list-container .goal-history-list {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  padding: 0 2rem 3.2rem;
}
.dm-wrap .dm-goal-list-container .goal-history-list .goal-history-item {
  display: block;
  position: relative;
  border-radius: 1.2rem;
  background-color: var(--gray-color-50);
  padding: 1.6rem 1.6rem 0.8rem;
  text-decoration: none;
  border: 1px solid rgba(0, 0, 0, 0.08);
}
.dm-wrap .dm-goal-list-container .goal-history-list .goal-history-item.status-active {
  background-color: #fff;
  padding-bottom: 2rem;
}
.dm-wrap .dm-goal-list-container .goal-history-list .goal-history-item .tag-status {
  position: absolute;
  right: 1.2rem;
  top: 1.2rem;
}
.dm-wrap .dm-goal-list-container .goal-history-list .goal-history-item .top-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.8rem;
}
.dm-wrap .dm-goal-list-container .goal-history-list .goal-history-item .top-row .tit {
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--gray-color-800);
}
.dm-wrap .dm-goal-list-container .goal-history-list .goal-history-item .info-row {
  display: flex;
  align-items: center;
  margin-bottom: 0.4rem;
}
.dm-wrap .dm-goal-list-container .goal-history-list .goal-history-item .info-row .badge-period {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 3rem;
  height: 1.8rem;
  border-radius: 0.4rem;
  font-size: 1.2rem;
  font-weight: 500;
  margin-right: 0.6rem;
}
.dm-wrap .dm-goal-list-container .goal-history-list .goal-history-item .info-row .badge-period.orange {
  background-color: #FFEBCF;
  color: #FF7425;
}
.dm-wrap .dm-goal-list-container .goal-history-list .goal-history-item .info-row .badge-period.gray {
  background-color: var(--gray-color-400);
  color: #fff;
}
.dm-wrap .dm-goal-list-container .goal-history-list .goal-history-item .info-row .date {
  font-size: 1.3rem;
  color: var(--gray-color-600);
}
.dm-wrap .dm-goal-list-container .goal-history-list .goal-history-item .bottom-row {
  font-size: 1.2rem;
  color: var(--gray-color-400);
  text-align: right;
  margin-top: 0.2rem;
}
.dm-wrap .dm-goal-list-container .btn-view-more {
  margin: 1.2rem 0;
  width: 100%;
  line-height: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 4rem;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--gray-color-700);
  border-radius: 0.8rem;
  border: 1px solid var(--gray-color-200);

}
.dm-wrap .nodata-view {
  /* Wrapper for no data content, full height? */
  text-align: center;
}
.dm-wrap .nodata-view .total-count-wrap {
  text-align: left;
  padding: 2rem 2rem 1.6rem;
  font-size: 1.4rem;
  color: var(--gray-color-800);
  font-weight: 500;
}
.dm-wrap .nodata-view .total-count-wrap .num {
  color: #FF5900;
  font-weight: 700;
  vertical-align: text-top;
}
.dm-wrap .nodata-view .nodata-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 4.8rem 0 6.4rem;
  /* Push down a bit */
}
.dm-wrap .nodata-view .nodata-content .ico-nodata {
  width: 5.6rem;
  height: 5.6rem;
  background-color: #E0E0E0;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 1.2rem;
}
.dm-wrap .nodata-view .nodata-content .msg {
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--gray-color-600);
  margin-bottom: 0.4rem;
}
.dm-wrap .nodata-view .nodata-content .sub-msg {
  font-size: 1.4rem;
  line-height: 1.4;
  font-weight: 400;
  color: var(--gray-color-400);
}
.dm-wrap .nodata-view .nodata-content .btn-go-goal {
  margin-top: 1.6rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 3.6rem;
  padding: 0 1.2rem;
  border: 1px solid var(--primary-color);
  border-radius: 0.8rem;
  color: var(--primary-color);
  font-size: 1.5rem;
  font-weight: 700;
  text-decoration: none;

}
.dm-wrap .ndp-container.oneday {
  padding-bottom: 14.2rem !important;
}

.dm-wrap .ndp-container .ndp-banner.oneday {
  position: relative;
  background: #8570E6 url("../dm_images/ndp/bg_ic01.png") no-repeat 8rem 18rem /contain;
  background-size:8.8rem;
  overflow: hidden;
  padding: 4rem 2.4rem 4.8em;
  max-height: 100rem;
  transition: max-height 0.5s cubic-bezier(0.25, 1, 0.5, 1);
  border-bottom-left-radius: 2rem;
  border-bottom-right-radius: 2rem;
}

.dm-wrap .ndp-container.subscribe .ndp-banner.subscribe {
  position: relative;
  background: #F79230 url("../dm_images/ndp/bg_ic02.png") no-repeat 13rem 19rem /contain;
  background-size:8.8rem;
  overflow: hidden;
  padding: 4rem 2.4rem 4.8em;
  max-height: 100rem;
  transition: max-height 0.5s cubic-bezier(0.25, 1, 0.5, 1);
  border-bottom-left-radius: 2rem;
  border-bottom-right-radius: 2rem;
}

.dm-wrap .ndp-banner.subscribe.collapsed.subscribe, .dm-wrap .ndp-banner.oneday.collapsed.oneday {
  padding:2.8rem 2.4rem 4rem;
}



.dm-wrap .ndp-container.oneday .ndp-banner.oneday .txt-group {
  position: relative;
  z-index: 2;
}
.dm-wrap .ndp-container.oneday .ndp-banner.oneday .txt-group .sub-tit {
  font-size: 1.6rem;
  color: #fff;
  line-height: 1.2;
  opacity: 1;
  font-weight: 400;
  margin-bottom: 2rem;
}
.dm-wrap .ndp-container.oneday .ndp-banner.oneday .txt-group .main-tit {

  font-size: 3.9rem;
  line-height: 1.2;
  font-weight: 700;
  margin-bottom: 0;
  color: #fff;
}

.dm-wrap .ndp-container.oneday .ndp-banner.oneday.collapsed .txt-group .main-tit {
  font-size:2.8rem;
  line-height: 1.3;
  font-weight: 700;
  margin-bottom: 0;
  color: #fff;
}


.dm-wrap .ndp-container.oneday .ndp-banner.oneday .img-obj {
  position: absolute;
  top: 0;
  z-index: 1;
  /* Ensure images stack */
}
.dm-wrap .ndp-container .ndp-banner .img-obj img {
  width: 22.4rem;
  display: block;
  transition: opacity 0.4s ease;
  
}


.dm-wrap .ndp-container .ndp-banner .img-obj img.img-collapsed {
  display: none;
}
.dm-wrap .ndp-container .ndp-banner .img-obj img.img-expanded {
  display: block;
}
.dm-wrap .ndp-container .ndp-banner .feature-list {
  margin-top: 5.4rem;
  position: relative;
  z-index: 2;
}

.dm-wrap .ndp-container .ndp-banner.ndp .feature-list {
  margin-top: 2rem;
  position: relative;
  z-index: 2;
}


.dm-wrap .ndp-container .ndp-banner.oneday .feature-list {
  margin-top: 7.5rem;
  position: relative;
  z-index: 2;
}
.dm-wrap .ndp-container .ndp-banner .feature-list li .icon .ico-img {
  display: block;
}
.dm-wrap .ndp-container .ndp-banner .feature-list li .icon .ico-img.type-calendar {
  background-image: url("../dm_images/ndp/ico_calendar_purple.png");
}
.dm-wrap .ndp-container .ndp-banner .feature-list li .icon .ico-img.type-box {
  background-image: url("../dm_images/ndp/ico_box_purple.png");
}
.dm-wrap .ndp-container .ndp-banner .feature-list li .icon .ico-img.type-balance {
  background-image: url("../dm_images/ndp/ico_balance_purple.png");
}
.dm-wrap .ndp-container .ndp-banner .feature-list,
.dm-wrap .ndp-container .ndp-banner .banner-btns {
  transition: opacity 0.3s ease-out;
  opacity: 1;
}
.dm-wrap .ndp-container .ndp-banner .banner-btns {
  margin-top: 1.2rem;
}


.dm-wrap .ndp-container .ndp-banner.oneday .banner-btns .btn-link {
  background-color: #513DD2;
}

.dm-wrap .ndp-container .ndp-banner .btn-toggle-banner {
  position: absolute;
  right: 1.6rem;
  bottom: 1.2rem;
  display: inline-flex;
  gap: 0.4rem;
  align-items: center;
  font-size: 1.3rem;
  font-weight: 700;
  color: #fff;
  z-index: 2;
  border: none;
  cursor: pointer;
}
.dm-wrap .ndp-container .ndp-banner .btn-toggle-banner::after {
  content: "";
  display: block;
  width: 2.4rem;
  height: 2.4rem;
  background: rgba(0, 0, 0, 0.10) url("../dm_images/arrow-circle-right.png") no-repeat center/contain;
  transform: rotate(0deg);
  transition: transform 0.4s;
  border-radius: 50%;
  background-size: 1.6rem;
}
.dm-wrap .ndp-container .ndp-banner.collapsed .cont-box {
  display: none;
}

.dm-wrap .ndp-container .ndp-banner .cont-box {
  display: block;
}

.dm-wrap .ndp-container .ndp-banner.collapsed {
  /* max-height: 15.4rem; */
  padding: 2.8rem 2.4rem 3.8rem;
  /* Adjusted for collapsed height */
}

.dm-wrap .ndp-container .ndp-banner._allCtGift .sub-tit {
  margin-bottom: 0.8rem;
}
.dm-wrap .ndp-container .ndp-banner.onay.collapsed .main-tit {
  font-size: 2.6rem;
}
.dm-wrap .ndp-container .ndp-banner.collapsed .main-tit br {
  display: none;
}

.dm-wrap .ndp-container .ndp-banner.collapsed.ndp .main-tit br {
  display: none;
}

.dm-wrap .ndp-container .ndp-banner.collapsed.subscribe .main-tit br {
  display:block;
}


.dm-wrap .ndp-container .ndp-banner.collapsed .feature-list,
.dm-wrap .ndp-container .ndp-banner.collapsed .banner-btns {
  opacity: 0;
  pointer-events: none;
}
.dm-wrap .ndp-container .ndp-banner.collapsed .img-obj {
  width: 17.2rem;
  top: 0.8rem;
  right: 0.8rem;
  /* Image Toggle Logic */
}
.dm-wrap .ndp-container .ndp-banner.collapsed .img-obj .img-expanded {
  display: none;
}
.dm-wrap .ndp-container .ndp-banner.collapsed .img-obj .img-collapsed {
  display: block;
  position: absolute;
  top:2.2rem;
  right:1rem;
}
.dm-wrap .ndp-container .ndp-banner.collapsed .btn-toggle-banner::after {
  
  transform: rotate(180deg);
  /* Down arrow (Open) */
}


.ndp-banner.ndp .main-tit.cont-collapsed  {
  font-size:2.8rem;color:#fff;line-height:1.3;font-weight: 700;

}

.dm-wrap .ndp-container .ndp-banner:not(.collapsed).ndp .main-tit {
  display: block;
}
.dm-wrap .ndp-container .ndp-banner.collapsed.ndp .cont-collapsed.main-tit {
  display: block;
}
.dm-wrap .ndp-container .ndp-banner:not(.collapsed).ndp .cont-collapsed.main-tit {
  display: none;
}
.dm-wrap .ndp-container .ndp-banner.collapsed.ndp .main-tit:not(.cont-collapsed) {
  display: none;
}

.dm-wrap .ndp-container .ndp-banner:not(.collapsed).subscribe .main-tit {
  display: block;
}
.dm-wrap .ndp-container .ndp-banner.collapsed.subscribe .cont-collapsed.main-tit {
  display: block;
}
.dm-wrap .ndp-container .ndp-banner:not(.collapsed).subscribe .cont-collapsed.main-tit {
  display: none;
}
.dm-wrap .ndp-container .ndp-banner.collapsed.subscribe .main-tit:not(.cont-collapsed) {
  display: none;
}




.dm-wrap .bottom-btn-group .type-login {
  width: 100%;
}
.dm-wrap .bottom-btn-group .type-login .msg {
  text-align: center;
  font-size: 1.3rem;
  color: var(--gray-color-700);
  margin-bottom: 1.2rem;
  font-weight: 500;
}
.dm-wrap .bottom-btn-group .type-login .msg .point {
  color: #FF7425;
  font-weight: 700;
  vertical-align: text-top;
}
.dm-wrap .bottom-btn-group .type-order {
  width: 100%;
}
.dm-wrap .bottom-btn-group .type-order .delivery-progress {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.2rem;
  gap: 1.2rem;
}
.dm-wrap .bottom-btn-group .type-order .delivery-progress .progress-bar {
  flex: 1;
  height: 0.6rem;
  background-color: var(--gray-color-100);
  border-radius: 0.8rem;
  overflow: hidden;
}
.dm-wrap .bottom-btn-group .type-order .delivery-progress .progress-bar .bar {
  display: block;
  height: 100%;
  background-color: #FF7425;
  border-radius: 0.8rem;
}
.dm-wrap .bottom-btn-group .type-order .delivery-progress .msg {
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.4;
  white-space: nowrap;
  color: var(--gray-color-700);
}
.dm-wrap .bottom-btn-group .type-order .delivery-progress .msg .point {
  vertical-align: text-top;
  color: #FF7425;
  font-weight: 700;
}

.dm-wrap .bottom-btn-group .btn-confirm .pipe {
  display: inline-block;
  width: 1px;
  height: 1.2rem;
  background-color: var(--primary-color-300);
  margin: 0 0.8rem;
}

/*.dm-wrap .btn-top {*/
/*  position: fixed;*/
/*  bottom:2rem;*/
/*  width: 4.4rem;*/
/*  height: 4.4rem;*/
/*  background-color: #fff;*/
/*  border: 1px solid var(--gray-color-25);*/
/*  border-radius: 50%;*/
/*  box-shadow: 0px 0px 0.6rem 0px rgba(0, 0, 0, 0.15);*/
/*  z-index: 990;*/
/*  opacity: 0;*/
/*  visibility: hidden;*/
/*  font-size: 0;*/
/*  display: flex;*/
/*  align-items: center;*/
/*  justify-content: center;*/
/*  cursor: pointer;*/
/*  right: 20px;*/
/*}*/

/*@media (min-width: 915px) { */
/*  .dm-wrap .btn-top {*/
/*    right:50%;*/
/*    transform: translate(50%, 0);*/
/*    margin-right:20px*/
/*  }*/
/*}*/


/*.dm-wrap .btn-top.show {*/
/*  opacity: 1;*/
/*  visibility: visible;*/
/*}*/
/*.dm-wrap .btn-top::after {*/
/*  content: "";*/
/*  display: block;*/
/*  width: 2rem;*/
/*  height: 2rem;*/
/*  background: url(../dm_images/common/btn_top.png) no-repeat center/contain;*/
/*}*/


.blind {font-size: 0;    text-indent: -99999px;}
strong, em, b {font-size: inherit;}
.dm-wrap .wrap {flex: none !important;}


.dm-wrap .ndp-container.subscribe .ndp-banner.subscribe .txt-group {
  position: relative;
  z-index: 2;
}
.dm-wrap .ndp-container.subscribe .ndp-banner.subscribe .txt-group .sub-tit {
  font-size: 1.7rem;
  color: rgba(255, 255, 255, 0.9);
  opacity: 1;
  font-weight: 400;
  margin-bottom: 2rem;
  line-height: 1.3;
}


.dm-wrap .ndp-container.subscribe .ndp-banner.subscribe .txt-group .main-tit {
  font-size: 3.9rem;
  line-height: 1.2;
  font-weight: 700;
  margin-bottom: 0;
  color: #fff;
}

.dm-wrap .ndp-container.subscribe .ndp-banner.subscribe.collapsed .txt-group .main-tit {
  font-size: 2.8rem;
  line-height: 1.2;
  font-weight: 700;
  margin-bottom: 0;
  color: #fff;
}

.dm-wrap .ndp-container.subscribe .ndp-banner.subscribe .img-obj {
  position: absolute;
  top: 0rem;
  right:0;
  z-index: 1;
}

.dm-wrap .ndp-container.subscribe .ndp-banner.subscribe .feature-list {
  margin-top:6rem;
  position: relative;
  z-index: 2;
}
.dm-wrap .ndp-container.subscribe .ndp-banner.subscribe .feature-list li .icon .ico-img {
  display: block;
  /* Placeholder for new icons - assuming white circle with icon */
  background-color: #fff;
  border-radius: 50%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 2.4rem;
}
.dm-wrap .ndp-container.subscribe .ndp-banner.subscribe .feature-list li .icon .ico-img.type-bulb {
  background-image: url("../dm_images/ndp/ico_bulb_orange.png");
}
.dm-wrap .ndp-container.subscribe .ndp-banner.subscribe .feature-list li .icon .ico-img.type-check-pick {
  background-image: url("../dm_images/ndp/ico_check_pick_orange.png");
}
.dm-wrap .ndp-container.subscribe .ndp-banner.subscribe .feature-list li .icon .ico-img.type-regular-pay {
  background-image: url("../dm_images/ndp/ico_regular_pay_orange.png");
}
.dm-wrap .ndp-container.subscribe .ndp-banner.subscribe .banner-btns.type-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.dm-wrap .ndp-container.subscribe .ndp-banner.subscribe .banner-btns .btn-link {
  background-color: #F56008;
  /* Deep Orange */
}
.dm-wrap .ndp-container.subscribe .ndp-banner.subscribe .banner-btns .btn-link.fill-orange {
  color: #fff;
}
.dm-wrap .ndp-container.subscribe .ndp-banner.subscribe .banner-btns .btn-link .num {
  color: #FAD667;
  /* Yellow highlight for number */
  font-weight: 700;
  font-size: 1.5rem;
  margin-left: 0.2rem;
}
.dm-wrap .ndp-container.subscribe .ndp-section.ndp-subscribe {
  padding: 0;
}
.dm-wrap .ndp-container.subscribe .ndp-section.ndp-subscribe .header-banner {
  position: relative;
  padding: 2.4rem 2rem 3.6rem;
}
.dm-wrap .ndp-container.subscribe .ndp-section.ndp-subscribe .header-banner.subscription {
  background: url("../dm_images/ndp/subscription_banner.jpg") no-repeat center/cover;
}
.dm-wrap .ndp-container.subscribe .ndp-section.ndp-subscribe .header-banner.drink {
  background: url("../dm_images/ndp/drink_banner.jpg") no-repeat center/cover;
}
.dm-wrap .ndp-container.subscribe .ndp-section.ndp-subscribe .header-banner.drink .tit-wrap .section-tit {
  color: #fff;
}
.dm-wrap .ndp-container.subscribe .ndp-section.ndp-subscribe .header-banner.drink .tit-wrap .section-sub {
  color: var(--gray-color-200);
}
.dm-wrap .ndp-container.subscribe .ndp-section.ndp-subscribe .header-banner.meal {
  background: url("../dm_images/ndp/meal_banner.jpg") no-repeat center/cover;
}
.dm-wrap .ndp-container.subscribe .ndp-section.ndp-subscribe .header-banner.meal .tit-wrap .section-tit {
  color: #383838;
}
.dm-wrap .ndp-container.subscribe .ndp-section.ndp-subscribe .header-banner.meal .tit-wrap .section-sub {
  color: #737373;
}
.dm-wrap .ndp-container.subscribe .ndp-section.ndp-subscribe .header-banner .tit-wrap {
  padding: 0;
  position: relative;
  z-index: 1;
  min-height: 10rem;
  margin: 0;
}
.dm-wrap .ndp-container.subscribe .ndp-section.ndp-subscribe .header-banner .tit-wrap .section-sub {
  color: var(--gray-color-800);
}
.dm-wrap .ndp-container.subscribe .ndp-section.ndp-subscribe .header-banner .tit-wrap .btn-more {
  position: absolute;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  font-size: 1.2rem;
  font-weight: 700;
  color: #fff;
  padding: 0;
}
.dm-wrap .ndp-container.subscribe .ndp-section.ndp-subscribe .header-banner .tit-wrap .btn-more::after {
  content: "";
  margin: 0;
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  background: url("../dm_images/common/ico_arrow_white.png") no-repeat center/contain;
}
.dm-wrap .ndp-container.subscribe .ndp-section.ndp-subscribe .product-list-wrap {
  background-color: #fff;
  margin-top: -2rem;
  padding:2rem 0rem 3.2rem 2rem;
  border-radius: 1.6rem 0 0 0;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.dm-wrap .ndp-container.subscribe .ndp-section.ndp-subscribe .product-list-wrap .category-tabs {
  display: flex;
  gap: 0.4rem;
  overflow-x: auto;
  cursor: grab;
  /* Enable drag cursor */
  margin-bottom: 1.6rem;
  padding-right: 2rem;
  margin-right: -2rem;
  /* Ensure end padding for scroll */
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  /* Firefox */
}

.dm-wrap .ndp-container.subscribe .ndp-section.ndp-subscribe .product-list-wrap .category-tabs::-webkit-scrollbar {
  display: none;
}
.dm-wrap .ndp-container.subscribe .ndp-section.ndp-subscribe .product-list-wrap .category-tabs button {
  flex: 0 0 auto;
  height: 3.2rem;
  line-height: 3.2rem;
  padding: 0 1.2rem;
  border-radius: 1.9rem;
  border: 1px solid var(--gray-color-100);
  background: #fff;
  color: var(--gray-color-600);
  font-size: 1.4rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;

}
.dm-wrap .ndp-container.subscribe .ndp-section.ndp-subscribe .product-list-wrap .category-tabs button.active {
  background: var(--gray-color-900);
  color: #fff;
  font-weight: 700;
}
.dm-wrap .ndp-container.subscribe .ndp-section.ndp-subscribe .product-list-wrap .product-list-swiper {
  background: transparent;
  margin-top: 0;
  padding: 0;
  border-radius: 0;
}
.dm-wrap .ndp-container.subscribe .ndp-section.ndp-subscribe .product-list-swiper {
  background-color: #fff;
  margin-top: -2rem;
  padding: 2rem 2rem 3.2rem;
  border-radius: 1.6rem 0 0 0;
  overflow: hidden;
}
.dm-wrap .ndp-container.subscribe .ndp-section.ndp-subscribe .product-list-swiper .product-card {
  display: block;
}
.dm-wrap .ndp-container.subscribe .ndp-section.ndp-subscribe .product-list-swiper .product-card .thumb {
  position: relative;
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 0.8rem;
  overflow: hidden;
  margin-bottom: 1.2rem;
  background: #f5f5f5;
}
.dm-wrap .ndp-container.subscribe .ndp-section.ndp-subscribe .product-list-swiper .product-card .thumb img {
  width: 100%;
  height: 100%;

     object-fit: cover;
}
.dm-wrap .ndp-container.subscribe .ndp-section.ndp-subscribe .product-list-swiper .product-card .info .p-tit {
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--gray-color-700);
  line-height: 1.4;
  margin-bottom: 0.6rem;
  max-height: 4rem;
  height: auto;
  /* 2 lines */
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: keep-all;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.dm-wrap .ndp-container.subscribe .ndp-section.ndp-subscribe .product-list-swiper .product-card .info .p-price {
  font-size: 1.3rem;
  line-height: 1.4;
  font-weight: 600;
  color: var(--gray-color-900);
  display: flex;
  align-items: center;
}
.dm-wrap .ndp-container.subscribe .ndp-section.ndp-subscribe .product-list-swiper .product-card .info .p-price .unit {
  font-size: 1.2rem;
  line-height: 1.4;
  font-weight: 500;
  vertical-align: text-top;
  margin-left: 0.2rem;
}
.dm-wrap .ndp-container.subscribe .ndp-section.ndp-subscribe .product-list-swiper .product-card .info .p-tag {
  margin-top: 0.6rem;
  display: inline-flex;
  width: 3.9rem;
  height: 1.8rem;
  font-size: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.dm-wrap .ndp-container.subscribe .ndp-section.ndp-subscribe .product-list-swiper .product-card .info .p-tag.cold {
  background-image: url("../dm_images/refrigeration_01.png");
}
.dm-wrap .ndp-container.subscribe .ndp-section.ndp-subscribe .product-list-swiper .product-card .info .p-tag.frozen {
  background-image: url("../dm_images/refrigeration_02.png");
}
.dm-wrap .ndp-container.subscribe .ndp-section.ndp-subscribe .product-list-swiper .product-card .info .p-tag.room {
  background-image: url("../dm_images/refrigeration_03.png");
}
.dm-wrap .quick-link-list {
  background-color: #fff;
  padding: 0.8rem 2rem 2rem;
}
.dm-wrap .quick-link-list ul li {
  border-bottom: 1px solid #f5f5f5;
}
.dm-wrap .quick-link-list ul li:last-child {
  border-bottom: none;
}
.dm-wrap .quick-link-list ul li a {
  display: flex;
  align-items: center;
  padding: 1.2rem 0;
  text-decoration: none;
}
.dm-wrap .quick-link-list ul li a .icon {
  width: 3.2rem;
  height: 3.2rem;
  margin-right: 1.2rem;
  flex-shrink: 0;
}
.dm-wrap .quick-link-list ul li a .icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}
.dm-wrap .quick-link-list ul li a .tit {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--gray-color-800);
  flex: 1;
}
.dm-wrap .quick-link-list ul li a .btn-go {

  font-size: 1.3rem;
  font-weight: 600;
  color: var(--gray-color-600);
  display: flex;
  align-items: center;
  margin-left: 1.2rem;
}
.dm-wrap .quick-link-list ul li a .btn-go::after {
  content: "";
  display: inline-block;
  width: 1.2rem;
  height: 1.2rem;
  background: url("../dm_images/common/ico_arrow_right_gray.png") no-repeat center/contain;
}
.dm-wrap .ndp-section.one .tit-wrap,
.dm-wrap .ndp-section.sub .tit-wrap {
  padding: 0 2rem;
  margin-bottom: 1.6rem;
}
.dm-wrap .ndp-section.one .tit-wrap .section-tit,
.dm-wrap .ndp-section.sub .tit-wrap .section-tit {
  font-size: 2.1rem;
  font-weight: 700;
  margin-bottom: 0.4rem;
}
.dm-wrap .ndp-section.one .tit-wrap .section-sub,
.dm-wrap .ndp-section.sub .tit-wrap .section-sub {
  font-size: 1.3rem;
  color: var(--gray-color-600);
  line-height: 1.4;
  margin: 0;
}
.dm-wrap .ndp-management-wrap {
  padding-bottom: 0;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .text-area {
  flex: 1;
  margin-right: 1.2rem;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .text-area .tit {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--gray-color-800);
  line-height: 1.4;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .text-area .desc {
  margin-top: 0.2rem;
  font-size: 1.2rem;
  color: var(--gray-color-600);
  line-height: 1.4;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .item-head,
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .item-link {
  display: flex;
  align-items: center;
  padding: 2rem 0;
  position: relative;
  width: 100%;
  text-align: left;
  background: #fff;
  border: none;
  cursor: pointer;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .item-body {
  display: none;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .item-body .inner-cont {
  padding-top: 1.6rem;
  font-size: 1.4rem;
  line-height: 1.5;
  color: #666;
  background-color: var(--gray-color-25);
  border-radius: 0.8rem;
  overflow: hidden;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .item-body .inner-cont.delivery-info {
  padding-top: 0;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .item-body .inner-cont.delivery-info .product-list {
  padding: 2rem 1.6rem 1.2rem;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .item-body .inner-cont.delivery-info .product-list li {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .item-body .inner-cont.delivery-info .product-list li .thumb {
  width: 4.4rem;
  height: 4.4rem;
  border-radius: 0.4rem;
  overflow: hidden;
  flex-shrink: 0;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .item-body .inner-cont.delivery-info .product-list li .thumb img {
  width: 100%;
  height: 100%;

  object-fit: cover;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .item-body .inner-cont.delivery-info .product-list li .info {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .item-body .inner-cont.delivery-info .product-list li .info .sub-txt {
  font-size: 1.2rem;
  color: var(--gray-color-600);
  margin-bottom: 0.4rem;
  line-height: 1.4;
  font-weight: 400;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .item-body .inner-cont.delivery-info .product-list li .info .name {
  font-size: 1.4rem;
  color: var(--gray-color-900);
  font-weight: 500;
  line-height: 1.4;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .item-body .inner-cont.delivery-info .product-list li .action-check {
  flex-shrink: 0;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .item-body .inner-cont.delivery-info .product-list li .action-check .check-custom {
  display: none;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .item-body .inner-cont.delivery-info .product-list li .action-check .check-custom + label {
  display: flex;
  align-items: center;
  height: 3.2rem;
  padding: 0 1.2rem;
  border: 1px solid var(--gray-color-100);
  border-radius: 1.6rem;
  background-color: #fff;
  font-size: 1.3rem;
  color: var(--gray-color-700);
  font-weight: 600;
  cursor: pointer;

}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .item-body .inner-cont.delivery-info .product-list li .action-check .check-custom + label::before {
  content: "";
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  margin-right: 0.4rem;
  background: url("../dm_images/common/action_check.png") no-repeat center/contain;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .item-body .inner-cont.delivery-info .product-list li .action-check .check-custom:checked + label {
  background-color: #ECEFCF;
  border-color: #ECEFCF;
  color: #39802B;
  font-weight: 700;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .item-body .inner-cont.delivery-info .product-list li .action-check .check-custom:checked + label::before {
  background: url("../dm_images/common/action_check_active.png") no-repeat center/contain;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .item-body .inner-cont.delivery-info .btn-all-view {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 4rem;
  line-height: 4rem;
  border-top: 1px solid rgba(0, 0, 0, 0.04);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--gray-color-700);
  text-decoration: none;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .item-body .inner-cont.delivery-info .btn-all-view::after {
  content: "";
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  background: url("../dm_images/common/ico_arrow_g.png") no-repeat center/contain;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item.type-accordion .btn-toggle {
  width: 1.6rem;
  height: 1.6rem;
  background: url("../dm_images/common/ico_arrow_down_gray.png") no-repeat center/contain;
  border: none;
  transition: transform 0.3s;
  font-size: 0;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item.type-accordion.active .btn-toggle {
  transform: rotate(180deg);
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item.type-accordion.active .item-body {
  display: block;
  margin-bottom: 2rem;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item.type-link .btn-arrow {
  width: 1.6rem;
  height: 1.6rem;
  background: url("../dm_images/common/ico_arrow_right_gray.png") no-repeat center/100%;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item a.item-link {
  text-decoration: none;
  display: flex;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .icon-area {
  position: relative;
  margin-right: 1.2rem;
  flex-shrink: 0;
  /* Common Icon Circle Style */
  /* Check badge: Hidden by default */
  /* Complete State Styling */
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .icon-area.complete .icon-circle {
  position: relative;
  /* Green Border */
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .icon-area.complete .icon-circle::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #fff;
  width: 4.8rem;
  height: 4.8rem;
  background: url("../dm_images/common/ico_todo_check.png") no-repeat center/contain;
  z-index: 1;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .icon-area.complete .icon-circle::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.6);
  -webkit-backdrop-filter: blur(1.5px);
  backdrop-filter: blur(1px);
  border-radius: 50%;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .icon-area.complete .icon-circle.text-icon {
  color: var(--primary-color);
  /* Active Text Color */
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .icon-area .icon-circle {
  width: 4.8rem;
  height: 4.8rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  box-sizing: border-box;
  font-size: 0;
  background-color: initial;
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .icon-area .icon-circle.icon01 {
  background-image: url("../dm_images/ndp/todo_icon01.png");
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .icon-area .icon-circle.icon02 {
  background-image: url("../dm_images/ndp/todo_icon02.png");
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .icon-area .icon-circle.icon03 {
  background-image: url("../dm_images/ndp/todo_icon03.png");
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .icon-area .icon-circle.icon04 {
  background-image: url("../dm_images/ndp/todo_icon04.png");
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .icon-area .icon-circle.icon05 {
  background-image: url("../dm_images/ndp/todo_icon05.png");
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .icon-area .icon-circle.icon06 {
  background-image: url("../dm_images/ndp/todo_icon06.png");
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .icon-area .icon-circle.icon07 {
  background-image: url("../dm_images/ndp/todo_icon07.png");
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .icon-area .icon-circle.icon08 {
  background-image: url("../dm_images/ndp/todo_icon08.png");
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .icon-area .icon-circle.icon09 {
  background-image: url("../dm_images/ndp/todo_icon09.png");
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .icon-area .icon-circle.icon10 {
  background-image: url("../dm_images/ndp/todo_icon10.png");
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .icon-area .icon-circle.icon11 {
  background-image: url("../dm_images/ndp/todo_icon11.png");
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .icon-area .icon-circle.icon12 {
  background-image: url("../dm_images/ndp/todo_icon12.png");
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .icon-area .icon-circle.icon13 {
  background-image: url("../dm_images/ndp/todo_icon13.png");
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .icon-area .icon-circle.icon13 {
  background-image: url("../dm_images/ndp/todo_icon14.png");
}
.dm-wrap .ndp-management-wrap .daily-todo-section .todo-list-wrap .todo-item .icon-area .icon-circle.icon13 {
  background-image: url("../dm_images/ndp/todo_icon15.png");
}
.dm-wrap .ndp-login-wrap {
  padding-bottom: 0;
  min-height: 100vh;
  background: #fff;
  display: flex;
  flex-direction: column;
}
.dm-wrap .ndp-login-wrap .content {
  flex: 1;
  padding: 1.6rem 3.2rem 4.8rem;
  display: flex;
  flex-direction: column;
}
.dm-wrap .ndp-login-wrap .login-branding {
  margin-bottom: 3.2rem;
  text-align: center;
}
.dm-wrap .ndp-login-wrap .login-branding .logo {
  width: 7.2rem;
  height: 2.4rem;
  margin: 0 auto 2.4rem auto;
  background-image: url(/resources/dm_images/dm_logo.png);
  background-repeat: no-repeat;
  background-size: contain;
}
.dm-wrap .ndp-login-wrap .login-branding .logo img {
  width: 100%;
}
.dm-wrap .ndp-login-wrap .login-branding .tit {
  font-size: 2.1rem;
  font-weight: 700;
  line-height: 1.2;

  color: var(--gray-color-800);
  word-break: keep-all;
}
.dm-wrap .ndp-login-wrap .login-branding .tit .point {
  color: #7BBB4E;
}
.dm-wrap .ndp-login-wrap .login-branding .desc {
  margin-top: 0.4rem;
  font-size: 1.4rem;
  color: var(--gray-color-800);
  line-height: 1.2;
}
.dm-wrap .ndp-login-wrap .login-form .input-group {
  margin-bottom: 2.4rem;
}
.dm-wrap .ndp-login-wrap .login-form .input-group label {
  display: block;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--gray-color-700);
  margin-bottom: 0.8rem;

}
.dm-wrap .ndp-login-wrap .login-form .input-group .inp-base {
  width: 100%;
  height: 4.4rem;
  border: 1px solid #ddd;
  border-radius: 0.6rem;
  padding: 0 1.6rem;
  font-size: 1.5rem;
  color: var(--gray-color-800);
  box-sizing: border-box;
}
.dm-wrap .ndp-login-wrap .login-form .input-group .inp-base::-moz-placeholder {
  color: #aaa;
}
.dm-wrap .ndp-login-wrap .login-form .input-group .inp-base::placeholder {
  color: #aaa;
}
.dm-wrap .ndp-login-wrap .login-form .input-group .inp-base:focus {
  border: 2px solid var(--primary-color);
  background-color: #FAFAF0;
}
.dm-wrap .ndp-login-wrap .login-form .input-group .inp-box,
.dm-wrap .ndp-login-wrap .login-form .input-group .inp-box-pw {
  position: relative;
}
.dm-wrap .ndp-login-wrap .login-form .input-group .inp-box .inp-base,
.dm-wrap .ndp-login-wrap .login-form .input-group .inp-box-pw .inp-base {
  padding-right: 4.8rem;
  /* Default padding for one button */
}
.dm-wrap .ndp-login-wrap .login-form .input-group .inp-box .inp-base:focus,
.dm-wrap .ndp-login-wrap .login-form .input-group .inp-box-pw .inp-base:focus {
  border: 2px solid var(--primary-color);
  background-color: #FAFAF0;
}
.dm-wrap .ndp-login-wrap .login-form .input-group .inp-box .btn-delete,
.dm-wrap .ndp-login-wrap .login-form .input-group .inp-box-pw .btn-delete {
  position: absolute;
  right: 1.2rem;
  /* Adjusted default right */
  top: 50%;
  transform: translateY(-50%);
  width: 2rem;
  height: 2rem;
  background: url("../dm_images/common/ico_btn_delete_gray.png") no-repeat center/contain;
  border: none;
  font-size: 0;
  cursor: pointer;
  z-index: 2;
  /* Ensure on top */
}
.dm-wrap .ndp-login-wrap .login-form .input-group .inp-box-pw .inp-base {
  padding-right: 7.6rem;
}
.dm-wrap .ndp-login-wrap .login-form .input-group .inp-box-pw .btn-delete {
  right: 4.6rem;
  /* Position to the left of eye icon */
}
.dm-wrap .ndp-login-wrap .login-form .input-group .inp-box-pw .btn-toggle-pw {
  position: absolute;
  right: 1.6rem;
  top: 50%;
  transform: translateY(-50%);
  width: 2rem;
  /* Adjusted size based on touch targets */
  height: 2rem;
  border: none;
  background-color: transparent;
  cursor: pointer;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 2.4rem;
  background-image: url("../dm_images/common/ico_pw_visible.png");
  opacity: 0.4;
  z-index: 2;
  font-size: 0;
}
.dm-wrap .ndp-login-wrap .login-form .input-group .inp-box-pw .btn-toggle-pw.on {
  opacity: 1;
}
.dm-wrap .ndp-login-wrap .login-form .check-area .check-custom {
  display: inline-flex;
  align-items: center;
}
.dm-wrap .ndp-login-wrap .login-form .check-area .check-custom input[type=checkbox] {
  display: none;
}
.dm-wrap .ndp-login-wrap .login-form .check-area .check-custom label {
  position: relative;
  font-size: 1.5rem;
  line-height: 1.2;
  color: #000;
  cursor: pointer;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  height: 2.4rem;

}
.dm-wrap .ndp-login-wrap .login-form .check-area .check-custom label::before {
  content: "";
  display: inline-block;
  margin-right: 0.6rem;
  width: 2rem;
  height: 2rem;
  background: url("../dm_images/common/login_check.png") no-repeat center/contain;
}
.dm-wrap .ndp-login-wrap .login-form .check-area .check-custom input:checked + label::before {
  background-image: url("../dm_images/common/login_check_active.png");
}
.dm-wrap .ndp-login-wrap .login-form .btn-area {
  margin-top: 3.2rem;
}
.dm-wrap .ndp-login-wrap .login-form .btn-area .btn-login {
  width: 100%;
  height: 5.2rem;
  background: var(--primary-color);
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  border: none;
  border-radius: 0.8rem;
  cursor: pointer;

}
.dm-wrap .ndp-login-wrap .login-form .btn-area .btn-login:disabled {
  background: var(--gray-color-100);
  color: var(--gray-color-300);
  cursor: not-allowed;
}
.dm-wrap .ndp-login-wrap .login-form .user-action-links {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.5rem;
  margin-top: 3.2rem;
}
.dm-wrap .ndp-login-wrap .login-form .user-action-links a {
  font-size: 1.4rem;
  color: var(--gray-color-700);
  text-decoration: none;

  position: relative;
  font-weight: 600;
}
.dm-wrap .ndp-login-wrap .login-form .user-action-links a::after {
  content: "";
  background: var(--gray-color-200);
  position: absolute;
  right: -1.3rem;
  top: 0.35rem;
  height: 1rem;
  display: block;
  width: 1px;
}
.dm-wrap .ndp-login-wrap .login-form .user-action-links a:last-child::after {
  display: none;
}
.dm-wrap .ndp-login-wrap .social-login-area {
  border-top: 0.8rem solid var(--gray-color-50);
  padding: 4rem 3.2rem 6.4rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.dm-wrap .ndp-login-wrap .social-login-area .btn-social {
  width: 100%;
  height: 4.8rem;
  border-radius: 0.8rem;
  border: none;
  font-size: 1.6rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  cursor: pointer;
  position: relative;
}
.dm-wrap .ndp-login-wrap .social-login-area .btn-social.kakao {
  background: #FDE500;
  color: var(--gray-color-800);
}
.dm-wrap .ndp-login-wrap .social-login-area .btn-social.naver {
  background: #06BE34;
  color: #fff;
}
.dm-wrap .ndp-login-wrap .social-login-area .btn-social .ico-social {
  display: block;
  width: 2.4rem;
  height: 2.4rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.dm-wrap .ndp-login-wrap .social-login-area .btn-social .ico-social.kakao {
  background-image: url("../dm_images/common/ico_kakao_black.png");
}
.dm-wrap .ndp-login-wrap .social-login-area .btn-social .ico-social.naver {
  background-image: url("../dm_images/common/ico_naver_white.png");
}



.swiperMealWrap .swiperMeal .product-card {
  background: none;
  border-radius: 1.2rem;
  overflow: hidden;
  height: auto;
  display: flex;
  flex-direction: column;
  box-shadow: none;
  flex-shrink: 0;
  cursor:pointer;
}
.swiperMealWrap {
  padding: 2rem 2rem;
  background: #F3F3F3;
}
.swiperMealWrap .meal-txt {
  background:url("../dm_images/main/character_03.png") no-repeat right 0.95rem;background-size: 11.1rem auto;
  height: 10.4rem;
}
.swiperMealWrap .meal-txt .underline{
  text-decoration: underline;
  font-weight: 700;
}
.swiperMealWrap .meal-txt .green{
  color:#6FB53D;
  font-weight: 700;
}

.swiperMealWrap .product-list.type02 .product-title2 {
  color:#383838;
  font-size:1.1rem;
  font-weight: 700;
  line-height: 1.4;
}

.swiperMealWrap .meal-txt .txt1 {
  color:#383838;
  font-size:1.6rem;
  font-weight: 700;
  line-height: 1.4;
}
.swiperMealWrap .meal-txt .txt2 {
  color:#383838;
  font-size:1.8rem;
  font-weight: 700;
  line-height: 1.4;
}
.swiperMealWrap .swiperMeal .product-card .product-info {
  width: 100%;
  display: flex;
  flex-direction: column;
  padding: 0;
  align-items: start;
  min-width: 0;
  padding: 1.2rem 0;
}

.swiperMealWrap .swiperMeal .product-list .product-title {  padding-top: 0.8rem;}
.swiperMealWrap .swiperMeal .product-list .product-title {font-size: 1.4rem; font-weight: 500; margin-bottom: 0.4rem; line-height: 1.3;color:#272727;padding-top:0.8rem;}
.swiperMealWrap .swiperMeal .product-list.type02 .product-image img {width: 100%;object-fit: cover;object-position: center;display: block;min-height: 15.2rem;}



.swiperMealWrap .rating-row {
  display: flex;
  align-items: center;
  justify-content: start;
  margin-bottom: 0.4rem;
  gap: 0.4rem;
}
.swiperMealWrap .rating-row .stars {
  display: flex;
  gap: 0.075rem;
}
.swiperMealWrap .rating-row .stars .ico-star {
  width: 1.2rem;
  height: 1.2rem;
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
}
.swiperMealWrap .rating-row .stars .ico-star.on {
  background-image: url("../dm_images/challenge/ico_star_on.png");
}
.swiperMealWrap .rating-row .stars .ico-star.off {
  background-image: url("../dm_images/challenge/ico_star_off.png");
}
.swiperMealWrap .rating-row .score {
  font-size: 1.3rem;
  font-weight: 500;
  color: #535353;
}



.bottom-sheet-wrap .product-card .product-info .left {
 flex: 1;         /* 체크박스를 제외한 나머지 공간 다 쓰기 */
  min-width: 0;
}

.bottom-sheet-wrap .product-card .product-info .right {
 flex-shrink: 0;
}

.bottom-sheet-wrap .product-card .product-info .product-cate {
  font-size: 1.2rem;
  color: var(--gray-color-500);
  margin-bottom: 0.2rem;
  font-weight: 700;
}
.bottom-sheet-wrap .product-card .product-info .product-name {
  font-size: 1.4rem;
  width: 100%;
  font-weight: 700;
  margin-bottom: 0.6rem;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  
}
.bottom-sheet-wrap .product-card .product-info .product-kcal {
  font-size: 1.2rem;
  color: var(--gray-color-500);
}

/* Footer Button */
.sheet-footer {
  padding: 1rem 2rem 2.4rem;
  background: var(--gray-color-50);
  margin-top: auto;
}
.btn-record {
  width: 100%;
  height: 4.4rem;
  line-height: normal;
  background: #fff;
  border: 1px solid var(--gray-color-400);
  border-radius: 0.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--gray-color-700);

}

.noDataWrap .btn-record {
  width:auto;
  height: 4.4rem;
  line-height: normal;
  background: #fff;
  border: 1px solid var(--gray-color-400);
  border-radius: 0.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--gray-color-700);

  padding: 0 1.6rem;
}

.btn-record::before {
  content: "";
  display: inline-block;
  width: 2rem;
  height: 2rem;
  background: url("../dm_images/ico_plus.png") no-repeat center/contain;
}
.sheet-footer .promo-banner {
  text-align: center;
  padding-top: 2rem;
  font-size: 1.3rem;
  color: var(--gray-color-600);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  font-weight: 700;

}
.sheet-footer .promo-banner::after {
  content: "";
  display: block;
  width: 0.5rem;
  height: 1rem;
  background:  url(../dm_images/ico_arrow_right.png) no-repeat center/contain;
  transform: translateY(-0.2rem);
}



.notice-wrap {
  padding-top: 0;
  background-color: #fff;
  min-height: 100vh;
}
.notice-wrap .notice-list {
  display: flex;
  flex-direction: column;
}
.notice-wrap .notice-item {
  border-bottom: 1px solid var(--gray-color-50);
  position: relative;
  background-color: #fff;
}
.notice-wrap .notice-item a {
  display: block;
  padding: 2rem 2rem 2.4rem 2rem;
  color: inherit; /* inherit text color */
}
.notice-wrap .notice-item.unread {
  background-color: #fafaf0;
  position: relative;
}
.notice-wrap .notice-item.unread .notice-header::after {
  content: "";
  position: absolute;
  top: 1.6rem;
  right: 1.2rem;
  width: 0.6rem;
  height: 0.6rem;
  background-color: #ff7425;
  border-radius: 50%;
}
.notice-wrap .notice-item.unread .notice-content {
  color: var(--gray-color-800);
}
.notice-wrap .notice-item .notice-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.8rem;
}
.notice-wrap .notice-item .notice-header .left {
  display: flex;
  align-items: center;
}
.notice-wrap .notice-item .notice-header .left .icon {
  width: 1.6rem;
  height: 1.6rem;
  margin-right: 0.8rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  /* Placeholder Icons */
}
.notice-wrap .notice-item .notice-header .left .icon.icon-health {
  background-image:url(../dm_images/ico_mini_health.png);
}
.notice-wrap .notice-item .notice-header .left .icon.icon-care {
  background-image:url(../dm_images/ico_mini_care.png);
}
.notice-wrap .notice-item .notice-header .left .icon.icon-mall {
  background-image:url(../dm_images/ico_mini_mall.png);
}
.notice-wrap .notice-item .notice-header .left .category {
  font-size: 1.4rem;
  color: var(--gray-color-500);
  font-weight: 500;
}
.notice-wrap .notice-item .notice-header .time {
  font-size: 1.2rem;
  color: var(--gray-color-500);
  font-weight: 400;
}
.notice-wrap .notice-item .notice-content {
  font-size: 1.4rem;
  color: var(--gray-color-700);
  line-height: 1.4;
  padding-left: 2.4rem;
}/*# sourceMappingURL=ksy.css.map */

section[class^=dm-main-] {  
  
  padding-bottom:3.2rem;
}

section[class^=dm-main-] .dm-main-tit {
  /* padding:2.4rem 0 0 2rem; */
}

.dm-main-tit {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 2rem;
}
.dm-main-tit .txt-wrap .tit {

  font-weight: 700;
}
.dm-main-tit .txt-wrap .tit span {

  font-weight: 700;
}
.dm-main-tit .tit {
  color: var(--gray-color-900);
  font-size: 2.3rem;
}
.dm-main-tit .txt {
  margin-top: 0.4rem;
  color: var(--gray-color-600);

  font-size: 1.4rem;
}
.dm-main-tit .btn-wrap {
  display: flex;
  align-items: center;
  gap: 2.8rem;
}
.dm-main-tit .btn-wrap button {
  position: relative;
  
}

.dm-main-tit .btn-wrap .btn-setting {padding: 0.6rem 0.8rem;
  border-radius: 0.6rem;
  border:1px solid #eee;}

.dm-main-tit .btn-wrap button ~ button::before {
  width: 0.1rem;
  height: 1rem;
  background: #DDD;
  position: absolute;
  left: -1.4rem;
  top: 0.2rem;
  content: '';
}

/* 개인화영역 */
.dm-main-personal {
  background-image:url("../dm_images/main/personal_bg.jpg");
  background-size: cover;
  background-position: center center;

}
.dm-main-personal .login-before .tit {
  color: var(--gray-color-900);
  font-size: 1.6rem;
  font-weight: 700;
}
.dm-main-personal .login-before .txt {
  color: var(--gray-color-800);
  font-size: 1.3rem;
  margin-top: 0.4rem;
}
.dm-main-personal .login-after {
  position: relative;
}
.dm-main-health.bd0 {border-bottom: 0;padding-bottom: 0;padding-top:2.4rem}
.dm-main-health.type2 {padding-bottom:3.3rem;border-bottom: 0.8rem solid #EDEDED;} 
.dm-main-personal .login-after::after {
  content: "";
  position: absolute;
  top: -2rem;
  right: -1.2rem;
  width: 15.6rem;
  height: 15.6rem;
  background-image:url("../dm_images/main/character_02.png");
  background-size: contain;
}
.bottom-txt {
  color:#777;
  font-size:1.5rem;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1.3rem;
  font-weight: 500;
  cursor: pointer;
}
.bottom-txt img {
  width: 1.2rem;
  margin-right: 0.5rem;
}
.dm-main-personal .login-after .tit {
  font-size: 2.4rem;
}
.dm-main-personal .login-after .txt {
  font-size: 1.4rem;
  margin-top: 0.4rem;
}
.dm-main-personal .login-after .txt b {
  color: #39802B;
  text-decoration: underline;
  text-underline-offset: 4px;
  font-weight: 700;
  cursor: pointer;
  
}
.dm-main-personal .login-after .btn-goals {
  margin-top: 1.6rem;
  padding: 0.5rem 1rem;
  border-radius: 1.2rem;
  background-color: var(--primary-color);
}
.dm-main-personal .login-after .btn-goals span {
  position: relative;
  color: var(--white);
  font-size: 1.2rem;
  padding-left: 2rem;
}
.dm-main-personal .login-after .btn-goals span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1.6rem;
  height: 1.6rem;
  background-image:url("../dm_images/main/ico_bubble_star.png");
  background-size: cover;
}
.dm-main-personal .login-after .go-challenge {
  position: relative;
  z-index: 1;
  display: block;
  background:#E6F6F8;
  border: 1px solid #fff;
  border-radius: 1.2rem;
  padding: 1.3rem 1.6rem 1.4rem;
  display:block;
  width:100%;
  text-align: left;
  height:4.4rem;
}
.dm-main-personal .login-after .go-challenge span {
  position: relative;
  padding-left: 2.3rem;
  font-size: 1.4rem;
  font-weight: 500;
}
.dm-main-personal .login-after .go-challenge span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1.6rem;
  height: 1.6rem;
  background-image:url("../dm_images/challenge/ico_challenge02.png");
  background-size: cover;
}

.dm-main-personal .login-after .go-challenge.type2 span::before {
  background-image:url("../dm_images/challenge/ico_challenge03.png");
} 



.dm-main-personal .login-after .go-challenge span b {
  color: var(--point-color);
  font-weight: 700;
}
.dm-main-personal:has(.login-before) {
  padding: 2rem 2.4rem;
  margin: 0rem 2rem 1rem;
  border-radius: 1.2rem;
  border: 1px solid rgba(0, 0, 0, 0.08);
  cursor: pointer;
}
.dm-main-personal:has(.login-before) .login-afber {
  display: none;
}


/* 날짜선택 */
.dm-main-date {
  display: flex;
  margin: 1rem 0 1.2rem 1.6rem;
}
.dm-main-date .month {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: start;
  width: 4rem;
  background-color: var(--white);
  font-size: 1.8rem;
  cursor: pointer;

}
.dm-main-date .month strong {
  font-weight: 700;
  font-size: 1.7rem;
}

.dm-main-date .month .txt {
  font-size: 1.6rem;
}
.dm-main-date .month::after {
  content: "";
  display: block;
  width: 2rem;
  height: 2rem;
  background-image:url("../dm_images/main/ico_arrow.png");
  background-repeat: no-repeat;
  background-size: cover;
}

.bottom-sheet-wrap .dm-main-date .month::after {
  content: "";
  display: block;
  width: 2rem;
  height: 2rem;
  background-image:none;
}

.dm-main-date .calendar-swiper {
  width: calc(100% - 4rem);
  overflow: hidden;
}
.dm-main-date .calendar-swiper .swiper-slide {
  width: 13.3333333333%;
}
.dm-main-date .calendar-swiper .swiper-slide .date {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 4.9rem;
  border-radius: 0.8rem;
  color: var(--gray-color-600);
  text-align: center;
}
.dm-main-date .calendar-swiper .swiper-slide .date dd {
  font-size: 1.2rem;
  margin-bottom: 0.2rem;
}
.dm-main-date .calendar-swiper .swiper-slide .date dt {
  font-size: 1.4rem;
  font-weight:700;
}
.dm-main-date .calendar-swiper .swiper-slide.swiper-slide-select .date {
  background-color: var(--gray-color-900);
  color: var(--white);
}
.dm-main-date .calendar-swiper .swiper-slide.swiper-slide-disabled .date {
  color:#d5d5d5;
}


/* 건강정보 */
.dm-main-health {
  padding-left: 2rem;
  padding-right: 2rem;
  background-color: var(--gray-color-50);
}
.dm-main-health .banner {
  position: relative;
  background-color: var(--primary-color);
  border: 1px solid rgba(0, 0, 0, 0.1215686275);
  border-radius: 1.2rem;
  overflow: hidden;
}
.dm-main-health .banner .btn-close {
  position: absolute;
  top: 0.4rem;
  right: 0.6rem;
}
.dm-main-health .banner .txt {
  padding: 2rem 2.4rem 2.4rem;
  background-image:url("../dm_images/main/link_banner_img.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-size: 18rem auto;
  background-position: calc(100% - 0.1rem) 1.8rem;
  color: var(--white);
  font-size: 1.5rem;
  min-height: 11rem;
}
.dm-main-health .banner .txt b {
  display: block;
  margin-bottom: 0.4rem;
  font-weight: 600;
}
.dm-main-health .banner .link {
  display: block;
  background-color: #64A337;
  padding: 1.2rem 0;
  text-align: center;
}
.dm-main-health .banner .link span {

  font-size: 1.5rem;
  color: var(--white);
  font-weight: 700;
}

.dm-main-health .btn-only-ico.btn-close::before {
  background-image: url(../dm_images/common/ico_close_g.png);
}

.dm-main-health .banner.new .txt b {
  color:#383838;
}
.dm-main-health .banner.new {
  background:#fff;
  border:1px solid #9DC460;
}

.dm-main-health .banner.new.active {
  background:#ECEFCF;
}

.dm-main-health .banner.new .txt {
  background:none;
  color:#777;
  word-break: keep-all;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.dm-main-health .banner.new .d-flex {
  display:flex;
  justify-content: space-between;
  align-items: center;
}

.dm-main-health .banner.new .d-flex .ico {
  padding-right:3rem;
  padding-top:1rem;
}

.dm-main-health .banner.new .d-flex .ico img {
  width:10rem;
}

.dm-main-health .login-banner {
  position: relative;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 1.2rem;
  overflow: hidden;
  margin-top:-0.1rem;
}

.dm-main-health .login-banner .txt {
  padding: 2rem 1.6rem 2.4rem;
  background:#fff;
  color:#383838;
  font-size: 1.6rem;
  font-weight: 600;
}
.dm-main-health .login-banner .link {
  display: block;
  background-color: #eee;
  padding: 1.2rem 0;
  text-align: center;
  
}
.dm-main-health .login-banner .link span {
  font-size: 1.4rem;
  color: #383838;
  font-weight: 600;
}



.dm-main-health .nutrition {
  margin-top: 2rem;
}
.dm-main-health .info-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 1.2rem;
       column-gap: 1.2rem;
  row-gap: 1.2rem;
}
.dm-main-health .info-list > li {
  position: relative;
  aspect-ratio: 1/1;
  padding: 1.6rem;
  background-color: var(--white);
  border-radius: 1.2rem;
  background-repeat: no-repeat;
  background-size: 4rem;
  background-position: calc(100% - 1.6rem) calc(100% - 1.6rem);
  border: 1px solid rgba(0, 0, 0, 0.08);
}
.dm-main-health .info-list > li .no-data {
  display: block;
}
.dm-main-health .info-list > li .yes-data {
  display: none;
}
.dm-main-health .info-list > li .yes-data .data-stat {
  margin-top: 0.8rem;
}
.dm-main-health .info-list > li .yes-data .val {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--gray-color-800);
}
.dm-main-health .info-list > li .yes-data dd {
  margin-top: 0.4rem;
}
.dm-main-health .info-list > li .yes-data .sub-txt {
  font-size: 1.2rem;
  color: var(--gray-color-800);
}

.dm-main-health .info-list > li .yes-data .sub-txt b {
  font-weight: 700;
}


.dm-main-health .info-list > li .yes-data .sub-txt.gray {
  color: var(--gray-color-600);
}
.dm-main-health .info-list > li .yes-data .ico-peak {
  position: relative;
  padding-left: 1.6rem;
  font-weight: 700;
}
.dm-main-health .info-list > li .yes-data .ico-peak::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1.6rem;
  height: 1.6rem;
  background-size: cover;
}
.dm-main-health .info-list > li .yes-data .ico-peak.up {
  color: #D6312C;
}
.dm-main-health .info-list > li .yes-data .ico-peak.up::before {
  background-image:url("../dm_images/common/ico_peak_up.png");
}
.dm-main-health .info-list > li .yes-data .ico-peak.down {
  color: #358FFF;
}
.dm-main-health .info-list > li .yes-data .ico-peak.down::before {
  background-image:url("../dm_images/common/ico_peak_down.png");
}
.dm-main-health .info-list > li .yes-data .walk-graph {
  position: absolute;
  bottom: 1.6rem;
  left: 1.6rem;
  width: calc(100% - 3.2rem);
  display: flex;
  justify-content: space-between;
}
.dm-main-health .info-list > li .yes-data .walk-graph li {
  position: relative;
  width: 0.8rem;
  height: 4rem;
  background-color: var(--gray-color-50);
  border-radius: 10rem;
  overflow: hidden;
}
.dm-main-health .info-list > li .yes-data .walk-graph .gauge {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  background-color: var(--primary-color);
  border-radius: 10rem;
}
.dm-main-health .info-list > li .yes-data .stat-row {
  font-size: 12px;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.dm-main-health .info-list > li .yes-data .stat-row .val-sm{
  font-weight: 700;
  font-size: 1.2rem;
}

.dm-main-health .info-list > li .btn-write {
  background: url(../dm_images/main/ico_write.png) no-repeat center center;
    background-size: 1.6rem auto;
    padding-right: 2rem;
    width: 1.6rem;
    height: 1.6rem;
    display: inline-block;
}
.dm-main-health .info-list > li .btn-write2 {
  background: url(../dm_images/main/ico_write2.png) no-repeat center center;
    background-size: 1.6rem auto;
    padding-right: 2rem;
    width: 1.6rem;
    height: 1.6rem;
    display: inline-block;
}



.dm-main-health .info-list > li.health_item_01 {
  background-image:url("../dm_images/main/health_item_01_off.png");
}
.dm-main-health .info-list > li.health_item_02 {
  background-image:url("../dm_images/main/health_item_02_off.png");
}
.dm-main-health .info-list > li.health_item_03 {
  background-image:url("../dm_images/main/health_item_03_off.png");
}
.dm-main-health .info-list > li.health_item_04 {
  background-image:url("../dm_images/main/health_item_04_off.png");
}
.dm-main-health .info-list > li.health_item_05 {
  background-image:url("../dm_images/main/health_item_05_off.png");
}
.dm-main-health .info-list > li.health_item_06 {
  background-image:url("../dm_images/main/health_item_06_off.png");
}
.dm-main-health .info-list > li.health_item_07 {
  background-image:url("../dm_images/main/health_item_07_off.png");
}
.dm-main-health .info-list > li.health_item_08 {
  background-image:url("../dm_images/main/health_item_08_off.png");
}
.dm-main-health .info-list > li.health_item_09 {
  background-image:url("../dm_images/main/health_item_09_off.png");
}
.dm-main-health .info-list > li.health_item_10 {
  background-image:url("../dm_images/main/health_item_10_off.png");
}
.dm-main-health .info-list > li.health_item_11 {
  background-image:url("../dm_images/main/health_item_11_off.png");
}
.dm-main-health .info-list > li.health_item_12 {
  background-image:url("../dm_images/main/health_item_12_off.png");
}
.dm-main-health .info-list > li.health_item_13 {
  background-image:url("../dm_images/main/health_item_13_off.png");
}
.dm-main-health .info-list > li.health_item_14 {
  background-image:url("../dm_images/main/health_item_14_off.png");
}

.dm-main-health .info-list > li.data .no-data {
  display: none;
}
.dm-main-health .info-list > li.data .yes-data {
  display: block;
}
.dm-main-health .info-list > li.data.health_item_01 {
  background-image: none;
}

.dm-main-health .info-list > li.health_item_01.on {
  background-image:url("../dm_images/main/health_item_01_on.png");
}
.dm-main-health .info-list > li.data.health_item_02 {
  background-image:url("../dm_images/main/health_item_02_on.png");
}
.dm-main-health .info-list > li.data.data.health_item_03 {
  background-image:url("../dm_images/main/health_item_03_on.png");
}
.dm-main-health .info-list > li.data.data.health_item_04 {
  background-image:url("../dm_images/main/health_item_04_on.png");
}
.dm-main-health .info-list > li.data.data.health_item_05 {
  background-image:url("../dm_images/main/health_item_05_on.png");
}
.dm-main-health .info-list > li.data.data.health_item_06 {
  background-image:url("../dm_images/main/health_item_06_on.png");
}
.dm-main-health .info-list > li.data.data.health_item_07 {
  background-image:url("../dm_images/main/health_item_07_on.png");
}
.dm-main-health .info-list > li.data.data.health_item_08 {
  background-image:url("../dm_images/main/health_item_08_on.png");
}
.dm-main-health .info-list > li.data.data.health_item_09 {
  background-image:url("../dm_images/main/health_item_09_on.png");
}
.dm-main-health .info-list > li.data.data.health_item_10 {
  background-image:url("../dm_images/main/health_item_10_on.png");
}
.dm-main-health .info-list > li.data.data.health_item_11 {
  background-image:url("../dm_images/main/health_item_11_on.png");
}
.dm-main-health .info-list > li.data.data.health_item_12 {
  background-image:url("../dm_images/main/health_item_12_on.png");
}
.dm-main-health .info-list > li.data.data.health_item_13 {
  background-image:url("../dm_images/main/health_item_13_on.png");
}
.dm-main-health .info-list > li.data.data.health_item_14 {
  background-image:url("../dm_images/main/health_item_14_on.png");
}



.dm-main-health .info-list .tit-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.dm-main-health .info-list .tit-row.tooltip {
    justify-content: flex-start;
    position: relative;
}
.dm-main-health .info-list .tit-row.tooltip .tooltipBtn {
    margin-left: 0.5rem;
    position: relative;
}
.tooltipBtn.diary{
    margin-left: 0.5rem;
    position: relative;
}
.tooltipBtn.diary .tooltip-wrap .tooltip-layer{
    transform: translate(-39%, 0);
    left:3.8rem;
}
.tooltipBtn.diary .tooltip-wrap .tooltip-layer::after,.tooltipBtn.diary .tooltip-wrap .tooltip-layer::before{
    left: 27%;
}
.dm-main-health .info-list .tit-row.tooltip .tooltip-layer{
    transform: translate(-39%, 0);
    width: 16.5rem;
    left:1.2rem;
}
.dm-main-health .info-list .tit-row.tooltip .tooltip-layer:after,.dm-main-health .info-list .tit-row.tooltip .tooltip-layer:before{
    left: 37%;
}

.dm-main-health .info-list .tit {
  color: var(--gray-color-800);
  font-size: 1.5rem;
  font-weight: 600;

  display: flex;
  align-items: center;
}
.dm-main-health .info-list .txt {
  margin-top: 0.8rem;
  color: var(--gray-color-600);
  font-size: 1.2rem;
}
.dm-main-health .info-list .badge {
  font-size: 1.1rem;
  padding: 0.2rem 0.4rem;
  border-radius: 0.4rem;
  min-width: 3.8rem;
  text-align: center;
  box-sizing: border-box;
}
.dm-main-health .info-list .badge.red {
  background-color: #FDEDEC;
  color: #EF4A3C;
}
.dm-main-health .info-list .badge.blue {
  background-color: #ECF5FF;
  color: #3F99FF;
}
.dm-main-health .info-list .badge.green {
  background-color: #E6F6EE;
  color: #08A159;
}
.dm-main-health .info-list .badge.orange {
  background-color: #FFF6E6;
  color: #FF7300;
}




.dm-main-health .info-list .link {
  display: flex;
  justify-content: start;
  align-items: center;
  margin-top: 0.6rem;
  text-decoration: underline;
  text-underline-offset: 4px;
  color: var(--primary-color);
  font-size: 1.4rem;
  font-weight: 600;
  position: absolute;
  z-index: 1;

}
.dm-main-health .info-list .link::after {
  content: "";
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  background-image:url("../dm_images/common/ico_arrow_primary.png");
  background-size: cover;
  margin: 0.3rem 0 0 0.2rem;
}

/* 오늘의식사 */
.dm-main-meal {
  padding-left: 2rem;
  padding-right: 2rem;
}
.dm-main-meal .meal-list .meal-before {
  background-color: var(--white);
  border: 1px solid rgba(0, 0, 0, 0.1215686275);
  border-radius: 1.2rem;
  overflow: hidden;
}
.dm-main-meal .meal-list .meal-before .txt {
  padding: 1.6rem;
  font-size: 1.8rem;
}
.dm-main-meal .meal-list .meal-before .txt b {
  color: var(--point-color);
  font-weight: 700;
}
.dm-main-meal .meal-list .meal-before .ico-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.4rem;
  margin-bottom: 2rem;
}
.dm-main-meal .meal-list .meal-before .bottom {
  display: block;
  background-color: var(--primary-color);
  padding: 1.2rem 0;
  text-align: center;
}
.dm-main-meal .meal-list .meal-before .bottom span {
  color: var(--white);

  font-size: 1.5rem;
}
.dm-main-meal .dm-main-tit {padding: 0 1.6rem;}
.dm-main-meal .meal-list .meal-tab-wrap .meal-tab-area {
  display: flex;
  justify-content: space-between;
  background-color: var(--primary-color-100);
  padding: 0.8rem 0.6rem 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.0392156863);
}

.dm-main-meal .meal-image {  flex-shrink: 0;}

.dm-main-meal .meal-info {
  flex-grow: 1;     
  min-width: 0;
}

.dm-main-meal .name {
  word-break: keep-all; 
  overflow-wrap: break-word;
}

.dm-main-meal .meal-list .meal-tab-wrap .meal-tab-area .tab-item {
  position: relative;
  border: 1px solid var(--primary-color-100);
  border-bottom: none;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 10px 0;
  border-radius: 10px 10px 0 0;
}
.dm-main-meal .meal-list .meal-tab-wrap .meal-tab-area .tab-item span {
  position: relative;
  padding-top: 2.6rem;

  font-size: 1.3rem;
  font-weight: 500;
  color: #a7c286;
  font-weight: 600;
}
.dm-main-meal .meal-list .meal-tab-wrap .meal-tab-area .tab-item span::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 2.4rem;
  height: 2.4rem;
  background-repeat: no-repeat;
  background-size: cover;
}
.dm-main-meal .meal-list .meal-tab-wrap .meal-tab-area .tab-item.active {
  background-color: var(--white);
  box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.02);
  border-color: #ebebeb;
  border-radius: 0.8rem 0.8rem 0 0;
  z-index: 1;
}
.dm-main-meal .meal-list .meal-tab-wrap .meal-tab-area .tab-item.active span {
  color: var(--primary-color);
  font-weight: 700;
}
.dm-main-meal .meal-list .meal-tab-wrap .meal-tab-area .tab-item.active::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 3px;
  background-color: var(--white);
}
.dm-main-meal .meal-list .meal-tab-wrap .meal-tab-area .tab-item[data-tab=day] span::before {
  background-image:url("../dm_images/main/ico_meal_time_00.png");
}
.dm-main-meal .meal-list .meal-tab-wrap .meal-tab-area .tab-item[data-tab=morning] span::before {
  background-image:url("../dm_images/main/ico_meal_time_01.png");
}
.dm-main-meal .meal-list .meal-tab-wrap .meal-tab-area .tab-item[data-tab=lunch] span::before {
  background-image:url("../dm_images/main/ico_meal_time_02_on.png");
}
.dm-main-meal .meal-list .meal-tab-wrap .meal-tab-area .tab-item[data-tab=dinner] span::before {
  background-image:url("../dm_images/main/ico_meal_time_03.png");
}
.dm-main-meal .meal-list .meal-tab-wrap .meal-tab-area .tab-item[data-tab=snack] span::before {
  background-image:url("../dm_images/main/ico_meal_time_04.png");
}
.dm-main-meal .meal-list .meal-tab-wrap .meal-tab-area .tab-item[data-tab=supplement] span::before {
  background-image:url("../dm_images/main/ico_meal_time_05.png");
}
.dm-main-meal .meal-list .meal-tab-wrap .meal-content-area {
  background-color: var(--white);
}

.dm-main-meal .meal-list .meal-tab-wrap .meal-content-area .titWrap {
  background: #F3F3F3;height: 4rem;padding: 0 1.6rem;display: flex;align-items: center;justify-content: flex-start;gap: 0.8rem;position: relative;
}

.dm-main-meal .meal-list .meal-tab-wrap .meal-content-area .titWrap .tit {
  font-size: 1.3rem;line-height: 2.5rem;color:#272727;font-weight: 700;
}
.dm-main-meal .meal-list .meal-tab-wrap .meal-content-area .titWrap .txt {
  font-size: 1.2rem;line-height: 2.5rem;color:#777;
}

.dm-main-meal .meal-list .meal-tab-wrap .meal-content-area .timeline-container {
  position: relative;
  padding:1.6rem 1.6rem 2.4rem;
}
.dm-main-meal .meal-list .meal-tab-wrap .meal-content-area .timeline-container::before {
  content: "";
  position: absolute;
  top: 0;
  left: 2.3rem;
  width: 2px;
  height: 100%;
  border-left: 1px dashed var(--primary-color);
}
.dm-main-meal .meal-list .meal-tab-wrap .meal-content-area .timeline-item {
  position: relative;
}
.dm-main-meal .meal-list .meal-tab-wrap .meal-content-area .timeline-item + .timeline-item {
  margin-top: 1.2rem;
}
.dm-main-meal .meal-list .meal-tab-wrap .meal-content-area .timeline-content {
  padding-left: 2.2rem;
}
.dm-main-meal .meal-list .meal-tab-wrap .meal-content-area .timeline-content + .timeline-content {
  margin-top:0.3rem;
}
.dm-main-meal .meal-list .meal-tab-wrap .time-marker {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  margin-bottom: 0.8rem;
  color: var(--primary-color);
  font-size: 1.3rem;
  font-weight: 700;
  background-color: var(--white);
}
.dm-main-meal .meal-list .meal-tab-wrap .time-marker::before {
  content: "";
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  background-image:url("../dm_images/common/ico_clock_g.png");
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 0.6rem;
}
.dm-main-meal .meal-list .meal-tab-wrap .meal-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.dm-main-meal .meal-list .meal-tab-wrap .meal-card .left {
  display: flex;
}
.dm-main-meal .meal-list .meal-tab-wrap .meal-card:not(:last-child) {
  margin-bottom: 1.2rem;
}
.dm-main-meal .meal-list .meal-tab-wrap .meal-card .right {
  display: flex;
  align-items: center;
  gap: 0.4rem;

   flex-shrink: 0;
}
.dm-main-meal .meal-list .meal-tab-wrap .meal-image {
  width: 4.4rem;
  height: 4.4rem;
  border-radius: 0.4rem;
  overflow: hidden;
  margin-right: 1.2rem;
}
.dm-main-meal .meal-list .meal-tab-wrap .meal-image img {
  width: 100%;
  height: 100%;

     object-fit: cover;
}

.dm-main-meal .meal-list .meal-tab-wrap .meal-image.gray img {
  filter: grayscale(100%);
}

.dm-main-meal .meal-list .meal-tab-wrap .meal-info .name {
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--gray-color-900);
}
.dm-main-meal .meal-list .meal-tab-wrap .meal-info .name:hover {
  text-decoration: underline;
  cursor:pointer;
}
.dm-main-meal .meal-list .meal-tab-wrap .meal-info .calories {
  margin-top: 4px;
  font-size: 1.2rem;
  color: var(--gray-color-600);
}

/* 오늘의추천 */
.dm-main-recommend {
  padding-left: 2rem;
  padding-right: 2rem;
  overflow: hidden;
  border-bottom: 0.1rem solid #F3F3F3;
}
.dm-main-recommend .rcmd-card {
  position: relative;
  background-color: rgba(247, 183, 14, 0.2);
  padding: 2rem 1.6rem;
  border: 1px solid rgba(247, 183, 14, 0.2);
  border-radius: 1.2rem;
  overflow: hidden;
}
.dm-main-recommend .rcmd-card-txt {
  margin-bottom: 2.4rem;
}
.dm-main-recommend .rcmd-card-txt .tit {
  font-size: 1.8rem;
  font-weight: 600;
  color: var(--gray-color-800);
}
.dm-main-recommend .rcmd-card-txt .tit p + p {
  margin-top: 0.6rem;
}
.dm-main-recommend .rcmd-card-txt .tit b {
  position: relative;
  padding-right: 2rem;
  margin-right: 0.8rem;
  font-weight: 700;
  cursor: pointer;
}
.dm-main-recommend .rcmd-card-txt .tit b::after {
  content: "";
  position: absolute;
  top: 0.2rem;
  right: 0;
  width: 1.6rem;
  height: 1.6rem;
  background-image:url("../dm_images/main/ico_check.png");
  background-size: cover;
}
.dm-main-recommend .rcmd-card-txt .info {
  margin-top: 1.2rem;
}
.dm-main-recommend .rcmd-card-txt .info li {
  position: relative;
  padding-left: 1.2rem;
  font-size: 1.3rem;
  line-height: 1.4;
  color: var(--gray-color-800);
}
.dm-main-recommend .rcmd-card-txt .info li:not(:last-child) {
  margin-bottom: 0.2rem;
}
.dm-main-recommend .rcmd-card-txt .info li::before {
  content: "";
  width: 0.3rem;
  height: 0.3rem;
  position: absolute;
  background-color: var(--gray-color-800);
  left: 0;
  top: 0.7rem;
}
.dm-main-recommend .rcmd-card-txt .info li.highlight {
  color: var(--point-color);
  font-weight: 500;
}
.dm-main-recommend .balance-swiper {
  width: 100%;
  overflow: visible;
  /* 그림자 잘림 방지 및 페이지네이션 노출 */
}
.dm-main-recommend .balance-item {
  background-color: #fff;
  /* var(--whiter) */
  border-radius: 0.8rem;
  padding: 0.8rem;
  display: flex;
  align-items: center;
  gap: 1.6rem;
  cursor: pointer;
  height:10.4rem;
}
.dm-main-recommend .balance-img {
  position: relative;
  width: 8.8rem;
  height: 8.8rem;
  flex-shrink: 0;
  border-radius: 0.8rem;
  overflow: hidden;
}
.dm-main-recommend .balance-img img {
  width: 100%;
  height: 100%;

     object-fit: cover;
}
.dm-main-recommend .balance-badge {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #ff6b00;
  /* var(--point-color) */
  color: #fff;
  font-size: 1.1rem;
  font-family: Arial;
  font-weight: 700;
  padding: 3.5px 6px;
  border-top-left-radius: 0.8rem;
  border-bottom-right-radius: 0.8rem;
  z-index: 1;
}
.dm-main-recommend .balance-txt {
  flex: 1;
  min-width: 0;
  overflow: hidden;
}
.dm-main-recommend .balance-txt .tit {
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--gray-color-900);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  width: 21rem;
  min-width: 0;
}

.dm-main-recommend .balance-txt .desc {
  font-size: 1.2rem;
  color: var(--gray-color-600);
  margin-top: 0.4rem;
  overflow: hidden;  
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  width:100%;
  
}
.dm-main-recommend .balance-txt .price {
  font-size: 1.7rem;
  font-weight: 700;
  color: #272727;
  /* background: var(--gray-color-900); */
  margin-top: 0.8rem;
}
.dm-main-recommend .swiper-pagination {
  position: relative;
  margin-top: 1rem;
  bottom: auto !important;
  z-index: 1 !important;
}
.dm-main-recommend .swiper-pagination-bullet {
  width: 0.6rem;
  height: 0.6rem;
  background: #272727;
  /* background: var(--gray-color-900); */
  border-radius: 0.3rem;
  opacity: 0.4;
  margin: 0 4px !important;
  transition: all 0.3s;
}
.dm-main-recommend .swiper-pagination-bullet-active {
  width: 2.4rem;
  opacity: 1;
}

/* 챌린지 */
.dm-main-challenge {
  overflow: hidden;
  border-top: 0.7rem solid #F9F9F9;
  border-bottom: 0.1rem solid #F3F3F3;
}

.dm-main-recommend .dm-main-tit {
  padding-right: 2rem;
  padding-top:2.4rem;
}
.dm-main-challenge .dm-main-tit {
  padding-left: 2rem;
  padding-right: 2rem;
  padding-top:2rem;
}

.dm-main-clip .dm-main-tit {
  padding-left: 2rem;
  padding-right: 2rem;
  padding-top:2.4rem;
}
.dm-main-challenge .dm-main-tit .btn-wrap {
  margin-top: auto;
}
.clip-tag-wrap .radio-round input[type=radio] + label span {
  font-size:1.4rem
}
.dm-main-challenge .ch-card {
  position: relative;
  border-radius: 0.8rem;
  border: 1px solid rgba(0, 0, 0, 0.0784313725);
  overflow: hidden;
}
.dm-main-challenge .ch-card-badge {
  position: absolute;
  top: 1.2rem;
  left: 1.2rem;
  display: flex;
  height: 2.4rem;
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 2.4rem;
  font-size: 1.3rem;
  line-height: 2.3rem;
  color: var(--white);

  z-index: 1;
}
.dm-main-challenge .ch-card-badge p {
  padding: 0 1.2rem 0 0.6rem;
  line-height: 2.4rem;
}
.dm-main-challenge .ch-card-badge::before {
  padding: 0 1.2rem;
  border-radius: 2.4rem;
}
.dm-main-challenge .ch-card-img {
  aspect-ratio: 266/163;
  position: relative;
}
.dm-main-challenge .ch-card-img img {
  width: 100%;
  height: 100%;

     object-fit: cover;
}



.dm-main-challenge .ch-card-txt {
  padding: 1.4rem 1.6rem 2rem;
  min-height:7rem;
}
.dm-main-challenge .ch-card-txt .tit {
  font-size: 1.6rem;
  color: var(--gray-color-900);
  font-weight:600;
}
.dm-main-challenge .ch-card-txt .date {
  margin-top: 0.4rem;
  font-size: 1.2rem;
  color: var(--gray-color-600);
}
.dm-main-challenge .ch-card .link {
  display: block;
  padding: 1.2rem 0;
  text-align: center;
}
.dm-main-challenge .ch-card .link span {

  font-size: 1.5rem;
  color: var(--white);
}
.dm-main-challenge .ch-card.before .ch-card-badge > p {
  display: none;
}
.dm-main-challenge .ch-card.before .ch-card-badge::before {
  content: "진행예정";
  background-color: var(--gray-color-800);
}
.dm-main-challenge .ch-card.before .link {
  pointer-events: none;
  background-color: var(--gray-color-100);
}
.dm-main-challenge .ch-card.before .link span {
  color: var(--gray-color-300);
}

.dm-main-challenge .ch-card .link.gray {
  background: #CCC !important;
  color: #fff !important;
}



.dm-main-challenge .ch-card.ing .ch-card-badge::before {
  content: "모집중";
  background-color: var(--point-color);
}
.dm-main-challenge .ch-card.ing .link {
  background-color: var(--primary-color);
  font-weight: 700;
}
.dm-main-challenge .ch-card.end .link {
  pointer-events: none;
  background-color: var(--gray-color-100);
}
.dm-main-challenge .ch-card.end .link span {
  color: var(--gray-color-300);
}
.dm-main-challenge .ch-card.end .ch-card-img::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  aspect-ratio: 266/133;
  background-color: rgba(0, 0, 0, 0.3);
}
.dm-main-challenge .ch-card.end .ch-card-badge {
  opacity: 0.6;
}
.dm-main-challenge .ch-card.end .ch-card-badge::before {
  opacity: 1;
  content: "종료";
  background-color: var(--gray-color-600);
  color: var(--gray-color-400);
}
.dm-main-challenge .ch-card.end .ch-card-txt .tit {
  color: var(--gray-color-400);
}
.dm-main-challenge .ch-card.end .ch-card-txt .date {
  color: var(--gray-color-400);
}
.dm-main-challenge .ch-swiper {
  padding-left: 2rem;
  padding-right: 2rem;
}
.dm-main-challenge .ch-swiper .swiper-slide {
  width: 26.6rem;
}

/* 클립 */
.dm-main-clip {
  background-color: #fff;
  padding-bottom: 0 !important;
  border: none !important;
}
.dm-main-clip .dm-main-tit {
  margin-bottom: 1.2rem;
  padding-left: 2rem;
  padding-right: 2rem;
}
.dm-main-clip .dm-main-tit .btn-wrap {
  margin-top: auto;
}
.dm-main-clip .clip-tag-wrap {
  display: flex;
  gap: 0.4rem;
  align-items: center;
  padding: 0 2rem 0rem;

}
.dm-main-clip .clip-card-list {
  border-top-left-radius: 2rem;
  background-color: var(--white);
  padding: 2rem 2rem 5.8rem;
}
.dm-main-clip .clip-img-card {
  position: relative;
  display: block;
  border-radius: 0.8rem;
  overflow: hidden;
}
.dm-main-clip .clip-img-card:not(:last-child) {
  margin-bottom: 1.6rem;
}
.dm-main-clip .clip-img-card .img {
  width: 100%;
  height: 18.8rem;
}
.dm-main-clip .clip-img-card .img::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.1) 15.16%, rgba(0, 0, 0, 0.45) 53.19%, rgba(0, 0, 0, 0.85) 73.67%);
}
.dm-main-clip .clip-img-card .img img {
  width: 100%;
  height: 100%;

     object-fit: cover;
}
.dm-main-clip .clip-img-card .txt {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 1.6rem;
}
.dm-main-clip .clip-img-card .txt .tit {
  color: var(--white);
  font-size: 1.8rem;
      display: flex;
    align-items: center;
    margin-top:0.4rem;
}
.dm-main-clip .clip-img-card .txt .desc {
  font-size: 1.3rem;
  color: var(--gray-color-500);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dm-main-clip .clip-txt-card {
  display: flex;
  align-items: center;
}
.dm-main-clip .clip-txt-card:not(:last-child) {
  margin-bottom: 1.6rem;
}
.dm-main-clip .clip-txt-card .img {
  position: relative;
  overflow: hidden;
  width: 8.8rem;
  height: 8.8rem;
  border-radius: 0.8rem;
}
.dm-main-clip .clip-txt-card .img img {
  width: 100%;
  height: 100%;

     object-fit: cover;
}
.dm-main-clip .clip-txt-card .img::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--black);
  opacity: 15%;
}
.dm-main-clip .clip-txt-card .txt {
  margin-left: 1.2rem;
  width: calc(100% - 10rem);
}
.dm-main-clip .clip-txt-card .txt .tit {
  font-size: 1.6rem;
  color: var(--gray-color-900);
  margin: 0.4rem 0;
  font-weight: 500;
}
.dm-main-clip .clip-txt-card .txt .desc {
  font-size: 1.2rem;
  font-weight: 400;
  color: var(--gray-color-700);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dm-main-clip .clip-txt-card .txt .btn-more {
  margin-top: 0.8rem;
}

/* =========================================
   Nutrition Status Card Styles
   ========================================= */
.nutrition-status-card {
  margin: 2rem 0 0 0;
  padding: 2rem 1.6rem 1.8rem;
  background-color: #fff;
  border-radius: 1.6rem;
  box-shadow: 0 0.4rem 2rem rgba(0, 0, 0, 0.05);
  border: 1px solid rgba(0, 0, 0, 0.12);
}
.nutrition-status-card .card-header {
  display: flex;
  align-items: center;
  margin-bottom: 1.2rem;
  gap: 0.5rem;
  position: relative;
}
.nutrition-status-card .card-header .tit {
  font-size: 1.8rem;
  font-weight: 700;

  color: var(--gray-color-900);
}
.nutrition-status-card .card-header .btn-share {
  width: 2.4rem;
  height: 2.4rem;
  background:  url("../dm_images/common/btn_share2.png") no-repeat center/contain;
  position: absolute;
  top: -0.5rem;
  right: 0rem;
}

.nutrition-status-card .card-header .btn-info,.dm-main-health .tit-row .tooltipBtn .btn-info, .btn-info {
  width: 1.6rem;
  height: 1.6rem;
  background:  url("../dm_images/common/btn_info.png") no-repeat center/contain;  
} 
.nutrition-status-card .calorie-info {
  font-size: 1.4rem;
  color: var(--gray-color-600);
  margin-bottom: 0.7rem;
  display: flex;
  align-items: center;
  position: relative;
}
.nutrition-status-card .calorie-info .current {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--gray-color-800);
  margin-right: 0.4rem;
}
.nutrition-status-card .calorie-info .goal {
  font-size: 1.4rem;
  font-weight: 400;
  color: var(--gray-color-800);
  margin-left: 0.2rem;
}
.nutrition-status-card .calorie-info .btn-edit {
  width: 1.6rem;
  height: 1.6rem;
  background:  url("../dm_images/common/ico_edit.png") no-repeat center/contain;
  margin-left: 0.4rem;
  cursor: pointer;
  display: inline-block;
  vertical-align: middle;
}
.nutrition-status-card .tooltip-bubble {
  position: absolute;
  bottom: -2.1rem;
  height: 2.2rem;
  line-height: 2.2rem;
  font-size: 1.2rem;
  font-weight: 500;
  display: inline-block;
  padding:0 1rem;
  background: rgba(0, 0, 0, 0.70);
  border-radius: 0.6rem;
  color:#fff;
  white-space: nowrap;

}
.nutrition-status-card .tooltip-bubble img {
  /* height: 2.7rem; */
}

    /* 왼쪽 정렬 (0~49%) */
    .tooltip-bubble.align-left {
      left: 1.5rem;
      border-radius: 0 0.6rem 0.6rem 0.6rem;
    }
    .tooltip-bubble.align-left:after {
      left: 0%;
      width: .8rem;
      height: .5rem;
      background:  url("../dm_images/gauge_step1.png") no-repeat center/contain;
      content: '';
      position: absolute;
      top: -0.4rem;
      display: block;      
    }

    /* 중앙 정렬 (50%) */
    .tooltip-bubble.align-center {
      left: 50%;
      transform: translateX(-50%);
    }
    .tooltip-bubble.align-center:after {
      left: 50%;
      transform: translateX(-50%);
      width: .8rem;
      height: .5rem;
      background:  url("../dm_images/gauge_step2.png") no-repeat center/contain;
      content: '';
      position: absolute;
      top: -0.55rem;
      display: block;      
    }

    /* 오른쪽 정렬 (51~100%) */
    .tooltip-bubble.align-right {
      right: 1.5rem;
      left: auto;
      transform: translateX(0);
      border-radius: 0.6rem 0 0.6rem 0.6rem;
    }
    .tooltip-bubble.align-right:after {
      right: 0%;
      width: .8rem;
      height: .5rem;
      background:  url("../dm_images/gauge_step3.png") no-repeat center/contain;
      content: '';
      position: absolute;
      top: -0.55rem;
      display: block;      
    }


    /* .quickLink {
      border-radius:0.6rem;
      background: rgba(0, 0, 0, 0.70);

      color:#fff;
      font-size: 1.3rem;
      display: inline-block;
      position: absolute;
      
    } */



    



    .tooltip-bubble.align-full {
      right: 1.5rem;
      left: auto;
      transform: translateX(0);
      bottom:3.5rem;
      border-radius: 0.6rem 0.6rem 0 0.6rem;
    }

    .tooltip-bubble.align-full:after {
      right: 0%;
      width: .8rem;
      height: .5rem;
      background:  url("../dm_images/gauge_step4.png") no-repeat center/contain;
      content: '';
      position: absolute;
      bottom: -0.5rem;
      display: block;      
    }

.nutrition-status-card .gauge-area {
  position: relative;
  margin-bottom: 0.8rem;
  margin-top: 1.6rem;
}
.nutrition-status-card .gauge-area .gauge-track {
  width: 100%;
  height: 1.6rem;
  background-color: #f0f0f0;
  border-radius: 1rem;
  position: relative;
}
.nutrition-status-card .gauge-area .gauge-bar-filled {
  height: 100%;
  border-radius: 1rem;
  display: flex; /* Key for segments */
  position: relative;
  overflow: visible; /* To see the indicator */
}
.nutrition-status-card .gauge-area .gauge-bar-filled .segment {
  height: 100%;
  /* Mint Green */
  /* Salmon Pink */
  /* Yellow */
}
.nutrition-status-card .gauge-area .gauge-bar-filled .segment:first-child {
  border-top-left-radius: 1rem;
  border-bottom-left-radius: 1rem;
}
.nutrition-status-card .gauge-area .gauge-bar-filled .segment:last-child {
  border-top-right-radius: 1rem;
  border-bottom-right-radius: 1rem;
}
.nutrition-status-card .gauge-area .gauge-bar-filled .segment.carbs {
  background-color: #68D494;
}
.nutrition-status-card .gauge-area .gauge-bar-filled .segment.protein {
  background: linear-gradient(0deg, #FF7D66 0%, #FF7D66 100%), #F9556D;
}
.nutrition-status-card .gauge-area .gauge-bar-filled .segment.fat {
  background-color: #FFD34D;
}
.nutrition-status-card .gauge-area .gauge-bar-filled .indicator-icon {
  position: absolute;
  top: 50%;
  right: -1.6rem; /* Half of icon width */
  transform: translateY(-1.4rem);
  width: 3.2rem;
  height: 3.2rem;
  background:  url("../dm_images/main/ico_gauge.png") no-repeat center/contain;
  border-radius: 50%;
  z-index: 2;
}
.nutrition-status-card .gauge-area .gauge-bar-filled .indicator-icon.bad {
  background:  url("../dm_images/main/ico_gauge_no.png") no-repeat center/contain;
}

.nutrition-status-card .gauge-area .gauge-bar-filled .indicator-icon.fair {
  background:  url("../dm_images/main/ico_gauge2.png") no-repeat center/contain;
}

.nutrition-status-card .gauge-area .gauge-bar-filled .indicator-icon.fair2 {
  background:  url("../dm_images/main/ico_gauge3.png") no-repeat center/contain;
}


.nutrition-status-card .gauge-area .gauge-labels {
  display: flex;
  justify-content: space-between;
  margin-top: 0.4rem;
  font-size: 1.2rem;
  color: var(--gray-color-400);
}
.nutrition-status-card .nutrient-legend {
  display: flex;
  justify-content: center;
  gap: 1.6rem;
}
.nutrition-status-card .nutrient-legend .legend-item {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.nutrition-status-card .nutrient-legend .legend-item .dot {
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 0.4rem;
}
.nutrition-status-card .nutrient-legend .legend-item .dot.carbs {
  background-color: #98DBBA;
}
.nutrition-status-card .nutrient-legend .legend-item .dot.protein {
  background-color: #EB7C7D;
}
.nutrition-status-card .nutrient-legend .legend-item .dot.fat {
  background-color: #F2CE56;
}
.nutrition-status-card .nutrient-legend .legend-item .label {
  font-size: 1.3rem;
  color: var(--gray-color-800);
}
.nutrition-status-card .nutrient-legend .legend-item .label b {
  font-size: 1.2rem;
  font-weight: 600;
  color:#383838;

}/*# sourceMappingURL=main.css.map */

.nutrition-status-card.type-mall {
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
}
.nutrition-status-card.type-mall .nutrient-legend {
  flex-direction: column;
  gap: 0.6rem;
}
.nutrition-status-card.type-mall .nutrient-legend .legend-item {
  padding-right: 2rem;
}
.nutrition-status-card.type-mall .nutrient-legend .legend-item .label {
  display: flex;
  justify-content: space-between;
  flex: 1;
}

.nutrition-status-card.type-mall .nutrient-legend .legend-item.case01 {
  background:  url("../dm_images/main/ico_gauge_no.png") no-repeat right/contain;
  background-size:1.6rem auto;
}
.nutrition-status-card.type-mall .nutrient-legend .legend-item.case02 {
  background:  url("../dm_images/main/ico_gauge2.png") no-repeat right/contain;
  background-size:1.6rem auto;
}

.nutrition-status-card.type-mall .nutrient-legend .legend-item.case03 {
  background:  url("../dm_images/main/ico_gauge.png") no-repeat right/contain;
  background-size:1.6rem auto;
}

.dm-wrap {position: relative;}
.mainHeader {display: flex;padding: 1.6rem;height: 5.2rem;align-items: center;justify-content: space-between;box-sizing: border-box;position: relative;margin: 0 auto;min-width: 36rem}
.mainHeader button {height:2.5rem}
.mainHeader .arrow {width: 2rem;height: 2rem;display: inline-block;}
.mainHeader .arrow img {width: 2rem;height: 2rem;vertical-align: 2px;}
.mainHeader .title {font-size: 2.1rem;font-weight: 700;display: flex;gap: 0.6rem;align-items: center;}
.mainHeader .header-btn {display: flex;gap: 1.6rem;}
.mainHeader .header-btn li {width: 2.4rem;height: 2.4rem;}
.mainHeader .header-btn li a {display: inline-block;position: relative;;}
.mainHeader .header-btn li a img {width: 2.4rem;}
.mainHeader .header-btn .alarm.active::before {content: '';width: 0.6rem;height: 0.6rem;display: inline-block;background: #FF7425;border-radius: 50%;position: absolute;top:0;right:0;border:0.2rem solid #fff}
.mainHeader .header-btn .basket .num {
    text-align: center;
    box-sizing: border-box;
    min-width: 1.5rem;
    height: 1.5rem;
    line-height: 1.3rem;
    color: #fff;
    font-size: 1rem;
    display: inline-block; 
    background: #FF7425;
    border-radius: 10rem;
    position: absolute;
    top: -0.2rem;
    left: 1.1rem;
    right: auto;
    border: 0.1rem solid #fff;
    max-width: 100px;
    width: auto;
    padding: 0 0.4rem;
    white-space: nowrap;
}


.todayWrap {display: flex;    justify-content: flex-end;position: absolute;right:1.6rem;bottom:1.6rem;}
.todayWrap .ellipse {display: flex;    align-items: center;justify-content: flex-end;position: relative;height: 5.6rem;width: 13.5rem;}
.todayWrap .ellipse li {position: relative;    width: 5.6rem;    height: 5.6rem;    border-radius: 50%;    overflow: hidden;    border: 2px solid #fff;  box-sizing: border-box;position: absolute;}
.todayWrap .ellipse li img {border-radius: 50%;width: 100%;height: 100%;;}

.todayWrap .ellipse li:nth-child(1) { z-index: 1; right:0;}
.todayWrap .ellipse li:nth-child(2) { z-index: 2; left: 50%;transform: translateX(-50%)}
.todayWrap .ellipse li:nth-child(3) { z-index: 3; left:0;}

.todayWrap .ellipse li.is-more::after {content: "";    position: absolute;    inset: 0;    background: rgba(0, 0, 0, 0.55);  }
.todayWrap .ellipse li.is-more .more-count {position: absolute;    inset: 0;    display: flex;    align-items: center;    justify-content: center;    color: #fff;    font-size: 1.4rem;    font-weight: 700;    z-index: 1;  }

.headerSticky.hide {display: none;}
.main-inner {position: relative;}

.section-login.active .login-inner .txt01 {font-size: 2.4rem;font-weight: 700;}
.section-login.active .login-inner .txt01 span {font-size: 2.4rem;}
.section-login {padding:0 2.4rem 1.5rem;position: relative;}
.section-login .login-inner {position: relative;border:1px solid #CCE5E5;}
.section-login .login-inner .contLayer {position:relative;z-index: 2;width:100%;}
.section-login .login-inner .contLayer .cont1 {height:11.6rem ;padding: 0 0.8rem;}
.section-login .login-inner .arrowBtn.open .arrow img {transform: rotate(180deg) ;}
.section-login .login-inner .arrowBtn {position: absolute;bottom:1rem;right: 1.6rem;color:#fff;font-size: 1.3rem;display: flex;    align-items: center;    gap: 0.5rem;    font-weight: 700;z-index:2;}
.section-login.active .login-inner .arrowBtn .arrowbg {background: rgba(0, 0, 0, 0.10);}
.section-login .login-inner .arrowBtn .arrowbg{border-radius:50%;background: rgba(84, 103, 81, 0.40);background-blend-mode: multiply;backdrop-filter: blur(3px);width: 2.4rem;;height: 2.4rem;display: flex;    align-items: center;    justify-content: center;}
.section-login .login-inner .arrowBtn .arrow img {width: 1.6rem;}
.section-login .login-inner .arrowBtn .arrow {display: flex;align-items: center;}


#lottie-box canvas {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 55rem !important;
  pointer-events: none;
  -webkit-transform: translate3d(0,0,0);
  display: block;
}

#lottie-box.case-alarm canvas {
  height: 60rem !important;
}

.section-login.seasonDiv.spring .login-inner {background: url(../dm_images/main/season2_01.png) no-repeat center top;background-size: 100% 8.8rem;}
.section-login.seasonDiv.summer .login-inner {background: url(../dm_images/main/season2_02.png) no-repeat center top;background-size: 100% 8.8rem;}
.section-login.seasonDiv.autumn .login-inner {background: url(../dm_images/main/season2_03.png) no-repeat center top;background-size: 100% 8.8rem;}
.section-login.seasonDiv.winter .login-inner {background: url(../dm_images/main/season2_04.png) no-repeat center top;background-size: 100% 8.8rem;}

.section-login.active.seasonDiv.spring .login-inner {background: url(../dm_images/main/season_01.png) no-repeat center top;background-size: 100% 100%;}
.section-login.active.seasonDiv.summer .login-inner {background: url(../dm_images/main/season_02.png) no-repeat center top;background-size: 100% 100%;}
.section-login.active.seasonDiv.autumn .login-inner {background: url(../dm_images/main/season_03.png) no-repeat center top;background-size: 100% 100%;}
.section-login.active.seasonDiv.winter .login-inner {background: url(../dm_images/main/season_04.png) no-repeat center top;background-size: 100% 100%;;}



.footer .btn-wrap {padding: 1rem 1.6rem;}
.section-login.inactive .login-inner {
  padding:1.8rem 2.4rem 1.6rem;
  border-radius: 1.2rem;box-sizing: border-box;
  background: url(../dm_images/main/season2_01.png) no-repeat center bottom;
  background-size: cover;
  cursor: pointer;
}
.section-login .login-inner .txt01 {font-size: 1.6rem;font-weight: 700;line-height: 1.2;}
.section-login .login-inner .txt01 span {font-weight: 400;font-size: 1.6rem}

.bottom-sheet-wrap .bottom-sheet-container.timeSelectSheet {height:80vh}

.section-login .login-inner .txt02 {font-size: 1.3rem;font-weight: 400;line-height: 1.4;margin-top: 0.8rem;}
.section-login .login-inner .txt03 {font-size: 1.8rem;font-weight: 500;line-height: 1.4;margin-top: 0.2rem;}
.section-login .login-inner .txt3 {color:#272727;font-size:1.4rem;line-height: 1.4;    white-space: nowrap;    overflow: hidden;    text-overflow: ellipsis;    min-width: 0;}
.section-login .login-inner .txt4 {color:#777;font-size:1.4rem;line-height: 1.4;    white-space: nowrap;    overflow: hidden;    text-overflow: ellipsis;    min-width: 0;}
.section-login .login-inner .txt5 {color:#272727;font-size:1.4rem;line-height: 1.4;  text-align: left;    justify-content: start !important;height: 4rem;}
 
.section-login .btnMore {margin-top: 0.5rem;}
.section-login .btnMore a { background: url(../dm_images/more_btn.png) no-repeat right center;background-size: 1.2rem;padding-right:1.2rem;font-size:1.3rem;color:#585858;line-height: 1.1;font-weight:700}
.section-login .btnLink {display: inline-block;  background: url(../dm_images/more_btn.png) no-repeat right center;background-size: 1.2rem;padding-right:1.2rem;font-size:1.3rem;color:#585858;line-height: 1.1;font-weight:700}
.section-login .btnLink span {color:#6FB53D;font-weight: 700;}
.section-login.active {padding: 0 0 1.5rem;display: none;}
.section-login.active .login-inner {overflow:hidden;border: 1px solid rgba(0, 0, 0, 0.08);padding:4rem 1.6rem 4.4rem;
  border-radius:0 0 2rem 2rem;box-shadow: 0 8px 12px 0 rgba(0, 0, 0, 0.16);
  /*background: url(../dm_images/m_login_bg03.png) no-repeat center top;background-size: 100% 55rem;*/
}
.section-login.active .character_01 {background: url(../dm_images/main/character_2.png) no-repeat;width: 16rem;height: 16rem;background-size:contain;position: absolute;top: 2.7rem;right:1.4rem;z-index: 1;}
.section-login.active .character_02 {background: url(../dm_images/main/character_1.png) no-repeat;width: 16rem;height: 16rem;background-size:contain;position: absolute;top: 2.7rem;right:1.4rem;z-index: 1;}
.section-login.active .character_03 {background: url(../dm_images/main/character_3.png) no-repeat;width: 16rem;height: 16rem;background-size:contain;position: absolute;top: 2.7rem;right:1.4rem;z-index: 1;}
.section-login.active .character_04 {background: url(../dm_images/main/character_4.png) no-repeat;width: 16rem;height: 16rem;background-size:contain;position: absolute;top: 2.7rem;right:1.4rem;z-index: 1;}
.section-login.active .character_05 {background: url(../dm_images/main/character_5.png) no-repeat;width: 16rem;height: 16rem;background-size:contain;position: absolute;top: 2.7rem;right:1.4rem;z-index: 1;}

.section-login.active { display: none;  opacity: 0;  transform: translateY(-20px);  transition: opacity 0.15s ease, transform 0.15s ease;}
.section-login.active.show {  opacity: 1;  transform: translateY(0);}
.section-login {  transition: opacity 0.15s ease;}

.section-login .ico {width:1.6rem;height: 1.6rem;}
.section-login .iconWrap {display: flex;align-items: center;margin-top: 1.2rem;}
.section-login .iconWrap > li {display: flex;align-items: center;position: relative;font-size:1.3rem;cursor: pointer;}
.section-login .iconWrap > li + li {padding-left:0.8rem;margin-left:0.8rem;}
.section-login .iconWrap > li + li::before {content: '';width: 1px;height:1.2rem;background:#9ABBB9;position: absolute;left:0;top:0.2rem;}
.section-login .iconWrap .cursor {cursor: pointer;}
.section-login .iconWrap > li > i {width: 1.6rem;height: 1.6rem;margin-right: 0.5rem;}
.section-login .ico-p {background: url(../dm_images/icon_p.png) no-repeat center;background-size:1.6rem 1.6rem;display: inline-block;}
.section-login .ico-d {background: url(../dm_images/icon_d.png) no-repeat center;background-size:1.6rem 1.6rem;display: inline-block;}
.section-login .info {display: flex;align-items: center;    justify-content: space-between; border-radius:1.2rem;border: 1px solid rgba(0, 0, 0, 0.10);background: rgba(56, 56, 56, 0.80) url(../dm_images/icon_info.png) no-repeat 1rem 1.6rem;background-size: 1.6rem ;backdrop-filter: blur(10px);color:#fff;padding: 1.5rem 1.2rem 1.5rem 3.2rem;font-size: 1.4rem;height: 4.8rem;box-sizing: border-box;margin-bottom:0.8rem}
.section-login .infoWrap .box {border-radius:1.2rem;background: rgba(255, 255, 255, 0.90);backdrop-filter: blur(10px);width: 100%;margin-top: 0.8rem;padding: 1.6rem;box-sizing: border-box;}
.section-login .infoWrap .box.h1 {height:10rem;background: #fff;display:block;margin-top:0}
.section-login .infoWrap .box.h2 {height:15.1rem;flex: 1;min-width: 0;background:#fff}
.section-login .flexWrap {display: flex; gap: 0.8rem;}
.section-login .info .close-info {background: url(../dm_images/icon_close.png) no-repeat center;background-size: 1rem;width: 1.6rem;height: 1.6rem;display: inline-block;;}
.section-login .infoWrap .box .tit {margin-bottom: 0.8rem;}

.product-name .ending {color:#fff;background:#AAA;font-size:1.1rem;padding:0.1rem 0.5rem;font-weight:400;border-radius:0.8rem;margin:0 0.5rem}
.quickWrap02 p {font-size: 1.3rem;color: #383838;line-height: 1.3;font-weight: 600;margin-top: 0.8rem;}
.section-login .infoWrap .txt1 {display: flex;justify-content: space-between;}
.section-login .infoWrap .txt1 p {font-size: 1.4rem;font-weight: 700;line-height: 1.4;color:#000;}
.section-login .infoWrap .txt1 .infoArrow img {width: 1.2rem;}
.section-login .infoWrap .txt2 {font-size: 1.4rem;font-weight: 400;line-height: 1.4;color:#000;margin-top: 0.8rem;overflow: hidden;    text-overflow: ellipsis;  display: -webkit-box;  -webkit-box-orient: vertical;  -webkit-line-clamp: 2}

.section-product {padding: 2.4rem 0 3.2rem;}
.section-product.line {padding: 2.4rem 0 3.2rem;}
.main-inner > section {position: relative;}
.main-inner > section.line {position: relative; border-top: 0.7rem solid #F9F9F9;box-shadow: 0 -1px 0 0 #f3f3f3;}
.main-inner > section.line.ai {padding: 3.2rem 0 4rem;}

.main-inner > section.dm-main-clip {border-top: 0.7rem solid #F9F9F9 !important;box-shadow: 0 -1px 0 0 #f3f3f3 !important;}

.main-inner h1 {font-size: 2.3rem;font-weight: 700;line-height: 1.2;color:#272727;font-family:"Pretendard"}
.main-inner h2 {font-size: 1.3rem;font-weight:400;line-height: 1.4;color:#777;margin-top: 0.4rem;}

.main-inner .tit-wrap {padding: 0 2rem;position: relative;margin-bottom: 2rem;}
.main-inner .tit-wrap .btnMore { position: absolute;bottom:0.1rem;right:2rem;background: url(../dm_images/more_btn.png) no-repeat right center;background-size: 1.2rem;padding-right:1.2rem;font-size:1.3rem;color:#383838;line-height: 1.2;}
.tit-wrap + .tabWrapProduct {margin-top: -0.8rem;}
.product-list.type01 .product-card {display: flex;  overflow: hidden; margin-bottom:2.2rem; height: 15.2rem;gap: 1.2rem;}
.product-list.type01 .product-card:last-child {margin-bottom: 0;}

.product-list.type01 .product-image {position: relative; width: 12.7rem;  overflow: hidden;border-radius: 0.8rem;}
.product-list.type01 .product-image img {width: 100%; height: 15.2rem; object-fit: cover;object-position: center;display: block;}
.product-list.type01 .product-image::before {content: '';position: absolute;width: 100%;height: 100%;background: #000;opacity: 0.05;}


.swiperMallSeasonWrap {padding-top: 2rem;}
.swiperMallSeason .product-list.type02 .product-info {flex: 1; display: flex; flex-direction: column; }
.swiperMallSeason .product-list.type02 .product-title {font-size: 1.4rem; font-weight: 500; margin-bottom: 0.4rem; line-height: 1.3;color:#272727}
.swiperMallSeason .product-list.type02 .product-subtitle {font-size: 1.2rem; font-weight:400;margin-bottom: 0.4rem; line-height: 1.4;color:#535353;overflow: hidden;    text-overflow: ellipsis;  display: -webkit-box;  -webkit-box-orient: vertical;  -webkit-line-clamp: 2}
.swiperMallSeason .product-list.type02 .product-meta {font-size: 1.2rem; font-weight:400;margin-bottom: 0.4rem; line-height: 1.4;color:#777}
.swiperMallSeason .product-list.type02 .product-pricing {display: flex; flex-direction: column; gap: 3px;}
.swiperMallSeason .product-list.type02 .price-row {display: flex; align-items: center; gap: 6px;}
.swiperMallSeason .product-list.type02 .original-price {font-size: 1.2rem; color: #AAA; text-decoration: line-through;}

/* .swiperMallSeason .product-list.type02 .discount-rate {font-size: 1.6rem; font-weight: 700; color: #FF7425;}
.swiperMallSeason .product-list.type02 .final-price {font-size: 1.6rem; font-weight: 700; color: #272727;} */

.main-inner .product-list {flex-wrap: nowrap;}
#site-footer {margin-top: 0;clear:both}

.product-btns {position: absolute; bottom: 0.8rem; right: 0.8rem;display: flex;}
.product-btns .btn-type01 {width: 2.8rem; height: 2.8rem;background: url(../dm_images/product-ico01.png) no-repeat;background-size: 2.8rem;}
.product-btns .btn-type02 {width: 2.8rem; height: 2.8rem;background: url(../dm_images/product-ico02.png) no-repeat;background-size: 2.8rem;}

.food_add_wrap {display: flex;align-items: center; justify-content:space-between;gap: 1.3rem;padding:2rem;}
.food_add_wrap > button {border:1px dashed #6FB53D;height: 16rem;display: flex;flex-direction: column;align-items: center;gap: 0.8rem;display: block;width: 100%;border-radius: 1.2rem;}
.food_add_wrap > button .img img {width: 4.8rem;margin: 0 auto 2rem;}
.food_add_wrap > button .txt {font-size:1.6rem ; color:#6FB53D;text-align:center;}
.category-wrap .btn-wrap.mrbot4 a {color:#000}

.main-inner .section02 {padding: 1.6rem 0 1.6rem;}
.btnMallWrap {padding: 0 2rem;margin-top: 2.8rem;}
.btnMallWrap a {
  display: flex;
  align-items: center;
  border-radius: 0.8rem;
  border: 1px solid #6FB53D;
  color: #6FB53D;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
  height: 4rem;
  line-height: 4rem;
  justify-content: center;   
}

.btnMallWrap .arrow {
  width: 1.6rem;
  height: 1.6rem;
  background:url(../dm_images/btn_right.png) no-repeat center;
  background-size: 1.6rem auto;
  display: inline-block;
  margin-left: 0.2rem;
}

.swiperMallSeason {overflow: hidden;padding: 0rem 2rem}
.final-price em {font-size: 1.5rem;font-weight:400}

/* Type02: 그리드형 레이아웃 */
.product-list.type02 {display: flex;flex-wrap: nowrap;}
.product-list.type02 .product-image::before {content: '';position: absolute;width: 100%;height: 100%;background: #000;opacity: 0.05;}
.product-list.type02 .product-image {position: relative;  height: 15.2rem; overflow: hidden;border-radius: 0.8rem;}
.product-list.type02 .product-image img {width: 100%;object-fit: cover;object-position: center;display: block;height: 15.2rem;}
.product-list.type02 .cart-btn {width: 2.8rem; height: 2.8rem;background: url(../dm_images/btn_group.png) no-repeat;background-size: 2.8rem;}
.product-list.type02 .product-info {padding-bottom: 0rem;}
.product-list.type02 .product-title {font-size: 1.4rem; font-weight: 500; margin-bottom: 0.4rem; line-height: 1.3;color:#272727;padding-top:1.2rem;}
.product-list.type02 .product-subtitle {font-size: 1.2rem; font-weight:400;margin-bottom: 0.4rem; line-height: 1.4;color:#777;word-break: keep-all;}
.product-list.type02 .product-pricing {display: flex; flex-direction: column; gap: 3px;}
.product-list.type02 .price-row {display: flex; align-items: center; gap: 6px;}
.product-list.type02 .original-price {font-size: 1.2rem; color: #AAA; text-decoration: line-through}
.product-list.type02 .discount-rate {font-size: 1.7rem; font-weight: 700; color: #FF6B35;}
.product-list.type02 .final-price {font-size: 1.7rem; font-weight: 700; color: #333;}

@media (min-width: 400px) {
   .product-list.type02 .product-image {height: 17.2rem;}
   .product-list.type02 .product-image img {height: 17.2rem;}
}

.main-txt01 {color:#6FB53D;font-size: 1.2rem;font-weight: 700;line-height: 1.3;margin-bottom:0.4rem}
.main-inner .quickWrap01 {position: relative; display: block; width: 100%; overflow-x: auto; overflow-y: hidden;border-bottom: 1px solid #eee;height: 4.6rem;}
.main-inner .quickWrap01 ul {display:flex; gap: 2rem; padding: 0 1.6rem; flex-wrap: nowrap;}
.main-inner .quickWrap01 ul li {display: inline-block; white-space: nowrap;}
.main-inner .quickWrap01 a {font-size: 1.5rem; font-weight: 500; line-height: 4.6rem;height: 4.6rem;display: block;}

.main-inner .quickWrap01 ul::after {  content: '';  display: block;  min-width: 0.1rem;   height: 1px;}
.main-inner .quickWrap02 {display: flex;gap: 0.8rem;justify-content: space-between;padding: 0 2rem;position: relative;}
.main-inner .quickWrap02 > li {text-align: center;flex: 1;}
.main-inner .quickWrap02 > li img {width:100%;max-width: 4rem;}
.main-inner .quickWrap02 > li .box {width: 100%;aspect-ratio: 1 / 1;;background:#F3F3F3;display: flex;align-items: center;justify-content: center;border-radius: 1.2rem;margin: 0 auto;padding: 0 1.4rem;}

.newFooter {margin-top: 0 !important;background: #F3F3F3;padding: 2.4rem 2rem;}

/* .main-inner .section-product .tabs > ul > li:last-child {background:#F3F3F3 linear-gradient(270deg, #FFF 3.64%, rgba(255, 255, 255, 0.00) 24.32%);} */
.main-inner .section-product {position: relative;}
.main-inner .section-product .tabWrapProduct::after {  content: '';  position: absolute;  top: 0;  right: 0;  width: 6rem;   height:6rem;  background: linear-gradient(to right, transparent, #fff);  pointer-events: none; }

.quickWrap02Wrap {position: relative; width: 100%; overflow-x: auto; overflow-y: hidden;}
.quickWrap02Wrap .quickWrap02 {display: flex; flex-wrap: nowrap; min-width: max-content;}
.quickWrap02Wrap .quickWrap02 li {flex-shrink: 0;}

.quickWrap02Wrap .btnArrow {position: absolute;right:0.8rem;top: 2rem;}
.quickWrap02Wrap .btnArrow img {width: 2.4rem;}

.tab-content {display: none; }
.tab-content.active {display: block;}

.tabWrapProduct .btnArrow {position: absolute;right:0.8rem;top: 0.4rem;z-index:3;}
.tabWrapProduct .btnArrow img {width: 2.4rem;}
.tabWrapProduct {position: relative;}
.tabWrapProduct .tabs {padding: 0 2rem;position: relative; display: flex;    gap: 0.4rem;    align-items: center;    overflow-x: auto;    overflow-y: hidden;width: 100%;-webkit-overflow-scrolling: touch;cursor: grab;  user-select: none;}
.tabWrapProduct .tabs > ul { display: flex;    gap: 0.4rem;    flex-wrap: nowrap;    flex-shrink: 0;     margin: 0;    padding: 0;}
.tabWrapProduct .tabs > ul > li {display: inline-block;    white-space: nowrap;flex-shrink: 0;  }
.tabWrapProduct .tabs .tabBtn {cursor: pointer;position: relative;background: #F3F3F3;border-radius: 3.2rem;height: 3.2rem;color: #5B5B5B;padding:0 1.2rem;font-size:1.3rem;border:1px solid #EEE;flex-shrink: 0;}
.tabWrapProduct .tabs .tabBtn.active {background: #272727;color: #fff;}
.tabWrapProduct .tab-content {padding:1.6rem 2rem 0}
.tabWrapProduct .tab {cursor: pointer;    position: relative;    background: #F3F3F3;    border-radius: 3.2rem;    height: 3.2rem;    color: #999;    padding: 0 1.2rem;    font-size: 1.4rem;    border: 1px solid #EEE;    flex-shrink: 0;}
.tabWrapProduct .tab.active {background: #272727;color: #fff;}

.tabWrapProduct .filterWrap.type02 .tabs .tabBtn {cursor: pointer;position: relative;border:1px solid #DDDDDD;border-radius: 0.8rem;height: 3.2rem;color: #999;padding:0rem 2.2rem 0rem 1.2rem;font-size:1.3rem;flex-shrink: 0;background: #fff url(../dm_images/tab_arrow2.png) no-repeat 94% center;background-size: 1.2rem;;}
.tabWrapProduct .filterWrap.type02 .tabs .tabBtn.active {border:1px solid #383838;color: #383838;background: #fff;background: #fff url(../dm_images/tab_arrow.png) no-repeat 94% center;background-size: 1.2rem;}
.tabWrapProduct .filterWrap.type02 .tabs .tabBtn em {font-weight: 600;}

.tabs .tabBtn {cursor: pointer;position: relative;background: #F3F3F3;border-radius: 3.2rem;height: 3.2rem;color: #999;padding:0 1.2rem;font-size:1.3rem;border:1px solid #EEE;flex-shrink: 0;}
.tabs .tabBtn.active {background: #272727;color: #fff;}

.mall-banner img {width: 100%;}
.top-title-area .count {color:#6fb53d}

.timeDeal {padding:3.2rem 0 4rem;  background:#F9EDBE;}
.timeDeal .tit {color:#529A34;font-size: 1.4rem;font-weight: 700;line-height: 1.2;text-align: center;}
.timeDeal .txt {color:#000;font-size: 2.5rem;font-weight: 700;line-height: 1.2;text-align: center;display: flex;justify-content: center;gap: 0.4rem;margin-top: 0.8rem;}
.timedeal-container {margin-top: 2rem;}
.timedeal-container .product-card {border-radius: 1.2rem; position: relative;}
.timedeal-container .product-card .product-timer {background: #252525; height: 4rem; display: flex; align-items: center; justify-content: center; gap:0.8rem;}

.timedeal-container .btn-type01 {width: 12.4rem; height: 2.8rem;background: url(../dm_images/product-btn.png) no-repeat center / contain;}

.timedeal-container .product-card .product-timer .timer-icon{width: 2.8rem;height: 2.8rem;background:url(../dm_images/ico-timedeal01.png) no-repeat center center / contain;}
.timedeal-container .product-card .product-timer .timer-text {color: #fff; font-size: 2.3rem; font-weight: 700;}

.timeDeal .txt .timer-text {font-size: 2.8rem;font-weight: 700;}
.timeDeal .timer img {width: 2.8rem;}
.timeDeal .timer {display: flex;align-items: center;}

.mb2 {margin-bottom: 2rem;}
.tabWrapProduct.bdb {border-bottom:0.8rem solid #F3F3F3}
.switchWrap {display: flex;align-items: center;gap: 0.6rem;font-size: 1.3rem;color:#383838}

.swipertimeDeal.type-one .timedeal-container .product-card .product-image-wrapper {position: relative;text-align: center;width: 28rem;border-radius: 10rem;overflow: hidden;margin: 0 auto;height:19.7rem}
.swipertimeDeal.type-one .timedeal-container .product-card .product-image-wrapper img {width: 100%;    height: 100%;    object-fit: cover;     vertical-align: bottom;}
.swipertimeDeal.type-one .timedeal-container .product-card .product-image-wrapper .cart {width: 28rem}

@media (min-width: 915px) {

  .swipertimeDeal.type-one .timedeal-container .product-card .product-image-wrapper {position: relative;text-align: center;width: 28rem;border-radius: 10rem;overflow: hidden;margin: 0 auto;height:19.7rem}
  .swipertimeDeal.type-one .timedeal-container .product-card .product-image-wrapper img {width: 100%;    height: 100%;    object-fit: cover;     vertical-align: bottom;}


}




.timedeal-container .product-card .product-image-wrapper {position: relative;text-align: center;width: 19.7rem;border-radius: 50%;overflow: hidden;margin: 0 auto;height:19.7rem}
.timedeal-container .product-card .product-image-wrapper img {width: 100%;height: 100%;vertical-align: bottom;}
.timedeal-container .product-card .product-info {padding:1.6rem;text-align: center;}
.timedeal-container .product-card .product-title {font-size: 1.6rem; font-weight: 500; margin-bottom: 0.4rem; line-height: 1.3;color:#272727}
.timedeal-container .product-card .product-details {font-size: 1.2rem; font-weight: 500; margin-bottom: 0.4rem; line-height: 1.4;color:#777}
.timedeal-container .product-card .original-price {font-size: 1.2rem; font-weight:400; margin-bottom: 0.2rem; line-height: 1.3;color:#AAA; text-decoration: line-through;}
.timedeal-container .product-card .current-price {display: flex; align-items: baseline; gap: 6px;justify-content: center;}
.timedeal-container .product-card .discount {font-size:2.2rem; font-weight: 700; color: #FF7425;margin-top: 0 ;}
.timedeal-container .product-card .price {font-size: 2.2rem; font-weight: 700; color: #272727;}
.timedeal-container .product-card .shipping-badge {display: inline-flex; align-items: center; gap: 4px; font-size: 12px; color: #0066FF; margin-bottom: 12px;}
.timedeal-container .product-card .product-image-wrapper .cart {position: absolute;;bottom: 0;left: 50%;transform: translateX(-50%);background: rgba(0, 0, 0, 0.70);width: 28rem;height: 3.3rem;color:#fff;line-height: 3.3rem;font-size: 1.5rem;display: flex;align-items: center;justify-content: center;gap: 0.8rem;}
.timedeal-container .product-card .product-image-wrapper .ico-cart {width: 1.6rem;height:1.6rem;background:url(../dm_images/ico-group.png) no-repeat center / contain;}
.refrigeration img {width: 3.9rem;}

.timedeal-container .product-card .product-image-wrapper {}

.timedeal-container .product-card .cart-button {background: #666; color: white; border: none; border-radius: 8px; width: 48px; height: 48px; font-size: 20px; cursor: pointer; float: right; display: flex; align-items: center; justify-content: center;}
.timedeal-container .product-card .cart-button:hover {background: #555;}

.timeDeal .moreWrap {text-align: center;padding:1.6rem 2rem 0rem;}
.timeDeal .btnMore {    font-size: 1.5rem;    color: #383838;    font-weight: 600;    border: 1px solid #AAA;    border-radius: 0.8rem;    display: block;    height: 4rem;    line-height: 4rem;    display: flex;    align-items: center;    justify-content: center;}
.timeDeal .btnMore .ico {background: url(../dm_images/more_btn.png) no-repeat center ;background-size: 1.2rem;display:inline-block;width: 1.2rem;height: 1.2rem;margin-left: 0.2rem;}


.swiperMall01 { padding:0rem 2rem 2rem ;overflow: hidden;position: relative;}
.swiperMall01 .slide-image { width: 100%; height: 100%; object-fit: cover; border-radius: 1.2rem;}

.swiperMall01 .badge {color:#fff;font-size: 0.9rem;font-weight: 500;line-height: 1.3; border-radius: 0 0.2rem 0 0.8rem ;padding:0.4rem 0.8rem 0.4rem 1.2rem;display: inline-block; position: absolute; bottom:0.4rem;left:0rem;  text-align: center;}

.swiperMall01 .badge.bg1 {background:#EF8B54;}
.swiperMall01 .badge.bg2 {background:#E5867D;}
.swiperMall01 .badge.bg3 {background:#A598E2;}
.swiperMall01 .badge.bg4 {background:#90A8E3;}
.swiperMall01 .badge.bg5 {background:#83CB94;}

.swiperMall01 .slide-content { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; flex-direction: column; ; z-index: 10;padding:2.2rem 0 0 2.4rem;box-sizing: border-box;}
.swiperMall01 .slide-badge {color:#fff;font-size: 0.9rem;font-weight: 500;line-height: 1.3; border-radius: 0.4rem;background: rgba(39, 39, 39, 0.40);padding:0.2rem 0.4rem;display: inline-block; position: absolute; top:2rem;left:2rem;  text-align: center; }
.swiperMall01 .slide-title {color:#272727;font-size:1.8rem;font-weight: 700;line-height: 1.2;margin-top: 1.8rem;}
.swiperMall01 .slide-desc {color:#272727;font-size: 1.4rem;font-weight: 400;line-height: 1.4;margin-top: 0.5rem;}
.swiperMall01 .swiper-pagination { bottom: 3rem !important; display: flex; align-items: center; justify-content: center; gap: 1rem; }
.swiperMall01 .swiper-pagination-current { font-size: 1.1rem; font-weight: 500; color: #fff; }
.swiperMall01 .progress-bar {display: none;}
.swiperMall01 .swiper-pagination-total { font-size:1.1rem; color: rgba(255, 255, 255, 0.60); font-weight: 400;}

.swiperMall01 .progress-container {     position: absolute;    bottom: 15%;    right: 7.3%;    display: flex;    align-items: center;    gap: 0.1rem;    z-index: 1;    text-align: center;background: rgba(0, 0, 0, 0.30);backdrop-filter: blur(2px); border-radius:1rem;padding-top: 0.2rem;}
.swiperMall01 .pagination-number {display: flex;    align-items: center;  height: 1.9rem; justify-content: center;padding: 0 1rem;}
.swiperMall01 .bannerLink {display:inline-block;width:1.2rem;height:1.2rem;}
.swiperMall01 .bannerLink img {width:1.2rem}

.swiperMall01 .swiper-pagination-fraction {font-size: 0; }
.swiperMall01 .swiper-pagination-fraction .swiper-pagination-current::after {content: " | ";     font-size: 1rem;     margin: 0 0.5rem 0 0.3rem;    color:#AAA;font-weight:300;}
.swiperMall01 .btn-allist {background:rgba(255, 255, 255, 0.30) url(../dm_images/btn-allist.png) no-repeat center;background-size: 1.2rem;width: 2.4rem;height: 2.4rem;display: inline-block;}

.swiperMall07 .slide-content { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; flex-direction: column; ; z-index: 10;}
.swiperMall07 .slide-badge {position: absolute;    bottom: 11rem;    left: 2rem;color:#fff;font-size: 1.8rem;font-weight: 700;line-height: 1.4;  white-space: nowrap;}
.swiperMall07 .slide-title {position: absolute;    bottom: 6.4rem;    left: 2rem;    color: #fff;    font-size: 1.3rem;    font-weight: 400;    line-height: 1.4;    white-space: nowrap;    width: max-content;    height: 4rem;}
.swiperMall07 .slide-desc {position: absolute;    bottom: 2rem;    left: 2rem;color:#fff;font-size: 1.2rem;font-weight: 400;line-height: 1.4;border-radius: 8px;background: rgba(0, 0, 0, 0.15);backdrop-filter: blur(2px);padding:0.6rem 1.2rem;display: inline-block; text-align: center;white-space: nowrap;width: max-content;}


.swiperMall02 {position: relative;padding:0 2rem;overflow: hidden;}
.swiperMall02 .swiper-pagination-progressbar {background: #eee; ;position: absolute; left: 50% !important;transform: translateX(-50%);bottom:0 !important;top:auto !important; box-sizing: border-box;width:90% !important;height: 0.2rem !important;}
.swiperMall02 .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {background: #272727;}

.swiperMall05 {position: relative;padding:0 2rem;overflow: hidden;}
.swiperMall05 .swiper-pagination-progressbar {background: #eee; ;position: absolute; left: 50% !important;transform: translateX(-50%);bottom:0 !important;top:auto !important; box-sizing: border-box;width:90% !important;height: 0.2rem !important;}
.swiperMall05 .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {background: #272727;}

.swiperMall05 .product-info .product-title {font-size: 1.1rem;    font-weight: 600;    margin-bottom: 0.8rem;    line-height: 1.4;    color: #383838;}
.swiperMall05 .product-info .product-desc {font-size: 1.4rem;    font-weight: 600;    margin-bottom: 0.4rem;    line-height: 1.4;    color: #272727;}
.swiperMall05 .product-info .product-subtitle {font-size: 1.2rem;    font-weight: 400;   line-height: 1.4;    color: #777;}

.swiperMall06 {position: relative;padding:0 2rem;overflow: hidden;}
.swiperMall06 .swiper-pagination-progressbar {background: #eee; ;position: absolute; left: 50% !important;transform: translateX(-50%);bottom:0 !important;top:auto !important; box-sizing: border-box;width:90% !important;height: 0.2rem !important;}
.swiperMall06 .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {background: #272727;}

.container .swiper-pagination-progressbar {z-index: 2;}
.swiperMall03 .swiper-slide { height: auto; }
.swiperMall03 .product-column { display: flex; } 
.swiperMall03 .product-card { display: flex; gap: 1.1rem; background: #fff; position: relative; flex-direction: column;}

.product-badge {
  display: flex;
  position: absolute;
  left:0;
  top: 0;
  z-index: 1;  
}
.product-badge > span {
  border-radius: 0.8rem 0 0.8rem 0;
  height: 1.8rem;
  font-size:1rem;
  font-weight: 700;
  text-align: center;
  color:#fff;  
  padding: 0 0.6rem;
  line-height: 1.8;
}
.product-badge > span:first-child {
  border-radius: 0.8rem 0 0 0;
}
.product-badge > span:last-child {
  border-radius: 0 0 0.8rem 0;
}
.product-badge > span + span {
  border-radius:0;
}

.product-badge .type01 {
  background: #FF5044;
}

/* 타임세일 */
.product-badge .type02 {  
  background:#DF6556;  
}
/* new */
.product-badge .type04 {  
  background:#6FB53D;  
}
/* 베스트 */
.product-badge .type06 {  
  background:#FF7425;
}

.product-number {
  display: flex;
  border-radius: 0.8rem 0 0.8rem 0;
  border: 0.5px solid rgba(0, 0, 0, 0.20);
  background: rgba(0, 0, 0, 0.80);
  width: 2.4rem;
  height: 2.4rem;
  flex-direction: column;
  justify-content: center;
  color:#fff;
  font-size:1.4rem;
  font-weight: 700;

  text-align: center;
  position: absolute;
  left:0;
  top: 0;
  z-index: 1;
}

.content.pd2 .nutrition-check {margin-top: 1.6rem;}

.swiperMall03 .product-image::before {content: '';position: absolute;width: 100%;height: 100%;background: #000;opacity: 0.05;}
.swiperMall03 .product-image { position: relative; background: #f0ede8;overflow: hidden; flex-shrink: 0; border-radius: 0.8rem;height: 15.2rem;}
.swiperMall03 .product-image img { width: 100%; height: 15.2rem; object-fit: cover;  border-radius: 0.8rem; }
.swiperMall03 .product-info { flex: 1; display: flex; flex-direction: column;  }
.swiperMall03 .product-title {font-size: 1.4rem; font-weight: 500; margin-bottom: 0.4rem; line-height: 1.3;color:#272727}
.swiperMall03 .product-desc { font-size: 1.2rem; color: #777; margin-bottom:0.3rem; overflow: hidden;    text-overflow: ellipsis;  display: -webkit-box;  -webkit-box-orient: vertical;  -webkit-line-clamp: 2;}

@media (min-width: 400px) {
   .swiperMall03 .product-image {height: 17.2rem;}
   .swiperMall03 .product-image img {height: 17.2rem;}
}


.swiperMall03 .product-price { font-size: 1.7rem; font-weight: 700; color: #333; margin-bottom: 6px; line-height: 1.3;}
.swiperMall03 .product-badge img {width: 3.9rem;}
.swiperMall03 .swiper-pagination { position: relative; margin-top: 20px; } /* Swiper Pagination */
.swiperMall03 .swiper-pagination-progressbar { background: rgba(0, 0, 0, 0.1); height: 3px; border-radius: 2px; }
.swiperMall03 .swiper-pagination-progressbar-fill { background: #00c73c; border-radius: 2px; }
.swiperMall03  { padding:0; overflow: hidden; position: relative; padding: 0 2rem;}
.swiperMall03 .slide-image { width: 100%; height: 100%; object-fit: cover; }

.swiperMall04 {position: relative;overflow: hidden; width: 100%;height:10.5rem;margin:0 auto;}
.swiperMall04 .swiper-slide {width: 100%;}
.section-login .login-inner .box.today-clip .txt3 {text-align: left;color:#272727}

.swiperMall04 .swiper-slide .slideBox {text-align: right;}
.swiperMall04 .swiper-slide .slideBox > div {display: flex; justify-content: end;}
.swiperMall04 .swiper-slide img {border:1px solid rgba(0, 0, 0, 0.04);width:5.6em; height: 5.6rem;  border-radius: 50%;object-fit: cover;}

.swiperMall04 .swiper-pagination-bullet {width: 0.6rem;height: 0.6rem}
.swiperMall04 .swiper-pagination-bullet-active {background: #777;}
.swiperMall04 .swiper-pagination-bullets.swiper-pagination-horizontal {bottom: 0.5rem;text-align: left;}

.swiperMall04 .swiper-pagination-bullet {background:#777;}
.today-clip .setting {position: absolute;top: 1.5rem;right:1.5rem;}
.section-login .infoWrap .box.today-clip {border-radius: 1.2rem;    background: rgba(255, 255, 255, 0.90);   backdrop-filter: blur(10px);    width: 100%;    margin-top: 0.8rem;    padding: 1.6rem;    box-sizing: border-box;;}

.section-login.type02 .box.today-clip .btnLink {color:#5B5B5B;background: url(../dm_images/more_btn.png) no-repeat right center;background-size: 1.2rem;}


.swiperMall07 { padding:0rem 2rem;overflow: hidden;position: relative;}
.swiperMall07 .slide-image { min-height:32rem; object-fit: cover; width: 100%;border-radius: 1.2rem;}

.swipertimeDeal { overflow: hidden;position: relative;}
.swipertimeDeal .slide-image { width: 100%; height: 100%; object-fit: cover; border-radius: 1.2rem;}
.swipertimeDeal .product-btns {position: relative;display: block;bottom: auto;right: auto;margin-top: 1.2rem;}

.allCate .ctgrMenu .menuico img {width:100%}

.dm-main-meal {background-color: var(--gray-color-50);padding-top:0 !important;}

.product-list.typeList {display: grid;grid-template-columns: repeat(2, 1fr);gap:2rem 1.7rem;}
.product-list.typeList .product-card {min-height: 26.6rem;}
.product-list.typeList .product-image {position: relative; width:100%; overflow: hidden;border-radius: 0.8rem;}
.product-list.typeList .product-image::before {content: '';position: absolute;width: 100%;height: 100%;background: #000;opacity: 0.05;}
.product-list.typeList .product-image img {width: 100%;  object-fit: cover;border-radius: 0.8rem;aspect-ratio: 1 / 1;}
.product-list.typeList .cart-btn {width: 2.8rem; height: 2.8rem;background: url(../dm_images/btn_group.png) no-repeat;background-size: 2.8rem;}
.product-list.typeList .product-info {padding:1.2rem 0 0;box-sizing: border-box;}
.product-list.typeList .product-title {font-size: 1.4rem; font-weight: 500; margin-bottom: 0.4rem; line-height: 1.4;color:#272727}
.product-list.typeList .product-subtitle {font-size: 1.2rem; font-weight:400;margin-bottom: 0.4rem; line-height: 1.4;color:#777}
.product-list.typeList .product-pricing {display: flex; flex-direction: column; gap: 3px;}
.product-list.typeList .price-row {display: flex; align-items: center; gap: 6px;}
.product-list.typeList .original-price {font-size: 1.2rem; color: #AAA; text-decoration: line-through}
.product-list.typeList .discount-rate {font-size: 14px; font-weight: 700; color: #FF6B35;}
.product-list.typeList .final-price {font-size: 17px; font-weight: 700; color: #333;}

.pageTotal {color:#383838;font-size:1.4rem;line-height: 1.2;font-weight: 600;}
.pageTotal span {font-weight: 700;color: #FF5900;}

.tabWrap.type01 {border-bottom: 1px solid #eee;border-top: 0.8rem solid #F9F9F9;}
.tabWrap.type01.bdn {border:0;}
.tabWrap.type01 > ul {display: flex;align-items: center;justify-content: space-around;}
.tabWrap.type01 > ul > li {flex: 1;text-align: center;}
.tabWrap.type01 > ul button {color:#383838;font-size:1.5rem;line-height: 1.2;font-weight:600;height: 4.6rem;width: 100%;}
.tabWrap.type01 > ul button.active {border-bottom: 0.3rem solid #212529;font-weight:700;}
.tabWrap.type01 > ul button.active span {font-weight: 700;}

.sheet-cont .tabWrap.type01 {border-top:0;}

.content-innder {padding:1.2rem 2rem 2rem;position: relative;}
.daterangepicker .cancelBtn, .daterangepicker .applyBtn {line-height: 1 !important;}

.dm-main-date {background: #fff;margin:0;padding:0 0 0 2rem;border-bottom: 1px solid #F3F3F3;box-sizing: border-box;height: 6.5rem;display: flex;align-items: center;}

.dm-main-personal {position: relative;margin-bottom:1rem;}  
.dm-main-personal .login-after .tit {line-height: 1.2;margin-left:0.8rem}
.dm-main-personal .login-after .tit b {font-weight: 700;font-size:2.4rem}
.dm-main-personal .login-after .txt {font-size: 1.4rem;    margin-top: 0.4rem;line-height: 1.4;margin-left:0.8rem}
.dm-main-personal .login-after .btn-goals {padding: 0.5rem 1rem; border-radius: 10rem;}
.dm-main-personal .login-after .btn-dart {margin-top: 1.6rem;       border-radius: 1.2rem;    background-color:#fff; border-radius: 10rem;padding: 0.5rem 1rem;}
.dm-main-personal .login-after .btn-dart span::before {content: "";position: absolute;    left: 0;    top: 50%;    transform: translateY(-50%);    width: 1.6rem;    height: 1.6rem;    background-image: url(../dm_images/challenge/ico_badge_day.png);    background-size: cover;}
.dm-main-personal .login-after .btn-dart span {    position: relative;    color:#39802B;    font-size: 1.3rem;    padding-left: 2rem;font-weight: 700;}
.dm-main-personal .login-after button {margin-left:0.8rem}
.dm-main-personal .login-after button + button {margin-left:0.4rem}

.dm-main-personal .login-after .btn-dart2 {margin-top: 1.6rem;       border-radius: 1.2rem;    background-color:#fff; border-radius: 10rem;padding: 0.5rem 1rem;}
.dm-main-personal .login-after .btn-dart2 span {    position: relative;    color:#39802B;    font-size: 1.3rem; font-weight: 700;}

.dm-main-personal:has(.login-after) {padding: 4rem 1.6rem 2.4rem;  border-radius: 0 0 2rem 2rem;min-height: 18.5rem;margin: 0 0 1rem;box-sizing: border-box;border:0}
.dm-main-personal:has(.login-after) .login-before {  display: none;}

.headerSticky {position: sticky !important;top:0;left:0;width: 100%;z-index: 7;    background: #fff}

.tip-txt::before {content: '';background: url(../dm_images/main/ico_info2.png) no-repeat;position: absolute;top: -0.75rem;right: 6rem;;width: 0.7rem;height:0.8rem;background-size: 0.7rem 0.8rem;}
.tip-txt {position: relative; border-radius: 0.6rem;background: rgba(57, 128, 43, 0.80);color:#fff;padding:0.3rem 1.2rem;position: absolute;top: 13rem;right:1.6rem;display: inline-block;;min-width: fit-content;white-space: nowrap;display: flex;align-items: center;gap: 0.3rem;}
.tip-txt .tip {color: #F7B70E;}
.tip-txt p {font-size:1.3rem;font-weight: 500;line-height: 1.4;}
.tip-txt .ico-tip img {width: 1.6rem;}

.toggle-switch { width: 40px; height: 22px; background: #ddd; border-radius: 11px; position: relative; cursor: pointer; }
.toggle-switch.active { background: #4CAF50; }
.toggle-knob { width: 18px; height: 18px; background: white; border-radius: 50%; position: absolute; top: 2px; left: 2px; transition: left 0.3s; }
.toggle-switch.active .toggle-knob { left: 20px; }

.todaySetting {background: #Fff;}
.todaySetting > li {height: 4.6rem;display: flex;align-items: center;justify-content: space-between;padding: 0 2rem;color:#383838;font-size:1.4rem}
.todaySetting > li + li{border-top:1px solid #F3F3F3}

.bottom-sheet-wrap .sheet-header.tc {justify-content: center;}
.bottom-sheet-wrap .radioCustomWrap {
  max-height: 41.6rem;
  overflow-y: auto;
}
.radioCustomWrap {
  display: flex;
  flex-direction: column;
}

.radioCustomWrap .radio-item {
  position: relative;
}

.radioCustomWrap .radio-item input[type="radio"] {
      position: absolute;
      opacity: 0;
      cursor: pointer;
    }

.radioCustomWrap .radio-label {
      display: flex;
      align-items: center;
      padding: 1.3rem 2rem;
      cursor: pointer;
      transition: all 0.2s ease;
      font-size: 1.4rem;
      color: #383838;
    }

.radioCustomWrap .radio-label:hover {
      border-color: #c0c0c0;
      background: #fafafa;
    }

.radioCustomWrap .radio-item input[type="radio"]:checked + .radio-label {
      border-color: #4CAF50;
      background: #f1f8f4;
    }

.radioCustomWrap .radio-custom {
      width: 20px;
      height: 20px;
      border: 2px solid #d0d0d0;
      border-radius: 50%;
      margin-right: 12px;
      position: relative;
      transition: all 0.2s ease;
      flex-shrink: 0;
    }

.radioCustomWrap .radio-item input[type="radio"]:checked + .radio-label .radio-custom {
      border-color: #6FB53D;
    }

.radioCustomWrap .radio-custom::after {
      content: '';
      position: absolute;
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: #4CAF50;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%) scale(0);
      transition: transform 0.2s ease;
    }

.radioCustomWrap .radio-item input[type="radio"]:checked + .radio-label .radio-custom::after {
      transform: translate(-50%, -50%) scale(1);
    }

.radioCustomWrap .radio-text {
      flex: 1;
    }

.radioCustomWrap .button-group {
      margin-top: 24px;
      display: flex;
      gap: 8px;
    }

.radioCustomWrap .btn {
      flex: 1;
      padding: 14px;
      border: none;
      border-radius: 10px;
      font-size: 15px;
      font-weight: 600;
      cursor: pointer;
      transition: all 0.2s ease;
    }


.dm-main-meal .nutrition-status-card {margin-top: 0;padding:2rem 0;position: relative;}

.dm-main-meal .meal-tab-wrap .titWrap .add-btn { width:2.4rem; height:2.4rem; background: url(../dm_images/add_button.png) no-repeat ; background-size:2.4rem auto;position: absolute;right:1.6rem;top: 0.8rem;}

.dm-main-meal .meal-tab-wrap .meal-card .checkbox-wrap { display: flex; align-items: center; height: 3.2rem;padding:0 1.2rem; background-color: #fff; border-radius: 10rem; cursor: pointer; border: 1px solid #EEEEEE;}
.dm-main-meal .meal-tab-wrap .meal-card .checkbox-wrap input[type="checkbox"] {background: url(../dm_images/checkbox01_off.png) no-repeat center / cover; width: 1.6rem; height:1.6rem; cursor: pointer; appearance: none; -webkit-appearance: none; position: relative; margin-right: 0.6rem; }
.dm-main-meal .meal-tab-wrap .meal-card .checkbox-wrap input[type="checkbox"]:checked {background: url(../dm_images/checkbox_on.png) no-repeat center / cover;width: 1.6rem; height:1.6rem;}
.dm-main-meal .meal-tab-wrap .meal-card .checkbox-wrap label { font-size: 1.3rem; color: var(--gray-color-600); cursor: pointer; user-select: none; display: flex;}
.dm-main-meal .meal-tab-wrap .meal-card .checkbox-wrap:has(input[type="checkbox"]:checked ) {  background: #ECEFCF; }

.dm-main-meal .toggle-more {
  position: absolute;
  left:0;
  bottom:-1.5rem;
  height: 4rem;
  background: #F9F9F9;
  width: 100%;
  display: block;
  text-align: center;
  border-radius:0 0 1.6rem 1.6rem;
  box-shadow: 0 0.4rem 2rem rgba(0, 0, 0, 0.05);
  border-top:0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.dm-main-meal .toggle-more > div {
  display: flex;
  align-items: center;
  justify-content: center; 
  height: 4rem;
}

.dm-main-meal .toggle-more .text {
  font-size:1.5rem;
  font-weight: 700;
  color:#777;
}
.dm-main-meal .toggle-more .arrow img {width: 1.2rem ;margin: 0 1rem;}
.meal-content-area .toggle-cont {display: none;} 
.dm-main-meal .dm-main-tit .txt-wrap .tit {font-size: 1.7rem;}
.btn-set-alarm {border:0;color:#777;}

.section-product.ai {background: url(../dm_images/mall_ai.png) no-repeat;position: relative;background-size:100% 80%}
.section-product.ai:after {content: '';width: 6.4rem;height: 3.7rem;background: url(../dm_images/text_ai.png) no-repeat center / contain; position: absolute;right:2.2rem;top: 1.8rem;}

.toggleText {
    position: relative;
    width: 6.8rem;
    height: 2.8rem;
    background: #6FB53D;
    border-radius: 25px;
    cursor: pointer;
    transition: background 0.3s;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

.toggleText.off {
    background: #bbb;
}

.toggle-text {
    position: absolute;
    top: 50%;
    left: 0.7rem;
    transform: translateY(-50%);
    color: white;
    font-weight: 500;
    font-size: 1.2rem;
    transition: opacity 0.2s;
}

.toggleText.off .toggle-text {
    left: auto;
    right: 0.7rem;
}

.toggle-circle {
    position: absolute;
    top: 0.4rem;
    right: 0.4rem;
    width: 2rem;
    height: 2rem;
    background: white;
    border-radius: 50%;
    transition: transform 0.3s;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

.toggleText.off .toggle-circle {
    transform: translateX(-4rem);
}

.divider {
    width: 200px;
    height: 2px;
    background: linear-gradient(to right, transparent, #4a90e2, transparent);
}
.tabWrapProduct.type01 .tab-content {
  padding:0;
}
.tabWrapProduct.type01 .tabs {padding:0.8rem 2rem}
/* Full popup */

.full-popup-wrap {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
  visibility: hidden;
  transition: visibility 0s 0.3s;
}
.full-popup-wrap.active {
  visibility: visible;
  transition: visibility 0s 0s;
}
.full-popup-wrap.active .dimmed {
  opacity: 1;
}
.full-popup-wrap.active .full-popup-container {
  opacity: 1;
  transform: scale(1);
}

.full-popup-container .headerWrap {
  position: fixed;
}
.full-popup-wrap .full-popup-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  opacity: 0;
  transform: scale(0.95);
  transition: opacity 0.3s ease, transform 0.3s ease;
  overflow-y: auto;
  box-sizing: border-box;
  padding-top: 5.2rem;
}
.full-popup-wrap .popup-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 2rem 0 1.6rem;
  position: sticky;
  top: 0;
  background-color: #fff;
  z-index: 10;
}
.full-popup-wrap .popup-header h2 {
  font-size: 2.3rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--gray-color-900);
  margin: 0;

}
.full-popup-wrap .popup-header .btn-close {
  width: 2rem;
  height: 2rem;
  background: url(../dm_images/ico_btn_close_top.png) no-repeat center/contain;
  cursor: pointer;
  flex-shrink: 0;
  margin-top: 0.5rem;
}
.full-popup-wrap .popup-content {
  padding-bottom: 2rem;
}

.health-btn {
  width: 3.2rem;
  height: 3.2rem;
  background: url(../dm_images/ico_alarm.png) no-repeat center;
  background-size: 1.6rem auto;
  border:1px solid #EEE;
  border-radius: 2rem;
}

.health-btn.active {
  width: 3.2rem;
  height: 3.2rem;
  background:#ECEFCF url(../dm_images/ico_alarm_on.png) no-repeat center;
  background-size: 1.6rem auto;
  border:1px solid #EEE;
  border-radius: 2rem;
}

*:not(select)::-webkit-scrollbar-thumb {display: none;}
*:not(select)::-webkit-scrollbar-track {display: none;}


.nutrition-regist {padding:1.6rem 2rem 3.2rem;}


.nutrition-check { display: flex; background-color: #f0f0f0; border-radius: 0.8rem; margin-top: 1.2rem;border: 1px solid #DDD;width: 100%;}
.nutrition-check.gap2 { gap: 0; }
.nutrition-check .inp-radio { display: inline-flex; align-items: center; cursor: pointer; position: relative; flex: 1; }
.nutrition-check .inp-radio input[type="radio"] { position: absolute; opacity: 0; cursor: pointer; }
.nutrition-check .inp-radio .t { display: block; width: 100%; background-color: transparent; color: #777; border-radius: 0.8rem; font-size: 1.4rem; font-weight: 500; user-select: none; text-align: center;height: 4rem;box-sizing: border-box;line-height: 4rem; }
.nutrition-check .inp-radio input[type="radio"]:checked + .t { background-color: #383838; color: white; outline: 1px solid #383838;}
.nutrition-check .inp-radio:hover .t { color: #333; }
.nutrition-check .inp-radio input[type="radio"]:checked:hover + .t { background-color: #383838; color: white; }

.nutrition-regist .nutrition-status-card {padding:0;margin:1.2rem 0 2.4rem;border:0;box-shadow: none;}

.nutritionList .top-txt { font-size: 1.8rem; font-weight: 700; margin-bottom: 1.6rem;color:#272727 ;display: flex;}
.nutritionList .top-txt .count { color: #6FB53D; margin-left:0.5rem}
.nutritionList .meal-card { background: white; border-radius: 1.2rem; padding:1.2rem 1.6rem; margin-bottom: 1.2rem; }

.nutritionList .meal-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.2rem; border-bottom: 1px solid #eee;padding-bottom: 1.2rem;}
.nutritionList .meal-tag { display: inline-block; padding: 0.4rem 0.8rem; border-radius: 0.4rem; font-size: 1.1rem; }
.nutritionList .meal-tag.type01 { background: #F3F3F3; color: #5B5B5B; }
.nutritionList .meal-tag.type02 { background: #ECEFCF; color: #529A34; }
.nutritionList .meal-time { color: #999; font-size: 1.2rem; margin-left: 0.8rem; }
.nutritionList .meal-image { width: 4rem; height: 4rem; border-radius: 0.8rem; object-fit: cover; background: #e0e0e0; overflow: hidden;}
.nutritionList .meal-image img {height: 4rem;}
.nutritionList .meal-content { }
.meal-content .meal-title { position: relative;}
.meal-content .meal-title .delete { position: absolute;top: 0.2rem;right: 0rem;}
.meal-content .meal-title .delete img {width: 1.6rem;}

#diaryNutritionRegistPhoto, #diaryNutritionRegistMealSearch, #diaryNutritionRegistStt {padding-top:0 !important}

#diaryNutritionRegistStt .dmContent {overflow-y: auto;    height: 100vh;    padding-bottom:9rem;}

.meal-content .meal-name { font-size: 1.6rem; line-height: 1.4;color:#383838 ;margin-bottom: 0.4rem;}

.mealSection .meal-name { font-size: 1.6rem; line-height: 1.4;color:#383838 ;margin-bottom: 0.4rem;position: relative;}
.meal-imgWrap {overflow-x: auto;display: flex;gap: 0.8rem;margin-bottom:2rem}
.meal-imgWrap .meal-image { width: 4rem; height: 4rem; border-radius: 0.8rem; object-fit: cover; background: #e0e0e0; overflow: hidden;flex-shrink: 0}
.meal-imgWrap .meal-image img {height: 4rem;}

.delete-btn {width: 2.4rem;height: 2.4rem; background: url(../dm_images/ico-button03.png) no-repeat center; background-size: 1.8rem auto;}

.mealSection + .mealSection{border-top: 1px solid #F3F3F3;padding-top: 1.6rem;margin-top: 1.6rem;}

.delete-btn2 {
  width:7rem;height: 2.8rem; 
  background:#fff url(../dm_images/ico-button03.png) no-repeat 10% center; 
  background-size: 1.2rem auto;
  border-radius: 0.6rem;
  border: 1px solid #EEE;
  text-align: left;
  box-sizing: border-box;
  padding-left:2rem;
  color:#777;
  font-size:1.2rem
}

.meal-kcal { background-color: #F9F9F9; border-radius: 1.2rem; padding: 0.8rem 0; margin-top: 1.2rem;}    
.meal-kcal ul { list-style: none; display: flex; justify-content: space-between; align-items: center; }
.meal-kcal li { flex: 1; text-align: center; }
.meal-kcal .tit { font-size: 1.2rem; color: #777; font-weight: 400;}
.meal-kcal .num { font-size: 1.3rem; color: #383838; font-weight: 700; }


.sheet-btn {
    height: 7.6rem;
    position: fixed;
    bottom: 0;
    width: 100%;
    background: #fff;
    z-index: 10;    
    background: linear-gradient(180deg, rgba(254, 255, 254, 0) 0%, rgba(255, 255, 255, 1) 18%, rgba(254, 255, 254, 1) 100%);
    background: #fff;
    box-shadow: 0 -1px 8px -2px rgba(16, 24, 40, 0.10);
}
 .sheet-btn button {display: block;width: 100%;}

.sheet-btn .btn-wrap {    display: flex;    align-items: center;    justify-content: center;    margin-top: 0;    flex-wrap: wrap;    padding: 1rem 2rem;}
.sheet-btn .btn-wrap .st1 {background: var(--primary-color);    color: #fff;}
.mealSection .meal-name p {width:90%}

.bottom-sheet-container .btn-wrap button {width:100%}

.mealWrap {margin: 2rem;padding-bottom: 6.5rem;}
.meal-num {color: #383838; font-size: 1.3rem; margin-bottom: 0.8rem;font-weight: 500;}
.meal-num em {color:#FF5900}
.meal-content {background: #fff;border-radius: 1.2rem;padding: 2rem;overflow-y: auto; max-height:65rem;}
.meal-photo {display: flex;width: 100%;overflow-x: auto;gap: 0.8rem;align-items: center;margin-bottom: 2.4rem;}
.meal-photo > li {width: 4.4rem;height: 4.4rem;border-radius: 0.8rem;background: #F3F3F3;overflow: hidden;}
.meal-photo > li > img {width:4.4rem;height: 4.4rem;}

.meal-calories-wrap {display: flex;align-items: center;justify-content: space-between;}
.meal-content .meal-info { display: flex; gap: 0.8rem; color: #777; font-size: 1.2rem; margin-bottom: 0.8rem; }
.meal-content .meal-info span {position: relative;}
.meal-content .meal-info span + span {margin-left: 0.2rem;}
.meal-content .meal-info span + span::before {content:'ㆍ';left: -1rem;top: 0.1rem;;position: absolute;display: block;color: #CCC;}
.meal-content .meal-calories { font-size: 1.6rem; font-weight: 700; margin-bottom: 0.8rem; }
.meal-content .nutrition-link { color: #333; font-size: 1.3rem; text-decoration: none; display: flex; justify-content: flex-end; align-items: center; margin-bottom: 1.2rem; }
.meal-content .nutrition-link::after {width: 1.2rem;height: 1.2rem; content: ''; background:url(../dm_images/common/ico_arrow_g.png) no-repeat; margin-left: 0.4rem; background-size: 1.2rem;}

.meal-controls { display: flex; gap: 0.8rem; margin-top: 1.6rem;}
.quantity-control { display: flex; align-items: center; background: #fff; border: 0.1rem solid #e0e0e0; border-radius: 0.6rem; padding: 0; width: 100%; justify-content: space-between;}
.quantity-control input {width: 100%;font-size: 1.4rem;    font-weight: 600;    text-align: center;}
.quantity-btn { border: none; cursor: pointer; border-radius: 0.6rem; }
.quantity-value { font-size: 1.4rem; font-weight: 600; min-width: 3rem; text-align: center; }
.unit-select {background: #fff url(../dm_images/common/ico_arrow_down.png) no-repeat 90%;background-size: 2rem auto; border: 0.1rem solid #e0e0e0; border-radius: 0.6rem; padding:0.8rem 0 0.8rem 1rem; font-size: 1.6rem;color:#777; width: 100%; appearance: none; cursor: pointer; text-align: left; }



.nutritionList .meal-status { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.2rem; }
.nutritionList .status-badge { background: #7cb342; color: white; padding: 0.4rem 1.2rem; border-radius: 1.2rem; font-size: 1.2rem; font-weight: 600; }
.nutritionList .status-toggle { position: relative; width: 4.4rem; height: 2.4rem; }
.nutritionList .status-toggle input { opacity: 0; width: 0; height: 0; }
.nutritionList .toggle-slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background: #ccc; border-radius: 2.4rem; transition: .3s; }
.nutritionList .toggle-slider::before { position: absolute; content: ""; height: 1.8rem; width: 1.8rem; left: 0.3rem; bottom: 0.3rem; background: white; border-radius: 50%; transition: .3s; }
.nutritionList .status-toggle input:checked + .toggle-slider { background: #7cb342; }
.nutritionList .status-toggle input:checked + .toggle-slider::before { transform: translateX(2rem); }
.nutritionList .status-label { color: #999; font-size: 1.2rem; }

.nutrition-status-card .titWrap {display: flex;align-items: center;justify-content: space-between;}
.nutrition-status-card .titWrap .ico-fire {background: url(../dm_images/ico_17.png) no-repeat center/contain;width: 2.4rem;height: 2.4rem;display: inline-block;}
.nutrition-status-card .tit {display: flex;align-items: center;font-size: 1.6rem;color:#383838;line-height: 1.3;font-weight: 700;}
.nutrition-status-card .titWrap .kcal {display: flex;align-items: center;font-size:1.4rem;line-height: 1.4;gap: 0.3rem;}
.nutrition-status-card .titWrap .kcal strong {font-size: 1.8rem;color:#383838;font-weight: 700;line-height: 1.4;}

.nutrition-regist .info {position: relative; display: flex;align-items: center;    justify-content: space-between; border-radius:1.2rem;border: 1px solid rgba(0, 0, 0, 0.10);background: rgba(56, 56, 56, 0.80) url(../dm_images/ico_mic.png) no-repeat 1rem 1.6rem;background-size: 1.6rem ;backdrop-filter: blur(10px);color:#fff;padding: 1.5rem 1.2rem 1.5rem 3.2rem;font-size: 1.4rem;height: 4.8rem;box-sizing: border-box;}
.nutrition-regist .info::before {content: '';width: 1.6rem;height: 1.6rem;position: absolute;top: 1.4rem;right: 1rem;background: url(../dm_images/more_btn2.png) no-repeat center/contain;}


.footer {background: #fff;box-shadow: 0 -1px 8px -2px rgba(16, 24, 40, 0.10);}

.quantity-btn.mimus {background: url(../dm_images/ico-button01.png) no-repeat center/contain;width: 4.4rem;height: 4.4rem;}
.quantity-btn.plus {background: url(../dm_images/ico-button02.png) no-repeat center/contain;width: 4.4rem;height: 4.4rem;}


.filterWrap .btnWrap {background: #fff;padding-right:0.9rem;}
.filterWrap {display: flex;padding:1.6rem 0rem 0.8rem 2rem;}
.filterWrap .filterBtn {position: relative; height: 3.2rem;border: 1px solid #ddd;border-radius:0.8rem;display:flex; align-items: center;justify-content: center;width:3.2rem;font-size: 1.3rem;font-weight: 700;}
.filterWrap .ico-filter {width: 1.6rem;height: 1.6rem; background: url(../dm_images/ico-filter.png) no-repeat center /contain;display: inline-block;}
.filterWrap .filterBtn.active {border:1px solid #383838;}
.filterWrap .filterBtn.active .new {width: .4rem;height: .4rem;color:#fff;text-align: center;border-radius: 50%;background: #FF5900;font-size: 0.9rem;line-height: 1.4rem;position: absolute;top: 0.4rem;    right: 0.4rem;}
.banner-product img {width: 100%;}
.meal-list:before {display: none;}

.sheet-bottom {height: 9.2rem;width: 100%;box-sizing: border-box;}

.bottomFilter .tab-content ul { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.bottomFilter .tab-content ul li button { height: 3.2rem;line-height: 3rem;padding:0 1.2rem; border: 1px solid #eee; border-radius: 2rem; background: white; color: #272727; font-size: 1.4rem; cursor: pointer; white-space: nowrap; }
.bottomFilter .tab-content ul li button.active { background: #2d2d2d; color: white; border-color: #2d2d2d; }
.bottomFilter .tab-content ul li button:hover { border-color: #999; }

.bottomFilter .userInput { padding:1.2rem 2rem; background: #F3F3F3; height: 5.6rem; position: relative;    display: block;    overflow-x: auto;    overflow-y: hidden;width: 100%;box-sizing: border-box;}
.bottomFilter .userInput ul { display: flex;    gap: 0.4rem;    flex-wrap: nowrap;    position: relative;}
.bottomFilter .userInput ul li button { position: relative; height: 3.2rem;padding:0 1.2rem;line-height: 3rem; background: #fff; border: 1px solid #EEE; border-radius: 1.6rem; font-size: 1.3rem; color: #272727; cursor: pointer; }
.bottomFilter .userInput ul li button::after { content: '×'; font-size: 1.8rem; color: #AAA; margin-left:0.5rem}

.bottomFilter .userInput ul li {display: inline-block;    white-space: nowrap;}
.bottomFilter .sheet-bottom { display: flex; gap: 1rem; padding: 1.6rem 2rem; border-top: 1px solid #f0f0f0; background: white; }
.bottomFilter .sheet-bottom button {height: 5.2rem; flex: 1;border: none; border-radius: 0.8rem; font-size: 1.6rem; font-weight: 600; cursor: pointer;  }
.bottomFilter .sheet-bottom .typeGray { background: #f5f5f5; color: #666; }
.bottomFilter .sheet-bottom .typeGreen { background: #7cb342; color: white; }
.bottomFilter .sheet-bottom .typeGray:active { background: #e8e8e8; }
.bottomFilter .sheet-bottom .typeGreen:active { background: #689f38; }

.bottomFilter .subcategory ul li button.active { background: #2d2d2d; color: white; border-color: #2d2d2d; }

.bottomFilter .tab-content {padding: 2rem;overflow-y: auto;min-height:15rem;max-height: 30rem;}
.bottomFilter .tab-content section + section {padding-top:2.4rem;margin-top:2.4rem;border-top: 1px solid #F3F3F3;}
.bottomFilter .sheet-bottom button.sm { max-width: 10.9rem; }
.bottomFilter .tit {color:#777;font-size: 1.3rem;font-weight: 700;margin-bottom: 1rem;}

.bottomFilter .updated span {position: relative;}
.bottomFilter .updated span::before {content: ''; position: absolute;width: 0.4rem;height: 0.4rem;border-radius: 50%;background: #FF7425;top:0;right:-0.5rem;}

.listTop {
  display: flex;
  align-items:center;
  justify-content: space-between;
}

.community-swiper .img > img {
    width: 100%;
    height: 100%;
    position: relative;
}

.post-body .community-swiper .swiper-pagination {
    margin-top: 0;
}

.topFilter .userInput { padding:0.2rem 1.6rem 0.8rem 0; height: 3.6rem; position: relative; display: flex; align-items: center; width: 100%; box-sizing: border-box; border-bottom: 1px solid #EFEFEF;}
.topFilter .userInput .scroll-area { flex: 1; overflow-x: auto; overflow-y: hidden; position: relative; padding-left: 2rem;}
.topFilter .userInput ul { gap: 1.6rem; flex-wrap: nowrap; position: relative; display: flex; width: max-content;}
.topFilter .userInput ul li {flex-shrink: 0;}
.topFilter .userInput ul li button { position: relative; height: 3.6rem; line-height: 3.6rem; font-size: 1.4rem; color: #5B5B5B; cursor: pointer;}
.topFilter .userInput ul li button::after { content: '×'; font-size: 1.8rem; color: #AAA; margin-left:0.5rem}

.topFilter .reset {position: relative; color:#777; font-size:1.3rem; text-decoration: underline; background:#F9F9F9; width: 2.8rem; height: 2.8rem; flex-shrink: 0; background:url(../dm_images/btn_list_reset.png) no-repeat;background-size: 100%;}
.topFilter .reset::before {content: '';    position: absolute;    top: 0;    left: -1.8rem;    bottom: 0;    width: 1.8rem;    background: linear-gradient(90deg, transparent 0%, #F9F9F9 100%);    pointer-events: none;    z-index: 1;text-indent: -9999px;}

.userInput {
  overflow-x: auto;
  overflow-y: hidden;
  -ms-overflow-style: none;  
  scrollbar-width: none; 
}
.userInput::-webkit-scrollbar {
  display: none;  
}
.tabs {
  overflow-x: auto;
  overflow-y: hidden;
  -ms-overflow-style: none;  
  scrollbar-width: none; 
}

.tabs::-webkit-scrollbar {
  display: none;  
}

.scroll-area{
  overflow-x: auto;
  overflow-y: hidden;
  -ms-overflow-style: none;  
  scrollbar-width: none; 
}

.scroll-area::-webkit-scrollbar {
  display: none;  
}



.filterSort {position: relative;    display: flex;    align-items: center;    gap: 0.5rem;    cursor: pointer;    font-size: 1.3rem;      margin-left: 1rem;    padding-left: 1rem;color:#383838;}
.filterSort .ico-arrow {width: 1.2rem;height: 1.2rem;background: url(../dm_images/arrow2.png) no-repeat center/contain;}
.listTop .dropdown { position: absolute; top: 100%; right: 0; margin-top:0.5rem; background: white; border: 1px solid #ddd; border-radius: 8px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); display: none; z-index: 100; min-width: 10rem; }
.listTop .dropdown.active { display: block; }
.listTop .dropdown-item { padding: 1.2rem 1.6rem; cursor: pointer; font-size: 1.4rem; border-bottom: 1px solid #f0f0f0; }
.listTop .dropdown-item:last-child { border-bottom: none; }

.noDataWrap {display: flex;  flex-wrap: wrap;  flex-direction: column;  padding: 4.8rem 0;  align-items: center;  gap: 1.2rem;}
.noDataWrap i img {width: 5.6rem;}
.noDataWrap.food i img {width: 8rem;}
.noDataWrap p {font-size: 16px;color:#777;font-weight: 500;text-align: center}
.noDataWrap p.st {font-size: 14px;color:#AAA;font-weight: 400;line-height: 1.4;text-align: center;}

.noDataWrap .reset {border: 1px solid #ddd;border-radius: 0.6rem;padding: 0.8rem 1.2rem;display: flex;align-items: center;justify-content: center;color:#5B5B5B;font-size:1.4rem;gap: 0.5rem;font-weight: 700;}
.noDataWrap .reset .ico-reset {width: 1.6rem;height: 1.6rem;background: url(../dm_images/refresh.png) no-repeat center/contain;display: inline-block;}

.noDataWrap .reset.green {border: 1px solid #6FB53D;color:#6FB53D;}


.dm-wrap2 [class*=btn-type].st1 {background: var(--primary-color);    color: #fff;}
.dm-wrap2 [class*=btn-type].st5 {border: 0.1rem solid #EEE;    color: #CCC;    background: #EEE;}

.noDataWrap a {text-decoration: underline;}

.stt-inner .foodFindList {border-top: 1px solid #F3F3F3;margin-top: 1.2rem;}
.stt-inner .content-innder {
  min-height: auto;
  padding-bottom: 6rem;
  max-height: calc(100vh - 35rem);
  overflow-y: auto;
  overflow-x: hidden;
  flex-shrink: 1;
  width: 100%;
}

  
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }    
input[type="number"] { -moz-appearance: textfield; }



.timeSelectWrap {display: flex;align-items: center;justify-content: space-between;gap: 0.8rem;}
.timeSelectWrap .txt {font-size:1.2rem;color: #6FB53D;}
.mealCheckBox button {margin-right:0.8rem; width: 10.9rem;height: 5rem;border:1px solid #6FB53D;border-radius: 0.6rem;line-height: 5rem;box-sizing: border-box;padding:0 1.6rem;font-size:1.6rem;color:#6FB53D;background: url(../dm_images/common/ico_arrow_down_green.png) no-repeat 90%/contain;background-size: 2rem auto;text-align: left;}

.mealCheck-swiper {
  width: 100%;
  overflow: hidden;
  padding:2rem 2rem 2rem 2rem;
  position: relative;
}
.mealCheck-swiper .balance-item {
  padding:0 0 0.6rem 0;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
  border-radius: 1.2rem;
}
.mealCheck-swiper .balance-img {
  position: relative;
  width: 100%;
  flex-shrink: 0;
  border-radius: 1.2rem;
  overflow: hidden;
  margin: 0 auto;
}
.mealCheck-swiper .balance-img img {
  width: 100%;

     object-fit: cover;
}

.mealCheck-swiper .swiper-pagination {
  position: relative;
  bottom: auto !important;
}
.mealCheck-swiper .swiper-pagination-bullet {
  width: 0.6rem;
  height: 0.6rem;
  background: #272727;
  /* background: var(--gray-color-900); */
  border-radius: 0.3rem;
  opacity: 0.4;
  margin: 0 4px !important;
  transition: all 0.3s;
}
.mealCheck-swiper .swiper-pagination-bullet-active {
  width: 2.4rem;
  opacity: 1;
}

.mealCheck-swiper .tools .delete {position: absolute;  top: 0.8rem;  right: 0.8rem;}
.mealCheck-swiper .tools .add {position: absolute;  bottom: 0.5rem;  right: 0rem;}
.mealCheck-swiper .tools .zoom {position: absolute;  bottom: 1.2rem;  left: 0.8rem;}

.mealCheck-swiper .tools .zoom img {width: 3.2rem;}
.mealCheck-swiper .tools .delete img{width: 3.2rem;}
.mealCheck-swiper .tools .add img{width: 6.4rem;}
.mealCheck-swiper .tools .scan {position: absolute;left:0;top:0rem; border-radius: 0.8rem 0 0.8rem 0;background: rgba(0, 0, 0, 0.70) url(../dm_images/scan_img.png) no-repeat 0.4rem center;background-size:1.6rem;padding:0.4rem 0.8rem 0.4rem 2.2rem;color:#A3E6FF;font-size: 1.2rem;font-weight: 500;}

.stt-inner { padding:4rem 2rem; display: flex;flex-direction: column;justify-content: center;align-items: center;}
.stt-inner .greeting { font-size: 2rem; font-weight: 400; color: #272727;}
.stt-inner .title { font-size: 2rem; font-weight:400; color: #272727; text-align: center;}
.stt-inner .title strong {font-weight: 600;}
.stt-inner .txt {font-size: 1.4rem; font-weight: 400; color: #5B5B5B; text-align: center;margin-top: 0.5rem;}
.stt-inner .cont { padding:2rem 1.2rem; text-align: center; width: 100%;}
.stt-inner .instruction { font-size: 1.8rem; color: #6FB53D; font-weight: 600;}
.stt-inner .instruction2 { font-size: 1.4rem; color: #5B5B5B; font-weight: 400;margin-top: 0.4rem;}
.stt-inner .desc { font-size: 1.2rem; color: #5B5B5B; font-weight: 400;margin-top:0.4rem;}
.stt-inner .recording { font-size: 1.8rem; color: #272727; font-weight: 600;margin: 1.6rem 0 3.2rem;}

.stt-delivery {margin-top: 4rem;}
.stt-delivery .deliveryContainer { margin: 0 auto; }    
.stt-delivery .deliveryList { display: flex; flex-direction: column; gap: 1.2rem; }    
.stt-delivery .deliveryItem { background: white; border: 0.1rem solid #e0e0e0; border-radius: 1.2rem; padding: 1rem 1.6rem; font-size: 1.6rem; color: #777; font-weight: 500; cursor: pointer;  }    
.stt-delivery .deliveryItem.active { border: 0.2rem solid #6FB53D; color: #52c41a; background-color: #FAFAF0; }

.inputBox {padding:2.3rem 2rem 3.2rem;border-top: 0.8rem solid #F9F9F9;}
.inputWrapFlex {display: flex;gap: 0.3rem;align-items: center;justify-content: space-between;}
.inputBox p { font-size: 1.3rem; color: #777; margin-bottom: 0.6rem; }
.inputBox p::after { content: '*'; color: #ff6b6b; margin-left: 0.2rem; }
.inputWrapFlex .input-row { display: flex; background-color: white; overflow: hidden; }
.inputWrapFlex .custom-input { flex: 1;  height: 4.4rem; }
.inputWrapFlex .selWrap { flex:1; }
.inputWrapFlex .selWrap select {width: 100%;}

/* .stt-inner .exampleBox {margin-top:1.6rem;display: flex;flex-direction: column;gap: 0.8rem;} */
.stt-inner .example { font-size: 1.3rem; color:#383838; line-height: 1.4;padding: 0.8rem 1.6rem;background: #f9f9f9; border-radius: 3.2rem;margin: 0 auto;}
.stt-inner .notice { background-color: #FFF9E6; border-radius: 0.8rem; padding: 1.6rem; display: flex; gap: 0.8rem; align-items: flex-start; margin-top: 3rem; }
.stt-inner .notice-icon { width: 1.6rem; height: 1.6rem; flex-shrink: 0; margin-top: 0.2rem; }
.stt-inner .notice-text { font-size: 1.2rem; color: #666; text-align: left; margin: 0; line-height: 1.6; }
.stt-inner .notice .info {width: 1.6rem;}

/* .foodFindList { border-top: 1px solid #eee;} */
.foodFindList li { background-color: #fff; padding: 1.6rem 0; border-bottom: 1px solid #eee; display: flex; justify-content: space-between; align-items: start; }
.foodFindList li:last-child {border-bottom: 0;}
.foodFindList .food-content { display: flex; align-items: flex-start; gap: 1.2rem; flex: 1; }

.foodFindList .checkbox-wrap input[type="checkbox"] {background: url(../dm_images/checkbox_off.png) no-repeat center / cover;    width: 2.4rem;    height: 2.4rem;    cursor: pointer;    appearance: none;    -webkit-appearance: none;    position: relative; }
.foodFindList .checkbox-wrap input[type="checkbox"]:checked {background: url(../dm_images/checkbox_on.png) no-repeat center / cover;     width: 2.4rem;    height: 2.4rem;}
.foodFindList .checkbox-wrap input[type="checkbox"]:disabled {background: url(../dm_images/checkbox_on.png) no-repeat center / cover;    width: 2.4rem;    height: 2.4rem;    opacity: 0.5;    cursor: not-allowed; }
.foodFindList .checkbox-wrap input[type="checkbox"][data-readonly="true"] {background: url(../dm_images/checkbox_on.png) no-repeat center / cover;    width: 2.4rem;    height: 2.4rem;    opacity: 0.5;    cursor: not-allowed;    pointer-events: all !important; }
.foodFindList li.is-readonly .checkbox-wrap { cursor: not-allowed; }

.foodFindList .star-wrap input[type="checkbox"] {background: url(../dm_images/star_off.png) no-repeat center / cover;    width: 2.4rem;    height: 2.4rem;    cursor: pointer;    appearance: none;    -webkit-appearance: none;    position: relative; }
.foodFindList .star-wrap input[type="checkbox"]:checked {background: url(../dm_images/star_on.png) no-repeat center / cover;     width: 2.4rem;    height: 2.4rem;}

.foodFindList .food-info { flex: 1; cursor: pointer; }
.foodFindList .food-title { font-size: 1.6rem; font-weight: 600; color: #272727; margin-bottom: 0.6rem; text-align: left;padding-top: 0.2rem;display: flex;}
.foodFindList .food-detail { font-size: 1.2rem; color: #777; margin-bottom: 0.8rem; display: flex; align-items: center; gap: 0.6rem; }
.foodFindList .food-detail span { display: inline-block; }
.foodFindList .food-detail span:not(:last-child)::after { content: '·'; margin-left: 0.6rem; color: #777; }
.foodFindList .food-calorie { font-size: 1.4rem; font-weight: 600; color: #383838; display: flex;align-items: center;gap: 0.3rem;}
.foodFindList .food-calorie:after {display:inline-block;content: '';width: 1.6rem;height: 1.6rem;background: url(../dm_images/Info.png) no-repeat;background-size: 1.6rem auto;;}
.foodFindList .food-title .my {background: #F5F5E2;padding: .2rem .4rem;color:#6FB53D;font-size: 1.1rem;border-radius: 0.4rem;margin: 0 1rem;flex-shrink: 0;    height: 2rem;}

.foodFindList .star-wrap { padding-top: 0.3rem; }
.foodFindList .starbox { appearance: none; width: 2.4rem; height: 2.4rem; cursor: pointer; position: relative; }

.btn-wrap {margin: 0;}
.more-btn { width: 100%; padding: 1.8rem; background-color: #fff; border: 1px solid #eee; font-size: 1.5rem; color: #666; cursor: pointer; font-weight: 500; }



.noResult {height: 4.8rem;background: #F3F3F3;display: flex;padding:0 2rem;align-items: center;justify-content: space-between;}
.noResult p {font-size: 1.3rem;color:#383838;}
.noResult button {color:#6FB53D;border: 1px solid #6FB53D;padding:0.6rem 0.8rem;background: #fff;font-size:1.2rem;border-radius: 0.8rem;font-weight: 600;}
.header {z-index: 3;}

.mealNutrition .nutrition-section { background-color: #fff; border-radius: 1.2rem;}
.mealNutrition .nutrition-section .calories { font-size: 2rem; font-weight: 700; padding: 1.2rem 1.6rem; border-bottom: 1px solid #F3F3F3;}
.mealNutrition .nutrition-section .calories span { font-size: 1.4rem; font-weight: 400; margin-left: 0.4rem; }

.mealNutrition .nutrition-section .nutrition-item { display: flex; justify-content: space-between; align-items: center; padding: 1.2rem 0;}
.mealNutrition .nutrition-section .nutrition-item:last-child { border-bottom: none; }
.mealNutrition .nutrition-section .nutrition-item .nutrition-label { font-size: 1.4rem; color: #333; display: flex; align-items: center; gap: 0.4rem; }
.mealNutrition .nutrition-section .nutrition-item .nutrition-label img { width: 1.6rem; height: 1.6rem; }
.mealNutrition .nutrition-section .nutrition-item .nutrition-value { font-size: 1.5rem; font-weight: 500; color: #333; }
.mealNutrition .nutrition-section .cont {padding: 0 1.6rem 1.2rem;}
.mealNutrition .nutrition-section .nutrition-item.nutrition-sub  > div {color:#777 }

.mealNutrition .edit-link { display: flex; align-items: center; justify-content: center; gap: 0.4rem; padding:0.9rem; color: #777; text-decoration: none; font-size: 1.2rem; }

.mealNutrition .food-info { display: flex; align-items: center; gap: 1.6rem; }
.mealNutrition .food-info .img {overflow: hidden;border-radius:0.8rem;}
.mealNutrition .food-info .img img {width: 6.4rem;height: 6.4rem;}
.mealNutrition .food-info .food-image { width: 8rem; height: 8rem; border-radius: 0.8rem; object-fit: cover; }
.mealNutrition .food-info .food-details h2 { font-size: 1.6rem; font-weight: 600; margin-bottom: 0.4rem; }
.mealNutrition .food-info .food-details p { font-size: 1.4rem; color: #666; }
.mealNutrition .infoWrap {background: #fff;padding: 2rem;}
.mealNutrition .infoWrap2 {background: #F3F3F3;padding: 2rem;}
.mealNutrition .infoWrap2 .txt {text-align: center;color:#383838;font-size: 1.4rem;margin-top: 1.6rem;font-weight: 700;}
.icon-star {display: flex !important;align-items: center;margin:0 0.5rem;}
.icon-star img {width: 2rem;}
.mealNutrition .nutrition-section.mealNutritionInput .cont {padding: 0 1.6rem 0; }
.mealNutrition .nutrition-section.mealNutritionInput .nutrition-item { display: flex; align-items: center; justify-content: space-between; border-top: 1px solid #EEE;padding:2rem 0}
.mealNutrition .nutrition-section.mealNutritionInput .nutrition-item.nutrition-sub {border-top: 0;padding-top: 0;} 
.mealNutritionInput .nutrition-label { font-size: 1.4rem; color: #333; display: flex; align-items: center; gap: 0.4rem; }
.mealNutritionInput .nutrition-label img { width: 1rem; height: 1rem; }
.mealNutritionInput .input-wrapper {display: flex;    justify-content: space-between;    align-items: center;width:45%;  height: 4.8rem;  border: 1px solid var(--gray-color-200);  border-radius: 0.8rem;  padding: 0 1.6rem;  font-size: 1.4rem;  color: var(--gray-color-900);  border-radius: 0.8rem;    outline: none;  transition: border-color 0.2s, background-color 0.2s;  box-sizing: border-box; }
.mealNutritionInput .input-wrapper input { flex: 1; border: none; outline: none; text-align: right; font-size: 1.4rem; color: #333; min-width: 0; }
.mealNutritionInput .input-wrapper input::placeholder { color: #ccc; }
.mealNutritionInput .unit { margin-left: 0.8rem; font-size: 1.4rem; color: #666; white-space: nowrap; }
.mealNutrition .notice { margin-top: 2rem; font-size: 1.2rem; color: #666; line-height: 1.5; }
.mealNutrition .notice::before { content: '• '; }


.file-attach-area .file-item.type02 {width: 16.4rem;height: 16.4rem;;}

.container.bgGray {background: #F3F3F3;}

.input-date {  border-radius:6px;border: 1px solid #EEE;background: #F9F9F9;}

a, img, span, b, input, select, em, textarea, label, strong {vertical-align: baseline;}
.mealNutritionList .mealPlanContainer { background: #F3F3F3;padding: 2.4rem 2rem;}
.mealNutritionList .planHeader { display: flex; justify-content: space-between; align-items: center; margin-bottom: 2rem; }
.mealNutritionList .title { font-size: 1.8rem; font-weight: 700; color: #272727; }
.mealNutritionList .count { font-size: 1.8rem; font-weight: 400; color: #6FB53D; }
.mealNutritionList .editBtn { background: none; border: none; color: #666; font-size: 1.4rem; cursor: pointer; }

.mealNutritionList .mealTimeSection { margin-bottom: 1.6rem; background: white; border-radius: 1.2rem; padding:0.4rem 1.6rem 1.6rem; box-shadow: 0 0.1rem 0.3rem rgba(0,0,0,0.05); }
.mealNutritionList .timeHeader { display: flex; align-items: center; gap: 0.6rem; margin-bottom: 0.8rem; }
.mealNutritionList .timeIcon img {width: 1.6rem; }
.mealNutritionList .timeText { font-size: 1.3rem; font-weight: 600; color: #6FB53D; }

.mealNutritionList .mealCard { display: flex; gap: 1.2rem; padding-top:1.2rem; position: relative; }
.mealNutritionList .mealCard:not(:last-child) .mealContent { border-bottom: 0.1rem solid #f3f3f3; padding-bottom: 1.6rem; }

.mealNutritionList .mealCard.standalone { background: white; border-radius: 1.2rem; padding: 1.6rem; margin-bottom: 1.6rem; box-shadow: 0 0.1rem 0.3rem rgba(0,0,0,0.05); }
.mealNutritionList .mealCard.standalone .mealContent { border-bottom: none; padding-bottom: 0; }
.mealNutritionList .mealCard.withTag { background: white; border-radius: 1.2rem; padding: 1.6rem; margin-bottom: 1.2rem; box-shadow: 0 0.1rem 0.3rem rgba(0,0,0,0.05); }
.mealNutritionList .mealCard.withTag .mealContent { border-bottom: none; padding-bottom: 0; }

.mealNutritionList .deliveryTag { background-color: #F5F5E2; color: #6FB53D; font-size: 1.1rem; font-weight: 600; padding: 0.3rem 0; border-radius: 0.4rem; display: inline-block; margin-bottom: 0.4rem;width: 5rem; text-align: center;}

.mealNutritionList .mealImageWrapper { width: 4.4rem; height: 4.4rem; flex-shrink: 0; }
.mealNutritionList .mealImage { width: 4.4rem; height: 4.4rem; border-radius: 0.8rem; object-fit: cover; }

.mealNutritionList .mealContent { flex: 1; display: flex; flex-direction: column; justify-content: space-between; min-width: 0; position: relative;}

.mealNutritionList .mealTitle { font-size: 1.4rem; font-weight: 500; color: #383838; line-height: 1.4; margin-bottom: 0.4rem;}
.mealNutritionList .mealTitle .arrow {width: 1.2rem;height: 1.2rem;background: url(../dm_images/ico_arrow.png) no-repeat center / cover;display: inline-block;vertical-align: -0.1rem; }
.mealNutritionList .mealBottom { display: flex; justify-content: space-between; align-items: center; }

.mealNutritionList .mealCalories { font-size: 1.3rem; color: #6FB53D; font-weight: 400; display: flex; align-items: center; gap: 0.4rem; }
.mealNutritionList .mealCalories.gray {color:#777}
.mealNutritionList .infoIcon { width: 1.6rem;height: 1.6rem;background: url(../dm_images/Info.png) no-repeat center / cover;display: inline-block; }

.mealNutritionList .deleteBtn { position: absolute;width: 1.6rem;height: 1.6rem;background: url(../dm_images/ico-button03.png) no-repeat center / cover;top: 0rem;right: 0;}

.black-and-white {
  filter: grayscale(100%);
}


.mealNutritionList .checkbox-wrap { display: flex; align-items: center; height: 3.2rem;padding:0 1.2rem; background-color: #fff; border-radius: 1.4rem; cursor: pointer; border: 1px solid #EEEEEE;}
.mealNutritionList .checkbox-wrap input[type="checkbox"] {background: url(../dm_images/checkbox01_off.png) no-repeat center / cover; width: 1.6rem; height:1.6rem; cursor: pointer; appearance: none; -webkit-appearance: none; position: relative; margin-right: 0.6rem; }
.mealNutritionList .checkbox-wrap input[type="checkbox"]:checked {background: url(../dm_images/checkbox_on.png) no-repeat center / cover;width: 1.6rem; height:1.6rem;color: #39802B;}
.mealNutritionList .checkbox-wrap label { font-size: 1.3rem; color:#5B5B5B; cursor: pointer; user-select: none; display: flex;font-weight: 500;}

.mealNutritionList .checkbox-wrap:has(input[type="checkbox"]:checked ) {  background: #ECEFCF; }
.mealNutritionList .checkbox-wrap:has(input[type="checkbox"]:checked ) label {  color: #39802B;}


.floating-btn-wrap.type-mic {bottom: 8.8rem;}
.floating-btn-wrap.type-mic .btn-write {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 4.4rem;
  padding: 0 1.6rem 0 1.2rem;
  background: linear-gradient(159deg, #B4DC82 -10.43%, #8CD259 111.71%);
  border-radius: 2.4rem;
  border: none;
  box-shadow: 0 0.4rem 1.2rem rgba(255, 116, 37, 0.3);
  overflow: hidden;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
  cursor: pointer;
}
.floating-btn-wrap .btn-write .ico-mic {
  width: 2rem;
  height: 2rem;
  background: url("../dm_images/ico-mic.png") no-repeat center/contain;
  transition: margin 0.5s ease;
}
.floating-btn-wrap.type-mic .btn-write .txt {
  font-size: 1.8rem;
  font-weight: 600;
  color: #fff;
  white-space: nowrap;

  opacity: 1;
  max-width: 10rem;
  transition: all 0.5s ease;
  margin-left: 0.5rem;
}
.floating-btn-wrap.scrolled .btn-write {
  width: 4.4rem;
  padding: 0;
  border-radius: 50%;
}
.floating-btn-wrap.scrolled .btn-write .txt {
  max-width: 0;
  opacity: 0;
  margin: 0;
  transition: none;
}

.searchWrap {padding: 2rem;}
.searchBox { flex: 1; position: relative; }
.searchBox input { width: 100%; padding: 1rem 4rem 1rem 1.4rem; border: 1px solid #777; border-radius: 0.8rem; font-size: 1.4rem;  }
.searchBox input:focus { outline: none; border:2px solid #6FB53D; background-color: #f5fff0;box-shadow: 0 1px 3px 0 rgba(16, 24, 40, 0.10), 0 1px 2px 0 rgba(16, 24, 40, 0.06); }

.searchWrap .txt {font-size: 1.2rem;color:#777;margin-top: 0.8rem;display: none;}
.searchWrap .txt .green {color:#6FB53D;margin-right: 0.5rem;font-weight: 600;}
.searchWrap .txt2 {font-size: 1.2rem;color:#777;margin-top: 0.8rem;}
.searchWrap .txt2 .green {color:#6FB53D;margin-right: 0.5rem;font-weight: 600;}

.searchBox .iconWrap { position: absolute; right: 1rem; top: 50%; transform: translateY(-50%); display: flex; gap: 0.2rem; }
.searchBox .iconWrap button { background: none; border: none; padding: 0.4rem; cursor: pointer; color: #999; }
.searchBox .iconWrap .clearBtn { display: none; }
.searchBox .iconWrap .clearBtn img {width: 2rem;}
.searchBox .iconWrap .clearBtn.show { display: block; }

.input-date.typeBtn {border: 0;background: none;}
.input-date.typeBtn input {width: 5rem;font-size: 0;}
.input-date.typeBtn input {background: url(../dm_images/ico_cal.png) no-repeat center / contain;    background-size: auto 2rem;}
.header .right {position: absolute;right: 0;top: 0;}

.foodSearchWrap { background-color: #fff;margin: 0 auto; width: 100%;}
/* .foodSearchWrap .header { display: flex; align-items: center; padding: 0 1.6rem 0 4.8rem; background-color: #fff; position: relative;height: 5.2rem;border-bottom: 0;} */
.foodSearchWrap .header .backBtn { background: none; border: none; padding: 0; margin-right: 1rem; cursor: pointer; }
.foodSearchWrap .header .searchBox { flex: 1; position: relative; }
.foodSearchWrap .header .searchBox input { width: 100%; padding: 1rem 4rem 1rem 1.4rem; border: 1px solid #777777; border-radius: 0.8rem; font-size: 1.4rem; }
.foodSearchWrap .header .searchBox input:focus {outline: none; border:2px solid #6FB53D; background-color: #f5fff0;box-shadow: 0 1px 3px 0 rgba(16, 24, 40, 0.10), 0 1px 2px 0 rgba(16, 24, 40, 0.06); }
.foodSearchWrap .header .searchBox .iconWrap { position: absolute; right: 1rem; top: 50%; transform: translateY(-50%); display: flex; gap: 0.2rem; }
.foodSearchWrap .header .searchBox .iconWrap button { background: none; border: none; padding: 0.4rem; cursor: pointer; color: #999; }
.foodSearchWrap .header .searchBox .iconWrap .clearBtn { display: none; }
.foodSearchWrap .header .searchBox .iconWrap .clearBtn img {width: 2rem;}
.foodSearchWrap .header .searchBox .iconWrap .clearBtn.show { display: block; }

.foodSearchWrap .pd2 {
  padding:1.6rem 2rem;
}

.pd2 .nutrition-check {padding: 0;margin-top: 0;}

.foodSearchWrap .pd2 + .searchWrap {padding:0 2rem 1.2rem;}
.tabWrapProduct + .content-innder {padding-top: 0.8rem;}

.tagList + .listTop {margin-top: 3.2rem;}
.foodFindList.bdt {border-top: 1px solid #eee;}
.foodSearchWrap .searchContent.pd0 { padding: 1rem 0rem 0; }
.foodSearchWrap .searchContent { padding: 1rem 2rem; }
.foodSearchWrap .searchContent .titleArea { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.6rem; margin-top: 1.4rem;}
.foodSearchWrap .searchContent .titleArea h2 { font-size: 1.6rem; font-weight: 600; color: #272727;}
.foodSearchWrap .searchContent .titleArea button { background: none; border: none; color: #5B5B5B; font-size: 1.2rem; cursor: pointer; text-decoration: underline;}


.foodSearchWrap .searchContent .titleArea, .foodSearchWrap .searchContent .emptyText , .foodSearchWrap .searchContent .tagList {padding:0 2rem}
.foodSearchWrap .searchContent.pd0 .titleArea, .foodSearchWrap .searchContent.pd0 .emptyText , .foodSearchWrap .searchContent.pd0 .tagList {padding:0 2rem}

.foodSearchWrap .searchContent .emptyText { text-align: center; color: #AAA; font-size: 1.4rem; padding: 4rem 0; display: none; }
.foodSearchWrap .searchContent .emptyText.show { display: block; }

.foodSearchWrap .searchContent .tagList { display: flex; flex-wrap: wrap; gap: 0.8rem; }
.foodSearchWrap .searchContent .tagList.hidden { display: none; }
.foodSearchWrap .searchContent .tagList .tag { display: inline-flex; align-items: center; gap: 0.6rem; padding: 0.6rem 1.2rem; background-color: #F9F9F9; border-radius: 2rem; font-size: 1.4rem; color: #272727; border: 1px solid #EEE;}
.foodSearchWrap .searchContent .tagList .tag button { background: none; border: none; padding: 0; cursor: pointer; color: #999; display: flex; align-items: center; }

.foodSearchWrap .searchContent .autocompleteList { list-style: none; display: none; margin-bottom: 3rem; }
.foodSearchWrap .searchContent .autocompleteList.show { display: block; }
.foodSearchWrap .searchContent .autocompleteList li { padding: 0.8rem 0; font-size: 1.5rem; color: #333; display: flex; align-items: center; gap: 0.8rem; cursor: pointer; }
.foodSearchWrap .searchContent .autocompleteList li svg { color: #999; flex-shrink: 0; }
.foodSearchWrap .searchContent .autocompleteList li .highlight { color: #6FB53D; font-weight: 600; }
.foodSearchWrap .searchContent .autocompleteList span {font-size: 1.6rem;}

.tabWrapProduct .filterWrap .tabs {padding:0}

.searchBtn circle,.searchBtn path  {color:#777}

.health-content{  display: flex;  align-items: center;  gap: 1.2rem;}
.health-content .img {height: 4.4rem;width: 4.4rem;;}
.health-content img {width: 4.4rem;}
.health-content .tit {font-size:1.6rem;color:#383838;line-height: 1.4;font-weight: 500;}
.health-content .tag {font-size:1.2rem;color:#777;line-height: 1.4;font-weight: 400;}

.mic-wrapper { position: relative; display: inline-block; }

.mic-img img {width: 12rem;}
.mic-wrapper .ico_mic {position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%);
    width: 4rem;
    margin-top: -2.5rem;}
.mic-wrapper .ico_mic img {width: 4rem;}

.mic-wrapper .ico_sound {position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%);
    width: 4rem;
    margin-top: -2.5rem;}

.mic-button { background: none; border: none; cursor: pointer; padding: 0; transition: transform 0.2s; }
.mic-button svg { display: block; overflow: visible; }
.mic-button.recording ellipse:nth-of-type(1) { animation: pulse-1 1.5s ease-in-out infinite; }
.mic-button.recording ellipse:nth-of-type(2) { animation: pulse-2 1.5s ease-in-out infinite 0.15s; }
@keyframes pulse-1 { 0%, 100% { opacity: 0.4; transform: scale(1); } 50% { opacity: 0.6; transform: scale(1.02); } }
@keyframes pulse-2 { 0%, 100% { opacity: 0.6; transform: scale(1); } 50% { opacity: 0.8; transform: scale(1.04); } }
.mic-button.recording .progress-circle { animation: drawCircle 10s linear infinite; }
@keyframes drawCircle { from { stroke-dashoffset: 377; } to { stroke-dashoffset: 0; } }
.circle-bg { transform-origin: 92px 92px; }
.progress-circle { transform-origin: 92px 92px; transform: rotate(-90deg); }


.bottom-sheet-wrap .footer {
  max-width: 100%;
}



.btn-more {padding-bottom: 0}
.exercise-check-list ul li a .img {width: 4.4rem;height: 4.4rem;}
.pd2 {padding:0 2rem;}

.photo-txt {color:#383838;font-size:1.6rem;line-height: 1.4;font-weight: 700;text-align: center;margin:0 0 2rem;}

.photoUploadContainer {padding: 4.4rem 0;}
.photoUploadContainer .title { font-size: 2.3rem; font-weight: 700; color: #333; text-align: center; margin-bottom: 0.8rem; }
.photoUploadContainer .subtitle { font-size: 1.4rem; color: #999; text-align: center; margin-bottom: 2.4rem; }
.photoUploadContainer .optionButtons { gap: 1.3rem;    margin-bottom: 3.6rem;    display: flex;}
.photoUploadContainer .optionBtn { background-color: #fff; border: 0.1rem dashed #6FB53D; border-radius: 1.2rem; padding: 4rem 2rem; text-align: center; cursor: pointer; transition: all 0.2s; height: 16rem;box-sizing: border-box;flex:1}
.photoUploadContainer .optionBtn .icon { width: 4.8rem; height:4.8rem; margin: 0 auto 1.2rem; }
.photoUploadContainer .optionBtn .icon img { width: 100%; height: 100%; display: block; }
.photoUploadContainer .optionBtn .label { font-size: 1.6rem; color: #6FB53D; }
.photoUploadContainer .guideList { display: flex; flex-direction: column; gap: 2rem; padding-left:3.6rem}
.photoUploadContainer .guideItem { display: flex; align-items: center; gap: 1.6rem; cursor:pointer}
.photoUploadContainer .guideItem .guideIcon { width: 4.8rem; height: 4.8rem; flex-shrink: 0; }
.photoUploadContainer .guideItem .guideIcon img { width: 100%; height: 100%; display: block; }
.photoUploadContainer .guideItem .guideContent { flex: 1; }
.photoUploadContainer .guideItem .guideTitle { font-size: 1.4rem; font-weight: 600; color: #383838; margin-bottom: 0.4rem; }
.photoUploadContainer .guideItem .guideDesc { font-size: 1.2rem; color: #777; line-height: 1.5; }

.loadingWrap {height: 100vh;background: rgba(0, 0, 0, 0.80);display: flex;flex-direction: column;align-items: center;justify-content: center;position: absolute;left:0;top: 0;width: 100%;z-index: 99999;;}
.loadingInner {text-align: center;}
.loadingTxt {color:#fff;font-size:1.4rem;line-height: 1.4;margin-top: 1.4rem;text-align: center;font-weight: 300;}

.swiperSTT {height: 118px;  overflow: hidden;  text-align: center;  margin-top: 1.5rem;}
.swiperSTT .swiper-wrapper {box-sizing: border-box;}
.swiperSTT .swiper-slide {display: flex;  align-items: center;  height: auto;}
.bottom-sheet-wrap.type-full .stt-inner {padding: 8.5rem 0;  transition: padding 0.5s ease-out;}
.bottom-sheet-wrap.type-full.active .stt-inner {padding: 2.4rem 0;}
@keyframes scanLine {
      0% {
        transform: translateY(4.1rem);
      }
      50% {
        transform: translateY(-4.1rem);
      }
      100% {
        transform: translateY(4.1rem);
      }
    }
    
    @keyframes scanGradientUp {
      0%, 100% {
        opacity: 1;
      }
      48% {
        opacity: 1;
      }
      50% {
        opacity: 0;
      }
      52%, 100% {
        opacity: 0;
      }
    }
    
    @keyframes scanGradientDown {
      0% {
        opacity: 0;
      }
      48% {
        opacity: 0;
      }
      50% {
        opacity: 0;
      }
      52% {
        opacity: 1;
      }
      100% {
        opacity: 1;
      }
    }
    
    .scan-line {
      animation: scanLine 1.5s ease-in-out infinite;
    }
    
    .scan-gradient-up {
      animation: scanLine 1.5s ease-in-out infinite, scanGradientUp 1.5s ease-in-out infinite;
    }
    
    .scan-gradient-down {
      animation: scanLine 1.5s ease-in-out infinite, scanGradientDown 1.5s ease-in-out infinite;
      transform-origin: center;
    }


.nutrition-status-card .gauge-area .gauge-bar-filled {
  transition: width 1.5s cubic-bezier(0.4, 0.0, 0.2, 1);
}

.nutrition-status-card .gauge-area .gauge-bar-filled .indicator-icon {
  transition: none;
  will-change: transform;
}

.nutrition-status-card .gauge-area .gauge-bar-filled .indicator-icon.good {
  background: url("../dm_images/main/ico_gauge.png") no-repeat center/contain;
}


.tabWrapProduct.bdt {position: relative; border-top: 0.7rem solid #F9F9F9;box-shadow: 0 -1px 0 0 #f3f3f3;}

.header .title {font-size:1.6rem;color:#383838;line-height: 1.4;font-weight: 600;text-align: center;}

.bottom-sheet-wrap .d-flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.bottom-sheet-wrap .d-flex .address {
  position: relative;
  color: #383838;
  font-size: 1.3rem;
  background: url("../dm_images/ico_address.png") no-repeat left center;
  background-size: 1.6rem;
  padding-left: 2rem;
  padding-right: 1.8rem;
  width:100%;
}


.bottom-sheet-wrap .d-flex .address span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
}

.bottom-sheet-wrap .d-flex .address:after {
  content: '';
  position: absolute;
  right: 0;
  top: 50%; 
  transform: translateY(-50%); 
  width: 1.2rem;
  height: 1.2rem;
  background: url("../dm_images/arrow2.png") no-repeat center/contain;
}

/* 옵션 리스트 */
.addressWrap {
  position: relative; 
  display:flex;
  justify-content: end;
  min-width: 20%;
  max-width: 50%;
}

.addressWrap .optionList {
  position: absolute;
  top: calc(100% + 6px);
  min-width: 100%;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  z-index: 100;
  padding: 6px 0;
  list-style: none;
  margin: 0;
  white-space: normal;     
  word-break: keep-all;     
  max-width: 300px;
  right: 0px;
  box-sizing: border-box;
  display: none;
}

.addressWrap .optionList.on {
  display: block;
}

.addressWrap .optionList li a {
  display: block;
  padding: 8px 16px;
  overflow: hidden;
  text-overflow: ellipsis;      
  white-space: nowrap;          
  max-width: 100%;
  font-size: 1.3rem;
}

.addressWrap .optionList li a:hover {
  background: #f5f5f5;
}

/* 선택된 항목 표시 */
.addressWrap .optionList li.selected a {
  color: #6fb53d;
  font-weight: 600;
}

/* 열렸을 때 화살표 회전 (arrow2.png가 아래 화살표라면) */
.addressWrap .address.on:after {
  transform: translateY(-50%) rotate(180deg);
}

.product-list.noData {display:block}


.bottom-sheet-wrap .sheet-body .sheet-content-fixed .total-count {font-size:1.3rem;font-weight: 400;;}
.bottom-sheet-wrap .sheet-body .sheet-content-fixed .total-count .count {color:#FF5900;font-size: 1.3rem;font-weight: 600;}

.product-info .checkbox-wrap { display: flex; align-items: center; height: 3.2rem;padding:0 1.2rem; background-color: #fff; border-radius: 1.4rem; cursor: pointer; border: 1px solid #EEEEEE;}
.product-info .checkbox-wrap input[type="checkbox"] {background: url(../dm_images/checkbox01_off.png) no-repeat center / cover; width: 1.6rem; height:1.6rem; cursor: pointer; appearance: none; -webkit-appearance: none; position: relative; margin-right: 0.6rem; }
.product-info .checkbox-wrap input[type="checkbox"]:checked {background: url(../dm_images/checkbox_on.png) no-repeat center / cover;width: 1.6rem; height:1.6rem;}
.product-info .checkbox-wrap label { font-size: 1.3rem; color: var(--gray-color-600); cursor: pointer; user-select: none; display: flex;}
.product-info .checkbox-wrap:has(input[type="checkbox"]:checked ) {  background: #ECEFCF; }

.bottom-notice {padding:0 2rem 1.2rem;}

.bottom-notice .inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 1.2rem;
    border: 1px solid rgba(0, 0, 0, 0.10);
    background: rgba(56, 56, 56, 0.80) url(../dm_images/icon_info.png) no-repeat 1rem center;
    background-size: 1.6rem;
    backdrop-filter: blur(10px);
    color: #fff;
    padding: 0 1.6rem 0 3.2rem;
    font-size: 1.3rem;
    height: 3.6rem;
    box-sizing: border-box;
}

.bottom-notice .inner a {
  color:#6FB53D;
}

.stt-inner .find-more {
  border-radius: 0.8rem;
  border: 1px solid #6FB53D;
  height: 4rem;
  line-height: 1.3;
  padding: 1.1rem 0;
  font-size: 1.4rem;
  color:#6FB53D;
  text-align: center;
  margin: 2rem 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  font-weight: 700;
}


.toastPopup { position: fixed; bottom: -10rem; left: 50%; transform: translateX(-50%);     width: 80%;    max-width: 34rem; background: rgba(56, 56, 56, 0.90); color: #fff; border-radius: 0.8rem; padding: 1.6rem 2rem; font-size: 1.2rem; font-weight: 500; text-align: center; transition: bottom 0.3s ease-out; z-index: 9999; box-shadow: 0 0.4rem 1.2rem rgba(0, 0, 0, 0.15); }
.toastPopup.show { bottom: 9.3rem; }

.foodCheckLottie {  position:fixed;  top:45%;  left:50%;  transform: translate(-50%);  z-index: 100;  height: 10.4rem;  width: 10.4rem;  display: none;}
.foodCheckLottie.show {display: block; }

.dm-footer .escrow p {color:#383838;font-size:12px}
.dm-footer .escrow a {text-decoration: underline;margin-left:5px}
.dm-footer {
  background-color: #F3F3F3;
  padding: 24px 20px !important;
  color: #383838;
  margin-top: 0 !important;

}

.dm-footer .footer-nav {
  display: flex;
  gap: 24px;
  font-size: 13px;
  overflow-x: auto;
  scrollbar-width: none;
  padding-bottom: 16px;
  margin-right:-20px;
}

.dm-footer .footer-nav::-webkit-scrollbar {
  display: none;
}

.dm-footer .footer-nav a {
  color: #383838;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
  position: relative;
}

.dm-footer .footer-nav a::after {
  content: '';
  position: absolute;
  right: -11px;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 12px;
  background-color: #ddd;
}

.dm-footer .footer-nav a.active {
  color: #383838;
  font-weight: 600;
}

.dm-footer .leftLine {position:relative;margin-left:8px;padding-left:8px}
.dm-footer .leftLine:after {content: '';  position: absolute;  left: -2px;  top: 50%;  transform: translateY(-50%);  width: 1px;  height: 12px;  background-color: #ddd;}

.dm-footer .footer-logo {
  margin-bottom: 24px;
  margin-top: 15px;
}

.dm-footer .footer-logo img {
  width: 72px;
}

.dm-footer .logo-design {
  display: block;
}

.dm-footer .logo-meal {
  display: flex;
  align-items: center;
  gap: 1.25px;
}

.dm-footer .logo-dots {
  display: flex;
  gap: 1.25px;
}

.dm-footer .dot {
  width: 2.5px;
  height: 2.5px;
  background-color: #7cb342;
  border-radius: 50%;
}

.dm-footer .contact-info {
  margin-bottom: 15px;
}

.dm-footer .cs-hours {
  font-size: 12px;
  margin-bottom: 5px;
  color: #383838;
  font-weight: 700;
}

.dm-footer .phone {
  font-size: 11.25px;
  font-weight: 700;
  margin-bottom: 5px;
  color: #333;
}

.dm-footer .hours {
  font-size: 12px;
  color: #383838;
}

.dm-footer .company-info {
  font-size: 13px;
  line-height: 1.4;
  color: #383838;
}

.dm-footer .info-row {
  display: flex;
  margin-bottom: 8px;
}

.dm-footer .info-label {
  min-width: 110px;
  color: #999;
  flex-shrink: 0;
  font-size:12px
}

.dm-footer .info-value {
  color: #383838;
  display: flex;
  align-items: center;
  gap: 5px;
}

.dm-footer .info-link {
  color: #777;
  padding: 2px 5px;
  cursor: pointer;
  font-size: 10px;
  border-radius:4px;
  border: 1px solid #ddd;
  background:#fff;
}

.familySite-menu {
  padding-left:34px;
}
.familySite-menu li a{
  height: 44px;
  color:#383838;
  font-size:15px;
  line-height: 44px;
  font-weight: 500;
  border-bottom: 1px solid #EEE;
  display: block;
}

.dm-footer .toggle-button {
  display: inline-flex;
  align-items: center;
  gap: 2.5px;
  background-color: transparent;
  border: none;
  padding: 0;
  margin-bottom: 10px;
  cursor: pointer;
  font-size: 13px;
  color: #383838;
  font-weight: 700;
}

.dm-footer .toggle-button::after {
  content: '';
  transition: transform 0.3s ease;
  background: url("../dm_images/common/ico_arrow_down.png") no-repeat center /contain;
  width: 12px;
  height: 12px;
  display: block;
}

.dm-footer .toggle-button.active::after {
  transform: rotate(180deg);
}

.dm-footer .company-details {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.dm-footer .company-details.active {
  max-height: 200px;
}

.dm-footer .copyright {
  font-size: 12px;
  color: #999;
  margin: 15px 0;
}

.dm-footer .family-site {
  position: relative;
}

.dm-footer .family-site-button {
  width: 100%;
  padding: 8px 12px;
  background-color: white;
  border: 1px solid #ddd;
  text-align: left;
  font-size: 14px;
  color: #777;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 6px;
  font-weight: 500;
}

.dm-footer .family-site-button::after {
  content: '';
  background: url("../dm_images/common/ico_arrow_down.png") no-repeat center /contain;
  width: 12px;
  height: 12px;
}

 .recommend-card {
    background: #fff;
    border-radius:0.8rem;
    padding:1.2rem 1.6rem 1.6rem;
}

.recommend-card .section-title {
    font-size: 1.6rem;
    font-weight: 700;
    color: #333;
    margin-bottom: 1.2rem;
}

.recommend-card .section-title span {
    color: #6FB53D;
}

.recommend-card .product-content {
    display: flex;
    align-items: center;
    gap: 1.2rem;
  cursor:pointer;
}

.recommend-card .product-img {
    flex-shrink: 0;
    width: 8rem;
    height: 8rem;
    border-radius: 1.2rem;
    overflow: hidden;
}

.recommend-card .product-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.recommend-card .product-info {
    flex: 1;
}

.recommend-card .product-cate {
    font-size: 1.2rem;
    color: #999;
    margin-bottom: 0.4rem;
    font-weight: 700;
}

.recommend-card .product-name {
    font-size: 1.4rem;
    font-weight: 600;
    color: #383838;
    margin-bottom: 0.6rem;
    line-height: 1.4;
}

.recommend-card .product-kcal {
    font-size: 1.2rem;
    color: #999;
}


.dm-wrap .dm-challenge-ing-page .section-top-swiper .challenge-notice-bar a .txt.split-text {
    display: flex;
    gap: 0.4rem;
}

.dm-wrap .dm-challenge-ing-page .section-top-swiper .challenge-notice-bar a .txt.split-text .txt-part1 {
    flex: 0 1 35%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex-shrink: 0;
}

.dm-wrap .dm-challenge-ing-page .section-top-swiper .challenge-notice-bar a .txt.split-text .txt-part2 {
    flex: 1 1 65%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

.quickLink {
  right: 0rem;
    left: auto;
    transform: translateX(0);
    bottom: 3.5rem;
    border-radius: 0.6rem 0.6rem 0 0.6rem;
    position: absolute;
    bottom: -3rem;
    height: 2.2rem;
    line-height: 2.2rem;
    font-size: 1.2rem;
    font-weight: 500;
    display: inline-block;
    padding:0rem 1rem  0 ;
    background: rgba(0, 0, 0, 0.70);
    border-radius: 0.6rem;
    color: #fff;
    white-space: nowrap;

}

.quickLink:after {
  right: 0.72rem;
  width: .8rem;
  height: .5rem;
  background:  url("../dm_images/header-link.png") no-repeat center/contain;
  content: '';
  position: absolute;
  top: -0.5rem;
  display: block;      
}

.dietary-body .channel-txt {padding: 2.4rem 0;    font-size: 18px;    line-height: 1.4;}
.dietary-body .channel-txt .point {font-size: 20px;    display: block;    color: #6FB53D;    font-weight: 700;}

.ai-ndp-wrap {padding:20px 20px 0px;color:#383838;font-size: 18px;line-height: 1.4}
.ai-ndp-wrap .tit {font-size:20px}
.ai-ndp-wrap .point {display: block;color: #6FB53D;}
.ai-ndp-wrap strong {font-weight: 700;}
.ai-ndp-wrap .desc {font-size:14px}

.ai-channel-txt {font-size:16px;color:#383838;line-height: 1.4;}
.ai-channel-txt .point {font-weight: 700;}

.ndp-section.ndp-type.sub {padding:2.4rem 0 3.2rem 0rem ;}

.sheet-header.bg-black {background: #000;}


/* 카메라 영역 - diaryNutritionRegistPhoto 컨테이너 내부에서만 표시 */
#cameraArea {
    position: absolute;   /* 부모 컨테이너 기준 */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 100;         /* 컨테이너 내부에서 최상위 */
    background-color: #000;
}

/* diaryNutritionRegistPhoto 컨테이너에 position relative 추가 필요 */
#diaryNutritionRegistPhoto {
    position: relative;   /* cameraArea의 absolute 기준점 */
}

.camera-recognition {
    width: 100%;
    height: 100vh;
    background-color: #000;
    display: flex;
    flex-direction: column;
    position: relative;
    margin: 0 auto;
    overflow: hidden;
}

/* 카메라 video 기본 스타일 */
#custom-camera-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    background-color: #000;
    display: block;
    border: none;
    outline: none;
}

#custom-camera-canvas {
    display: none !important;
}

.camera-recognition .close-button {
    position: absolute;
    top: 2.8rem;
    right: 2.8rem;
    width: 2.4rem;
    height: 2.4rem;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 10;
}

.camera-recognition .close-icon {
    width: 100%;
    height: 100%;
    filter: brightness(0) invert(1);
}

.camera-recognition .image-wrapper {
    width: 100%;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #000;
    position: relative;
    overflow: hidden;
    min-height: 0;
}

.camera-recognition .image-container {
    width: 100%;
    aspect-ratio: 4 / 6;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    max-height: 100%;
}

.camera-recognition .controls-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 2.4rem 0;
    flex-shrink: 0;
}

.camera-recognition .image-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.camera-recognition .capture-button-wrapper {
    width: 6.4rem;
    height: 6.4rem;
}

.camera-recognition .capture-button-wrapper img {
    width: 100%;
}

.camera-recognition .capture-button-img {
    width: 6.4rem;
    height: 6.4rem;
    cursor: pointer;
    display: block;
}

.camera-recognition .capture-button-img img {
    width: 100%;
}

.camera-recognition .bottom-controls {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5rem;
    z-index: 5;
    margin-top: 2.4rem;
}

.camera-recognition .control-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.8rem;
    cursor: pointer;
}

.camera-recognition .control-icon-wrapper {
    width: 4.8rem;
    height: 4.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.camera-recognition .control-icon-wrapper img {
    width: 100%;
}

.camera-recognition .control-icon {
    width: 2.4rem;
    height: 2.4rem;
    filter: brightness(0) invert(1);
}

.camera-recognition .control-label {
    color: #fff;
    font-size: 1.4rem;
    font-weight: 500;
}


#date-meal.dm-main-date .month::after {
  background:none;
}

.dm-main-date .month::after {
    content: "";
    display: block;
    width: 2rem;
    height: 2rem;
    background-image: url(../dm_images/main/ico_arrow.png);
    background-repeat: no-repeat;
    background-size: cover;
}


.dmContent .nutrition-check {margin-top: 1.6rem;}
.tooltipBtn {position: relative;    display: flex;    align-items: center;}
.tooltipBtn .tooltip-wrap {transform: translateX(-50%);position: absolute;left:50%;bottom:0;width: 2rem ;height:2rem}
.tooltipBtn .tooltip-wrap .tooltip-layer {  position: absolute;    top: calc(100% + 1rem);    left: -6.1rem;    transform: translate(-50%, 0);    background: #fff;    color: #777;    padding: 1rem;    border-radius: 0.8rem;    border: 1px solid #aaa;    width: 23.5rem;}

.tooltipBtn .tooltip-wrap .tooltip-layer:before {
    content: '';
    display: block;
    position: absolute;
    top: -1rem;
    left: 80%;
    width : 0;
    height: 0;
    border-left: 0.8rem solid transparent;
    border-right: 0.8rem solid transparent;
    border-bottom: 1rem solid #aaa;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
}

.tooltipBtn .tooltip-wrap .tooltip-layer:after {
    content: '';
    display: block;
    position: absolute;
    top: -0.9rem;
    left: 80%;
    width: 0;
    height: 0;
    border-left: 0.8rem solid transparent;
    border-right: 0.8rem solid transparent;
    border-bottom: 1rem solid #fff;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
}

.tooltipBtn .tooltip-wrap .tooltip-layer .tooltip-txt, .tooltipBtn .tooltip-wrap .tooltip-layer p {
    font-size: 1.1rem;
    color: #666;
    font-weight: 500;
    display: block;
    text-align: left;
    white-space: normal;
    word-break: keep-all;
}
.tooltipBtn .tooltip-wrap .tooltip-layer .tooltip-txt .settbtn{    
    border-bottom: 1px solid #d3d3d3;
    color: #9f9f9f;
    font-size: 1rem;
}

.ch-swiper .thumb-info-bar {
  position: absolute;
  bottom: 0rem;
  left: 0;
  width: 100%;
  height: 3.2rem;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 1.6rem;
  color: #fff;
  font-size: 1.2rem;
}
.ch-swiper .thumb-info-bar .highlight {
  color: #FF7425;
}
.ch-swiper .thumb-info-bar .info-wrap {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.ch-swiper .thumb-info-bar .hash-wrap {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.ch-swiper .thumb-info-bar .info-item {
  display: flex;
  align-items: center;
}
.ch-swiper .thumb-info-bar .info-item i {
  width: 1.6rem;
  height: 1.6rem;
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
  margin-right: 0.4rem;
}
.ch-swiper .thumb-info-bar .info-item i.ico-star-sm {
  background-image: url("../dm_images/challenge/ico_star_sm.png");
}
.ch-swiper .thumb-info-bar .info-item i.ico-star-sm + em {
  margin-left: 0.3rem;
}
.ch-swiper .thumb-info-bar .info-item i.ico-user-sm {
  background-image: url("../dm_images/challenge/ico_user_sm.png");
}
.ch-swiper .thumb-info-bar .info-item em {
  font-weight: 700;
}

._cstmOrdrPop.popupBox > .inner, ._greenTopPop.popupBox > .inner {width: 100%;}

.dm-ndp-banner {
  position: relative;
  background-color: var(--primary-color);
  border: 1px solid rgba(0, 0, 0, 0.1215686275);
  border-radius: 1.2rem;
  overflow: hidden;
  margin-top: 3.2rem;
}
.dm-ndp-banner .btn-close {
  position: absolute;
  top: 0.4rem;
  right: 0.6rem;
}
.dm-ndp-banner .box {
  padding: 2rem 2.4rem 2.4rem;
  background:url("../dm_images/ndp/banner-ch.png") no-repeat right 1rem;
  background-size: 12rem;
  color: var(--white);  
  min-height: 11rem;
}
.dm-ndp-banner .box .txt1 {
  font-size: 1.5rem;
  margin-bottom: 0.4rem;
  font-weight:700
}
.dm-ndp-banner .box .txt2 {
  font-size: 1.2rem;
}

.dm-ndp-banner .link {
  display: block;
  background-color: #64A337;
  padding: 1.2rem 0;
  text-align: center;
}
.dm-ndp-banner .link span {

  font-size: 1.5rem;
  color: var(--white);
  font-weight: 700;
}

.sttListWrap {
  width:100%;
  margin:2rem 0;
}



/* 헤더 기준 relative */
.cal-header-controls {
  position: relative;
}

/* current-month 클릭 커서 */
.current-month {
  cursor: pointer;
  user-select: none;
}
.current-month.is-open {
  color: #4a90e2;
}

/* 월 선택 팝업 */
.month-picker {
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 100;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 1.2rem;
  box-shadow: 0 4px 16px rgba(0,0,0,0.12);
  padding: 1.2rem;
  width: 23rem;
}

.month-picker-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.6rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.month-picker-list li {
  text-align: center;
  padding: 0.8rem 0.4rem;
  border-radius: 8px;
  font-size: 1.4rem;
  cursor: pointer;
  transition: background 0.15s;
}

.month-picker-list li.active {
  background: #6FB53D;
  color: #fff;
  font-weight: 700;
}

.month-picker-list li.inactive {
  color: var(--gray-color-300);
}
.survey-banner {margin:10px 0}
.survey-banner img {width: 100%;}
.title {float:none}
.tooltip-txt .txt-star {font-size:1.1rem}

.category-wrap .category-list {
    padding: 2rem 2rem 2.8rem;
    border-bottom: 0.8rem solid #F9F9F9;
    margin-bottom: 2.4rem;
}

.category-wrap .category-list > li ~ li {
    margin-top: 1.6rem;
}

.category-wrap .category-list > li > a {
    height: 4rem;
    display: flex;
    align-items: center;
    font-weight: 700;
    color: #2a2a2a;
    font-size: 1.5rem;
    line-height: 130%;
    background: url("/resources/images/common/ico_arrow_r.svg") no-repeat right 50%;
    background-size: auto 1.6rem;
}

.category-wrap .category-list > li > a .menuico {
    margin-right: 0.6rem;
    display: inline-block;
}

.category-wrap .category-list > li > ul {
    margin-top: 0.8rem;
    padding-left: 4rem;
    padding-right: 2rem;
    background-color: #F9F9F9;
    border-radius: 0.8rem
}

/* .category-wrap .category-list > li > ul li {width:50%;} */
.category-wrap .category-list > li > ul li ~ li {
    border-top: 1px solid #EEEEEE;
}

.category-wrap .category-list > li > ul li a {
    display: flex;
    align-items: center;
    height: 4.4rem;
    font-size: 1.5rem;
    color: #383838;
    font-weight: 500;
    line-height: 140%;
}

.category-wrap .mySwiper .swiper-slide:nth-child(1n) {
    margin-left: 20px;
}

.category-wrap .mySwiper .swiper-slide img {
    border-radius: 10px;
    width: 100%;
}

.category-wrap .mySwiper {
    margin-top: 3rem;
    padding-right: 6.5rem;
}

.category-wrap .banner {
    margin-top: 2.4rem;
    padding: 0 2rem;
}

.category-wrap .banner img {
    width: 100%;
}

.dfNth4list._mainAllCtgr > li > a._allCtCalendar, ._allCtInfo, ._allCtGift, ._allCtDMBook {
    background-size: 6.4rem auto;
    min-width: 6.4rem;
}
.dfNth4list._mainAllCtgr > li > a {
    font-size: 1.4rem;
}

.dfNth4list._mainAllCtgr > li > a {
    display: block;
    width: 100%;
    padding: 80px 0 0 0;
    text-align: center;
    font-size: 1em;
    line-height: 0.88em;
    font-weight: 500;
    color: #2A2A2A;
    background-position: center top;
    background-repeat: no-repeat;
}


._allCtCalendar{background-image:url("/resources/images/ico/icn_allCtCalendar.svg");}
._allCtInfo{background-image:url("/resources//images/ico/icn_allCtInfo.svg");}
._allCtGift{background-image:url("/resources//images/ico/icn_allCtGift.svg");}
._allCtDMBook{background-image:url("/resources//images/ico/icn_allCtDMBook.svg");}


.category-wrap .category-list {
    padding: 2rem 2rem 2.8rem;
    border-bottom: 0.8rem solid #F9F9F9;
    margin-bottom: 2.4rem;
}

.category-wrap .category-list > li ~ li {
    margin-top: 1.6rem;
}

.category-wrap .category-list > li > a {
    height: 4rem;
    display: flex;
    align-items: center;
    font-weight: 700;
    color: #2a2a2a;
    font-size: 1.5rem;
    line-height: 130%;
    background: url("/resources/images/common/ico_arrow_r.svg") no-repeat right 50%;
    background-size: auto 1.6rem;
}

.category-wrap .category-list > li > a .menuico {
    margin-right: 0.6rem;
    display: inline-block;
}

.category-wrap .category-list > li > ul {
    margin-top: 0.8rem;
    padding-left: 4rem;
    padding-right: 2rem;
    background-color: #F9F9F9;
    border-radius: 0.8rem
}

.allCate .btn._mddlH {width:100%;border-radius: 8px;}

/* .category-wrap .category-list > li > ul li {width:50%;} */
.category-wrap .category-list > li > ul li ~ li {
    border-top: 1px solid #EEEEEE;
}

.btnBxCenter.quickmenu {
    width: 21.6rem;
    margin: 3rem auto 0 auto;
    display: flex;
    justify-content: space-between;
}

.btnBxCenter a {
    position: relative;
    font-size: 1.4rem;
    margin: 0;
    color: #444;
    font-weight: 400;
    height: auto;
    line-height: 140%;
    padding: 0;
}

.category-btn a {
    width: 100%;
    height: 4.8rem;
    color: #444;
    font-size: 1.4rem;
    line-height: 100%;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #ccc;
    border-radius: 8px;
    margin: 15px 0;
}

.category-wrap .category-list > li > ul li a {
    display: flex;
    align-items: center;
    height: 4.4rem;
    font-size: 1.5rem;
    color: #383838;
    font-weight: 500;
    line-height: 140%;
}

.category-wrap .mySwiper .swiper-slide:nth-child(1n) {
    margin-left: 20px;
}

.category-wrap .mySwiper .swiper-slide img {
    border-radius: 10px;
    width: 100%;
}

.category-wrap .mySwiper {
    margin-top: 3rem;
    padding-right: 6.5rem;
}

.category-wrap .banner {
    margin-top: 2.4rem;
    padding: 0 2rem;
}

.category-wrap .banner img {
    width: 100%;
}

.allCate .btnBxCenter .mytypebtn {width:100%}

.alert-popup .popup .pop-footer .btn-wrap {    display: flex;    flex-direction: row; gap:0.8rem}
.btn-wrap .btn.st1{background:#6fb53d; color:#fff;}
.btn-wrap .btn.st2{background:#fff; color:#6fb53d;border:1px solid #6fb53d;}
.alert-popup .popup .alert-tit{font-size:18px; color:#2A2A2A;text-align:center;font-weight:500;display:block;margin-bottom:13px;}
.alert-popup .popup .alert-txt{font-size:16px; color:#383838;text-align:center;margin-bottom:20px;}

.filterWrap .btnWrap {position:relative}
.filterWrap .btnWrap:hover:after {position:absolute;left:0;bottom:-2.5rem;background: rgba(0, 0, 0, 0.7);z-index:10;color:#fff;padding:0.2rem 0.5rem;border-radius:5px;font-size:1.2rem;height:2rem;text-align:center;line-height:2rem;width:5rem;font-weight:300;content:'태그 검색'}

.link_et {color:#39802B;text-decoration:underline;font-weight:700;}
.link_et:hover {text-decoration:underline}


.swiperGoals .swiper-pagination-clickable .swiper-pagination-bullet:nth-child(1) {
  width:1.6rem;
  height:0.8rem;
  background:url("../dm_images/goals_arrow2.png") no-repeat;  
  background-size:contain;
  opacity: 1;
  margin:1px 0;
}
.swiperGoals .swiper-pagination-clickable .swiper-pagination-bullet:nth-child(2) {
  width:1.6rem;
  height:0.8rem;
  background:url("../dm_images/goals_arrow2.png") no-repeat;
  transform: rotate(180deg);
  background-size:contain;
  opacity: 1;
  margin:1px 0;
}


.swiperGoals .swiper-pagination-clickable .swiper-pagination-bullet-active:nth-child(1) {
  width:1.6rem;
  height:0.8rem;
  background:url("../dm_images/goals_arrow1.png") no-repeat;  
  background-size:contain;
  opacity: 1;
}
.swiperGoals .swiper-pagination-clickable .swiper-pagination-bullet-active:nth-child(2) {
  width:1.6rem;
  height:0.8rem;
  background:url("../dm_images/goals_arrow1.png") no-repeat;
  transform: rotate(180deg);
  background-size:contain;
  opacity: 1;
}


.swiperGoals {height:4.4rem;  overflow: hidden;  text-align: center;  margin-top:2.5rem;position: relative;}
.swiperGoals .swiper-wrapper {box-sizing: border-box;}
.swiperGoals .swiper-slide {display: flex;  align-items: center;  height: auto;}


.timeSelectHeader {display:flex;font-size: 23px;    font-weight: 700;    margin: 0;    color: var(--gray-color-900);align-items: center;}
.timepickerWrap .timepicker {font-size:20px}
.timepickerWrap { flex: 1;}    
.timepickerWrap .input-time { position: relative; border-bottom: 1px solid #6FB53D; display: flex; align-items: center;  cursor: pointer; background: url(../dm_images/ico-select_g.png) no-repeat right center /contain;background-size: 1.6rem auto; line-height: 2.8rem;font-size:2rem;padding-right:1.5rem;margin:0 0.8rem}        
.timepickerWrap .input-time .ampm { margin: 0;font-size: 2rem;color:#6FB53D;}    
.timepickerWrap .input-time .input { display: inline-block; border:0;flex: 0;font-size: 2rem;height: auto;}    
.timepickerWrap .input-time .input input { border: none; outline: none; background: transparent; width: 3rem; text-align: center; font-size:2rem; color: #6FB53D; font-weight: 500; cursor: pointer; padding: 0; }    
.timepickerWrap .input-time .dot {margin: 0; font-size: 2rem;color:#6FB53D;}  

.onboarding-wrap > .od-inner {  position: absolute;  z-index: 99;  top: 0;  left: 0;  width: 100%;  background-color: #fff;  transition: transform 0.3s ease-out;  display: flex;  flex-direction: column;  height: 100dvh;  overflow: hidden;  max-width: 475px;}
.onboarding-wrap .checkbox-wrap { display: flex; align-items: center; height: 3.2rem;padding:0 1.2rem; cursor: pointer;}
.onboarding-wrap .checkbox-wrap input[type="checkbox"] {background: url(../dm_images/checkbox_off2.png) no-repeat center / cover; width: 2.5rem; height:2.5rem; cursor: pointer; appearance: none; -webkit-appearance: none; position: relative; margin-right: 0.6rem; }
.onboarding-wrap .checkbox-wrap input[type="checkbox"]:checked {background: url(../dm_images/checkbox_on.png) no-repeat center / cover;width: 2.5rem; height:2.5rem;}
.onboarding-wrap .checkbox-wrap label { font-size: 1.5rem; color:#383838; cursor: pointer; user-select: none; display: flex;align-items: center;font-weight:700;}

.onboarding-wrap {position: fixed;    top: 0;    width: 100%;    height: 100%;    z-index: 110;    max-width: 475px;}

.onboarding-wrap .od-header {display:flex;align-items: center;padding: 1rem 0.7rem;background: #F3F3F3;     width: 100%;    z-index: 100;flex-shrink:0}
.onboarding-wrap .od-footer {background:#fff;flex-shrink:0;min-height: 0;position: fixed;bottom:0;width:100%;max-width:475px;z-index: 10;}
.onboarding-wrap .onboarding-close {width: 24px;    height: 24px;    background: url(../dm_images/common/ico_close_g.png) no-repeat center / contain;    border: none;    font-size: 0;    cursor: pointer;    position: absolute;    right: 16px;    top: 14px;}

.onboarding-wrap .od-body {background: #F3F3F3;display: flex;    flex-direction: column;    justify-content: center;flex: 1; min-height: 0;padding-bottom: 8.4rem;}
.onboarding-wrap .od-body .swiperBox {padding:12rem 3rem 0;background: #F3F3F3;}
.onboarding-swiper {position: relative;}
.onboarding-swiper .swiper-pagination {  position: fixed;  top:6rem !important;  bottom:auto !important;  z-index: 99;}
.onboarding-swiper .swiper-pagination-bullet {  width: 1rem;  height: 1rem;  background:#a9a9a9;  border-radius:50%;   margin: 0 4px !important;  transition: all 0.3s;}
.onboarding-swiper .swiper-pagination-bullet-active { background:#4FB717;  }
.onboarding-swiper .swiper-slide {height: auto;}
.onboarding-swiper .swiper-slide img {  width: 100%;  height: auto;  object-fit: contain ;  display: block;  margin:0 auto;max-width: 28rem;}

.dm-wrap .onboarding-wrap .bottom-btn-group {padding:1rem 2.4rem 1.6rem;background:#F3F3F3;box-shadow: none;}
@media (min-width: 915px) { 
  .onboarding-wrap .od-footer {position: static;}
  .onboarding-wrap {left:auto;height: auto;}
  .onboarding-wrap > .od-inner {position: fixed;    top: 50%;    left: 50%;    transform: translate(-50%, -50%);    height: auto;    margin-left: -218px;    transition: none;  max-width: 425px;    border-radius: 2rem;}
  .onboarding-wrap .od-body {padding-bottom:0}
  .onboarding-wrap .od-body .swiperBox {padding:3rem 2rem 0;background: #F3F3F3;}
  .onboarding-swiper .swiper-slide img {  width: 100%;  height: auto;  object-fit: contain ;  display: block;  margin:0 auto;max-width:32rem;}
  .onboarding-wrap .dimmed { position: absolute; top: 0; left: 0; width: 100%; height: 100vh; background-color: rgba(0, 0, 0, 0.5); opacity: 1;  }
}

.allprotit {    display: inline-flex;    align-items: center;    width: 100%;    margin-bottom: 5px;    font-size:15px;    line-height: 1.25em;    color: #222222;    margin-top: 25px;}
.today-care-clip-wrap.type2 {padding:0 2rem}
.today-care-clip-wrap.type2 .today-clip-list ul li .link {display: flex;    padding: 1.5rem 1.5rem 1.5rem 0;}
.today-care-clip-wrap.type2 .today-clip-list ul li .link .img { position: relative;    width: 8rem;    height: 8rem;    border-radius: 0.8rem;    overflow: hidden;}
.today-care-clip-wrap.type2 .today-clip-list ul li .link .img img {     transform: none;}

.today-care-clip-wrap.type2 .btn-more::after {display:none}

@media screen and (max-width: 375px) and (min-width: 360px) {
    .allCate .ctgrMenu > li > a {
        font-size: initial;
    }
}

.swiper.careSwiper {padding:2rem}
.swiper.careSwiper .swiper-slide {border-radius:10px;overflow:hidden}

.ai_ndp_box {padding:20px;border-bottom: 0.7rem solid #F9F9F9;    box-shadow: 0 -1px 0 0 #f3f3f3;}
.ai_ndp_box .txt01{color:#000;font-size:19px;}
.ai_ndp_box .txt02{color:#000;font-size:16px;}
.ai_ndp_box .txt03{color:#777;font-size:14px;margin-top:4px}
.ai_ndp_box .txt04{color:#383838;font-size:14px;}
.ai_ndp_box strong {font-weight:700}
.ai_ndp_box .btn-wrap {margin-top:20px}

.ai_ndp_box.character {
  background: url(../dm_images/ai_ch.png) no-repeat 95% 2rem;
  background-size:7.3rem;
}

.ai_ndp_box .btn-confirm {
  background: var(--primary-color);
  color: #fff;
}

.ai_ndp_box .btn-disabled {
  background: #EEE;
  color: #CCC;
}

.layer_challenge01 {text-align: center;margin-bottom:1.6rem}
.layer_challenge01 img {width:11rem;margin:0 auto}
.layer_challenge02 {color:#262626;font-size:2rem;font-weight: 700;}
.layer_challenge03 {color:#383838;font-size:1.4rem;font-weight: 400;margin-top: 1rem;}

.ndp-banner2 {margin:2rem -2rem}
.challenge-guide-text p {text-align: center;    font-size: 1.5rem;    color: #383838;}
.challenge-guide-text {padding-top:20px}

#content-innder.content-innder,
#diaryNutritionRegistMealSearch.content-innder,
#sttContentBottomInnder.content-innder {overflow-y: auto;    height: 100vh;}

.tab-row + .ai_ndp_box.character {margin-top:50px}
.ai_ndp_box.character + .dietary-body .result {padding-top:0;}

.pop-header2 {position:relative}

.pop-header2 .trophy {position:absolute;top:-175px}
.pop-header2 .tit {font-size:2.4rem;color:#000;font-weight:700;text-align:center;line-height:1.2}
.challenge-cbox {background:#F9F9F9;padding:1.6rem 2rem;display:flex;align-items: center;gap:1.4rem;border-radius: 8px;border:1px solid #F3F3F3;}
.challenge-cbox .left.w60 img {width:6rem}
.challenge-cbox .right .txt1 {font-size:1.4rem;color:#6fb53d;line-height:2.2rem;}
.challenge-cbox .right .txt2 {font-size:1.9rem;color:#383838;line-height:2.2rem;font-weight: 600;}
.challenge-cbox .right .txt3 {font-size:1.9rem;color:#383838;line-height:2.2rem;font-weight: 600;}

.btn-type2.st2 {background-color: #fff;    border: 1px solid #6fb53d;    color: #6fb53d;}
.challengePointWrap {padding-top:1.6rem !important}
.challengePointWrap .txt-area {font-size:15px;color:#383838;line-height:2.2rem;display:flex;flex-direction: column;gap:2rem;text-align: center;;margin-top:20px}
.challengePointWrap .txt-area p {word-break: keep-all}
.challengePointWrap .txt-area em {color:#6fb53d}

.challenge-cimg {text-align:center;margin-bottom:10px}
.challenge-cimg img {width:8rem}
.challenge-ctxt {font-size:1.6rem;color:#2A2A2A;text-align: center;font-weight:600;}
.challengePointWrap .txt-area.tl {text-align:left} 

.challenge-cbox2 {background:#F9F9F9;padding:1.6rem 2rem;border-radius: 8px;text-align: center;margin-top: 20px;border:1px solid #F3F3F3;}
.challenge-cbox2 .txt1 {font-size:1.4rem;color:#5b5b5b}
.challenge-cbox2 .txt2 {font-size:1.8rem;color:#383838;font-weight: 600;}





