/* KIKI_BF_HOME_5125_20261112_V2 */
/* KIKI_HOME_BLACK_FRIDAY_5125_20261112
   Presentation for the current homepage's native sections. */

/* The native ribbon container must reach both viewport edges. */
.template-home .kiki-bf-campaign-ribbon > .f-custom-content__container {
  padding-inline: 0 !important;
}
.template-home .kiki-bf-campaign-ribbon .f-custom-content__boxed {
  padding: 0 !important;
  border-radius: 0;
}
.template-home .kiki-bf-campaign-ribbon .f-custom-content__wrapper {
  margin-inline: 0 !important;
}
.template-home .kiki-bf-campaign-ribbon .f-custom-content__block {
  padding-inline: 0 !important;
}
.template-home .kiki-bf-strip {
  box-sizing: border-box;
  width: 100%;
  overflow: hidden;
  padding-block: 13px;
  border-block: 1px solid #4b4030;
  background: #141413;
  color: #e8c985;
}
.template-home .kiki-bf-strip__track {
  display: flex;
  width: max-content;
  animation: kiki-bf-ribbon-5125 48s linear infinite;
}
.template-home .kiki-bf-strip__group {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: space-around;
  box-sizing: border-box;
  min-width: 100vw;
  gap: clamp(40px, 4vw, 72px);
  padding-inline: 28px;
}
.template-home .kiki-bf-strip__item {
  flex-shrink: 0;
  white-space: nowrap;
  color: #e8c985;
  font: 700 12px/1.5 Arial, Helvetica, sans-serif;
  letter-spacing: .2em;
  text-transform: uppercase;
}
@keyframes kiki-bf-ribbon-5125 {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* One native ratio spacer determines the entire photographic area. */
.template-home .kiki-bf-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #0d0d0c;
  color: #fff8ed;
}
.template-home .kiki-bf-hero .f-slide,
.template-home .kiki-bf-hero .f-slide__media {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}
.template-home .kiki-bf-hero-natural .f-slide__media {
  width: 100%;
  aspect-ratio: auto;
}
.template-home .kiki-bf-hero-natural .f-slide__media::before {
  display: block !important;
  content: "" !important;
  width: 100%;
  height: 0 !important;
  padding: 0 !important;
  padding-top: calc(100% * 941 / 1672) !important;
}
.template-home .kiki-bf-hero .f-slide__media::after {
  position: absolute;
  z-index: 2;
  inset: 0;
  content: "";
  background: linear-gradient(90deg, rgba(8, 8, 7, .82), rgba(8, 8, 7, .58) 28%, rgba(8, 8, 7, .12) 58%, transparent 82%);
  pointer-events: none;
}
.template-home .kiki-bf-hero .f-slide__bg picture {
  display: block;
  width: 100%;
  height: 100%;
}
.template-home .kiki-bf-hero .f-slide__bg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.template-home .kiki-bf-hero .f-slide__wrapper {
  position: absolute !important;
  z-index: 20;
  inset: 0;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  height: 100%;
  padding: 42px clamp(70px, 8vw, 160px) 72px !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
.template-home .kiki-bf-hero .f-slide__content {
  width: min(100%, 620px);
  max-width: 620px;
  text-align: left !important;
}
.template-home .kiki-bf-hero .f-slide__subtitle {
  display: block !important;
  margin: 0 0 20px;
  color: #e8c985 !important;
  font: 700 11px/1.5 Arial, Helvetica, sans-serif;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.template-home .kiki-bf-hero .f-slide__title {
  display: block !important;
  max-width: 14ch;
  margin: 0;
  color: #fff8ed !important;
  font: 700 clamp(44px, 5vw, 76px)/1.05 Arial, Helvetica, sans-serif;
  letter-spacing: -.05em;
  text-align: left !important;
  text-wrap: balance;
  text-shadow: 0 2px 24px rgba(0, 0, 0, .2);
}
.template-home .kiki-bf-hero [data-slide="0"] .f-slide__title {
  max-width: 7ch;
  font-size: clamp(88px, 8.1vw, 118px);
  font-weight: 800;
  line-height: .94;
  letter-spacing: -.065em;
  text-wrap: initial;
}
.template-home .kiki-bf-hero .f-slide__description {
  display: block !important;
  max-width: 42ch;
  margin: 22px 0 0;
  color: #f0e9de !important;
  font: 400 16px/1.6 Arial, Helvetica, sans-serif;
  text-align: left !important;
}
.template-home .kiki-bf-hero .f-slide__description p {
  margin: 0;
  color: inherit !important;
}
.template-home .kiki-bf-hero .f-slide__button {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start !important;
  gap: 12px;
  margin-top: 26px;
  pointer-events: auto;
}
.template-home .kiki-bf-hero .f-slide__button .f-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 144px;
  min-height: 50px;
  padding: 12px 22px;
  border: 1px solid #e8c985;
  border-radius: 2px;
  background: #e8c985;
  color: #17130c !important;
  font: 700 13px/1.5 Arial, Helvetica, sans-serif;
  letter-spacing: .02em;
  text-align: center;
  white-space: normal;
  transition: background .18s ease, border-color .18s ease;
}
.template-home .kiki-bf-hero .f-slide__button .f-slide__button-second {
  border-color: #c8b387;
  background: rgba(10, 10, 9, .48);
  color: #fff8ed !important;
}
.template-home .kiki-bf-hero .swiper-slide-active .f-slide__content,
.template-home .kiki-bf-hero .swiper-slide-active .f-slide__subtitle,
.template-home .kiki-bf-hero .swiper-slide-active .f-slide__title,
.template-home .kiki-bf-hero .swiper-slide-active .f-slide__description,
.template-home .kiki-bf-hero .swiper-slide-active .f-slide__button {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
.template-home .kiki-bf-hero .f-slider-controls {
  --swiper-controls-color: #e8c985 !important;
  z-index: 24;
  color: #e8c985;
}
.template-home .kiki-bf-hero .f-slider-controls__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px !important;
  height: 48px !important;
  min-width: 44px;
  min-height: 44px;
  border: 1px solid rgba(232, 201, 133, .45) !important;
  border-radius: 50%;
  background: rgba(12, 12, 10, .48) !important;
  color: #e8c985 !important;
  opacity: 1;
}
.template-home .kiki-bf-hero .f-slider-controls__button svg {
  width: 26px !important;
  height: 26px !important;
}
.template-home .kiki-bf-hero .swiper-pagination-bullet {
  box-sizing: border-box;
  width: 44px;
  height: 44px;
  margin: 0 2px !important;
  border: 15px solid transparent;
  border-radius: 50%;
  background: #e8c985;
  background-clip: padding-box;
  opacity: .48;
}
.template-home .kiki-bf-hero .swiper-pagination-bullet-active {
  background: #fff3d7;
  background-clip: padding-box;
  opacity: 1;
}
.template-home #kiki-bf-codes,
.template-home .kiki-bf-categories.f-collection-list {
  margin-top: 0 !important;
  scroll-margin-top: 118px;
}

/* The current six category images keep their native links and responsive grid. */
.template-home .kiki-bf-categories {
  border-block: 1px solid #e5dac6;
  background: #f7f3ec;
  color: #24211b;
}
.template-home .kiki-bf-categories .f-section__subheading {
  color: #78561f;
  font: 700 11px/1.5 Arial, Helvetica, sans-serif;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.template-home .kiki-bf-categories .f-section__heading {
  color: #24211b;
  letter-spacing: -.035em;
}
.template-home .kiki-bf-categories .f-collection-card__image {
  overflow: hidden;
  border: 1px solid #d9c6a4;
  border-radius: 2px;
}
.template-home .kiki-bf-categories .f-collection-card__title,
.template-home .kiki-bf-categories .f-collection-card__link {
  color: #24211b;
}
.template-home .kiki-bf-categories .f-collection-card__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
}

/* The heading and carousel remain the two existing native room sections. */
.template-home .kiki-bf-rooms {
  background: #141413;
  color: #f7f2e8;
}
.template-home .kiki-bf-rooms.f-rich-text {
  border-top: 1px solid #51432e;
}
.template-home .kiki-bf-rooms .f-richtext__title,
.template-home .kiki-bf-rooms .f-section__heading {
  color: #fff6e7;
  letter-spacing: -.035em;
}
.template-home .kiki-bf-rooms .f-section__subheading,
.template-home .kiki-bf-rooms .f-richtext__subtitle {
  color: #e8c985;
  font: 700 11px/1.5 Arial, Helvetica, sans-serif;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.template-home .kiki-bf-rooms.f-multiple-iwt {
  border-bottom: 1px solid #51432e;
}
.template-home .kiki-bf-rooms .f-iwt__wrapper {
  border: 1px solid #5b4a30;
  border-radius: 4px;
  background: #201f1c;
}
.template-home .kiki-bf-rooms .f-iwt__content {
  background: #201f1c;
  color: #f7f2e8;
}
.template-home .kiki-bf-rooms .f-iwt__content .f-richtext__description {
  color: #cfc5b4;
  line-height: 1.6;
}
.template-home .kiki-bf-rooms .f-iwt__content .f-button--link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: #e8c985;
  text-underline-offset: 5px;
}
.template-home .kiki-bf-rooms .f-slider-controls__button {
  min-width: 44px;
  min-height: 44px;
  border-color: #a68a51;
  background: #201f1c;
  color: #e8c985;
}

/* Keep the material cards in their current native layout and image bindings. */
.template-home .kiki-bf-materials {
  border-bottom: 1px solid #e5dac6;
  background: #fbf9f4;
  color: #2d2925;
}
.template-home .kiki-bf-materials > .f-custom-content__container > .f-gradient {
  background: transparent;
}
.template-home .kiki-bf-materials .f-section__subheading {
  color: #78561f;
  font: 700 11px/1.5 Arial, Helvetica, sans-serif;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.template-home .kiki-bf-materials .f-section__heading {
  color: #2d2925;
  letter-spacing: -.035em;
}
.template-home .kiki-bf-materials .f-image-card__inner {
  border: 1px solid #d8c49f;
  border-radius: 3px;
  background: #fffdf9;
}
.template-home .kiki-bf-materials .f-image-card__content {
  color: #2d2925;
}
.template-home .kiki-bf-materials .f-button--fixed,
.template-home .kiki-bf-materials .f-button--link {
  min-height: 44px;
  color: #78561f;
  border-color: #c7ad79;
}

/* Current product stories receive a dark section and gold native controls. */
.template-home .kiki-bf-favorites {
  border-block: 1px solid #4a3d29;
  background: #141413;
  color: #f7f2e8;
}
.template-home .kiki-bf-favorites .f-his__header {
  padding-inline: clamp(20px, 4vw, 64px);
}
.template-home .kiki-bf-favorites .f-his__subheading {
  color: #e8c985;
  font: 700 11px/1.5 Arial, Helvetica, sans-serif;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.template-home .kiki-bf-favorites .f-his__heading {
  color: #fff7e9;
  letter-spacing: -.035em;
}
.template-home .kiki-bf-favorites .f-his__card {
  border: 1px solid #5e4d32;
}
.template-home .kiki-bf-favorites .f-his__reveal {
  border: 1px solid #8d7448;
  background: #211f1a;
  color: #fff8ec;
}
.template-home .kiki-bf-favorites .f-his__reveal-title,
.template-home .kiki-bf-favorites .f-his__reveal-content {
  color: #fff8ec;
}
.template-home .kiki-bf-favorites .f-his__more {
  min-width: 44px;
  min-height: 44px;
  border: 1px solid #e8c985;
  border-radius: 2px;
  background: #e8c985;
  color: #17130c;
}
.template-home .kiki-bf-favorites .f-his__more-label,
.template-home .kiki-bf-favorites .f-his__more-icon {
  color: #17130c;
}
.template-home .kiki-bf-favorites .f-his__controls .f-slider-controls__button {
  min-width: 44px;
  min-height: 44px;
  border-color: #a68a51;
  background: #211f1a;
  color: #e8c985;
}

/* The existing subscription form uses its native action and feedback. */
.template-home [data-section-id="custom-content-iZUMImoD1l"] {
  border-top: 1px solid #8b7246;
  background: #1b1a17;
  color: #f7f2e8;
}
.template-home [data-section-id="custom-content-iZUMImoD1l"] > .f-custom-content__container > .f-gradient {
  background: transparent;
}
.template-home [data-section-id="custom-content-iZUMImoD1l"] .f-richtext__title,
.template-home [data-section-id="custom-content-iZUMImoD1l"] .f-richtext__description {
  color: #f7f2e8;
}
.template-home [data-section-id="custom-content-iZUMImoD1l"] .f-newsletter-form__input {
  min-height: 50px;
  border-color: #9b865e;
  background: #fffdf8;
  color: #24211b;
}
.template-home [data-section-id="custom-content-iZUMImoD1l"] .f-newsletter-form__button {
  min-width: 48px;
  min-height: 48px;
  border-color: #e8c985;
  background: #e8c985 !important;
  color: #17130c !important;
}

.template-home .kiki-bf-hero a:focus-visible,
.template-home .kiki-bf-hero button:focus-visible,
.template-home .kiki-bf-hero .swiper-pagination-bullet:focus-visible,
.template-home .kiki-bf-rooms a:focus-visible,
.template-home .kiki-bf-rooms button:focus-visible,
.template-home .kiki-bf-favorites a:focus-visible,
.template-home .kiki-bf-favorites button:focus-visible,
.template-home [data-section-id="custom-content-iZUMImoD1l"] input:focus-visible,
.template-home [data-section-id="custom-content-iZUMImoD1l"] button:focus-visible {
  outline: 2px solid #e8c985;
  outline-offset: 4px;
}
.template-home .kiki-bf-categories a:focus-visible,
.template-home .kiki-bf-materials a:focus-visible {
  outline: 2px solid #78561f;
  outline-offset: 4px;
}

@media (hover: hover) {
  .template-home .kiki-bf-hero .f-slide__button .f-button:hover,
  .template-home .kiki-bf-favorites .f-his__more:hover {
    background: #f8dfac;
    border-color: #f8dfac;
    color: #17130c !important;
  }
  .template-home .kiki-bf-hero .f-slide__button .f-slide__button-second:hover {
    background: #fff5df !important;
    border-color: #fff5df !important;
    color: #17130c !important;
    box-shadow: none !important;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .template-home .kiki-bf-hero .f-slide__wrapper {
    padding: 24px 64px 60px !important;
  }
  .template-home .kiki-bf-hero .f-slide__title {
    font-size: clamp(32px, 4.3vw, 52px);
  }
  .template-home .kiki-bf-hero [data-slide="0"] .f-slide__title {
    font-size: clamp(58px, 7.6vw, 90px);
  }
  .template-home .kiki-bf-hero .f-slide__subtitle {
    margin-bottom: 12px;
  }
  .template-home .kiki-bf-hero .f-slide__description {
    max-width: 44ch;
    margin-top: 14px;
    font-size: 14px;
    line-height: 1.45;
  }
  .template-home .kiki-bf-hero .f-slide__button {
    margin-top: 18px;
  }
  .template-home .kiki-bf-hero .f-slide__button .f-button {
    min-height: 44px;
  }
}

@media (max-width: 767px) {
  .template-home .kiki-bf-strip {
    padding-block: 11px;
  }
  .template-home .kiki-bf-strip__item {
    font-size: 10px;
    letter-spacing: .18em;
  }
  .template-home .kiki-bf-hero-natural .f-slide__media::before {
    padding-top: calc(100% * 1402 / 1122) !important;
  }
  .template-home .kiki-bf-hero .f-slide__media::after {
    background: linear-gradient(0deg, rgba(8, 8, 7, .93), rgba(8, 8, 7, .72) 31%, rgba(8, 8, 7, .13) 70%, transparent);
  }
  .template-home .kiki-bf-hero .f-slide__wrapper {
    align-items: flex-end !important;
    padding: 14px 20px 64px !important;
  }
  .template-home .kiki-bf-hero .f-slide__content {
    max-width: 430px;
    width: 100%;
  }
  .template-home .kiki-bf-hero .f-slide__subtitle {
    margin-bottom: 10px;
    font-size: 9px;
    line-height: 1.4;
    letter-spacing: .16em;
  }
  .template-home .kiki-bf-hero .f-slide__title {
    max-width: 14ch;
    font-size: clamp(28px, 7.2vw, 44px);
  }
  .template-home .kiki-bf-hero [data-slide="0"] .f-slide__title {
    max-width: 7ch;
    font-size: clamp(44px, 14vw, 76px);
    line-height: .95;
  }
  .template-home .kiki-bf-hero .f-slide__description {
    max-width: 38ch;
    margin-top: 12px;
    font-size: 13px;
    line-height: 1.45;
  }
  .template-home .kiki-bf-hero .f-slide__button {
    gap: 10px;
    margin-top: 16px;
  }
  .template-home .kiki-bf-hero .f-slide__button > div {
    flex: 1 1 calc(50% - 5px);
    min-width: 0;
  }
  .template-home .kiki-bf-hero .f-slide__button .f-button {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    padding: 9px 12px;
    font-size: 11px;
  }
  .template-home .kiki-bf-hero .f-slider-controls {
    position: absolute;
    inset: auto 16px 10px;
    margin: 0;
  }
  .template-home .kiki-bf-hero .f-slider-controls__wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
  }
  .template-home .kiki-bf-hero .f-slider-controls__button {
    position: static !important;
    transform: none !important;
    flex: 0 0 44px;
    width: 44px !important;
    height: 44px !important;
  }
  .template-home .kiki-bf-hero .swiper-pagination {
    position: static !important;
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-width: 0;
    margin: 0;
    transform: none !important;
  }
  .template-home .kiki-bf-hero .swiper-pagination-bullet {
    margin: 0 !important;
  }
  .template-home .kiki-bf-categories.f-collection-list {
    margin-top: 0 !important;
  }
  .template-home .kiki-bf-favorites .f-his__header {
    padding-inline: 18px;
  }
  .template-home #kiki-bf-codes,
  .template-home .kiki-bf-categories {
    scroll-margin-top: 96px;
  }
}

@media (max-width: 379px) {
  .template-home .kiki-bf-hero .f-slide__wrapper {
    padding: 12px 16px 60px !important;
  }
  .template-home .kiki-bf-hero [data-slide="0"] .f-slide__title {
    font-size: 44px;
  }
  .template-home .kiki-bf-hero .f-slide__description {
    font-size: 12px;
  }
  .template-home .kiki-bf-hero .f-slide__button .f-button {
    padding-inline: 9px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .template-home .kiki-bf-strip__track {
    animation: none;
    transform: none;
    width: 100%;
  }
  .template-home .kiki-bf-strip__group {
    width: 100%;
    min-width: 0;
    justify-content: center;
    padding-inline: 12px;
  }
  .template-home .kiki-bf-strip__group + .kiki-bf-strip__group,
  .template-home .kiki-bf-strip__item + .kiki-bf-strip__item {
    display: none;
  }
  .template-home .kiki-bf-hero .f-slide__content,
  .template-home .kiki-bf-hero .f-slide__subtitle,
  .template-home .kiki-bf-hero .f-slide__title,
  .template-home .kiki-bf-hero .f-slide__description,
  .template-home .kiki-bf-hero .f-slide__button,
  .template-home .kiki-bf-hero .f-slide__button .f-button,
  .template-home .kiki-bf-hero .f-slider-controls__button {
    animation: none !important;
    transition: none !important;
  }
}
