/*
Theme Name: CasaKerala Independent
Theme URI: https://casakerala.com/
Author: CasaKerala
Author URI: https://casakerala.com/
Description: Independent responsive accommodation discovery theme for Kerala. Includes homepage, destinations, stay categories and property search foundation.
Version: 2.2.3
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: casakerala
*/

:root {
  --ck-green: #0f5b45;
  --ck-green-dark: #093f31;
  --ck-green-soft: #e8f4ef;
  --ck-gold: #d99b35;
  --ck-ink: #17231f;
  --ck-muted: #65736e;
  --ck-border: #dfe8e4;
  --ck-surface: #ffffff;
  --ck-bg: #f5f8f6;
  --ck-radius: 20px;
  --ck-shadow: 0 18px 50px rgba(15, 91, 69, .12);
  --ck-container: 1200px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ck-ink);
  background: var(--ck-bg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
button, input, select { font: inherit; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.ck-container { width: min(calc(100% - 32px), var(--ck-container)); margin-inline: auto; }

.site-header {
  position: sticky; top: 0; z-index: 999;
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(15,91,69,.08);
}
.header-inner { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.site-branding { display: flex; align-items: center; gap: 12px; }
.custom-logo { max-height: 46px; width: auto; }
.brand-mark { width: 42px; height: 42px; border-radius: 14px; background: var(--ck-green); color: #fff; display: grid; place-items: center; font-weight: 800; font-size: 20px; }
.brand-copy strong { display: block; font-size: 1.18rem; line-height: 1.1; }
.brand-copy small { color: var(--ck-muted); font-size: .74rem; }
.primary-nav ul { list-style: none; display: flex; align-items: center; gap: 24px; margin: 0; padding: 0; }
.primary-nav a { font-weight: 650; color: #31443d; }
.primary-nav a:hover { color: var(--ck-green); }
.menu-toggle { display: none; background: var(--ck-green-soft); border: 0; border-radius: 12px; padding: 10px 13px; color: var(--ck-green); font-weight: 800; }

.ck-hero {
  position: relative; overflow: hidden;
  min-height: 610px; display: grid; align-items: center;
  color: white;
  background:
    linear-gradient(90deg, rgba(3,38,29,.88), rgba(3,38,29,.45)),
    url('assets/images/hero-kerala.svg') center/cover no-repeat,
    var(--ck-green-dark);
}
.ck-hero::after { content: ""; position: absolute; inset: auto -10% -38% 35%; height: 390px; border-radius: 50%; background: rgba(255,255,255,.08); filter: blur(12px); }
.hero-content { position: relative; z-index: 2; max-width: 760px; padding: 90px 0 120px; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; padding: 8px 13px; border-radius: 999px; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.25); font-size: .84rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.ck-hero h1 { margin: 22px 0 14px; font-size: clamp(2.7rem, 6.7vw, 5.7rem); line-height: .98; letter-spacing: -.055em; }
.ck-hero p { max-width: 670px; margin: 0; font-size: clamp(1rem, 2vw, 1.25rem); color: rgba(255,255,255,.86); }
.search-panel { margin-top: 34px; padding: 18px; border-radius: 24px; background: #fff; box-shadow: 0 24px 70px rgba(0,0,0,.22); color: var(--ck-ink); }
.ck-search-form { display: grid; grid-template-columns: 1.7fr 1fr 1fr auto; gap: 12px; align-items: end; }
.search-field label { display: block; margin: 0 0 7px; font-size: .76rem; font-weight: 800; color: var(--ck-muted); text-transform: uppercase; letter-spacing: .05em; }
.search-field input, .search-field select { width: 100%; min-height: 50px; border: 1px solid var(--ck-border); background: #f9fbfa; border-radius: 14px; padding: 0 14px; color: var(--ck-ink); outline: none; }
.search-field input:focus, .search-field select:focus { border-color: var(--ck-green); box-shadow: 0 0 0 3px rgba(15,91,69,.1); }
.ck-button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 22px; border: 0; border-radius: 14px; background: var(--ck-green); color: #fff; font-weight: 800; cursor: pointer; }
.ck-button:hover { background: var(--ck-green-dark); }
.ck-button-light { background: #fff; color: var(--ck-green); }

.trust-strip { position: relative; z-index: 5; margin-top: -52px; }
.trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); background: #fff; border-radius: 22px; box-shadow: var(--ck-shadow); overflow: hidden; }
.trust-item { padding: 23px; display: flex; gap: 13px; align-items: center; border-right: 1px solid var(--ck-border); }
.trust-item:last-child { border-right: 0; }
.trust-icon { width: 42px; height: 42px; border-radius: 13px; background: var(--ck-green-soft); color: var(--ck-green); display: grid; place-items: center; font-size: 1.25rem; flex: 0 0 auto; }
.trust-item strong { display: block; }
.trust-item small { color: var(--ck-muted); }

.ck-section { padding: 88px 0; }
.ck-section.alt { background: #fff; }
.section-head { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 30px; }
.section-head h2 { margin: 0; font-size: clamp(2rem, 4vw, 3.3rem); line-height: 1.08; letter-spacing: -.035em; }
.section-head p { margin: 8px 0 0; color: var(--ck-muted); max-width: 670px; }
.text-link { color: var(--ck-green); font-weight: 800; white-space: nowrap; }

.destination-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.destination-card { position: relative; min-height: 330px; border-radius: var(--ck-radius); overflow: hidden; background: var(--ck-green-dark); box-shadow: 0 12px 34px rgba(27,46,40,.12); }
.destination-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.destination-card:hover img { transform: scale(1.055); }
.destination-overlay { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: end; padding: 24px; color: #fff; background: linear-gradient(180deg, transparent 30%, rgba(2,29,22,.88)); }
.destination-overlay h3 { margin: 0; font-size: 1.5rem; }
.destination-overlay span { color: rgba(255,255,255,.8); }

.category-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; }
.category-card { min-height: 176px; padding: 22px; border-radius: 18px; background: var(--ck-bg); border: 1px solid var(--ck-border); transition: .25s ease; }
.category-card:hover { transform: translateY(-5px); background: #fff; box-shadow: var(--ck-shadow); border-color: transparent; }
.category-icon { width: 50px; height: 50px; border-radius: 15px; background: var(--ck-green-soft); color: var(--ck-green); display: grid; place-items: center; font-size: 1.45rem; margin-bottom: 25px; }
.category-card h3 { margin: 0 0 5px; font-size: 1.05rem; }
.category-card p { margin: 0; color: var(--ck-muted); font-size: .9rem; }

.property-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.property-card { background: #fff; border-radius: 20px; overflow: hidden; border: 1px solid var(--ck-border); box-shadow: 0 12px 34px rgba(27,46,40,.08); }
.property-thumb { aspect-ratio: 4 / 3; background: var(--ck-green-soft); overflow: hidden; }
.property-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.property-card:hover img { transform: scale(1.04); }
.property-body { padding: 20px; }
.property-location { font-size: .82rem; font-weight: 750; color: var(--ck-green); }
.property-body h3 { margin: 7px 0 8px; font-size: 1.24rem; line-height: 1.25; }
.property-body p { margin: 0; color: var(--ck-muted); }
.property-footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 17px; padding-top: 15px; border-top: 1px solid var(--ck-border); }
.partner-badge { font-size: .77rem; color: var(--ck-muted); }
.view-link { color: var(--ck-green); font-weight: 800; }

.cta-panel { display: grid; grid-template-columns: 1.3fr .7fr; gap: 30px; align-items: center; padding: 46px; border-radius: 28px; background: var(--ck-green); color: #fff; overflow: hidden; position: relative; }
.cta-panel::after { content: ""; position: absolute; width: 300px; height: 300px; right: -90px; bottom: -150px; border-radius: 50%; background: rgba(255,255,255,.09); }
.cta-panel h2 { margin: 0 0 12px; font-size: clamp(2rem, 4vw, 3.3rem); line-height: 1.06; }
.cta-panel p { margin: 0; color: rgba(255,255,255,.82); }
.cta-actions { position: relative; z-index: 2; display: flex; justify-content: flex-end; }

.archive-hero { padding: 76px 0 54px; background: linear-gradient(135deg, var(--ck-green-dark), var(--ck-green)); color: #fff; }
.archive-hero h1 { margin: 0 0 10px; font-size: clamp(2.4rem, 5vw, 4.6rem); letter-spacing: -.04em; }
.archive-hero p { margin: 0; color: rgba(255,255,255,.8); max-width: 700px; }
.content-layout { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 34px; padding: 60px 0 90px; }
.sidebar-card { background: #fff; border: 1px solid var(--ck-border); border-radius: 18px; padding: 22px; position: sticky; top: 100px; }
.sidebar-card h3 { margin-top: 0; }
.filter-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.filter-list a { display: flex; justify-content: space-between; padding: 10px 12px; border-radius: 10px; background: var(--ck-bg); }
.no-results { padding: 40px; border-radius: 18px; background: #fff; border: 1px dashed var(--ck-border); }

.single-property { padding: 52px 0 90px; }
.single-property h1 { font-size: clamp(2rem, 3.8vw, 3.45rem); line-height: 1.04; letter-spacing: -.04em; margin: 0 0 10px; }
.single-meta { color: var(--ck-muted); margin-bottom: 28px; }
.single-cover { border-radius: 26px; overflow: hidden; max-height: 570px; background: var(--ck-green-soft); }
.single-cover img { width: 100%; height: 100%; object-fit: cover; }
.single-columns { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: 36px; margin-top: 36px; }
.single-content, .booking-box { background: #fff; border-radius: 20px; border: 1px solid var(--ck-border); padding: 28px; }
.booking-box { position: sticky; top: 100px; }
.booking-box h3 { margin-top: 0; }
.partner-link { display: flex; justify-content: space-between; align-items: center; padding: 13px 14px; margin-top: 10px; border-radius: 12px; background: var(--ck-green-soft); color: var(--ck-green); font-weight: 800; }

.site-footer { background: #092f25; color: rgba(255,255,255,.8); padding: 68px 0 25px; }
.footer-grid { display: grid; grid-template-columns: 1.4fr repeat(3,1fr); gap: 40px; }
.footer-grid h3, .footer-grid h4 { color: #fff; margin-top: 0; }
.footer-grid ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.footer-bottom { margin-top: 46px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.12); display: flex; justify-content: space-between; gap: 20px; font-size: .86rem; }

@media (max-width: 1024px) {
  .destination-grid { grid-template-columns: repeat(2, 1fr); }
  .category-grid { grid-template-columns: repeat(3, 1fr); }
  .property-grid { grid-template-columns: repeat(2, 1fr); }
  .trust-grid { grid-template-columns: repeat(2, 1fr); }
  .trust-item:nth-child(2) { border-right: 0; }
  .trust-item:nth-child(-n+2) { border-bottom: 1px solid var(--ck-border); }
  .ck-search-form { grid-template-columns: 1fr 1fr; }
  .ck-search-form .ck-button { width: 100%; }
}

@media (max-width: 780px) {
  .header-inner { min-height: 66px; }
  .menu-toggle { display: inline-flex; }
  .primary-nav { display: none; position: absolute; left: 16px; right: 16px; top: 69px; padding: 18px; border-radius: 16px; background: #fff; box-shadow: var(--ck-shadow); }
  .primary-nav.is-open { display: block; }
  .primary-nav ul { align-items: stretch; flex-direction: column; gap: 7px; }
  .primary-nav a { display: block; padding: 10px; }
  .brand-copy small { display: none; }
  .ck-hero { min-height: auto; }
  .hero-content { padding: 72px 0 95px; }
  .ck-hero h1 { font-size: clamp(2.7rem, 14vw, 4.4rem); }
  .ck-search-form { grid-template-columns: 1fr; }
  .trust-strip { margin-top: -35px; }
  .trust-grid, .destination-grid, .category-grid, .property-grid, .cta-panel, .content-layout, .single-columns, .footer-grid { grid-template-columns: 1fr; }
  .trust-item { border-right: 0; border-bottom: 1px solid var(--ck-border); }
  .trust-item:last-child { border-bottom: 0; }
  .destination-card { min-height: 285px; }
  .category-grid { grid-template-columns: repeat(2, 1fr); }
  .section-head { align-items: start; flex-direction: column; }
  .ck-section { padding: 68px 0; }
  .cta-panel { padding: 32px; }
  .cta-actions { justify-content: flex-start; }
  .content-layout { padding-top: 35px; }
  .sidebar-card, .booking-box { position: static; }
  .footer-bottom { flex-direction: column; }
}

@media (max-width: 480px) {
  .ck-container { width: min(calc(100% - 22px), var(--ck-container)); }
  .category-grid { grid-template-columns: 1fr; }
  .search-panel { padding: 14px; border-radius: 18px; }
  .trust-item { padding: 18px; }
  .archive-hero { padding-top: 54px; }
}

/* v1.1.0 Affiliate Engine */
.affiliate-kicker { display:block; margin-bottom:6px; color:var(--ck-green); font-size:.74rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.partner-list { display:grid; gap:10px; margin-top:18px; }
.partner-link { position:relative; overflow:hidden; display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:58px; padding:10px 13px; border:1px solid var(--ck-border); border-radius:14px; background:#fff; transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.partner-link::before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:var(--partner-accent, var(--ck-green)); }
.partner-link:hover { transform:translateY(-2px); border-color:var(--partner-accent, var(--ck-green)); box-shadow:0 10px 24px rgba(23,35,31,.09); }
.partner-identity { display:flex; align-items:center; gap:10px; min-width:0; }
.partner-identity i { flex:0 0 34px; width:34px; height:34px; border-radius:10px; background:color-mix(in srgb, var(--partner-accent, var(--ck-green)) 13%, white); border:1px solid color-mix(in srgb, var(--partner-accent, var(--ck-green)) 25%, white); }
.partner-identity strong { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.partner-action { flex:0 0 auto; color:var(--partner-accent, var(--ck-green)); font-size:.84rem; font-weight:800; }
.price-note { margin:10px 0; padding:10px 12px; border-radius:12px; background:var(--ck-green-soft); color:var(--ck-green-dark); font-weight:750; }
.affiliate-disclosure { display:block; margin-top:15px; color:var(--ck-muted); line-height:1.45; }
.no-partner-links { padding:14px; border:1px dashed var(--ck-border); border-radius:12px; color:var(--ck-muted); text-align:center; }
@media (max-width:420px) { .partner-link { align-items:flex-start; } .partner-action { font-size:.78rem; } }

/* v1.2.0 Property Directory */
.property-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}.property-eyebrow,.section-kicker{display:block;color:var(--ck-green);font-weight:850;font-size:.75rem;letter-spacing:.07em;text-transform:uppercase;margin-bottom:7px}.property-rating-summary{flex:0 0 auto;display:grid;grid-template-columns:auto auto;align-items:center;gap:3px 6px;padding:14px 17px;border:1px solid var(--ck-border);border-radius:16px;background:#fff}.property-rating-summary strong{font-size:1.45rem}.property-rating-summary>span{color:#d79000}.property-rating-summary small{grid-column:1/-1;color:var(--ck-muted)}
.property-gallery{display:grid;grid-template-columns:3fr 1fr 1fr;grid-template-rows:220px 220px;gap:8px;border-radius:26px;overflow:hidden;background:var(--ck-green-soft)}.gallery-item{position:relative;overflow:hidden;background:#e9f2ee}.gallery-showcase-thumb{display:block;width:100%;height:100%;padding:0;border:0;cursor:pointer;text-align:inherit}.gallery-showcase-thumb:focus-visible{outline:3px solid var(--ck-gold);outline-offset:-4px}.gallery-showcase-thumb.is-active{box-shadow:inset 0 0 0 4px var(--ck-gold)}.gallery-showcase-main{cursor:default}.gallery-item:first-child{grid-row:1/3}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.gallery-item:hover img{transform:scale(1.025)}.gallery-more{position:absolute;right:14px;bottom:14px;padding:8px 11px;border-radius:10px;background:rgba(8,34,27,.82);color:#fff;font-weight:800}.property-gallery.is-single{display:block;height:500px}.property-cover-placeholder{height:430px}.property-jump-nav{display:flex;gap:8px;overflow:auto;margin:24px 0 0;padding-bottom:2px}.property-jump-nav a{white-space:nowrap;padding:9px 13px;border:1px solid var(--ck-border);border-radius:999px;background:#fff;font-weight:750;font-size:.88rem}
.property-main{display:grid;gap:24px}.property-panel{scroll-margin-top:105px;background:#fff;border:1px solid var(--ck-border);border-radius:20px;padding:28px}.property-panel h2{margin:0 0 18px;font-size:1.65rem}.property-panel.single-content{padding:28px}.property-panel.single-content h2{margin-top:0}.panel-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.panel-heading h2{margin:0}.text-link{font-weight:800;color:var(--ck-green)}.amenities-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.amenity-item{display:flex;align-items:center;gap:10px;padding:13px;border-radius:12px;background:var(--ck-bg);font-weight:650}.amenity-item span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--ck-green-soft);color:var(--ck-green);font-weight:900}.location-address{color:var(--ck-muted)}.map-frame{height:390px;border-radius:16px;overflow:hidden;background:var(--ck-green-soft)}.map-frame iframe{width:100%;height:100%;border:0}
.review-score{display:grid;text-align:right}.review-score strong{font-size:1.5rem}.review-score span{color:#d79000;letter-spacing:2px}.review-score small{color:var(--ck-muted)}.ck-review-list{list-style:none;padding:0;margin:0;display:grid;gap:14px}.ck-review article{padding:19px;border:1px solid var(--ck-border);border-radius:15px;background:var(--ck-bg)}.ck-review-head{display:flex;justify-content:space-between;gap:15px}.ck-review-stars{color:#d79000;letter-spacing:2px}.ck-review time{display:block;margin:4px 0 12px;color:var(--ck-muted);font-size:.82rem}.ck-review-content p:last-child{margin-bottom:0}.no-reviews{padding:16px;border:1px dashed var(--ck-border);border-radius:12px;color:var(--ck-muted)}.comment-respond{margin-top:28px;padding-top:24px;border-top:1px solid var(--ck-border)}.comment-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.comment-form>p{margin:0}.comment-form-comment,.comment-notes,.form-submit{grid-column:1/-1}.comment-form label{display:block;font-weight:750;margin-bottom:6px}.comment-form input:not([type=submit]),.comment-form textarea,.comment-form select{width:100%;border:1px solid var(--ck-border);border-radius:10px;padding:11px;background:#fff}.comment-form input[type=submit]{border:0;border-radius:10px;padding:12px 18px;background:var(--ck-green);color:#fff;font-weight:850;cursor:pointer}
@media(max-width:900px){.property-gallery{grid-template-columns:2fr 1fr;grid-template-rows:200px 200px}.gallery-item:nth-child(n+4){display:none}.amenities-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:780px){.property-heading{align-items:flex-start}.property-gallery{grid-template-columns:1fr 1fr;grid-template-rows:260px 120px}.gallery-item:first-child{grid-column:1/-1;grid-row:auto}.gallery-item:nth-child(n+4){display:none}.property-gallery.is-single{height:330px}.property-panel{padding:20px}.panel-heading{align-items:flex-start;flex-direction:column}.review-score{text-align:left}.comment-form{grid-template-columns:1fr}.comment-form>p{grid-column:1}}
@media(max-width:480px){.property-heading{display:block}.property-rating-summary{display:inline-grid;margin-top:8px}.property-gallery{grid-template-rows:220px 95px}.amenities-grid{grid-template-columns:1fr}.map-frame{height:300px}}


/* v1.3.0 Destination Engine */
.destination-hero {position:relative;min-height:330px;display:flex;align-items:flex-end;background:linear-gradient(135deg,var(--ck-green-dark),var(--ck-green));background-size:cover;background-position:center;color:#fff;overflow:hidden}
.destination-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,28,21,.12),rgba(4,28,21,.82))}
.destination-hero .ck-container{position:relative;z-index:1;padding-top:72px;padding-bottom:48px;width:100%}
.destination-kicker{display:inline-flex;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.16);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}
.ck-breadcrumbs{display:flex;flex-wrap:wrap;gap:7px;font-size:.88rem;margin-bottom:18px;color:rgba(255,255,255,.82)}
.ck-breadcrumbs a{color:#fff;text-decoration:none}.ck-breadcrumbs span{opacity:.7}
.destination-hero h1{font-size:clamp(2rem,5vw,4rem);margin:0 0 10px}.destination-hero p{max-width:760px;font-size:1.08rem;margin:0;color:rgba(255,255,255,.9)}
.destination-intro{background:#fff;border:1px solid var(--ck-border);border-radius:var(--ck-radius);padding:28px;box-shadow:var(--ck-shadow);margin-bottom:28px}
.destination-intro h2{margin-top:0}.destination-subareas{margin-bottom:32px}.destination-subareas-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.destination-subarea{display:flex;justify-content:space-between;align-items:center;padding:18px;border:1px solid var(--ck-border);border-radius:16px;background:#fff;text-decoration:none;color:var(--ck-ink)}
.destination-subarea strong{display:block}.destination-subarea small{color:var(--ck-muted)}
.destination-directory-group{margin-bottom:42px}.destination-directory-group>h2{display:flex;justify-content:space-between;align-items:end}
.destination-city-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.destination-city-links a{padding:9px 13px;border:1px solid var(--ck-border);border-radius:999px;background:#fff;text-decoration:none;color:var(--ck-green-dark)}
@media(max-width:760px){.destination-hero{min-height:270px}.destination-hero .ck-container{padding-top:54px;padding-bottom:34px}.destination-subareas-grid{grid-template-columns:1fr}.destination-intro{padding:20px}}

/* v1.3.5 Premium Homepage UI */
.site-header{height:100px;background:#fff;box-shadow:0 1px 0 rgba(9,42,32,.08);position:relative;z-index:50}.header-inner{height:100%;display:flex;align-items:center;gap:34px}.site-branding{flex:0 0 350px;min-width:0;height:88px;display:flex;align-items:center}.custom-logo-link,.ck-default-logo{display:flex;align-items:center;height:88px;max-width:350px}.custom-logo,.ck-default-logo img{display:block;width:auto;max-width:100%;height:82px;object-fit:contain}.primary-nav{margin-left:auto}.primary-nav ul{display:flex;align-items:center;gap:8px;margin:0;padding:0;list-style:none}.primary-nav a{display:block;padding:14px 13px;border-radius:10px;color:var(--ck-ink);font-weight:750;text-decoration:none}.primary-nav a:hover,.primary-nav .current-menu-item>a{color:var(--ck-green);background:var(--ck-green-soft)}.menu-toggle{display:none;margin-left:auto;width:44px;height:44px;padding:10px;border:1px solid var(--ck-border);border-radius:11px;background:#fff}.menu-toggle>span:not(.screen-reader-text){display:block;height:2px;margin:5px 0;background:var(--ck-ink)}
.ck-home-hero{position:relative;min-height:545px;background-size:cover;background-position:center;display:flex;align-items:stretch;color:#fff}.ck-home-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,30,23,.86) 0%,rgba(4,30,23,.48) 43%,rgba(4,30,23,.14) 75%),linear-gradient(0deg,rgba(4,30,23,.38),transparent 55%)}.ck-home-hero-inner{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;width:100%;padding-top:65px;padding-bottom:44px}.ck-home-hero-copy{max-width:610px;margin-bottom:32px}.ck-home-kicker{display:inline-flex;margin-bottom:12px;padding:7px 12px;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:rgba(255,255,255,.12);font-size:.76rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.ck-home-hero h1{max-width:580px;margin:0 0 15px;font-size:clamp(2.55rem,5vw,4.75rem);line-height:1.02;letter-spacing:-.045em;color:#fff}.ck-home-hero-copy p{max-width:590px;margin:0;font-size:clamp(1rem,1.5vw,1.22rem);line-height:1.65;color:rgba(255,255,255,.92)}.ck-home-search-card{width:100%;padding:20px;border-radius:20px;background:rgba(255,255,255,.98);box-shadow:0 20px 55px rgba(0,0,0,.23);color:var(--ck-ink)}
.ck-search-form-premium{display:grid;grid-template-columns:1.35fr 1fr .82fr .72fr .72fr .65fr auto;gap:12px;align-items:end}.ck-search-form-premium .search-field{min-width:0}.ck-search-form-premium label{display:block;margin:0 0 7px;color:var(--ck-ink);font-size:.8rem;font-weight:850}.field-control{position:relative;display:flex;align-items:center;min-height:50px;border:1px solid var(--ck-border);border-radius:10px;background:#fff}.field-control>span{padding-left:13px;color:var(--ck-muted)}.field-control input,.field-control select{width:100%;height:48px;min-width:0;padding:0 12px;border:0!important;outline:0;background:transparent;color:var(--ck-ink);font:inherit}.field-control>span+input{padding-left:8px}.ck-search-submit{min-height:50px;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 23px;border-radius:10px;background:#ed7108;color:#fff;white-space:nowrap}.ck-search-submit:hover{background:#cf5d00}
.ck-premium-trust{background:#fff;border-bottom:1px solid var(--ck-border)}.ck-premium-trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.ck-premium-trust-item{display:flex;align-items:center;gap:14px;padding:29px 22px}.ck-premium-trust-icon{flex:0 0 52px;width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:var(--ck-green-soft);color:var(--ck-green);font-size:1.4rem;font-weight:900}.ck-premium-trust-item strong,.ck-premium-trust-item small{display:block}.ck-premium-trust-item small{margin-top:4px;color:var(--ck-muted);line-height:1.45}
.ck-home-section{padding:72px 0}.ck-home-section .section-head h2{font-size:clamp(1.8rem,3vw,2.5rem);margin-bottom:6px}.ck-premium-destination-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.ck-premium-destination-card{position:relative;height:260px;overflow:hidden;border-radius:14px;background:#dce9e3;color:#fff;box-shadow:0 8px 24px rgba(10,49,37,.09)}.ck-premium-destination-card img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.ck-premium-destination-card:hover img{transform:scale(1.045)}.ck-card-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,25,18,.82),transparent 62%)}.ck-destination-copy{position:absolute;left:17px;right:17px;bottom:16px}.ck-destination-copy strong,.ck-destination-copy small{display:block}.ck-destination-copy strong{font-size:1.25rem}.ck-destination-copy small{margin-top:3px;color:rgba(255,255,255,.82)}
.ck-premium-category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.ck-premium-category-card{display:flex;align-items:center;gap:14px;min-height:105px;padding:18px;border:1px solid var(--ck-border);border-radius:16px;background:#fff;color:var(--ck-ink);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.ck-premium-category-card:hover{transform:translateY(-3px);border-color:#bad8cd;box-shadow:var(--ck-shadow)}.ck-category-round{flex:0 0 50px;width:50px;height:50px;display:grid;place-items:center;border-radius:15px;background:var(--ck-green-soft);color:var(--ck-green);font-size:1.35rem}.ck-premium-category-card h3{margin:0 0 4px;font-size:1.05rem}.ck-premium-category-card p{margin:0;color:var(--ck-muted);font-size:.85rem}.ck-card-arrow{margin-left:auto;color:var(--ck-green);font-weight:900}
.ck-guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.ck-guide-card{overflow:hidden;border:1px solid var(--ck-border);border-radius:18px;background:#fff;box-shadow:0 9px 28px rgba(10,49,37,.07)}.ck-guide-image{display:block;height:220px;overflow:hidden;background:var(--ck-green-soft)}.ck-guide-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.ck-guide-card:hover .ck-guide-image img{transform:scale(1.035)}.ck-guide-body{padding:21px}.ck-guide-body>small{color:var(--ck-green);font-weight:750}.ck-guide-body h3{margin:8px 0;font-size:1.25rem}.ck-guide-body h3 a{color:inherit;text-decoration:none}.ck-guide-body p{color:var(--ck-muted)}.section-kicker.light{color:#fff}.ck-home-cta{padding-top:72px}
@media(max-width:1180px){.site-branding{flex-basis:290px}.custom-logo-link,.ck-default-logo{max-width:290px}.custom-logo,.ck-default-logo img{height:72px}.primary-nav a{padding:12px 8px;font-size:.9rem}.ck-search-form-premium{grid-template-columns:1.4fr 1fr 1fr 1fr}.search-date,.search-guests{display:none}.ck-premium-destination-grid{grid-template-columns:repeat(3,1fr)}.ck-premium-category-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.site-header{height:78px}.header-inner{gap:15px}.site-branding{height:70px;flex-basis:auto;max-width:255px}.custom-logo-link,.ck-default-logo{height:70px;max-width:255px}.custom-logo,.ck-default-logo img{height:64px}.menu-toggle{display:block}.primary-nav{display:none;position:absolute;top:78px;left:0;right:0;margin:0;padding:12px 18px 20px;background:#fff;border-top:1px solid var(--ck-border);box-shadow:0 16px 30px rgba(9,42,32,.12)}.primary-nav.is-open{display:block}.primary-nav ul{display:block}.primary-nav a{padding:12px}.ck-home-hero{min-height:610px}.ck-home-hero-inner{padding-top:48px}.ck-home-hero-copy{margin-bottom:24px}.ck-home-search-card{padding:15px}.ck-search-form-premium{grid-template-columns:1fr 1fr}.ck-search-form-premium .search-keyword,.ck-search-form-premium .ck-search-submit{grid-column:1/-1}.ck-search-form-premium .ck-search-submit{width:100%}.ck-premium-trust-grid{grid-template-columns:1fr 1fr}.ck-premium-destination-grid{grid-template-columns:repeat(2,1fr)}.ck-premium-category-grid{grid-template-columns:1fr 1fr}.ck-guide-grid{grid-template-columns:1fr}}
@media(max-width:540px){.site-branding{max-width:215px}.custom-logo-link,.ck-default-logo{max-width:215px}.custom-logo,.ck-default-logo img{height:58px}.ck-home-hero{min-height:680px;background-position:62% center}.ck-home-hero-overlay{background:linear-gradient(90deg,rgba(4,30,23,.9),rgba(4,30,23,.48))}.ck-home-hero h1{font-size:2.65rem}.ck-search-form-premium{grid-template-columns:1fr}.ck-search-form-premium>*{grid-column:1!important}.ck-premium-trust-grid{grid-template-columns:1fr}.ck-premium-trust-item{padding:19px 5px}.ck-premium-destination-grid{grid-template-columns:1fr 1fr;gap:10px}.ck-premium-destination-card{height:220px}.ck-premium-category-grid{grid-template-columns:1fr}.ck-home-section{padding:58px 0}.ck-guide-image{height:190px}}


/* v1.3.5.1 Header Branding Refinement */
.site-header .header-inner{
  width:100%;
  max-width:none;
  margin:0;
  padding-left:24px;
  padding-right:24px;
}
.site-header .site-branding{
  flex:0 0 104px;
  width:104px;
  height:88px;
  min-width:104px;
  justify-content:flex-start;
}
.ck-symbol-logo{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  width:94px;
  height:88px;
  overflow:hidden;
  text-decoration:none;
}
.ck-symbol-logo img{
  display:block;
  width:auto;
  height:78px;
  max-width:94px;
  object-fit:contain;
  object-position:left center;
}
.site-header .primary-nav{margin-left:auto;}
@media(max-width:820px){
  .site-header .header-inner{padding-left:14px;padding-right:14px;}
  .site-header .site-branding{flex-basis:78px;width:78px;min-width:78px;height:70px;}
  .ck-symbol-logo{width:72px;height:70px;}
  .ck-symbol-logo img{height:62px;max-width:72px;}
}
@media(max-width:540px){
  .site-header .header-inner{padding-left:10px;padding-right:10px;}
  .site-header .site-branding{flex-basis:70px;width:70px;min-width:70px;}
  .ck-symbol-logo{width:66px;}
  .ck-symbol-logo img{height:57px;max-width:66px;}
}

/* =========================================================
   CasaKerala 2.0.0 — Professional Travel UI Framework
   ========================================================= */
:root{--ck-orange:#ec6b08;--ck-navy:#08254a;--ck-body:#21322d;--ck-soft:#f6f8f7;--ck-container:1280px;--ck-radius:18px;--ck-shadow:0 18px 50px rgba(8,37,74,.09)}
body{color:var(--ck-body);background:#fff}.ck-container{width:min(calc(100% - 48px),var(--ck-container))}
.site-header{background:#fff;border-bottom:1px solid #edf1ef;box-shadow:0 2px 12px rgba(8,37,74,.04)}
.header-inner{min-height:84px}.ck-symbol-logo{display:flex;align-items:center;justify-content:flex-start;flex:0 0 auto}.ck-symbol-logo img{display:block;width:auto;height:58px;max-width:92px;object-fit:contain}.primary-nav{margin-left:auto}.primary-nav ul{gap:32px}.primary-nav a{color:#11241f;font-size:.95rem;font-weight:700}.primary-nav a:hover{color:var(--ck-green)}
.ck-home-hero{min-height:520px}.ck-home-hero-inner{padding-top:76px;padding-bottom:48px}.ck-home-hero-copy{max-width:650px}.ck-home-hero-copy h1{font-size:clamp(2.7rem,5vw,4.8rem);line-height:1.02}.ck-home-search-card{margin-top:34px;padding:22px;border-radius:20px}
.ck-search-form-premium{display:grid;grid-template-columns:minmax(190px,1.55fr) minmax(150px,1.05fr) minmax(130px,.9fr) minmax(135px,.85fr) minmax(135px,.85fr) minmax(110px,.7fr) auto;gap:12px;align-items:end;width:100%}.ck-search-form-premium .search-field{min-width:0}.ck-search-form-premium .search-field label{display:block;white-space:nowrap;font-size:.72rem;line-height:1.25;margin:0 0 7px}.field-control{min-width:0}.field-control input,.field-control select{min-width:0;width:100%;height:50px}.ck-search-submit{height:50px;background:var(--ck-orange);white-space:nowrap}.ck-search-submit:hover{background:#cf5900}
.archive-hero,.destination-hero{background:linear-gradient(135deg,#083f32,#0d684f);color:#fff}.compact-archive-hero{padding:62px 0 58px}.compact-archive-hero h1,.destination-hero h1{font-size:clamp(2.55rem,5vw,4.65rem);line-height:1.03;letter-spacing:-.045em;margin:14px 0 12px}.compact-archive-hero p,.destination-hero p{font-size:1.05rem;max-width:760px;color:rgba(255,255,255,.87)}
.destination-hero{min-height:390px;background-position:center;background-size:cover;display:flex;align-items:flex-end;position:relative}.destination-hero:before{background:linear-gradient(90deg,rgba(3,31,24,.82),rgba(3,31,24,.30))}.destination-hero-content{padding-top:68px!important;padding-bottom:56px!important}.ck-breadcrumbs{margin:0 0 20px;font-size:.86rem}.destination-kicker{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.18)}
.ck-archive-section{padding:64px 0 92px;background:var(--ck-soft)}.destination-intro{max-width:920px;padding:32px;margin:0 0 46px;border-radius:20px;box-shadow:none}.destination-intro h2{font-size:clamp(1.8rem,3vw,2.55rem);margin:7px 0 12px}.destination-intro p:last-child{margin-bottom:0}.section-kicker{display:block;color:var(--ck-green);font-size:.75rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.archive-section-title,.archive-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.archive-section-title{margin-bottom:22px}.archive-section-title h2,.archive-toolbar h2{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.12;letter-spacing:-.03em;margin:6px 0 0}.archive-toolbar{margin:0 0 26px}.archive-count{padding:9px 14px;border:1px solid var(--ck-border);border-radius:999px;background:#fff;color:var(--ck-muted);font-size:.86rem;font-weight:700}
.destination-subareas{margin-bottom:52px}.destination-subareas-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.destination-subarea{display:flex;align-items:center;justify-content:space-between;padding:20px;border:1px solid var(--ck-border);border-radius:16px;background:#fff;transition:.2s}.destination-subarea:hover{transform:translateY(-3px);box-shadow:var(--ck-shadow);border-color:transparent}.destination-subarea strong,.destination-subarea small{display:block}.destination-subarea small{margin-top:3px;color:var(--ck-muted)}.destination-subarea b{color:var(--ck-green);font-size:1.25rem}
.archive-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:36px;align-items:start}.archive-main{min-width:0}.archive-sidebar{min-width:0}.archive-sidebar .sidebar-card{position:sticky;top:108px;padding:24px;border-radius:18px;box-shadow:0 10px 34px rgba(8,37,74,.06)}.archive-sidebar .sidebar-card h3{font-size:1.25rem;margin:5px 0 18px}.search-sidebar-card .ck-search-form-premium{display:flex;flex-direction:column;gap:14px}.search-sidebar-card .search-field,.search-sidebar-card .ck-search-submit{width:100%}.search-sidebar-card .search-field label{white-space:normal;margin-bottom:6px}.search-sidebar-card .field-control input,.search-sidebar-card .field-control select{height:46px}.search-sidebar-card .ck-search-submit{margin-top:2px}.search-sidebar-card .search-date,.search-sidebar-card .search-guests{display:block}
.archive-search-bar{padding:20px;background:#fff;border:1px solid var(--ck-border);border-radius:20px;box-shadow:0 12px 36px rgba(8,37,74,.06);margin:-98px 0 54px;position:relative;z-index:5}.archive-search-bar .ck-search-form-premium{grid-template-columns:minmax(190px,1.5fr) minmax(145px,1fr) minmax(130px,.9fr) minmax(125px,.8fr) minmax(125px,.8fr) minmax(105px,.7fr) auto}
.property-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.archive-layout .property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.property-card{border-radius:18px;box-shadow:none;transition:.22s}.property-card:hover{transform:translateY(-4px);box-shadow:var(--ck-shadow)}.property-body{padding:18px}.property-body h3{font-size:1.17rem}
.no-results-wide{grid-column:1/-1;display:flex;flex-direction:column;align-items:flex-start;max-width:680px;padding:42px;border-style:solid;background:#fff}.no-results-wide .empty-icon{width:54px;height:54px;border-radius:16px;background:var(--ck-green-soft);color:var(--ck-green);display:grid;place-items:center;font-size:1.55rem;margin-bottom:18px}.no-results-wide h3{font-size:1.45rem;margin:0 0 8px}.no-results-wide p{color:var(--ck-muted);max-width:560px;margin:0 0 22px}
.related-destinations{margin-top:64px;padding-top:48px;border-top:1px solid var(--ck-border)}.related-term-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.related-term-card{height:220px;border-radius:17px;overflow:hidden;position:relative;background:var(--ck-green-dark)}.related-term-card img{width:100%;height:100%;object-fit:cover}.related-term-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(2,25,19,.86))}.related-term-card>span{position:absolute;left:20px;right:20px;bottom:18px;z-index:2;color:#fff}.related-term-card strong,.related-term-card small{display:block}.related-term-card strong{font-size:1.25rem}.related-term-card small{color:rgba(255,255,255,.78)}.related-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.related-category-card{display:flex;align-items:center;gap:12px;padding:18px;border:1px solid var(--ck-border);border-radius:15px;background:#fff}.related-category-icon{width:42px;height:42px;border-radius:12px;background:var(--ck-green-soft);color:var(--ck-green);display:grid;place-items:center;flex:0 0 auto}.related-category-card strong,.related-category-card small{display:block}.related-category-card small{color:var(--ck-muted);font-size:.82rem}.related-category-card b{margin-left:auto;color:var(--ck-green)}
.filter-list a{background:#f7faf8}.filter-list a:hover{background:var(--ck-green-soft);color:var(--ck-green)}
.site-footer{background:#063a2f}.footer-grid{padding-top:62px}.footer-bottom{padding-bottom:30px}
@media(max-width:1180px){.ck-search-form-premium{grid-template-columns:repeat(3,minmax(0,1fr))}.ck-search-submit{width:100%}.archive-search-bar .ck-search-form-premium{grid-template-columns:repeat(3,minmax(0,1fr))}.category-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.ck-container{width:min(calc(100% - 32px),var(--ck-container))}.header-inner{min-height:72px}.ck-symbol-logo img{height:50px;max-width:82px}.menu-toggle{display:flex;flex-direction:column;gap:4px}.menu-toggle span:not(.screen-reader-text){display:block;width:20px;height:2px;background:currentColor}.primary-nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;border-top:1px solid var(--ck-border);padding:18px 16px;box-shadow:0 16px 30px rgba(8,37,74,.08)}.primary-nav.is-open{display:block}.primary-nav ul{display:flex;flex-direction:column;align-items:stretch;gap:4px}.primary-nav a{display:block;padding:11px 12px;border-radius:9px}.archive-layout{grid-template-columns:1fr}.archive-sidebar .sidebar-card{position:static}.archive-layout .property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.destination-subareas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.related-term-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.related-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-search-bar{margin:24px 0 42px}.compact-archive-hero{padding-bottom:58px}}
@media(max-width:680px){.ck-container{width:min(calc(100% - 24px),var(--ck-container))}.destination-hero{min-height:340px}.destination-hero-content{padding-top:52px!important;padding-bottom:40px!important}.ck-archive-section{padding:44px 0 70px}.ck-search-form-premium,.archive-search-bar .ck-search-form-premium{display:flex;flex-direction:column;gap:13px}.ck-search-form-premium .search-field,.ck-search-submit{width:100%}.archive-layout .property-grid,.property-grid,.destination-subareas-grid,.related-term-grid,.related-category-grid{grid-template-columns:1fr}.archive-toolbar,.archive-section-title{align-items:flex-start;flex-direction:column;gap:10px}.archive-count{align-self:flex-start}.destination-intro{padding:24px}.no-results-wide{padding:28px}.related-term-card{height:200px}.footer-grid{grid-template-columns:1fr 1fr}.footer-bottom{flex-direction:column;align-items:flex-start;gap:8px}.ck-home-hero-copy h1{font-size:2.65rem}}
@media(max-width:460px){.footer-grid{grid-template-columns:1fr}.ck-symbol-logo img{height:46px}.header-inner{min-height:68px}.primary-nav{top:68px}}

/* v2.0.2 — Directory routing and graceful low-content layouts */
.ck-directory-district-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ck-directory-district-card{min-width:0}
.ck-directory-district-image{position:relative;display:block;height:300px;border-radius:18px;overflow:hidden;background:var(--ck-green-dark);box-shadow:var(--ck-shadow)}
.ck-directory-district-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.ck-directory-district-image:hover img{transform:scale(1.04)}
.ck-directory-district-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(2,29,22,.88))}
.ck-directory-district-image>span{position:absolute;z-index:2;left:22px;right:22px;bottom:20px;color:#fff}
.ck-directory-district-image strong,.ck-directory-district-image small{display:block}.ck-directory-district-image strong{font-size:1.45rem}.ck-directory-district-image small{margin-top:4px;color:rgba(255,255,255,.82)}
.ck-directory-note{margin:14px 2px 0;color:var(--ck-muted);font-size:.9rem}
.ck-stay-type-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ck-stay-type-directory .ck-premium-category-card{min-height:126px}.ck-stay-type-directory small{display:block;margin-top:7px;color:var(--ck-muted);line-height:1.45}
.no-results-wide{grid-column:1/-1;max-width:760px;min-height:0;padding:36px}
.empty-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--ck-green-soft);color:var(--ck-green);font-size:1.25rem;margin-bottom:18px}
.ck-premium-destination-grid.ck-count-1{grid-template-columns:minmax(260px,420px)}
.ck-premium-destination-grid.ck-count-2{grid-template-columns:repeat(2,minmax(240px,360px))}
.ck-premium-destination-grid.ck-count-3{grid-template-columns:repeat(3,minmax(220px,1fr))}
.ck-premium-destination-grid.ck-count-1,.ck-premium-destination-grid.ck-count-2{justify-content:start}
.ck-home-property-grid:has(.no-results-wide),.ck-guide-grid:has(.no-results-wide){grid-template-columns:minmax(0,760px)}
.ck-directory-district-grid.ck-count-1{grid-template-columns:minmax(280px,520px)}
.ck-directory-district-grid.ck-count-2{grid-template-columns:repeat(2,minmax(280px,520px))}
.ck-stay-type-directory.ck-count-1{grid-template-columns:minmax(280px,520px)}
.ck-stay-type-directory.ck-count-2{grid-template-columns:repeat(2,minmax(280px,520px))}
@media(max-width:900px){.ck-directory-district-grid,.ck-stay-type-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.ck-directory-district-grid,.ck-stay-type-directory,.ck-directory-district-grid.ck-count-2,.ck-stay-type-directory.ck-count-2{grid-template-columns:1fr}.ck-directory-district-image{height:260px}.no-results-wide{padding:26px}}

/* CasaKerala v2.0.2 — Universal Hero Framework */
.ck-universal-hero{position:relative;isolation:isolate;color:#fff;background:linear-gradient(135deg,#073f32 0%,#0c684f 100%);overflow:visible}
.ck-universal-hero.ck-hero-image{background-size:cover;background-position:center}
.ck-universal-hero-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,31,24,.88) 0%,rgba(3,31,24,.58) 45%,rgba(3,31,24,.18) 78%),linear-gradient(0deg,rgba(3,31,24,.42),transparent 58%)}
.ck-universal-hero-inner{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:330px;padding-top:58px;padding-bottom:62px}
.ck-universal-hero.ck-hero-image .ck-universal-hero-inner{min-height:520px;padding-top:74px;padding-bottom:50px}
.ck-universal-hero-content{max-width:780px}
.ck-universal-hero-kicker{display:inline-flex;align-items:center;margin:0 0 16px;padding:7px 12px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.12);font-size:.76rem;font-weight:850;letter-spacing:.075em;text-transform:uppercase;color:#fff}
.ck-universal-hero h1{max-width:760px;margin:0 0 14px;color:#fff;font-size:clamp(2.75rem,5vw,4.8rem);line-height:1.02;letter-spacing:-.048em}
.ck-universal-hero-description{max-width:760px;margin:0;color:rgba(255,255,255,.9);font-size:clamp(1rem,1.35vw,1.18rem);line-height:1.62}
.ck-hero-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 22px;font-size:.86rem;color:rgba(255,255,255,.72)}
.ck-hero-breadcrumbs a{color:#fff;text-decoration:none}.ck-hero-breadcrumbs a:hover{text-decoration:underline}
.ck-hero-stats{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.ck-hero-stat{display:flex;min-width:132px;flex-direction:column;padding:13px 17px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(255,255,255,.1);backdrop-filter:blur(5px)}
.ck-hero-stat strong{color:#fff;font-size:1.3rem;line-height:1.1}.ck-hero-stat span{margin-top:5px;color:rgba(255,255,255,.74);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.045em}
.ck-universal-hero-search{width:100%;margin-top:34px;padding:20px;border-radius:20px;background:rgba(255,255,255,.985);box-shadow:0 22px 58px rgba(0,0,0,.24);color:var(--ck-ink)}
.ck-universal-hero-transition{position:absolute;right:0;bottom:-1px;left:0;height:28px;background:linear-gradient(to bottom,rgba(255,255,255,0),#f7faf8);clip-path:polygon(0 55%,100% 0,100% 100%,0 100%);pointer-events:none}
.ck-home-universal-hero .ck-universal-hero-content{max-width:650px}
.ck-stays-universal-hero .ck-universal-hero-inner{padding-bottom:46px}
.ck-stays-universal-hero + .ck-archive-section{padding-top:48px}
.ck-destinations-universal-hero + .ck-archive-section,.ck-types-universal-hero + .ck-archive-section{padding-top:54px}
@media(max-width:900px){.ck-universal-hero-inner{min-height:300px;padding-top:48px;padding-bottom:52px}.ck-universal-hero.ck-hero-image .ck-universal-hero-inner{min-height:560px;padding-top:54px}.ck-universal-hero-search{padding:16px}.ck-hero-stat{min-width:116px}}
@media(max-width:680px){.ck-universal-hero-inner{min-height:auto;padding-top:42px;padding-bottom:48px}.ck-universal-hero.ck-hero-image .ck-universal-hero-inner{min-height:650px;padding-top:42px;padding-bottom:38px}.ck-universal-hero h1{font-size:2.65rem}.ck-universal-hero-description{font-size:1rem}.ck-hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:22px}.ck-hero-stat{min-width:0;padding:12px}.ck-hero-stat:last-child:nth-child(odd){grid-column:1/-1}.ck-universal-hero-search{margin-top:26px;padding:14px;border-radius:16px}.ck-universal-hero-transition{height:18px}}


/* CasaKerala v2.0.2.1 — Home-only hero refinement */
.ck-page-intro{padding:54px 0 34px;background:#f7faf8;border-bottom:1px solid var(--ck-border)}
.ck-page-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 24px;color:var(--ck-muted);font-size:.86rem}
.ck-page-breadcrumbs a{color:var(--ck-green-dark);font-weight:700;text-decoration:none}.ck-page-breadcrumbs a:hover{text-decoration:underline}
.ck-page-intro-row{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-top:10px}
.ck-page-intro h1{margin:0 0 12px;color:var(--ck-ink);font-size:clamp(2.35rem,4.4vw,4rem);line-height:1.04;letter-spacing:-.045em}
.ck-page-intro p{max-width:760px;margin:0;color:var(--ck-muted);font-size:1.05rem;line-height:1.65}
.ck-page-summary{display:flex;align-items:stretch;gap:10px;flex:0 0 auto}
.ck-page-summary span{display:flex;min-width:118px;flex-direction:column;padding:13px 16px;border:1px solid var(--ck-border);border-radius:14px;background:#fff;color:var(--ck-muted);font-size:.76rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;box-shadow:0 10px 26px rgba(8,55,43,.05)}
.ck-page-summary strong{margin-bottom:5px;color:var(--ck-ink);font-size:1.35rem;line-height:1}
.ck-page-search-card{margin-top:28px;padding:18px;border:1px solid var(--ck-border);border-radius:18px;background:#fff;box-shadow:0 14px 36px rgba(8,55,43,.08)}
.ck-page-intro + .ck-archive-section{padding-top:44px}
@media(max-width:820px){.ck-page-intro{padding:42px 0 28px}.ck-page-intro-row{align-items:flex-start;flex-direction:column}.ck-page-summary{width:100%;flex-wrap:wrap}.ck-page-summary span{flex:1;min-width:130px}.ck-page-search-card{padding:14px}}
@media(max-width:540px){.ck-page-intro h1{font-size:2.5rem}.ck-page-intro p{font-size:1rem}.ck-page-summary{display:grid;grid-template-columns:1fr 1fr}.ck-page-summary span{min-width:0}.ck-page-search-card{border-radius:15px}}

.ck-page-intro-search-only{padding:24px 0 12px;background:#f7fbf9}.ck-page-intro-search-only .ck-page-search-card{margin:0}.ck-page-intro-search-only+.ck-archive-section,.ck-page-intro-search-only+section{padding-top:0}
/* v2.0.7: All Stays archive uses full width after redundant sidebar removal. */
.archive-layout.archive-layout-full{grid-template-columns:minmax(0,1fr)}


/* =========================================================
   CasaKerala v2.0.8 — Mobile Search, Filter & Grid Refinement
   Mobile-only controls. Desktop layout remains unchanged.
   ========================================================= */
.ck-mobile-search-actions,
.ck-mobile-sheet{display:none}

@media(max-width:680px){
  body.ck-sheet-open{overflow:hidden}

  .ck-search-desktop-form{display:none!important}
  .ck-mobile-search-actions{
    display:grid;
    grid-template-columns:1.25fr 1fr 1fr;
    gap:8px;
    width:100%;
  }
  .ck-mobile-action{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:48px;
    padding:10px 9px;
    border:1px solid var(--ck-border);
    border-radius:13px;
    background:#fff;
    color:var(--ck-ink);
    font:inherit;
    font-size:.9rem;
    font-weight:800;
    line-height:1;
    cursor:pointer;
  }
  .ck-mobile-action-search{
    border-color:var(--ck-orange);
    background:var(--ck-orange);
    color:#fff;
  }
  .ck-mobile-action span[aria-hidden="true"]{font-size:1rem}

  .ck-page-search-card,
  .ck-universal-hero-search{
    padding:10px;
    border-radius:15px;
  }
  .ck-universal-hero-search{margin-top:22px}
  .ck-universal-hero.ck-hero-image .ck-universal-hero-inner{
    min-height:560px;
    padding-bottom:34px;
  }

  .ck-mobile-sheet{
    position:fixed;
    inset:0;
    z-index:99999;
    align-items:flex-end;
    justify-content:center;
  }
  .ck-mobile-sheet.is-open{display:flex}
  .ck-mobile-sheet-backdrop{
    position:absolute;
    inset:0;
    background:rgba(4,28,22,.58);
    backdrop-filter:blur(2px);
  }
  .ck-mobile-sheet-panel{
    position:relative;
    z-index:1;
    width:100%;
    max-height:min(86vh,760px);
    overflow:auto;
    padding:18px 18px calc(18px + env(safe-area-inset-bottom));
    border-radius:22px 22px 0 0;
    background:#fff;
    box-shadow:0 -18px 50px rgba(4,28,22,.2);
    animation:ckSheetUp .22s ease-out;
  }
  @keyframes ckSheetUp{
    from{transform:translateY(24px);opacity:.75}
    to{transform:translateY(0);opacity:1}
  }
  .ck-mobile-sheet-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:18px;
  }
  .ck-mobile-sheet-head h2{
    margin:0;
    font-size:1.35rem;
    letter-spacing:-.02em;
  }
  .ck-sheet-close{
    display:grid;
    place-items:center;
    flex:0 0 42px;
    width:42px;
    height:42px;
    padding:0;
    border:1px solid var(--ck-border);
    border-radius:50%;
    background:#fff;
    color:var(--ck-ink);
    font-size:1.8rem;
    line-height:1;
    cursor:pointer;
  }
  .ck-mobile-sheet-form{
    display:flex;
    flex-direction:column;
    gap:9px;
  }
  .ck-mobile-sheet-form label{
    margin-top:5px;
    color:var(--ck-ink);
    font-size:.78rem;
    font-weight:850;
    letter-spacing:.045em;
    text-transform:uppercase;
  }
  .ck-mobile-sheet-form input,
  .ck-mobile-sheet-form select{
    width:100%;
    min-height:52px;
    padding:0 14px;
    border:1px solid var(--ck-border);
    border-radius:13px;
    background:#fff;
    color:var(--ck-ink);
    font:inherit;
  }
  .ck-mobile-date-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
  }
  .ck-mobile-date-grid>div{
    display:flex;
    min-width:0;
    flex-direction:column;
    gap:9px;
  }
  .ck-sheet-submit{
    width:100%;
    min-height:52px;
    margin-top:10px;
    background:var(--ck-orange);
  }

  /* Two-column mobile taxonomy cards, matching Stay Type cards. */
  .ck-premium-destination-grid,
  .ck-directory-district-grid,
  .ck-stay-type-directory,
  .related-term-grid,
  .related-category-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .ck-directory-district-grid.ck-count-1,
  .ck-directory-district-grid.ck-count-2,
  .ck-stay-type-directory.ck-count-1,
  .ck-stay-type-directory.ck-count-2{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .ck-premium-destination-card,
  .ck-directory-district-image{
    height:210px;
  }
  .related-term-card{height:180px}
  .ck-destination-copy,
  .ck-directory-district-image>span,
  .related-term-card>span{
    left:12px;
    right:12px;
    bottom:12px;
  }
  .ck-destination-copy strong,
  .ck-directory-district-image strong,
  .related-term-card strong{
    font-size:1rem;
    line-height:1.12;
    overflow-wrap:anywhere;
  }
  .ck-destination-copy small,
  .ck-directory-district-image small,
  .related-term-card small{
    font-size:.78rem;
  }
  .destination-city-links{
    gap:6px;
    margin-top:8px;
  }
  .destination-city-links a{
    padding:7px 10px;
    font-size:.78rem;
  }
  .ck-directory-note{
    font-size:.78rem;
    line-height:1.45;
  }
}

@media(max-width:390px){
  .ck-mobile-search-actions{grid-template-columns:1.15fr 1fr 1fr;gap:6px}
  .ck-mobile-action{padding-inline:6px;font-size:.82rem}
  .ck-premium-destination-card,
  .ck-directory-district-image{height:190px}
  .related-term-card{height:165px}
}
/* v2.0.8.1 — Mobile menu button visibility fix only */
@media (max-width: 900px) {
  .menu-toggle {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    color: #143c33 !important;
  }
  .menu-toggle > span:not(.screen-reader-text) {
    display: block !important;
    width: 22px !important;
    height: 3px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background-color: #143c33 !important;
    opacity: 1 !important;
    visibility: visible !important;
    flex: 0 0 3px !important;
  }
}


/* v2.1.0 Smart Price Comparison Engine */
.partner-link.is-best-price{border-color:var(--ck-green);background:linear-gradient(90deg,var(--ck-green-soft),#fff);box-shadow:0 8px 22px rgba(15,91,69,.10)}
.partner-identity>span{display:grid;gap:4px;min-width:0}
.best-price-badge{display:inline-flex;width:max-content;padding:3px 7px;border-radius:999px;background:var(--ck-green);color:#fff;font-size:.64rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.partner-offer{display:grid;grid-template-columns:auto auto;align-items:center;justify-items:end;column-gap:7px;min-width:105px;color:var(--partner-accent,var(--ck-green))}
.partner-offer small{grid-column:1/2;color:var(--ck-muted);font-size:.67rem;line-height:1}
.partner-price{font-size:1rem;white-space:nowrap}
.partner-check-price{max-width:110px;text-align:right;font-size:.76rem;line-height:1.2}
@media(max-width:420px){.partner-offer{min-width:92px}.partner-price{font-size:.92rem}.partner-check-price{font-size:.7rem}}


/* v2.2.0 Premium Homepage Experience */
.ck-home-property-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  align-items:stretch;
}
.ck-home-property-grid:has(.no-results-wide){grid-template-columns:minmax(0,760px)}
.ck-home-stay-card{
  min-width:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--ck-border);
  border-radius:18px;
  background:#fff;
  box-shadow:0 9px 28px rgba(10,49,37,.07);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.ck-home-stay-card:hover{
  transform:translateY(-4px);
  border-color:#bad8cd;
  box-shadow:0 16px 38px rgba(10,49,37,.13);
}
.ck-home-stay-image{
  position:relative;
  display:block;
  aspect-ratio:4/3;
  overflow:hidden;
  background:linear-gradient(110deg,#edf4f1 8%,#f7faf9 18%,#edf4f1 33%);
  background-size:200% 100%;
  animation:ck-home-card-shimmer 1.5s linear infinite;
}
.ck-home-stay-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .35s ease;
}
.ck-home-stay-card:hover .ck-home-stay-image img{transform:scale(1.035)}
.ck-home-stay-type{
  position:absolute;
  left:14px;
  top:14px;
  max-width:calc(100% - 28px);
  padding:7px 11px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:var(--ck-green-dark);
  font-size:.75rem;
  font-weight:850;
  line-height:1;
  text-overflow:ellipsis;
  white-space:nowrap;
  box-shadow:0 5px 18px rgba(3,31,22,.13);
}
.ck-home-stay-body{
  flex:1;
  display:flex;
  flex-direction:column;
  padding:18px;
}
.ck-home-stay-location{
  margin-bottom:7px;
  color:var(--ck-green);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.ck-home-stay-body h3{
  margin:0;
  font-size:1.15rem;
  line-height:1.3;
}
.ck-home-stay-body h3 a{color:var(--ck-ink);text-decoration:none}
.ck-home-stay-footer{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin-top:auto;
  padding-top:18px;
}
.ck-home-stay-price{min-width:0;line-height:1.15}
.ck-home-stay-price small{display:block;margin-bottom:3px;color:var(--ck-muted);font-size:.72rem}
.ck-home-stay-price strong{font-size:1.06rem;color:var(--ck-ink)}
.ck-home-stay-price span{color:var(--ck-muted);font-size:.72rem}
.ck-home-stay-action{
  flex:0 0 auto;
  color:var(--ck-green);
  font-size:.82rem;
  font-weight:850;
  text-decoration:none;
  white-space:nowrap;
}
.ck-home-section .section-head .text-link{align-self:flex-end;margin-bottom:5px}
@keyframes ck-home-card-shimmer{to{background-position-x:-200%}}
@media(max-width:980px){
  .ck-home-property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .ck-home-property-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:20px;
    margin-right:0;
    padding-right:0;
    overflow:visible;
  }
  .ck-home-property-grid:has(.no-results-wide){display:block}
  .ck-home-stay-card{
    width:100%;
    min-width:0;
  }
  .ck-home-section .section-head .text-link{align-self:flex-start;margin-bottom:0}
}

/* v2.2.2 — Unified Property Listing Cards */
.archive-layout-full .property-grid,
.archive-main .property-grid,
.search-results .property-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.property-grid .ck-home-stay-card {
  min-width: 0;
  width: 100%;
}

@media (max-width: 900px) {
  .archive-layout-full .property-grid,
  .archive-main .property-grid,
  .search-results .property-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .archive-layout-full .property-grid,
  .archive-main .property-grid,
  .search-results .property-grid {
    grid-template-columns: 1fr;
  }
}
