/* HARCHI KOLO Desktop Homepage Architecture — isolated from mobile. */
.hk-home-desktop-category-carousel,
.hk-home-desktop-quick-actions { display: none; }

@media (min-width: 1025px) {
  body.hk-core-home-mobile .hk-home-hero {
    min-height: clamp(540px, 38vw, 620px) !important;
    height: auto !important;
    padding-top: clamp(12px, 1.4vw, 18px) !important;
    padding-bottom: clamp(24px, 2.2vw, 34px) !important;
  }

  body.hk-core-home-mobile .hk-home-hero-heading.hk-home-hero-heading--brand,
  body.hk-core-home-mobile .hk-home-hero-divider,
  body.hk-core-home-mobile .hk-home-hero-description.hk-home-hero-description--brand,
  body.hk-core-home-mobile .hk-home-search-shell,
  body.hk-core-home-mobile .hk-home-desktop-quick-actions {
    position: relative !important;
    z-index: 2 !important;
  }

  body.hk-core-home-mobile .hk-home-hero-heading.hk-home-hero-heading--brand {
    width: min(40vw, 640px) !important;
    max-width: 640px !important;
    margin-top: 0 !important;
    margin-bottom: 8px !important;
    font-size: clamp(46px, 3.85vw, 62px) !important;
    line-height: 1.04 !important;
    letter-spacing: -.038em !important;
  }

  body.hk-core-home-mobile .hk-home-hero-heading--brand .hk-home-hero-heading__line + .hk-home-hero-heading__line {
    margin-top: 2px !important;
  }

  body.hk-core-home-mobile .hk-home-hero-divider {
    width: 184px !important;
    margin: 0 auto 13px var(--hk-home-desktop-left, 8vw) !important;
  }

  body.hk-core-home-mobile .hk-home-hero-description.hk-home-hero-description--brand {
    width: min(35vw, 540px) !important;
    max-width: 540px !important;
    margin-bottom: 16px !important;
    padding: 11px 16px !important;
    font-size: clamp(17px, 1.18vw, 20px) !important;
    line-height: 1.38 !important;
    background: rgba(var(--hk-white-rgb), .64) !important;
    border: 1px solid rgba(var(--hk-gold-rgb), .15) !important;
    border-radius: 17px !important;
    box-shadow: 0 8px 22px rgba(var(--hk-green-rgb), .065), inset 0 0 0 1px rgba(var(--hk-white-rgb), .28) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
  }

  body.hk-core-home-mobile .hk-home-search-shell {
    width: min(54vw, 800px) !important;
    max-width: 800px !important;
    margin-top: 4px !important;
  }

  body.hk-core-home-mobile .hk-home-desktop-quick-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    box-sizing: border-box;
    width: min(54vw, 800px);
    max-width: 800px;
    margin: 14px auto 0 var(--hk-home-desktop-left, 8vw);
  }

  body.hk-core-home-mobile .hk-home-desktop-quick-action {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 18px;
    align-items: center;
    gap: 10px;
    min-height: 82px;
    padding: 10px 12px;
    color: var(--hk-green);
    text-decoration: none !important;
    border: 1px solid rgba(var(--hk-gold-rgb), .20);
    border-radius: 16px;
    background: rgba(var(--hk-white-rgb), .78);
    box-shadow: 0 8px 24px rgba(var(--hk-green-rgb), .07);
    backdrop-filter: blur(4px) saturate(105%);
    -webkit-backdrop-filter: blur(4px) saturate(105%);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
  }

  body.hk-core-home-mobile .hk-home-desktop-quick-action:hover,
  body.hk-core-home-mobile .hk-home-desktop-quick-action:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(var(--hk-gold-rgb), .48);
    background: rgba(var(--hk-white-rgb), .92);
    box-shadow: 0 12px 28px rgba(var(--hk-green-rgb), .10);
    outline: none;
  }

  body.hk-core-home-mobile .hk-home-desktop-quick-action__icon {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    color: var(--hk-green);
    background: rgba(var(--hk-green-rgb), .06);
    border-radius: 13px;
  }

  body.hk-core-home-mobile .hk-home-desktop-quick-action__icon svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  body.hk-core-home-mobile .hk-home-desktop-quick-action > span:nth-child(2) { display:grid; gap:3px; min-width:0; }
  body.hk-core-home-mobile .hk-home-desktop-quick-action strong { color:var(--hk-green); font-size:14px; font-weight:800; line-height:1.2; }
  body.hk-core-home-mobile .hk-home-desktop-quick-action small { color:#64766d; font-size:11.5px; font-weight:560; line-height:1.28; }
  body.hk-core-home-mobile .hk-home-desktop-quick-action > i { color:var(--hk-gold); font-size:17px; font-style:normal; font-weight:800; }

  body.hk-core-home-mobile .hk-home-desktop-category-carousel {
    display:block;
    position:relative;
    box-sizing:border-box;
    width:100%;
    margin:0;
    padding:clamp(28px,2.6vw,38px) 0 clamp(38px,3.5vw,54px);
    overflow:hidden;
    background: radial-gradient(ellipse 56% 150px at 50% 0%, rgba(var(--hk-gold-rgb), .105), rgba(var(--hk-gold-rgb), 0) 72%), linear-gradient(180deg,#fffdf8 0%,#fbfaf5 100%);
    border-top:1px solid rgba(var(--hk-gold-rgb),.14);
    border-bottom:1px solid rgba(var(--hk-green-rgb),.08);
  }

  body.hk-core-home-mobile .hk-home-desktop-category-carousel::before {
    content:""; position:absolute; top:0; left:50%; width:min(280px,20vw); height:1px; transform:translateX(-50%);
    background:linear-gradient(90deg,transparent,rgba(var(--hk-gold-rgb),.78),transparent);
  }

  body.hk-core-home-mobile .hk-home-desktop-category-carousel__inner {
    position:relative; box-sizing:border-box; width:min(1460px,calc(100% - 80px)); margin:0 auto;
  }

  body.hk-core-home-mobile .hk-home-desktop-category-carousel__head {
    max-width:900px; margin:0 auto clamp(20px,1.8vw,26px); padding:0 24px; text-align:center;
  }

  body.hk-core-home-mobile .hk-home-desktop-category-carousel__head > span {
    display:flex; align-items:center; justify-content:center; gap:12px; margin-bottom:8px;
    color:var(--hk-gold); font-size:11px; font-weight:850; line-height:1.2; letter-spacing:.17em; text-transform:uppercase;
  }
  body.hk-core-home-mobile .hk-home-desktop-category-carousel__head > span::before,
  body.hk-core-home-mobile .hk-home-desktop-category-carousel__head > span::after {
    content:""; display:block; width:58px; height:1px; background:linear-gradient(90deg,transparent,rgba(var(--hk-gold-rgb),.82));
  }
  body.hk-core-home-mobile .hk-home-desktop-category-carousel__head > span::after { background:linear-gradient(90deg,rgba(var(--hk-gold-rgb),.82),transparent); }

  body.hk-core-home-mobile .hk-home-desktop-category-carousel__head h2 {
    margin:0; color:var(--hk-green); font-family:Georgia,"Times New Roman",serif; font-size:clamp(38px,2.7vw,46px); font-weight:700; line-height:1.04; letter-spacing:-.032em;
    text-shadow:0 1px 0 rgba(var(--hk-white-rgb),.86);
  }
  body.hk-core-home-mobile .hk-home-desktop-category-carousel__head p {
    max-width:690px; margin:10px auto 0; color:#536b60; font-size:clamp(16px,1.05vw,18px); font-weight:540; line-height:1.42;
  }

  body.hk-core-home-mobile .hk-home-desktop-category-carousel__controls {
    display:flex; justify-content:flex-end; gap:10px; margin:-56px 0 14px auto; position:relative; z-index:3;
  }
  body.hk-core-home-mobile .hk-home-desktop-category-carousel__arrow {
    display:inline-flex; width:44px; height:44px; align-items:center; justify-content:center; padding:0; color:var(--hk-green); background:#fffdf8;
    border:1px solid rgba(var(--hk-gold-rgb),.36); border-radius:50%; box-shadow:0 8px 20px rgba(var(--hk-green-rgb),.07); font-size:21px; font-weight:700; cursor:pointer;
  }
  body.hk-core-home-mobile .hk-home-desktop-category-carousel__arrow:disabled { opacity:.30; cursor:default; }

  body.hk-core-home-mobile .hk-home-desktop-category-carousel__track {
    display:flex; gap:18px; box-sizing:border-box; width:100%; padding:6px 4px 10px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x proximity;
    scrollbar-width:none; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch;
  }
  body.hk-core-home-mobile .hk-home-desktop-category-carousel__track::-webkit-scrollbar { display:none; }

  body.hk-core-home-mobile .hk-home-desktop-category-carousel__card {
    display:flex; flex:0 0 clamp(210px,15.5vw,238px); min-height:260px; box-sizing:border-box; align-items:center; justify-content:flex-start; flex-direction:column; gap:16px;
    padding:24px 18px 22px; color:var(--hk-green); text-decoration:none!important; background:rgba(var(--hk-white-rgb),.92); border:1px solid rgba(var(--hk-gold-rgb),.22);
    border-radius:24px; box-shadow:0 12px 28px rgba(var(--hk-green-rgb),.07); scroll-snap-align:start;
  }
  body.hk-core-home-mobile .hk-home-desktop-category-carousel__visual { display:flex; width:154px; height:154px; flex:0 0 154px; align-items:center; justify-content:center; overflow:visible; }
  body.hk-core-home-mobile .hk-home-desktop-category-image { width:146px!important; height:146px!important; max-width:none!important; max-height:none!important; object-fit:contain!important; }
  body.hk-core-home-mobile .hk-home-desktop-category-image--compact { width:124px!important; height:124px!important; }
  body.hk-core-home-mobile .hk-home-desktop-category-carousel__card strong { margin:auto 0 0; color:var(--hk-green); font-size:16px; font-weight:750; line-height:1.28; text-align:center; }

  body.hk-core-home-mobile .hk-home-desktop-source-item-hidden,
  body.hk-core-home-mobile .hk-home-desktop-source-heading-hidden,
  body.hk-core-home-mobile .hk-home-desktop-source-description-hidden {
    display:none!important;
  }
}

@media (min-width:1025px) and (max-width:1280px) {
  body.hk-core-home-mobile .hk-home-hero { min-height:clamp(520px,44vw,590px)!important; }
  body.hk-core-home-mobile .hk-home-desktop-quick-actions { width:min(66vw,740px); max-width:740px; gap:8px; }
  body.hk-core-home-mobile .hk-home-desktop-category-carousel__inner { width:min(1180px,calc(100% - 56px)); }
  body.hk-core-home-mobile .hk-home-desktop-category-carousel__card { flex-basis:clamp(196px,18vw,222px); min-height:244px; }
  body.hk-core-home-mobile .hk-home-desktop-category-carousel__visual { width:140px; height:140px; flex-basis:140px; }
  body.hk-core-home-mobile .hk-home-desktop-category-image { width:132px!important; height:132px!important; }
  body.hk-core-home-mobile .hk-home-desktop-category-image--compact { width:112px!important; height:112px!important; }
}


/* ==================================================
   Core 2.0.98.169 — Desktop Section Order & Legacy Source Cleanup
   Order is owned by isolated desktop JS: Hero -> Category Carousel -> Promotions.
   These selectors only guarantee that proven legacy category source copy stays
   hidden after successful carousel construction. Mobile is not targeted here.
   ================================================== */
@media (min-width: 1025px) {
	body.hk-core-home-mobile.hk-home-desktop-category-carousel-ready .hk-home-desktop-source-heading-hidden,
	body.hk-core-home-mobile.hk-home-desktop-category-carousel-ready .hk-home-desktop-source-description-hidden,
	body.hk-core-home-mobile.hk-home-desktop-category-carousel-ready .hk-home-desktop-source-item-hidden {
		display: none !important;
	}
}


/* ==================================================
   Core 2.0.98.170 — Desktop Category Carousel UX Guidance Polish
   Make the carousel behaviour self-explanatory: the supporting copy now says
   to browse left/right, and a compact directional hint is visually paired with
   the existing arrow controls. Mobile, cards, section order and Promotions are
   unchanged.
   ================================================== */
@media (min-width: 1025px) {
  body.hk-core-home-mobile .hk-home-desktop-category-carousel__head {
    margin-bottom: 14px;
  }

  body.hk-core-home-mobile .hk-home-desktop-category-carousel__head p {
    max-width: 760px;
    margin-top: 11px;
    color: #4f665c;
    font-weight: 560;
  }

  body.hk-core-home-mobile .hk-home-desktop-category-carousel__navrow {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin: 0 0 12px;
    padding: 0 4px;
  }

  body.hk-core-home-mobile .hk-home-desktop-category-carousel__hint {
    display:inline-flex;
    align-items:center;
    gap:9px;
    min-height:36px;
    padding: 6px 12px;
    color:#516b5f;
    background:rgba(var(--hk-white-rgb),.72);
    border:1px solid rgba(var(--hk-gold-rgb),.17);
    border-radius:999px;
    box-shadow:0 6px 18px rgba(var(--hk-green-rgb),.045);
    font-size:13px;
    line-height:1.2;
  }

  body.hk-core-home-mobile .hk-home-desktop-category-carousel__hint strong {
    color:var(--hk-green);
    font-size:13px;
    font-weight:760;
    letter-spacing:.01em;
  }

  body.hk-core-home-mobile .hk-home-desktop-category-carousel__hint span {
    color:var(--hk-gold);
    font-size:17px;
    font-weight:800;
  }

  body.hk-core-home-mobile .hk-home-desktop-category-carousel__controls {
    margin:0;
  }
}

@media (min-width: 1025px) and (max-width: 1280px) {
  body.hk-core-home-mobile .hk-home-desktop-category-carousel__hint {
    font-size:12.5px;
    padding-inline:11px;
  }
}


/* ==================================================
   Core 2.0.98.173 — Desktop Homepage Closing Brand Block
   Final desktop-only brand/value section after Promotions. It intentionally
   does not duplicate the quick-action navigation above and marks future
   ecosystem directions as upcoming rather than already available services.
   ================================================== */
.hk-home-desktop-closing { display:none; }

@media (min-width:1025px) {
  body.hk-core-home-mobile .hk-home-desktop-closing {
    display:block;
    position:relative;
    overflow:hidden;
    padding:clamp(50px,4.5vw,66px) 0 clamp(42px,3.9vw,56px);
    background:
      radial-gradient(circle at 12% 14%, rgba(var(--hk-gold-rgb),.07), transparent 27%),
      linear-gradient(180deg, #fbfaf5 0%, #f7f4ea 100%);
    border-top:1px solid rgba(var(--hk-gold-rgb),.24);
  }

  body.hk-core-home-mobile .hk-home-desktop-closing::before {
    content:\"\";
    position:absolute;
    top:0; left:50%;
    width:min(1180px,calc(100% - 64px));
    height:2px;
    transform:translateX(-50%);
    background:linear-gradient(90deg, transparent, rgba(var(--hk-gold-rgb),.78), transparent);
  }

  body.hk-core-home-mobile .hk-home-desktop-closing__inner {
    width:min(1180px,calc(100% - 64px));
    margin:0 auto;
  }

  body.hk-core-home-mobile .hk-home-desktop-closing__head {
    max-width:740px;
    margin:0 auto 26px;
    text-align:center;
  }

  body.hk-core-home-mobile .hk-home-desktop-closing__head > span {
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:var(--hk-gold);
    font-size:12px;
    font-weight:820;
    letter-spacing:.16em;
  }

  body.hk-core-home-mobile .hk-home-desktop-closing__head > span::before,
  body.hk-core-home-mobile .hk-home-desktop-closing__head > span::after {
    content:\"\";
    width:36px;
    height:1px;
    background:rgba(var(--hk-gold-rgb),.65);
  }

  body.hk-core-home-mobile .hk-home-desktop-closing__head h2 {
    max-width:690px;
    margin:9px auto 9px;
    color:var(--hk-green);
    font-family:Georgia,'Times New Roman',serif;
    font-size:clamp(30px,2.5vw,40px);
    font-weight:700;
    line-height:1.1;
    letter-spacing:-.024em;
    text-wrap:balance;
  }

  body.hk-core-home-mobile .hk-home-desktop-closing__head p {
    max-width:680px;
    margin:0 auto;
    color:#53685f;
    font-size:16px;
    font-weight:520;
    line-height:1.58;
  }

  body.hk-core-home-mobile .hk-home-desktop-closing__grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
  }

  body.hk-core-home-mobile .hk-home-desktop-closing__card {
    position:relative;
    min-height:198px;
    padding:21px 20px 20px;
    background:rgba(var(--hk-white-rgb),.86);
    border:1px solid rgba(var(--hk-gold-rgb),.20);
    border-radius:20px;
    box-shadow:0 12px 30px rgba(var(--hk-green-rgb),.065);
  }

  body.hk-core-home-mobile .hk-home-desktop-closing__card--future {
    background:linear-gradient(145deg, rgba(var(--hk-white-rgb),.91), rgba(var(--hk-gold-rgb),.07));
  }

  body.hk-core-home-mobile .hk-home-desktop-closing__card--future h3 {
    max-width:190px;
  }

  body.hk-core-home-mobile .hk-home-desktop-closing__icon {
    display:flex;
    align-items:center;
    justify-content:center;
    width:43px;
    height:43px;
    margin-bottom:15px;
    color:var(--hk-gold);
    background:rgba(var(--hk-gold-rgb),.08);
    border:1px solid rgba(var(--hk-gold-rgb),.22);
    border-radius:13px;
  }

  body.hk-core-home-mobile .hk-home-desktop-closing__icon svg {
    width:25px;
    height:25px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  body.hk-core-home-mobile .hk-home-desktop-closing__card h3 {
    margin:0 0 8px;
    color:var(--hk-green);
    font-size:17.5px;
    font-weight:780;
    line-height:1.25;
  }

  body.hk-core-home-mobile .hk-home-desktop-closing__card p {
    margin:0;
    color:#5a6b64;
    font-size:14px;
    line-height:1.55;
  }

  body.hk-core-home-mobile .hk-home-desktop-closing__badge {
    position:absolute;
    top:17px;
    right:17px;
    padding:5px 8px;
    color:#80651e;
    background:rgba(var(--hk-gold-rgb),.10);
    border:1px solid rgba(var(--hk-gold-rgb),.22);
    border-radius:999px;
    font-size:9px;
    font-weight:820;
    letter-spacing:.08em;
  }

  body.hk-core-home-mobile .hk-home-desktop-closing__signature {
    display:grid;
    grid-template-columns:minmax(30px,1fr) auto minmax(30px,1fr);
    align-items:center;
    gap:18px;
    margin:26px auto 0;
    color:var(--hk-green);
    font-family:Georgia,'Times New Roman',serif;
    font-size:15px;
    text-align:center;
  }

  body.hk-core-home-mobile .hk-home-desktop-closing__signature span {
    height:1px;
    background:linear-gradient(90deg, transparent, rgba(var(--hk-gold-rgb),.36));
  }
  body.hk-core-home-mobile .hk-home-desktop-closing__signature span:last-child {
    background:linear-gradient(90deg, rgba(var(--hk-gold-rgb),.36), transparent);
  }
}

@media (min-width:1025px) and (max-width:1280px) {
  body.hk-core-home-mobile .hk-home-desktop-closing__inner { width:min(1180px,calc(100% - 48px)); }
  body.hk-core-home-mobile .hk-home-desktop-closing__grid { gap:11px; }
  body.hk-core-home-mobile .hk-home-desktop-closing__card { min-height:204px; padding:19px 17px 18px; }
  body.hk-core-home-mobile .hk-home-desktop-closing__card h3 { font-size:17px; }
  body.hk-core-home-mobile .hk-home-desktop-closing__card p { font-size:13.5px; }
}

/* ==================================================
   Core 2.0.98.177 — Desktop Hero Search + Quick Actions Alignment Polish
   Keep the search shell and the three quick actions on one shared desktop grid.
   This is desktop-only and does not alter mobile, search behavior or section order.
   ================================================== */
@media (min-width: 1025px) {
  body.hk-core-home-mobile .hk-home-search-shell,
  body.hk-core-home-mobile .hk-home-desktop-quick-actions {
    box-sizing: border-box !important;
    width: min(54vw, 800px) !important;
    max-width: 800px !important;
    margin-left: clamp(72px, 8.5vw, 166px) !important;
    margin-right: auto !important;
  }

  body.hk-core-home-mobile .hk-home-desktop-quick-actions {
    gap: 10px !important;
    margin-top: 14px !important;
  }

  body.hk-core-home-mobile .hk-home-search-form button[type="submit"],
  body.hk-core-home-mobile .hk-home-search-form input[type="submit"],
  body.hk-core-home-mobile .hk-home-search-form .hp-form__button {
    box-sizing: border-box !important;
    min-width: 116px !important;
    height: 54px !important;
    min-height: 54px !important;
    padding: 0 24px !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    font-size: 14.5px !important;
    line-height: 1 !important;
  }

  body.hk-core-home-mobile .hk-home-search-form input[type="search"],
  body.hk-core-home-mobile .hk-home-search-form input[type="text"] {
    box-sizing: border-box !important;
    min-height: 54px !important;
  }

  body.hk-core-home-mobile .hk-home-desktop-quick-action {
    min-height: 80px !important;
    padding: 10px 13px !important;
  }
}

@media (min-width: 1025px) and (max-width: 1280px) {
  body.hk-core-home-mobile .hk-home-search-shell,
  body.hk-core-home-mobile .hk-home-desktop-quick-actions {
    width: min(66vw, 740px) !important;
    max-width: 740px !important;
    margin-left: clamp(52px, 6vw, 78px) !important;
  }
}
