:root {
  color-scheme: dark;
  --kenzo-page: #0e1317;
  --kenzo-surface: #090c0f;
  --kenzo-surface-soft: #151b21;
  --kenzo-text: #ffffff;
  --kenzo-muted: #bdc1c7;
  --kenzo-border: rgba(255, 255, 255, 0.12);
  --kenzo-shadow: rgba(0, 0, 0, 0.3);
  --kenzo-shadow-soft: 0 8px 26px rgba(0, 0, 0, 0.18);
  --kenzo-shadow-raised: 0 18px 46px rgba(0, 0, 0, 0.28);
}

/* Shape tokens are shared by both themes to prevent layout shifts. */
.kf-main-menu ul li ul {
  border-radius: 10px;
  overflow: hidden;
}

:where(.kf-reservation-form, .kf-menu-items-2, .kf-menu-empty-state) {
  border-radius: 14px;
}

:where(
  .kf-services-item-2,
  .kf-numbers-item-2,
  .kf-contacts-item,
  .kf-testimonials-carousel .slide-item
) {
  border-radius: 14px;
}

.kf-numbers-item-2 .icon {
  border-radius: 10px;
}

/* Service cards keep the same layout in both themes. */
.kf-numbers-item-2 {
  min-height: 250px;
  padding: 28px;
  color: var(--kenzo-text);
  background: var(--kenzo-surface);
  border: 1px solid var(--kenzo-border);
  border-radius: 14px;
  box-shadow: var(--kenzo-shadow-soft);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.kf-numbers-item-2:hover {
  transform: translateY(-3px);
  box-shadow: var(--kenzo-shadow-raised);
}

.kf-numbers-item-2 .icon {
  border: 1px solid var(--kenzo-border);
}

.kf-category-item .image {
  border-radius: 12px;
}

.kf-category-item .image img,
.kf-category-item .image::before {
  border-radius: inherit;
}

.kf-choose-image,
.kf-choose-image img {
  border-radius: 16px;
}

.kf-choose-image {
  overflow: hidden;
}

:where(.swal2-popup, .kf-menu-image-modal) {
  border-radius: 14px !important;
}

html[data-theme="light"] {
  color-scheme: light;
  --kenzo-page: #f7f5f2;
  --kenzo-surface: #fffdfa;
  --kenzo-surface-soft: #efebe5;
  --kenzo-text: #27231f;
  --kenzo-muted: #706961;
  --kenzo-border: #ded8d0;
  --kenzo-shadow: rgba(55, 45, 36, 0.09);
  --kenzo-shadow-soft: 0 8px 26px rgba(55, 45, 36, 0.07);
  --kenzo-shadow-raised: 0 18px 46px rgba(55, 45, 36, 0.11);
}

html[data-theme="light"] body,
html[data-theme="light"] .bg,
html[data-theme="light"] .wrapper,
html[data-theme="light"]
  .section:not(.kf-started):not(.kf-started-slider):not(.kf-started-inner):not(
    .kf-cta
  ) {
  color: var(--kenzo-text);
  background-color: var(--kenzo-page);
}

html[data-theme="light"] .kf-header,
html[data-theme="light"] .kf-navbar-mobile {
  color: var(--kenzo-text);
  background: rgba(255, 253, 250, 0.94) !important;
  border-color: var(--kenzo-border) !important;
  box-shadow: 0 7px 28px rgba(55, 45, 36, 0.08);
}

html[data-theme="light"] .kf-header .kf-navbar,
html[data-theme="light"] .kf-navbar-mobile {
  backdrop-filter: blur(14px);
}

html[data-theme="light"] .kf-main-menu > ul > li > a,
html[data-theme="light"] .kf-navbar-mobile .kf-main-menu > ul > li > a,
html[data-theme="light"] .kf-navbar-mobile .kf-main-menu > ul > li > i {
  color: var(--kenzo-text) !important;
}

html[data-theme="light"] .kf-main-menu ul li ul {
  color: var(--kenzo-text);
  background: var(--kenzo-surface) !important;
  border: 1px solid var(--kenzo-border);
  border-radius: 10px;
  box-shadow: var(--kenzo-shadow-raised);
}

html[data-theme="light"] .kf-main-menu ul li ul li a {
  color: var(--kenzo-text) !important;
}

html[data-theme="light"]
  .wrapper
  :where(
    .kf-title,
    .kf-text,
    .text,
    .name,
    .subname,
    .desc,
    .description,
    .kf-choose-list li .name,
    .kf-numbers-item-2 .name,
    .kf-numbers-item-2 .subname,
    .kf-contacts-item .name,
    .kf-contacts-item .desc
  ) {
  color: var(--kenzo-text) !important;
}

html[data-theme="light"] .wrapper :where(p, li) {
  color: var(--kenzo-muted);
}

html[data-theme="light"]
  .wrapper
  .section:not(.kf-started):not(.kf-started-slider):not(.kf-started-inner):not(
    .kf-cta
  )
  :where(h1, h2, h3, h4, h5, h6, p, a, li, label) {
  color: var(--kenzo-text) !important;
}

html[data-theme="light"]
  :where(
    .section-bg,
    .kf-choose,
    .kf-category,
    .kf-contacts-info,
    .kf-contacts-form
  ) {
  background-color: var(--kenzo-surface-soft) !important;
}

html[data-theme="light"] .kf-subtitle,
html[data-theme="light"] .price,
html[data-theme="light"] .price span {
  color: #c51c1c !important;
}

html[data-theme="light"]
  .wrapper
  .section
  :where(.subname, .kf-text p, .kf-copyright) {
  color: var(--kenzo-muted) !important;
}

html[data-theme="light"]
  :where(
    .kf-reservation-form,
    .kf-menu-items-2,
    .kf-services-item-2,
    .kf-numbers-item-2,
    .kf-contacts-item,
    .kf-testimonials-carousel .slide-item,
    .kf-menu-empty-state,
    .content-sidebar .widget,
    .block-quote,
    blockquote
  ) {
  color: var(--kenzo-text) !important;
  background: var(--kenzo-surface) !important;
  border-color: var(--kenzo-border) !important;
  box-shadow: var(--kenzo-shadow-soft);
}

html[data-theme="light"]
  :where(.kf-reservation-form, .kf-menu-items-2, .kf-menu-empty-state) {
  border: 1px solid var(--kenzo-border) !important;
  border-radius: 14px;
  box-shadow: var(--kenzo-shadow-raised);
}

html[data-theme="light"] .kf-numbers-item-2 {
  border-color: var(--kenzo-border);
}

html[data-theme="light"] .kf-numbers-item-2:hover {
  border-color: #cec5ba !important;
}

html[data-theme="light"] .kf-numbers-item-2 .icon {
  color: #c51c1c;
  background: #f5eee8 !important;
  border: 1px solid #eadbd0;
  box-shadow: none;
}

html[data-theme="light"] .kf-menu-item-2,
html[data-theme="light"] .kf-copyright {
  border-color: var(--kenzo-border) !important;
}

html[data-theme="light"] .kf-menu-item-2 .name,
html[data-theme="light"] .kf-menu-item-2 .price span {
  background: var(--kenzo-surface) !important;
}

html[data-theme="light"] .kf-menu-item-2 .image {
  background: linear-gradient(145deg, #fffdfa, #ebe6df) !important;
  border-color: var(--kenzo-border) !important;
  box-shadow: 0 8px 20px rgba(55, 45, 36, 0.1) !important;
}

html[data-theme="light"] .kf-reservation-form :where(input, select, textarea) {
  color: var(--kenzo-text) !important;
  background-color: var(--kenzo-surface) !important;
  border-color: #d5cec5 !important;
  caret-color: var(--kenzo-text);
}

html[data-theme="light"] .kf-reservation-form select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23514a43' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 20px center !important;
  background-size: 12px 8px !important;
}

html[data-theme="light"]
  .kf-reservation-form
  :where(input, textarea)::placeholder {
  color: #817970 !important;
  opacity: 1;
}

html[data-theme="light"] .kf-reservation-form select option {
  color: var(--kenzo-text) !important;
  background: var(--kenzo-surface) !important;
}

html[data-theme="light"] .kf-reservation-form .kf-field i {
  color: #746c63 !important;
}

html[data-theme="light"] .kf-reservation-form input:-webkit-autofill,
html[data-theme="light"] .kf-reservation-form input:-webkit-autofill:hover,
html[data-theme="light"] .kf-reservation-form input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--kenzo-text) !important;
  -webkit-box-shadow: 0 0 0 1000px var(--kenzo-surface) inset !important;
  box-shadow: 0 0 0 1000px var(--kenzo-surface) inset !important;
}

html[data-theme="light"] .kf-footer {
  color: var(--kenzo-text) !important;
  background: #ebe7e1 !important;
  border-top: 1px solid var(--kenzo-border);
}

html[data-theme="light"]
  .kf-footer
  :where(h1, h2, h3, h4, h5, h6, p, span, a, li, .name, .desc) {
  color: var(--kenzo-text) !important;
}

html[data-theme="light"] .kf-footer .kf-footer-heading,
html[data-theme="light"] .kf-footer .kf-f-contact ul li em {
  color: var(--kenzo-text-strong) !important;
}

html[data-theme="light"] .kf-theme-toggle {
  color: var(--kenzo-text) !important;
  background: var(--kenzo-surface-soft) !important;
  border-color: var(--kenzo-border) !important;
}

html[data-theme="light"] .kf-logo img {
  filter: invert(1);
}

html[data-theme="light"] .kf-menu-btn span,
html[data-theme="light"] .kf-menu-btn span::before,
html[data-theme="light"] .kf-menu-btn span::after {
  background: var(--kenzo-text) !important;
}

html[data-theme="light"] .swal2-popup,
html[data-theme="light"] .kf-menu-image-modal {
  color: var(--kenzo-text) !important;
  background: var(--kenzo-surface) !important;
  border-color: var(--kenzo-border) !important;
  box-shadow: var(--kenzo-shadow-raised) !important;
}

html[data-theme="light"]
  .swal2-popup
  :where(.swal2-title, .swal2-html-container, p, span),
html[data-theme="light"] .kf-menu-image-modal :where(.modal-title, .btn-close) {
  color: var(--kenzo-text) !important;
}

html[data-theme="light"] .kf-menu-image-stage {
  background: var(--kenzo-surface) !important;
  border-color: var(--kenzo-border) !important;
}

html[data-theme="light"] .kf-menu-image-close {
  color: var(--kenzo-text) !important;
  border-color: var(--kenzo-border) !important;
}

/* Text placed over photography must remain white in both themes. */
html[data-theme="light"]
  :where(
    .kf-started,
    .kf-started-slider,
    .kf-started-inner,
    .kf-cta,
    .kf-category-item,
    .kf-video-item
  )
  :where(
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    p,
    span,
    a,
    .name,
    .desc,
    .kf-title,
    .kf-subtitle,
    .kf-h-title
  ) {
  color: #fff !important;
}

html[data-theme="light"] .kf-btn,
html[data-theme="light"] .kf-btn span {
  color: #fff !important;
}

html[data-theme="light"] .kf-btn::before,
html[data-theme="light"] a.kf-btn::before {
  background: #27231f !important;
}

html[data-theme="light"] .kf-btn:hover,
html[data-theme="light"] .kf-btn:hover span,
html[data-theme="light"] .kf-btn:hover i {
  color: #fff !important;
}

/* Keep photographic areas legible without the heavy black veil of the dark theme. */
html[data-theme="light"] .kf-started-item .slide::before {
  background: transparent !important;
  opacity: 0 !important;
}

html[data-theme="light"] .kf-started-slider .kf-started-item .slide::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    rgba(13, 15, 17, 0.42),
    rgba(13, 15, 17, 0.62)
  );
}

html[data-theme="light"] .kf-started-slider .kf-started-item .container {
  position: relative;
  z-index: 3;
}

html[data-theme="light"] body .kf-started-slider .description,
html[data-theme="light"] body .kf-started-slider .description .name,
html[data-theme="light"] body .kf-started-slider .description .subtitles,
html[data-theme="light"] body .kf-started-slider .text-anim-1 .word {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  text-shadow: 0 3px 18px rgba(0, 0, 0, 0.38);
}

html[data-theme="light"] .section.kf-started-inner::before {
  background: linear-gradient(
    180deg,
    rgba(18, 20, 22, 0.5),
    rgba(18, 20, 22, 0.62)
  ) !important;
  opacity: 1 !important;
}

html[data-theme="light"] .section.kf-started-inner .kf-parallax-bg {
  background-color: transparent !important;
}

html[data-theme="light"] .section.kf-started-inner .kf-parallax-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(12, 14, 16, 0.4),
    rgba(12, 14, 16, 0.62)
  );
}

html[data-theme="light"] body .section.kf-started-inner .container {
  position: relative;
  z-index: 3;
}

html[data-theme="light"] body .section.kf-started-inner .kf-h-title {
  position: relative;
  z-index: 4;
  color: #fff !important;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.42);
}

html[data-theme="light"] .section.kf-cta::before {
  background: linear-gradient(
    135deg,
    rgba(255, 253, 250, 0.98),
    rgba(239, 233, 225, 0.96)
  ) !important;
  opacity: 1 !important;
}

html[data-theme="light"] body .section.kf-cta .kf-title {
  color: var(--kenzo-text-strong) !important;
  text-shadow: none;
}

html[data-theme="light"] body .section.kf-cta .kf-subtitle {
  color: #c51c1c !important;
  text-shadow: none;
}

html[data-theme="light"] .section.kf-cta {
  border-top: 1px solid var(--kenzo-border);
  border-bottom: 1px solid var(--kenzo-border);
}

html[data-theme="light"] .kf-category-item .image::before,
html[data-theme="light"] .kf-services-item .image::before,
html[data-theme="light"] .kf-blog-grid-item .image::before,
html[data-theme="light"] .section.kf-insta-carousel .slide-item .image::before {
  background: rgba(24, 22, 20, 0.42) !important;
}

html[data-theme="light"] .kf-category-item .image {
  border-radius: 12px;
  box-shadow: var(--kenzo-shadow-soft);
}

html[data-theme="light"] .wrapper .kf-category-item:hover .desc .name {
  color: #fff !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.55);
}

html[data-theme="light"] .kf-choose-image img {
  border-radius: 16px;
  box-shadow: var(--kenzo-shadow-raised);
}

html[data-theme="light"] .preloader::before {
  background: var(--kenzo-surface) !important;
}

html[data-theme="light"] .preloader .spinner-logo img {
  filter: invert(1);
}

html[data-theme="light"] .preloader .spinner-dot {
  background: #d8d1c8 !important;
}

html[data-theme="light"] .kf-header.fixed .kf-navbar {
  background: rgba(255, 253, 250, 0.96) !important;
  box-shadow: 0 7px 28px rgba(55, 45, 36, 0.08);
  backdrop-filter: blur(14px);
}

html[data-theme="light"] .kf-navbar.inner-navbar::before,
html[data-theme="light"] .kf-header.fixed .kf-navbar::before {
  background: var(--kenzo-border) !important;
}

html[data-theme="light"]
  .kf-reservation-form
  :where(input, select, textarea):hover {
  border-color: #bcb2a7 !important;
}

html[data-theme="light"]
  .kf-reservation-form
  :where(input, select, textarea):focus {
  border-color: #c51c1c !important;
  box-shadow: 0 0 0 3px rgba(197, 28, 28, 0.1) !important;
}

html[data-theme="light"] .kf-main-menu ul li ul li:hover {
  background: #f3efe9;
}

html[data-theme="light"] .kf-menu-items-2 > h2::after {
  background: linear-gradient(
    to left,
    #c51c1c 0,
    #c51c1c 48px,
    rgba(39, 35, 31, 0.16) 48px,
    transparent 100%
  );
}

@media screen and (max-width: 767px) {
  html[data-theme="light"] .kf-navbar-mobile {
    border-top: 1px solid var(--kenzo-border);
  }
}

@media screen and (max-width: 1024px) {
  html[data-theme="light"] .kf-header .kf-navbar {
    background: rgba(255, 253, 250, 0.96) !important;
    border-bottom: 1px solid var(--kenzo-border);
    box-shadow: 0 7px 28px rgba(55, 45, 36, 0.08);
    backdrop-filter: blur(14px);
  }

  html[data-theme="light"] .kf-header .kf-menu-btn {
    color: #27231f;
    background: #f8f4ef;
    border-color: #d8d0c7;
  }

  html[data-theme="light"] .kf-header .kf-menu-btn span,
  html[data-theme="light"] .kf-header .kf-menu-btn span::before,
  html[data-theme="light"] .kf-header .kf-menu-btn span::after {
    background-color: currentColor !important;
  }

  html[data-theme="light"] .kf-header .kf-menu-btn.active span {
    background-color: transparent !important;
  }

  html[data-theme="light"] .kf-navbar-mobile {
    background: var(--kenzo-surface) !important;
    border-top: 1px solid var(--kenzo-border);
  }

  html[data-theme="light"] .kf-navbar-mobile .kf-main-menu > ul > li {
    border-bottom-color: var(--kenzo-border);
  }

  html[data-theme="light"] .kf-navbar-mobile .kf-main-menu > ul > li > a,
  html[data-theme="light"] .kf-navbar-mobile .kf-mobile-submenu-trigger {
    color: var(--kenzo-text-strong) !important;
  }

  html[data-theme="light"] .kf-navbar-mobile .kf-main-menu ul li ul {
    background: var(--kenzo-soft-bg);
  }

  html[data-theme="light"] .kf-navbar-mobile .kf-main-menu ul li ul li a {
    color: var(--kenzo-text) !important;
  }
}
