/* Kozy Haven v1 brand layer: warm modern lodge.
 * Loaded after page-specific and polish styles so branding remains isolated
 * from Guesty/search/payment behavior.
 */
:root{
  --kh-brand-green:#1f4338;
  --kh-brand-green-deep:#17342c;
  --kh-brand-green-soft:#e7efeb;
  --kh-brand-cream:#f8f5ef;
  --kh-brand-stone:#eee7dc;
  --kh-brand-sand:#d9cab5;
  --kh-brand-clay:#a66f49;
  --kh-brand-ink:#242824;
  --kh-brand-muted:#686d67;
  --kh-brand-white:#fff;
  --kh-brand-display:ui-serif,Georgia,Cambria,"Times New Roman",serif;
  --kh-brand-body:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --kh-brand-shadow:0 14px 38px rgba(23,52,44,.10);
  --kh-brand-shadow-soft:0 7px 22px rgba(23,52,44,.07);
}

/* Brand lockup. */
.kh-brand-lockup{display:inline-flex;align-items:center;gap:10px;min-width:0;color:currentColor}
.kh-brand-mark{position:relative;display:block;flex:0 0 44px;width:44px;height:44px}
.kh-brand-logo{display:block;width:100%;height:100%;object-fit:contain}
.kh-brand-logo--adaptive{position:absolute;inset:0;filter:brightness(0) invert(1);transition:filter .18s ease}
.kh-brand-wordmark{font-family:var(--kh-brand-display);font-size:19px;font-weight:700;line-height:1;letter-spacing:-.025em;white-space:nowrap}
.kh-home-header.is-scrolled .kh-brand-logo--adaptive,
.kh-home-header.is-menu-open .kh-brand-logo--adaptive,
.kh-site-header.is-scrolled .kh-brand-logo--adaptive,
.kh-site.is-menu-open .kh-brand-logo--adaptive{filter:none}
.kh-brand-lockup--footer{color:#fff}.kh-brand-lockup--footer .kh-brand-logo{filter:brightness(0) invert(1)}.kh-brand-lockup--footer .kh-brand-mark{width:48px;height:48px;flex-basis:48px}.kh-brand-lockup--footer .kh-brand-wordmark{font-size:22px}

/* Global type and color family. */
.kh-home,.kh-site,.kh-booking,.kh-cabin-page,.kh-checkout{font-family:var(--kh-brand-body);color:var(--kh-brand-ink)}
.kh-home h1,.kh-home h2,.kh-home h3,
.kh-site h1,.kh-site h2,.kh-site h3,
.kh-booking__title,
.kh-cabin-page h1,.kh-cabin-page h2,.kh-cabin-page h3,
.kh-checkout h1,.kh-checkout h2,.kh-checkout h3,
.kh-confirmation__card h1{font-family:var(--kh-brand-display);font-weight:700;letter-spacing:-.03em}
.kh-home{--kh-home-ink:var(--kh-brand-ink);--kh-home-muted:var(--kh-brand-muted);--kh-home-cream:var(--kh-brand-cream);--kh-home-soft:#f1f4f1;--kh-home-green:var(--kh-brand-green);--kh-home-green-2:#31594b;--kh-home-line:rgba(31,67,56,.14)}
.kh-site{--kh-font-body:var(--kh-brand-body);--kh-font-heading:var(--kh-brand-display);--kh-ink:var(--kh-brand-ink);--kh-muted:var(--kh-brand-muted);--kh-border:#e4ddd2;--kh-paper:var(--kh-brand-cream);--kh-warm:var(--kh-brand-stone);--kh-deep:var(--kh-brand-green);--kh-deep-2:var(--kh-brand-green-deep)}
.kh-booking,.kh-cabin-page,.kh-checkout{--kh-font-body:var(--kh-brand-body);--kh-font-heading:var(--kh-brand-display);--kh-color-text:var(--kh-brand-ink);--kh-color-muted:var(--kh-brand-muted);--kh-color-line:#ded8ce;--kh-color-soft:#f4f1eb;--kh-color-range:#e5eee9;--kh-color-accent:var(--kh-brand-green);--kh-color-accent-hover:var(--kh-brand-green-deep)}

/* Header/logo behavior. */
.kh-home-header__inner,.kh-site-header__inner{gap:22px}
.kh-home-brand,.kh-site-brand{font-weight:inherit}
.kh-home-header.is-scrolled,.kh-home-header.is-menu-open,.kh-site-header.is-scrolled,.kh-site.is-menu-open .kh-site-header{background:rgba(248,245,239,.97)}
.kh-home-header__book,.kh-site-header__book{font-family:var(--kh-brand-body);font-weight:750}
.kh-home-header.is-scrolled .kh-home-header__book,.kh-home-header.is-menu-open .kh-home-header__book,
.kh-site-header.is-scrolled .kh-site-header__book,.kh-site.is-menu-open .kh-site-header__book{background:var(--kh-brand-green);color:#fff!important}
.kh-home-nav,.kh-site-nav{letter-spacing:.005em}

/* Hero and large storytelling surfaces. */
.kh-home-hero__shade{background:linear-gradient(180deg,rgba(12,28,23,.30) 0%,rgba(12,28,23,.12) 30%,rgba(12,28,23,.74) 100%)}
.kh-home-hero h1{font-family:var(--kh-brand-display);font-weight:700;letter-spacing:-.045em;text-wrap:balance}
.kh-home-hero__copy>p:last-child{color:rgba(255,255,255,.91)}
.kh-home-eyebrow,.kh-site-eyebrow,.kh-site-kicker{letter-spacing:.16em}
.kh-site-hero{background-color:var(--kh-brand-green)}
/* Fix the old centered max-width shell so hero copy shares the body left edge. */
.kh-site-hero__content{max-width:none}
.kh-site-hero h1,.kh-site-hero p:last-child{max-width:830px}

/* Section rhythm/backgrounds. */
.kh-home,.kh-site{background:var(--kh-brand-cream)}
.kh-home-cabins,.kh-home-area,.kh-home-reviews{background:var(--kh-brand-cream)}
.kh-home-features{background:#fff}
.kh-site-section:nth-of-type(even){background:rgba(255,255,255,.55)}

/* Property and content cards. */
.kh-home-cabin-card,.kh-site-property-card,.kh-result,.kh-cabin-booking,.kh-checkout__section,.kh-checkout__summary,
.kh-site-destination-card,.kh-site-local-card,.kh-site-values article,.kh-site-contact-card,.kh-attraction-card,.kh-itinerary-card,.kh-policy-item{
  border-color:#e2dbd0;
  box-shadow:var(--kh-brand-shadow-soft);
}
.kh-home-cabin-card,.kh-site-property-card,.kh-result{background:#fff}
.kh-home-cabin-card__body h3,.kh-site-property-card h3,.kh-result__title{font-family:var(--kh-brand-display);font-weight:700}
.kh-home-cabin-card__badge{background:rgba(248,245,239,.94);color:var(--kh-brand-green);border:1px solid rgba(31,67,56,.10)}
.kh-home-feature__mark{color:var(--kh-brand-clay)}

/* Buttons: strong lodge green, restrained rounding. */
.kh-home-button,.kh-site-button,.kh-booking__submit,.kh-result__cta,.kh-cabin-booking__button,.kh-cabin-quote__checkout,.kh-checkout__continue,.kh-checkout__complete,.kh-checkout__primary-link{
  background:var(--kh-brand-green)!important;
  border-color:var(--kh-brand-green)!important;
  color:#fff!important;
  border-radius:12px!important;
  box-shadow:none;
  transition:background .16s ease,transform .16s ease,box-shadow .16s ease;
}
@media(hover:hover){
  .kh-home-button:hover,.kh-site-button:hover,.kh-booking__submit:hover,.kh-result__cta:hover,.kh-cabin-booking__button:hover,.kh-cabin-quote__checkout:hover,.kh-checkout__continue:hover,.kh-checkout__complete:hover,.kh-checkout__primary-link:hover{
    background:var(--kh-brand-green-deep)!important;border-color:var(--kh-brand-green-deep)!important;box-shadow:0 8px 20px rgba(23,52,44,.16)
  }
}
.kh-home-button--light,.kh-site-band .kh-site-button{background:#fff!important;color:var(--kh-brand-green)!important;border-color:#fff!important}
.kh-home-text-link,.kh-site-text-link,.kh-home-cabin-card__cta,.kh-site-property-card__body>a{color:var(--kh-brand-green)}

/* Booking/search. */
.kh-booking__form{border-color:#ded8ce;box-shadow:0 12px 34px rgba(31,67,56,.12)}
.kh-booking__icon{color:var(--kh-brand-green)}
.kh-calendar{box-shadow:0 24px 70px rgba(23,52,44,.20)}
.kh-calendar__day.is-selected,.kh-calendar__day.is-start,.kh-calendar__day.is-end{background:var(--kh-brand-green);color:#fff}
.kh-calendar__day.is-in-range{background:var(--kh-brand-green-soft)}

/* Cabin detail. */
.kh-cabin-heading h1{font-family:var(--kh-brand-display);font-weight:700;color:var(--kh-brand-ink)}
.kh-cabin-gallery{background:var(--kh-brand-stone)}
.kh-cabin-booking{box-shadow:var(--kh-brand-shadow)}
.kh-cabin-booking__eyebrow,.kh-cabin-quote__eyebrow{color:var(--kh-brand-green)}
.kh-cabin__amenities li{background:rgba(255,255,255,.62)}

/* Checkout and confirmation. */
.kh-checkout__step,.kh-confirmation__check{background:var(--kh-brand-green)}
.kh-checkout__summary{box-shadow:var(--kh-brand-shadow)}
.kh-checkout__guest-form input:focus{border-color:var(--kh-brand-green);box-shadow:0 0 0 3px rgba(31,67,56,.12)}
.kh-confirmation__card{background:#fff}

/* Footer. */
.kh-home-footer,.kh-site-footer{background:var(--kh-brand-green-deep);color:#fff}
.kh-home-footer__brand,.kh-site-footer__brand{display:grid;gap:5px}
.kh-home-footer__brand p,.kh-site-footer__brand p{margin:2px 0 0;color:rgba(255,255,255,.66)}
.kh-home-footer nav a,.kh-site-footer nav a{color:rgba(255,255,255,.80)}

@media(max-width:700px){
  .kh-brand-mark{width:38px;height:38px;flex-basis:38px}
  .kh-brand-wordmark{font-size:17px}
  .kh-brand-lockup--footer .kh-brand-mark{width:44px;height:44px;flex-basis:44px}
  .kh-brand-lockup--footer .kh-brand-wordmark{font-size:20px}
  .kh-home-header__inner,.kh-site-header__inner{gap:10px}
  .kh-home-hero h1,.kh-site-hero h1{letter-spacing:-.04em}
}

@media(max-width:390px){
  .kh-brand-wordmark{font-size:16px}
}

@media(prefers-reduced-motion:reduce){
  .kh-brand-logo--adaptive{transition:none}
}
