@charset "utf-8";
/* 비움결왁싱 E안 서브페이지 전용 보정 CSS (원본 subimport 위에 덮어쓴다) */

:root {
  --e-gold: #af9a63;
  --e-ink: #333;
  --e-soft: #f7f5f0;
}

/* 원본 reset의 html,body{height:100%}가 body를 스크롤 컨테이너로 만들어 풀페이지 렌더가 깨지므로 해제 */
html,
body.e-sub {
  height: auto;
}
body.e-sub {
  overflow-x: clip;
}
body.e-sub,
body.e-sub * {
  word-break: keep-all;
  overflow-wrap: break-word;
}
body.e-sub img {
  max-width: 100%;
}

/* 로고: 메인 담당이 만드는 /brand.svg 사용 */
#logo a,
#header.on #logo a,
#header.scroll #logo a,
#header.sub-page #logo a {
  background-image: url("/brand.svg");
  background-size: contain;
  background-position: 50% 50%;
}
@media screen and (max-width: 768px) {
  #logo a,
  #header.on #logo a,
  #header.scroll #logo a {
    background-image: url("/brand.svg");
    background-size: auto 26px;
  }
}

/* 우측 상단 버튼 (원본 English 버튼 자리) */
#topBtn .eng,
#header.on #topBtn .eng {
  width: auto;
  padding: 0 14px;
  background-image: none;
  white-space: nowrap;
}

/* 원본 캡처에 없는 모바일 아이콘(404) 대체 — 인라인 SVG */
.all-menu {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M3 6h18M3 12h18M3 18h18'/%3E%3C/svg%3E") !important;
}
.all-menu.on {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M5 5l14 14M19 5L5 19'/%3E%3C/svg%3E") !important;
}
.dark-dim .plus-btn:before {
  background: #af9a63
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 4v16M4 12h16'/%3E%3C/svg%3E")
    50% 50% no-repeat !important;
  background-size: 22px !important;
}
.dark-dim ul li a:before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23af9a63' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 18px !important;
}
#header.on #gnb > li.on > a,
#gnb > li.mobview > a {
  background-image: url("/assets/images/s_arrow_b_g-e0b27576.png");
}

/* 원본 상대경로 화살표(404) 대체 */
#location .category01.active,
#location .category02.active {
  background-image: url("/assets/images/s_arrow_b_g-e0b27576.png");
}

/* ───── 서브비주얼: 생성 이미지 + 밝은 그라데이션 ───── */
#subVisual {
  background-position: 50% 50%;
  background-size: cover;
  overflow: hidden;
}
#subVisual:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.92) 0%,
    rgba(255, 255, 255, 0.7) 45%,
    rgba(255, 255, 255, 0.05) 100%
  );
}
#subVisual .inner {
  position: relative;
  z-index: 1;
}
#subVisual.e-vis-about {
  background-image: url("/img/hero-1.jpg");
}
#subVisual.e-vis-services {
  background-image: url("/img/hero-2.jpg");
}
#subVisual.e-vis-price {
  background-image: url("/img/strip-skin.jpg");
  background-position: 50% 40%;
}
#subVisual.e-vis-visit {
  background-image: url("/img/location.jpg");
}
#subVisual.e-vis-booking {
  background-image: url("/img/strip-consult.jpg");
  background-position: 50% 45%;
}
#subVisual.e-vis-care {
  background-image: url("/img/strip-aftercare.jpg");
  background-position: 50% 45%;
}
#subVisual.dark strong {
  color: #2b2620;
}
@media screen and (max-width: 768px) {
  #subVisual:before {
    background: rgba(255, 255, 255, 0.72);
  }
}

/* ───── ABOUT ───── */
#whySamantha .safety .img-box {
  width: calc(100% - 560px);
  height: 538px;
  overflow: hidden;
}
#whySamantha .safety .img-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 1280px) {
  #whySamantha .safety .img-box {
    width: 55%;
  }
}
@media screen and (max-width: 768px) {
  #whySamantha .safety .img-box {
    width: 100%;
    height: auto;
  }
  #whySamantha .safety .img-box img {
    height: auto;
    aspect-ratio: 16/10;
  }
}
#whySamantha .professional ul.e-steps li {
  display: flex;
  align-items: center;
  gap: 40px;
}
#whySamantha .professional ul.e-steps li h6 {
  flex: 0 0 200px;
}
#whySamantha .professional ul.e-steps li p {
  flex: 1;
}
#whySamantha .high-end ul li {
  overflow: hidden;
}
#whySamantha .high-end ul li > img {
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
  display: block;
}
#whySamantha .high-end .ico-box img {
  display: none;
}
.decobg03 {
  background-image: none !important;
  background-color: var(--e-soft);
  position: relative;
}
.decobg03 .inner {
  position: relative;
  z-index: 1;
}
#whySamantha .experienced .number-box li div {
  padding-top: 10px;
}
#saleBox .img-box img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  display: block;
}
#saleBox .bottom-line-btn {
  display: inline-block;
  margin-top: 25px;
}
@media screen and (max-width: 768px) {
  #whySamantha .professional ul.e-steps li {
    display: block;
  }
}

/* ───── SERVICES ───── */
.e-anchor-tabs {
  margin: 20px auto 0;
}
.e-anchor-tabs .subpage-menu {
  text-align: center;
}
.service-design.e-svc {
  scroll-margin-top: 100px;
  padding-top: 60px;
}
.service-design.e-svc + .service-design.e-svc {
  border-top: 1px solid #eee;
}
.service-design .inner-1100 .img-box img {
  aspect-ratio: 1/1;
  object-fit: cover;
  display: block;
}
.service-design.rev .inner-1100 .img-box {
  float: right;
}
.service-design.rev .inner-1100 .text-box {
  float: left;
}
.service-design.rev .inner-1100 .img-box:after {
  left: -10px;
}
.service-design .text-box p {
  line-height: 1.8;
  color: #666;
}
.service-design .text-box ul.e-price {
  margin-top: 25px;
  border-top: 1px solid var(--e-gold);
}
.service-design .text-box ul.e-price li {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 4px;
  border-bottom: 1px solid #e8e8e8;
}
.service-design .text-box ul.e-price li strong {
  font-weight: 500;
  color: #333;
}
.service-design .text-box ul.e-price li span {
  display: inline;
  margin: 0;
  font-size: 17px;
  font-weight: 700;
  color: var(--e-gold);
  white-space: nowrap;
}
.service-design .text-box .e-svc-note {
  display: block;
  margin-top: 10px;
  font-size: 14px;
  color: #b06a5c;
  font-style: normal;
}
.e-btns {
  display: flex;
  gap: 10px;
  margin-top: 25px;
}
.e-btns .btn {
  flex: 1;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .service-design.rev .inner-1100 .img-box,
  .service-design.rev .inner-1100 .text-box {
    float: none;
  }
  .service-design .text-box ul.e-price {
    text-align: left;
  }
  .e-anchor-tabs .subpage-menu li {
    margin-bottom: 6px;
  }
}

/* ───── PRICE / VISIT 표 ───── */
#price table.price th,
#price table.price td {
  vertical-align: middle;
}
#price table.price td.e-note {
  color: #888;
  font-size: 14px;
}
#price .e-price-notice {
  margin: 30px 0 80px;
  padding: 24px 28px;
  background: var(--e-soft);
  border-radius: 8px;
}
#price .e-price-notice li {
  position: relative;
  padding-left: 14px;
  margin: 6px 0;
  color: #666;
  font-size: 14px;
  line-height: 1.7;
}
#price .e-price-notice li:before {
  content: "-";
  position: absolute;
  left: 0;
}
#price .e-price-notice a {
  color: var(--e-gold);
  border-bottom: 1px solid var(--e-gold);
}
body.e-tabs-ready #price .e-con {
  display: none;
}
#price.e-visit .e-visit-intro {
  padding-bottom: 60px;
}
#price.e-visit table.e-info {
  margin-bottom: 80px;
}
#price.e-visit table.e-info th {
  width: 22%;
}
#price.e-visit table.e-info td {
  text-align: left;
  padding-left: 24px;
}
#price.e-visit table.e-info td a {
  color: var(--e-gold);
  border-bottom: 1px solid var(--e-gold);
}
@media screen and (max-width: 768px) {
  #price.e-visit table.e-info td {
    padding-left: 12px;
    font-size: 13px;
  }
}

/* ───── BOOKING ───── */
#process.e-book-steps {
  padding-top: 30px;
}
#process.e-book-steps ul li {
  width: 23.5%;
  margin-right: 2%;
  position: relative;
}
#process.e-book-steps ul li:nth-child(4) {
  margin-right: 0;
}
#process.e-book-steps .e-step-no {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  margin: 0 auto 18px;
  border-radius: 50%;
  border: 1px solid var(--e-gold);
  color: var(--e-gold);
  font-size: 22px;
  font-style: normal;
  font-weight: 600;
}
#guide.booking .e-channel {
  padding: 10px 0;
}
#guide.booking .e-channel-lead {
  font-size: 17px;
  color: #333;
  margin-bottom: 14px;
}
#guide.booking .e-channel-list li {
  display: flex;
  gap: 14px;
  padding: 8px 0;
  border-bottom: 1px solid #eee;
  font-size: 14px;
  color: #666;
}
#guide.booking .e-channel-list li strong {
  flex: 0 0 80px;
  color: var(--e-gold);
  font-weight: 500;
}
#guide.booking .e-naver-btn {
  display: inline-block;
  margin-top: 22px;
  padding: 0 34px;
  height: 52px;
  line-height: 52px;
  border-radius: 30px;
}
.e-book-visual {
  display: flex;
  gap: 20px;
  margin: 60px auto 100px;
}
.e-book-visual img {
  flex: 1;
  min-width: 0;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: 6px;
}
@media screen and (max-width: 768px) {
  #process.e-book-steps ul li {
    width: 48%;
    margin-right: 4%;
    margin-bottom: 20px;
  }
  #process.e-book-steps ul li:nth-child(2n) {
    margin-right: 0;
  }
  .e-book-visual {
    flex-direction: column;
    margin: 30px auto 60px;
  }
}

/* ───── CARE ───── */
#aftercare .img-box img {
  aspect-ratio: 1/1;
  object-fit: cover;
  display: block;
}
#faq {
  padding-top: 40px;
}
#faq .faq-area {
  padding-top: 50px;
  padding-bottom: 100px;
}
#faq .faq-area > .inner-1100 dl dt {
  cursor: pointer;
  background: #fff;
  border-bottom: 1px solid #eee;
}
#faq .faq-area > .inner-1100 dl dt h6 {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
@media screen and (max-width: 768px) {
  #faq .faq-area > .inner-1100 dl dt {
    height: auto;
    min-height: 56px;
    line-height: 1.5;
    padding: 16px 0;
    display: flex;
    align-items: center;
  }
  #faq .faq-area > .inner-1100 dl dt h6 {
    white-space: normal;
    float: none;
  }
  #faq .faq-area > .inner-1100 dl dt strong {
    float: none;
    flex: 0 0 22%;
  }
}

/* ───── 하단 예약 CTA (원본 #footerBooking 폼 대체) ───── */
#footerBooking.e-cta #subTuition {
  padding: 60px 0;
}
#footerBooking.e-cta .e-cta-btns {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}
#footerBooking.e-cta .full-btn-c {
  display: inline-block;
  padding: 0 36px;
  height: 56px;
  line-height: 56px;
  border-radius: 30px;
}
#footerBooking.e-cta .e-cta-sub {
  display: inline-block;
  padding: 0 26px;
  height: 54px;
  line-height: 54px;
  border: 1px solid #ccc;
  border-radius: 30px;
  color: #555;
  background: #fff;
}
@media screen and (max-width: 768px) {
  #footerBooking.e-cta .e-cta-btns a {
    width: 100%;
    text-align: center;
    padding: 0;
  }
}

/* 플로팅 메뉴 4칸 */
#flotingMenu .pcview ul li:nth-child(3),
#flotingMenu .pcview ul li:nth-child(4) {
  border-bottom: 0;
}

/* 푸터 로고: 원본 로고 이미지 대신 brand.svg */
#footer address {
  background: url("/brand.svg") 0 0 no-repeat;
  background-size: 130px auto;
}
@media screen and (max-width: 768px) {
  #footer address {
    padding-left: 0;
    padding-top: 50px;
    background-size: 110px auto;
  }
}

/* 하단 CTA 기본 버튼 (원본 full-btn-c 정의 없음) */
#footerBooking.e-cta .full-btn-c,
#guide.booking .e-naver-btn {
  background: #af9a63;
  color: #fff;
  font-weight: 500;
  text-align: center;
}

/* 첫방문 안내 문단 강조 글자 크기 통일 */
#saleBox .text-box p strong {
  font-size: inherit;
}
/* 모바일 하단 CTA: 아이콘과 제목 겹침 해소 */
@media screen and (max-width: 768px) {
  #footerBooking.e-cta #subTuition .title {
    padding-left: 0;
    padding-top: 52px;
    background-position: 0 0;
    background-size: 44px auto;
  }
}

/* 모바일에서도 가격표 안내 열 유지 (원본은 3열 이후 숨김) */
@media screen and (max-width: 768px) {
  #price table.price thead th:nth-child(3),
  #price table.price tbody td.e-note {
    display: table-cell !important;
    font-size: 12px;
  }
}
/* 예약 채널 아이콘(원본 전화 아이콘) 숨김 */
#guide.booking .channel img {
  display: none;
}
