/* subpage common  */
.sub-visual-sec {
  background: url("/wp-content/uploads/2025/06/background-cc.png") no-repeat center;
  background-size: cover;
  margin-top: 8rem;
  position: relative;
}
.sub-visual-sec .sub-visual-txt {
  padding: 15rem 0 21rem;
  color: var(--color-white);
}
.sub-visual-sec .sub-visual-txt h2 {
  font-size: 4.8rem;
  font-weight: 700;
}
.sub-visual-sec .sub-visual-txt p {
  /* font-weight: 600; */
  font-size: 1.8rem;
  margin-bottom: 5px;
  color: rgba(255, 255, 255, .8);
  letter-spacing: 3px;
}
.sub-visual-sec .category-wrap {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  background-color: rgba(0, 0, 0, .5);
}
.sub-visual-sec .category-list {
  display: flex;
  justify-content: center;
  align-items: center;
}
.sub-visual-sec .category-list li {
  flex: 1;
  max-width: 26rem;
}
.sub-visual-sec .category-list li a {
  display: block;
  color: var(--color-white);
  text-align: center;
  font-size: 1.8rem;
  font-weight: 500;
  padding: 2rem 0;
  transition: 0.3s;
}
.sub-visual-sec .category-list li:hover a {채ㅜ
  background-color: rgba(255, 255, 255, .15);
}
.sub-visual-sec .category-list li a.active {
  background-color: var(--color-white);
  color: var(--color-balck);
}
@media screen and (max-width: 1024px) {
  .sub-visual-sec {
    margin-top: 6rem;
  }
  .sub-visual-sec .category-wrap {
    display: none;
  }
  .sub-visual-sec .sub-visual-txt {
    padding: 15rem 0;
  }
  .sub-visual-sec .sub-visual-txt h2 {
    font-size: 7rem;
  }
  .sub-visual-sec .sub-visual-txt p {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .sub-visual-sec .sub-visual-txt {
    padding: 12rem 0;
  }
  .sub-visual-sec .sub-visual-txt h2 {
    font-size: 3.6rem;
  }
  .sub-visual-sec .sub-visual-txt p {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 480px) {
  .sub-visual-sec {
    margin-top: 5.8rem;
  }
  .sub-visual-sec .sub-visual-txt {
    padding: 9rem 0;
  }
  .sub-visual-sec .sub-visual-txt h2 {
    font-size: 2.8rem;
  }
  .sub-visual-sec .sub-visual-txt p {
    font-size: 1.4rem;
    letter-spacing: 2px;
  }
}

.sub-visual-sec .sub-visual-txt h2,
.sub-visual-sec .sub-visual-txt p {
  color: #0270BF;
}

/* sub1  */
.greetings-sec {
  padding-bottom: 0;
}
.greetings-sec .title-wrap {
  width: 100%;
  background-color: var(--color-white);
  padding: 0 3rem 8rem;
}
.greetings-sec .title-wrap .greetings-desc {
  max-width: 80rem;
  font-size: 1.5rem;
  color: var(--color-gray1);
  margin: 5rem auto 0;
  line-height: 2;
  word-break: break-word; 
  white-space: normal;     
}

@media (max-width: 767px) {
  .greetings-sec .title-wrap h2 {
    font-size: 2.4rem !important; /* 모바일 폰트 크기 강제 적용 */
  }

  .greetings-sec .title-wrap .sub-desc {
    font-size: 1.6rem !important;
  }

  .greetings-sec .title-wrap p {
    font-size: 1.6rem !important;
    word-break: keep-all;
  }
}


.greetings-sec .title-wrap .ceo-name {
  font-size: 2rem;
  font-weight: 600;
}
.greetings-img-sec {
  width: 100%;
  padding: 23rem 0;
  margin-top: -20rem;
  overflow: hidden;
  background: url("/wp-content/uploads/2025/06/about-bg.jpg") no-repeat center 65%;
  background-size: cover;
}

.sub-title {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap; /* 모바일 대응 위해 wrap 설정 */
  gap: 0.5rem;
}

.sub-title .headline-img {
  height: 40px;
  width: auto;
}
 
@media (max-width: 768px) {
  .sub-title {
    flex-direction: column;
    gap: 1rem; /* 모바일 이미지 사이 여백 */
  }

  .sub-title .headline-img {
    height: 28px !important;
    margin-top: 0.5rem; /*  이미지 위쪽 여백 추가 */
  }
}

/* sub2  */
.address-sec .map-wrap {
  margin-top: 10rem;
}
.address-sec .root_daum_roughmap_landing {
  width: 100%;
}
.address-sec .root_daum_roughmap .wrap_map {
  height: 60rem;
}
.address-sec .roughmap_maker_label .roughmap_lebel_text {
  font-size: 1.6rem;
  line-height: 1.5;
}
.address-sec .roughmap_maker_label {
  top: -67px;
  left: -12px;
}
.address-sec .contact-list {
  display: flex;
  justify-content: center;
  gap: 2rem;
  flex-wrap: wrap;
  padding-top: 1.2rem;
}
.address-sec .contact-list li {
  display: flex;
  align-items: center;
  font-size: 1.8rem;
}
.address-sec .contact-list li img {
  width: 2.2rem;
  margin-right: 5px;
}
@media(max-width: 768px) {
  .address-sec .map-wrap {
      margin-top: 5rem;
  }
  .address-sec .root_daum_roughmap .wrap_map {
      height: 45rem;
  }
  .address-sec .contact-list {
    padding-top: 1rem;
  }
  .address-sec .contact-list li {
      font-size: 1.6rem;
  }
  .address-sec .contact-list li img {
      width: 2rem;
  }
}
@media(max-width: 480px) {
  .address-sec .root_daum_roughmap .wrap_map {
      height: 36rem;
  }
  .address-sec .contact-list {
      gap: 1.5rem;
  }
  .address-sec .contact-list li {
      font-size: 1.4rem;
  }
  .address-sec .contact-list li img {
      width: 1.8rem;
  }
}

@media (min-width: 1025px) {
  .address-sec .map-wrap iframe {
    max-width: 70%;   /* 전체에서 70%만 차지하도록 */
    height: 490px;    /* 원래 700px → 70% 수준 */
    margin: 0 auto;   /* 가운데 정렬 */
    display: block;
  }
}


.anchor-offset {
  position: relative;
  top: -120px; /* 헤더 높이만큼 조정, 필요 시 조절 */
  height: 1px;
  visibility: hidden;
}

/* sub3  */
.premium-sec .premium-list {
  padding-top: 4rem;
}
.premium-sec .premium-list li {
  display: flex;
}
.premium-sec .premium-list li.reverse {
  flex-direction: row-reverse;
}
.premium-sec .premium-list li.reverse .premium-list-txt {
  text-align: right;
	
}
.premium-sec .premium-list li img, .premium-sec .premium-list .premium-list-txt {
  width: 50%;
} 
.premium-sec .premium-list .premium-list-txt {
  padding: 7rem 4rem;
  box-sizing: border-box;
}
.premium-sec .premium-list .premium-list-txt h3 {
  font-size: 2.8rem;
  font-weight: 600;
}
.premium-sec .premium-list .premium-list-txt p {
  font-size: 1.8rem;
  margin-top: 2rem;
  color: var(--color-gray1);
  line-height: 1.7;
}
@media screen and (max-width: 1200px) {
  .premium-sec .premium-list .premium-list-txt {
    padding: 4rem 3rem;
  }
}
@media screen and (max-width: 1024px) {
  .premium-sec .premium-list .premium-list-txt {
    padding: 2rem;
  }
  .premium-sec .premium-list .premium-list-txt h3 {
    font-size: 2.4rem;
  }
  .premium-sec .premium-list .premium-list-txt p {
    font-size: 1.6rem;
    margin-top: 1rem;
    line-height: 1.4;
  }
}
@media screen and (max-width: 767px) {
  .premium-sec .premium-list {
    padding-top: 2rem;
  }
  .premium-sec .premium-list li {
    display: block;
    margin-bottom: 1rem;
  }
  .premium-sec .premium-list li img, .premium-sec .premium-list .premium-list-txt {
    width: 100%;
  }
  .premium-sec .premium-list li.reverse .premium-list-txt {
    text-align: left;
  }
  .premium-sec .premium-list .premium-list-txt h3 {
    font-size: 2rem;
  }
}
@media screen and (max-width: 480px) {
  .premium-sec .premium-list {
    padding-top: 0;
  }
  .premium-sec .premium-list .premium-list-txt {
    padding: 1.2rem 0.8rem;
  }
  .premium-sec .premium-list .premium-list-txt h3 {
    font-size: 1.8rem;
  }
  .premium-sec .premium-list .premium-list-txt p {
    font-size: 1.5rem;
  }
}

.premium-sec .premium-list video {
  width: 50%;
  height: auto;
  display: block;
  margin: 0 auto;
}

.sns-icons {
  display: flex;
  gap: 10px;
  justify-content: flex-start;  /* 기본: 우측 정렬 (PC) */
  margin-top: 20px;
}

@media (max-width: 768px) {
  .sns-icons {
    justify-content: flex-end;  /* 모바일: 중앙 정렬 */
  }
}

.sns-icons2 {
  display: flex;
  gap: 10px;
  justify-content: flex-end;  /* 기본: 우측 정렬 (PC) */
  margin-top: 1.5rem;
}

@media (max-width: 768px) {
  .sns-icons2 {
    justify-content: flex-end;  /* 모바일: 중앙 정렬 */
  }
}

.character-rogo {
  display: flex;
  gap: 10px;
  justify-content: flex-start;  /* 기본: 우측 정렬 (PC) */
  margin-top: 20px;
}

@media (max-width: 768px) {
  .character-rogo {
    justify-content: flex-end;  /* 모바일: 중앙 정렬 */
  }
}

.sns-icons a {
  display: inline-block;
}


.breed-logo-wrap {
  text-align: center; /* 가운데 정렬 */
  margin-top: 1rem; /* 위 여백 필요 시 */
}

.breed-logo {
  width: 300px;
  height: auto;
}

@media (max-width: 768px) {
  .breed-logo {
    width: 160px;
  }
}

@media screen and (max-width: 767px) {
  .premium-sec .premium-list video {
    width: 100%;
    max-width: 100%;
  }

  .premium-sec .premium-list li {
    flex-direction: column !important;
    align-items: center;
    text-align: center;
  }

  .premium-sec .premium-list-txt {
    padding: 0.5rem 0.8rem; /* ← 전체 padding으로 명시 */
    text-align: left !important;
  }
}
@media screen and (max-width: 767px) {
  .premium-sec .premium-list .premium-list-txt {
    text-align: left !important;
  }
}

.scroll-anchor {
  scroll-margin-top: 190px;
}

/* sub4 */
.interior-sec .interior-list ul {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
.interior-sec .interior-list li {
  width: calc((100% - 6rem) / 4);
  aspect-ratio: 1920 / 2560;
  position: relative;
}
.interior-sec .interior-list .interior-list-img {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.interior-sec .interior-list .interior-list-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.5s;
}
.interior-sec .interior-list .interior-list-txt {
  position: absolute;
  left: 0;
  bottom: 0;
}
.interior-sec .interior-list .interior-list-txt {
  display: block;
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 40%;
  background: linear-gradient(to top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0));
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: end;
  padding: 1.5rem 1.5rem 2rem;
  opacity: 0.7;
  transition: 0.5s;
  color: var(--color-white);
}
.interior-sec .interior-list .interior-list-txt h3 {
  font-size: 2rem;
  font-weight: 600;
}
.interior-sec .interior-list .interior-list-txt p {
  font-size: 1.6rem;
  margin-top: 1rem;
  line-height: 1.5;
}
.interior-sec .interior-list li:hover .interior-list-img img {
  transform: scale(1.08);
}
.interior-sec .interior-list li:hover .interior-list-txt {
  opacity: 1;
}
.interior-bottom-sec {
	padding: 16rem 0;
	background: url("/wp-content/uploads/2025/06/background-cc.png") no-repeat center;
  /* background-attachment: fixed; */
	background-size: cover;
	color: var(--color-white);
}
.interior-bottom-sec .desc {
  color: #f0f0f0;
  padding-top: 2rem;
}
@media screen and (max-width: 1024px) {
  .interior-sec .interior-list li {
    width: calc((100% - 2rem) / 2);
  }
}
@media screen and (max-width: 767px) {
  .interior-sec .interior-list ul {
    gap: 1rem;
  }
  .interior-sec .interior-list li {
    width: calc((100% - 1rem) / 2);
  }
}
@media screen and (max-width: 480px) {
  .interior-sec .interior-list li {
    width: 100%;
  }
  .interior-sec .interior-list .interior-list-txt h3 {
    font-size: 1.8rem;
  }
  .interior-sec .interior-list .interior-list-txt p {
    font-size: 1.5rem;
    margin-top: 5px;
  }
  .interior-bottom-sec {
    padding: 12rem 0;
  }
  .interior-bottom-sec .desc {
    padding-top: 0;
  }
}

.interior-bottom-sec .title,
.interior-bottom-sec .desc {
  color: #0270BF;
}

.contact-button {
  display: inline-block;
  margin-top: 3rem;
  padding: 1rem 2.4rem;
  border: 3px solid #0270BF;
  color: #0270BF;
  font-weight: 800;
  font-size: 2rem; /* CONTACT와 동일하거나 유사한 크기 */
  font-family: 'Pretendard', 'Noto Sans KR', sans-serif; /* CONTACT 기준 폰트로 맞춤 */
  letter-spacing: -0.03em;
  text-decoration: none;
  border-radius: 6px;
  transition: all 0.3s ease;
}

.contact-button:hover {
  background-color: #0270BF;
  color: #fff;
}

.contact-button2 {
  display: inline-block;
  margin-top: 2rem;
  padding: 1rem 2.4rem;
  border: 3px solid #ffffff; /* 버튼컬러 */
  color: #ffffff; /* 버튼컬러 */
  font-weight: 800;
  font-size: 2rem; /* CONTACT와 동일하거나 유사한 크기 */
  font-family: 'Pretendard', 'Noto Sans KR', sans-serif; /* CONTACT 기준 폰트로 맞춤 */
  letter-spacing: -0.03em;
  text-decoration: none;
  border-radius: 6px;
  transition: all 0.3s ease;
}

.contact-button2:hover {
  background-color: #ffffff; /* 버튼컬러 */
  color: #000;
}


.interior-sec .interior-list .interior-list-txt h3,
.interior-sec .interior-list .interior-list-txt p {
  color: #000 !important;
}
/* sub5, 게시판  */
.presale-sec .presale-list ul {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
.presale-sec .presale-list li {
  width: calc((100% - 4rem) / 3);
  cursor: pointer;
  margin-bottom: 3rem;
}
.presale-sec .presale-list .presale-list-img {
  width: 100%;
  aspect-ratio: 1280 / 960;
  overflow: hidden;
}
.presale-sec .presale-list .presale-list-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.5s;
}
.presale-sec .presale-list li:hover .presale-list-img img {
  transform: scale(1.06);
}
.presale-sec .presale-list .presale-list-txt h3 {
  font-size: 1.8rem;
  font-weight: 600;
  padding: 2rem 0 1rem;
}
.presale-sec .presale-list .presale-list-txt p {
  font-size: 1.5rem;
  font-weight: 300;
  color: #afafaf;
}
@media screen and (max-width: 1024px) {
  .presale-sec .presale-list li {
    width: calc((100% - 2rem) / 2);
    margin-bottom: 1rem;
  }
}
@media screen and (max-width: 480px) {
  .presale-sec .presale-list li {
    width: 100%;
    margin-bottom: 0;
  }
  .presale-sec .presale-list .presale-list-txt h3 {
    padding: 1.5rem 0 1rem;
    font-size: 1.7rem;
  }
  .presale-sec .presale-list .presale-list-txt p {
    font-size: 1.3rem;
  }
}

/* sub6 */
.notice-list img {
  width: 100%;
}
.notice-list .mo-img {
  display: none;
}
@media screen and (max-width: 600px) {
  .notice-list .mo-img {
    display: block;
  }
  .notice-list .pc-img {
    display: none;
  }
}
/* sub7 */
.inquiry-list {
  max-width: 110rem;
  margin: 0 auto;
}
.inquiry-list img {
  width: 100%;
}
.inquiry-list .mo-img {
  display: none;
}
@media screen and (max-width: 600px) {
  .inquiry-list .mo-img {
    display: block;
  }
  .inquiry-list .pc-img {
    display: none;
  }
}


/* 하단 고정 플로팅 네비게이션 바 */

.floating-brand-nav {
  position: fixed;
  bottom: 2.5rem;
  right: 2.5rem; /* 오른쪽 기준으로 고정 */
  left: auto;    /* 기존 중앙 정렬 제거 */
  transform: none; /* 기존 transform 제거 */
  background: rgba(255, 255, 255, 0.5);
  padding: 0.6rem 1rem;           /* 좌우 여백 균형 조정 */
  border-radius: 3rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(8px);
  z-index: 10000;
  width: fit-content;  /*  고정 너비 제거 */
  max-width: 320px;
  overflow: visible;
  isolation: isolate;
  will-change: transform;
  display: flex;                 
  justify-content: center;      
  align-items: center;           
}

/* 슬라이더 전체 */
.brand-swiper {
  width: 100%;
}

/* 이미지 hover 시 z-index로 위로 띄우기 */
.brand-swiper img:hover {
  transform: scale(1.1);
  z-index: 1;                /* 이게 핵심 */
  position: relative;        /* z-index 적용을 위한 전제 */
}


/* 슬라이더 내부 wrapper */
.brand-swiper .swiper-wrapper {
  display: flex;
  align-items: center;
  height: 36px;
}

/* 각 슬라이드 */
.brand-swiper .swiper-slide {
  overflow: visible;
  width: auto;
  padding: 0 6px;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
}

/* 이미지 크기와 반응형 */
.brand-swiper img {
  height: auto;
  width: 63px;
  display: block;
  max-height: 100%;
  transition: transform 0.3s ease;
  margin: 0 auto; /* ✅ 수평 중앙 정렬 */
}


/* 모바일 대응 */
@media (max-width: 767px) {
  .floating-brand-nav {
    left: auto;
    right: 1rem; /* 오른쪽 여백 */
    bottom: 2.2rem; /* 상단 이동 버튼보다 위로 띄우기 */
    transform: none;
    margin: 0;
  width: fit-content;  /* ✅ 고정 너비 제거 */
  max-width: 150px;
    padding: 0.5rem 0.8rem;
  }

 .brand-swiper {
  width: fit-content; /* 자동 너비 */
}

  .brand-swiper .swiper-slide {
    padding: 0 6px;
  }

  .brand-swiper img {
    width: 58px;
    height: auto;
  }

.brand-swiper img:hover {
  transform: scale(1.05);
  z-index: 1;                /* 이게 핵심 */
  position: relative;        /* z-index 적용을 위한 전제 */
}
	
} 


/* info-table */
.info-table {
  max-width: 650px;
  border-collapse: collapse;
  margin: 2rem auto;
  font-size: 1.6rem;
  color: inherit;
  line-height: 1.7;
  text-align: left;
  background-color: white;
}

.info-table td {
  border: none;
  background-color: white;
  padding: 0.6rem 0.4rem;
  vertical-align: top;
}

.info-table td:first-child {
  width: auto;
  white-space: nowrap;
  padding-right: 1rem;
}

.info-table td:nth-child(2) {
  width: 90%;
}

.info-table tr:hover td {
  background-color: white !important;  /* hover 시도 흰색 유지 */
}

.info-table tr:nth-child(odd) td,
.info-table tr:nth-child(odd) th {
  background-color: white   /* !important;✅ 외부 회색 덮어쓰기 */
}

.info-table img.icon {
  width: 2.0rem;
  height: auto;
  vertical-align: middle;
  margin-right: 0.5rem;
}

.info-table .m-center {
  text-align: center;
}

.spacer {
  margin-top: 5rem;  /* 원하는 간격 (40px) */
}



/* Contact Form7 폼 디자인 */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea {
    width: 100%;
    border: 1px solid #ddd;
    padding: 0.8rem 1rem;
    font-size: 1.4rem;
    border-radius: 4px;
    box-sizing: border-box;
    margin-bottom: 1.5rem;
}

/* 상단 4개 필드 2열 정렬 */
.wpcf7 .half-field {
    display: flex;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.wpcf7 .half-field .half {
    width: 50%;
}

/* p 태그 기본 여백 조정 */
.wpcf7 p {
    margin-bottom: 0.5rem;
    font-size: 1.4rem;
}

/* 전송 버튼 스타일 */
.wpcf7 .submit {
    background: #f3f3f3;
    border-radius: 30px;
    padding: 1rem 4rem;
    cursor: pointer;
    border: none;
    font-size: 1.4rem;
    display: inline-block;
}