@charset "utf-8";

@font-face {
  font-family: 'GmarketSansMedium';
  src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansMedium.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}

/* 변수 재사용 */
:root {
  --primary-color: #e40614;
  --gray-color: #999;
  --text-color: #333;
  --link-color: rgb(0, 102, 255);
  --font-family: 'GmarketSansMedium', sans-serif;
  --base-font-size: clamp(14px, 1.5vw, 18px);
}

html {
  font-size: var(--base-font-size);
}

body {
  font: normal 1.125rem/1.5 var(--font-family);
  color: var(--text-color);
  text-align: center;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

a {
  color: inherit;
  text-decoration: none;
}

h2 {
  color: #000;
  font-size: 1.56rem;
  font-weight: 700;
  margin: 1.875rem 0 1.25rem 0;
}

/* header */
header {
  background-color: var(--primary-color);
  width: 100%;
  padding: 0.625rem 1.25rem;
  box-shadow: 0 0.0625rem 0.1875rem rgba(0,0,0,0.3);
  box-sizing: border-box;
}

#head {
  font-size: 1.875rem;
  position: relative;
}

#head > a > i {
  float: left;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  color: #fff;
}

#head h1 span {
  display: inline-block;
  transform: translateY(-1.25rem);
}

/* main */
main {
  margin: 1.25rem;
  text-align: center;
  margin-bottom: 25%;
  overflow: hidden;
}

/* 포인트 섹션 */
#point {
  padding: 2.19rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px dotted var(--gray-color);
  box-sizing: border-box;
  margin-bottom: 1.875rem;
}

.pt_text {
  margin-left: 1.25rem;
}

.pt_text p {
  font-size: 1.56rem;
  margin: 0;
}

.pt_text span {
  display: block;
  font-size: 1.25rem;
  color: #616161;
  text-align: right;
  padding-top: 1.25rem;
}

#point i {
  font-size: 1.875rem;
}

/* 쿠폰 랩 부모에 flex 적용 */
#coupon_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 1.5rem; /* 쿠폰 간격 */
  align-items: stretch;
  box-sizing: border-box;
}

#coupon_wrap h2 {
  width: 100%;
  font-size: 1.56rem;
  margin-bottom: 1rem;
  text-align: center;
}

.couponPro_wrap { /* 쿠폰 요소들 전체 묶음하여 배치 */
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}

/* coupon_pro */
.coupon_pro {
  background: url(../img/couponbg_l.png) no-repeat left top;
  width: 40%;
  background-size: 100% auto;
  padding: 1.25rem 0.7rem;
  margin-bottom: 1.25rem;
  box-sizing: border-box;
  cursor: pointer;
  transition: transform 0.2s ease-in-out;
}

.coupon_pro:hover {
  transform: translateY(-5px);
}

.coupon_pro a {
  display: block;
}

.coupon_pro a img {
  width: 90%;
  min-width: 10px;
  height: auto;
  border-radius: 8px;
  margin-bottom: 1rem;
}

.coupon_pro a p:first-of-type {
  font-size: 0.75rem;
  margin-bottom: 0;
}

.coupon_pro a p span {
  font-weight: bold;
  margin-left: 0.625rem;
}

.coupon_pro a p.expiration {
  font-size: 0.7rem;
  color: #b4b4b4;
  padding-bottom: 0.625rem;
  margin: 0;
}

/* 320px 이하 대응 */
@media (max-width: 320px) {
  body {
    font-size: 14px;
  }
  h2, #coupon_wrap h2 {
    font-size: 1.2rem;
    margin: 1rem 0 0.75rem 0;
  }
  header {
    padding: 0.5rem 1rem;
  }
  #head {
    font-size: 1.5rem;
  }
  #head > a > i {
    font-size: 1.2rem;
  }
  #head h1 span {
    transform: translateY(-1rem);
  }
  main {
    margin: 1rem;
    margin-bottom: 25%;
  }
  #point {
    padding: 1rem;
    flex-wrap: wrap;
  }
  .pt_text {
    margin-left: 0.625rem;
  }
  .pt_text p {
    font-size: 1.5rem;
  }
  .pt_text span {
    font-size: 1.2rem;
    padding-top: 0.75rem;
    text-align: center;
  }
  #point i {
    font-size: 1.5rem;
  }

  .coupon_pro a p:first-of-type {
    padding-top: 0;
    font-size: 0.65rem;
  }

  .coupon_pro a p.expiration {
    font-size: 0.5rem;
  }
}
