:root{
    --maxw: 1080px;
    --navy: green;
    --text: #111;
    --muted:#5c6b78;
    --mat-max: 1200px;
    --mat-gap: clamp(24px, 4vw, 48px);
    --adv-max: 1200px;
    --ink:#111; 
    --line:#ebeff3; 
    --brand:#1f4a35;
}
html,body{
    width:100%;
    height:100vh;
    margin:0;                /* 기본 여백 제거 */
    padding:0;
    font-family: "Pretendard";
    line-height: 1.4;          /* 행간 140% */
    letter-spacing: -0.025em;   /* 자간 -2.5% */
    color:#111;
    background-color: #ffffff; /* 원하는 색 */
}
.header-bg{
  height: 600px;                       /* 원하는 높이 */
  position: relative;
  display: grid;
  place-items: center;                 /* 가로·세로 중앙 */
  text-align: center;
  color: #fff;                         /* 글자 색 */
  overflow: hidden;
}

/* 배경 이미지 적용 */
.header-bg--image{
  background: url('/asset/images/materials/armonie/header.png') center/cover no-repeat;
}
.header-bg--image::after{
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.2); /* 어둡게 (0.3~0.6 정도로 조절 가능) */
  z-index: 1;
}
/* 가독성 위한 어둡기 오버레이 */
.header-bg::after{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(to bottom, rgba(0,0,0,.35), rgba(0,0,0,.35)); /* 전체 살짝 어둡게 */
}

/* 내용 래퍼 (너비 제한) */
.header-bg__inner{
  position: relative;                  /* 오버레이 위로 */
  z-index: 2;
  max-width: var(--vm-max, 1200px);
  width: 100%;
  padding: 0 20px;
  margin: 0 auto;
}


.header-bg__subtitle{
  margin: 0;
  color: white;
  font-weight: 600;
  font-size: clamp(14px, 1.6vw, 30px);
  margin-bottom: 40px;
}

/* 반응형 높이 살짝 조정(선택) */
@media (max-width: 1024px){
  .header-bg{ height: 360px; }
}


.armonie-intro__logo{
  width: clamp(240px, 18vw, 280px);
  height:auto;
  display:block;
  margin: 0 auto clamp(4px, 1vw, 8px);
  margin-top: clamp(12px, 4vw, 40px); /* 수치는 취향대로 조절 */
}
/*-----------------------intro-----------------*/

.armonie-intro{
  background:#fff;
  color:var(--ink);
  padding: clamp(20px, 4vw, 40px) 20px clamp(16px, 3vw, 24px);
  
}


.armonie-intro__container{
  max-width: var(--maxw);
  margin: 0 auto;
  text-align:center;
  font-size: clamp(14px, 1.6vw, 20px);
}



/* 아르모니 인트로의 span 간 간격 */
.armonie-intro__container span{
  display: block;          /* 인라인 → 블록 */
  margin: 10px 0;          /* 위아래 여백 */
  line-height: 1.9;        /* 가독성 */
  font-weight: 400;

}

/* 두 번째 span만 조금 더 띄우고 싶다면(선택) */
.armonie-intro__container span + span{
  margin-top: 16px;
}
.armonie-intro__headline{
  margin: 0 0 clamp(18px, 3.5vw, 28px);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.25;
  font-size: clamp(22px, 3.6vw, 40px);
  display: inline-block;
}
.armonie-intro__headline .q{
  
  font-weight: 800;
}

/* 강조 단어 색상 */
.armonie-intro strong{ color: var(--brand); }

/* 본문 설명 */
.armonie-intro__lead{
  margin: 0 0 8px;
  
  font-size: clamp(15px, 1.5vw, 18px);
  line-height: 1.9;
}

/* 사이즈 라인 */
.armonie-intro__meta{
  margin: 10px 0 0;
  
  font-weight: 600;
  font-size: clamp(14px, 1.3vw, 16px);
}
/*-----------------------advantage-----------------*/
.adv{ background:#fff;  }
.adv__container{ max-width:var(--adv-max); margin:0 auto; padding:40px 20px 64px; }

.adv__head{ margin-bottom:18px; }
.adv__title{ margin:0 0 6px; font-size:28px; font-weight:500; }
.adv__subtitle{ margin:0; color:black; line-height:1.8; font-size: 18px; font-weight: 400; }

/* 배지 줄 */
.adv-badges{
  list-style:none; margin:18px 0 10px; padding:0;
  display:grid; gap:16px 20px;
  grid-template-columns: repeat(5, minmax(160px,1fr));
}
.adv-badge{
  display:grid; grid-template-columns:40px 1fr; gap:10px; align-items:center;
  padding:8px 6px;
}
.adv-badge img{ width:40px; height:40px; object-fit:contain; }
.adv-badge b{ display:block; font-size:16px; font-weight: 500; }
.adv-badge span{ display:block;  font-size:14px; font-weight: 400;}

/* 구분선 */
.adv__rule{ border:0; border-top:1px solid var(--line); margin:16px 0; }

/* 3열 그리드 */
.adv-grid{
  display:grid; gap:18px 24px;
  grid-template-columns: repeat(3, 1fr);
}
.adv-item{
  display:grid; grid-template-columns:90px 1fr; gap:14px; align-items:start;
  padding:12px 0;
}
.adv-item__thumb{
  width:90px; height:64px; object-fit:contain; object-position:center;
  border-radius:6px; background:#fff;
}
.adv-item__text h3{ margin:0 0 6px; font-size:16px; font-weight:500; }
.adv-item__text p{ margin:0;  line-height:1.7; font-size:14px; font-weight: 400; }
.adv-item--empty{ visibility:hidden; }

/* 강조 색상(원하면 사용) */



/*-----------------------material-----------------*/
.materials__container
{
    max-width:var(--mat-max);
    margin:0 auto;
    padding:48px 24px 80px;
}
.materials__title{margin:0 0 20px;font-size:28px;font-weight:500}

  /* Grid */
.swatch-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--mat-gap)}


.swatch__card{margin:0;text-align:center}
.swatch__media{aspect-ratio:1/1;border:0;padding:0;background:#f3f5f7;cursor:pointer;border-radius:8px;overflow:hidden;box-shadow:0 6px 20px rgba(0,0,0,.08);display:block;width:100%}
.swatch__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.swatch__media:hover img,.swatch__media:focus-visible img{transform:scale(1.03)}
.swatch__caption{font-size:16px;font-weight:400;color:#111;margin-top:10px}

/* Lightbox */
/* 라이트박스가 hidden일 땐 완전히 배제 */
#lightbox[hidden]{ display:none !important; pointer-events:none !important; }
.lightbox{position:fixed;inset:0;z-index:1000;display:grid;place-items:center}
.lightbox__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.9);backdrop-filter:saturate(120%) blur(2px)}
.lightbox__dialog{
  position: relative;             /* ← 추가! (버튼들의 기준) */
  max-width: min(96vw, 1400px);
  max-height: calc(100dvh - 64px);
  display: grid;
  grid-template-rows: 1fr auto;
  place-items: center;
  overflow: hidden;
  z-index: 2;
  border-radius: 2px;
}

/* 새 래퍼: dialog와 버튼을 묶고, 버튼 기준이 되게 함 */
.lightbox__frame{
  position: relative;          /* ← 버튼들의 기준 */
  display: inline-block;
}



/* 공통 버튼 */
.lightbox__btn{
  position:absolute;
  z-index:1001;
  width:36px; height:36px;
  display:grid; place-items:center;
  background: rgba(255,255,255,0.2);    /* 투명 배경 */
  backdrop-filter: blur(20px);           /* 핵심 */
  -webkit-backdrop-filter: blur(12px);   /* iOS/Safari */
  color:#111; font-size:32px;
  cursor:pointer; transition:transform .15s ease, background .2s;
  border-radius: 8px;
}
.lightbox__btn:hover{ background:rgba(255,255,255,.18); }

/* 닫기(X) — dialog 안쪽 */
.lightbox__close{ top:200px; right:200px; }

/* 좌/우 화살표 — frame 기준으로 “dialog 바로 바깥” */
.lightbox__prev,
.lightbox__next{ top:50%; transform:translateY(-50%); }
.lightbox__prev{ left:8px; }   /* 바깥으로 56px */
.lightbox__next{ right:8px; }

.lightbox__caption {
  position: absolute;
  bottom: 24px;                /* 이미지 아래쪽에서 조금 띄움 */
  left: 50%;
  transform: translateX(-50%);
  max-width: 90%;
  padding: 8px 12px;          /* 여백 */
  font-weight: 500;
  font-size: 18px;
  line-height: 1.4;
  color: #111;
  text-align: center;
  background: rgba(255,255,255,0.2);    /* 투명 배경 */
  backdrop-filter: blur(20px);           /* 핵심 */
  -webkit-backdrop-filter: blur(12px);   /* iOS/Safari */
  border-radius: 8px;
  white-space: normal;              /* 여러 줄 허용 */
  word-break: keep-all;
}


/* 전체 페이저 컨테이너 */
.pager{
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 12px;        /* ← 버튼 사이 여백 */
  margin-top: 40px; /* 위쪽 여백 */
}
.pager__pages{
  display:flex;
  gap: 8px;  /* 숫자 버튼 간격 */
}
/* Prev/Next, 숫자 버튼 공통 */
.pager__btn,
.pager__page{
  padding:8px 14px;
  border:1px solid #d8dde3;
  border-radius:6px;
  background:#fff;
  font-weight:300;
  cursor:pointer;
  min-width:40px;       /* 버튼 최소 너비 → 글자 폭 일정 */
  text-align:center;    /* 숫자 중앙 정렬 */
}

/* 비활성화 */
.pager__btn[disabled]{
  opacity:.45;
  cursor:not-allowed;
}

/* 현재 페이지 */
.pager__page.is-active{
  background:#111;
  color:#fff;
  border-color:#111;
}

.swatch__caption{
  margin-top: 8px;
  text-align: center;
}

.swatch__code{
  font-weight: 500;
  font-size: 18px;
}
.swatch__desc{
  font-size: 14px;
  color: #111;
  font-weight: 400;
}
.swatch__desc2{
  font-size: 14px;
  color: #111;
  font-weight: 400;

}





/* ===== Tablet (≤1024px) ===== */
@media (max-width:1024px){
  
  /* 헤더 */
  .header-bg{ height:360px; background-position:center 40%; }
  .header-bg__inner{ padding:0 16px; }
  .header-bg__subtitle{ font-size:clamp(16px,2.4vw,18px);   margin-bottom: 0px; }
  .armonie-intro__logo{
    width: clamp(140px, 18vw, 240px);
    height:auto;
    display:block;
    margin: 0 auto clamp(4px, 1vw, 8px);
    margin-top: clamp(12px, 4vw, 40px); /* 수치는 취향대로 조절 */
  }
  /* 인트로 */
  .armonie-intro{ padding: 28px 16px 20px; }
  .armonie-intro__container{ font-size:clamp(12px,1.8vw,16px); padding-inline: 10px;}

  .lightbox__prev{ left:56px;  } /* 왼쪽으로 50% */
  .lightbox__next{ right:56px;  } /* 오른쪽으로 50% */
  /* 배지/설명 그리드 */
  .adv__container{ padding:28px 16px 48px; }
  .adv-badges{ grid-template-columns:repeat(3,minmax(140px,1fr)); gap:14px 16px; }
  .adv-grid{ grid-template-columns:repeat(2,1fr); gap:16px 18px; }
}

/* ===== Mobile base (≤768px) ===== */
@media (max-width:768px){

  
  .adv__title {font-size: 24px;}
  .adv__subtitle {font-size: 15px; font-weight: 400;}
  .adv-badges{ grid-template-columns:repeat(2,minmax(140px,1fr)); }
  .adv-grid{ grid-template-columns:1fr; }
  .adv-badge b{ display:block; font-size:14px; }
  .adv-badge span{ display:block;  font-size:12px; }
  .materials__container{ padding:32px 16px 56px; }
  .materials__title{ font-size:26px; }

  /* 카드 간 여백·타이포 다운스케일 */
  .swatch-grid{ gap:16px; }
  .swatch__code{ font-size:16px; }
  .swatch__desc{ font-size:14px; }
  .swatch__desc2{ font-size:13px; }

  /* 페이저 */
  .pager{ display:flex; align-items:center; justify-content:center; gap:10px; margin-top:18px; }
  .pager__pages{ display:flex; gap:10px; }
  .pager__btn,.pager__page{ padding:8px 12px; border-radius:10px; }

  /* 라이트박스 버튼/캡션 */
  .lightbox__btn{ width:44px; height:44px; font-size:20px; }
  .lightbox__caption{ font-size:18px; padding:6px 10px; }
}

/* ===== Small mobile (≤640px): ★ Swatch 2열 유지 ★ ===== */
@media (max-width:640px){
  /* 썸네일 그리드: 2열 고정 */
  .swatch-grid{
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px;
  }
  .swatch__media{ border-radius:10px; }
  .swatch__media:hover img{ transform:none; } /* 모바일 호버 제거 효과 */

  /* 배지 더 컴팩트 */
  .adv-badges{ grid-template-columns:repeat(2,minmax(120px,1fr)); gap:12px; }
  .adv-badge{ grid-template-columns:36px 1fr; }
  .adv-badge img{ width:36px; height:36px; }

  /* 라이트박스 네비 버튼 위치/크기 보정 (이미지 바깥쪽 근접) */
  .lightbox__dialog{ 
    max-height: calc(100dvh - 52px); 
    max-width: 80%;           /* ✅ 좌우 여백 확보 */
    margin: 0 auto;
  }
  .lightbox__prev,.lightbox__next{ transform: translateY(-50%); }
  .lightbox__prev{ left:6px;  }
  .lightbox__next{ right:6px;   }

  /* 페이저 터치 간격 */
  .pager__btn,.pager__page{ min-width:40px; padding:10px 12px; }
}

/* ===== Extra small (≤420px) ===== */
@media (max-width:420px){
  
  .materials__title{ font-size:22px; }
  .swatch__code{ font-size:15px; }
  .swatch__desc{ font-size:13px; }
  .swatch__desc2{ font-size:12px; }
  .lightbox__caption{ font-size:16px; }
}
