/* Ku luwa website 3 – brand layer over the Ombara template (calm, editorial) */
:root { --font-accent: 'Lora', Georgia, serif; }
body { color: #4A4236; }
p { color: #6F6656; line-height: 1.75; }
.accent-text { font-style: italic; font-size: 1.35rem; color: #A8792C; margin-bottom: .4rem; letter-spacing: .01em; }
.section-title { color: #3A332A; font-weight: 500; }
.section-subtitle { color: #6F6656; max-width: 760px; margin-left: auto; margin-right: auto; }
.section-subtitle.text-start { margin-left: 0; }

/* header */
.header .navbar-brand img { height: 54px !important; width: auto; }
.header-link { font-weight: 600; }
.header-link.kl-current { color: #C9973F !important; }
.header-register-btn { background: #C9973F !important; color: #2E2820 !important; border-radius: 999px; font-weight: 700; }
.header-register-btn:hover { background: #F6F0E4 !important; }
.dropdown-menu { border-radius: 12px; border: 1px solid rgba(74,66,54,.12); padding: .5rem; min-width: 300px; }
.dropdown-item { border-radius: 8px; padding: .5rem .8rem; color: #4A4236; white-space: normal; }
.dropdown-item:hover { background: #F6F0E4; color: #3A332A; }
.preloader { background: #3A332A !important; }
.preloader-logo { max-width: 220px; }

/* hero */
.kl-hero-logo { max-width: 260px !important; }
.kl-hero-h1 { color: #FFFDF8; font-family: 'Lora', serif; font-weight: 500; font-size: clamp(2.1rem, 4.6vw, 3.9rem); line-height: 1.12; margin: 1.4rem auto 1rem; max-width: 900px; }
.hero-main-subtitle { max-width: 640px; margin-left: auto; margin-right: auto; color: #F1E8D6 !important; }
.hero-overlay { background: linear-gradient(180deg, rgba(46,40,32,.55) 0%, rgba(46,40,32,.7) 60%, rgba(46,40,32,.85) 100%) !important; }
.hero-badge-item { color: #E3B867 !important; }
.hero-slide-title-text { color: #E3B867 !important; }
.hero-action-pill { background: #C9973F !important; color: #2E2820 !important; }

/* about grid */
.about-item a { color: inherit; text-decoration: none; }
.about-img { aspect-ratio: 4 / 5; width: 100%; }
.about-text h3 { color: #3A332A; }

/* services tabs */
.fac-tabs-nav { flex-wrap: wrap; }
.fac-tabs-item { font-weight: 600; }
.fac-tabs-item.active { color: #A8792C !important; }
.fac-tabs-item::after { background: #C9973F !important; }
.fac-tab-pane h3 { color: #3A332A; }
.facilities-img { object-fit: cover; }

/* tour cards */
.kl-tour-card { position: relative; text-decoration: none; }
.kl-tour-card .room-img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.kl-flagship .room-img { aspect-ratio: 21 / 9; }
@media (max-width: 767px) { .kl-flagship .room-img { aspect-ratio: 4 / 5; } }
.room-info { background: linear-gradient(to top, rgba(46,40,32,.92) 0%, rgba(46,40,32,.55) 60%, transparent 100%) !important; padding: 2.2rem 1.8rem !important; }
.room-info h3 { color: #FFFDF8 !important; font-size: 1.7rem; margin-bottom: .4rem; }
.room-info p { color: #EADFCB !important; font-size: .98rem; margin-bottom: .6rem; }
.kl-card-meta { display: block; text-transform: uppercase; letter-spacing: .14em; font-size: .74rem; font-weight: 700; color: #E3B867; margin-bottom: .5rem; }
.kl-card-price { display: inline-block; font-weight: 700; color: #E3B867; font-size: .9rem; border-top: 1px solid rgba(227,184,103,.4); padding-top: .5rem; }
.kl-flagship .room-info h3 { font-size: 2.3rem; }

/* usp grid */
.usp-highlights-icon { color: #C9973F !important; }
.usp-highlights-item p { color: #4A4236; }

/* register / enquiry split */
.register-section { background: #3A332A; }
.register-form-pane { background: #3A332A; min-height: auto !important; }
.register-image-pane img { object-fit: cover; width: 100%; height: 100%; }
.register-section .section-title { color: #FFFDF8; text-align: left; }
.register-desc { color: #E3D6BE !important; }
.kl-form-dark { --kl-form-label: #F6F0E4; --kl-form-bg: #FFFDF8; --kl-form-note: #D8CCB4; }
.kl-form-dark .kl-thanks { background: rgba(255,253,248,.08); color: #F6F0E4; border-color: rgba(201,151,63,.5); }
.kl-form-dark .kl-form-note a { color: #E3B867; }
.register-submit-btn { background: #C9973F !important; color: #2E2820 !important; border: 0; border-radius: 999px; font-weight: 700; padding: .9rem 1.8rem !important; cursor: pointer; }
.register-submit-btn:hover { background: #F6F0E4 !important; }

/* inner pages */
.page-hero { min-height: 56vh; }
.page-hero-overlay { background: linear-gradient(180deg, rgba(46,40,32,.35) 0%, rgba(46,40,32,.85) 100%) !important; }
.kl-hero-kicker { display: inline-block; color: #E3B867; font-family: 'Lora', serif; font-style: italic; font-size: 1.25rem; margin-bottom: .6rem; }
.kl-page-title { color: #FFFDF8; font-size: clamp(2.2rem, 5vw, 4.2rem); font-weight: 500; line-height: 1.08; margin-bottom: 1.2rem; max-width: 900px; }
.page-breadcrumb a, .page-breadcrumb li { color: #E3D6BE !important; }
.page-breadcrumb .is-current { color: #E3B867 !important; }
.kl-rounded { border-radius: 4px; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.reservation-panel { background: #F6F0E4 !important; box-shadow: none !important; border: 1px solid rgba(74,66,54,.08); }
.page-detail-list li { color: #5E5546; }
.page-detail-list li::before { background: #C9973F !important; }
.page-primary-link { color: #A8792C !important; font-size: .88rem; }
.page-primary-link:hover { color: #3A332A !important; }
.kl-quote-band { background: #3A332A; }
.kl-quote-band .accent-text { color: #E3B867; }
.kl-quote { font-family: 'Lora', serif; font-size: clamp(1.3rem, 2.2vw, 1.7rem); line-height: 1.55; color: #F6F0E4; font-style: italic; }
.kl-note { margin-top: 2rem; padding: 1.6rem 2rem; border-left: 3px solid #C9973F; background: #FFFDF8; }
.kl-note h3 { font-size: 1.5rem; color: #3A332A; }
.kl-ask { margin-top: 2rem; font-family: 'Lora', serif; font-style: italic; font-size: 1.2rem; color: #4A4236; }
.kl-price-line { margin: 1rem 0 0; }
.kl-price { color: #A8792C; }
.kl-price-lg { font-family: 'Lora', serif; font-size: 2rem; margin: .2rem 0 1rem; }
.kl-others { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid rgba(74,66,54,.12); }
.kl-pill { display: inline-block; margin: .4rem .5rem 0 0; padding: .55rem 1.1rem; border: 1px solid rgba(74,66,54,.2); border-radius: 999px; color: #4A4236; text-decoration: none; font-weight: 600; }
.kl-pill:hover { background: #4A4236; color: #F6F0E4; }
.kl-facts-row { display: flex; flex-wrap: wrap; gap: .6rem 1.6rem; margin: .8rem 0 1.4rem; color: #5E5546; font-weight: 600; }
.kl-facts-row i { color: #C9973F; margin-right: .5rem; }
.kl-lead { font-size: 1.12rem; }
.kl-h3 { font-size: 1.9rem; color: #3A332A; margin: 2rem 0 1.4rem; }
.kl-itin .kl-day { background: #4A4236; color: #F6F0E4; }
.kl-arc li { background: #FFFDF8; }
.kl-wa-link { display: inline-flex; gap: .5rem; align-items: center; margin-left: 1.4rem; color: #4A7739; font-weight: 700; text-decoration: none; }
@media (min-width: 992px) { .kl-sticky { position: sticky; top: 110px; } }

/* services overview */
.kl-svc { text-decoration: none; background: #FFFDF8; height: 100%; border: 1px solid rgba(74,66,54,.1); transition: box-shadow .3s ease, transform .3s ease; }
.kl-svc:hover { transform: translateY(-4px); box-shadow: 0 24px 48px rgba(58,51,42,.1); }
.kl-svc-img img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; transition: transform .8s ease; }
.kl-svc:hover .kl-svc-img img { transform: scale(1.04); }
.kl-svc-body { padding: 1.8rem; position: relative; }
.kl-svc-ico { position: absolute; top: -26px; right: 1.6rem; width: 52px; height: 52px; border-radius: 50%; background: #C9973F; color: #2E2820; display: inline-flex; align-items: center; justify-content: center; font-size: 1.3rem; }
.kl-svc-body h3 { color: #3A332A; font-size: 1.5rem; }
.kl-svc-body .page-primary-link { margin-top: .6rem; }

/* contact cards */
.kl-contact-cards .reservation-panel > i { font-size: 1.5rem; color: #C9973F; margin-bottom: 1rem; display: block; }
.kl-contact-cards a { color: #3A332A; font-weight: 700; text-decoration: none; word-break: break-word; }
.kl-contact-cards p { margin: 0; }

/* footer */
.footer { background: #2E2820 !important; }
.kl-footer-logo { max-width: 190px; }
.kl-f-tag { font-family: 'Lora', serif; font-style: italic; color: #E3B867; font-size: 1.3rem; margin: .6rem 0 .4rem; }
.footer-text, .footer-meta { color: #D8CCB4 !important; }
.footer-link { color: #F6F0E4 !important; word-break: break-word; }
.footer-label { color: #E3B867 !important; }
.to-top { right: 20px; }
.header .navbar-brand.header-logo img { height: 66px !important; max-height: none !important; width: auto !important; }
@media (max-width: 991px) { .header .navbar-brand.header-logo img { height: 46px !important; } }
.page-breadcrumb { justify-content: flex-start !important; }
.kl-wa-link { display: flex; margin: .8rem 0 0; }

/* ---- spacing fixes (round 2) ---- */
.page-hero-overlay { background: linear-gradient(180deg, rgba(46,40,32,.75) 0%, rgba(46,40,32,.55) 35%, rgba(46,40,32,.88) 100%) !important; }
.page-hero-media img { object-fit: cover; width: 100%; height: 100%; }
.dropdown-item { text-transform: none !important; }
.dropdown-menu { width: 320px; }
.kl-rounded { display: block; height: auto; }
.kl-hero-h1, .hero-main-subtitle { text-shadow: 0 2px 18px rgba(0,0,0,.25); }
@media (max-width: 767px) {
  .kl-tour-card .room-img, .kl-flagship .room-img { aspect-ratio: 4 / 3.6; }
  .room-info { padding: 1.4rem 1.2rem !important; }
  .room-info h3 { font-size: 1.45rem; }
  .kl-flagship .room-info h3 { font-size: 1.7rem; }
  .facilities-image-pane { max-height: 320px; overflow: hidden; }
}
@media (min-width: 768px) and (max-width: 991px) { .facilities-image-pane { max-height: 420px; overflow: hidden; } }
.room-card.kl-tour-card { height: 500px; }
.room-card.kl-tour-card.kl-flagship { height: 460px; }
.kl-tour-card .room-img { aspect-ratio: auto !important; }
@media (max-width: 767px) { .room-card.kl-tour-card, .room-card.kl-tour-card.kl-flagship { height: 420px; } }
