:root {
  --kc-bg: #f7f2ec;
  --kc-bg-deep: #efe6dd;
  --kc-surface: #fffdfa;
  --kc-blush: #f4e3dd;
  --kc-ink: #2b2320;
  --kc-ink-soft: #4a3f3b;
  --kc-muted: #7a6d67;
  --kc-line: #e4d8ce;
  --kc-accent: #b94a5c;
  --kc-accent-deep: #963648;
  --kc-accent-tint: rgba(185, 74, 92, .1);
  --kc-shadow: 0 1px 2px rgba(74, 46, 36, .05), 0 12px 32px -12px rgba(74, 46, 36, .18);
  --kc-shadow-lg: 0 2px 4px rgba(74, 46, 36, .05), 0 28px 60px -24px rgba(74, 46, 36, .28);
  --kc-r-sm: 6px;
  --kc-r: 14px;
  --kc-r-lg: 22px;
  --kc-f-sans: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;
  --kc-f-serif: "Fraunces", "Noto Serif KR", Georgia, serif;
  --kc-ease: cubic-bezier(.22, .8, .24, 1);
  --kc-wrap: 1320px;
  --kc-gutter: clamp(16px, 4vw, 48px);
}

html[lang^="vi"] {
  --kc-f-sans: "Be Vietnam Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --kc-f-serif: "Fraunces", Georgia, serif;
}

html { scroll-behavior: smooth; }
html[lang^="ko"] body { word-break: keep-all; overflow-wrap: anywhere; }

body {
  background: var(--kc-bg);
  color: var(--kc-ink);
  font-family: var(--kc-f-sans);
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: -.005em;
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
}

body h1, body h2, body h3, body h4, body h5, body h6,
body .h1, body .h2, body .h3, body .h4, body .h5, body .h6 {
  font-family: var(--kc-f-sans);
  color: var(--kc-ink);
  text-transform: none;
  letter-spacing: -.01em;
}

a { color: var(--kc-ink); transition: color .2s var(--kc-ease); }
a:hover, a:focus { color: var(--kc-accent); text-decoration: none; }
:focus-visible { outline: 2px solid var(--kc-accent); outline-offset: 3px; border-radius: 4px; }
::selection { background: #f0c9cf; color: var(--kc-ink); }

#wrapper { background: var(--kc-bg); box-shadow: none; padding-top: 1.75rem; }
#index #wrapper { padding-top: 0; }
#index #wrapper > .container { max-width: none; padding: 0; }
#index #content-wrapper { padding: 0; }
#index #content { padding: 0; }
#index #wrapper > .container > .row { margin: 0; }
.container { max-width: calc(var(--kc-wrap) + 2 * var(--kc-gutter)); width: 100%; padding-left: var(--kc-gutter); padding-right: var(--kc-gutter); }

.kc-wrap { max-width: var(--kc-wrap); margin: 0 auto; padding: 0 var(--kc-gutter); box-sizing: content-box; }
.kc-bleed { position: relative; width: 100vw; margin-left: calc(50% - 50vw); }

.kc-eyebrow {
  display: inline-flex; align-items: center; gap: .6rem;
  margin: 0 0 1rem; font-size: .78rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--kc-accent);
}
.kc-eyebrow::before { content: ""; width: 22px; height: 1px; background: currentColor; }
.kc-title {
  font-family: var(--kc-f-serif) !important; font-weight: 400; font-size: clamp(1.75rem, 1.2rem + 1.9vw, 2.75rem);
  line-height: 1.18; letter-spacing: -.02em; margin: 0; text-wrap: balance; font-variation-settings: "opsz" 96;
}
.kc-body { color: var(--kc-ink-soft); font-size: 1rem; line-height: 1.75; max-width: 34em; text-wrap: pretty; }

.kc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  min-height: 52px; padding: 0 1.9rem; border-radius: 999px; border: 1px solid transparent;
  font-family: var(--kc-f-sans); font-size: .95rem; font-weight: 600; letter-spacing: .01em; cursor: pointer;
  transition: background-color .25s var(--kc-ease), transform .25s var(--kc-ease), box-shadow .25s var(--kc-ease), color .25s var(--kc-ease);
}
.kc-btn--solid { background: var(--kc-ink); color: #fff; box-shadow: 0 10px 24px -12px rgba(43, 35, 32, .6); }
.kc-btn--solid:hover, .kc-btn--solid:focus { background: var(--kc-accent); color: #fff; transform: translateY(-1px); }
.kc-btn:active { transform: translateY(1px) scale(.99); }

.kc-link {
  position: relative; display: inline-flex; align-items: center; gap: .45rem; font-weight: 600; font-size: .95rem; color: var(--kc-ink);
  padding-bottom: 2px; background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1px no-repeat;
  transition: background-size .35s var(--kc-ease), color .2s;
}
.kc-link::after { content: "\2192"; transition: transform .3s var(--kc-ease); }
.kc-link:hover { background-size: 0 1px; background-position: 100% 100%; }
.kc-link:hover::after { transform: translateX(4px); }

.kc-section { padding: clamp(4rem, 3rem + 4vw, 7.5rem) 0; }
.kc-head { margin-bottom: clamp(2rem, 1.5rem + 2vw, 3.25rem); }
.kc-head--split { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; }

#header { background: rgba(255, 253, 250, .86); border-bottom: 1px solid var(--kc-line); box-shadow: none; position: sticky; top: 0; z-index: 50; backdrop-filter: saturate(1.4) blur(14px); -webkit-backdrop-filter: saturate(1.4) blur(14px); }
#header .header-banner { background: var(--kc-blush); }
.kc-announce { display: flex; justify-content: center; gap: 2.25rem; margin: 0; padding: .55rem var(--kc-gutter); list-style: none; font-size: .78rem; font-weight: 500; color: var(--kc-ink-soft); letter-spacing: .01em; }
.kc-announce li { position: relative; white-space: nowrap; }
.kc-announce li + li::before { content: ""; position: absolute; left: -1.15rem; top: 50%; width: 4px; height: 4px; border-radius: 50%; background: var(--kc-accent); transform: translateY(-50%); opacity: .6; }
#header .header-nav { background: transparent; border-bottom: 0; max-height: none; margin-bottom: 0; }
#header .header-nav .container, #header .header-top .container { max-width: calc(var(--kc-wrap) + 2 * var(--kc-gutter)); }
#header .header-nav a, #header .header-nav .expand-more, #header .header-nav .material-icons { color: var(--kc-ink-soft); font-size: .85rem; }
#header .header-nav #_desktop_contact_link #contact-link { margin-top: .9rem; }
#header .header-nav .right-nav { display: flex; align-items: center; justify-content: flex-end; gap: .25rem; }
#header .header-nav .language-selector, #header .header-nav .currency-selector { margin-top: 0; }
#header .header-nav .user-info, #header .header-nav .blockcart { margin: 0; }
#header .header-nav .blockcart { background: transparent; height: auto; padding: .45rem .9rem; border-radius: 999px; transition: background .2s; }
#header .header-nav .blockcart.active { background: var(--kc-ink); }
#header .header-nav .blockcart.active a, #header .header-nav .blockcart.active .material-icons { color: #fff; }
#header .header-nav .cart-preview.active { background: var(--kc-ink); }
#header .header-top { padding: .9rem 0 1rem; }
#header .header-top > .container > .row:first-child { display: flex; align-items: center; }
#header .kcos-logo { line-height: 1; }
#header .kcos-logo img.logo { height: 42px; }
#header .header-top-right { display: flex; align-items: center; justify-content: flex-end; gap: 1.5rem; }
#header .header-top .menu { flex: 1; padding-left: 1rem; margin: 0; }
#header .top-menu[data-depth="0"] > li > a { font-size: .95rem; font-weight: 500; text-transform: none; color: var(--kc-ink); padding: .5rem .9rem; letter-spacing: 0; }
#header .top-menu[data-depth="0"] > li > a:hover { color: var(--kc-accent); }
#header .top-menu .sub-menu { border-radius: var(--kc-r); box-shadow: var(--kc-shadow-lg); border: 1px solid var(--kc-line); }
#search_widget { min-width: 240px; float: none; margin: 0; }
#search_widget form input[type="text"] { background: var(--kc-bg); border: 1px solid transparent; border-radius: 999px; padding: .7rem 1rem .7rem 2.75rem; font-size: .9rem; color: var(--kc-ink); transition: border-color .2s, background .2s; }
#search_widget form input[type="text"]:focus { outline: none; background: #fff; border-color: var(--kc-line); }
#search_widget form i { padding: .7rem .9rem; color: var(--kc-muted); }
#header .header-top { border-bottom: 0; }

.kc-hero { min-height: clamp(560px, 82vh, 860px); display: flex; align-items: center; overflow: hidden; background: #efe2d6; }
.kc-hero__media, .kc-hero__media img { position: absolute; inset: 0; width: 100%; height: 100%; }
.kc-hero__media img { object-fit: cover; object-position: 70% 50%; animation: kc-zoom 18s var(--kc-ease) both; }
.kc-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(247, 240, 233, .92) 0%, rgba(247, 240, 233, .72) 32%, rgba(247, 240, 233, 0) 58%); pointer-events: none; }
.kc-hero__inner { position: relative; z-index: 1; width: 100%; box-sizing: border-box; max-width: calc(var(--kc-wrap) + 2 * var(--kc-gutter)); }
.kc-hero__copy { max-width: 640px; padding: 4rem 0 5rem; }
.kc-hero__copy > * { animation: kc-rise .9s var(--kc-ease) both; }
.kc-hero__copy > *:nth-child(2) { animation-delay: .08s; }
.kc-hero__copy > *:nth-child(3) { animation-delay: .16s; }
.kc-hero__copy > *:nth-child(4) { animation-delay: .24s; }
.kc-display {
  font-family: var(--kc-f-serif) !important; font-weight: 400; font-size: clamp(2.5rem, 1.6rem + 3.6vw, 4.6rem);
  line-height: 1.08; letter-spacing: -.03em; margin: 0 0 1.5rem; text-wrap: balance; font-variation-settings: "opsz" 144;
}
.kc-display em { font-style: italic; color: var(--kc-accent); font-weight: 300; }
html[lang^="ko"] .kc-display em { font-style: normal; font-weight: 400; }
.kc-hero__lead { font-size: clamp(1rem, .95rem + .25vw, 1.125rem); line-height: 1.75; color: var(--kc-ink-soft); max-width: 30em; margin: 0 0 2.25rem; }
.kc-hero__actions { display: flex; align-items: center; gap: 1.75rem; flex-wrap: wrap; }

@keyframes kc-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes kc-zoom { from { transform: scale(1.06); } to { transform: scale(1); } }

.kc-trust { background: var(--kc-surface); border-bottom: 1px solid var(--kc-line); }
.kc-trust__list { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0 auto; padding-top: 1.6rem; padding-bottom: 1.6rem; list-style: none; }
.kc-trust__list li { display: flex; align-items: flex-start; gap: .9rem; padding: .2rem 1.5rem; }
.kc-trust__list li + li { border-left: 1px solid var(--kc-line); }
.kc-trust__list li:first-child { padding-left: 0; }
.kc-trust svg { flex: none; width: 26px; height: 26px; fill: none; stroke: var(--kc-accent); stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; margin-top: 2px; }
.kc-trust strong { display: block; font-size: .92rem; font-weight: 600; color: var(--kc-ink); }
.kc-trust span { display: block; font-size: .8rem; color: var(--kc-muted); line-height: 1.5; }

.kc-cats__grid { display: grid; grid-template-columns: 1.25fr 1fr 1fr; gap: clamp(12px, 1.5vw, 22px); }
.kc-cat { position: relative; display: block; overflow: hidden; border-radius: var(--kc-r-lg); aspect-ratio: 4 / 5; background: var(--kc-bg-deep); isolation: isolate; }
.kc-cat--lg { aspect-ratio: auto; }
.kc-cat img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--kc-ease); }
.kc-cat::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(43, 35, 32, 0) 52%, rgba(43, 35, 32, .55) 100%); z-index: 1; }
.kc-cat:hover img { transform: scale(1.045); }
.kc-cat__label { position: absolute; left: 1.4rem; right: 1.4rem; bottom: 1.3rem; z-index: 2; color: #fff; display: flex; flex-direction: column; gap: .15rem; }
.kc-cat__label strong { font-family: var(--kc-f-serif); font-weight: 400; font-size: clamp(1.3rem, 1rem + .9vw, 1.8rem); letter-spacing: -.01em; display: flex; align-items: center; justify-content: space-between; }
.kc-cat__label strong::after { content: "\2192"; font-family: var(--kc-f-sans); font-size: 1.1rem; transition: transform .35s var(--kc-ease); }
.kc-cat:hover .kc-cat__label strong::after { transform: translateX(5px); }
.kc-cat__label small { font-size: .85rem; opacity: .88; }
.kc-cat, .kc-cat:hover { color: #fff; }

.kc-concerns { display: flex; align-items: center; gap: 1.5rem; margin-top: 2.25rem; padding-top: 2rem; border-top: 1px solid var(--kc-line); }
.kc-concerns__title { flex: none; margin: 0; font-size: .95rem !important; font-weight: 600; color: var(--kc-ink); }
.kc-concerns__list { display: flex; flex-wrap: wrap; gap: .55rem; margin: 0; padding: 0; list-style: none; }
.kc-concerns__list a { display: inline-block; padding: .55rem 1.05rem; border-radius: 999px; border: 1px solid var(--kc-line); background: var(--kc-surface); font-size: .88rem; color: var(--kc-ink-soft); transition: all .25s var(--kc-ease); }
.kc-concerns__list a:hover { border-color: var(--kc-accent); color: var(--kc-accent); background: #fff; }

.kc-products { background: var(--kc-surface); }
.kc-plist.featured-products { margin: 0; }
.kc-plist .products-section-title { display: none; }

.products.row, #js-product-list .products, .featured-products .products, .product-accessories .products, .crossselling-product .products, .category-products .products {
  display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(14px, 1.8vw, 28px) clamp(12px, 1.5vw, 24px); margin: 0;
}
.products::before, .products::after { display: none !important; }
#js-product-list .products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.products > .js-product, .products > .product { width: auto !important; max-width: none !important; flex: none !important; padding: 0 !important; float: none !important; }

.product-miniature { margin: 0; border-radius: 0; overflow: visible; transition: none; background: transparent; }
.product-miniature:hover { transform: none; box-shadow: none; }
.product-miniature .thumbnail-container { position: relative; height: 100%; display: flex; flex-direction: column; background: transparent; box-shadow: none !important; border-radius: 0; overflow: visible; margin: 0; }
.product-miniature .thumbnail-container:hover, .product-miniature .thumbnail-container:focus { box-shadow: none; }
.product-miniature .thumbnail-top { position: relative; border-radius: var(--kc-r); overflow: hidden; background: #f3eee9; aspect-ratio: 1 / 1; }
.product-miniature .product-thumbnail { display: block; height: 100%; }
.product-miniature .product-thumbnail picture, .product-miniature .product-thumbnail img { display: block; width: 100%; height: 100%; object-fit: cover; position: static; transform: none; transition: transform 1s var(--kc-ease); }
.product-miniature:hover .product-thumbnail img { transform: scale(1.04); }
.product-miniature .highlighted-informations {
  position: absolute; left: .75rem; right: .75rem; bottom: .75rem; top: auto; width: auto; height: auto; min-height: 0;
  padding: 0; background: transparent; box-shadow: none; border-radius: 0; opacity: 0; transform: translateY(8px); transition: all .35s var(--kc-ease); z-index: 2;
}
.product-miniature:hover .highlighted-informations, .product-miniature:focus-within .highlighted-informations { opacity: 1; transform: none; bottom: .75rem; }
.product-miniature .quick-view { display: flex; align-items: center; justify-content: center; gap: .35rem; width: 100%; padding: .7rem; border-radius: 999px; background: rgba(255, 253, 250, .94); color: var(--kc-ink); font-size: .82rem; font-weight: 600; backdrop-filter: blur(8px); }
.product-miniature .quick-view .material-icons { font-size: 1rem; }
.product-miniature .quick-view:hover { background: var(--kc-ink); color: #fff; }
.product-miniature .variant-links { display: none; }
.product-miniature .product-description {
  position: static; width: auto; height: auto; background: transparent; box-shadow: none; padding: 1rem .15rem 0; text-align: left; border-radius: 0;
  display: flex; flex-direction: column; flex: 1;
}
.product-miniature .product-description::after { display: none; }
.product-miniature .product-title, .product-miniature .product-title a { margin: 0 0 .5rem; text-transform: none; text-align: left !important; }
.product-miniature .product-title a {
  font-size: .92rem; font-weight: 500; line-height: 1.45; color: var(--kc-ink); text-transform: none; letter-spacing: -.005em;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.9em;
}
.product-miniature .product-title a:hover { color: var(--kc-accent); }
.product-miniature .product-price-and-shipping { text-align: left !important; justify-content: flex-start; display: flex; align-items: baseline; gap: .5rem; flex-wrap: wrap; }
.product-miniature .product-price-and-shipping .price { font-size: 1.02rem; font-weight: 700; color: var(--kc-ink); font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.product-miniature .regular-price { font-size: .85rem; color: var(--kc-muted); }
.kc-stock-note { margin: .4rem 0 0; font-size: .78rem; font-weight: 500; color: var(--kc-muted); display: flex; align-items: center; gap: .4rem; }
.kc-stock-note::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #d4a373; }

.product-miniature .product-flags, .product-flags { position: absolute; top: .75rem; left: .75rem; margin: 0; z-index: 2; pointer-events: none; display: flex; flex-direction: column; gap: .35rem; }
.product-flags li.product-flag, .product-flags .product-flag {
  min-height: 0 !important; min-width: 0 !important; margin: 0; padding: .28rem .55rem; border-radius: var(--kc-r-sm) !important; background: rgba(255, 253, 250, .94) !important;
  color: var(--kc-ink) !important; font-size: .7rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; box-shadow: none; width: fit-content;
}
.product-flags .product-flag.new { color: var(--kc-accent) !important; }
.product-flags .product-flag.discount, .product-flags .product-flag.discount-percentage, .product-flags .product-flag.on-sale { background: var(--kc-accent) !important; color: #fff !important; }
.product-miniature .product-flag.out_of_stock { display: none; }

.wishlist-button-add { top: .65rem !important; right: .65rem !important; width: 36px !important; height: 36px !important; box-shadow: none !important; background: rgba(255, 253, 250, .94) !important; transition: transform .25s var(--kc-ease); }
.wishlist-button-add:hover { transform: scale(1.06); }
.wishlist-button-add i { color: var(--kc-ink) !important; font-size: 1.15rem !important; }

.kc-story { background: var(--kc-bg); }
.kc-story__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(2rem, 5vw, 6rem); align-items: center; }
.kc-story__media { margin: 0; position: relative; }
.kc-story__media img { width: 100%; height: auto; display: block; border-radius: var(--kc-r-lg); aspect-ratio: 4 / 5; object-fit: cover; box-shadow: var(--kc-shadow-lg); }
.kc-story__media::before { content: ""; position: absolute; inset: auto -1.5rem -1.5rem auto; width: 55%; height: 45%; border-radius: var(--kc-r-lg); background: var(--kc-blush); z-index: -1; }
.kc-story__copy .kc-title { margin-bottom: 1.5rem; }
.kc-stats { display: grid; grid-template-columns: repeat(3, auto); justify-content: start; gap: 2.5rem; margin: 2.25rem 0 2.25rem; padding: 1.75rem 0 0; border-top: 1px solid var(--kc-line); }
.kc-stats div { margin: 0; }
.kc-stats dt { font-family: var(--kc-f-serif); font-weight: 400; font-size: 2.4rem; line-height: 1; letter-spacing: -.03em; color: var(--kc-ink); font-variant-numeric: lining-nums; }
.kc-stats dd { margin: .5rem 0 0; font-size: .85rem; color: var(--kc-muted); }

.kc-routine { background: var(--kc-surface); }
.kc-routine__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(2rem, 5vw, 5.5rem); align-items: center; }
.kc-routine__media { margin: 0; }
.kc-routine__media img { width: 100%; height: auto; display: block; border-radius: var(--kc-r-lg); aspect-ratio: 3 / 2; object-fit: cover; }
.kc-routine__copy .kc-title { margin-bottom: 2rem; }
.kc-steps { list-style: none; margin: 0; padding: 0; counter-reset: none; }
.kc-steps li + li { border-top: 1px solid var(--kc-line); }
.kc-steps a { display: grid; grid-template-columns: 3.25rem 1fr auto; align-items: center; gap: 1rem; padding: 1.15rem 0; color: var(--kc-ink); }
.kc-steps a::after { content: "\2192"; color: var(--kc-muted); transition: transform .3s var(--kc-ease), color .2s; }
.kc-steps a:hover::after { transform: translateX(4px); color: var(--kc-accent); }
.kc-steps__n { font-family: var(--kc-f-serif); font-size: 1.35rem; color: var(--kc-accent); font-variant-numeric: lining-nums; }
.kc-steps__t { display: flex; flex-direction: column; }
.kc-steps strong { font-size: 1rem; font-weight: 600; }
.kc-steps small { font-size: .86rem; color: var(--kc-muted); line-height: 1.5; }
.kc-steps a:hover strong { color: var(--kc-accent); }

.kc-news { padding: 0 var(--kc-gutter) clamp(4rem, 3rem + 4vw, 7.5rem); background: var(--kc-surface); }
.kc-news__box {
  box-sizing: border-box; max-width: var(--kc-wrap); margin: 0 auto;
  display: grid; grid-template-columns: 1fr minmax(0, 480px); align-items: center; gap: 2rem 4rem;
  background: var(--kc-blush); border-radius: var(--kc-r-lg); padding-top: clamp(2.25rem, 4vw, 3.75rem); padding-bottom: clamp(2.25rem, 4vw, 3.75rem);
  padding-left: clamp(1.5rem, 4vw, 4rem); padding-right: clamp(1.5rem, 4vw, 4rem);
  background-image: radial-gradient(120% 140% at 100% 0%, rgba(255, 255, 255, .55) 0%, rgba(255, 255, 255, 0) 55%);
}
.kc-news .kc-title { font-size: clamp(1.5rem, 1.1rem + 1.3vw, 2.1rem); margin-bottom: .6rem; }
.kc-news .kc-body { margin: 0; }
.kc-newsletter { width: 100%; padding: 0; background: transparent; }
.kc-newsletter__form { display: flex; align-items: center; gap: .5rem; padding: .35rem; background: #fff; border-radius: 999px; box-shadow: var(--kc-shadow); }
.kc-newsletter__form input[type="email"] { flex: 1; min-width: 0; width: auto; height: 46px; border: 0 !important; outline: 0; box-shadow: none; background: transparent; padding: 0 1.1rem; font-size: .95rem; color: var(--kc-ink); }
.kc-newsletter__form input[type="email"]:focus { outline: none; }
.kc-newsletter__form .kc-btn { min-height: 46px; padding: 0 1.4rem; }
.kc-newsletter__note { margin: .8rem 0 0 1.1rem; font-size: .78rem; color: var(--kc-muted); }
.kc-newsletter .alert { margin-top: .8rem; border-radius: var(--kc-r); }

#footer { background: var(--kc-bg); padding-top: 0; }
.kc-footer-before .row { margin: 0; }
.footer-container.kc-footer { background: var(--kc-bg); box-shadow: none; padding: clamp(3rem, 5vw, 4.5rem) 0 1.5rem; margin-top: 0; border-top: 1px solid var(--kc-line); overflow: visible; }
.kc-footer__grid { display: grid; grid-template-columns: 1.6fr repeat(3, 1fr); gap: 2.5rem; padding-bottom: 3rem; }
.kc-footer__logo img { height: 40px; width: auto; display: block; margin-bottom: 1.1rem; }
.kc-footer__brand p { color: var(--kc-muted); font-size: .9rem; max-width: 22em; margin: 0; }
.kc-footer__col h2 { font-size: .78rem !important; font-weight: 600; letter-spacing: .12em; text-transform: uppercase !important; color: var(--kc-muted) !important; margin: 0 0 1rem; }
.kc-footer__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.kc-footer__col a { font-size: .92rem; color: var(--kc-ink-soft); }
.kc-footer__col a:hover { color: var(--kc-accent); }
.kc-footer__hooks .links, .kc-footer__hooks .block-contact, .kc-footer__hooks #block_myaccount_infos, .kc-footer__hooks .account-list { display: none !important; }
.kc-footer__bottom { border-top: 1px solid var(--kc-line); padding-top: 1.4rem; display: flex; justify-content: space-between; gap: 1rem; font-size: .8rem; color: var(--kc-muted); }
.kc-footer__bottom p { margin: 0; }

.btn-primary, .btn-primary.disabled, .btn-primary:disabled {
  background: var(--kc-ink) !important; border-color: var(--kc-ink) !important; color: #fff; border-radius: 999px; text-transform: none; font-weight: 600; box-shadow: none;
  padding: .75rem 1.6rem; transition: background .25s var(--kc-ease), transform .25s var(--kc-ease);
}
.btn-primary:hover, .btn-primary:focus { background: var(--kc-accent) !important; border-color: var(--kc-accent) !important; }
.btn-primary:disabled, .btn-primary.disabled { background: #b8aca6 !important; border-color: #b8aca6 !important; opacity: 1; }
.btn-secondary, .btn-tertiary { border-radius: 999px; text-transform: none; }
.form-control, .custom-select, input.form-control { border-radius: var(--kc-r-sm); border-color: var(--kc-line); background: #fff; color: var(--kc-ink); }
.form-control:focus { border-color: var(--kc-accent); outline: none; box-shadow: 0 0 0 3px var(--kc-accent-tint); }
.card, .block-category, #content.page-content, .page-content.page-cms, #products #js-product-list-top, .products-selection { border-radius: var(--kc-r); }

.breadcrumb { background: transparent; padding: 0 0 1rem; font-size: .82rem; }
.breadcrumb li, .breadcrumb li a { color: var(--kc-muted); }
.breadcrumb li:last-child span { color: var(--kc-ink); }

.block-category { background: var(--kc-surface); box-shadow: none; border: 0; padding: 2rem 2.25rem; min-height: 0; margin-bottom: 1.5rem; }
.block-category h1 { font-family: var(--kc-f-serif) !important; font-weight: 400; font-size: clamp(1.8rem, 1.3rem + 1.6vw, 2.6rem); letter-spacing: -.02em; text-transform: none; margin: 0; }
.block-category .block-category-inner { margin-top: .6rem; }
.block-category #category-description { color: var(--kc-ink-soft); }
#left-column .block-categories, #search_filters, #search_filters_brands, #search_filters_suppliers { background: var(--kc-surface); box-shadow: none; border-radius: var(--kc-r); padding: 1.5rem; }
#left-column .block-categories .category-top-menu > li > a.h6, #search_filters .h6 { font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; color: var(--kc-muted); }
#left-column .block-categories a { color: var(--kc-ink-soft); }
#left-column .block-categories a:hover { color: var(--kc-accent); }
#search_filters .facet .facet-title { font-size: .9rem; color: var(--kc-ink); text-transform: none; }
#js-product-list-top { padding: 0 0 1rem; margin-bottom: 1rem; border-bottom: 1px solid var(--kc-line); }
.products-sort-order .select-title { border-radius: 999px; background: var(--kc-surface); border: 1px solid var(--kc-line); box-shadow: none; }
.pagination .current a { color: var(--kc-accent); }
#products .product-miniature, .featured-products .product-miniature { margin: 0; }

#product #wrapper { padding-top: 1.5rem; }
.product-cover { border-radius: var(--kc-r-lg); overflow: hidden; background: #f3eee9; margin-bottom: 1rem; }
.product-cover img { box-shadow: none; background: transparent; }
.product-cover .layer { border-radius: var(--kc-r-lg); }
.product-images > li.thumb-container > .thumb { border-radius: var(--kc-r-sm); box-shadow: none; border: 1px solid transparent; }
.product-images > li.thumb-container > .thumb.selected, .product-images > li.thumb-container > .thumb:hover { border-color: var(--kc-ink); }
#product h1.h1 { font-family: var(--kc-f-serif) !important; font-weight: 400; font-size: clamp(1.6rem, 1.2rem + 1.3vw, 2.35rem); line-height: 1.2; letter-spacing: -.02em; text-transform: none; text-wrap: balance; }
.product-prices { margin: 1.25rem 0; }
.product-prices .current-price span, .current-price .current-price-value { color: var(--kc-ink); font-size: 1.6rem; font-weight: 700; font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.product-prices .tax-shipping-delivery-label { color: var(--kc-muted); font-size: .8rem; }
.product-description-short, #product-description-short, .product-information { color: var(--kc-ink-soft); font-size: .98rem; line-height: 1.75; }
.product-actions .add-to-cart { border-radius: 999px; min-height: 52px; padding: 0 2rem; font-size: 1rem; }
.product-quantity .qty .input-group { border-radius: 999px; }
.product-quantity #quantity_wanted { background: #fff; border-color: var(--kc-line); }
.bootstrap-touchspin .btn-touchspin { border-color: var(--kc-line); background: #fff; }
.product-flags .product-flag.out_of_stock { background: #f1e3d3 !important; color: #8a5a2b !important; }
.tabs { background: var(--kc-surface); box-shadow: none; border-radius: var(--kc-r); padding: 1.5rem 1.75rem; }
.tabs .nav-tabs { border-bottom: 1px solid var(--kc-line); }
.tabs .nav-tabs .nav-link { color: var(--kc-muted); border: 0; text-transform: none; font-weight: 500; }
.tabs .nav-tabs .nav-link.active, .tabs .nav-tabs .nav-link:hover { color: var(--kc-ink); border: 0; border-bottom: 2px solid var(--kc-ink); }
.blockreassurance_product { background: var(--kc-surface); border-radius: var(--kc-r); padding: 1rem 1.25rem; }
.product-additional-info .social-sharing { margin-top: 1rem; }
.featured-products .products-section-title, .product-accessories .h5, .crossselling-product .h5, .category-products .h5 {
  font-family: var(--kc-f-serif) !important; font-weight: 400; font-size: 1.6rem; text-transform: none; letter-spacing: -.01em; text-align: left; margin-bottom: 1.5rem;
}

#subcategories { background: transparent; box-shadow: none; padding: 0; margin-bottom: 1.5rem; border-top: 0; }
#subcategories .subcategory-heading { display: none; }
#subcategories ul { display: flex !important; flex-direction: row !important; flex-wrap: wrap; justify-content: flex-start !important; gap: .55rem; margin: 0 !important; padding: 0 !important; }
#subcategories ul li { float: none !important; width: auto !important; min-width: 0 !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; text-align: left; flex: none; }
#subcategories ul li .subcategory-image { display: none; }
#subcategories ul li h5, #subcategories ul li .h5 { margin: 0; }
#subcategories ul li .subcategory-name { display: inline-block; padding: .55rem 1.1rem; border: 1px solid var(--kc-line); border-radius: 999px; background: var(--kc-surface); color: var(--kc-ink-soft); font-size: .88rem; font-weight: 500; text-transform: none; transition: all .25s var(--kc-ease); }
#subcategories ul li .subcategory-name:hover { border-color: var(--kc-accent); color: var(--kc-accent); }
#subcategories ul li:hover .subcategory-image a { border: 0; }
#search_filters_brands, #search_filters_suppliers { display: none; }
.pagination > div:first-child { color: var(--kc-muted); font-size: .82rem; }
.product-cover img { width: 100%; height: auto; }
.product-images > li.thumb-container > .thumb.selected, .js-qv-mask .product-images > li.thumb-container > .thumb.selected { border: 2px solid var(--kc-ink) !important; }
.product-images > li.thumb-container > .thumb { border-radius: var(--kc-r-sm); }
#product-availability .alert, .product-availability .alert { background: #f6ece2; border: 0; color: #8a5a2b; border-radius: var(--kc-r); }
#product-availability .alert .material-icons { color: #c08552; }
.product-additional-info .js-mailalert, .product-additional-info .tabs { border-radius: var(--kc-r); }
.js-mailalert { background: var(--kc-surface); border-radius: var(--kc-r); padding: 1.25rem 1.5rem; }
.js-mailalert input[type="email"] { border-radius: 999px !important; border: 1px solid var(--kc-line) !important; padding: .7rem 1.1rem !important; height: auto !important; }
.blockreassurance_product > div { display: grid; grid-template-columns: 34px minmax(0, 1fr); column-gap: .9rem; align-items: center; padding: .55rem 0; }
.blockreassurance_product > div > * { grid-column: 2; }
.blockreassurance_product .item-product { grid-column: 1; grid-row: 1 / span 2; width: 34px; height: 34px; margin: 0; }
.blockreassurance_product .clearfix { display: none; }
.blockreassurance_product .block-title { font-weight: 600; color: var(--kc-ink) !important; display: block; }
.blockreassurance_product p { margin: 0; color: var(--kc-muted) !important; font-size: .85rem; }
.product-actions .product-add-to-cart .product-quantity { gap: .5rem; flex-wrap: wrap; align-items: center; }
#product .alert, .product-unavailable-alert { border-radius: var(--kc-r); }
#product .product-flags .product-flag.out_of_stock { display: none; }

#cart .card, .cart-grid-body .card, .cart-summary, #checkout section.checkout-step, .page-order-confirmation .card {
  border: 0; box-shadow: none; background: var(--kc-surface); border-radius: var(--kc-r);
}
#checkout section.checkout-step .step-title { text-transform: none; font-weight: 600; }
.page-content.page-cms, #content.page-content.card { background: var(--kc-surface); box-shadow: none; padding: 2rem 2.25rem; }
#main .page-header h1 { font-family: var(--kc-f-serif) !important; font-weight: 400; font-size: clamp(1.8rem, 1.3rem + 1.6vw, 2.5rem); letter-spacing: -.02em; text-transform: none; }

#blockcart-modal .modal-content, #modal .modal-content, .quickview .modal-content { border-radius: var(--kc-r-lg); border: 0; box-shadow: var(--kc-shadow-lg); }

@media (max-width: 1199px) {
  .products.row, .featured-products .products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .kc-trust__list { grid-template-columns: repeat(2, 1fr); row-gap: 1.25rem; }
  .kc-trust__list li:nth-child(3) { border-left: 0; padding-left: 0; }
  #search_widget { min-width: 200px; }
}

@media (max-width: 991px) {
  #js-product-list .products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kc-story__grid, .kc-routine__grid { grid-template-columns: minmax(0, 1fr); }
  .kc-story__media { max-width: 560px; }
  .kc-routine__media { order: -1; }
  .kc-news__box { grid-template-columns: minmax(0, 1fr); }
  .kc-footer__grid { grid-template-columns: 1fr 1fr; }
  .kc-footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 767px) {
  body { font-size: 14.5px; }
  .kc-announce { justify-content: flex-start; overflow-x: auto; scrollbar-width: none; gap: 2rem; }
  .kc-announce::-webkit-scrollbar { display: none; }
  #header .header-nav { padding: .35rem 0; }
  #header .header-nav .mobile { display: flex; align-items: center; }
  #header .header-nav .mobile #menu-icon { order: 0; margin: 0; }
  #header .header-nav .mobile .top-logo { order: 1; flex: 1; text-align: left; padding-left: .5rem; }
  #header .header-nav .mobile #_mobile_user_info { order: 2; }
  #header .header-nav .mobile #_mobile_cart { order: 3; }
  #header .header-nav .mobile .clearfix { display: none; }
  #header .top-logo img.logo, #header .kcos-logo img.logo { height: 32px; width: auto; }
  #header .header-nav .mobile .blockcart { padding: .4rem .6rem; }
  #header .header-top { padding: .25rem 0 .75rem; }
  #header .header-top-right { display: block; }
  #search_widget { min-width: 0; width: 100%; }
  #mobile_top_menu_wrapper { background: var(--kc-surface); border-radius: var(--kc-r); margin-top: .5rem; }

  .kc-hero { min-height: auto; flex-direction: column; align-items: stretch; background: var(--kc-bg); }
  .kc-hero::after { display: none; }
  .kc-hero__media { position: relative; display: block; width: 100%; height: auto; aspect-ratio: 4 / 4.2; }
  .kc-hero__media img { position: absolute; object-position: 60% 50%; }
  .kc-hero__copy { padding: 2rem 0 2.75rem; }
  .kc-display { font-size: clamp(2.1rem, 8.5vw, 2.6rem); margin-bottom: 1rem; }
  .kc-hero__lead { margin-bottom: 1.75rem; }
  .kc-hero__actions { gap: 1.25rem; }
  .kc-hero__actions .kc-btn { width: 100%; }

  .kc-trust__list { grid-template-columns: 1fr 1fr; gap: 1.1rem .9rem; padding-top: 1.4rem; padding-bottom: 1.4rem; }
  .kc-trust__list li, .kc-trust__list li:first-child { padding: 0; border-left: 0 !important; flex-direction: column; gap: .5rem; }
  .kc-trust span { font-size: .76rem; }

  .kc-cats__grid { grid-template-columns: 1fr 1fr; }
  .kc-cat--lg { grid-column: 1 / -1; aspect-ratio: 4 / 3.4; }
  .kc-cat__label { left: 1rem; right: 1rem; bottom: 1rem; }
  .kc-concerns { flex-direction: column; align-items: stretch; gap: 1rem; }
  .kc-concerns__list { flex-wrap: nowrap; overflow-x: auto; width: 100%; max-width: 100%; margin: 0; padding: 0 0 .25rem; scrollbar-width: none; }
  .kc-concerns__list::-webkit-scrollbar { display: none; }
  .kc-concerns__list a { white-space: nowrap; }

  .products.row, #js-product-list .products, .featured-products .products, .product-accessories .products, .crossselling-product .products, .category-products .products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem .75rem; }
  .product-miniature .product-title a { font-size: .86rem; }
  .product-miniature .highlighted-informations { display: none; }
  .wishlist-button-add { width: 32px !important; height: 32px !important; top: .5rem !important; right: .5rem !important; }
  .product-flags { top: .5rem; left: .5rem; }

  .kc-stats { gap: 1.5rem; }
  .kc-stats dt { font-size: 1.9rem; }
  .kc-steps a { grid-template-columns: 2.5rem 1fr auto; }
  .kc-news__box { padding: 2rem 1.25rem; }
  .kc-newsletter__form { flex-direction: column; border-radius: var(--kc-r); padding: .5rem; }
  .kc-newsletter__form input[type="email"] { min-height: 46px; }
  .kc-newsletter__form .kc-btn { width: 100%; }
  .kc-footer__grid { gap: 2rem 1.5rem; padding-bottom: 2rem; }
  .block-category { padding: 1.5rem; }
  #category #left-column .block-categories { display: none; }
  #header .header-nav .row, #header .header-top .row { margin-left: 0; margin-right: 0; }
  #header .header-nav .mobile { width: 100%; }
  .kc-newsletter__form { background: transparent; box-shadow: none; padding: 0; }
  .kc-newsletter__form input[type="email"] { width: 100%; background: #fff; border-radius: 999px; box-shadow: var(--kc-shadow); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

.kc-about { max-width: 960px; margin: 0 auto; color: var(--kc-ink-soft); }
.kc-about__intro { text-align: center; padding: 1rem 0 2.5rem; }
.kc-about__title { font-family: var(--kc-f-serif) !important; font-weight: 400; font-size: clamp(1.8rem, 1.3rem + 1.8vw, 2.8rem); line-height: 1.25; letter-spacing: -.02em; color: var(--kc-ink); margin: .5rem 0 1.25rem; text-wrap: balance; }
.kc-about__lead { font-size: 1.05rem; line-height: 1.85; max-width: 680px; margin: 0 auto; }
.kc-about__media { margin: 0 0 3rem; border-radius: var(--kc-r-lg); overflow: hidden; aspect-ratio: 16 / 9; }
.kc-about__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; display: block; }
.kc-about__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; margin-bottom: 3rem; }
.kc-about__item { background: var(--kc-bg); border: 1px solid var(--kc-line); border-radius: var(--kc-r); padding: 1.75rem; }
.kc-about__num { font-family: var(--kc-f-serif); color: var(--kc-accent); font-size: 1.2rem; font-variant-numeric: lining-nums; }
.kc-about h3 { font-size: 1.15rem; font-weight: 600; color: var(--kc-ink); margin: .5rem 0 .6rem; text-transform: none; }
.kc-about p { line-height: 1.8; margin: 0; }
.kc-about__range { border-top: 1px solid var(--kc-line); border-bottom: 1px solid var(--kc-line); padding: 2rem 0; margin-bottom: 3rem; }
.kc-about__range ul { list-style: none; padding: 0; margin: 1rem 0 0; display: grid; gap: .75rem; }
.kc-about__range li { line-height: 1.7; }
.kc-about__range strong { display: inline-block; min-width: 6.5rem; color: var(--kc-accent); font-weight: 600; }
.kc-about__promise { text-align: center; max-width: 680px; margin: 0 auto; padding-bottom: 1rem; }
.kc-about__promise p + p { margin-top: 1.5rem; }
@media (max-width: 767px) {
  .kc-about__grid { grid-template-columns: 1fr; }
  .kc-about__media { aspect-ratio: 4 / 5; }
  .kc-about__range strong { display: block; }
  .page-content.page-cms { padding: 1.5rem 1.1rem; }
}
.page-cms .kc-about p, .page-cms .kc-about li { text-align: left; }
.page-cms .kc-about .kc-about__intro p, .page-cms .kc-about .kc-about__promise p { text-align: center; }
.page-cms .kc-about__range ul, .page-cms .kc-about__range li { list-style: none; padding-left: 0; }
.page-cms .kc-about__range li::before { content: none; }
.page-cms .kc-about h3 { text-align: left; } .page-cms .kc-about .kc-about__promise h3 { text-align: center; }
