/* IMY Names — UX layer (D66): category images, scroll arrows, view switcher (cards / squares / list), search filters on mobile, sticky header, quick search. */
:root{--imyn-ux-head:#563869;--imyn-ux-line:#dfd4eb;--imyn-ux-soft:#f6f2f9;--imyn-ux-primary:#6b4682}

/* ---------- category / collection images ---------- */
.imyn-ti{margin:0;border-radius:24px;overflow:hidden;background:var(--imyn-ux-soft);aspect-ratio:16/9}
.imyn-ti img{display:block;width:100%;height:100%;object-fit:cover}
@media (min-width:1025px){
  .e-con:has(> .elementor-widget-imyn-term-image){position:relative;padding-inline-end:calc(38% + 64px)!important;min-height:300px}
  .e-con > .elementor-widget-imyn-term-image{position:absolute!important;inset-inline-end:32px;top:32px;bottom:32px;width:38%!important;margin:0!important}
  .e-con > .elementor-widget-imyn-term-image .imyn-ti{height:100%;aspect-ratio:auto}
}
@media (max-width:1024px){.e-con > .elementor-widget-imyn-term-image{order:-1!important;width:100%}.e-con > .elementor-widget-imyn-term-image .imyn-ti{max-height:300px}}
.imyn-cg__media{margin:-24px -24px 6px;aspect-ratio:16/9;overflow:hidden;border-radius:23px 23px 0 0;background:var(--imyn-ux-soft)}
.imyn-cg__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.imyn-cg__card:hover .imyn-cg__media img{transform:scale(1.03)}
@media (max-width:767px){.imyn-cg__media{margin:-18px -20px 4px}}
.imyn-cg__chipimg{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;margin-bottom:6px}
.imyn-arc__head:has(.imyn-arc__img){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,38%);column-gap:32px;align-items:center}
.imyn-arc__head:has(.imyn-arc__img) > *{grid-column:1}
.imyn-arc__img{grid-column:2!important;grid-row:1/span 5;margin:0;border-radius:24px;overflow:hidden;aspect-ratio:16/9}
.imyn-arc__img img{display:block;width:100%;height:100%;object-fit:cover}
@media (max-width:767px){.imyn-arc__head:has(.imyn-arc__img){display:flex}.imyn-arc__img{order:-1}}

/* ---------- sticky site header (code, not Elementor sticky): the promo strip scrolls away, the menu bar stays ---------- */
.elementor-location-header{position:sticky;top:0;z-index:990}
.elementor-location-header.is-stuck{box-shadow:0 4px 16px rgba(86,56,105,.08)}
/* the letter bar never sticks (only the header does) */
.imyn-li--sticky{position:static!important}

/* ---------- arrows on horizontal scroll rows (letters, filters, tabs) ---------- */
.imyn-sx{position:relative;width:100%}
html body .imyn-sx .imyn-sx__btn{all:unset;box-sizing:border-box!important;position:absolute!important;top:50%!important;z-index:3;width:36px!important;height:36px!important;min-width:0!important;min-height:0!important;margin:-18px 0 0!important;padding:0!important;border-radius:50%!important;
  display:flex!important;align-items:center;justify-content:center;cursor:pointer;background:#fff!important;border:1px solid var(--imyn-ux-line)!important;color:var(--imyn-ux-head)!important;
  box-shadow:0 2px 10px rgba(86,56,105,.22)!important;font-size:0;line-height:0}
html body .imyn-sx .imyn-sx__btn svg{width:18px!important;height:18px!important;display:block}
html body .imyn-sx .imyn-sx__btn--start{inset-inline-start:-4px;inset-inline-end:auto}
html body .imyn-sx .imyn-sx__btn--end{inset-inline-end:-4px;inset-inline-start:auto}
html body .imyn-sx .imyn-sx__btn[hidden]{display:none!important}
html body .imyn-sx .imyn-sx__btn:hover{background:var(--imyn-ux-soft)!important}
html body .imyn-sx .imyn-sx__btn:focus-visible{outline:2px solid var(--imyn-ux-primary);outline-offset:2px}
/* name lists always take the full row (no empty strip on the side in squares / list views) */
.elementor-widget-imyn-names-az,.elementor-widget-imyn-names-az .imyn-az,.imyn-vx{flex:1 1 100%!important;width:100%!important;max-width:100%!important}

/* ---------- view switcher ---------- */
.imyn-view{display:flex;align-items:center;gap:6px;margin:0 0 14px;flex-wrap:wrap}
.imyn-view__lbl{font-size:14px;color:#5e5e5e;margin-inline-end:2px}
html body .imyn-view__btn{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border-radius:999px;
  border:1px solid var(--imyn-ux-line);background:#fff;color:var(--imyn-ux-head);font-weight:600;font-size:14px}
html body .imyn-view__btn svg{width:16px;height:16px}
html body .imyn-view__btn[aria-pressed="true"]{background:var(--imyn-ux-head);border-color:var(--imyn-ux-head);color:#fff}
html body .imyn-view__btn:focus-visible{outline:2px solid var(--imyn-ux-primary);outline-offset:2px}
.imyn-s__bar-end .imyn-view{margin:0}

/* squares */
html[data-imyn-view="grid"] .imyn-vx .elementor-loop-container,
html[data-imyn-view="grid"] .imyn-az__grid,
html[data-imyn-view="grid"] .imyn-search .imyn-s__results{grid-template-columns:repeat(4,minmax(0,1fr))!important;--grid-columns:4;gap:14px!important}
html[data-imyn-view="grid"] .imyn-vx .imyn-ncard,
html[data-imyn-view="grid"] .imyn-az .imyn-ncard{aspect-ratio:1/1;overflow:hidden;justify-content:space-between!important;padding:16px!important;gap:6px!important}
html[data-imyn-view="grid"] .imyn-vx .imyn-ncard__meaning,
html[data-imyn-view="grid"] .imyn-az .imyn-ncard__meaning,
html[data-imyn-view="grid"] .imyn-vx .elementor-widget-imyn-name-tags,
html[data-imyn-view="grid"] .imyn-az .elementor-widget-imyn-name-tags{display:none!important}
html[data-imyn-view="grid"] .imyn-vx .imyn-ncard > .e-con,
html[data-imyn-view="grid"] .imyn-az .imyn-ncard > .e-con{flex-direction:column!important;align-items:flex-start!important;gap:6px!important}
html[data-imyn-view="grid"] .imyn-ncard__name .elementor-heading-title{font-size:24px!important;line-height:1.2!important}
html[data-imyn-view="grid"] .imyn-sc{aspect-ratio:1/1;overflow:hidden;padding:14px!important;gap:4px}
html[data-imyn-view="grid"] .imyn-sc__m,html[data-imyn-view="grid"] .imyn-sc__why{display:none}
html[data-imyn-view="grid"] .imyn-sc__name{font-size:26px}
html[data-imyn-view="grid"] .imyn-sc__foot{border-top:0;padding-top:0}
html[data-imyn-view="grid"] .imyn-sc__cmp span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (max-width:1024px){
  html[data-imyn-view="grid"] .imyn-vx .elementor-loop-container,
  html[data-imyn-view="grid"] .imyn-az__grid,
  html[data-imyn-view="grid"] .imyn-search .imyn-s__results{grid-template-columns:repeat(3,minmax(0,1fr))!important;--grid-columns:3}
}
@media (max-width:767px){
  html[data-imyn-view="grid"] .imyn-vx .elementor-loop-container,
  html[data-imyn-view="grid"] .imyn-az__grid,
  html[data-imyn-view="grid"] .imyn-search .imyn-s__results{grid-template-columns:repeat(2,minmax(0,1fr))!important;--grid-columns:2;gap:10px!important}
  html[data-imyn-view="grid"] .imyn-vx .imyn-ncard,html[data-imyn-view="grid"] .imyn-az .imyn-ncard{padding:12px!important}
  html[data-imyn-view="grid"] .imyn-ncard__name .elementor-heading-title{font-size:21px!important}
  html[data-imyn-view="grid"] .imyn-sc{padding:12px!important}
  html[data-imyn-view="grid"] .imyn-sc__name{font-size:22px}
  html[data-imyn-view="grid"] .imyn-sc__tr{font-size:13px}
}

/* list */
html[data-imyn-view="list"] .imyn-vx .elementor-loop-container,
html[data-imyn-view="list"] .imyn-az__grid,
html[data-imyn-view="list"] .imyn-search .imyn-s__results{grid-template-columns:minmax(0,1fr)!important;--grid-columns:1;gap:8px!important}
html[data-imyn-view="list"] .imyn-vx .imyn-ncard,
html[data-imyn-view="list"] .imyn-az .imyn-ncard{flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;padding:10px 16px!important;gap:16px!important}
html[data-imyn-view="list"] .imyn-ncard > .e-con:first-child{flex:1 1 0!important;width:auto!important;min-width:0;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;gap:4px 14px!important}
html[data-imyn-view="list"] .imyn-ncard .imyn-ncard__id{flex-direction:row!important;align-items:baseline!important;gap:10px!important;width:auto!important}
html[data-imyn-view="list"] .imyn-ncard .imyn-ncard__meaning{flex:1.4 1 0!important;width:auto!important;min-width:0;margin:0!important}
html[data-imyn-view="list"] .imyn-ncard__meaning .elementor-heading-title{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
html[data-imyn-view="list"] .imyn-ncard .imyn-ncard__actions{flex:0 0 auto!important;width:auto!important;margin:0!important;padding:0!important;border:0!important}
html[data-imyn-view="list"] .imyn-ncard__name .elementor-heading-title{font-size:22px!important}
html[data-imyn-view="list"] .imyn-sc{flex-direction:row;flex-wrap:nowrap;align-items:center;padding:10px 16px;gap:12px}
html[data-imyn-view="list"] .imyn-sc__top{order:3;margin:0;gap:8px}
html[data-imyn-view="list"] .imyn-sc__name{font-size:22px;flex:0 0 auto}
html[data-imyn-view="list"] .imyn-sc__tr{flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-imyn-view="list"] .imyn-sc__m{flex:1 1 0;min-width:0;margin:0;-webkit-line-clamp:1}
html[data-imyn-view="list"] .imyn-sc__foot{margin:0;padding:0;border:0;flex:0 0 auto}
html[data-imyn-view="list"] .imyn-sc__why{display:none}
@media (max-width:767px){
  html[data-imyn-view="list"] .imyn-ncard .imyn-ncard__tag,
  html[data-imyn-view="list"] .imyn-ncard .imyn-ncard__meaning,
  html[data-imyn-view="list"] .imyn-sc__m{display:none!important}
  html[data-imyn-view="list"] .imyn-ncard__name .elementor-heading-title{font-size:20px!important}
  html[data-imyn-view="list"] .imyn-vx .imyn-ncard,html[data-imyn-view="list"] .imyn-az .imyn-ncard{padding:8px 12px!important;gap:8px!important}
  html[data-imyn-view="list"] .imyn-sc__cmp span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
}

/* ---------- search filters on mobile: a clear 2-column grid instead of a cut-off row ---------- */
@media (max-width:767px){
  .imyn-search .imyn-s__quick{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:visible!important;margin-inline:0!important;padding-inline:0!important}
  .imyn-search .imyn-s__quick > *{min-width:0}
  .imyn-search .imyn-s__sel,.imyn-search .imyn-s__sel select{width:100%;box-sizing:border-box}
  .imyn-search .imyn-s__sel select{overflow:hidden;text-overflow:ellipsis;font-size:15px}
  .imyn-search .imyn-s__bar{align-items:flex-start}
}

/* ---------- quick search box (header search button) ---------- */
.imyn-qs{position:fixed;inset:0;z-index:100000;background:rgba(44,28,56,.38);display:flex;justify-content:center;align-items:flex-start;padding:72px 16px 16px}
.imyn-qs[hidden]{display:none}
.imyn-qs__in{width:100%;max-width:720px;background:#fff;border-radius:24px;padding:18px;box-shadow:0 18px 50px rgba(44,28,56,.25);display:flex;flex-direction:column;gap:10px;font-family:Assistant,sans-serif}
.imyn-qs__form{display:flex;align-items:center;gap:8px;border:1.5px solid #9066aa;border-radius:999px;padding:5px 6px 5px 5px;padding-inline:18px 6px}
html body .imyn-qs .imyn-qs__q{flex:1;min-width:0;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;height:44px;padding:0!important;font:400 19px/1 Assistant,sans-serif;color:var(--imyn-ux-head)}
html body .imyn-qs .imyn-qs__go{all:unset;cursor:pointer;height:44px;padding:0 22px;border-radius:999px;background:var(--imyn-ux-head);color:#fff;font-weight:700;display:inline-flex;align-items:center}
html body .imyn-qs .imyn-qs__x{all:unset;cursor:pointer;width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--imyn-ux-head);font-size:16px}
html body .imyn-qs .imyn-qs__x:hover{background:var(--imyn-ux-soft)}
.imyn-qs__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.imyn-qs__list:empty{display:none}
.imyn-qs__item{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 14px;border-radius:14px;text-decoration:none;color:var(--imyn-ux-head)}
.imyn-qs__item:hover,.imyn-qs__item:focus-visible{background:var(--imyn-ux-soft);outline:none}
.imyn-qs__item b{font:400 22px/1.3 "Varela Round",sans-serif}
.imyn-qs__item span{font-size:14px;color:#5e5e5e}
.imyn-qs__none{padding:10px 14px;color:#5e5e5e;font-size:15px}
.imyn-qs__more{align-self:flex-start;padding:6px 14px;font-weight:700;color:var(--imyn-ux-primary);text-decoration:none}
.imyn-qs__more:hover{text-decoration:underline}
.imyn-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
html.imyn-qs-open{overflow:hidden}
@media (max-width:767px){.imyn-qs{padding:12px 10px}.imyn-qs__in{border-radius:20px;padding:12px}html body .imyn-qs .imyn-qs__go{padding:0 14px}}
