/* =========================================
   0) Base
   ========================================= */
* { box-sizing: border-box; }

div.rsvContainer,
section#content {
  width: 100%;
}

/* =========================================
   1) Slideshow (공통)
   ========================================= */
.slideshow-container {
  width: 100%;
  position: relative;
}

.mySlides,
.mySlides1,
.mySlides2 {
  display: none;
}

/* caption / number / dots */
.text {
  color: #f2f2f2;
  font-size: 15px;
  padding: 8px 12px;
  position: absolute;
  bottom: 8px;
  width: 100%;
  text-align: center;
}

.numbertext {
  color: #f2f2f2;
  font-size: 12px;
  padding: 8px 12px;
  position: absolute;
  top: 0;
}

.dot {
  cursor: pointer;
  height: 15px;
  width: 15px;
  margin: 0 2px;
  background-color: #bbb;
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.6s ease;
}

.active, .dot:hover {
  background-color: #717171;
}

/* fade */
.fade {
  animation: fade 1.5s;
}
@keyframes fade {
  from { opacity: .4; }
  to   { opacity: 1; }
}

/* =========================================
   2) Arrows
   - 기본(prev/next)
   - btn1 그룹(prev1/next1)
   - btn2 그룹(prev2/next2)
   ========================================= */

/* 기본 prev/next */
.prev, .next {
  cursor: pointer;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: auto;

  padding: 16px;
  color: #fff;
  font-weight: bold;
  font-size: 18px;

  transition: 0.6s ease;
  border-radius: 0 3px 3px 0;
  user-select: none;
}
.next {
  right: 0;
  border-radius: 3px 0 0 3px;
}
.prev:hover, .next:hover {
  background-color: rgba(0,0,0,0.8);
}

/* btn1 + btn2 공통 스타일 */
.prev1, .next1,
.prev2, .next2 {
  cursor: pointer;
  position: absolute;
  top: 45%;
  transform: translateY(-50%);

  padding: 20px;
  color: #fff;
  font-weight: bold;
  font-size: 36px;
  line-height: 1;

  transition: 0.3s ease;
  user-select: none;
  z-index: 10;
}

/* btn1 위치 */
.prev1 { left: 10px; }
.next1 { right: 10px; }

/* btn2 위치 */
.prev2 { left: 10px; }
.next2 { right: 10px; }

/* btn1 hover */
.prev1:hover, .next1:hover {
  background-color: rgba(62, 62, 62, 0.8);
}

/* btn2 hover */
.prev2:hover, .next2:hover {
  background-color: rgba(62, 62, 62, 0.8);
}


/* 슬라이드 화살표 공통 */
.slideshow-container .prev2,
.slideshow-container .next2{
  top: 58%;
  transform: translateY(-50%);
}


/* 모바일에서 btn1/btn2 화살표 축소 */
@media (max-width: 900px) {
  .prev1, .next1, .prev2, .next2 {
    font-size: 26px;
    padding: 1px;
	top: 48%;
  }
  .prev1, .prev2 { left: -15px; }
  .next1, .next2 { right: -15px; }
}

/* =========================================
   3) Hero Slider (1920x600 비율 유지)
   ========================================= */
.slideshow-container.heroSlider {
  width: 100%;
  aspect-ratio: 1920 / 600;
  max-height: 560px;
  overflow: hidden;
  position: relative;
}

/* 이미지만 확대 */
.slideshow-container.heroSlider .imgWrap{
  width: 100%;
  height: 100%;
  display: flex;
  
  justify-content: center;
  transform: scale(1.08);     /* 여기만 확대 */
}

@media (max-width: 900px) {
  .slideshow-container.heroSlider {
    min-height: 320px; /* 취향대로 조절 */
  }
/* 이미지만 확대 */
	.slideshow-container.heroSlider .imgWrap{
	  width: 100%;
	  height: 100%;
	  display: flex;
	  
	  justify-content: center;
	  transform: scale(1.3);     /* 여기만 확대 */
	}	
}

.slideshow-container.heroSlider .mySlides {
  height: 100%;
}
.slideshow-container.heroSlider .mySlides img {
  width: 100% !important;
  height: 92% !important;
  
  display: block;
}

/* =========================
   iOS Safari 전용 Hero Slider 보정
   ========================= */
@supports (-webkit-touch-callout: none) {

  .slideshow-container.heroSlider {
    /* aspect-ratio 무시하고 직접 계산 */
    height: calc(100vw * 600 / 1920);
    max-height: 560px;
    min-height: 320px;
  }

	/* 이미지만 확대 */
	.slideshow-container.heroSlider .imgWrap{
	  width: 100%;
	  height: 100%;
	  display: flex;
	  
	  justify-content: center;
	  transform: scale(1.3);     /* 여기만 확대 */
	}

  .slideshow-container.heroSlider .mySlides {
    height: 100%;
  }

  .slideshow-container.heroSlider .mySlides img {
    height: 92% !important;
    width: 100% !important;
    
	display: block;
  }
}


/* =========================================
   4) App/Web Grid (#appGrid / #appGrid2)
   ========================================= */
:root {
  --icon: 220px;
  --gap: 20px;
}

#appGrid, #appGrid2 {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr)); /* PC 5열 */
  gap: var(--gap);

  width: min(1200px, 100%);
  margin: 0 auto;
  padding: 0 16px;
  align-items: start;
}

.mySlides1, .mySlides2 {
  text-align: center;
}

.item {
  text-align: center;
  min-width: 0;
}

.item .circle {
  width: 100%;
  max-width: var(--icon);
  aspect-ratio: 1 / 1;
  border-radius: 40%;
  overflow: hidden;
  margin: 0 auto;
}

.item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.item .name {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: break-word;

  margin-top: 10px;
  font-size: 14px;
  line-height: 1.35;
}

/* 아이콘/간격 반응형 */
@media (max-width: 1024px) {
  :root { --icon: 180px; --gap: 16px; }

  #appGrid, #appGrid2 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 768px) {
  :root { --icon: 140px; --gap: 14px; }
}
@media (max-width: 480px) {
  :root { --icon: 110px; --gap: 12px; }
}

/* =========================================
   5) ContactGrid (PC 1줄=4열 / 900↓ 2열 / 360↓ 1열) 
   -> 수정 (PC 1줄=4열 / 370↓ 2열) 
   - 중복 제거: 이 블록 하나만 유지
   - 가운데 정렬 + 모바일 왼쪽패딩 문제 방지
   ========================================= */

/* contactGrid 기본 */
.contactGrid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important; /* ✅ PC 4열 */
  gap: 16px !important; /* ✅ 간격 조금 좁힘 */

  /* ✅ 가운데 정렬 */
  width: min(900px, 100%) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;

  justify-content: center !important;
  align-content: start !important;
}

/* 템플릿이 모바일에서 .row > * padding-left:2.5em 주는 걸 contactGrid 내부에서 차단 */
.contactGrid > * {
  padding-left: 0 !important;
  padding-right: 0 !important;
  min-width: 0;
  text-align: center;
  float: none !important; /* 혹시 남아있으면 제거 */
  width: auto !important; /* 섹션 width 강제값 제거 */
}

/* 텍스트 간격 정리 */
.contactGrid p { margin: 10px 0 0; font-size: 14px; }
.contactGrid h5 { margin: 6px 0 0; font-size: 16px; }
.contactGrid h6 {
  margin: 6px 0 0;
  font-size: 12px;
  line-height: 1.35;
  opacity: 0.75;

  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: break-word;
}

/* 370px 이하 2열(2x2) */
@media (max-width: 370px) {
  .contactGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: min(560px, 100%) !important;
  }
}



/* ===============================
   모바일에서 <br> 간격 줄이기
   =============================== */
.section-title {
  text-align: center;
  margin-bottom: 5em;
  margin-top:6em;
}

@media (max-width: 768px) {
  .section-title {
    margin-bottom: 3em;
    margin-top:2em;
  }
  hr {
    margin: 1.5em 0;
  }
}

/* =========================
   Contact us 아이콘 크기 업
   ========================= */
.contactGrid .icon.major {
  width: 4em;     /* 기존 ~3em → 살짝 증가 */
  height: 4em;
  line-height: 4.5em;

  font-size: 1.4em; /* 아이콘 자체 크기 */
}

/* =========================
   Contact us (모바일) 아이콘-텍스트 간격 축소
   ========================= */
@media (max-width: 520px) {
  .contactGrid .icon.major {
    margin-bottom: 0.5em;   /* 기본보다 줄임 (기존 ~1em 내외) */
  }

  .contactGrid h5 {
    margin-top: 0;          /* 혹시 남아있는 여백 제거 */
  }

  .contactGrid .icon.major {
    width: 3.5em;     /* 기존 ~3em → 살짝 증가 */
    height: 3.5em;
    line-height: 4.5em;
  
    font-size: 1em; /* 아이콘 자체 크기 */
  }
}


/* =========================
   웹 Footer Copyright 수정
   ========================= */
  	#footer .line2{text-align:center;line-height:1.4;padding:0 12px}
  	#footer .icons a{width:100px;height:44px;display:inline-flex;align-items:center;justify-content:center;margin:0 14px}
	#footer{
	  padding-top: 25px !important;     /* 푸터 거의 붙이기 */
	  padding-bottom: 80px !important; /* 푸터 하단 여유 */
	}


/* ===== Footer copyright 들여쓰기 완전 제거 ===== */
#footer ul.copyright li{
  padding-left: 0 !important;
  margin-left: 0 !important;
  text-indent: 0 !important;
  border-left: 0 !important;
}

/* ::before 로 밀고 있으면 이것도 같이 제거 */
#footer ul.copyright li::before{
  content: none !important;
  display: none !important;
}


/* =========================
   모바일 Footer Copyright 수정
   ========================= */
@media screen and (max-width:980px){
	#footer .copyright{display:flex;flex-direction:column;gap:10px;align-items:center}
  	#footer .line1{font-size:.95rem;opacity:.9}
  	#footer .line2{font-size:.75rem;opacity:.65;text-align:center;line-height:1.4;padding:0 12px;flex-wrap: nowrap !important;/* 줄바꿈 금지 */ white-space: nowrap !important; /* 줄바꿈 금지 */}
  	#footer .icons a{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;margin:0 14px}

	 /* ===== Footer 상단은 붙이고, 하단만 여유 ===== */
	#footer{
	  padding-top: 6px !important;     /* 푸터 거의 붙이기 */
	  padding-bottom: 70px !important; /* 푸터 하단 여유 */
	  margin-top: 0 !important;
	}
}


#footer .copyright{
  line-height: 1.4;          /* 전체 줄간격 안정화 */
}

#footer .copyright .line2{
  margin-top: 6px;           /* 첫줄-둘째줄 사이 간격만 살짝늘림 */
}


/* 전체 박스*/
.contactBox{
  text-align:center;
}

/* ======= Row 1: Store badges ======= */
.storeRow{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;          /* 화면 좁으면 자동 줄바꿈 */
  margin-bottom:26px;      /* 배지 row와 아이콘 row 사이 간격 */
}

.storeBadge{
  height:60px;             /* 배지 크기 유지 */
  width:auto;
  display:block;
}

/* ======= Row 2: Contact icons ======= */
.iconRow{
  display:flex;
  justify-content:center;
  align-items:flex-start;
  gap:28px;                /* 아이콘 사이 간격 */
}

.iconRow .contactItem{
  /* 배지랑 다르게 아이콘 카드로만 적용하고 싶으면 여기서 조절 */
	transform: scale(0.92);
}

/* 모바일에서 아이콘이 너무 빡빡하면 살짝 줄바꿈 허용 */
@media (max-width: 491px){
  .storeBadge{ height:60px; }  /* 모바일에서 더 탭하기 좋게 */
  .iconRow{
    gap:0px;
    flex-wrap:wrap;
  }

	/* === Contact 아이콘 원 크기 확실히 줄이기 === */
	.iconRow .icon.major{
	  width: 4.2em !important;
	  height: 4.2em !important;
	  line-height: 5.2em !important;
	}
	
	.iconRow .icon.major:before{
	  font-size: 2.25em !important; /* 아이콘 glyph 크기 */
	}
}










