/* Elementor places shortcode widgets in a flex row by default. The store is full-width. */
.elementor-widget-shortcode:has(.mlstore-store) {
  flex: 1 1 100% !important;
  max-width: 100% !important;
  width: 100% !important;
}

.elementor-widget-shortcode:has(.mlstore-store) .elementor-widget-container,
.elementor-widget-shortcode:has(.mlstore-store) .elementor-shortcode { width: 100%; }

.mlstore-store,
.mlstore-products-section {
  --mlstore-primary: #0b2f78;
  --mlstore-accent: #ec3941;
  --mlstore-ink: #0b1930;
  --mlstore-muted: #647188;
  --mlstore-line: #e5eaf3;
  color: var(--mlstore-ink);
  font-family: inherit;
}

.mlstore-store *, .mlstore-products-section * { box-sizing: border-box; }
.mlstore-store { margin: 0 auto; max-width: 1200px; padding: 36px 24px 76px; width: 100%; }

.mlstore-header {
  background: linear-gradient(135deg, #f4f7ff, #fff);
  border: 1px solid var(--mlstore-line);
  border-radius: 26px;
  padding: clamp(30px, 5vw, 58px);
  text-align: center;
}

.mlstore-eyebrow { color: var(--mlstore-accent) !important; font-size: .73rem !important; font-weight: 800 !important; letter-spacing: .13em; margin: 0 0 10px !important; text-transform: uppercase; }
.mlstore-header h1 { color: var(--mlstore-ink) !important; font-size: clamp(2.1rem, 4.5vw, 4.1rem) !important; letter-spacing: -.06em !important; line-height: 1 !important; margin: 0 !important; }
.mlstore-header > p:not(.mlstore-eyebrow) { color: var(--mlstore-muted) !important; font-size: 1.03rem; line-height: 1.6; margin: 14px auto 0 !important; max-width: 550px; }

.mlstore-search { align-items: center; background: #fff; border: 1px solid #dbe3f0; border-radius: 13px; display: flex; gap: 10px; margin: 29px auto 0; max-width: 650px; padding: 0 17px; transition: border-color .18s, box-shadow .18s; }
.mlstore-search:focus-within { border-color: var(--mlstore-primary); box-shadow: 0 0 0 4px rgba(11, 47, 120, .1); }
.mlstore-search svg { color: var(--mlstore-muted); height: 20px; width: 20px; }
.mlstore-search input { background: transparent; border: 0 !important; box-shadow: none !important; color: var(--mlstore-ink) !important; font: inherit !important; height: 54px; min-width: 0; outline: 0 !important; padding: 0 !important; width: 100%; }

.mlstore-chips { display: flex; flex-wrap: wrap; gap: 9px; margin: 26px 0 0; padding: 3px 1px 4px; }
.mlstore-chip { background: #fff; border: 1px solid var(--mlstore-line); border-radius: 999px; color: var(--mlstore-ink); cursor: pointer; font: inherit; font-size: .89rem; font-weight: 700; padding: 10px 15px; transition: .18s; white-space: nowrap; }
.mlstore-chip:hover, .mlstore-chip:focus-visible { border-color: var(--mlstore-primary); transform: translateY(-1px); }
.mlstore-chip.is-active { background: var(--mlstore-primary); border-color: var(--mlstore-primary); color: #fff; }

.mlstore-toolbar { align-items: center; display: flex; gap: 16px; justify-content: space-between; margin: 24px 0; }
.mlstore-count { color: var(--mlstore-muted) !important; font-size: .92rem !important; margin: 0 !important; }
.mlstore-sort { align-items: center; color: var(--mlstore-muted) !important; display: flex; font-size: .88rem; font-weight: 700; gap: 8px; }
.mlstore-sort select { background: #fff; border: 1px solid var(--mlstore-line); border-radius: 9px; color: var(--mlstore-ink); font: inherit; font-size: .88rem; padding: 9px 30px 9px 11px; }

.mlstore-grid { display: grid; gap: 16px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mlstore-products-section { display: grid; gap: 16px; grid-template-columns: repeat(var(--mlstore-columns, 4), minmax(0, 1fr)); }
.mlstore-product { background: #fff; border: 1px solid var(--mlstore-line); border-radius: 17px; display: flex; flex-direction: column; min-width: 0; overflow: hidden; transition: box-shadow .2s, transform .2s; }
.mlstore-product:hover { box-shadow: 0 16px 32px rgba(12, 43, 98, .09); transform: translateY(-2px); }
.mlstore-image { align-items: center; background: #f8faff; display: flex; height: 214px; justify-content: center; overflow: hidden; position: relative; text-decoration: none !important; }
.mlstore-image img { height: 100%; object-fit: contain; padding: 14px; transition: transform .25s; width: 100%; }
.mlstore-product:hover .mlstore-image img { transform: scale(1.025); }
.mlstore-image-placeholder { color: #9ba8bb; }.mlstore-image-placeholder svg { height: 45px; width: 45px; }
.mlstore-tag { background: var(--mlstore-accent); border-radius: 999px; color: #fff; font-size: .71rem; font-weight: 800; left: 11px; padding: 6px 9px; position: absolute; top: 11px; }
.mlstore-product-body { display: flex; flex: 1; flex-direction: column; padding: 17px; }
.mlstore-product h3 { font-size: .96rem !important; letter-spacing: -.015em !important; line-height: 1.36 !important; margin: 0 !important; min-height: 2.7em; }
.mlstore-product h3 a { color: var(--mlstore-ink) !important; display: -webkit-box; overflow: hidden; text-decoration: none !important; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.mlstore-prices { margin-top: 13px; min-height: 54px; }.mlstore-old-price { color: #8a96a8; display: block; font-size: .78rem; text-decoration: line-through; }
.mlstore-prices > div { align-items: center; display: flex; flex-wrap: wrap; gap: 7px; }.mlstore-prices strong { color: var(--mlstore-ink); font-size: 1.18rem; letter-spacing: -.035em; }.mlstore-discount { color: #188249; font-size: .75rem; font-weight: 800; }
.mlstore-button { align-items: center; border: 1px solid var(--mlstore-primary); border-radius: 10px; color: var(--mlstore-primary) !important; display: flex; font-size: .84rem; font-weight: 800; gap: 6px; justify-content: center; margin-top: auto; min-height: 42px; padding: 0 10px; text-align: center; text-decoration: none !important; transition: .18s; }
.mlstore-button:hover { background: var(--mlstore-primary); color: #fff !important; }.mlstore-button svg { height: 16px; width: 16px; }

.mlstore-pagination { display: flex; gap: 7px; justify-content: center; margin-top: 33px; }.mlstore-pagination button { background: #fff; border: 1px solid var(--mlstore-line); border-radius: 9px; color: var(--mlstore-ink); cursor: pointer; font: inherit; font-size: .85rem; font-weight: 800; min-height: 38px; min-width: 38px; padding: 0 9px; }.mlstore-pagination button:hover, .mlstore-pagination button.is-current { background: var(--mlstore-primary); border-color: var(--mlstore-primary); color: #fff; }.mlstore-pagination button:disabled { cursor: not-allowed; opacity: .4; }
.mlstore-empty { border: 1px dashed #ccd6e6; border-radius: 17px; color: var(--mlstore-muted); grid-column: 1 / -1; padding: 55px 20px; text-align: center; }.mlstore-empty span { color: var(--mlstore-primary); font-size: 2rem; }.mlstore-empty h3 { color: var(--mlstore-ink); font-size: 1.1rem; margin: 7px 0; }.mlstore-empty p { font-size: .92rem; margin: 0; }
.mlstore-skeleton { animation: mlstore-shimmer 1.1s infinite linear; background: linear-gradient(90deg, #f2f5fa 25%, #fafbfe 37%, #f2f5fa 63%); background-size: 400% 100%; border-radius: 17px; height: 350px; }@keyframes mlstore-shimmer { from { background-position: 100% 0; } to { background-position: 0 0; } }
.mlstore-grid[aria-busy=true] { grid-template-columns: repeat(4, minmax(0, 1fr)); }.mlstore-store :focus-visible { outline: 3px solid rgba(11, 47, 120, .28); outline-offset: 2px; }

@media (max-width: 1024px) { .mlstore-grid, .mlstore-grid[aria-busy=true] { grid-template-columns: repeat(3, minmax(0, 1fr)); }.mlstore-products-section { grid-template-columns: repeat(min(3, var(--mlstore-columns, 3)), minmax(0, 1fr)); } }
@media (max-width: 720px) { .mlstore-store { padding: 23px 16px 55px; }.mlstore-header { border-radius: 20px; padding: 34px 20px; }.mlstore-chips { gap: 7px; margin-top: 21px; }.mlstore-chip { font-size: .8rem; padding: 8px 12px; }.mlstore-toolbar { align-items: flex-start; flex-direction: column; }.mlstore-sort { justify-content: space-between; width: 100%; }.mlstore-sort select { flex: 1; }.mlstore-grid, .mlstore-grid[aria-busy=true], .mlstore-products-section { gap: 11px; grid-template-columns: repeat(2, minmax(0, 1fr)); }.mlstore-image { height: 148px; }.mlstore-product { border-radius: 14px; }.mlstore-product-body { padding: 12px; }.mlstore-product h3 { font-size: .84rem !important; }.mlstore-prices strong { font-size: 1rem; }.mlstore-button { font-size: .73rem; line-height: 1.2; min-height: 39px; }.mlstore-button svg { display: none; }.mlstore-old-price { font-size: .7rem; }.mlstore-discount { font-size: .66rem; } }
@media (max-width: 350px) { .mlstore-grid, .mlstore-grid[aria-busy=true], .mlstore-products-section { grid-template-columns: 1fr; }.mlstore-image { height: 190px; } }
