/* Scoped KunKin components; follows Traveler's existing brand colour. */
.kks-ui,.kks-button,.kks-mobile-bar,.kks-contact-panel{--kks-ink:var(--heading-color,#232323);--kks-muted:var(--grey-color,#5e6d77);--kks-accent:var(--main-color,#f09220);--kks-paper:#fafafa;--kks-line:var(--light-grey-color,#eaEEF3);--kks-radius:16px;--kks-link:var(--link-color,var(--main-color,#f09220));--kks-shadow:0 8px 28px rgb(35 35 35 / 6%);font-family:var(--kks-site-font,var(--bs-body-font-family,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif));font-size:16px;line-height:1.625;color:var(--kks-ink);white-space:normal}
.kks-ui,.kks-ui *,.kks-button,.kks-mobile-bar,.kks-mobile-bar *,.kks-contact-panel,.kks-contact-panel *{box-sizing:border-box}
.kks-block{width:100%;max-width:1180px;margin:48px auto;padding:clamp(24px,4vw,40px);border-radius:var(--kks-radius)}
.kks-ui h2,.kks-ui h3,.kks-ui h4{font-family:inherit;font-weight:700;color:var(--kks-ink);line-height:1.4;letter-spacing:normal;overflow-wrap:anywhere}
.kks-ui h2{font-size:clamp(28px,3.2vw,40px);margin:0 0 18px}
.kks-ui h3{font-size:24px;margin:0 0 14px}
.kks-ui h4{font-size:20px;margin:0 0 12px}
.kks-ui p{margin:0 0 18px}
.kks-ui a:not(.kks-button){color:var(--kks-link);text-underline-offset:4px}
.kks-ui a:not(.kks-button):hover{text-decoration:underline}
.kks-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;min-width:0}
.kks-card{border:1px solid var(--kks-line);border-radius:var(--kks-radius);padding:28px;background:#fff;min-width:0;box-shadow:var(--kks-shadow)}
.kks-ui [hidden]{display:none!important}
.kks-property-grid{align-items:stretch}
.kks-property-card{padding:0;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease}
.kks-property-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgb(35 35 35 / 10%)}
.kks-card-image{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--kks-paper);flex-shrink:0}
.kks-card-image img{display:block;width:100%;height:100%;max-width:100%;object-fit:cover;transition:transform .6s ease}
.kks-property-card:hover .kks-card-image img{transform:scale(1.035)}
.kks-card-placeholder{display:grid;place-items:center;color:#9b7c52;font-size:32px;letter-spacing:.06em;background:linear-gradient(135deg,#faf4e9,#ede5d6)}
.kks-card-body{padding:24px;display:flex;flex-direction:column;align-items:flex-start;flex:1;min-width:0}
.kks-ui .kks-card-body h3{font-size:18px;line-height:26px;margin-bottom:12px}
.kks-ui .kks-card-body h3 a{color:var(--kks-ink);text-decoration:none}
.kks-ui .kks-eyebrow{font-size:12px;font-weight:500;line-height:1.6;letter-spacing:normal;text-transform:uppercase;color:var(--kks-link);margin:0 0 12px}
.kks-property-tagline,.kks-property-address{font-size:14px;color:var(--kks-muted)}
.kks-ui .kks-property-address{font-size:13px;margin-bottom:24px}
.kks-card-body>.kks-button{margin-top:auto}
.kks-button,.kks-loyalty input[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:46px;max-width:100%;padding:12px 24px;background:var(--kks-accent);color:#fff!important;border:1px solid var(--kks-accent);border-radius:50px;text-decoration:none!important;font-family:var(--kks-site-font,var(--bs-body-font-family,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif));font-size:15px;line-height:20px;letter-spacing:normal;font-weight:500;text-align:center;cursor:pointer;transition:box-shadow .2s ease,transform .2s ease}
.kks-button:hover,.kks-loyalty input[type=submit]:hover{background:var(--link-color-hover,var(--kks-accent));border-color:var(--link-color-hover,var(--kks-accent));box-shadow:0 5px 18px rgb(240 146 32 / 20%);transform:translateY(-1px);color:#fff!important}
.kks-button-outline{background:transparent;border-color:var(--kks-accent);color:var(--kks-accent)!important}
.kks-button-outline:hover{background:var(--kks-accent);color:#fff!important}
.kks-arrow{font-size:20px;font-weight:400;line-height:1}
.kks-button:disabled{opacity:.6;cursor:wait;transform:none}
.kks-booking{padding:0}
.kks-booking-intro{max-width:720px;margin:0 auto 28px;text-align:center}
.kks-booking-intro>p:not(.kks-eyebrow){color:var(--kks-muted);font-size:16px}
.kks-property-filters,.kks-region-filters{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:10px;margin:24px 0}
.kks-property-filters{justify-content:center;margin-bottom:32px}
.kks-property-filters button,.kks-region-filters button{min-height:44px;padding:10px 20px;border:1px solid var(--kks-line);border-radius:50px;background:#fff;color:var(--kks-ink);font:inherit;font-size:14px;line-height:1.5;cursor:pointer}
.kks-property-filters button:hover,.kks-region-filters button:hover{border-color:var(--kks-ink)}
.kks-property-filters [aria-pressed=true],.kks-region-filters [aria-pressed=true]{background:var(--kks-accent);color:#fff;border-color:var(--kks-accent)}
.kks-ui .kks-booking-note{text-align:center;color:var(--kks-muted);font-size:13px;margin:28px 0 0}
.kks-newsletter,.kks-enquiry,.kks-quiz{background:var(--kks-paper);border:1px solid var(--kks-line)}
.kks-form,.kks-quiz-form{display:grid;gap:18px;max-width:680px;margin-top:24px}
.kks-form label,.kks-quiz-form label{display:grid;gap:8px;margin:0;font-size:14px;font-weight:500;line-height:1.6;min-width:0;color:var(--kks-ink)}
.kks-form input:not([type=checkbox]):not([type=hidden]),.kks-form select,.kks-form textarea,.kks-quiz-form select{width:100%;max-width:100%;min-width:0;box-sizing:border-box;border:1px solid #b7b3ad;border-radius:10px;padding:12px 14px;font-family:inherit;font-size:16px;font-weight:400;line-height:1.5;color:var(--kks-ink);background:#fff;min-height:48px;box-shadow:none}
.kks-form select,.kks-quiz-form select{padding-right:32px}
.kks-form textarea{resize:vertical;min-height:120px}
.kks-form input[type=file]{overflow-wrap:anywhere;padding:10px}
.kks-form input[type=file]::file-selector-button{background:#f3f1ee;border:0;border-radius:5px;margin-right:10px;padding:7px 12px;color:var(--kks-ink);font:inherit;cursor:pointer}
.kks-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.kks-form .kks-check{display:flex;align-items:flex-start;gap:10px;line-height:1.7;font-size:13px;font-weight:400}
.kks-check input{flex:0 0 auto;width:18px;height:18px;margin:3px 0 0;accent-color:var(--kks-accent)}
.kks-check span{min-width:0}
.kks-form>.kks-button,.kks-quiz-form>.kks-button{justify-self:start;min-width:160px}
.kks-ui .kks-form-note{font-size:13px;color:var(--kks-muted)}
.kks-ui .kks-form-status{min-height:1.5em;margin:0;font-size:14px;overflow-wrap:anywhere}
.kks-form-status.is-error{color:#a22323}
.kks-notice{padding:16px;border-left:3px solid var(--kks-accent,#f09220);background:var(--kks-paper,#fbf7f1);color:#232323;font-size:14px;overflow-wrap:anywhere}
.kks-honeypot{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.kks-careers>.kks-form{margin-top:32px}
.kks-member-card{position:relative;overflow:hidden;background:#232323;color:#fff;padding:32px;border-radius:20px;max-width:600px;border:1px solid #5b4b34;box-shadow:0 12px 32px rgb(35 35 35 / 12%)}
.kks-member-card::after{content:"";position:absolute;width:200px;height:200px;right:-90px;top:-90px;border-radius:50%;border:1px solid #b1844b;pointer-events:none}
.kks-ui .kks-member-card h3,.kks-ui .kks-member-card a{color:#fff}
.kks-ui .kks-member-brand{color:#f4b261;font-size:18px;font-weight:700;letter-spacing:.16em;margin-bottom:32px}
.kks-member-brand span{display:block;font-size:10px;letter-spacing:.3em;margin-top:3px}
.kks-tiers{display:flex;flex-wrap:wrap;gap:10px;padding:0;list-style:none;margin:24px 0 32px}
.kks-tiers li{border:1px solid var(--kks-line);padding:8px 18px;border-radius:50px;font-size:13px}
.kks-tiers [aria-current]{background:var(--kks-paper);border-color:#b1844b}
.kks-social{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;font-size:14px}
.kks-social a{padding:4px 0}
.kks-destinations article+article{border-top:1px solid var(--kks-line);margin-top:22px;padding-top:22px}
.kks-destinations article p{font-size:14px;color:var(--kks-muted)}
.kks-partners ul{padding-left:18px;margin:12px 0}
.kks-partners li{margin:10px 0}
.kks-quiz-result:not(:empty){margin-top:24px;padding:24px;background:#fff;border:1px solid var(--kks-line);border-radius:var(--kks-radius)}
.kks-mobile-bar{display:none}
.kks-contact-panel{position:fixed;right:20px;bottom:24px;z-index:9500;max-width:min(260px,calc(100vw - 32px));font-size:13px}
.kks-contact-panel summary{padding:13px 22px;background:var(--kks-accent);color:#fff;border:1px solid var(--kks-accent);border-radius:50px;cursor:pointer;box-shadow:0 4px 18px rgb(0 0 0 / 14%)}
.kks-contact-panel>div{display:grid;gap:2px;margin-top:8px;padding:10px;background:#fff;border:1px solid var(--kks-line);border-radius:14px;box-shadow:var(--kks-shadow)}
.kks-contact-panel a{padding:10px;color:var(--kks-ink);text-decoration:none;border-radius:7px}
.kks-contact-panel a:hover{background:var(--kks-paper)}
/* Consolidate known child-theme contact links only when Suite contact is enabled. */
body.kks-has-contact-panel .site-socials-wrapper,body.kks-has-contact-panel .site-socials-wrapper-mobile{display:none!important}
.kks-motion .kks-header{transition:background .25s,box-shadow .25s}
.kks-motion .kks-header.is-scrolled{background:#fff!important;box-shadow:0 2px 16px #0000000d}
.kks-motion .kks-reveal{transition:opacity .6s ease,transform .6s ease}
.kks-motion .kks-reveal.kks-waiting{opacity:0;transform:translateY(18px)}
.kks-motion .kks-hero-media{overflow:hidden}
.kks-motion .kks-hero-media img,.kks-motion .kks-hero-media video{animation:kks-drift 18s ease-in-out infinite alternate;transform-origin:center}
.kks-motion .kks-page{animation:kks-enter .35s ease-out}
@keyframes kks-drift{to{transform:scale(1.045)}}
@keyframes kks-enter{from{opacity:.5}to{opacity:1}}
.kks-loyalty-page{padding:0;margin:48px auto 64px}
.kks-loyalty-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center;padding:24px 0 56px}
.kks-loyalty-hero h2{font-size:clamp(32px,4vw,52px);line-height:1.15;max-width:650px;margin-bottom:24px}
.kks-loyalty-page .kks-loyalty-lead{font-size:17px;line-height:1.8;max-width:640px;color:var(--kks-muted)}
.kks-loyalty-actions{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;margin:28px 0 18px}
.kks-ui .kks-loyalty-signin{color:var(--kks-ink);font-size:14px}
.kks-ui .kks-loyalty-caption{font-size:13px;line-height:1.7;color:var(--kks-muted);margin:18px 0 0}
.kks-loyalty-visual{background:#232323;border-radius:22px;padding:36px;color:#fff;box-shadow:0 16px 44px #23232318;min-width:0}
.kks-ui .kks-loyalty-visual h3{font-size:30px;color:#fff;margin:30px 0 16px}
.kks-ui .kks-loyalty-visual>p{color:#e4e4e4;font-size:14px}
.kks-ui .kks-loyalty-visual .kks-loyalty-wordmark{font-size:20px;letter-spacing:.16em;color:#f09220;font-weight:700}
.kks-loyalty-wordmark span{display:block;font-size:10px;letter-spacing:.3em;margin-top:4px}
.kks-loyalty-level-track{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:28px 0 0;margin:24px 0 0;border-top:1px solid #ffffff30}
.kks-loyalty-level-track li{font-size:11px;text-align:center;line-height:1.5;overflow-wrap:anywhere}
.kks-loyalty-level-track li span{display:grid;place-items:center;width:36px;height:36px;margin:0 auto 12px;border:1px solid #f09220;border-radius:50%;font-size:16px;color:#f4b262}
.kks-loyalty-section{padding:48px 0;border-top:1px solid var(--kks-line)}
.kks-loyalty-section-heading{max-width:740px;margin-bottom:28px}
.kks-loyalty-section-heading h3,.kks-loyalty-how>h3,.kks-loyalty-faq>h3{font-size:clamp(26px,3vw,34px)}
.kks-loyalty-section-heading>p:last-child{color:var(--kks-muted)}
.kks-loyalty-tier-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.kks-loyalty-tier{padding:24px;position:relative;box-shadow:none;display:flex;flex-direction:column;align-items:flex-start}
.kks-loyalty-tier.is-current{border-color:var(--kks-accent);box-shadow:0 0 0 1px var(--kks-accent)}
.kks-level-number{display:grid;place-items:center;background:#fff4e4;color:var(--kks-accent);width:40px;height:40px;border-radius:50%;font-size:20px;font-weight:600;margin-bottom:24px}
.kks-ui .kks-loyalty-tier h4{font-size:22px;margin-bottom:12px}
.kks-ui .kks-tier-requirement{font-size:13px;line-height:1.7;font-weight:600;color:var(--kks-ink);min-height:44px;margin-bottom:18px}
.kks-loyalty-tier>p:not(.kks-tier-requirement){font-size:14px;color:var(--kks-muted)}
.kks-current-badge{margin-top:auto;display:inline-block;padding:6px 10px;background:#fff4e4;color:#875015;border-radius:20px;font-size:10px;letter-spacing:.03em;font-weight:600}
.kks-benefit-lock{padding-top:12px;border-top:1px solid var(--kks-line);font-size:13px;color:var(--kks-muted)}
.kks-loyalty-benefits .kks-card h4{font-size:21px}
.kks-loyalty-benefits .kks-card{box-shadow:none}
.kks-loyalty-dashboard{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;padding:40px 0;border-top:1px solid var(--kks-line);scroll-margin-top:30px}
.kks-loyalty-dashboard .kks-member-card p{overflow-wrap:anywhere}
.kks-loyalty-progress{min-width:0}
.kks-loyalty-totals{display:flex;gap:32px;margin:24px 0}
.kks-loyalty-totals p{font-size:13px;color:var(--kks-muted)}
.kks-loyalty-totals strong{display:block;color:var(--kks-ink);font-size:32px;line-height:1.5}
.kks-loyalty-progress progress{display:block;appearance:none;width:100%;height:8px;border:0;background:#ececec;border-radius:20px;margin:12px 0 18px;color:var(--kks-accent)}
.kks-loyalty-progress progress::-webkit-progress-bar{background:#ececec;border-radius:20px}
.kks-loyalty-progress progress::-webkit-progress-value{background:var(--kks-accent);border-radius:20px}
.kks-loyalty-progress progress::-moz-progress-bar{background:var(--kks-accent);border-radius:20px}
.kks-progress-label{font-size:14px;font-weight:600}
.kks-loyalty-progress>p{font-size:14px}
.kks-loyalty-how ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;list-style:decimal;padding:20px 0 0 24px;margin:0}
.kks-loyalty-how li{padding-left:8px}
.kks-loyalty-how li::marker{color:var(--kks-accent);font-size:20px;font-weight:600}
.kks-loyalty-how strong{display:block;font-size:18px;margin:0 0 12px}
.kks-loyalty-how li p{font-size:14px;color:var(--kks-muted)}
.kks-loyalty-faq details{border-bottom:1px solid var(--kks-line);padding:20px 0;max-width:900px}
.kks-loyalty-faq summary{font-size:16px;font-weight:600;cursor:pointer;line-height:1.6}
.kks-loyalty-faq details>p{margin:16px 0 0;color:var(--kks-muted);font-size:14px}
.kks-loyalty-join{padding:24px 28px;border:1px solid var(--kks-line);border-radius:16px;background:var(--kks-paper);scroll-margin-top:30px}
.kks-loyalty-join>summary{font-size:18px;font-weight:600;cursor:pointer;line-height:1.7}
.kks-loyalty-join>div{padding-top:28px}
@media(max-width:1099px){.kks-loyalty-tier-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kks-loyalty-hero{gap:28px}.kks-loyalty-visual{padding:28px}}
@media(max-width:767px){.kks-loyalty-hero,.kks-loyalty-dashboard,.kks-loyalty-how ol{grid-template-columns:1fr}.kks-loyalty-hero{padding:12px 0 36px;gap:28px}.kks-loyalty-tier-grid{grid-template-columns:1fr}.kks-loyalty-section{padding:32px 0}.kks-loyalty-tier{padding:24px}.kks-loyalty-totals{gap:24px}.kks-loyalty-join{padding:22px 20px}.kks-loyalty-page{padding:0}.kks-ui .kks-tier-requirement{min-height:0}}
.kks-ui :focus-visible,.kks-button:focus-visible,.kks-contact-panel :focus-visible,.kks-mobile-bar :focus-visible{outline:3px solid #935014;outline-offset:4px}
@media(min-width:1100px){.kks-property-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.kks-booking .kks-property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){
 .kks-block{padding:24px 18px;margin:28px auto}.kks-grid,.kks-form-row{grid-template-columns:1fr;gap:20px}
 .kks-booking{padding:0}.kks-booking-intro{text-align:left;margin-bottom:24px}
 .kks-property-filters{justify-content:flex-start;gap:8px;margin:20px 0 24px}.kks-property-filters button{padding:10px 14px;font-size:12px}
 .kks-card{padding:22px}.kks-property-card{padding:0}.kks-card-body{padding:22px}
 .kks-member-card{padding:28px 24px}.kks-ui .kks-card-body h3{font-size:18px}
 .kks-mobile-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));position:fixed;bottom:0;left:0;right:0;z-index:9490;background:#fff;border-top:1px solid var(--kks-line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));gap:10px;box-shadow:0 -4px 20px rgb(35 35 35 / 5%)}
 .kks-mobile-bar a{display:flex;justify-content:center;align-items:center;min-height:46px;padding:10px;border:1px solid var(--kks-line);border-radius:50px;background:#fff;color:var(--kks-ink);font-size:12px;font-weight:600;text-decoration:none;letter-spacing:.035em}
 .kks-mobile-bar .kks-book-link{background:var(--kks-accent);border-color:var(--kks-accent);color:#fff}
 body.kks-has-mobile-bar{padding-bottom:calc(84px + env(safe-area-inset-bottom))!important}
 .kks-contact-panel{bottom:calc(88px + env(safe-area-inset-bottom));right:14px}
}
@media(prefers-reduced-motion:reduce){
 .kks-motion .kks-reveal,.kks-property-card,.kks-card-image img,.kks-motion .kks-header,.kks-button{transition:none!important}
 .kks-motion .kks-hero-media img,.kks-motion .kks-hero-media video,.kks-motion .kks-page{animation:none!important}
 .kks-motion .kks-reveal.kks-waiting{opacity:1;transform:none}
 .kks-property-card:hover,.kks-button:hover{transform:none}
}
