/*!*************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./app/globals.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************/
/* =========================================================
   큰차이몰 GLOBAL STYLE
   Soft Premium Rental Mall
   ========================================================= */

:root {
  --bg-main: #f5f7f4;
  --bg-soft: #eef3f0;
  --bg-warm: #f7f3ec;

  --surface: #ffffff;
  --surface-soft: #fafbf9;

  --primary: #294b47;
  --primary-dark: #1f3c39;
  --primary-soft: #dfe9e5;

  --accent: #75978a;
  --accent-light: #e8efec;

  --text-main: #24302e;
  --text-sub: #64716e;
  --text-light: #97a19e;

  --line: #e4e9e6;
  --line-soft: #edf1ef;

  --shadow-sm:
    0 5px 18px rgba(42, 70, 64, 0.035);

  --shadow-md:
    0 12px 32px rgba(42, 70, 64, 0.065);

  --shadow-hover:
    0 18px 42px rgba(42, 70, 64, 0.105);
}


/* =========================================================
   BASE
   ========================================================= */

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

html,
body {
  margin: 0;
  padding: 0;
}

body {
  font-family:
    Arial,
    "Noto Sans KR",
    "Apple SD Gothic Neo",
    sans-serif;

  background: var(--bg-main);
  color: var(--text-main);

  -webkit-font-smoothing: antialiased;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select,
textarea {
  font: inherit;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

img {
  display: block;
}

.kc-container {
  width: 100%;
  max-width: 1280px;

  margin: 0 auto;

  padding-left: 28px;
  padding-right: 28px;
}


/* =========================================================
   TOP BAR
   ========================================================= */

.kc-topbar {
  background: var(--primary-dark);
  color: #dce7e3;

  font-size: 12px;
}

.kc-topbar-inner {
  min-height: 36px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 20px;
}

.kc-topbar a {
  color: #ffffff;
  font-weight: 700;
}


/* =========================================================
   HEADER
   ========================================================= */

.kc-header {
  background: rgba(255, 255, 255, 0.96);

  border-bottom:
    1px solid var(--line);

  position: -webkit-sticky;

  position: sticky;
  top: 0;

  z-index: 50;

  -webkit-backdrop-filter: blur(14px);

          backdrop-filter: blur(14px);
}

.kc-header-inner {
  min-height: 82px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 24px;
}

.kc-logo {
  display: inline-flex;
  flex-direction: column;
}

.kc-logo strong {
  color: var(--primary-dark);

  font-size: 29px;
  line-height: 1;

  font-weight: 900;
  letter-spacing: -1.4px;
}

.kc-logo span {
  margin-top: 7px;

  color: var(--text-light);

  font-size: 12px;
}

.kc-phone-button {
  display: flex;
  align-items: center;

  gap: 11px;

  padding: 10px 17px;

  background: var(--primary);
  color: #ffffff;

  border-radius: 14px;

  box-shadow:
    0 7px 18px rgba(41, 75, 71, 0.14);

  transition:
    background 0.18s ease,
    transform 0.18s ease;
}

.kc-phone-button:hover {
  background: var(--primary-dark);
  transform: translateY(-1px);
}

.kc-phone-icon {
  font-size: 18px;
}

.kc-phone-button small {
  display: block;

  margin-bottom: 2px;

  color: #cbdcd6;

  font-size: 10px;
}

.kc-phone-button strong {
  display: block;

  font-size: 15px;

  letter-spacing: 0.2px;
}


/* =========================================================
   NAVIGATION
   ========================================================= */

.kc-nav {
  border-top:
    1px solid #f1f3f2;
}

.kc-nav-scroll {
  display: flex;
  align-items: center;

  overflow-x: auto;

  scrollbar-width: none;
}

.kc-nav-scroll::-webkit-scrollbar {
  display: none;
}

.kc-nav-item {
  position: relative;

  flex: 0 0 auto;

  padding: 16px 15px;

  color: #65726f;

  font-size: 14px;
  font-weight: 650;

  white-space: nowrap;

  transition: color 0.16s ease;
}

.kc-nav-item:hover {
  color: var(--primary);
}

.kc-nav-item.active {
  color: var(--primary-dark);
  font-weight: 850;
}

.kc-nav-item.active::after {
  content: "";

  position: absolute;

  left: 15px;
  right: 15px;
  bottom: 0;

  height: 3px;

  background: var(--accent);

  border-radius: 3px 3px 0 0;
}


/* =========================================================
   HERO
   ========================================================= */

.kc-hero-wrap {
  padding-top: 34px;
}

.kc-hero {
  min-height: 380px;

  padding: 54px;

  border:
    1px solid #e4ebe7;

  border-radius: 30px;

  background:
    linear-gradient(
      135deg,
      #ffffff 0%,
      #f8faf8 52%,
      #e7efeb 100%
    );

  box-shadow: var(--shadow-md);

  display: grid;

  grid-template-columns:
    minmax(0, 1.55fr)
    minmax(280px, 0.7fr);

  align-items: center;

  grid-gap: 54px;

  gap: 54px;
}

.kc-hero-content {
  max-width: 720px;
}

.kc-hero-badge {
  display: inline-flex;

  padding: 7px 12px;

  margin-bottom: 19px;

  border-radius: 999px;

  background: var(--accent-light);
  color: var(--primary);

  font-size: 11px;
  font-weight: 850;
}

.kc-hero h1 {
  margin: 0;

  color: var(--primary-dark);

  font-size:
    clamp(38px, 4vw, 54px);

  line-height: 1.17;

  font-weight: 750;

  letter-spacing: -2.3px;
}

.kc-hero h1 strong {
  color: var(--primary);
  font-weight: 900;
}

.kc-hero-content > p {
  margin:
    21px 0 29px;

  color: var(--text-sub);

  font-size: 16px;
  line-height: 1.75;
}


/* =========================================================
   SEARCH
   ========================================================= */

.kc-search {
  height: 64px;

  display: flex;
  align-items: center;

  background: #ffffff;

  border:
    1px solid #dce5e1;

  border-radius: 17px;

  overflow: hidden;

  box-shadow: var(--shadow-sm);
}

.kc-search-icon {
  padding-left: 20px;

  color: var(--accent);

  font-size: 25px;
}

.kc-search input {
  flex: 1 1;

  min-width: 0;
  height: 100%;

  padding: 0 16px;

  border: 0;
  outline: 0;

  color: var(--text-main);

  font-size: 15px;

  background: transparent;
}

.kc-search input::placeholder {
  color: #a2aaa8;
}

.kc-search button {
  height: 50px;

  margin-right: 7px;

  padding: 0 25px;

  border: 0;
  border-radius: 12px;

  background: var(--primary);
  color: #ffffff;

  font-weight: 800;

  cursor: pointer;

  transition:
    background 0.18s ease;
}

.kc-search button:hover {
  background: var(--primary-dark);
}


/* =========================================================
   HERO SIDE
   ========================================================= */

.kc-hero-side {
  display: flex;
  flex-direction: column;

  gap: 14px;
}

.kc-benefit-card {
  min-height: 205px;

  padding: 28px;

  border-radius: 23px;

  background:
    linear-gradient(
      145deg,
      #294b47,
      #355f58
    );

  color: #ffffff;

  box-shadow:
    0 14px 30px rgba(41, 75, 71, 0.14);

  display: flex;
  flex-direction: column;
  justify-content: center;
}

.kc-benefit-card > span {
  margin-bottom: 12px;

  color: #c6d8d1;

  font-size: 12px;
  font-weight: 700;
}

.kc-benefit-card strong {
  font-size: 24px;

  line-height: 1.4;

  letter-spacing: -0.8px;
}

.kc-benefit-card p {
  margin:
    16px 0 0;

  color: #d7e3df;

  font-size: 12px;
  line-height: 1.6;
}

.kc-hero-contact {
  padding:
    17px 20px;

  background:
    rgba(255, 255, 255, 0.82);

  border:
    1px solid #dfe8e4;

  border-radius: 15px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 15px;

  color: var(--text-sub);

  font-size: 12px;
}

.kc-hero-contact a {
  color: var(--primary);

  font-weight: 850;

  white-space: nowrap;
}


/* =========================================================
   SECTION
   ========================================================= */

.kc-section {
  padding-top: 68px;
}

.kc-section-title {
  margin-bottom: 23px;

  display: flex;
  align-items: flex-end;
  justify-content: space-between;

  gap: 20px;
}

.kc-section-title h2 {
  margin: 0;

  color: var(--primary-dark);

  font-size: 27px;
  line-height: 1.25;

  font-weight: 900;

  letter-spacing: -1px;
}

.kc-section-title p {
  margin:
    7px 0 0;

  color: var(--text-light);

  font-size: 13px;
}

.kc-section-title p strong {
  color: var(--primary);
}

.kc-section-title > a {
  color: var(--primary);

  font-size: 13px;
  font-weight: 750;

  white-space: nowrap;
}


/* =========================================================
   CATEGORY
   ========================================================= */

.kc-category-grid {
  display: grid;

  grid-template-columns:
    repeat(8, 1fr);

  grid-gap: 12px;

  gap: 12px;
}

.kc-category-card {
  min-height: 125px;

  padding: 18px 10px;

  background:
    rgba(255, 255, 255, 0.88);

  border:
    1px solid #e5ebe8;

  border-radius: 19px;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  box-shadow: var(--shadow-sm);

  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    background 0.18s ease;
}

.kc-category-card:hover {
  transform: translateY(-3px);

  background: #ffffff;

  box-shadow: var(--shadow-md);
}

.kc-category-icon {
  width: 46px;
  height: 46px;

  margin-bottom: 10px;

  border-radius: 15px;

  background: var(--accent-light);

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 23px;
  line-height: 1;
}

.kc-category-card strong {
  color: #394744;

  font-size: 13px;
  font-weight: 800;
}


/* =========================================================
   PRODUCTS
   ========================================================= */

.kc-products-section {
  padding-bottom: 15px;
}

.kc-product-grid {
  display: grid;

  grid-template-columns:
    repeat(4, minmax(0, 1fr));

  grid-gap: 22px;

  gap: 22px;
}

.kc-product-card {
  min-width: 0;

  background: #ffffff;

  border:
    1px solid #e4eae7;

  border-radius: 23px;

  overflow: hidden;

  display: flex;
  flex-direction: column;

  box-shadow: var(--shadow-sm);

  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease;
}

.kc-product-card:hover {
  transform: translateY(-4px);

  border-color: #d4dfda;

  box-shadow: var(--shadow-hover);
}


/* =========================================================
   PRODUCT IMAGE
   핵심:
   회색 프레임 제거 + 이미지 자체의 흰 배경과 완전히 연결
   ========================================================= */

.kc-product-image-wrap {
  position: relative;

  width: 100%;

  aspect-ratio: 1 / 0.88;

  padding: 18px;

  /*
   * 원본 이미지 대부분이 흰색 배경을 가지고 있으므로
   * 이미지 영역 역시 완전한 흰색으로 맞춤.
   * 기존 회색 배경 때문에 보이던 흰 네모 경계 제거.
   */
  background: #ffffff;

  display: flex;
  align-items: center;
  justify-content: center;

  overflow: hidden;
}

.kc-product-image {
  width: 100%;
  height: 100%;

  object-fit: contain;

  /*
   * 원본 이미지가 흰 캔버스를 포함해도
   * 부모 배경과 동일한 흰색이라
   * 경계가 거의 보이지 않음.
   */
  background: #ffffff;

  transition:
    transform 0.28s ease;
}

.kc-product-card:hover
.kc-product-image {
  transform: scale(1.025);
}

.kc-product-no-image {
  color: var(--text-light);

  font-size: 13px;
}

.kc-popular-badge {
  position: absolute;

  top: 13px;
  left: 13px;

  z-index: 2;

  padding: 6px 10px;

  background: var(--primary);
  color: #ffffff;

  border-radius: 9px;

  box-shadow:
    0 5px 12px rgba(41, 75, 71, 0.16);

  font-size: 10px;
  font-weight: 850;
}


/* =========================================================
   PRODUCT BODY
   ========================================================= */

.kc-product-body {
  flex: 1 1;

  padding:
    20px 19px 18px;

  border-top:
    1px solid #f1f4f2;

  display: flex;
  flex-direction: column;
}

.kc-product-brand {
  width: -moz-fit-content;
  width: fit-content;

  margin-bottom: 9px;

  color: var(--accent);

  font-size: 11px;
  font-weight: 850;
}

.kc-product-name {
  min-height: 48px;

  color: var(--text-main);

  font-size: 17px;

  font-weight: 850;

  line-height: 1.4;

  letter-spacing: -0.45px;

  display: -webkit-box;

  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;

  overflow: hidden;
}

.kc-product-name:hover {
  color: var(--primary);
}

.kc-product-meta {
  min-height: 19px;

  margin-top: 9px;

  color: #9aa4a1;

  font-size: 12px;

  display: flex;
  align-items: center;

  gap: 5px;

  white-space: nowrap;
  overflow: hidden;

  text-overflow: ellipsis;
}

.kc-product-meta i {
  color: #cad2cf;

  font-style: normal;
}


/* =========================================================
   PRICE
   ========================================================= */

.kc-price-box {
  margin-top: 18px;

  padding-top: 16px;

  border-top:
    1px solid #edf1ef;
}

.kc-price-label {
  margin-bottom: 6px;

  color: var(--text-sub);

  font-size: 11px;
  font-weight: 700;
}

.kc-price-row {
  display: flex;
  align-items: flex-end;

  gap: 5px;

  flex-wrap: wrap;
}

.kc-price-row strong {
  color: var(--primary-dark);

  font-size: 25px;
  line-height: 1;

  font-weight: 900;

  letter-spacing: -1px;
}

.kc-price-row > span {
  color: var(--text-sub);

  font-size: 11px;
}

.kc-card-price {
  margin-top: 10px;

  padding:
    8px 10px;

  border-radius: 9px;

  background: var(--accent-light);

  color: var(--text-sub);

  font-size: 11px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 8px;
}

.kc-card-price strong {
  color: var(--primary-dark);

  font-size: 13px;
  font-weight: 850;
}


/* =========================================================
   PRODUCT FOOTER
   ========================================================= */

.kc-product-footer {
  margin-top: auto;

  padding-top: 17px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 10px;
}

.kc-plan-badge {
  padding: 6px 9px;

  background: #f1f5f3;

  border-radius: 8px;

  color: #52615e;

  font-size: 10px;
  font-weight: 800;

  white-space: nowrap;
}

.kc-detail-link {
  color: var(--primary);

  font-size: 12px;
  font-weight: 800;

  display: inline-flex;
  align-items: center;

  gap: 5px;

  white-space: nowrap;
}

.kc-detail-link span {
  transition:
    transform 0.15s ease;
}

.kc-detail-link:hover span {
  transform: translateX(3px);
}

.kc-empty {
  min-height: 250px;

  background: #ffffff;

  border:
    1px solid var(--line);

  border-radius: 20px;

  display: flex;
  align-items: center;
  justify-content: center;

  color: var(--text-light);
}


/* =========================================================
   CONSULT
   ========================================================= */

.kc-consult-section {
  padding-top: 68px;
  padding-bottom: 68px;
}

.kc-consult {
  min-height: 195px;

  padding: 38px 42px;

  border-radius: 26px;

  background:
    linear-gradient(
      135deg,
      #294b47,
      #3c675f
    );

  color: #ffffff;

  box-shadow:
    0 16px 35px rgba(41, 75, 71, 0.14);

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 35px;
}

.kc-consult-label {
  display: inline-block;

  margin-bottom: 9px;

  color: #c4d9d1;

  font-size: 11px;
  font-weight: 800;
}

.kc-consult h2 {
  margin: 0;

  font-size: 25px;

  line-height: 1.35;

  letter-spacing: -0.8px;
}

.kc-consult p {
  margin:
    11px 0 0;

  color: #dbe7e3;

  font-size: 13px;
}

.kc-consult-button {
  min-width: 195px;

  padding:
    15px 20px;

  background: #ffffff;

  color: var(--primary-dark);

  border-radius: 14px;

  display: flex;
  align-items: center;
  justify-content: center;

  gap: 11px;

  box-shadow:
    0 8px 22px rgba(16, 40, 35, 0.12);
}

.kc-consult-button > span {
  color: var(--primary);

  font-size: 18px;
}

.kc-consult-button small {
  display: block;

  margin-bottom: 2px;

  color: var(--text-sub);

  font-size: 10px;
}

.kc-consult-button strong {
  display: block;

  font-size: 17px;
}


/* =========================================================
   FOOTER
   ========================================================= */

.kc-footer {
  background: #eef3f0;

  border-top:
    1px solid #dde6e2;
}

.kc-footer-inner {
  min-height: 130px;

  padding-top: 30px;
  padding-bottom: 30px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 25px;
}

.kc-footer strong {
  color: var(--primary-dark);

  font-size: 20px;
}

.kc-footer p {
  margin:
    7px 0 0;

  color: var(--text-light);

  font-size: 12px;
}

.kc-footer-phone {
  color: var(--text-sub);

  font-size: 11px;

  text-align: right;
}

.kc-footer-phone strong {
  display: block;

  margin-top: 4px;

  color: var(--primary);

  font-size: 18px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (
  max-width: 1100px
) {
  .kc-hero {
    grid-template-columns:
      1fr;

    gap: 28px;
  }

  .kc-hero-side {
    display: grid;

    grid-template-columns:
      1fr 1fr;
  }

  .kc-benefit-card {
    min-height: 150px;
  }

  .kc-hero-contact {
    align-self: stretch;

    flex-direction: column;

    align-items: flex-start;
    justify-content: center;
  }

  .kc-category-grid {
    grid-template-columns:
      repeat(4, 1fr);
  }

  .kc-product-grid {
    grid-template-columns:
      repeat(3, minmax(0, 1fr));
  }
}


/* =========================================================
   MOBILE / TABLET
   ========================================================= */

@media (
  max-width: 820px
) {
  .kc-container {
    padding-left: 18px;
    padding-right: 18px;
  }

  .kc-topbar {
    display: none;
  }

  .kc-header {
    position: relative;
  }

  .kc-header-inner {
    min-height: 73px;
  }

  .kc-logo strong {
    font-size: 25px;
  }

  .kc-logo span {
    display: none;
  }

  .kc-phone-button {
    padding:
      10px 13px;
  }

  .kc-phone-button small {
    display: none;
  }

  .kc-phone-button strong {
    font-size: 13px;
  }

  .kc-nav-item {
    padding:
      14px 12px;

    font-size: 13px;
  }

  .kc-hero-wrap {
    padding-top: 20px;
  }

  .kc-hero {
    padding:
      35px 25px;

    border-radius: 23px;
  }

  .kc-hero h1 {
    font-size: 36px;

    letter-spacing: -1.6px;
  }

  .kc-hero-side {
    grid-template-columns:
      1fr;
  }

  .kc-search {
    height: 58px;
  }

  .kc-search button {
    height: 44px;

    padding:
      0 18px;
  }

  .kc-section {
    padding-top: 50px;
  }

  .kc-section-title h2 {
    font-size: 23px;
  }

  .kc-category-grid {
    grid-template-columns:
      repeat(4, 1fr);
  }

  .kc-category-card {
    min-height: 105px;
  }

  .kc-product-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    gap: 15px;
  }

  .kc-product-image-wrap {
    padding: 14px;
  }

  .kc-consult {
    flex-direction: column;

    align-items: flex-start;

    padding: 30px;
  }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (
  max-width: 560px
) {
  .kc-header-inner {
    gap: 10px;
  }

  .kc-phone-icon {
    display: none;
  }

  .kc-phone-button {
    border-radius: 10px;
  }

  .kc-hero {
    padding:
      29px 20px;
  }

  .kc-hero-badge {
    margin-bottom: 13px;
  }

  .kc-hero h1 {
    font-size: 31px;

    line-height: 1.22;
  }

  .kc-hero-content > p {
    margin:
      17px 0 22px;

    font-size: 14px;
  }

  .kc-search input {
    padding:
      0 10px;

    font-size: 13px;
  }

  .kc-search-icon {
    padding-left: 14px;

    font-size: 20px;
  }

  .kc-search button {
    padding:
      0 15px;

    font-size: 13px;
  }

  .kc-category-grid {
    grid-template-columns:
      repeat(4, 1fr);

    gap: 8px;
  }

  .kc-category-card {
    min-height: 88px;

    padding:
      12px 5px;

    border-radius: 14px;
  }

  .kc-category-icon {
    width: 36px;
    height: 36px;

    margin-bottom: 7px;

    border-radius: 11px;

    font-size: 19px;
  }

  .kc-category-card strong {
    font-size: 11px;
  }

  .kc-section-title {
    align-items: center;
  }

  .kc-section-title h2 {
    font-size: 21px;
  }

  .kc-section-title > a {
    font-size: 11px;
  }

  .kc-product-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    gap: 10px;
  }

  .kc-product-card {
    border-radius: 16px;
  }

  .kc-product-image-wrap {
    padding: 9px;

    /*
     * 모바일에서도 이미지 흰 배경과
     * 카드 배경을 동일하게 유지
     */
    background: #ffffff;

    aspect-ratio: 1 / 0.94;
  }

  .kc-product-body {
    padding:
      14px 12px 13px;
  }

  .kc-popular-badge {
    top: 8px;
    left: 8px;

    padding: 5px 7px;

    font-size: 9px;
  }

  .kc-product-brand {
    margin-bottom: 6px;

    font-size: 10px;
  }

  .kc-product-name {
    min-height: 40px;

    font-size: 14px;

    line-height: 1.4;
  }

  .kc-product-meta {
    margin-top: 6px;

    font-size: 10px;
  }

  .kc-price-box {
    margin-top: 12px;

    padding-top: 11px;
  }

  .kc-price-label {
    margin-bottom: 4px;

    font-size: 9px;
  }

  .kc-price-row strong {
    font-size: 19px;

    letter-spacing: -0.7px;
  }

  .kc-price-row > span {
    font-size: 9px;
  }

  .kc-card-price {
    margin-top: 7px;

    padding:
      6px 7px;

    font-size: 9px;

    display: block;
  }

  .kc-card-price strong {
    display: block;

    margin-top: 2px;

    font-size: 11px;
  }

  .kc-product-footer {
    padding-top: 12px;
  }

  .kc-plan-badge {
    padding: 5px 6px;

    font-size: 8px;
  }

  .kc-detail-link {
    font-size: 9px;
  }

  .kc-consult-section {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .kc-consult {
    min-height: auto;

    padding:
      26px 22px;

    border-radius: 20px;
  }

  .kc-consult h2 {
    font-size: 21px;
  }

  .kc-consult-button {
    width: 100%;
  }

  .kc-footer-inner {
    flex-direction: column;

    align-items: flex-start;
  }

  .kc-footer-phone {
    text-align: left;
  }
}

/* =========================================================
   PRODUCT DETAIL
   ========================================================= */

.kc-detail-grid {
  display: grid;
  grid-template-columns:
    minmax(340px, 1fr)
    minmax(380px, 1fr);

  grid-gap: 55px;

  gap: 55px;

  padding: 40px;

  background: #ffffff;

  border: 1px solid var(--line);
  border-radius: 28px;

  box-shadow: var(--shadow-sm);
}

.kc-detail-image {
  min-height: 470px;

  display: flex;
  align-items: center;
  justify-content: center;

  background: #ffffff;

  border-radius: 20px;

  overflow: hidden;
}

.kc-detail-image img {
  width: 100%;
  max-height: 500px;

  object-fit: contain;
}

.kc-detail-brand {
  margin-bottom: 10px;

  color: var(--accent);

  font-size: 13px;
  font-weight: 850;
}

.kc-detail-info h1 {
  margin: 0;

  color: var(--primary-dark);

  font-size: 32px;
  line-height: 1.35;

  letter-spacing: -1px;
}

.kc-detail-meta {
  margin-top: 13px;

  color: var(--text-light);

  font-size: 13px;
}

.kc-detail-plans {
  margin-top: 33px;

  padding-top: 25px;

  border-top:
    1px solid var(--line-soft);
}

.kc-detail-plans h2 {
  margin:
    0 0 17px;

  font-size: 19px;
}

.kc-detail-plan {
  margin-bottom: 9px;

  padding: 15px 17px;

  background: #f7faf8;

  border:
    1px solid #e3eae6;

  border-radius: 14px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 15px;
}

.kc-detail-plan > div:first-child {
  display: flex;
  flex-direction: column;

  gap: 4px;
}

.kc-detail-plan > div:first-child strong {
  font-size: 14px;
}

.kc-detail-plan > div:first-child span {
  color: var(--text-light);

  font-size: 11px;
}

.kc-detail-plan-price {
  text-align: right;
}

.kc-detail-plan-price strong {
  display: block;

  color: var(--primary-dark);

  font-size: 18px;
}

.kc-detail-plan-price span {
  display: block;

  margin-top: 5px;

  color: var(--text-sub);

  font-size: 11px;
}

.kc-detail-call {
  height: 57px;

  margin-top: 25px;

  border-radius: 14px;

  background: var(--primary);

  color: #ffffff;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 16px;
  font-weight: 900;
}


/* Inquiry */

.kc-inquiry-section {
  margin-top: 35px;

  padding: 38px 40px;

  background:
    linear-gradient(
      135deg,
      #edf4f1,
      #f9fbfa
    );

  border:
    1px solid #dfe9e4;

  border-radius: 26px;

  display: grid;

  grid-template-columns:
    minmax(260px, 0.8fr)
    minmax(380px, 1.2fr);

  grid-gap: 55px;

  gap: 55px;
}

.kc-inquiry-copy > span {
  color: var(--accent);

  font-size: 12px;
  font-weight: 850;
}

.kc-inquiry-copy h2 {
  margin:
    10px 0 13px;

  color: var(--primary-dark);

  font-size: 26px;
  line-height: 1.4;

  letter-spacing: -0.8px;
}

.kc-inquiry-copy p {
  color: var(--text-sub);

  font-size: 13px;
  line-height: 1.7;
}

.kc-inquiry-form {
  display: grid;

  grid-gap: 14px;

  gap: 14px;
}

.kc-inquiry-form label {
  color: var(--text-sub);

  font-size: 11px;
  font-weight: 750;
}

.kc-inquiry-form input,
.kc-inquiry-form textarea {
  width: 100%;

  margin-top: 6px;

  padding:
    13px 14px;

  border:
    1px solid #d9e3de;

  border-radius: 11px;

  outline: 0;

  background: #ffffff;

  color: var(--text-main);
}

.kc-inquiry-form input:focus,
.kc-inquiry-form textarea:focus {
  border-color: var(--accent);
}

.kc-inquiry-form button {
  height: 52px;

  border: 0;

  border-radius: 12px;

  background: var(--primary);

  color: #ffffff;

  font-weight: 900;

  cursor: pointer;
}

.kc-form-success {
  padding: 11px 13px;

  border-radius: 10px;

  background: #dcece4;

  color: #275244;

  font-size: 12px;
  font-weight: 750;
}

.kc-form-error {
  padding: 11px 13px;

  border-radius: 10px;

  background: #f9e4e4;

  color: #8b3838;

  font-size: 12px;
  font-weight: 750;
}


/* Related */

.kc-related-section {
  padding-top: 55px;
}

.kc-related-section h2 {
  margin:
    0 0 20px;

  font-size: 24px;
}

.kc-related-grid {
  display: grid;

  grid-template-columns:
    repeat(4, 1fr);

  grid-gap: 17px;

  gap: 17px;
}

.kc-related-card {
  overflow: hidden;

  background: #ffffff;

  border:
    1px solid var(--line);

  border-radius: 18px;
}

.kc-related-image {
  aspect-ratio: 1 / 0.85;

  padding: 13px;

  display: flex;
  align-items: center;
  justify-content: center;
}

.kc-related-image img {
  width: 100%;
  height: 100%;

  object-fit: contain;
}

.kc-related-body {
  padding:
    14px 15px 16px;

  border-top:
    1px solid var(--line-soft);
}

.kc-related-body > span {
  display: block;

  margin-bottom: 6px;

  color: var(--accent);

  font-size: 10px;
  font-weight: 800;
}

.kc-related-body > strong {
  min-height: 39px;

  display: -webkit-box;

  color: var(--text-main);

  font-size: 13px;
  line-height: 1.45;

  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;

  overflow: hidden;
}

.kc-related-body > div {
  margin-top: 11px;

  color: var(--primary-dark);

  font-size: 14px;
  font-weight: 900;
}


@media (max-width: 820px) {
  .kc-detail-grid {
    grid-template-columns: 1fr;

    padding: 25px;

    gap: 25px;
  }

  .kc-detail-image {
    min-height: 330px;
  }

  .kc-inquiry-section {
    grid-template-columns: 1fr;

    padding: 28px;

    gap: 25px;
  }

  .kc-related-grid {
    grid-template-columns:
      repeat(2, 1fr);
  }
}


/* =========================================================
   MOBILE BOTTOM CONTACT
   ========================================================= */

.kc-mobile-contact {
  display: none;
}

@media (max-width: 820px) {
  body {
    padding-bottom: 72px;
  }

  .kc-mobile-contact {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;

    z-index: 100;

    display: grid;
    grid-template-columns: 0.8fr 1.2fr;

    grid-gap: 8px;

    gap: 8px;

    padding:
      9px 12px
      calc(9px + env(safe-area-inset-bottom));

    background:
      rgba(255, 255, 255, 0.96);

    border-top:
      1px solid #dde6e2;

    box-shadow:
      0 -7px 22px rgba(41, 75, 71, 0.08);

    -webkit-backdrop-filter: blur(12px);

            backdrop-filter: blur(12px);
  }

  .kc-mobile-products,
  .kc-mobile-call {
    height: 48px;

    border-radius: 12px;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 13px;
    font-weight: 850;
  }

  .kc-mobile-products {
    background: #eef3f0;
    color: #294b47;
  }

  .kc-mobile-call {
    background: #294b47;
    color: #ffffff;
  }
}


/* =========================================================
   PRODUCT COMPARE
   ========================================================= */

.kc-compare-btn {
  border: 0;
  background: transparent;

  color: #64748b;

  font-size: 10px;
  font-weight: 800;

  cursor: pointer;
}

.kc-compare-btn.selected {
  color: #294b47;
}

.kc-compare-bar {
  position: fixed;

  left: 50%;
  bottom: 24px;

  transform: translateX(-50%);

  z-index: 90;

  min-width: 350px;

  padding: 11px 13px 11px 17px;

  background: #ffffff;

  border:
    1px solid #dce5e1;

  border-radius: 16px;

  box-shadow:
    0 14px 35px
    rgba(41, 75, 71, 0.18);

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 20px;

  font-size: 12px;
}

.kc-compare-bar-actions {
  display: flex;

  align-items: center;

  gap: 8px;
}

.kc-compare-bar button {
  border: 0;

  background: transparent;

  color: #94a3b8;

  cursor: pointer;

  font-size: 11px;
}

.kc-compare-bar a {
  padding:
    9px 12px;

  border-radius: 10px;

  background: #294b47;

  color: #ffffff;

  font-weight: 800;
}

.kc-compare-grid {
  display: grid;

  grid-template-columns:
    repeat(
      auto-fit,
      minmax(280px, 1fr)
    );

  grid-gap: 18px;

  gap: 18px;
}

.kc-compare-card {
  background: #ffffff;

  border:
    1px solid #e4eae7;

  border-radius: 22px;

  padding: 22px;
}

.kc-compare-image {
  height: 270px;

  display: flex;
  align-items: center;
  justify-content: center;
}

.kc-compare-image img {
  width: 100%;
  height: 100%;

  object-fit: contain;
}

.kc-compare-brand {
  margin-top: 18px;

  color: #75978a;

  font-size: 11px;
  font-weight: 850;
}

.kc-compare-card h2 {
  min-height: 54px;

  margin: 8px 0;

  font-size: 18px;
  line-height: 1.45;
}

.kc-compare-model {
  color: #94a3b8;

  font-size: 12px;
}

.kc-compare-price {
  margin-top: 20px;

  padding:
    16px 0;

  border-top:
    1px solid #edf1ef;

  border-bottom:
    1px solid #edf1ef;
}

.kc-compare-price span {
  display: block;

  color: #64748b;

  font-size: 11px;
}

.kc-compare-price strong {
  display: block;

  margin-top: 6px;

  color: #294b47;

  font-size: 25px;
}

.kc-compare-plans {
  margin-top: 18px;
}

.kc-compare-plans > strong {
  font-size: 14px;
}

.kc-compare-plans > div {
  margin-top: 8px;

  padding:
    9px 10px;

  border-radius: 9px;

  background: #f5f8f6;

  display: flex;
  justify-content: space-between;

  gap: 10px;

  font-size: 11px;
}

@media (max-width: 820px) {
  .kc-compare-bar {
    left: 12px;
    right: 12px;
    bottom: 82px;

    min-width: 0;

    transform: none;
  }
}

.kc-pagination {
  margin-top: 36px;

  display: flex;
  align-items: center;
  justify-content: center;

  gap: 18px;
}

.kc-pagination a {
  padding: 10px 15px;

  background: #ffffff;

  border: 1px solid #dce5e1;
  border-radius: 10px;

  color: #294b47;

  font-size: 12px;
  font-weight: 800;
}

.kc-pagination span {
  color: #64748b;

  font-size: 12px;
  font-weight: 700;
}


/* =========================================================
   BRAND LOGO
   ========================================================= */

.kc-brand-logo {
  display: inline-flex;
  align-items: center;
  gap: 11px;
}

.kc-brand-logo-mark {
  width: 44px;
  height: 44px;

  flex: 0 0 auto;
}

.kc-brand-logo-copy {
  display: flex;
  flex-direction: column;
}

.kc-brand-logo-copy strong {
  color: #244541;

  font-size: 27px;
  line-height: 1;

  font-weight: 900;
  letter-spacing: -1.4px;
}

.kc-brand-logo-copy small {
  margin-top: 6px;

  color: #8e9d98;

  font-size: 11px;
}

@media (max-width: 560px) {
  .kc-brand-logo-mark {
    width: 38px;
    height: 38px;
  }

  .kc-brand-logo-copy strong {
    font-size: 23px;
  }

  .kc-brand-logo-copy small {
    display: none;
  }
}

.kc-product-filterbar {
  margin-bottom: 22px;

  display: flex;
  align-items: center;
  justify-content: flex-end;

  gap: 9px;
}

.kc-product-filterbar select {
  height: 42px;

  padding: 0 34px 0 12px;

  border:
    1px solid #dce5e1;

  border-radius: 10px;

  background: #ffffff;

  color: #475569;

  font-size: 12px;
}

.kc-product-filterbar button {
  height: 42px;

  padding: 0 17px;

  border: 0;
  border-radius: 10px;

  background: #294b47;
  color: #ffffff;

  font-size: 12px;
  font-weight: 800;

  cursor: pointer;
}

@media (max-width: 560px) {
  .kc-product-filterbar {
    display: grid;

    grid-template-columns:
      1fr 1fr auto;
  }

  .kc-product-filterbar select {
    width: 100%;
  }
}

.kc-favorite-btn {
  width: 42px;
  height: 42px;

  border:
    1px solid #dce5e1;

  border-radius: 50%;

  background: #ffffff;

  color: #75978a;

  font-size: 23px;

  cursor: pointer;
}

.kc-favorite-btn.active {
  background: #294b47;
  color: #ffffff;
}

.kc-saved-grid {
  display: grid;

  grid-template-columns:
    repeat(4, minmax(0, 1fr));

  grid-gap: 16px;

  gap: 16px;

  margin-top: 18px;
}

.kc-saved-card {
  overflow: hidden;

  background: #ffffff;

  border:
    1px solid #e4eae7;

  border-radius: 17px;
}

.kc-saved-image {
  height: 180px;

  padding: 12px;

  display: flex;
  align-items: center;
  justify-content: center;
}

.kc-saved-image img {
  width: 100%;
  height: 100%;

  object-fit: contain;
}

.kc-saved-card > div:last-child {
  padding: 14px;

  border-top:
    1px solid #edf1ef;
}

.kc-saved-card span {
  display: block;

  margin-bottom: 5px;

  color: #75978a;

  font-size: 10px;
  font-weight: 800;
}

.kc-saved-card strong {
  display: -webkit-box;

  color: #24302e;

  font-size: 13px;
  line-height: 1.5;

  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;

  overflow: hidden;
}

@media (max-width: 820px) {
  .kc-saved-grid {
    grid-template-columns:
      repeat(2, 1fr);
  }
}

.kc-detail-section {
  margin-top: 35px;

  padding: 34px;

  background: #ffffff;

  border:
    1px solid #e4eae7;

  border-radius: 24px;
}

.kc-detail-section h2 {
  margin:
    0 0 22px;

  font-size: 23px;
}

.kc-spec-grid {
  display: grid;

  grid-template-columns:
    repeat(2,minmax(0,1fr));

  border-top:
    1px solid #edf1ef;
}

.kc-spec-row {
  min-height: 54px;

  padding:
    14px 12px;

  display: grid;

  grid-template-columns:
    120px 1fr;

  grid-gap: 16px;

  gap: 16px;

  border-bottom:
    1px solid #edf1ef;
}

.kc-spec-row strong {
  color: #64748b;

  font-size: 12px;
}

.kc-spec-row span {
  color: #24302e;

  font-size: 13px;
  line-height: 1.6;
}

.kc-detail-images {
  max-width: 900px;

  margin: 0 auto;

  display: grid;

  grid-gap: 0;

  gap: 0;

  background: #ffffff;
}

.kc-detail-images img {
  width: 100%;
  height: auto;

  object-fit: contain;

  background: #ffffff;
}

@media (max-width: 820px) {
  .kc-spec-grid {
    grid-template-columns: 1fr;
  }

  .kc-detail-section {
    padding: 24px 18px;
  }
}

.kc-card-benefit-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;

  margin-bottom: 22px;
}

.kc-card-benefit-label {
  display: block;

  margin-bottom: 7px;

  color: #75978a;

  font-size: 11px;
  font-weight: 850;
}

.kc-card-benefit-head h2 {
  margin: 0;
}

.kc-card-benefit-note {
  color: #94a3b8;

  font-size: 11px;
}

.kc-benefit-grid {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  grid-gap: 10px;

  gap: 10px;
}

.kc-benefit-item {
  min-height: 75px;

  padding: 15px 16px;

  border: 1px solid #e2e9e5;
  border-radius: 13px;

  background: #f8faf9;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 15px;
}

.kc-benefit-item > div {
  min-width: 0;
}

.kc-benefit-item > div > strong {
  display: block;

  color: #24302e;

  font-size: 14px;
}

.kc-benefit-item > div > span {
  display: block;

  margin-top: 5px;

  color: #64748b;

  font-size: 11px;
}

.kc-benefit-amount {
  color: #294b47;

  font-size: 15px;

  white-space: nowrap;
}

@media (max-width: 700px) {
  .kc-card-benefit-head {
    display: block;
  }

  .kc-card-benefit-note {
    display: block;

    margin-top: 8px;
  }

  .kc-benefit-grid {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   SMART RENTAL FINDER
   ========================================================= */

.kc-finder {
  padding: 32px;

  background:
    linear-gradient(
      135deg,
      #ffffff 0%,
      #f8fbf9 100%
    );

  border:
    1px solid #dfe8e4;

  border-radius: 26px;

  box-shadow:
    0 14px 40px
    rgba(41,75,71,0.06);
}

.kc-finder-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;

  gap: 30px;

  margin-bottom: 30px;
}

.kc-finder-head span {
  color: #75978a;

  font-size: 10px;
  font-weight: 900;

  letter-spacing: 1.5px;
}

.kc-finder-head h2 {
  margin:
    8px 0 10px;

  color: #24302e;

  font-size: 30px;
  line-height: 1.3;

  letter-spacing: -1px;
}

.kc-finder-head p {
  margin: 0;

  color: #64716e;

  font-size: 13px;
  line-height: 1.7;
}

.kc-finder-step {
  width: 52px;
  height: 52px;

  border-radius: 16px;

  background: #294b47;

  color: #ffffff;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 14px;
  font-weight: 900;
}

.kc-finder-block {
  padding:
    20px 0;

  border-top:
    1px solid #edf1ef;
}

.kc-finder-block > strong {
  display: block;

  margin-bottom: 13px;

  color: #394744;

  font-size: 13px;
}

.kc-choice-grid {
  display: grid;

  grid-template-columns:
    repeat(8, 1fr);

  grid-gap: 8px;

  gap: 8px;
}

.kc-choice-row {
  display: flex;
  flex-wrap: wrap;

  gap: 8px;
}

.kc-choice-grid button,
.kc-choice-row button {
  min-height: 44px;

  padding:
    0 14px;

  border:
    1px solid #dfe7e3;

  border-radius: 11px;

  background: #ffffff;

  color: #64716e;

  font-size: 12px;
  font-weight: 750;

  cursor: pointer;

  transition:
    0.16s ease;
}

.kc-choice-grid button:hover,
.kc-choice-row button:hover {
  border-color: #75978a;
  color: #294b47;
}

.kc-choice-grid button.active,
.kc-choice-row button.active {
  background: #294b47;
  color: #ffffff;

  border-color: #294b47;
}

.kc-finder-columns {
  display: grid;

  grid-template-columns:
    1fr 1fr;

  grid-gap: 30px;

  gap: 30px;
}

.kc-finder-submit {
  width: 100%;
  height: 58px;

  margin-top: 10px;

  border: 0;
  border-radius: 14px;

  background:
    linear-gradient(
      135deg,
      #294b47,
      #3c675f
    );

  color: #ffffff;

  display: flex;
  align-items: center;
  justify-content: center;

  gap: 10px;

  font-size: 15px;
  font-weight: 900;

  cursor: pointer;

  box-shadow:
    0 10px 25px
    rgba(41,75,71,0.16);
}

.kc-finder-submit span {
  font-size: 19px;
}

@media (max-width: 900px) {
  .kc-choice-grid {
    grid-template-columns:
      repeat(4, 1fr);
  }

  .kc-finder-columns {
    grid-template-columns: 1fr;
    gap: 0;
  }
}

@media (max-width: 560px) {
  .kc-finder {
    padding: 22px 17px;

    border-radius: 20px;
  }

  .kc-finder-head h2 {
    font-size: 24px;
  }

  .kc-finder-step {
    width: 42px;
    height: 42px;
  }

  .kc-choice-grid {
    grid-template-columns:
      repeat(2, 1fr);
  }

  .kc-choice-grid button {
    height: 44px;
  }
}

/* =========================================================
   MODERN PRODUCT MARKET
   ========================================================= */

.kc-product-list-head {
  margin-bottom: 24px;
}

.kc-product-list-head > div > span {
  color: #75978a;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1.5px;
}

.kc-product-list-head h1 {
  max-width: 650px;

  margin: 9px 0;

  color: #24302e;

  font-size: 34px;
  line-height: 1.3;

  letter-spacing: -1.2px;
}

.kc-product-list-head p {
  margin: 0;

  color: #7b8884;

  font-size: 13px;
}

.kc-products-search {
  height: 58px;

  margin-bottom: 20px;

  padding: 6px;

  background: #ffffff;

  border:
    1px solid #dfe7e3;

  border-radius: 15px;

  display: flex;

  box-shadow:
    0 7px 22px
    rgba(41,75,71,0.04);
}

.kc-products-search input {
  flex: 1 1;

  min-width: 0;

  border: 0;
  outline: 0;

  padding:
    0 16px;

  font-size: 14px;
}

.kc-products-search button {
  min-width: 86px;

  border: 0;

  border-radius: 11px;

  background: #294b47;

  color: #ffffff;

  font-weight: 850;
}

.kc-filter-panel {
  margin-bottom: 24px;

  padding:
    6px 22px;

  background: #ffffff;

  border:
    1px solid #e1e8e4;

  border-radius: 18px;
}

.kc-filter-row {
  min-height: 60px;

  display: grid;

  grid-template-columns:
    105px 1fr;

  align-items: center;

  grid-gap: 12px;

  gap: 12px;

  border-bottom:
    1px solid #edf1ef;
}

.kc-filter-row:last-child {
  border-bottom: 0;
}

.kc-filter-row > strong {
  color: #53615e;

  font-size: 12px;
}

.kc-filter-row > div {
  display: flex;

  gap: 6px;

  flex-wrap: wrap;
}

.kc-filter-row a {
  padding:
    8px 11px;

  border-radius: 9px;

  color: #64716e;

  font-size: 11px;
  font-weight: 750;
}

.kc-filter-row a:hover,
.kc-filter-row a.active {
  background: #e7efec;
  color: #294b47;
}

.kc-product-toolbar {
  margin-bottom: 18px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 20px;
}

.kc-product-toolbar > div {
  color: #64716e;

  font-size: 12px;
}

.kc-product-toolbar > div strong {
  color: #294b47;

  font-size: 15px;
}

.kc-product-toolbar form {
  display: flex;

  gap: 7px;
}

.kc-product-toolbar select {
  height: 40px;

  padding:
    0 30px 0 10px;

  border:
    1px solid #dce5e1;

  border-radius: 9px;

  background: #ffffff;

  color: #53615e;

  font-size: 11px;
}

.kc-product-toolbar button {
  height: 40px;

  padding:
    0 14px;

  border: 0;

  border-radius: 9px;

  background: #294b47;
  color: #ffffff;

  font-size: 11px;
  font-weight: 800;
}

.kc-modern-grid {
  display: grid;

  grid-template-columns:
    repeat(4,minmax(0,1fr));

  grid-gap: 18px;

  gap: 18px;
}

.kc-modern-card {
  min-width: 0;

  overflow: hidden;

  background: #ffffff;

  border:
    1px solid #e3e9e6;

  border-radius: 20px;

  box-shadow:
    0 8px 28px
    rgba(41,75,71,0.035);

  transition:
    transform .18s ease,
    box-shadow .18s ease;
}

.kc-modern-card:hover {
  transform:
    translateY(-4px);

  box-shadow:
    0 17px 42px
    rgba(41,75,71,.09);
}

.kc-modern-image {
  width: 100%;

  aspect-ratio: 1 / .9;

  padding: 17px;

  background: #ffffff;

  display: flex;
  align-items: center;
  justify-content: center;
}

.kc-modern-image img {
  width: 100%;
  height: 100%;

  object-fit: contain;

  transition:
    transform .22s ease;
}

.kc-modern-card:hover
.kc-modern-image img {
  transform: scale(1.025);
}

.kc-modern-image span {
  color: #9ca6a3;

  font-size: 11px;
}

.kc-modern-body {
  padding:
    18px 17px 16px;

  border-top:
    1px solid #f0f3f1;
}

.kc-modern-topline {
  display: flex;
  justify-content: space-between;
  align-items: center;

  gap: 10px;

  margin-bottom: 8px;
}

.kc-modern-topline > span {
  color: #75978a;

  font-size: 10px;
  font-weight: 850;
}

.kc-modern-title {
  min-height: 47px;

  color: #24302e;

  font-size: 16px;
  font-weight: 850;

  line-height: 1.45;

  letter-spacing: -.4px;

  display: -webkit-box;

  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;

  overflow: hidden;
}

.kc-modern-meta {
  margin-top: 7px;

  color: #9aa4a1;

  font-size: 10px;

  white-space: nowrap;

  overflow: hidden;

  text-overflow: ellipsis;
}

.kc-modern-price {
  margin-top: 16px;

  padding-top: 14px;

  border-top:
    1px solid #edf1ef;
}

.kc-modern-price small {
  display: block;

  margin-bottom: 5px;

  color: #7b8884;

  font-size: 10px;
  font-weight: 750;
}

.kc-modern-price > div {
  display: flex;
  align-items: flex-end;

  gap: 5px;
}

.kc-modern-price strong {
  color: #294b47;

  font-size: 23px;

  line-height: 1;

  font-weight: 900;

  letter-spacing: -.8px;
}

.kc-modern-price span {
  color: #8b9793;

  font-size: 10px;
}

.kc-modern-cardprice {
  margin-top: 9px;

  padding:
    8px 10px;

  border-radius: 9px;

  background: #edf4f1;

  display: flex;
  justify-content: space-between;

  gap: 10px;

  color: #64716e;

  font-size: 10px;
}

.kc-modern-cardprice strong {
  color: #294b47;

  font-size: 12px;
}

.kc-modern-footer {
  margin-top: 14px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 10px;
}

.kc-modern-footer > span {
  padding:
    5px 7px;

  border-radius: 7px;

  background: #f3f6f4;

  color: #64716e;

  font-size: 9px;
  font-weight: 750;
}

.kc-modern-footer > a {
  color: #294b47;

  font-size: 10px;
  font-weight: 850;
}

@media (max-width: 1050px) {
  .kc-modern-grid {
    grid-template-columns:
      repeat(3,minmax(0,1fr));
  }
}

@media (max-width: 760px) {
  .kc-modern-grid {
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }

  .kc-filter-row {
    grid-template-columns: 1fr;

    padding:
      13px 0;
  }

  .kc-product-toolbar {
    align-items: flex-start;

    flex-direction: column;
  }
}

@media (max-width: 520px) {
  .kc-product-list-head h1 {
    font-size: 27px;
  }

  .kc-filter-panel {
    padding:
      5px 15px;
  }

  .kc-product-toolbar form {
    width: 100%;
  }

  .kc-product-toolbar select {
    flex: 1 1;
    min-width: 0;
  }

  .kc-modern-grid {
    gap: 9px;
  }

  .kc-modern-card {
    border-radius: 15px;
  }

  .kc-modern-image {
    padding: 9px;
  }

  .kc-modern-body {
    padding:
      13px 11px;
  }

  .kc-modern-title {
    font-size: 13px;

    min-height: 38px;
  }

  .kc-modern-price strong {
    font-size: 18px;
  }
}

/* =========================================================
   NEXT-GEN PRODUCT DETAIL
   ========================================================= */

.kc-product-page {
  padding-top: 30px;
  padding-bottom: 80px;
}

.kc-product-breadcrumb {
  margin-bottom: 18px;

  display: flex;
  align-items: center;
  gap: 7px;

  color: #94a3b8;

  font-size: 11px;
}

.kc-decision {
  display: grid;

  grid-template-columns:
    minmax(360px, .95fr)
    minmax(460px, 1.05fr);

  grid-gap: 50px;

  gap: 50px;

  padding: 40px;

  background:
    linear-gradient(
      135deg,
      #ffffff,
      #fafcfb
    );

  border:
    1px solid #e1e8e4;

  border-radius: 28px;

  box-shadow:
    0 16px 45px
    rgba(41,75,71,.055);
}

.kc-decision-image {
  min-height: 490px;

  display: flex;
  align-items: center;
  justify-content: center;

  background: #ffffff;

  border-radius: 22px;
}

.kc-decision-image img {
  width: 100%;
  height: 100%;

  max-height: 500px;

  object-fit: contain;
}

.kc-decision-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;

  gap: 20px;
}

.kc-product-brand-pill {
  display: inline-flex;

  padding:
    6px 10px;

  margin-bottom: 12px;

  border-radius: 999px;

  background: #e7efec;

  color: #294b47;

  font-size: 10px;
  font-weight: 850;
}

.kc-decision h1 {
  max-width: 650px;

  margin: 0;

  color: #24302e;

  font-size: 31px;
  line-height: 1.38;

  letter-spacing: -.9px;
}

.kc-decision-meta {
  margin-top: 10px;

  color: #94a3b8;

  font-size: 12px;
}

.kc-price-summary {
  margin-top: 28px;

  display: grid;

  grid-template-columns:
    1fr 1fr;

  grid-gap: 10px;

  gap: 10px;
}

.kc-price-summary-main,
.kc-price-summary-card {
  padding: 17px;

  border-radius: 15px;
}

.kc-price-summary-main {
  background: #294b47;
  color: #ffffff;
}

.kc-price-summary-card {
  background: #edf4f1;
  color: #294b47;
}

.kc-price-summary span {
  display: block;

  margin-bottom: 7px;

  font-size: 10px;

  opacity: .8;
}

.kc-price-summary strong {
  font-size: 27px;

  line-height: 1;

  letter-spacing: -.8px;
}

.kc-price-summary small {
  margin-left: 4px;

  font-size: 10px;
}

.kc-quick-facts {
  margin-top: 12px;

  display: grid;

  grid-template-columns:
    repeat(3, 1fr);

  border:
    1px solid #e3e9e6;

  border-radius: 14px;

  overflow: hidden;
}

.kc-quick-facts > div {
  padding:
    13px 14px;

  border-right:
    1px solid #e8eeeb;
}

.kc-quick-facts > div:last-child {
  border-right: 0;
}

.kc-quick-facts span {
  display: block;

  margin-bottom: 5px;

  color: #94a3b8;

  font-size: 9px;
}

.kc-quick-facts strong {
  color: #394744;

  font-size: 12px;
}

.kc-best-plan {
  margin-top: 12px;

  padding:
    14px 16px;

  border-radius: 13px;

  background:
    linear-gradient(
      90deg,
      #f2f7f4,
      #f8faf9
    );

  border:
    1px solid #dfe8e4;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 20px;
}

.kc-best-plan > div span {
  display: block;

  margin-bottom: 5px;

  color: #75978a;

  font-size: 9px;
  font-weight: 850;
}

.kc-best-plan > div strong {
  font-size: 12px;
}

.kc-best-plan > strong {
  color: #294b47;

  font-size: 18px;
}

.kc-decision-actions {
  margin-top: 18px;

  display: grid;

  grid-template-columns:
    1.2fr .8fr;

  grid-gap: 9px;

  gap: 9px;
}

.kc-primary-action,
.kc-secondary-action {
  height: 54px;

  border-radius: 13px;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 13px;
  font-weight: 900;
}

.kc-primary-action {
  background: #294b47;

  color: #ffffff;
}

.kc-secondary-action {
  background: #edf3f0;

  color: #294b47;
}

.kc-sub-actions {
  margin-top: 9px;

  display: grid;

  grid-template-columns:
    .4fr 1fr;

  grid-gap: 9px;

  gap: 9px;
}

.kc-product-section {
  margin-top: 34px;

  padding: 32px;

  background: #ffffff;

  border:
    1px solid #e2e9e5;

  border-radius: 23px;
}

.kc-product-section-head {
  margin-bottom: 22px;
}

.kc-product-section-head span {
  color: #75978a;

  font-size: 9px;
  font-weight: 900;

  letter-spacing: 1.3px;
}

.kc-product-section-head h2 {
  margin:
    7px 0 6px;

  color: #24302e;

  font-size: 23px;
}

.kc-product-section-head p {
  margin: 0;

  color: #8a9692;

  font-size: 11px;
}

.kc-plan-table {
  overflow: hidden;

  border:
    1px solid #e4eae7;

  border-radius: 14px;
}

.kc-plan-table-head,
.kc-plan-table-row {
  display: grid;

  grid-template-columns:
    repeat(4, 1fr);

  align-items: center;

  grid-gap: 10px;

  gap: 10px;
}

.kc-plan-table-head {
  padding:
    11px 16px;

  background: #f5f8f6;

  color: #7e8a86;

  font-size: 10px;
}

.kc-plan-table-row {
  min-height: 62px;

  padding:
    10px 16px;

  border-top:
    1px solid #edf1ef;

  color: #53615e;

  font-size: 12px;
}

.kc-plan-table-row.best {
  background:
    linear-gradient(
      90deg,
      #f2f8f5,
      #ffffff
    );
}

.kc-plan-table-row > span:first-child {
  display: flex;

  align-items: center;

  gap: 7px;
}

.kc-plan-table-row em {
  padding:
    4px 6px;

  border-radius: 6px;

  background: #294b47;

  color: #ffffff;

  font-size: 8px;

  font-style: normal;
  font-weight: 800;
}

.kc-plan-table-row strong {
  color: #24302e;

  font-size: 14px;
}

.kc-spec-modern-grid {
  display: grid;

  grid-template-columns:
    repeat(2, 1fr);

  grid-gap: 1px;

  gap: 1px;

  overflow: hidden;

  background: #e9eeec;

  border:
    1px solid #e9eeec;

  border-radius: 13px;
}

.kc-spec-modern-item {
  min-height: 64px;

  padding:
    14px 16px;

  background: #ffffff;

  display: grid;

  grid-template-columns:
    110px 1fr;

  align-items: center;

  grid-gap: 12px;

  gap: 12px;
}

.kc-spec-modern-item span {
  color: #899591;

  font-size: 10px;
}

.kc-spec-modern-item strong {
  color: #394744;

  font-size: 12px;
  line-height: 1.5;
}

.kc-detail-images-modern {
  max-width: 900px;

  margin: 0 auto;

  display: grid;

  grid-gap: 18px;

  gap: 18px;
}

.kc-detail-images-modern img {
  width: 100%;
  height: auto;

  border-radius: 14px;

  object-fit: contain;
}

.kc-privacy-check {
  display: flex !important;

  align-items: flex-start;

  gap: 8px;
}

.kc-privacy-check input {
  width: 16px !important;
  height: 16px;

  margin-top: 1px !important;
}

.kc-product-notfound {
  min-height: 60vh;

  padding-top: 80px;
}

@media (max-width: 900px) {
  .kc-decision {
    grid-template-columns: 1fr;

    gap: 25px;

    padding: 27px;
  }

  .kc-decision-image {
    min-height: 350px;
  }
}

@media (max-width: 600px) {
  .kc-decision {
    padding: 20px 16px;

    border-radius: 20px;
  }

  .kc-decision-image {
    min-height: 290px;
  }

  .kc-decision h1 {
    font-size: 24px;
  }

  .kc-price-summary {
    grid-template-columns: 1fr 1fr;
  }

  .kc-price-summary strong {
    font-size: 20px;
  }

  .kc-quick-facts {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .kc-best-plan {
    align-items: flex-start;

    flex-direction: column;
  }

  .kc-product-section {
    padding: 23px 15px;
  }

  .kc-plan-table {
    overflow-x: auto;
  }

  .kc-plan-table-head,
  .kc-plan-table-row {
    min-width: 580px;
  }

  .kc-spec-modern-grid {
    grid-template-columns: 1fr;
  }

  .kc-spec-modern-item {
    grid-template-columns:
      90px 1fr;
  }
}


/* =========================================================
   NEXT-GEN HOME
   ========================================================= */

.kc-next-hero {
  padding:
    36px 0 10px;
}

.kc-next-hero-inner {
  min-height: 500px;

  padding:
    58px 55px;

  border:
    1px solid #dfe8e4;

  border-radius: 30px;

  background:
    radial-gradient(
      circle at 85% 15%,
      #dfece7 0,
      transparent 32%
    ),
    linear-gradient(
      135deg,
      #ffffff 0%,
      #f7faf8 100%
    );

  box-shadow:
    0 20px 55px
    rgba(41,75,71,.055);

  display: grid;

  grid-template-columns:
    minmax(0,1.35fr)
    minmax(320px,.65fr);

  align-items: center;

  grid-gap: 65px;

  gap: 65px;
}

.kc-next-eyebrow {
  color: #75978a;

  font-size: 10px;
  font-weight: 900;

  letter-spacing: 1.8px;
}

.kc-next-hero-copy h1 {
  margin:
    13px 0 18px;

  color: #24302e;

  font-size:
    clamp(
      43px,
      4.7vw,
      64px
    );

  line-height: 1.12;

  letter-spacing: -2.7px;

  font-weight: 650;
}

.kc-next-hero-copy h1 strong {
  color: #294b47;

  font-weight: 950;
}

.kc-next-hero-copy > p {
  margin:
    0 0 28px;

  color: #687672;

  font-size: 15px;
  line-height: 1.8;
}

.kc-next-search {
  height: 64px;

  max-width: 720px;

  padding:
    6px;

  background: #ffffff;

  border:
    1px solid #d9e4df;

  border-radius: 17px;

  box-shadow:
    0 12px 28px
    rgba(41,75,71,.055);

  display: flex;
  align-items: center;
}

.kc-next-search > span {
  padding-left: 14px;

  color: #75978a;

  font-size: 23px;
}

.kc-next-search input {
  flex: 1 1;

  min-width: 0;
  height: 100%;

  padding:
    0 13px;

  border: 0;
  outline: 0;

  color: #24302e;

  font-size: 14px;
}

.kc-next-search button {
  height: 50px;

  min-width: 87px;

  border: 0;
  border-radius: 12px;

  background: #294b47;
  color: #ffffff;

  font-weight: 850;

  cursor: pointer;
}

.kc-quick-searches {
  margin-top: 13px;

  display: flex;
  flex-wrap: wrap;

  gap: 7px;
}

.kc-quick-searches a {
  padding:
    7px 10px;

  border-radius: 999px;

  background: #eef4f1;

  color: #536b65;

  font-size: 10px;
  font-weight: 750;
}

.kc-next-hero-panel {
  padding: 28px;

  border-radius: 25px;

  background:
    linear-gradient(
      145deg,
      #294b47,
      #3f6961
    );

  color: #ffffff;

  box-shadow:
    0 20px 40px
    rgba(41,75,71,.17);
}

.kc-next-stat-main span {
  display: block;

  color: #c3d8d0;

  font-size: 11px;
}

.kc-next-stat-main strong {
  display: inline-block;

  margin-top: 9px;

  font-size: 52px;

  line-height: 1;

  letter-spacing: -2px;
}

.kc-next-stat-main small {
  margin-left: 5px;

  color: #d4e2dd;
}

.kc-next-stat-grid {
  margin-top: 27px;

  padding-top: 22px;

  border-top:
    1px solid
    rgba(255,255,255,.13);

  display: grid;

  grid-template-columns:
    1fr 1fr;

  grid-gap: 12px;

  gap: 12px;
}

.kc-next-stat-grid div {
  padding:
    13px;

  border-radius: 13px;

  background:
    rgba(255,255,255,.08);
}

.kc-next-stat-grid span {
  display: block;

  color: #c5d8d1;

  font-size: 9px;
}

.kc-next-stat-grid strong {
  display: block;

  margin-top: 7px;

  font-size: 16px;
}

.kc-next-all-button {
  height: 50px;

  margin-top: 15px;

  padding:
    0 16px;

  border-radius: 12px;

  background: #ffffff;

  color: #294b47;

  display: flex;
  align-items: center;
  justify-content: space-between;

  font-size: 12px;
  font-weight: 850;
}

.kc-next-section {
  padding-top: 74px;
}

.kc-next-section-head {
  margin-bottom: 23px;

  display: flex;
  align-items: flex-end;
  justify-content: space-between;

  gap: 20px;
}

.kc-next-section-head span {
  color: #75978a;

  font-size: 9px;
  font-weight: 900;

  letter-spacing: 1.5px;
}

.kc-next-section-head h2 {
  margin:
    7px 0 0;

  color: #24302e;

  font-size: 28px;

  letter-spacing: -1px;
}

.kc-next-section-head p {
  margin:
    8px 0 0;

  color: #8b9793;

  font-size: 11px;
}

.kc-next-section-head > a {
  color: #294b47;

  font-size: 11px;
  font-weight: 850;
}

.kc-next-category-grid {
  display: grid;

  grid-template-columns:
    repeat(8,1fr);

  grid-gap: 11px;

  gap: 11px;
}

.kc-next-category-grid > a {
  min-height: 135px;

  padding:
    18px 10px;

  border:
    1px solid #e2e9e5;

  border-radius: 18px;

  background: #ffffff;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  transition:
    transform .17s ease,
    box-shadow .17s ease;
}

.kc-next-category-grid > a:hover {
  transform:
    translateY(-3px);

  box-shadow:
    0 12px 30px
    rgba(41,75,71,.07);
}

.kc-next-category-grid > a > span {
  width: 45px;
  height: 45px;

  margin-bottom: 10px;

  border-radius: 14px;

  background: #edf4f1;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 22px;
}

.kc-next-category-grid strong {
  color: #35433f;

  font-size: 12px;
}

.kc-next-category-grid small {
  margin-top: 7px;

  color: #9aa5a1;

  font-size: 8px;
}

.kc-value-grid {
  display: grid;

  grid-template-columns:
    repeat(4,1fr);

  grid-gap: 14px;

  gap: 14px;
}

.kc-value-grid article {
  min-height: 185px;

  padding: 23px;

  border:
    1px solid #e1e8e4;

  border-radius: 19px;

  background: #ffffff;
}

.kc-value-grid article > span {
  color: #9fb5ad;

  font-size: 10px;
  font-weight: 900;
}

.kc-value-grid article > strong {
  display: block;

  margin-top: 22px;

  color: #294b47;

  font-size: 18px;
}

.kc-value-grid article > p {
  margin:
    10px 0 0;

  color: #7c8985;

  font-size: 11px;
  line-height: 1.7;
}

.kc-next-product-grid {
  display: grid;

  grid-template-columns:
    repeat(4,1fr);

  grid-gap: 17px;

  gap: 17px;
}

.kc-next-product-card {
  overflow: hidden;

  border:
    1px solid #e2e9e5;

  border-radius: 20px;

  background: #ffffff;
}

.kc-next-product-image {
  aspect-ratio: 1 / .88;

  padding: 15px;

  display: flex;
  align-items: center;
  justify-content: center;
}

.kc-next-product-image img {
  width: 100%;
  height: 100%;

  object-fit: contain;
}

.kc-next-product-image span {
  color: #9aa5a1;

  font-size: 10px;
}

.kc-next-product-body {
  padding:
    16px 16px 18px;

  border-top:
    1px solid #f0f3f1;
}

.kc-next-brand {
  color: #75978a;

  font-size: 9px;
  font-weight: 850;
}

.kc-next-product-name {
  min-height: 40px;

  margin-top: 6px;

  display: -webkit-box;

  color: #24302e;

  font-size: 14px;
  font-weight: 850;

  line-height: 1.45;

  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;

  overflow: hidden;
}

.kc-next-product-price {
  margin-top: 15px;

  padding-top: 13px;

  border-top:
    1px solid #edf1ef;
}

.kc-next-product-price small {
  display: block;

  margin-bottom: 5px;

  color: #7f8c87;

  font-size: 9px;
}

.kc-next-product-price strong {
  color: #294b47;

  font-size: 21px;
}

.kc-next-product-price span {
  margin-left: 4px;

  color: #9aa5a1;

  font-size: 9px;
}

.kc-next-card-price {
  margin-top: 8px;

  padding:
    7px 9px;

  border-radius: 8px;

  background: #eef4f1;

  color: #687672;

  font-size: 9px;
}

.kc-next-card-price strong {
  color: #294b47;
}

.kc-next-cta-wrap {
  padding-bottom: 70px;
}

.kc-next-cta {
  min-height: 210px;

  padding:
    38px 42px;

  border-radius: 26px;

  background:
    linear-gradient(
      135deg,
      #294b47,
      #3e675f
    );

  color: #ffffff;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 40px;
}

.kc-next-cta > div > span {
  color: #bed4cc;

  font-size: 9px;
  font-weight: 900;

  letter-spacing: 1.3px;
}

.kc-next-cta h2 {
  margin:
    8px 0;

  font-size: 27px;
}

.kc-next-cta p {
  margin: 0;

  color: #d4e2dd;

  font-size: 11px;
}

.kc-next-cta > a {
  min-width: 230px;

  padding:
    17px 20px;

  border-radius: 15px;

  background: #ffffff;

  color: #294b47;
}

.kc-next-cta > a small {
  display: block;

  color: #8b9793;

  font-size: 9px;
}

.kc-next-cta > a strong {
  display: block;

  margin-top: 5px;

  font-size: 21px;
}

.kc-next-cta > a span {
  display: block;

  margin-top: 9px;

  font-size: 10px;
  font-weight: 850;
}

@media (max-width: 1050px) {
  .kc-next-hero-inner {
    grid-template-columns: 1fr;
  }

  .kc-next-category-grid {
    grid-template-columns:
      repeat(4,1fr);
  }

  .kc-value-grid,
  .kc-next-product-grid {
    grid-template-columns:
      repeat(2,1fr);
  }
}

@media (max-width: 600px) {
  .kc-next-hero {
    padding-top: 20px;
  }

  .kc-next-hero-inner {
    min-height: auto;

    padding:
      32px 20px;

    border-radius: 22px;
  }

  .kc-next-hero-copy h1 {
    font-size: 36px;

    letter-spacing: -1.7px;
  }

  .kc-next-hero-panel {
    padding: 22px;
  }

  .kc-next-category-grid {
    grid-template-columns:
      repeat(4,1fr);

    gap: 7px;
  }

  .kc-next-category-grid > a {
    min-height: 95px;

    padding: 10px 4px;
  }

  .kc-next-category-grid > a > span {
    width: 34px;
    height: 34px;

    font-size: 17px;
  }

  .kc-next-category-grid small {
    display: none;
  }

  .kc-value-grid {
    grid-template-columns:
      1fr 1fr;

    gap: 8px;
  }

  .kc-value-grid article {
    min-height: 150px;

    padding: 17px;
  }

  .kc-next-product-grid {
    gap: 9px;
  }

  .kc-next-product-body {
    padding:
      12px 11px;
  }

  .kc-next-product-name {
    font-size: 12px;
  }

  .kc-next-product-price strong {
    font-size: 17px;
  }

  .kc-next-cta {
    padding:
      28px 22px;

    flex-direction: column;

    align-items: flex-start;
  }

  .kc-next-cta > a {
    width: 100%;
  }
}


/* =========================================================
   ACTIVE FILTERS + MOBILE FILTER BAR
   ========================================================= */

.kc-active-filters {
  min-height: 54px;

  margin-bottom: 16px;

  padding: 10px 13px;

  background: #ffffff;

  border: 1px solid #dfe7e3;
  border-radius: 13px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 15px;
}

.kc-active-filter-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;

  gap: 7px;
}

.kc-filter-caption {
  margin-right: 3px;

  color: #7e8b87;

  font-size: 10px;
  font-weight: 800;
}

.kc-active-filter-chip {
  padding: 7px 10px;

  border-radius: 999px;

  background: #e9f1ed;
  color: #294b47;

  font-size: 10px;
  font-weight: 800;
}

.kc-filter-reset {
  flex: 0 0 auto;

  color: #8b9793;

  font-size: 10px;
  font-weight: 750;
}

.kc-filter-reset:hover {
  color: #294b47;
}

.kc-mobile-filter-bar {
  display: none;
}


@media (max-width: 760px) {
  .kc-active-filters {
    align-items: flex-start;
  }

  .kc-filter-caption {
    width: 100%;
  }

  .kc-mobile-filter-bar {
    position: fixed;

    left: 12px;
    right: 12px;
    bottom: 14px;

    z-index: 95;

    height: 58px;

    padding: 8px 9px 8px 15px;

    background:
      rgba(255,255,255,.96);

    border: 1px solid #dce5e1;
    border-radius: 16px;

    box-shadow:
      0 12px 35px
      rgba(41,75,71,.16);

    -webkit-backdrop-filter: blur(14px);

            backdrop-filter: blur(14px);

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 15px;
  }

  .kc-mobile-filter-bar > div {
    color: #64716e;

    font-size: 11px;
  }

  .kc-mobile-filter-bar > div strong {
    color: #294b47;

    font-size: 15px;
  }

  .kc-mobile-filter-bar > a {
    height: 42px;

    padding: 0 18px;

    border-radius: 11px;

    background: #294b47;
    color: #ffffff;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 11px;
    font-weight: 850;
  }
}

/* =========================================================
   MOBILE FILTER SHEET
   ========================================================= */

.kc-mobile-filter-bar button {
  height: 42px;

  padding: 0 18px;

  border: 0;
  border-radius: 11px;

  background: #294b47;
  color: #ffffff;

  font-size: 11px;
  font-weight: 850;

  cursor: pointer;
}

.kc-filter-sheet-overlay {
  position: fixed;

  inset: 0;

  z-index: 200;

  background:
    rgba(20, 36, 32, 0.42);

  display: flex;
  align-items: flex-end;

  -webkit-backdrop-filter:
    blur(4px);

          backdrop-filter:
    blur(4px);
}

.kc-filter-sheet {
  width: 100%;

  max-height: 88vh;

  padding:
    20px 18px
    calc(
      20px +
      env(safe-area-inset-bottom)
    );

  overflow-y: auto;

  background: #ffffff;

  border-radius:
    24px 24px 0 0;

  box-shadow:
    0 -18px 45px
    rgba(20, 36, 32, 0.16);
}

.kc-filter-sheet-head {
  display: flex;
  align-items: center;
  justify-content:
    space-between;

  margin-bottom: 20px;
}

.kc-filter-sheet-head strong {
  font-size: 20px;
}

.kc-filter-sheet-head button {
  width: 38px;
  height: 38px;

  border: 0;
  border-radius: 50%;

  background: #eef3f0;
  color: #294b47;

  font-size: 16px;

  cursor: pointer;
}

.kc-filter-sheet form {
  display: grid;

  grid-gap: 15px;

  gap: 15px;
}

.kc-filter-sheet label {
  color: #64716e;

  font-size: 11px;
  font-weight: 800;
}

.kc-filter-sheet select {
  width: 100%;
  height: 48px;

  margin-top: 7px;

  padding: 0 13px;

  border:
    1px solid #dce5e1;

  border-radius: 11px;

  background: #ffffff;

  color: #24302e;

  font-size: 13px;
}

.kc-filter-sheet-actions {
  margin-top: 10px;

  display: grid;

  grid-template-columns:
    .7fr 1.3fr;

  grid-gap: 9px;

  gap: 9px;
}

.kc-filter-sheet-actions a,
.kc-filter-sheet-actions button {
  height: 52px;

  border-radius: 12px;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 13px;
  font-weight: 850;
}

.kc-filter-sheet-actions a {
  background: #edf3f0;

  color: #294b47;
}

.kc-filter-sheet-actions button {
  border: 0;

  background: #294b47;

  color: #ffffff;

  cursor: pointer;
}

@media (min-width: 761px) {
  .kc-filter-sheet-overlay {
    display: none;
  }
}

/* =========================================================
   SMART SEARCH
   ========================================================= */

.kc-smart-search {
  position: relative;

  z-index: 60;
}

.kc-smart-search-products {
  margin-bottom: 20px;
}

.kc-smart-search-products
.kc-products-search {
  margin-bottom: 0;
}

.kc-search-backdrop {
  position: fixed;

  inset: 0;

  z-index: 50;

  border: 0;

  background:
    rgba(20,36,32,.12);

  -webkit-backdrop-filter:
    blur(2px);

          backdrop-filter:
    blur(2px);
}

.kc-search-suggest {
  position: absolute;

  left: 0;
  right: 0;

  top: calc(100% + 8px);

  z-index: 70;

  overflow: hidden;

  max-height: 520px;

  padding: 15px;

  background:
    rgba(255,255,255,.985);

  border:
    1px solid #dfe7e3;

  border-radius: 17px;

  box-shadow:
    0 24px 55px
    rgba(28,51,45,.17);

  overflow-y: auto;
}

.kc-suggest-group {
  padding:
    4px 3px 12px;
}

.kc-suggest-group > span,
.kc-suggest-title {
  display: block;

  margin-bottom: 8px;

  color: #8a9793;

  font-size: 9px;
  font-weight: 900;

  letter-spacing: .8px;
}

.kc-suggest-chips {
  display: flex;

  gap: 6px;

  flex-wrap: wrap;
}

.kc-suggest-chips a {
  padding:
    7px 10px;

  border-radius: 999px;

  background: #edf4f1;

  color: #294b47;

  font-size: 10px;
  font-weight: 800;
}

.kc-suggest-products {
  margin-top: 5px;

  padding-top: 13px;

  border-top:
    1px solid #edf1ef;
}

.kc-suggest-products > a {
  min-height: 68px;

  padding:
    7px 5px;

  display: grid;

  grid-template-columns:
    54px 1fr 20px;

  align-items: center;

  grid-gap: 11px;

  gap: 11px;

  border-radius: 10px;
}

.kc-suggest-products > a:hover {
  background: #f5f8f6;
}

.kc-suggest-thumb {
  width: 54px;
  height: 54px;

  overflow: hidden;

  padding: 4px;

  background: #ffffff;

  border:
    1px solid #edf1ef;

  border-radius: 9px;
}

.kc-suggest-thumb img {
  width: 100%;
  height: 100%;

  object-fit: contain;
}

.kc-suggest-products small {
  display: block;

  color: #75978a;

  font-size: 9px;
  font-weight: 800;
}

.kc-suggest-products strong {
  display: block;

  margin-top: 4px;

  color: #263431;

  font-size: 12px;
  line-height: 1.4;
}

.kc-suggest-products > a > span {
  color: #75978a;

  font-size: 13px;
}

.kc-search-empty {
  padding:
    30px 15px;

  text-align: center;

  color: #84908c;

  font-size: 11px;
  line-height: 1.7;
}

.kc-search-all {
  width: 100%;
  height: 43px;

  margin-top: 8px;

  border: 0;

  border-radius: 10px;

  background: #294b47;

  color: #ffffff;

  font-size: 11px;
  font-weight: 850;

  cursor: pointer;
}


@media (max-width: 600px) {
  .kc-search-suggest {
    position: fixed;

    left: 10px;
    right: 10px;

    top: 82px;

    max-height:
      calc(100vh - 105px);

    border-radius: 18px;
  }
}

/* =========================================================
   SEARCH DISCOVERY
   ========================================================= */

.kc-search-discovery {
  padding: 4px 3px 14px;
}

.kc-search-discovery +
.kc-search-discovery {
  padding-top: 15px;

  border-top:
    1px solid #edf1ef;
}

.kc-search-discovery-head {
  margin-bottom: 10px;

  display: flex;
  align-items: center;
  justify-content: space-between;
}

.kc-search-discovery-head strong {
  color: #53615e;

  font-size: 11px;
}

.kc-search-discovery-head button {
  border: 0;

  background: transparent;

  color: #9aa5a1;

  font-size: 9px;

  cursor: pointer;
}

.kc-search-history {
  display: flex;
  flex-wrap: wrap;

  gap: 7px;
}

.kc-search-history button {
  height: 35px;

  padding:
    0 11px;

  border:
    1px solid #e2e9e5;

  border-radius: 999px;

  background: #ffffff;

  color: #53615e;

  font-size: 10px;

  cursor: pointer;
}

.kc-search-history button span {
  margin-right: 4px;

  color: #9ab0a8;
}

.kc-search-recommend {
  display: grid;

  grid-template-columns:
    repeat(2, 1fr);

  grid-gap: 6px;

  gap: 6px;
}

.kc-search-recommend button {
  min-height: 43px;

  padding: 0 12px;

  border: 0;

  border-radius: 10px;

  background: #f5f8f6;

  color: #394744;

  display: flex;
  align-items: center;

  gap: 9px;

  font-size: 11px;
  font-weight: 750;

  cursor: pointer;
}

.kc-search-recommend button span {
  color: #75978a;

  font-size: 9px;
  font-weight: 900;
}

.kc-search-recommend button:hover {
  background: #eaf2ee;
}

@media (max-width: 600px) {
  .kc-search-recommend {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   PRODUCT MATCH SCORE
   ========================================================= */

.kc-modern-card {
  position: relative;
}

.kc-match-panel {
  position: absolute;

  top: 12px;
  left: 12px;
  right: 12px;

  z-index: 4;

  padding:
    9px 10px;

  border:
    1px solid
    rgba(255,255,255,.75);

  border-radius: 12px;

  background:
    rgba(246,250,248,.92);

  -webkit-backdrop-filter:
    blur(12px);

          backdrop-filter:
    blur(12px);

  box-shadow:
    0 6px 20px
    rgba(41,75,71,.07);

  display: flex;
  align-items: center;
  justify-content:
    space-between;

  gap: 8px;
}

.kc-match-score {
  display: flex;
  align-items: center;

  gap: 6px;

  flex: 0 0 auto;
}

.kc-match-score span {
  color: #74827e;

  font-size: 8px;
  font-weight: 800;
}

.kc-match-score strong {
  color: #294b47;

  font-size: 12px;
  font-weight: 950;
}

.kc-match-reasons {
  min-width: 0;

  display: flex;
  justify-content:
    flex-end;

  gap: 4px;

  overflow: hidden;
}

.kc-match-reasons span {
  padding:
    4px 6px;

  border-radius: 999px;

  background: #ffffff;

  color: #56716a;

  font-size: 7px;
  font-weight: 800;

  white-space: nowrap;
}


@media (max-width: 600px) {
  .kc-match-panel {
    top: 7px;
    left: 7px;
    right: 7px;

    padding:
      6px 7px;
  }

  .kc-match-score span {
    display: none;
  }

  .kc-match-score strong {
    font-size: 10px;
  }

  .kc-match-reasons span {
    display: none;
  }

  .kc-match-reasons span:first-child {
    display: block;

    font-size: 7px;
  }
}


/* =========================================================
   NEXT-GEN COMPARE CENTER
   ========================================================= */

.kc-compare-page {
  padding-top: 38px;
  padding-bottom: 90px;
}

.kc-compare-hero {
  margin-bottom: 30px;
}

.kc-compare-hero > span {
  color: #75978a;

  font-size: 9px;
  font-weight: 900;

  letter-spacing: 1.6px;
}

.kc-compare-hero h1 {
  margin: 9px 0 12px;

  color: #24302e;

  font-size: 38px;
  line-height: 1.18;

  letter-spacing: -1.6px;
}

.kc-compare-hero p {
  margin: 0;

  color: #7c8985;

  font-size: 12px;
  line-height: 1.75;
}

.kc-compare-toolbar {
  min-height: 58px;

  margin-bottom: 12px;

  padding: 10px 14px;

  border:
    1px solid #e0e8e4;

  border-radius: 14px;

  background: #ffffff;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 20px;
}

.kc-compare-toolbar > div {
  color: #6f7d79;

  font-size: 11px;
}

.kc-compare-toolbar strong {
  color: #294b47;

  font-size: 15px;
}

.kc-difference-toggle {
  display: flex;
  align-items: center;

  gap: 8px;

  cursor: pointer;

  color: #394744;

  font-size: 11px;
  font-weight: 800;
}

.kc-difference-toggle input {
  width: 17px;
  height: 17px;

  accent-color: #294b47;
}

.kc-compare-scroll {
  overflow-x: auto;

  border:
    1px solid #dfe7e3;

  border-radius: 20px;

  background: #ffffff;

  box-shadow:
    0 14px 35px
    rgba(41,75,71,.045);
}

.kc-compare-matrix {
  min-width: 780px;

  display: grid;

  grid-template-columns:
    150px
    repeat(
      var(--compare-count),
      minmax(210px,1fr)
    );
}

.kc-compare-corner {
  padding: 18px;

  border-right:
    1px solid #e8eeeb;

  border-bottom:
    1px solid #e8eeeb;

  background: #f6f9f7;

  color: #7e8b87;

  font-size: 10px;
  font-weight: 850;
}

.kc-compare-product-head {
  position: relative;

  min-height: 320px;

  padding: 22px 18px;

  border-right:
    1px solid #e8eeeb;

  border-bottom:
    1px solid #e8eeeb;
}

.kc-compare-product-head:last-child {
  border-right: 0;
}

.kc-compare-remove {
  position: absolute;

  top: 12px;
  right: 12px;

  width: 30px;
  height: 30px;

  border: 0;
  border-radius: 50%;

  background: #eef3f0;

  color: #71807b;

  font-size: 18px;

  cursor: pointer;
}

.kc-compare-image {
  height: 180px;

  padding: 10px;

  display: flex;
  align-items: center;
  justify-content: center;
}

.kc-compare-image img {
  width: 100%;
  height: 100%;

  object-fit: contain;
}

.kc-compare-image span {
  color: #9aa5a1;

  font-size: 10px;
}

.kc-compare-brand {
  display: block;

  margin-top: 10px;

  color: #75978a;

  font-size: 9px;
  font-weight: 850;
}

.kc-compare-name {
  display: block;

  margin-top: 6px;

  color: #24302e;

  font-size: 14px;
  font-weight: 850;

  line-height: 1.45;
}

.kc-compare-label {
  min-height: 64px;

  padding: 15px 16px;

  border-right:
    1px solid #e8eeeb;

  border-bottom:
    1px solid #edf1ef;

  background: #f8faf9;

  color: #687672;

  font-size: 10px;
  font-weight: 800;

  display: flex;
  align-items: center;

  gap: 6px;
}

.kc-compare-label span {
  padding: 3px 5px;

  border-radius: 999px;

  background: #dfece7;

  color: #294b47;

  font-size: 7px;
}

.kc-compare-value {
  position: relative;

  min-height: 64px;

  padding: 15px 18px;

  border-right:
    1px solid #edf1ef;

  border-bottom:
    1px solid #edf1ef;

  color: #394744;

  font-size: 12px;
  line-height: 1.5;

  display: flex;
  align-items: center;

  gap: 8px;
}

.kc-compare-value.different {
  background: #fcfdfc;
}

.kc-compare-value.lowest {
  background:
    linear-gradient(
      90deg,
      #eaf4ef,
      #f7faf8
    );

  color: #294b47;

  font-weight: 900;
}

.kc-lowest-badge {
  padding: 4px 6px;

  border-radius: 999px;

  background: #294b47;

  color: #ffffff;

  font-size: 7px;
  font-weight: 850;

  white-space: nowrap;
}

.kc-compare-bottom {
  margin-top: 16px;

  display: flex;
  justify-content: center;
}

.kc-compare-bottom a {
  padding: 13px 18px;

  border:
    1px solid #dce5e1;

  border-radius: 12px;

  background: #ffffff;

  color: #294b47;

  font-size: 11px;
  font-weight: 850;
}

.kc-compare-empty {
  padding: 70px 20px;

  border:
    1px solid #e0e8e4;

  border-radius: 22px;

  background: #ffffff;

  text-align: center;
}

.kc-compare-empty strong {
  color: #24302e;

  font-size: 21px;
}

.kc-compare-empty p {
  margin: 10px 0 22px;

  color: #83908c;

  font-size: 11px;
}

.kc-compare-empty a {
  display: inline-flex;

  padding: 13px 18px;

  border-radius: 11px;

  background: #294b47;

  color: #ffffff;

  font-size: 11px;
  font-weight: 850;
}


@media (max-width: 600px) {
  .kc-compare-page {
    padding-top: 24px;
  }

  .kc-compare-hero h1 {
    font-size: 30px;
  }

  .kc-compare-scroll {
    margin-left: -4px;
    margin-right: -4px;

    scroll-snap-type:
      x proximity;

    -webkit-overflow-scrolling:
      touch;
  }

  .kc-compare-matrix {
    min-width:
      calc(
        125px +
        var(--compare-count) *
        205px
      );

    grid-template-columns:
      125px
      repeat(
        var(--compare-count),
        205px
      );
  }

  .kc-compare-product-head {
    min-height: 275px;

    padding: 15px 12px;

    scroll-snap-align:
      start;
  }

  .kc-compare-image {
    height: 145px;
  }

  .kc-compare-name {
    font-size: 12px;
  }

  .kc-compare-label,
  .kc-compare-value {
    min-height: 58px;

    padding: 12px 10px;
  }

  .kc-lowest-badge {
    display: none;
  }
}


/* =========================================================
   COMPARE BUTTON - HIGH VISIBILITY
   ========================================================= */

.kc-modern-card {
  position: relative;
}

.kc-modern-topline {
  position: relative;

  min-height: 36px;
}

.kc-compare-btn {
  min-width: 72px;
  height: 34px;

  padding: 0 11px;

  border:
    1px solid #cbdad4;

  border-radius: 10px;

  background: #ffffff;

  color: #294b47;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: 4px;

  font-size: 10px;
  font-weight: 900;

  cursor: pointer;

  box-shadow:
    0 4px 12px
    rgba(41,75,71,.07);

  transition:
    all .16s ease;
}

.kc-compare-btn:hover {
  background: #edf4f1;

  border-color: #75978a;
}

.kc-compare-btn.selected {
  background: #294b47;

  border-color: #294b47;

  color: #ffffff;
}


/* 상품카드에서는 더 잘 보이게 */
.kc-modern-card
.kc-compare-btn {
  position: absolute;

  top: 10px;
  right: 10px;

  z-index: 10;
}


/* =========================================================
   COMPARE BOTTOM BAR
   ========================================================= */

.kc-compare-bar {
  position: fixed;

  left: 50%;
  bottom: 18px;

  transform:
    translateX(-50%);

  z-index: 180;

  width:
    min(
      calc(100% - 32px),
      720px
    );

  min-height: 64px;

  padding:
    10px 12px 10px 18px;

  border:
    1px solid
    rgba(213,226,220,.9);

  border-radius: 18px;

  background:
    rgba(255,255,255,.97);

  box-shadow:
    0 18px 45px
    rgba(28,51,45,.18);

  -webkit-backdrop-filter:
    blur(18px);

          backdrop-filter:
    blur(18px);

  display: flex;
  align-items: center;
  justify-content:
    space-between;

  gap: 15px;
}

.kc-compare-bar > div:first-child {
  color: #5e6d68;

  font-size: 12px;
}

.kc-compare-bar > div:first-child strong {
  margin:
    0 3px;

  color: #294b47;

  font-size: 17px;
}

.kc-compare-bar-actions {
  display: flex;

  align-items: center;

  gap: 7px;
}

.kc-compare-bar-actions button {
  height: 42px;

  padding:
    0 14px;

  border:
    1px solid #dce5e1;

  border-radius: 11px;

  background: #f1f5f3;

  color: #60706b;

  font-size: 10px;
  font-weight: 800;

  cursor: pointer;
}

.kc-compare-bar-actions a {
  height: 42px;

  padding:
    0 17px;

  border-radius: 11px;

  background: #294b47;

  color: #ffffff;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 11px;
  font-weight: 900;
}


@media (max-width: 600px) {

  .kc-modern-card
  .kc-compare-btn {
    top: 6px;
    right: 6px;

    min-width: 58px;
    height: 30px;

    padding:
      0 7px;

    font-size: 8px;

    border-radius: 8px;
  }

  .kc-compare-bar {
    left: 10px;
    right: 10px;
    bottom: 78px;

    transform: none;

    width: auto;

    min-height: 58px;

    padding:
      8px 9px 8px 13px;
  }

  .kc-compare-bar-actions button {
    display: none;
  }

  .kc-compare-bar-actions a {
    height: 40px;

    padding:
      0 13px;
  }
}


/* =========================================================
   COST DIFFERENCE
   ========================================================= */

.kc-cost-compare {
  margin-bottom: 16px;

  padding: 24px;

  border:
    1px solid #dfe8e4;

  border-radius: 20px;

  background:
    linear-gradient(
      135deg,
      #ffffff,
      #f8fbf9
    );
}

.kc-cost-compare-head {
  margin-bottom: 18px;

  display: flex;
  align-items: flex-end;
  justify-content: space-between;

  gap: 20px;
}

.kc-cost-compare-head span {
  display: block;

  margin-bottom: 6px;

  color: #75978a;

  font-size: 8px;
  font-weight: 900;

  letter-spacing: 1.4px;
}

.kc-cost-compare-head strong {
  color: #24302e;

  font-size: 20px;
}

.kc-cost-compare-head p {
  margin: 0;

  color: #8a9692;

  font-size: 10px;
}

.kc-cost-grid {
  display: grid;

  grid-template-columns:
    repeat(
      var(--compare-count, 3),
      1fr
    );

  grid-gap: 10px;

  gap: 10px;
}

.kc-cost-card {
  min-width: 0;

  padding: 17px;

  border:
    1px solid #e2e9e5;

  border-radius: 15px;

  background: #ffffff;
}

.kc-cost-card.lowest {
  border-color: #9dbbb0;

  background:
    linear-gradient(
      145deg,
      #edf5f1,
      #ffffff
    );

  box-shadow:
    0 8px 24px
    rgba(41,75,71,.07);
}

.kc-cost-card-top {
  display: flex;
  align-items: center;
  justify-content:
    space-between;

  gap: 8px;
}

.kc-cost-card-top > span {
  color: #75978a;

  font-size: 9px;
  font-weight: 850;
}

.kc-cost-card-top em {
  padding:
    4px 6px;

  border-radius: 999px;

  background: #294b47;

  color: #ffffff;

  font-size: 7px;
  font-style: normal;
  font-weight: 850;
}

.kc-cost-name {
  min-height: 38px;

  margin-top: 7px;

  display: block;

  color: #394744;

  font-size: 12px;
  line-height: 1.5;
}

.kc-cost-main {
  margin-top: 15px;

  padding-top: 13px;

  border-top:
    1px solid #edf1ef;
}

.kc-cost-main span {
  display: block;

  margin-bottom: 4px;

  color: #899591;

  font-size: 9px;
}

.kc-cost-main strong {
  color: #294b47;

  font-size: 21px;
}

.kc-cost-difference {
  min-height: 38px;

  margin-top: 9px;

  padding:
    8px 9px;

  border-radius: 8px;

  background: #f4f7f5;

  color: #7a8783;

  font-size: 8px;
}

.kc-cost-difference strong {
  margin:
    0 2px;

  color: #42534e;

  font-size: 10px;
}

.kc-cost-card.lowest
.kc-cost-difference {
  background: #dfece7;

  color: #294b47;
}

.kc-cost-card-price {
  margin-top: 9px;

  display: flex;
  align-items: center;
  flex-wrap: wrap;

  gap: 5px;
}

.kc-cost-card-price span {
  color: #8a9692;

  font-size: 8px;
}

.kc-cost-card-price strong {
  color: #294b47;

  font-size: 11px;
}

.kc-cost-card-price small {
  color: #9b6c58;

  font-size: 7px;
}


@media (max-width: 700px) {
  .kc-cost-compare {
    padding: 17px 14px;
  }

  .kc-cost-compare-head {
    display: block;
  }

  .kc-cost-compare-head p {
    margin-top: 7px;
  }

  .kc-cost-grid {
    overflow-x: auto;

    grid-template-columns:
      repeat(
        var(--compare-count, 3),
        205px
      );

    padding-bottom: 5px;

    scroll-snap-type:
      x proximity;
  }

  .kc-cost-card {
    scroll-snap-align:
      start;
  }
}

/* =========================================================
   MY RENTAL BOARD
   ========================================================= */

.kc-my-page {
  padding-top: 38px;
  padding-bottom: 90px;
}

.kc-my-hero {
  margin-bottom: 30px;
}

.kc-my-hero > span {
  color: #75978a;

  font-size: 9px;
  font-weight: 900;

  letter-spacing: 1.5px;
}

.kc-my-hero h1 {
  margin: 9px 0 12px;

  color: #24302e;

  font-size: 38px;
  line-height: 1.18;

  letter-spacing: -1.5px;
}

.kc-my-hero p {
  margin: 0;

  color: #7d8985;

  font-size: 12px;
  line-height: 1.7;
}

.kc-my-summary {
  display: grid;

  grid-template-columns:
    repeat(3, 1fr);

  grid-gap: 10px;

  gap: 10px;

  margin-bottom: 20px;
}

.kc-my-summary button {
  min-height: 82px;

  padding: 15px 17px;

  border:
    1px solid #e0e8e4;

  border-radius: 15px;

  background: #ffffff;

  display: flex;
  align-items: center;
  justify-content:
    space-between;

  color: #64716e;

  cursor: pointer;
}

.kc-my-summary button.active {
  background: #294b47;

  border-color: #294b47;

  color: #ffffff;

  box-shadow:
    0 10px 26px
    rgba(41,75,71,.13);
}

.kc-my-summary button span {
  font-size: 11px;
  font-weight: 800;
}

.kc-my-summary button strong {
  font-size: 25px;
}

.kc-my-tab-head {
  margin-bottom: 16px;

  display: flex;
  align-items: flex-end;
  justify-content:
    space-between;
}

.kc-my-tab-head span {
  color: #75978a;

  font-size: 8px;
  font-weight: 900;

  letter-spacing: 1.2px;
}

.kc-my-tab-head h2 {
  margin: 6px 0 0;

  color: #24302e;

  font-size: 23px;
}

.kc-my-tab-head > button {
  border: 0;

  background: transparent;

  color: #8d9995;

  font-size: 10px;

  cursor: pointer;
}

.kc-my-grid {
  display: grid;

  grid-template-columns:
    repeat(4, 1fr);

  grid-gap: 14px;

  gap: 14px;
}

.kc-my-card {
  overflow: hidden;

  border:
    1px solid #e1e8e4;

  border-radius: 17px;

  background: #ffffff;
}

.kc-my-image {
  aspect-ratio: 1 / .88;

  padding: 12px;

  display: flex;
  align-items: center;
  justify-content: center;
}

.kc-my-image img {
  width: 100%;
  height: 100%;

  object-fit: contain;
}

.kc-my-image span {
  color: #9aa5a1;

  font-size: 9px;
}

.kc-my-body {
  padding: 13px;

  border-top:
    1px solid #edf1ef;
}

.kc-my-body > span {
  color: #75978a;

  font-size: 8px;
  font-weight: 850;
}

.kc-my-body > a {
  min-height: 40px;

  margin-top: 5px;

  display: block;

  color: #293633;

  font-size: 12px;
  line-height: 1.45;

  font-weight: 800;
}

.kc-my-body button {
  margin-top: 10px;

  padding: 6px 8px;

  border:
    1px solid #e1e8e4;

  border-radius: 7px;

  background: #ffffff;

  color: #8a9692;

  font-size: 8px;

  cursor: pointer;
}

.kc-my-empty {
  padding: 65px 20px;

  border:
    1px solid #e1e8e4;

  border-radius: 18px;

  background: #ffffff;

  text-align: center;
}

.kc-my-empty strong {
  color: #293633;

  font-size: 18px;
}

.kc-my-empty p {
  margin: 9px 0 20px;

  color: #899591;

  font-size: 10px;
  line-height: 1.6;
}

.kc-my-empty a {
  display: inline-flex;

  padding: 12px 16px;

  border-radius: 10px;

  background: #294b47;

  color: #ffffff;

  font-size: 10px;
  font-weight: 850;
}

.kc-my-compare-panel {
  padding: 26px;

  border:
    1px solid #e1e8e4;

  border-radius: 18px;

  background: #ffffff;
}

.kc-my-compare-count {
  color: #64716e;

  font-size: 12px;
}

.kc-my-compare-count strong {
  color: #294b47;

  font-size: 18px;
}

.kc-my-compare-go {
  height: 50px;

  margin-top: 15px;

  padding: 0 18px;

  border-radius: 11px;

  background: #294b47;

  color: #ffffff;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  font-size: 11px;
  font-weight: 850;
}

.kc-my-compare-go.muted {
  background: #edf3f0;

  color: #294b47;
}

@media (max-width: 900px) {
  .kc-my-grid {
    grid-template-columns:
      repeat(3, 1fr);
  }
}

@media (max-width: 650px) {
  .kc-my-hero h1 {
    font-size: 30px;
  }

  .kc-my-summary {
    grid-template-columns: 1fr;
  }

  .kc-my-summary button {
    min-height: 58px;
  }

  .kc-my-grid {
    grid-template-columns:
      repeat(2, 1fr);

    gap: 8px;
  }
}

/* =========================================================
   HEADER / MY RENTAL
   ========================================================= */

.kc-topbar-actions {
  display: flex;
  align-items: center;
  gap: 18px;
}

.kc-topbar-actions a {
  color: inherit;
}

.kc-header-actions {
  display: flex;
  align-items: center;
  gap: 9px;
}

.kc-my-header-button {
  position: relative;

  height: 42px;

  padding: 0 14px;

  border:
    1px solid #dce5e1;

  border-radius: 11px;

  background: #ffffff;

  color: #294b47;

  display: flex;
  align-items: center;
  justify-content: center;

  gap: 7px;

  font-size: 11px;
  font-weight: 850;
}

.kc-my-header-button strong {
  min-width: 20px;
  height: 20px;

  padding: 0 5px;

  border-radius: 999px;

  background: #294b47;
  color: #ffffff;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 9px;
}

.kc-mobile-quicknav {
  display: none;
}


/* =========================================================
   MOBILE QUICK NAV
   ========================================================= */

@media (max-width: 760px) {

  body {
    padding-bottom: 74px;
  }

  .kc-topbar {
    display: none;
  }

  .kc-header-inner {
    min-height: 64px;
  }

  .kc-header-actions
  .kc-my-header-button {
    display: none;
  }

  .kc-phone-button {
    font-size: 10px;
  }

  .kc-mobile-quicknav {
    position: fixed;

    left: 8px;
    right: 8px;
    bottom:
      calc(
        8px +
        env(
          safe-area-inset-bottom
        )
      );

    z-index: 170;

    height: 62px;

    padding: 5px 8px;

    border:
      1px solid
      rgba(
        215,
        226,
        221,
        .95
      );

    border-radius: 18px;

    background:
      rgba(
        255,
        255,
        255,
        .97
      );

    box-shadow:
      0 14px 40px
      rgba(
        28,
        51,
        45,
        .17
      );

    -webkit-backdrop-filter:
      blur(18px);

            backdrop-filter:
      blur(18px);

    display: grid;

    grid-template-columns:
      repeat(4,1fr);

    align-items: center;
  }

  .kc-mobile-quicknav > a {
    min-width: 0;

    color: #74817d;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 3px;

    font-size: 18px;
  }

  .kc-mobile-quicknav small {
    font-size: 8px;
    font-weight: 800;
  }

  .kc-mobile-nav-icon {
    position: relative;
  }

  .kc-mobile-nav-icon em {
    position: absolute;

    top: -7px;
    right: -11px;

    min-width: 16px;
    height: 16px;

    padding: 0 4px;

    border-radius: 999px;

    background: #294b47;

    color: #ffffff;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 7px;
    font-style: normal;
    font-weight: 900;
  }

  /* 기존 비교바는 모바일 내비 위로 */
  .kc-compare-bar {
    bottom: 82px;
  }

  /* 상품목록 필터바도 내비 위로 */
  .kc-mobile-filter-bar {
    bottom: 82px;
  }
}


/* =========================================================
   SMART CATEGORY MEGA MENU
   ========================================================= */

.kc-smart-nav-inner {
  position: relative;

  display: flex;
  align-items: center;
}

.kc-smart-category {
  position: relative;

  flex: 0 0 auto;
}

.kc-category-trigger {
  height: 52px;

  padding: 0 18px;

  border: 0;

  background: #294b47;
  color: #ffffff;

  display: flex;
  align-items: center;

  gap: 8px;

  font-size: 11px;
  font-weight: 900;

  cursor: pointer;
}

.kc-category-trigger > span {
  font-size: 15px;
}

.kc-category-backdrop {
  position: fixed;

  inset: 0;

  z-index: 119;

  border: 0;

  background:
    rgba(22,35,31,.16);

  -webkit-backdrop-filter:
    blur(2px);

          backdrop-filter:
    blur(2px);
}

.kc-category-mega {
  position: absolute;

  top: calc(100% + 1px);
  left: 0;

  z-index: 120;

  width:
    min(
      1000px,
      calc(100vw - 40px)
    );

  min-height: 500px;

  overflow: hidden;

  border:
    1px solid #dce5e1;

  border-radius:
    0 0 22px 22px;

  background: #ffffff;

  box-shadow:
    0 25px 60px
    rgba(30,49,44,.18);

  display: grid;

  grid-template-columns:
    270px 1fr;
}

.kc-category-groups {
  padding: 12px;

  background: #f5f8f6;

  border-right:
    1px solid #e3eae6;

  overflow-y: auto;

  max-height: 520px;
}

.kc-category-groups > button {
  width: 100%;

  min-height: 52px;

  padding: 8px 10px;

  border: 0;
  border-radius: 11px;

  background: transparent;

  display: grid;

  grid-template-columns:
    34px 1fr 16px;

  align-items: center;

  grid-gap: 9px;

  gap: 9px;

  text-align: left;

  cursor: pointer;
}

.kc-category-groups > button:hover,
.kc-category-groups > button.active {
  background: #ffffff;

  box-shadow:
    0 5px 18px
    rgba(41,75,71,.06);
}

.kc-category-groups > button > span {
  width: 34px;
  height: 34px;

  border-radius: 9px;

  background: #e7efec;

  color: #294b47;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 15px;
}

.kc-category-groups strong {
  display: block;

  color: #34423f;

  font-size: 11px;
}

.kc-category-groups small {
  display: block;

  margin-top: 3px;

  color: #99a39f;

  font-size: 8px;
}

.kc-category-groups em {
  color: #96a39e;

  font-size: 15px;
  font-style: normal;
}

.kc-category-detail {
  padding: 30px;
}

.kc-category-detail-head {
  padding-bottom: 21px;

  border-bottom:
    1px solid #e8eeeb;

  display: flex;
  align-items: flex-end;
  justify-content:
    space-between;

  gap: 20px;
}

.kc-category-detail-head span {
  color: #78968c;

  font-size: 8px;
  font-weight: 900;

  letter-spacing: 1.3px;
}

.kc-category-detail-head h3 {
  margin: 5px 0 3px;

  color: #24302e;

  font-size: 27px;
}

.kc-category-detail-head p {
  margin: 0;

  color: #8d9995;

  font-size: 9px;
}

.kc-category-detail-head > a {
  color: #294b47;

  font-size: 10px;
  font-weight: 850;
}

.kc-category-detail-grid {
  margin-top: 20px;

  display: grid;

  grid-template-columns:
    repeat(3, 1fr);

  grid-gap: 9px;

  gap: 9px;
}

.kc-category-detail-grid > a {
  min-height: 73px;

  padding: 13px;

  border:
    1px solid #e4eae7;

  border-radius: 12px;

  background: #ffffff;

  display: grid;

  grid-template-columns:
    1fr auto;

  align-content: center;

  transition:
    .15s ease;
}

.kc-category-detail-grid > a:hover {
  border-color: #a8beb5;

  background: #f7faf8;

  transform:
    translateY(-2px);
}

.kc-category-detail-grid strong {
  color: #35433f;

  font-size: 11px;
}

.kc-category-detail-grid span {
  margin-top: 4px;

  color: #96a29e;

  font-size: 8px;
}

.kc-category-detail-grid em {
  grid-column: 2;
  grid-row: 1 / 3;

  align-self: center;

  color: #79958b;

  font-style: normal;
}

@media (max-width: 760px) {
  .kc-smart-nav-inner {
    padding: 0;
  }

  .kc-category-trigger {
    height: 47px;

    padding: 0 14px;

    white-space: nowrap;
  }

  .kc-category-mega {
    position: fixed;

    left: 8px;
    right: 8px;
    top: 72px;

    width: auto;

    min-height: 0;
    max-height:
      calc(100vh - 155px);

    border-radius: 18px;

    grid-template-columns:
      128px 1fr;
  }

  .kc-category-groups {
    max-height:
      calc(100vh - 155px);

    padding: 7px;
  }

  .kc-category-groups > button {
    grid-template-columns: 1fr;

    gap: 2px;

    min-height: 48px;
  }

  .kc-category-groups > button > span,
  .kc-category-groups em {
    display: none;
  }

  .kc-category-detail {
    padding: 17px 12px;

    overflow-y: auto;
  }

  .kc-category-detail-head {
    align-items: flex-start;

    flex-direction: column;

    gap: 8px;
  }

  .kc-category-detail-head h3 {
    font-size: 21px;
  }

  .kc-category-detail-grid {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   SMART PRODUCT FILTER
   ========================================================= */

.kc-filter-count {
  margin-left: 5px;

  color: #9aa6a1;

  font-size: 8px;
  font-weight: 700;
}

.kc-filter-row a.active
.kc-filter-count {
  color: #56746b;
}

.kc-smart-subfilter {
  background:
    linear-gradient(
      90deg,
      rgba(239,245,242,.55),
      rgba(255,255,255,0)
    );
}

.kc-smart-subfilter > div {
  padding:
    5px 0;
}

@media (max-width: 760px) {
  .kc-filter-row > div {
    overflow-x: auto;

    flex-wrap: nowrap;

    padding-bottom: 4px;

    scrollbar-width: none;
  }

  .kc-filter-row > div::-webkit-scrollbar {
    display: none;
  }

  .kc-filter-row a {
    flex: 0 0 auto;
  }
}

.kc-mobile-filter-eyebrow {
  display: block;

  margin-bottom: 4px;

  color: #75978a;

  font-size: 8px;
  font-weight: 900;

  letter-spacing: 1.2px;
}

.kc-filter-sheet-head > div > strong {
  display: block;
}

/* =========================================================
   MOBILE QUICK NAV - FORCE BOTTOM FIX
   ========================================================= */

@media (max-width: 760px) {

  .kc-mobile-quicknav {
    position: fixed !important;

    top: auto !important;

    left: 8px !important;
    right: 8px !important;

    bottom:
      calc(
        8px +
        env(safe-area-inset-bottom)
      ) !important;

    width: auto !important;

    z-index: 9999 !important;

    margin: 0 !important;

    transform: none !important;
  }

  .kc-header
  .kc-mobile-quicknav,
  .kc-header-actions
  .kc-mobile-quicknav {
    position: fixed !important;

    top: auto !important;

    bottom:
      calc(
        8px +
        env(safe-area-inset-bottom)
      ) !important;
  }

  .kc-compare-bar {
    bottom: 82px !important;

    z-index: 9998 !important;
  }

  .kc-mobile-filter-bar {
    bottom: 82px !important;

    z-index: 9997 !important;
  }

}

/* =========================================================
   MOBILE QUICK NAV - FINAL STRUCTURE
   ========================================================= */

@media (max-width: 760px) {

  .kc-mobile-quicknav {
    position: fixed !important;

    left: 8px !important;
    right: 8px !important;

    top: auto !important;

    bottom:
      calc(
        8px +
        env(safe-area-inset-bottom)
      ) !important;

    width: auto !important;

    height: 62px !important;

    margin: 0 !important;

    transform: none !important;

    z-index: 10000 !important;
  }

  body {
    padding-bottom: 82px !important;
  }

  .kc-compare-bar {
    bottom: 82px !important;
  }

  .kc-mobile-filter-bar {
    bottom: 82px !important;
  }
}

@media (min-width: 761px) {

  .kc-mobile-quicknav {
    display: none !important;
  }
}

/* =========================================================
   SMART SEARCH INPUT VISIBILITY FIX
   ========================================================= */

.kc-smart-search
.kc-next-search,
.kc-smart-search
.kc-products-search {
  position: relative !important;
  z-index: 90 !important;

  background: #ffffff !important;
}

.kc-smart-search input {
  position: relative !important;
  z-index: 91 !important;

  color: #24302e !important;

  -webkit-text-fill-color:
    #24302e !important;

  caret-color:
    #294b47 !important;

  opacity: 1 !important;

  background:
    #ffffff !important;
}

.kc-smart-search input::placeholder {
  color: #8b9793 !important;

  -webkit-text-fill-color:
    #8b9793 !important;

  opacity: 1 !important;
}

.kc-search-backdrop {
  z-index: 40 !important;
}

.kc-search-suggest {
  z-index: 100 !important;
}

@media (max-width: 600px) {

  .kc-smart-search
  .kc-next-search,
  .kc-smart-search
  .kc-products-search {
    z-index: 101 !important;
  }

  .kc-search-suggest {
    z-index: 102 !important;
  }
}

