/* ASARTEM Search UX v1.0 — isolated, responsive and header-safe. */
.asx-root { --asx-ink:#323232; --asx-muted:#77736f; --asx-green:#153d20; --asx-red:#7a1315; --asx-border:#e7e4df; --asx-bg:#fff; font-family:Inter,Arial,sans-serif; width:100%; min-width:0; }
.asx-root *, .asx-overlay * { box-sizing:border-box; }
.asx-trigger { appearance:none; width:100%; min-height:43px; padding:0 13px 0 17px; display:flex; align-items:center; justify-content:space-between; gap:12px; border:1px solid #d6d5d1; border-radius:4px; background:#fff; color:#76736f; font:400 13px/1.5 Inter,Arial,sans-serif; text-align:left; cursor:pointer; transition:border-color .18s ease,box-shadow .18s ease; }
.asx-trigger:hover { border-color:#8a9488; }
.asx-trigger:focus-visible, .asx-icon-button:focus-visible, .asx-form button:focus-visible, .asx-chip:focus-visible, .asx-overlay a:focus-visible { outline:2px solid var(--asx-green); outline-offset:3px; }
.asx-trigger__label { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.asx-trigger__icon { display:inline-flex; flex:0 0 auto; color:#323232; }
.asx-overlay[hidden], .asx-root [hidden] { display:none !important; }
.asx-overlay { position:fixed; inset:0; z-index:2147483000; padding:clamp(24px,7vh,80px) 24px 24px; display:flex; align-items:flex-start; justify-content:center; font-family:Inter,Arial,sans-serif; }
.asx-overlay__shade { position:absolute; inset:0; background:rgba(25,27,23,.55); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); }
.asx-dialog { color:#323232; position:relative; background:#fff; width:min(940px,100%); max-height:min(820px,calc(100dvh - clamp(24px,7vh,80px) - 28px)); border-radius:10px; box-shadow:0 25px 80px rgba(0,0,0,.23); overflow:hidden; display:flex; flex-direction:column; animation:asx-rise .16s ease-out; }
@keyframes asx-rise { from{opacity:.45;transform:translateY(10px)}to{opacity:1;transform:translateY(0)} }
.asx-dialog__header { flex-shrink:0; padding:27px 36px 16px; border-bottom:1px solid #eeece8; background:#fff; }
.asx-dialog__eyebrow,.asx-section__eyebrow { margin:0 0 9px; font:500 10px/1.4 Inter,Arial,sans-serif; letter-spacing:.14em; color:#8b8179; }
.asx-dialog__heading-row { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:19px; }
.asx-dialog__heading { margin:0; font:400 clamp(26px,3vw,35px)/1.16 'DM Serif Display',Georgia,serif; color:#323232; }
.asx-icon-button { border:1px solid #e6e2de; background:#fff; color:#333; width:38px; height:38px; display:grid; place-items:center; border-radius:50%; cursor:pointer; transition:background .15s; }
.asx-icon-button:hover { background:#f5f5f3; }
.asx-form { width:100%; border:1px solid #d9d8d4; border-radius:6px; min-height:53px; display:flex; align-items:center; gap:9px; padding:5px 5px 5px 16px; background:#fff; transition:border-color .15s, box-shadow .15s; }
.asx-form:focus-within { border-color:#526d59; box-shadow:0 0 0 3px rgba(21,61,32,.08); }
.asx-form__search-icon { flex:0 0 auto; color:#5b605a; }
.asx-input { border:0 !important; box-shadow:none !important; min-width:0; flex:1; height:40px; padding:0 !important; color:#323232; background:transparent !important; border-radius:0 !important; outline:0 !important; font:400 15px/1.4 Inter,Arial,sans-serif !important; }
.asx-input::placeholder { color:#96918d; opacity:1; }
.asx-input::-webkit-search-cancel-button { display:none; }
.asx-input__clear { background:none; border:none; cursor:pointer; color:#8a8580; padding:9px 5px; font:400 12px Inter,Arial,sans-serif; }
.asx-form__submit { min-height:40px; flex:0 0 auto; padding:0 22px; border:1px solid #153d20; border-radius:4px; background:#153d20; color:#fff; cursor:pointer; font:500 13px Inter,Arial,sans-serif; }
.asx-form__submit:hover { background:#285638; }
.asx-hint { margin:10px 0 0; color:#8b8580; font:400 12px/1.55 Inter,Arial,sans-serif; }
.asx-dialog__body { flex:1 1 auto; min-height:90px; overflow-y:auto; overscroll-behavior:contain; padding:22px 36px 24px; scrollbar-width:thin; scrollbar-color:#d6d1cc transparent; }
.asx-initial { padding:7px 0 30px; }
.asx-initial__title { font:400 23px/1.3 'DM Serif Display',Georgia,serif; margin:0 0 20px; }
.asx-chips { display:flex; flex-wrap:wrap; gap:10px; }
.asx-chip { background:#f8f8f6; border:1px solid #e5e4df; border-radius:100px; padding:12px 16px; color:#343c34; font:400 13px Inter,Arial,sans-serif; cursor:pointer; display:inline-flex; gap:20px; align-items:center; }
.asx-chip span { font-size:17px; color:#526456; }
.asx-chip:hover { border-color:#aab9ac; background:#f3f7f2; }
.asx-initial__note { margin:25px 0 0; font:400 12px/1.5 Inter,Arial,sans-serif; color:#888; }
.asx-status { padding:24px 0; font:400 14px/1.6 Inter,Arial,sans-serif; color:#666; }
.asx-results { display:block; }
.asx-section { padding:0 0 21px; margin-bottom:22px; border-bottom:1px solid #efede9; }
.asx-section:last-child { padding-bottom:0; border-bottom:0; margin-bottom:0; }
.asx-section__title-row { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 14px; }
.asx-section__title { margin:0; font:400 23px/1.25 'DM Serif Display',Georgia,serif; }
.asx-section__count { color:#97918b; font-size:11px; letter-spacing:.04em; }
.asx-categories { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.asx-category { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:47px; border:1px solid #e6e4e0; border-radius:5px; padding:10px 12px; color:#323232 !important; text-decoration:none !important; background:#faf9f7; font:500 12px/1.3 Inter,Arial,sans-serif; transition:background .15s,border-color .15s; }
.asx-category:hover { background:#f1f5ef; border-color:#bccbbb; }
.asx-category__arrow { color:#6a836b; font-size:16px; }
.asx-products { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.asx-product { color:#323232 !important; display:grid; grid-template-columns:92px minmax(0,1fr); gap:15px; min-width:0; min-height:116px; padding:11px; border:1px solid #eceae6; border-radius:6px; background:#fff; text-decoration:none !important; transition:box-shadow .17s ease,border-color .17s ease, transform .17s ease; }
.asx-product:hover { border-color:#c9d5c9; box-shadow:0 7px 20px rgba(19,41,25,.08); transform:translateY(-1px); }
.asx-product__image { width:92px; height:92px; background:#f5f4f1; display:grid; place-items:center; border-radius:4px; overflow:hidden; }
.asx-product__image img { width:100%; height:100%; object-fit:cover; display:block; }
.asx-product__placeholder { color:#b3b5ad; font:400 11px/1.3 Inter,Arial,sans-serif; text-align:center; padding:8px; }
.asx-product__content { display:flex; flex-direction:column; justify-content:center; min-width:0; gap:5px; }
.asx-product__title { font:500 13px/1.4 Inter,Arial,sans-serif; color:#323232; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.asx-product__price { font:600 13px/1.4 Inter,Arial,sans-serif; color:#153d20; }
.asx-product__price .amount, .asx-product__price .woocommerce-Price-amount { color:inherit; }
.asx-product__price del { color:#8b8580; font-size:11px; font-weight:400; margin-right:3px; }
.asx-product__price ins { color:#153d20; text-decoration:none; }
.asx-product__desc { color:#817d78; font:400 11px/1.5 Inter,Arial,sans-serif; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.asx-dialog__footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 36px; border-top:1px solid #eceae7; background:#fdfcfb; flex-shrink:0; }
.asx-footer__label { font:400 12px/1.5 Inter,Arial,sans-serif; color:#817e79; }
.asx-all { font:600 13px/1.5 Inter,Arial,sans-serif; color:#153d20 !important; text-decoration:none !important; display:inline-flex; align-items:center; gap:12px; }
.asx-all:hover { text-decoration:underline !important; }
.asx-all span { font-size:18px; }
html.asx-lock, body.asx-lock { overflow:hidden !important; }
@media (max-width: 1024px) { .asx-overlay { padding:25px 16px; } .asx-dialog { max-height:calc(100dvh - 50px); } }
@media (max-width: 767px) {
 .asx-root { width:auto; display:inline-flex; }
 .asx-trigger { border:none; padding:0; width:44px; height:44px; min-height:44px; justify-content:center; border-radius:50%; background:transparent; }
 .asx-trigger__label { display:none; }
 .asx-trigger__icon svg { width:24px; height:24px; }
 .asx-overlay { padding:0; }
 .asx-overlay__shade { display:none; }
 .asx-dialog { width:100%; height:100dvh; max-height:100dvh; border-radius:0; box-shadow:none; animation:none; }
 .asx-dialog__header { padding:calc(env(safe-area-inset-top) + 18px) 18px 13px; }
 .asx-dialog__eyebrow { font-size:9px; margin-bottom:7px; }
 .asx-dialog__heading { font-size:26px; }
 .asx-dialog__heading-row { margin-bottom:14px; }
 .asx-icon-button { width:40px; height:40px; }
 .asx-form { min-height:51px; padding-left:13px; }
 .asx-input { font-size:16px !important; }
 .asx-form__submit { padding:0 12px; min-height:39px; font-size:12px; }
 .asx-input__clear { font-size:11px; }
 .asx-hint { font-size:11px; margin-top:8px; }
 .asx-dialog__body { padding:20px 18px 26px; }
 .asx-initial__title { font-size:21px; }
 .asx-chip { padding:13px 16px; font-size:13px; }
 .asx-categories { grid-template-columns:1fr 1fr; gap:8px; }
 .asx-category { min-height:50px; padding:10px 12px; font-size:12px; }
 .asx-products { grid-template-columns:1fr; gap:10px; }
 .asx-section__title { font-size:22px; }
 .asx-section__title-row { margin-bottom:13px; }
 .asx-product { grid-template-columns:90px minmax(0,1fr); gap:13px; min-height:113px; }
 .asx-product__image { width:90px; height:90px; }
 .asx-product__title { font-size:13px; }
 .asx-product__price { font-size:13px; }
 .asx-product__desc { font-size:11px; }
 .asx-dialog__footer { padding:13px 18px calc(env(safe-area-inset-bottom) + 13px); }
 .asx-footer__label { display:none; }
 .asx-all { width:100%; justify-content:space-between; min-height:34px; font-size:13px; }
}
@media (prefers-reduced-motion:reduce) { .asx-dialog,.asx-trigger,.asx-product,.asx-chip { animation:none !important; transition:none !important; } }

/* ASARTEM Search UX v1.1 — stable desktop trigger, clean mobile controls, tunable sizes. */
.asx-root {width:min(100%,var(--asx-trigger-width,330px)) !important;max-width:100%;}
.asx-root .asx-trigger {
  width:100%;min-height:var(--asx-trigger-height,43px);height:var(--asx-trigger-height,43px);
  padding:0 13px 0 16px !important;display:flex !important;justify-content:space-between !important;
  align-items:center !important;gap:12px;line-height:1.3 !important;
  font-size:var(--asx-trigger-font-size,13px) !important;
  border:1px solid #d6d5d1 !important;border-radius:4px !important;
  box-shadow:none !important;background:#fff !important;color:#76736f !important;
  transform:none !important;letter-spacing:normal !important;
}
.asx-root .asx-trigger:hover,.asx-root .asx-trigger:active {
  border-color:#d6d5d1 !important;background:#fff !important;color:#76736f !important;
  box-shadow:none !important;transform:none !important;
}
.asx-trigger__label {flex:1;min-width:0;line-height:1.4;white-space:nowrap;text-align:left;}
.asx-trigger__icon {align-items:center;justify-content:center;flex:none;line-height:0;}
.asx-trigger__icon svg {display:block;flex-shrink:0;}
.asx-dialog {width:min(var(--asx-popup-width,940px),100%);}
.asx-initial__featured {padding-top:26px;margin-top:24px;border-top:1px solid #eeeae6;}
.asx-initial__featured-heading {font:400 21px/1.3 'DM Serif Display',Georgia,serif;margin:0 0 14px;color:#323232;}
.asx-initial__featured .asx-products {margin-top:0;}
.asx-form:focus-within {border-color:var(--asx-green,#153d20);}
.asx-form__submit {border-color:var(--asx-green,#153d20);background:var(--asx-green,#153d20);}
.asx-form__submit:hover {background:var(--asx-green,#153d20);filter:brightness(1.15)}
.asx-product__price,.asx-product__price ins,.asx-all {color:var(--asx-green,#153d20) !important;}
@media(max-width:767px){
 .asx-root {width:44px !important;min-width:44px !important;max-width:44px !important;display:inline-flex !important;vertical-align:middle;}
 .asx-root .asx-trigger,.asx-root .asx-trigger:hover,.asx-root .asx-trigger:active {
   width:44px !important;height:44px !important;min-height:44px !important;
   border:0 !important;border-radius:0 !important;box-shadow:none !important;
   background:transparent !important;color:#323232 !important;padding:0 !important;
   display:flex !important;justify-content:center !important;align-items:center !important;
 }
 .asx-trigger__label {display:none !important;}
 .asx-trigger__icon svg {width:var(--asx-mobile-icon-size,24px) !important;height:var(--asx-mobile-icon-size,24px) !important;}
 .asx-overlay .asx-icon-button.asx-close,.asx-overlay .asx-icon-button.asx-close:hover {
   border:0 !important;border-radius:0 !important;background:transparent !important;
   box-shadow:none !important;padding:0 !important;color:#323232 !important;
   display:flex;align-items:center;justify-content:center;
 }
 .asx-close svg {width:22px;height:22px;}
 .asx-form {gap:5px;padding-left:10px;padding-right:4px;}
 .asx-form__search-icon {width:19px;height:19px;}
 .asx-input__clear {
   min-height:35px;height:35px;padding:0 5px !important;font:400 10px/1 Inter,Arial,sans-serif !important;
   white-space:nowrap;border:0 !important;border-radius:0 !important;box-shadow:none !important;background:none !important;
 }
 .asx-form__submit {
   min-height:35px;height:35px;padding:0 9px !important;
   font:500 11px/1 Inter,Arial,sans-serif !important;border-radius:4px !important;
   white-space:nowrap;
 }
 .asx-initial__featured-heading {font-size:19px;}
}
@media(max-width:350px){
 .asx-form {gap:3px;padding-left:8px;}
 .asx-form__submit {padding:0 7px !important;font-size:10px !important;}
 .asx-input__clear {font-size:9.5px !important;padding:0 3px !important;}
 .asx-form__search-icon {width:17px;height:17px;}
}

/* ASARTEM Search UX V1.2 — compact mobile header and two curated opening modes. */
.asx-initial {padding:2px 0 16px;}
.asx-initial__featured {padding-top:0;margin-top:0;border-top:0;}
.asx-initial__featured-heading {font:400 24px/1.3 'DM Serif Display',Georgia,serif;margin:0 0 18px;color:#323232;}
.asx-initial__empty {font:400 13px/1.5 Inter,Arial,sans-serif;color:#857e77;margin:12px 0;}
.asx-categories--popular {grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.asx-category {flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;min-height:73px;padding:13px 16px;}
.asx-category__name {display:block;font:500 13px/1.4 Inter,Arial,sans-serif;color:#323232;}
.asx-category__count {display:block;font:400 11px/1.4 Inter,Arial,sans-serif;color:#807d77;white-space:normal;}
.asx-category__arrow {display:none !important;}
.asx-all span[aria-hidden] {display:none !important;}
.asx-all {gap:0;}
.asx-product__image img,.asx-slide__image img {width:100%;height:100%;object-fit:cover;object-position:center center;aspect-ratio:1/1;display:block;}
.asx-product__image,.asx-slide__image {aspect-ratio:1/1;}

/* Promotional ticker – infinitely repeating, with duplicate cards excluded from accessibility tree. */
.asx-slider {position:relative;max-width:100%;overflow:hidden;overscroll-behavior-x:contain;}
.asx-slider::before,.asx-slider::after {content:"";position:absolute;z-index:1;top:0;bottom:0;width:17px;pointer-events:none;}
.asx-slider::before {left:0;background:linear-gradient(90deg,#fff 0%,transparent 100%);}
.asx-slider::after {right:0;background:linear-gradient(270deg,#fff 0%,transparent 100%);}
.asx-slider__track {width:max-content;max-width:none;display:flex;flex-wrap:nowrap;will-change:transform;}
.asx-slider__track--animate {animation:asx-ticker var(--asx-slider-duration,80s) linear infinite;}
.asx-slider:is(:hover,:focus-within) .asx-slider__track {animation-play-state:paused;}
@keyframes asx-ticker {to{transform:translateX(-50%);}}
.asx-slider__group {display:flex;flex-wrap:nowrap;gap:12px;padding-right:12px;flex:0 0 auto;}
.asx-slide {display:flex;flex:0 0 190px;width:190px;flex-direction:column;gap:9px;padding:9px 9px 13px;border:1px solid #ebe8e3;border-radius:6px;background:#fff;color:#323232 !important;text-decoration:none !important;min-width:0;transition:border-color .15s;}
.asx-slide:hover {border-color:#aebbad;}
.asx-slide__image {display:block;overflow:hidden;width:100%;background:#f7f6f3;border-radius:4px;}
.asx-slide__name {font:500 12px/1.45 Inter,Arial,sans-serif;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:35px;}
.asx-slide__price {font:600 12px/1.4 Inter,Arial,sans-serif;color:var(--asx-green,#153d20);margin-top:auto;}
.asx-slide__price .amount,.asx-slide__price ins {color:inherit;text-decoration:none;}
.asx-slide__price del {color:#948f8b;font-size:10px;font-weight:400;margin-right:2px;}
.asx-slide__price del .amount {color:#948f8b;}
@media(max-width:767px) {
  .asx-overlay .asx-dialog__header {display:flex !important;flex-direction:row;align-items:center;gap:9px;min-height:calc(env(safe-area-inset-top) + 70px);padding:calc(env(safe-area-inset-top) + 12px) 14px 12px;border-bottom:1px solid #efede9;}
  .asx-overlay .asx-dialog__eyebrow,.asx-overlay .asx-dialog__heading,.asx-overlay .asx-hint {display:none !important;}
  .asx-overlay .asx-dialog__heading-row {order:2;flex:0 0 36px;width:36px;margin:0;justify-content:center;}
  .asx-overlay .asx-dialog__heading-row .asx-close {min-width:36px;min-height:42px;width:36px;height:42px;}
  .asx-overlay .asx-form {order:1;flex:1 1 auto;min-width:0;min-height:44px;height:44px;padding:4px 10px;gap:8px;}
  .asx-overlay .asx-form__search-icon {width:20px;height:20px;}
  .asx-overlay .asx-form__submit {display:none !important;}
  .asx-overlay .asx-input__clear {padding:0 3px !important;font-size:10px !important;}
  .asx-overlay .asx-input {height:34px !important;min-width:0;font-size:16px !important;}
  .asx-overlay .asx-dialog__body {padding:23px 16px 24px;}
  .asx-initial__featured-heading {font-size:20px;margin-bottom:14px;}
  .asx-categories--popular {grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
  .asx-category {min-height:71px;padding:12px 12px;}
  .asx-category__name {font-size:12px;}
  .asx-category__count {font-size:10px;}
  .asx-slide {flex-basis:156px;width:156px;gap:8px;padding:8px 8px 11px;}
  .asx-slide__name,.asx-slide__price {font-size:11px;}
  .asx-slide__name {min-height:33px;}
  .asx-dialog__footer {justify-content:center;}
  .asx-all {justify-content:center;text-align:center;}
}
@media(max-width:350px){ .asx-categories--popular {grid-template-columns:1fr 1fr;gap:7px;} .asx-overlay .asx-dialog__header {gap:5px;padding-left:9px;padding-right:9px;} }
@media(prefers-reduced-motion:reduce) {
  .asx-slider {overflow-x:auto;scrollbar-width:thin;}
  .asx-slider__track {animation:none !important;transform:none !important;will-change:auto;}
  .asx-slider__group[aria-hidden="true"] {display:none;}
  .asx-slider::before,.asx-slider::after {display:none;}
}
/* Overlay is moved to <body> by JS; honour hidden descendants outside .asx-root. */
.asx-overlay [hidden] {display:none !important;}

/* ASARTEM Search UX V1.3 — BOTH curated modules on the start screen. */
.asx-initial {display:flex;flex-direction:column;gap:30px;}
.asx-initial[hidden] {display:none !important;}
.asx-initial__featured--categories + .asx-initial__featured--slider {
  border-top:1px solid #eceae6;
  padding-top:24px;
}
.asx-initial__featured--slider .asx-slider {margin-top:0;}
@media (max-width:767px) {
  .asx-initial {gap:23px;}
  .asx-initial__featured--categories + .asx-initial__featured--slider {padding-top:20px;}
}

/* ASARTEM Search UX V1.4 – manual swipe & drag, seamless scroll desktop/mobile. */
.asx-overlay .asx-slider {
  overflow-x:auto;
  overflow-y:hidden;
  scroll-behavior:auto;
  scroll-snap-type:none;
  scrollbar-width:none;
  -ms-overflow-style:none;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-inline:contain;
  touch-action:pan-x pan-y;
  cursor:grab;
}
.asx-overlay .asx-slider::-webkit-scrollbar {display:none;}
.asx-overlay .asx-slider.asx-slider--dragging {cursor:grabbing;user-select:none;-webkit-user-select:none;}
.asx-overlay .asx-slider__track {
  animation:none !important;
  transform:none !important;
  will-change:auto;
  display:flex;
  width:max-content;
  max-width:none;
  pointer-events:auto;
}
.asx-overlay .asx-slider__group {
  gap:var(--asx-slide-gap,12px);
  padding-right:var(--asx-slide-gap,12px);
}
.asx-overlay .asx-slide {
  flex:0 0 var(--asx-slide-desktop,190px);
  width:var(--asx-slide-desktop,190px);
}
.asx-overlay .asx-slide__image img {pointer-events:none;user-select:none;-webkit-user-drag:none;}
.asx-overlay .asx-slider:focus-visible {outline:2px solid var(--asx-green,#153d20);outline-offset:3px;}
@media(max-width:767px){
  .asx-overlay .asx-slide {flex-basis:var(--asx-slide-mobile,156px);width:var(--asx-slide-mobile,156px);}
  .asx-overlay .asx-slider {cursor:auto;}
}
@media(prefers-reduced-motion:reduce){
  .asx-overlay .asx-slider {scrollbar-width:thin;}
  .asx-overlay .asx-slider::-webkit-scrollbar{display:initial;}
}
