/* :root {
  --layout-width: 1280px;
  --sidebar-width: 320px;
} */
html {
  scroll-behavior: smooth;
}

button, a {
  outline: none;
  transition: transform 0.2s ease;
}

button:focus-visible,
a:focus-visible {
  outline: 2px solid #000;
  outline-offset: 2px;
}

button:active,
a:active {
  transform: scale(0.97);
}

/* #footer {display:none;} */
body.is-event .black-footer {display:none;}
body.is-event .quick-menu {bottom:115px;}
body.is-event #quick_m {display:none;}
body.is-event-page #footer {display: block;}
body.is-event .counselor-wrap {display:none;}

.event-page {margin:100px 0;padding-top:60px;}
.event-page.is-empty {padding-bottom:200px;}
.event-layout {width:100%;max-width:1240px;margin:0 auto;display:flex;gap:40px;align-items: flex-start;position:relative;  overflow: auto;}

/* 좌측 이벤트 메인 */
.event-main {width:945px;padding-bottom:80px;}
.event-hero__label {font-size:40px;font-weight:700;line-height:50px;margin-bottom:20px;letter-spacing: -1.6px;}

/* 디데이 */
.event-hero__meta {display: flex;align-items: center;gap:20px;font-size:18px;}
.event-hero__meta .event-hero__dday {color:#999;font-weight:700;}
.event-hero__divider {--progress: 0%;position: relative;display: inline-block;width: 80px;height: 4px;overflow: hidden;vertical-align: middle;flex-shrink: 0;background:#D9D9D9;}
.event-hero__divider::after {content: '';position: absolute;left: 0;top: 0;width: var(--progress, 0%);height: 100%;display: block;background:#393939;}
.event-hero__dday.is-urgent {color: red;font-weight: 700;}
.event-hero__banner {display: block;width:100%;margin:40px 0;}

/* 이벤트 그룹 */
.product-group {padding:40px;border: 1px solid #a7a7a7;border-radius:20px;border-radius: 20px;border: 1px solid #d9d9d9;}
.product-group + .product-group {margin-top:40px;}
.product-group__head {display: flex;justify-content: space-between;align-items: flex-end;gap: 20px;padding-bottom: 20px;border-bottom: 2px solid #EBECEF;}
.product-group__head .product-group__title-wrap {width:calc(100% - 210px);}
.product-group__head .product-group__title-wrap .product-group__title-sub {color:#A7A7A7;line-height:20px;font-size:20px;font-weight:500;letter-spacing: -0.8px;}
.product-group__head .product-group__title-wrap .product-group__title {font-size:40px;line-height:50px;font-weight:700;letter-spacing: -1.6px;margin-top:10px;}
.product-group__head .product-group__notice {font-size:16px;line-height:45px;font-weight:400;color: #B4B4B4;}

/* 이벤트 리스트 */
.product-item + .product-item {border-top: 1px dotted #D9D9D9;}
.product-item:last-child {border-bottom: 1px dotted #D9D9D9;}

.product-card {position:relative;padding:30px 20px;width:100%;text-align: left;background: none;border: 0;cursor: pointer;}
.product-card__list {display: flex;justify-content: space-between;width: 100%;}
.product-card.is-selected {background: rgba(218, 218, 218, 0.3);}
.product-card.is-selected .product-overlay {opacity: 0;display:none;}
.product-card__title {font-size:22px;font-weight:500;display:block;letter-spacing: -0.88px; line-height: 1.4;word-break: keep-all;}
.product-card__desc {font-size: 16px;line-height:16px;color:#B0B0B0;margin-top:10px;padding: 0;min-height: 0;}
.product-card__desc:empty {display: none;}
.product-card__price {text-align:right;display:flex;justify-content:center;align-self:center;line-height:30px;}
.product-card__origin {display: block;color: #B0B0B0;font-size: 16px;align-self:flex-end;line-height:normal;margin-right:20px;letter-spacing: -1.2px;}
.product-card__sale {display: block;color: #222;font-size: 30px;font-weight: 700;letter-spacing:-1.2px;}
/* 모바일 버전 */
.product-card__action {display: none;}

/* 아이템 하버 - js로 구현*/
.product-overlay__inner {position:absolute;inset:0;display:flex;justify-content:center;color:#fff;opacity: 0;transition: opacity 0.2s ease;pointer-events: none;background: rgba(218, 218, 218, 0.7);}
.product-overlay.is-show .product-overlay__inner {opacity: 1;}  
.product-overlay .icon {font-size:42px;line-height:42px;outline:2px #fff solid;border-radius:50%;width:41px;height:41px;display:flex;align-items: center;justify-content: center;align-self:center;}
.product-overlay .text {font-size:40px;line-height:40px;font-weight:700;margin-left:20px;align-self: center;}

/* 사이드바 */
.event-sidebar {position:sticky;top:164px;right: max(20px, calc((100vw - 1280px) / 2));width:280px;overflow: hidden;transition: top 0.2s ease; align-self: flex-start;}
.event-search {position:relative;line-height:0;margin-bottom: 20px;}
.event-search::before {content:'';width:100%;position:absolute;left:20px;top:0;bottom:0;margin:auto;display:block;width:26px;height:26px;background:url('/images/black/event/event-search.svg') no-repeat center center;}
.event-search input:hover, .event-search input:focus {outline:none;}

.event-sidebar__inner { display: flex;flex-direction: column;}
.event-sidebar__inner input {width:100%;border:none;height:80px;line-height:80px;font-size:18px;color:#7F7F7F;border-radius:10px;box-sizing:border-box;padding: 0 20px 0 50px;background:#fff;border:1px solid #D9D9D9}
.event-sidebar__inner input::placeholder {color:#7F7F7F;}

.event-category-wrap {position:relative;}
.event-category {max-height: calc(100vh - 264px);overflow-y:auto;box-sizing: border-box;padding:20px;background:#fff;border:1px solid #D9D9D9;border-radius:10px;}
.event-category__list li + li {margin-top:10px;}
.event-category__list button {display:block;width:100%;padding:0 0 0 20px;text-align:left;font-size:18px;line-height:24px;color:#353C49;height:80px;border-radius:10px;letter-spacing: -0.72px;background:#fff;}
.event-category__list button.is-active {font-weight:700;color:#222;background:#F0F0F0;}
.event-category__list button:hover {color:#222;font-weight:700;background: rgba(217, 217, 217, 0.40);}

.event-category::-webkit-scrollbar {width: 6px;}  
.event-category::-webkit-scrollbar-track {background: rgba(218, 218, 218, 0.2);} 
.event-category::-webkit-scrollbar-thumb {background:#BDBDBD;border-radius: 10px;}
.event-category::-webkit-scrollbar-button {display: none;}


/* 푸터 버튼*/
.event-sidebar__footer {position:fixed;bottom:0;left:0;width:100%;}
.event-sidebar__footer button {display:block;width:100%;text-align:center;color:#fff;font-size:30px;font-weight:700;line-height:80px;height:80px;background:#222;}

/* 모바일용 */
.event-category-toggle {display: none;}

/* 팝업 */
.consult-panel[hidden] {display: none !important;}  
.consult-panel {position: fixed;inset: 0;z-index: 999;background: rgba(0, 0, 0, 0.5);display: flex;align-items: center;justify-content: center;}
.consult-panel__inner {position:relative;width:min(1080px,100%);padding:40px;background: #f2f2f2;}
.consult-form {display: flex;gap:40px;}
.consult-form__left, .consult-form__right {flex: 1;}
.consult-form__title {margin-bottom:20px;font-size:22px;font-weight: 700;color: #000;}
.consult-form__row + .consult-form__row {margin-top:10px;}
.consult-form__group + .consult-form__group {margin-top:40px;}
.consult-form__row--double {display: flex;gap:10px;}
.consult-form__row--double .consult-input {width:50%;} 
.consult-input, .consult-textarea {display:block;width: 100%;border: 0;border-radius: 10px;font-size: 18px;color: #7F7F7F;box-sizing: border-box;background: #fff;}
.consult-input {height: 74px!important;padding: 0 20px;}
.consult-textarea {height: 198px;padding: 24px 28px;resize: none;}
.consult-gender-wrap {width:50%;}
.consult-gender { display: flex;width: 100%;height: 74px;overflow: hidden;border-radius: 10px;background: #fff;}
.consult-gender__btn {flex: 1;border: 0;background: #fff;font-size:18px;font-weight: 400;color: #7F7F7F;cursor: pointer;transition: background .2s ease, color .2s ease;}  
.consult-gender__btn.is-active {background: #222;color: #fff;font-weight: 700;}
.consult-apply-box {min-height:267px;max-height:267px;padding:5px 20px 20px;border-radius: 10px;overflow-y:auto;background: #fff;}
.consult-apply-box::-webkit-scrollbar {width: 4px;}  
.consult-apply-box::-webkit-scrollbar-track {background: rgba(0, 89, 76, 0.10);} 
.consult-apply-box::-webkit-scrollbar-thumb {border-radius: 10px;background:#222;}
.consult-apply-box::-webkit-scrollbar-button {display: none;}
.consult-apply-item {display: flex;align-items: center;gap: 14px;padding: 18px 0;border-bottom: 1px dashed #ddd;}
.consult-apply-item__remove {border: 0;background: none;width:16px;height:16px;font-size:10px;border-radius:4px; color:#fff;cursor: pointer;background:#858585;}
.consult-apply-item__title {flex: 1;font-size: 20px;font-weight: 600;color: #111; display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;text-overflow: ellipsis;line-height: 1.5;}
.consult-apply-item__price {font-size: 22px;font-weight: 700;color: #222;}
.consult-agree {margin-top:20px;}
.consult-check {display: flex;align-items: center;font-size:14px;gap: 10px;color: #888;}
.consult-check + .consult-check {margin-top:5px;}
.consult-submit-btn {width: 100%;height: 84px;margin-top:20px;border: 0;border-radius: 16px;background: #222;color: #fff;font-size: 28px;font-weight: 700;}
.consult-close-btn {position: absolute;top: 20px;right: 20px;color:#393939;}

/* 지점용 */
html.is-branch-page .event-hero__divider::after {background: #999999;}
html.is-branch-page .event-category__list button.is-active {background: rgba(249, 236, 215, 0.5);}
html.is-branch-page .product-card.is-selected {background: rgba(249, 236, 215, 0.5);}
html.is-branch-page .event-category__list button:hover {background: rgba(249, 236, 215, 0.7);}
html.is-branch-page .product-overlay__inner {background: rgba(249, 236, 215, 0.7);}
html.is-branch-page .event-sidebar__footer button{background: #86755A;}
html.is-branch-page .consult-gender__btn.is-active {background: #86755A;}
html.is-branch-page .consult-submit-btn {background: #86755A;}
html.is-branch-page .consult-apply-item__price {color:#86755A}
html.is-branch-page .consult-apply-item__remove {background: #A08964 ;}



@media all and (max-width:1080px) {

    :root {
      --header-height: 55px;
    }

    body.is-event #main {margin-top: 55px;}
	body.is-event .quick-menu {bottom:80px!important}
    body.is-event #header_m .header_top {height:55px;z-index:9999;}
    body.is-event #header_m .header_top .logo a {height:55px;}

    .event-page {margin:0;padding:0 0 100px 0;}
    .event-layout {flex-direction: column-reverse;gap:0;}

    /* 좌측 이벤트 메인 */
    .event-main {width:100%;padding-bottom:0;}

    .event-hero {display:flex;flex-direction: column-reverse;}
    .event-hero__banner {margin:0;}
    .event-hero__banner img {width: 100%;height: auto;}

    .event-hero__meta {margin:20px 0;text-align:center;justify-content:center;}    

    /* 이벤트그룹 */
    .product-group {border:none;border-radius:0;padding:20px 16px;}
    .product-group + .product-group {margin-top:20px;}
    .product-group__head {display:block;}
    .product-group__head .product-group__title-wrap {width:100%;}
    .product-group__head .product-group__title-wrap .product-group__title-sub {font-size:16px;line-height:16px;}
    .product-group__head .product-group__title-wrap .product-group__title {font-size:24px;line-height:24px;margin:16px 0 10px;}
    .product-group__head .product-group__notice {font-size:14px;line-height:14px;margin-top:10px;}

    .product-card {padding:20px 10px;}
    .product-card__list {display:block ;}
    .product-card__info {padding:0 20px 0 0;}
    .product-card__title {font-size:18px;line-height:26x;padding-right: 14px;}
    .product-card__desc {font-size:16px;line-height:16px;}
    .product-card__price {justify-content:right;margin-top:15px;}
    .product-card__origin {margin-right:10px;font-size:16px;line-height:16px;align-self:flex-end;}
    .product-card__sale {font-size:26px;line-height:26px;}
    /* .product-card__action {position:absolute !important;right:20px !important;top:20px !important;left:auto !important;width:21px;height:21px;line-height:21px;font-size:21px;border-radius:50%;color:#fff;display:inline-flex;align-items:center;justify-content:center;background:#B0B0B0;transition: transform 0.4s cubic-bezier(.68,-0.55,.27,1.55), background 0.3s ease;transform: rotate(0deg);} */
    .product-card__action {position:absolute !important;right:20px !important;top:20px !important;left:auto !important;color:#fff;display:inline-flex;align-items:center;justify-content:center;background:url('/images/black/event/event-plus.svg') no-repeat center center;background-size:100% 100%;width:21px;height:21px;transition: transform 0.4s cubic-bezier(.68,-0.55,.27,1.55), background 0.3s ease;transform: rotate(0deg);}
    .product-card.is-selected .product-card__action {transform: rotate(180deg);background:url('/images/black/event/event-plus-active.svg') no-repeat center center;background-size:100% 100%;filter:grayscale(1)}

    /*  */
    .product-overlay {display:none !important;}

    /* 사이드바 */
    .event-sidebar {width:100%;position:relative;width: 100%; top: auto;right: auto;width: 100%;} 
    .event-sidebar__inner {display: block;position:relative;background:#fff;}
    .event-sidebar__inner input {height:50px ;}
    .event-search {margin-bottom:0;padding:15px 16px 10px;}
    .event-search::before {left:35px;}

    /* 모바일 카테고리: 토글 드롭다운 -> 가로 스크롤 탭 */
    .event-category-wrap {position:relative;margin-bottom:0;padding:0 0 10px;background:#fff;overflow:hidden;}
    .event-category-toggle {display:none !important;}

    .event-category {display:block !important; width:100%; height:auto !important; max-height:none !important; padding:0 16px 10px; border:0; border-radius:0; background:#fff; box-sizing:border-box; overflow-x:auto !important; overflow-y:hidden !important; -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain; touch-action:pan-x; scrollbar-width:none;}
    .event-category.is-open {display:block !important;}
    .event-category::-webkit-scrollbar {display:none;width:0;height:0;}

    .event-category__list {display:flex;align-items:center;gap:8px;min-height:auto;white-space:nowrap;}
    .event-category__list li {flex:0 0 auto;}
    .event-category__list li + li {margin-top:0;}
    .event-category__list button,
    .event-category__btn {display:inline-flex; align-items:center; justify-content:center; width:auto; height:36px; padding:0 14px; border:1px solid #e4e4e4; border-radius:999px; background:#fff; color:#666; font-size:16px; font-weight:500; line-height:36px; text-align:center; letter-spacing:-0.56px; white-space:nowrap;}
    .event-category__list button br {display:none;}
    .event-category__list button.is-active,
    .event-category__btn.is-active {border-color:#222;background:#222;color:#fff;font-weight:700;}
    .event-category__list button:hover {border-color:#222;background:#222;color:#fff;font-weight:700;}
    .event-sidebar.is-category-open {position:relative;top:auto;left:auto;right:auto;bottom:auto;z-index:100;background:#fff;}
    .event-sidebar.is-category-open .event-sidebar__inner {height:auto;overflow:visible;background:#fff;}
    body.is-category-open {overflow:auto;}
    body.is-category-open .event-category-wrap {height:auto;}
    body.is-category-open .event-sidebar__footer {display:block !important;}

    .event-sidebar__footer {position:fixed;left:0;bottom:0;width:100%;}
    .event-sidebar__footer button {border-radius:0;font-size:25px;line-height:60px;height:60px;}

    .event-consult-btn {width: 100%;min-height: 56px;border-radius: 12px;}

    body.is-consult-open .event-sidebar__footer, body.is-consult-open .event-floating {display: none !important;}


    /* 팝업 */
    .consult-form {display:block;}
    .consult-panel {inset:auto;top:0;width:100%;}
    .consult-panel__inner {height:100vh;width:100%;overflow-y:auto;padding:40px 20px 80px;}
    .consult-form__title {margin-bottom: 20px;}
    .consult-input {height:60px!important;margin-top:10px;}
    .consult-gender-wrap {width:100%;margin-top:10px;}
    .consult-gender {height:60px;}
    .consult-form__row--double .consult-input {width:100%;}
    .consult-form__row--double {display: block;}
    .consult-form__row + .consult-form__row {margin-top:0px;}
    .consult-form__group + .consult-form__group {margin-top:20px;}
    .consult-form__right {margin-top:20px;}
    .consult-textarea {height:120px;padding:20px;}
    .consult-apply-item__title {font-size:16px;line-height:22px;}
    .consult-apply-item__price {font-size:22px;line-height:22px;}
    .consult-submit-btn {height:60px;font-size:18px;border-radius:10px;}


    /* 지점용 */
    html.is-branch-page .event-category__list button.is-active, .event-category__btn.is-active {background: #86755A;}
    html.is-branch-page .product-card__action {background: url(/images/black/event/branch-event-plus.svg) no-repeat center center;}
    html.is-branch-page .product-card.is-selected .product-card__action {background: url(/images/black/event/branch-event-plus-active.svg) no-repeat center center; filter:none;}
}

