:root{
  --kw-gold: #c98b2b;
  --kw-gold-dark: #b87308;
  --kw-navy: #102033;
  --kw-text: #52606b;
  --kw-muted: #6e7a84;
  --kw-border: #e9e3da;
  --kw-surface: #fff;
  --kw-soft: #f8f6f2;
  --kw-container: 1320px;
  --kw-admin-bar-height: 0px;
  --kw-heading-font: "Marcellus", Georgia, serif;
  --kw-body-font: "Manrope", Arial, sans-serif;
  --kw-script-font: "Great Vibes", cursive;
  --kw-body-size: 15px;
  --kw-heading-weight: 500;
  --kw-inner-nav-bg: rgba(248, 245, 238, 0.95);
  --kw-line: #e8e1d7;
  --kw-ivory: #f8f5ef;
  --kw-shadow: 0 18px 50px rgba(13, 34, 53, 0.1);
  --kw-section-space: clamp(72px, 7vw, 104px);
  --kw-section-space-compact: clamp(48px, 5vw, 72px);
}

*,
*::before,
*::after{
  box-sizing: border-box;
}

html{
  overflow-x: clip;
  scroll-behavior: smooth;
}

body{
  margin: 0;
  padding: 0 !important;
  overflow-x: clip;
  background: var(--kw-surface);
  color: var(--kw-text);
  font: var(--kw-body-size)/1.7 var(--kw-body-font);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body.admin-bar{
  --kw-admin-bar-height: 32px;
}

a{
  color: inherit;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

img{
  display: block;
  max-width: 100%;
  height: auto;
}

button,
input,
select,
textarea{
  font: inherit;
}

button{
  -webkit-tap-highlight-color: transparent;
}

/* =========================================================
   GLOBAL 1320 PX CONTAINER
   ========================================================= */

.kw-container,
.kw-global-header-inner{
  width: min(var(--kw-container), calc(100% - 64px));
  max-width: var(--kw-container);
  margin-inline: auto;
}

/* =========================================================
   SHARED ACTION
   ========================================================= */

.kw-section-action{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 16px;
  border: 1px solid var(--kw-gold);
  border-radius: 8px;
  background: #fff;
  color: var(--kw-gold-dark) !important;
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease;
}

.kw-section-action:hover{
  background: var(--kw-gold);
  color: #fff !important;
}

/* =========================================================
   PAGE BEHAVIOUR
   ========================================================= */

main > section:not(.kw-page-hero):not(.kw-tour-hero),
.kw-tour-section{
  scroll-margin-top: 110px;
}

body.single-kw_tour,
body.single-kw_destination,
body.single-kw_tour #page,
body.single-kw_destination #page,
body.single-kw_tour .site,
body.single-kw_destination .site,
body.single-kw_tour .site-content,
body.single-kw_destination .site-content,
body.single-kw_tour main.kw-tour-single{
  overflow: visible !important;
  overflow-x: clip !important;
  transform: none !important;
  filter: none !important;
  contain: none !important;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 782px) {
  body.admin-bar{
    --kw-admin-bar-height: 46px;
  }
}

@media (max-width: 560px) {
  :root{
    --kw-section-space: 64px;
    --kw-section-space-compact: 44px;
  }

  .kw-container{
    width: calc(100% - 28px);
  }
}

/* =========================================================
   ACCESSIBILITY / PERFORMANCE
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
  html{
    scroll-behavior: auto;
  }

  *,
*::before,
*::after{
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@supports (content-visibility: auto) {
  body:not(.wp-admin) main > section:not(:first-child),
body:not(.wp-admin) .kw-tour-single > section:not(:first-child){
    content-visibility: auto;
    contain-intrinsic-size: auto 760px;
  }
}