/* include 공통 CSS */

.ly-header {
  width: 100%;
}

.ly-header__marquee {
  display: flex;
  overflow: hidden;
  width: 100%;
  background-color: var(--primary);
  color: #fff;
}

.ly-header__flow {
  display: flex;
  flex-shrink: 0;
  white-space: nowrap;
  animation: marquee-scroll 60s linear infinite;
}

.ly-header__banner {
  display: flex;
  align-items: center;
  padding: 0 400px;
}

.ly-header__text {
  display: flex;
  align-items: center;
  min-height: 40px;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: -0.03em;

}

@keyframes marquee-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%); /* 첫 번째 트랙이 완전히 왼쪽으로 사라지는 시점 */
  }
}

.ly-header__container {  
  display: flex;
  justify-content: center;
  align-items: center;
  height: var(--header-height);
}

.ly-header__logo {
  width: 172px;
}

.ly-wrapper {
  position: relative;
  flex:1;
  overflow: hidden;
}

.ly-footer {  
  background-color: var(--bg-light);
}

.ly-footer__container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: var(--footer-height);
  padding:38px 0;
}

.ly-footer__name {
  color: var(--primary);
  font-weight: 600;
  line-height: 1.7;
}

.ly-footer__meta {
  display: flex;
  margin-top: 0.15em;
  line-height: 1.5;  
}

.ly-footer__dt {
  margin-right: 0.4em;
  font-weight: 700;
  color: var(--dark-light);
}

.ly-footer__dd {
  margin-right: 1em;
  font-weight: 500;
}

.inner {    
  width: 100%;  
  margin: 0 auto;
  padding:0 16px;  
}

.inner--xs {
  max-width:782px;
}

.inner--sm {
  max-width:1352px;
}

.inner--lg {
  max-width:1432px;
}

.inner--xl {
  max-width:1792px;
}

.product-card {
  position: relative;
  padding:20px;
  border-radius:40px;
  background-color: #fff;
  box-shadow:0 16px 32px rgba(0,0,0,0.25)
}

.product-card--detail {
  box-shadow: 0 8px 16px rgba(0,0,0,0.1)
}

.product-card__badge {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 20px;
  left: 20px;
  width: 4.125em;
  height: 2.125em;
  font-weight: 600;
  text-align: center;
  color: var(--secondary);
  border-radius:2em;
  background-color: var(--dark);
}

.product-card__info {
  padding:20px 10px 8px;
}

.product-card--detail .product-card__info {
  padding: 16px 10px 8px;
}

.product-card__frame {
  position: relative;
  border-radius:24px;
  overflow: hidden;
}

.product-card__frame img {width: 100%;}

.product-card__row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding-bottom: 20px;
  border-bottom: 1px solid #E9ECEF;
}

.product-card--detail .product-card__row {
  padding-bottom: 12px;
}

.product-card__name {
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: var(--dark);
  line-height: 1.4;
}

.product-card--detail .product-card__name {
  gap:1px;
}

.product-card__brand {
  font-size: 14px;
  font-weight: 500;
}

.product-card--detail .product-card__brand {
  font-size: 18px;
  color: #ADB5BD;
}

.product-card__model {
  font-size: 20px;
  font-weight: 700;
  color: var(--dark);
}

.product-card--detail .product-card__model {
  font-size: 32px;    
}

.product-card__price {
  display: flex;
  flex-direction: column;
  gap: 4px;
  text-align: right;
}

.product-card--detail .product-card__price {
  gap:1px;
}

.product-card__price-item {
  display: flex;
  justify-content: flex-end;
  gap: 0.25em;
  color: #ADB5BD;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -0.05em;
}

.product-card__price-item--release {
  text-decoration: line-through;    
}

.product-card--detail .product-card__price-item--release {
  font-size: 18px;
}

.product-card__price-item--sale {
  color: var(--primary);
  font-size: 20px;
  font-weight: 700;
}

.product-card--detail .product-card__price-item--sale {
  font-size: 32px;
}

.product-card__price-dt::after {
  content: ' : ';
  white-space: pre;
}

.product-card__price-dd strong {
  font-weight: 700;
}


.product-card__period {
  display: flex;
  gap: 0.25em;
  margin-top: 20px;
  color: var(--dark);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -0.03em;
  color: var(--dark);
}

.product-card--detail .product-card__period{
  margin-top: 0.8em;
  font-size: 20px;
}

.product-card__period-dt::after {
  content: ' : ';
  white-space: pre;
}

.product-card__notice {
  margin-top: 4px;
  color: #20CF3E;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -0.03em;    
}

.product-card--detail .product-card__notice {
  margin-top: 0.6em;
  font-size: 20px;
}

.product-card__link {
  width: 100%;
  margin-top: 0.8em;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  color: #F3F4F9;
  background-color: var(--primary);
  height: 3em;
  border-radius:2em;
  transition: 0.3s;
}

/************************* sub-dropdown 시작 *************************/
.drop-menu {border-bottom:1px solid var(--main-gray);}
.drop-menu__inner {display: flex; border-right:1px solid var(--main-gray); border-left:1px solid var(--main-gray);}
.drop-menu__home {display: inline-flex; min-width: 3em; min-height: 3em; height: inherit; justify-content: center; align-items: center;}
.drop-menu__icon {width: 1.75em;}
.drop-menu__wrap {position: relative; z-index: 0; border-left:1px solid var(--main-gray);}
.drop-menu__wrap:last-child {border-right:1px solid var(--main-gray); }
.drop-menu__btn {display: flex; justify-content: space-between; align-items: center; min-width:15em; height: 100%; padding:0 0.15rem; font-weight: 500; transition:.15s ease-in-out all;}
.drop-menu__tit {display: block; font-size: 1.125em;}
.drop-menu__arr {margin-left: 1.5em; width: 0.75em; transition:.15s ease-in-out all;}
.drop-menu__navi {position: absolute; top: 100%; left: -1px; z-index: 10; width:calc(100% + 2px);  height: 0; overflow: hidden;}
.drop-menu__list {background-color: #fff; border:1px solid var(--main-gray);}
.drop-menu__link {display: block; padding:0.5em 0.15rem; transition:.15s ease-in-out all;}
@media(hover:hover){
	.drop-menu__link:hover {background-color: var(--main-color); color: #fff;}
}

.drop-menu__btn.on {background-color: var(--main-color); color: #fff;}
.drop-menu__btn.on .drop-menu__arr {filter:brightness(0) invert(1); transform:rotate(180deg);}

/************************* dropdown 끝 *************************/
/************************* tabmenu 시작 *************************/
.tab-menu {border-bottom:1px solid var(--main-gray)}
.tab-menu__list {display: flex;}
.tab-menu__item {flex:1;}
.tab-menu__btn {padding:1.5em 0.75em; display: flex; justify-content: center; align-items: center; text-align: center; height: 100%; transition: .15s ease-in-out all;}
.tab-menu__btn--crt {background-color: var(--main-color);}
.tab-menu__btn--crt,
.tab-menu__btn--crt:link,
.tab-menu__btn--crt:visited {color: #fff;}
@media(hover:hover){
	.tab-menu__btn:hover {background-color: var(--main-color); color: #fff;}
}
/************************* sub-tabmenu 끝 *************************/

/************************* depth3 시작 *************************/
.depth3__list {display: flex; flex-flow: row wrap;}
.depth3__item {flex:1;}
.depth3__item:last-child {border:0;}
.depth3__btn {padding:1.5em 0.75em; width: 100%; height: 100%; display: flex; align-items: center;justify-content: center; border-bottom:2px solid var(--main-gray); transition:.15s ease all;}
.depth3__btn--crt {border-color:var(--main-color);}
@media(hover:hover){
	.depth3__btn:hover {border-color:var(--main-color);}
}
/************************* depth3 끝 *************************/




/************************* split-text *************************/
.split-text__word {font-size: inherit;}
.split-text__letter {display: inline-block; font-size: inherit;}
.split-text--no-delay .split-text__letter {transition-delay:0s !important; animation-delay:0s !important;}


/************************* 헤더·푸터 반응형 *************************/
@media (max-width:1080px){
  :root {
    --header-height: 88px;
    --footer-height: 140px;
  }
  .ly-header__logo { width: 150px; }
  .ly-footer__container { padding: 32px 0; }
}

@media (max-width:768px){
  :root {
    --header-height: 72px;
    --footer-height: auto;
  }
  .ly-header__logo { width: 128px; }
  .ly-footer__container { padding: 26px 0; }
  .ly-footer__meta {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 0.4em;
    row-gap: 2px;
  }
  .ly-footer__dt { margin-right: 0; }
  .ly-footer__dd { margin-right: 0; }
}

@media (max-width:500px){
  :root { --header-height: 56px; }
  .ly-header__logo { width: 104px; }
  .ly-footer__container { padding: 20px 0; }
  .ly-footer__name { font-size: 15px; }
  .ly-footer__meta { font-size: 12.5px; line-height: 1.5; }
  .ly-footer__dt { margin-right: 0.3em; }
}


/************************* product-card 반응형 *************************/
@media (max-width:1080px){
  .product-card { padding: 16px; border-radius: 32px; }
  .product-card__badge { top: 16px; left: 16px; }
  .product-card__info { padding: 16px 6px 6px; }
  .product-card__frame { border-radius: 20px; }
  .product-card__row { gap: 12px; padding-bottom: 16px; }
  .product-card__model { font-size: 18px; }
  .product-card__price-item--sale { font-size: 18px; }
  .product-card__period { margin-top: 16px; }
  .product-card__link { font-size: 18px; }

  .product-card--detail .product-card__brand { font-size: 16px; }
  .product-card--detail .product-card__model { font-size: 26px; }
  .product-card--detail .product-card__price-item--release { font-size: 16px; }
  .product-card--detail .product-card__price-item--sale { font-size: 26px; }
  .product-card--detail .product-card__period { font-size: 18px; }
  .product-card--detail .product-card__notice { font-size: 18px; }
}

@media (max-width:768px){
  .product-card {flex:1; padding: 14px; border-radius: 24px; box-shadow: 0 8px 16px rgba(0,0,0,0.18); }
  .product-card__badge { top: 12px; left: 12px; }
  .product-card__info { padding: 12px 4px 4px; }
  .product-card__frame { border-radius: 16px; }
  .product-card__row { gap: 10px; padding-bottom: 12px; }
  .product-card__brand { font-size: 12px; }
  .product-card__model { font-size: 16px;}
  .product-card__price-item { font-size: 12px; }
  .product-card__price-item--sale { font-size: 16px; }
  .product-card__period { margin-top: 12px; font-size: 13px; }
  .product-card__notice { font-size: 12px; }
  .product-card__link { font-size: 16px; }

  .product-card--detail .product-card__brand { font-size: 14px; }
  .product-card--detail .product-card__model { font-size: 22px; }
  .product-card--detail .product-card__price-item--release { font-size: 14px; }
  .product-card--detail .product-card__price-item--sale { font-size: 22px; }
  .product-card--detail .product-card__period { font-size: 15px; }
  .product-card--detail .product-card__notice { font-size: 15px; }
}

@media (max-width:500px){
  .product-card { padding: 12px; border-radius: 20px; }
  .product-card__badge { top: 0px; left: 0px; }
  .product-card__info { padding: 10px 2px 2px; }
  .product-card__frame { border-radius: 14px; }
  .product-card__row {flex-direction: column; gap: 8px; padding-bottom: 10px; }
  .product-card__name { width: 100%; min-width: 0;}
  .product-card__price-item {justify-content: flex-start;}
  .product-card__brand { font-size: 11px; }
  .product-card__model { font-size: 15px; display: block; width: 100%; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
  .product-card__price-item { font-size: 11px; }
  .product-card__price-item--sale { font-size: 14px; }
  .product-card__period { margin-top: 10px; font-size: 12px; }
  .product-card__notice { font-size: 11px; }
  .product-card__link { font-size: 14px; }

  .product-card--detail .product-card__brand { font-size: 13px; }
  .product-card--detail .product-card__model { font-size: 18px; }
  .product-card--detail .product-card__price-item--release { font-size: 13px; }
  .product-card--detail .product-card__price-item--sale { font-size: 18px; }
  .product-card--detail .product-card__period { font-size: 13px; }
  .product-card--detail .product-card__notice { font-size: 13px; }
}