/* KOOMKAA storefront design system. Legacy theme adaptations are isolated in
   a layer so important declarations do not need escalating specificity. */
.kk-store {
  /* 60% — primary sky (Light Blue 100 family): page atmosphere, surfaces, chips */
  --kk-primary:#B3E5FC; --kk-primary-50:#EDF8FE; --kk-primary-100:#DFF2FD; --kk-primary-200:#8FD8FA;
  --kk-primary-600:#0288D1; --kk-primary-700:#0277BD; --kk-primary-900:#01466E;
  /* 30% — secondary warm: CTAs, prices, emphasis. -deep carries white text at AA. */
  /* Buttons carry #FF7043 as specified. White on it is 2.74:1, below the
     WCAG AA 4.5:1 for normal text — a deliberate brand call, recorded here
     so it is not silently "fixed" later. Hover deepens for feedback only. */
  --kk-secondary:#FF7043; --kk-secondary-deep:#FF7043; --kk-secondary-press:#E64A19; --kk-secondary-50:#FFF0EA;
  /* 10% — accent: savings, highlights, promo strips. -ink is the readable text on it. */
  --kk-accent:#FFF9C4; --kk-accent-ink:#7A5C00; --kk-accent-line:#F2E59A;
  --kk-ink:#0e3550; --kk-muted:#5b7a8c; --kk-line:#d8e9f2; --kk-surface:#F4FAFE;
  --kk-success:#1B7A54; --kk-success-bg:#E4F2EB;
  /* legacy aliases kept so pre-existing rules retint without being rewritten */
  --kk-orange:var(--kk-secondary-deep); --kk-orange-hover:var(--kk-secondary-press);
  --kk-peach:var(--kk-secondary-50); --kk-blue:#e3f4fd;
  --kk-radius:20px; --kk-shadow:0 12px 40px #0e355008;
  background:#fff; color:var(--kk-ink);
}
.kk-store .kk-container { width:min(1280px,calc(100% - 80px)); margin-inline:auto; }
.kk-store [class^="kk-"] { box-sizing:border-box; }
.kk-store .kk-eyebrow { display:inline-flex; align-items:center; gap:9px; font-size:11px; font-weight:650; line-height:1.8; letter-spacing:1.8px; color:#5f8399; }
.kk-store .kk-status-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:#38886f; flex-shrink:0; }
.kk-store .kk-button { display:inline-flex; justify-content:center; align-items:center; gap:12px; min-height:48px; padding:12px 22px; border:1px solid transparent; border-radius:12px; background:var(--kk-orange); color:#fff; font-size:14px; line-height:1.5; font-weight:600; text-decoration:none; cursor:pointer; transition:background .18s,box-shadow .18s,transform .18s; width:auto; }
.kk-store .kk-button:hover { background:var(--kk-orange-hover); color:#fff; }
.kk-store .kk-button:active { transform:translateY(1px); }
.kk-store .kk-button-secondary { background:white; border-color:var(--kk-line); color:var(--kk-ink); }
.kk-store .kk-button-secondary:hover { background:var(--kk-blue); color:var(--kk-ink); }
.kk-store .kk-button:disabled,.kk-store .kk-button.is-unavailable { background:#e4edf3; color:#5b7a8c; cursor:not-allowed; box-shadow:none; }
.kk-store .kk-add-button.is-added { background:#e4f2eb; color:#24694e; }
.kk-store .kk-add-button.is-loading { cursor:wait; }
.kk-store .kk-add-button .btn-text,.kk-store .kk-add-button .arrow-icon,.kk-store .kk-add-button i { color:inherit; background:transparent; font-size:inherit; }
.kk-store .kk-text-link { display:inline-flex; gap:12px; align-items:center; color:var(--kk-ink); font-weight:600; font-size:14px; min-height:44px; }
.kk-store .kk-text-link:hover { color:var(--kk-orange); }
.kk-topline { background:var(--kk-blue); font-size:11px; color:#356584; }
.kk-topline .kk-container { display:flex; align-items:center; justify-content:space-between; min-height:34px; }
.kk-topline a { color:inherit; }
.kk-header { background:#fff; border-bottom:1px solid var(--kk-line); position:relative; z-index:40; }
.kk-header-main { display:flex; gap:46px; align-items:center; min-height:98px; }
.kk-store .kk-brand { display:inline-flex; align-items:center; gap:9px; color:var(--kk-ink); font-family:inherit; font-size:29px; letter-spacing:-1.8px; font-weight:700; flex-shrink:0; text-decoration:none; }
.kk-brand-dot { color:#ff7043; margin-left:-7px; }
.kk-brand-mark { display:inline-flex; align-items:center; justify-content:center; border-radius:11px; width:34px; height:36px; background:#dff2fd; font-size:27px; letter-spacing:-4px; padding-right:5px; }
.kk-brand-mark span { color:#ff7043; font-size:16px; align-self:flex-start; line-height:1.3; }
.kk-search { display:flex; flex:1; gap:14px; align-items:center; background:#f1f7fc; border:1px solid #ddebf4; border-radius:12px; padding:4px 6px 4px 17px; height:48px; }
.kk-store .kk-search input { width:100%; min-width:0; height:40px; border:0; padding:0; outline:none; background:transparent; font-size:13px; color:var(--kk-ink); }
.kk-store .kk-search button { width:36px; height:36px; flex-shrink:0; border:0; border-radius:9px; background:#fff; color:var(--kk-orange); font-size:21px; }
.kk-search:focus-within { outline:2px solid #4fb3e8; outline-offset:2px; }
.kk-header-actions { display:flex; align-items:center; gap:24px; }
.kk-store .kk-header-actions a { display:flex; align-items:center; gap:9px; color:var(--kk-ink); font-size:13px; white-space:nowrap; min-height:44px; }
.kk-header-actions i { font-size:18px; }
.kk-cart-link b { display:grid; place-items:center; width:22px; height:22px; border-radius:50%; color:#9c3a12; background:var(--kk-peach); font-size:11px; }
.kk-store .kk-nav { display:flex; align-items:center; gap:29px; min-height:49px; overflow-x:auto; scrollbar-width:none; }
.kk-store .kk-nav a { color:#3d6a85; font-size:12px; font-weight:500; white-space:nowrap; padding-block:14px; }
.kk-store .kk-nav a:hover { color:var(--kk-orange); }
.kk-nav-last { margin-left:auto; }
.kk-hero { display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:60px; padding-block:54px 66px; }
.kk-hero-copy { padding-block:20px; }
.kk-store .kk-hero h1 { color:var(--kk-ink); font-size:clamp(38px,4.2vw,59px); line-height:1.3; font-weight:500; letter-spacing:-2px; margin:22px 0; }
.kk-hero h1 em { font-style:normal; color:var(--kk-orange); }
.kk-store .kk-hero-copy>p { font-size:15px; line-height:1.95; max-width:420px; color:var(--kk-muted); margin-bottom:28px; }
.kk-hero-actions { display:flex; flex-wrap:wrap; gap:26px; align-items:center; }
.kk-hero-note { display:flex; gap:9px; align-items:center; color:#5f8399; margin-top:30px; font-size:12px; }
.kk-hero-visual { position:relative; height:456px; border-radius:26px 26px 88px 26px; background:var(--kk-blue); margin-left:15px; }
.kk-hero-visual>img { width:100%; height:100%; object-fit:cover; object-position:50% 40%; border-radius:inherit; }
.kk-hero-image-label { position:absolute; inset:0; border-radius:inherit; background:linear-gradient(0deg,#083049cc,transparent 60%); display:flex; flex-direction:column; justify-content:flex-end; padding:35px; gap:10px; color:white; }
.kk-hero-image-label span { font-size:10px; letter-spacing:2px; opacity:.85; }
.kk-hero-image-label b { max-width:280px; font-size:24px; line-height:1.5; font-weight:500; }
.kk-hero-float { position:absolute; left:-36px; top:35px; display:flex; gap:13px; align-items:center; border:1px solid #ffffff8a; border-radius:15px; background:#ffffffed; box-shadow:0 12px 30px #0e355016; padding:15px 20px; backdrop-filter:blur(12px); }
.kk-hero-float strong,.kk-hero-float div>span { display:block; font-size:12px; }
.kk-hero-float div>span { color:var(--kk-muted); font-size:10px; margin-top:4px; }
.kk-care-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; background:var(--kk-peach); color:var(--kk-orange); font-size:20px; flex-shrink:0; }
.kk-categories { padding-block:15px 65px; }
.kk-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:27px; }
.kk-store .kk-section-heading h2,.kk-store .kk-how h2,.kk-store .kk-provider-banner h2 { font-size:29px; line-height:1.5; font-weight:500; letter-spacing:-.7px; color:var(--kk-ink); margin:8px 0 0; }
.kk-store .kk-section-heading p { font-size:14px; color:var(--kk-muted); margin:9px 0 0; }
.kk-category-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:13px; }
.kk-store .kk-category { border:1px solid var(--kk-line); border-radius:16px; display:flex; flex-direction:column; align-items:flex-start; padding:21px 17px; color:var(--kk-ink); transition:background .18s,border-color .18s; }
.kk-category:hover { background:#eaf6fe; border-color:#8fd1f0; }
.kk-category-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; background:var(--kk-blue); font-size:21px; color:#0277bd; margin-bottom:18px; }
.kk-category:nth-child(2n) .kk-category-icon { background:var(--kk-peach); color:var(--kk-orange); }
.kk-category strong { font-size:13px; font-weight:600; }
.kk-category>span:last-child { display:flex; justify-content:space-between; width:100%; margin-top:7px; color:#6c8da1; font-size:10px; }
.kk-curated { background:#f1f9fe; padding-block:62px; }
.kk-package-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.kk-package-card { display:flex; flex-direction:column; height:100%; min-width:0; background:#fff; border:1px solid #ddebf4; border-radius:18px; overflow:hidden; transition:box-shadow .22s,border-color .22s; }
.kk-package-card:hover { border-color:#a8cfe6; }
.kk-package-image { position:relative; aspect-ratio:1.45; overflow:hidden; background:var(--kk-blue); }
.kk-package-image>a { display:block; width:100%; height:100%; }
.kk-package-image img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.kk-package-card:hover img { transform:scale(1.025); }
.kk-package-category { position:absolute; left:13px; bottom:12px; padding:5px 9px; border-radius:6px; background:#fffffff2; color:#3a6a85; font-size:10px; max-width:calc(100% - 60px); }
.kk-store .kk-quickview { position:absolute; right:12px; top:12px; display:grid; place-items:center; height:36px; width:36px; background:#fffffff2; color:var(--kk-ink); border:1px solid #ffffff7a; border-radius:50%; cursor:pointer; padding:0; }
.kk-quickview:hover { background:var(--kk-peach); }
.kk-package-body { padding:21px 19px 18px; display:flex; flex-direction:column; flex:1; }
.kk-store .kk-package-body h3 { font-size:16px; line-height:1.7; font-weight:600; margin:0 0 10px; color:var(--kk-ink); min-height:54px; }
.kk-store .kk-package-body h3 a { color:inherit; }
.kk-package-provider { font-size:11px; color:var(--kk-muted); margin:0 0 10px; display:flex; gap:7px; }
.kk-store .kk-package-detail { font-size:11px; display:flex; align-items:center; gap:8px; color:#5f8399; padding:3px 0 13px; margin-top:auto; min-height:36px; }
.kk-package-bottom { display:flex; align-items:center; justify-content:space-between; gap:9px; border-top:1px solid #e6f1f8; padding-top:16px; }
.kk-price-label { display:block; font-size:10px; color:var(--kk-muted); margin-bottom:4px; }
.kk-store .kk-price { display:block; color:var(--kk-ink); font-size:23px; letter-spacing:-.6px; line-height:1.3; font-weight:600; }
.kk-package-bottom del { font-size:11px; color:var(--kk-muted); }
.kk-store .kk-package-bottom .kk-button { min-height:42px; padding:9px 13px; border-radius:10px; font-size:12px; gap:7px; }
.kk-how { display:grid; grid-template-columns:1fr 1.3fr; gap:90px; padding-block:82px; }
.kk-store .kk-how h2 { font-size:35px; }
.kk-store .kk-how p { font-size:14px; color:var(--kk-muted); line-height:1.8; margin:12px 0 0; }
.kk-how-steps>div { display:flex; gap:25px; padding:23px 0; border-bottom:1px solid var(--kk-line); }
.kk-how-steps>div:first-child { padding-top:0; }
.kk-how-steps>div>span { font-size:14px; font-weight:600; color:var(--kk-orange); padding-top:3px; }
.kk-store .kk-how h3 { font-size:17px; font-weight:600; color:var(--kk-ink); margin:0; }
.kk-how-steps p { margin-top:6px; }
.kk-provider-banner { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:42px; background:var(--kk-blue); border-radius:22px; margin-bottom:76px; }
.kk-store .kk-provider-banner p { margin:12px 0 0; color:var(--kk-muted); font-size:14px; }
.kk-provider-banner .kk-button { flex-shrink:0; }
.kk-footer { background:#f6fbfe; border-top:1px solid var(--kk-line); padding-top:54px; }
.kk-footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:50px; padding-bottom:45px; }
.kk-store .kk-footer p { font-size:12px; color:var(--kk-muted); line-height:1.9; margin:18px 0; }
.kk-store .kk-footer h3 { color:var(--kk-ink); font-size:13px; font-weight:600; margin:8px 0 16px; }
.kk-footer-grid>div>a:not(.kk-brand) { display:block; color:var(--kk-muted); font-size:12px; padding:7px 0; }
.kk-footer-bottom { padding:22px 0; border-top:1px solid var(--kk-line); display:flex; justify-content:space-between; gap:20px; color:#6c8da1; font-size:10px; }
.kk-store .kk-page-heading { margin-bottom:30px; }
.kk-store .kk-page-heading h1 { font-size:32px; font-weight:500; color:var(--kk-ink); line-height:1.5; margin:10px 0; }
.kk-store .kk-page-heading p { color:var(--kk-muted); font-size:14px; }
.kk-detail { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(330px,1fr); gap:64px; padding-block:32px 65px; align-items:start; }
.kk-detail-main-image { width:100%; aspect-ratio:1.4; object-fit:cover; border-radius:20px; background:var(--kk-blue); }
.kk-detail-thumbnails { display:flex; gap:10px; margin-top:12px; }
.kk-detail-thumbnails button { width:70px; height:60px; padding:3px; border:1px solid var(--kk-line); border-radius:9px; background:#fff; }
.kk-detail-thumbnails button.is-active { border-color:var(--kk-orange); }
.kk-detail-thumbnails img { width:100%; height:100%; object-fit:cover; border-radius:6px; }
.kk-detail-section { margin-top:40px; }
.kk-store .kk-detail h2 { font-size:22px; line-height:1.6; font-weight:500; color:var(--kk-ink); margin:9px 0 16px; }
.kk-store .kk-detail-section p { color:var(--kk-muted); font-size:14px; line-height:2; }
.kk-description { white-space:pre-line; }
.kk-detail-section details { border-top:1px solid var(--kk-line); padding:17px 0; }
.kk-detail-section summary { cursor:pointer; font-size:14px; color:var(--kk-ink); font-weight:600; padding:5px 0; }
.kk-detail-section details p { padding:12px 0 0; margin:0; }
.kk-detail-provider { display:flex; gap:20px; align-items:start; margin-top:28px; padding:25px; border-radius:16px; background:var(--kk-blue); }
.kk-store .kk-detail-provider h2 { font-size:18px; }
.kk-booking-box { position:sticky; top:24px; border:1px solid var(--kk-line); border-radius:22px; padding:32px; box-shadow:var(--kk-shadow); background:white; }
.kk-store .kk-booking-box h1,.kk-detail-mobile-title h1 { font-size:29px; line-height:1.6; font-weight:500; color:var(--kk-ink); margin:13px 0 17px; }
.kk-availability { display:inline-flex; align-items:center; gap:8px; font-size:11px; color:#327258; }
.kk-availability.is-unavailable { color:#b0431a; }
.kk-booking-price { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 13px; margin:26px 0 15px; }
.kk-booking-price>span { width:100%; font-size:11px; color:var(--kk-muted); }
.kk-store .kk-booking-price strong { color:var(--kk-ink); font-size:36px; line-height:1.3; font-weight:600; letter-spacing:-1px; }
.kk-booking-price del { color:var(--kk-muted); font-size:15px; }
.kk-store .kk-booking-box>p { font-size:12px; line-height:1.8; color:var(--kk-muted); }
.kk-booking-quantity { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:24px 0; border-top:1px solid var(--kk-line); padding-top:24px; }
.kk-booking-quantity label { font-size:13px; margin:0; }
.kk-quantity { display:flex; align-items:center; border:1px solid var(--kk-line); border-radius:10px; overflow:hidden; background:#fff; }
.kk-quantity button { width:38px; height:42px; padding:0; color:var(--kk-ink); border:0; background:#fff; font-size:19px; }
.kk-quantity button:disabled { color:#a3bfd0; }
.kk-store .kk-quantity input { width:36px; height:42px; padding:0; border:0; font-size:14px; text-align:center; background:white; appearance:textfield; }
.kk-quantity input::-webkit-inner-spin-button { appearance:none; }
.kk-booking-box>.kk-button { width:100%; }
.kk-booking-note { display:flex; gap:10px; padding-top:22px; margin-top:22px; border-top:1px solid var(--kk-line); color:var(--kk-muted); font-size:11px; line-height:1.9; }
.kk-detail-mobile-title,.kk-mobile-booking { display:none; }
.kk-store .kk-dialog { padding:0; width:min(820px,calc(100% - 32px)); max-height:90dvh; overflow:auto; border:0; border-radius:22px; color:var(--kk-ink); box-shadow:0 20px 80px #0e355033; }
.kk-dialog::backdrop { background:#0830497a; backdrop-filter:blur(5px); }
.kk-dialog-inner { position:relative; display:grid; grid-template-columns:1fr 1fr; }
.kk-dialog-inner>img { width:100%; height:100%; min-height:400px; object-fit:cover; }
.kk-dialog-inner>div { padding:46px 28px 30px; }
.kk-store .kk-dialog h2 { font-size:24px; color:var(--kk-ink); line-height:1.6; margin:13px 0; }
.kk-store .kk-dialog p { font-size:13px; line-height:1.9; color:var(--kk-muted); }
.kk-dialog .kk-button { width:100%; }
.kk-dialog .kk-text-link { margin-top:12px; }
.kk-store .kk-dialog-close { position:absolute; top:12px; right:12px; z-index:1; width:44px; height:44px; min-height:44px; display:grid; place-items:center; padding:0; border:1px solid var(--kk-line); background:white; color:var(--kk-ink); border-radius:50%; font-size:22px; line-height:1; }
.kk-booking-progress { display:flex; list-style:none; padding:0; margin:0 0 40px; gap:0; }
.kk-booking-progress li { display:flex; flex:1; gap:10px; align-items:center; position:relative; font-size:12px; color:#6c8da1; }
.kk-booking-progress li>span { width:29px; height:29px; border-radius:50%; border:1px solid var(--kk-line); display:grid; place-items:center; background:#fff; font-size:11px; flex-shrink:0; }
.kk-booking-progress li:not(:last-child)::after { content:''; height:1px; background:var(--kk-line); flex:1; margin:0 18px; }
.kk-booking-progress li b { font-weight:500; white-space:nowrap; }
.kk-booking-progress li.is-current { color:var(--kk-orange); }
.kk-booking-progress li.is-current>span { background:var(--kk-orange); color:white; border-color:var(--kk-orange); }
.kk-booking-progress li.is-complete>span { background:#e4f2eb; color:#24694e; border-color:#cbe2d7; }
.kk-checkout-hint { font-size:12px; padding:15px; background:var(--kk-blue); border-radius:12px; color:#356584; line-height:1.9; margin:15px 0; }
.kk-checkout-summary-title { display:flex; justify-content:space-between; gap:15px; align-items:center; margin-bottom:24px; }
.kk-store .kk-checkout-summary-title h2 { font-size:21px; font-weight:500; margin:0; color:var(--kk-ink); }
.kk-store .kk-checkout-summary-title a { font-size:12px; color:var(--kk-orange); }
.kk-store .kk-form-intro { font-size:12px; line-height:1.9; color:var(--kk-muted); margin:0 0 22px; }
@layer premium {
 .kk-store { font-size:14px!important; color:var(--kk-ink)!important; }
 .kk-store :where(button,a,input,select,textarea,summary):focus-visible { outline:3px solid #0288d1!important; outline-offset:3px!important; }
 .kk-store :where(button) { -webkit-tap-highlight-color:transparent; }
 .kk-store :where(.rts-btn.btn-primary) { background:var(--kk-orange)!important; border-color:var(--kk-orange)!important; color:#fff!important; border-radius:12px!important; min-height:46px!important; font-size:14px!important; padding:12px 22px!important; clip-path:none!important; }
 .kk-store :where(.rts-btn.btn-primary:hover) { background:var(--kk-orange-hover)!important; color:white!important; }
 .kk-store :where(.rts-btn.btn-primary span,.rts-btn.btn-primary div,.rts-btn.btn-primary i) { color:inherit!important; }
 .kk-store :where(.container) { max-width:1280px!important; width:calc(100% - 80px)!important; padding-inline:0!important; }
 .kk-store :where(.rts-section-gap) { padding-block:38px 65px!important; }
 .kk-store :where(.bg_light-1) { background:#f3fafe!important; }
 .kk-store :where(.rts-navigation-area-breadcrumb) { background:white!important; border-bottom:1px solid #e6f1f8!important; }
 .kk-store :where(.navigator-breadcrumb-wrapper) { padding-block:18px!important; font-size:11px!important; min-height:0!important; }
 .kk-store :where(.navigator-breadcrumb-wrapper a,.navigator-breadcrumb-wrapper span) { color:var(--kk-muted)!important; }
 .kk-store :where(.title-left,.title-area-between h2) { font-size:27px!important; font-weight:500!important; color:var(--kk-ink)!important; }
 .kk-store :where(.cover-card-main-over-white) { padding:0!important; border:0!important; background:transparent!important; }
 .kk-store :where(.popular-product-col-7-area) { padding-block:35px 65px!important; }
 .kk-store :where(.popular-product-col-7-area .row.g-3) { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr))!important; margin:0!important; gap:22px!important; }
 .kk-store :where(.popular-product-col-7-area .row.g-3>div) { width:100%!important; max-width:100%!important; padding:0!important; margin:0!important; }
 .kk-store :where(.shop-grid-sidebar-area) { background:#f4fafe!important; }
 .kk-store :where(.shop-grid-sidebar-area .sidebar-filter-main) { background:#fff!important; padding:22px!important; border:1px solid var(--kk-line)!important; border-radius:16px!important; }
 .kk-store :where(.shop-grid-sidebar-area .single-filter-box) { border:0!important; border-bottom:1px solid var(--kk-line)!important; }
 .kk-store :where(.single-filter-box .title,.single-filter-box h5) { font-size:15px!important; font-weight:600!important; color:var(--kk-ink)!important; background:transparent!important; }
 .kk-store :where(.filterbox-body) { padding:18px 0!important; }
 .kk-store :where(.filterbox-body input:not([type=range]),.shop-grid-sidebar-area select) { border:1px solid var(--kk-line)!important; border-radius:9px!important; background:#fff!important; min-height:44px!important; font-size:13px!important; }
 .kk-store :where(.rts-cart-list-area,.cart-total-area-start-right,.ekomart-cart-empty) { background:white!important; border:1px solid var(--kk-line)!important; border-radius:20px!important; box-shadow:var(--kk-shadow)!important; }
 .kk-store :where(.cart-total-area-start-right) { padding:27px!important; position:sticky!important; top:24px!important; }
 .kk-store :where(.cart-total-area-start-right .title) { font-size:22px!important; color:var(--kk-ink)!important; font-weight:500!important; }
 .kk-store :where(.single-cart-area-list) { padding:22px!important; border-color:var(--kk-line)!important; }
 .kk-store :where(.single-cart-area-list .thumbnail img) { border-radius:10px!important; object-fit:cover!important; }
 .kk-store :where(.single-cart-area-list .title) { color:var(--kk-ink)!important; font-size:14px!important; line-height:1.7!important; }
 .kk-store :where(.cart-total-area-start-right .price,.single-cart-area-list .subtotal p) { color:var(--kk-ink)!important; }
 .kk-store :where(.single-cart-area-list.head) { background:#f1f9fe!important; border-radius:20px 20px 0 0!important; }
 .kk-store :where(.single-cart-area-list .close) { height:32px!important; width:32px!important; color:#b0431a!important; border:1px solid var(--kk-line)!important; background:#fff!important; border-radius:50%!important; display:grid!important; place-items:center!important; }
 .kk-store :where(.bottom-cupon-code-cart-area) { padding:20px!important; }
 .kk-store :where(.quantity-edit) { border:1px solid var(--kk-line)!important; border-radius:10px!important; box-shadow:none!important; }
 .kk-store :where(.ekomart-checkout-grid [data-testid^="checkout-step-"],.ekomart-checkout-grid .ekomart-cart-wrap>div) { background:white!important; padding:28px!important; border:1px solid var(--kk-line)!important; border-radius:18px!important; box-shadow:none!important; }
 .kk-store :where(.ekomart-cart-wrap) { margin-bottom:18px!important; }
 .kk-store :where(.ekomart-checkout-grid h2) { font-size:19px!important; line-height:1.6!important; color:var(--kk-ink)!important; font-weight:600!important; }
 .kk-store :where(.ekomart-checkout-grid h3) { font-size:15px!important; color:var(--kk-ink)!important; }
 .kk-store :where(.ekomart-checkout-grid input:not([type=checkbox]):not([type=radio]),.ekomart-checkout-grid select,.ekomart-checkout-grid [aria-haspopup=listbox]) { min-height:48px!important; border:1px solid #bfd9e8!important; border-radius:10px!important; background:#fff!important; color:var(--kk-ink)!important; font-size:16px!important; padding:10px 12px!important; box-shadow:none!important; }
 .kk-store :where(.ekomart-checkout-grid label,.ekomart-checkout-grid .label-md) { font-size:12px!important; color:var(--kk-ink)!important; }
 .kk-store :where(.button-text) { border-radius:10px!important; min-height:46px!important; font-size:14px!important; display:inline-flex!important; justify-content:center!important; align-items:center!important; gap:9px!important; padding:11px 20px!important; }
 .kk-store :where(.button-text:not(:disabled)) { background:var(--kk-orange)!important; color:#fff!important; }
 .kk-store :where(.button-text:not(:disabled):hover) { background:var(--kk-orange-hover)!important; }
 .kk-store :where(.button-text:disabled) { background:#e3eef5!important; color:#5b7a8c!important; opacity:1!important; cursor:not-allowed!important; }
 .kk-store :where(.ekomart-checkout-grid [data-testid$="edit-button"]) { background:var(--kk-blue)!important; color:#0b5c86!important; min-height:36px!important; padding:6px 13px!important; font-size:12px!important; }
 .kk-store :where(.ekomart-checkout-grid [data-testid="cart-summary-total"] .label-xl) { font-size:26px!important; font-weight:600!important; }
 .kk-store :where(.ekomart-checkout-grid .text-small-regular,.ekomart-checkout-grid .txt-medium,.ekomart-checkout-grid p) { font-size:13px!important; line-height:1.8!important; }
 .kk-store :where(.ekomart-checkout-review .border) { border-color:var(--kk-line)!important; border-radius:12px!important; }
 .kk-store :where([role=alert]) { line-height:1.8!important; }
}
@media(min-width:1200px) {
 @layer premium { .kk-store :where(.koomkaa-filters) { padding-right:28px!important; } }
}
@media(max-width:1100px) {
 .kk-header-main { gap:24px; }
 .kk-header-account span { display:none; }
 .kk-hero { gap:32px; }
 .kk-hero-visual { height:400px; }
 .kk-hero-float { left:-18px; padding:12px; }
 .kk-package-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .kk-category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .kk-category { min-height:160px; }
 .kk-detail { gap:30px; }
 .kk-booking-box { padding:23px; }
 .kk-footer-grid { gap:30px; }
}
@media(max-width:767px) {
 .kk-store .kk-container { width:calc(100% - 36px); }
 .kk-topline .kk-container { min-height:29px; justify-content:center; font-size:10px; }
 .kk-topline a { display:none; }
 .kk-header-main { flex-wrap:wrap; gap:15px; padding-block:16px; min-height:0; }
 .kk-store .kk-brand { font-size:25px; }
 .kk-brand-mark { height:31px; width:30px; font-size:23px; }
 .kk-header-actions { margin-left:auto; gap:15px; }
 .kk-header-actions .kk-header-account { display:none; }
 .kk-store .kk-header-actions a { font-size:12px; min-height:34px; gap:7px; }
 .kk-search { order:3; flex-basis:100%; height:46px; }
 .kk-store .kk-search input { font-size:14px; }
 .kk-store .kk-nav { gap:24px; min-height:43px; }
 .kk-store .kk-nav a { font-size:11px; padding-block:11px; }
 .kk-nav-last { margin-left:0; }
 .kk-hero { grid-template-columns:1fr; gap:25px; padding-block:28px 38px; }
 .kk-hero-copy { padding:0; }
 .kk-store .kk-hero h1 { font-size:41px; letter-spacing:-1.6px; margin:17px 0; }
 .kk-store .kk-hero-copy>p { font-size:13px; line-height:1.9; margin-bottom:22px; max-width:100%; }
 .kk-hero-actions { gap:20px; }
 .kk-hero-actions .kk-button { font-size:13px; padding:12px 17px; }
 .kk-hero-actions .kk-text-link { font-size:12px; }
 .kk-hero-note { font-size:10px; margin-top:19px; }
 .kk-hero-visual { margin:0 0 0 10px; height:295px; border-radius:20px 20px 65px 20px; }
 .kk-hero-image-label { padding:25px; }
 .kk-hero-image-label b { font-size:20px; max-width:220px; }
 .kk-hero-float { left:-10px; top:20px; padding:11px 14px; }
 .kk-categories { padding-block:10px 35px; }
 .kk-section-heading { gap:15px; margin-bottom:20px; flex-wrap:wrap; }
 .kk-store .kk-section-heading h2,.kk-store .kk-provider-banner h2 { font-size:23px; }
 .kk-section-heading>.kk-text-link { font-size:11px; }
 .kk-store .kk-eyebrow { font-size:9px; letter-spacing:1.5px; }
 .kk-category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
 .kk-store .kk-category { padding:15px 10px; border-radius:13px; min-height:135px; }
 .kk-category-icon { width:34px; height:34px; font-size:18px; margin-bottom:12px; }
 .kk-category strong { font-size:11px; line-height:1.7; }
 .kk-category>span:last-child { font-size:8px; }
 .kk-curated { padding-block:33px; }
 .kk-section-heading .kk-button { padding:9px 14px; min-height:39px; font-size:11px; }
 .kk-store .kk-section-heading p { font-size:12px; }
 .kk-package-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .kk-package-card { border-radius:14px; }
 .kk-package-image { aspect-ratio:1.15; }
 .kk-package-category { font-size:8px; left:8px; bottom:8px; padding:4px 6px; max-width:calc(100% - 16px); }
 .kk-store .kk-quickview { width:32px; height:32px; top:8px; right:8px; font-size:12px; }
 .kk-package-body { padding:13px 12px; }
 .kk-store .kk-package-body h3 { font-size:13px; min-height:65px; line-height:1.7; margin-bottom:6px; }
 .kk-package-provider { font-size:10px; }
 .kk-package-bottom { flex-wrap:wrap; gap:10px; padding-top:12px; }
 .kk-store .kk-price { font-size:22px; }
 .kk-price-label { font-size:9px; }
 .kk-store .kk-package-bottom .kk-button { width:100%; min-height:40px; font-size:12px; }
 .kk-package-detail { font-size:10px; }
 .kk-how { grid-template-columns:1fr; gap:28px; padding-block:42px; }
 .kk-store .kk-how h2 { font-size:29px; }
 .kk-how-steps>div { gap:20px; padding-block:19px; }
 .kk-store .kk-how p { font-size:12px; }
 .kk-provider-banner { flex-direction:column; align-items:flex-start; gap:20px; padding:25px; margin-bottom:40px; }
 .kk-store .kk-provider-banner p { font-size:12px; }
 .kk-footer { padding-top:35px; padding-bottom:env(safe-area-inset-bottom); }
 .kk-footer-grid { grid-template-columns:1fr 1fr; gap:30px 20px; padding-bottom:30px; }
 .kk-footer-grid>div:first-child { grid-column:1/-1; }
 .kk-footer-partner { grid-column:1/-1; }
 .kk-footer-bottom { font-size:9px; }
 .kk-store .kk-page-heading h1 { font-size:26px; }
 .kk-detail { grid-template-columns:1fr; gap:26px; padding-block:20px 30px; }
 .kk-booking-box { position:static; padding:22px; }
 .kk-detail-section { margin-top:27px; }
 .kk-store .kk-detail h2 { font-size:20px; }
 .kk-store .kk-detail-section p { font-size:13px; }
 .kk-store .kk-booking-box h1 { font-size:24px; }
 .kk-booking-price strong { font-size:32px; }
 .kk-mobile-booking { position:fixed; inset:auto 0 0; z-index:45; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:12px 18px calc(12px + env(safe-area-inset-bottom)); background:#fffffff5; border-top:1px solid var(--kk-line); box-shadow:0 -5px 25px #0e355009; backdrop-filter:blur(12px); }
 .kk-mobile-booking>div>span { display:block; font-size:9px; color:var(--kk-muted); }
 .kk-mobile-booking strong { font-size:23px; color:var(--kk-ink); }
 .kk-mobile-booking .kk-button { font-size:12px; min-height:44px; }
 .kk-store:has(.kk-mobile-booking) .kk-footer { padding-bottom:100px; }
 .kk-dialog-inner { grid-template-columns:1fr; }
 .kk-dialog-inner>img { height:210px; min-height:0; }
 .kk-dialog-inner>div { padding:25px; }
 .kk-store .kk-dialog h2 { font-size:22px; }
 .kk-booking-progress { margin-bottom:26px; }
 .kk-booking-progress li { flex-direction:column; align-items:center; gap:8px; font-size:9px; }
 .kk-booking-progress li:not(:last-child)::after { position:absolute; top:14px; left:65%; width:70%; margin:0; }
 .kk-booking-progress li>span { position:relative; z-index:1; }
 @layer premium {
 .kk-store :where(.container) { width:calc(100% - 36px)!important; }
 .kk-store :where(.rts-section-gap) { padding-block:25px 38px!important; }
 .kk-store :where(.popular-product-col-7-area .row.g-3) { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:12px!important; }
 .kk-store :where(.popular-product-col-7-area) { padding-block:20px 38px!important; }
 .kk-store :where(.title-left,.title-area-between h2) { font-size:22px!important; }
 .kk-store :where(.ekomart-checkout-grid .col-12) { padding-inline:0!important; }
 .kk-store :where(.ekomart-checkout-grid) { margin-inline:0!important; }
 .kk-store :where(.ekomart-checkout-grid [data-testid^="checkout-step-"],.ekomart-checkout-grid .ekomart-cart-wrap>div) { padding:20px!important; }
 .kk-store :where(.ekomart-checkout-grid .grid-cols-2) { grid-template-columns:1fr!important; }
 .kk-store :where(.cart-total-area-start-right) { padding:22px!important; position:static!important; }
 .kk-store :where(.single-cart-area-list) { padding:16px!important; }
 .kk-store :where(.navigator-breadcrumb-wrapper) { flex-wrap:wrap!important; gap:8px!important; font-size:10px!important; padding-block:12px!important; }
 }
}
@media(prefers-reduced-motion:reduce) { .kk-store *, .kk-store *::before,.kk-store *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
@layer premium {
 .kk-store :where(.kk-button,.kk-button:visited,.kk-button:hover,.kk-button:focus,.kk-button .btn-text,.kk-button .arrow-icon,.kk-button i) { color:#fff!important; }
 .kk-store :where(.kk-button-secondary,.kk-button-secondary:hover,.kk-button-secondary:visited) { color:var(--kk-ink)!important; }
 .kk-store :where(.kk-button.is-added,.kk-button.is-added .btn-text,.kk-button.is-added i,.kk-button.is-added .arrow-icon) { color:#24694e!important; }
 .kk-store :where(.kk-button:disabled,.kk-button.is-unavailable,.kk-button.is-unavailable .btn-text,.kk-button.is-unavailable i) { color:#5b7a8c!important; }
 .kk-store :where(.kk-brand,.kk-package-body h3 a,.kk-category,.kk-header-actions a,.kk-text-link) { color:var(--kk-ink)!important; }
 .kk-store :where(.kk-text-link:hover,.kk-package-body h3 a:hover) { color:var(--kk-orange)!important; }
}
@media(min-width:768px) { .kk-category-grid { grid-template-columns:repeat(5,minmax(0,1fr)); } }
.kk-cart-page { padding-block:38px 70px; background:#f2f9fe; }
.kk-cart-grid { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(300px,1fr); gap:30px; align-items:start; }
.kk-cart-group { background:white; border:1px solid var(--kk-line); border-radius:18px; overflow:hidden; margin-bottom:18px; }
.kk-store .kk-cart-group>h2 { font-size:14px; font-weight:500; display:flex; align-items:center; gap:11px; margin:0; padding:20px 24px; background:#f8fcff; border-bottom:1px solid var(--kk-line); color:var(--kk-ink); }
.kk-cart-item { display:flex; align-items:center; gap:18px; padding:24px; border-bottom:1px solid #e6f1f8; }
.kk-cart-item:last-child { border-bottom:0; }
.kk-cart-item>img { width:85px; height:95px; border-radius:11px; object-fit:cover; }
.kk-cart-item-info { flex:1; min-width:0; }
.kk-store .kk-cart-item h3 { font-size:15px; line-height:1.7; color:var(--kk-ink); font-weight:600; margin:0 0 8px; }
.kk-store .kk-cart-item p { font-size:11px; color:var(--kk-muted); margin:0; }
.kk-store .kk-remove { background:transparent; border:0; padding:7px 0; margin-top:4px; min-height:32px; font-size:11px; color:#b0431a; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.kk-cart-item-actions { display:flex; flex-direction:column; align-items:flex-end; gap:15px; }
.kk-cart-item-actions>strong { font-size:18px; color:var(--kk-ink); }
.kk-cart-summary { position:sticky; top:24px; background:#fff; border:1px solid var(--kk-line); border-radius:20px; padding:28px; box-shadow:var(--kk-shadow); }
.kk-store .kk-cart-summary h2 { color:var(--kk-ink); font-size:23px; font-weight:500; margin:12px 0 24px; }
.kk-cart-summary dl>div { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:10px 0; font-size:13px; }
.kk-cart-summary dt { font-weight:400; color:var(--kk-muted); }
.kk-cart-summary dd { margin:0; font-weight:500; }
.kk-cart-summary .kk-cart-total { border-top:1px solid var(--kk-line); margin-top:15px; padding-block:22px; }
.kk-cart-total dd { font-size:26px; letter-spacing:-.5px; font-weight:600; }
.kk-cart-summary .kk-button { width:100%; }
.kk-store .kk-cart-summary>p { font-size:11px; line-height:1.9; color:var(--kk-muted); margin:16px 0 0; }
.kk-empty { padding:60px 25px; text-align:center; border:1px solid var(--kk-line); border-radius:20px; background:white; }
.kk-empty .kk-care-icon { margin:0 auto 20px; width:56px; height:56px; }
.kk-store .kk-empty h2 { font-size:25px; color:var(--kk-ink); line-height:1.6; }
.kk-store .kk-empty p { font-size:14px; color:var(--kk-muted); }
.kk-empty .kk-button { margin-top:15px; }
@media(max-width:767px) {
 .kk-cart-page { padding-block:25px 40px; }
 .kk-cart-grid { grid-template-columns:1fr; gap:25px; }
 .kk-cart-item { flex-wrap:wrap; gap:12px; padding:18px; align-items:flex-start; }
 .kk-cart-item>img { width:65px; height:75px; }
 .kk-store .kk-cart-item h3 { font-size:13px; }
 .kk-cart-item-actions { width:100%; flex-direction:row-reverse; justify-content:space-between; align-items:center; }
 .kk-store .kk-cart-group>h2 { font-size:12px; padding:17px; }
 .kk-cart-summary { position:static; padding:23px; }
 .kk-store .kk-empty h2 { font-size:21px; }
}
.kk-review-items article { display:flex; align-items:flex-start; gap:13px; padding:17px 0; border-bottom:1px solid var(--kk-line); }
.kk-review-items img { width:64px; height:73px; border-radius:9px; object-fit:cover; flex-shrink:0; }
.kk-review-items article>div { flex:1; min-width:0; }
.kk-review-items a { font-size:13px; line-height:1.7; font-weight:500; }
.kk-review-items span { font-size:11px; color:var(--kk-muted); }
.kk-review-items strong { font-size:14px; white-space:nowrap; }
@layer premium {
 .kk-store :where(.ekomart-cart-wrap) { padding:0!important; border:0!important; background:transparent!important; box-shadow:none!important; }
 .kk-store :where(.kk-review-items p) { margin:5px 0!important; line-height:1.7!important; font-size:11px!important; color:var(--kk-muted)!important; }
 .kk-store :where(.kk-review-items a) { color:var(--kk-ink)!important; }
 .kk-store :where(.ekomart-checkout-grid .mb-6) { margin-bottom:20px!important; }
}
