/* Storefront v33 — language selector, catalog search and dedicated order desk. */

/* --------------------------------------------------------------------------
   Language selector
   -------------------------------------------------------------------------- */
html body.store-body .lang-menu-v33 {
  width: 380px !important;
  min-width: 380px !important;
  max-width: min(380px, calc(100vw - 32px)) !important;
  padding: 14px !important;
  border-radius: 28px !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

html body.store-body .lang-menu-v33 .topbar-popover-head-v9 {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 52px !important;
  align-items: start !important;
  gap: 14px !important;
  padding: 8px 8px 16px !important;
  margin: 0 0 12px !important;
  border-bottom: 1px solid rgba(123, 164, 218, .24) !important;
}

html body.store-body .lang-menu-v33 .topbar-popover-head-v9 > div {
  min-width: 0 !important;
}

html body.store-body .lang-menu-v33 .topbar-popover-head-v9 b {
  display: block !important;
  margin: 0 0 5px !important;
  color: var(--text, #111827) !important;
  font-size: 26px !important;
  line-height: 1.04 !important;
  letter-spacing: -.035em !important;
  white-space: normal !important;
}

html body.store-body .lang-menu-v33 .topbar-popover-head-v9 small {
  display: block !important;
  color: var(--muted, #78869b) !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  white-space: normal !important;
}

html body.store-body .lang-menu-v33 .topbar-popover-head-v9 > button {
  width: 52px !important;
  height: 52px !important;
  border-radius: 17px !important;
  flex: 0 0 52px !important;
}

html body.store-body .lang-menu-v33 .lang-menu-list-v9 {
  display: grid !important;
  gap: 10px !important;
  padding: 4px 0 0 !important;
}

html body.store-body .lang-menu-v33 .lang-menu-list-v9 > button {
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) 24px !important;
  align-items: center !important;
  gap: 14px !important;
  width: 100% !important;
  min-height: 78px !important;
  padding: 11px 15px !important;
  border-radius: 20px !important;
  box-sizing: border-box !important;
  text-align: left !important;
  overflow: hidden !important;
}

html body.store-body .lang-menu-v33 .lang-menu-flag-v9 {
  width: 54px !important;
  height: 54px !important;
  min-width: 54px !important;
  border-radius: 999px !important;
}

html body.store-body .lang-menu-v33 .lang-menu-flag-v9 img {
  width: 54px !important;
  height: 54px !important;
  object-fit: cover !important;
}

html body.store-body .lang-menu-v33 .lang-menu-copy-v9 {
  display: grid !important;
  grid-template-columns: 46px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0 !important;
  width: 100% !important;
}

html body.store-body .lang-menu-v33 .lang-code {
  color: #087dff !important;
  font-size: 18px !important;
  line-height: 1 !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}

html body.store-body .lang-menu-v33 .lang-name {
  display: block !important;
  min-width: 0 !important;
  color: var(--muted, #6f7d92) !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  font-weight: 650 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

html body.store-body .lang-menu-v33 .lang-menu-list-v9 > button.selected .lang-name,
html body.store-body .lang-menu-v33 .lang-menu-list-v9 > button.selected .lang-code {
  color: #087dff !important;
}

/* --------------------------------------------------------------------------
   Catalog search controls
   -------------------------------------------------------------------------- */
html body.store-body .catalog-top {
  margin-bottom: 22px !important;
}

html body.store-body .catalog-filter-v33 {
  position: relative !important;
  z-index: 35 !important;
  display: grid !important;
  grid-template-columns: minmax(320px, 1fr) minmax(190px, 260px) minmax(220px, 300px) 168px !important;
  align-items: stretch !important;
  gap: 14px !important;
  width: 100% !important;
  padding: 20px !important;
  border-radius: 26px !important;
  box-sizing: border-box !important;
}

html body.store-body .catalog-filter-v33 > label,
html body.store-body .catalog-filter-v33 .custom-select-trigger,
html body.store-body .catalog-filter-v33 .catalog-search-submit-v33 {
  min-height: 58px !important;
  height: 58px !important;
  border-radius: 18px !important;
  box-sizing: border-box !important;
}

html body.store-body .catalog-filter-v33 > label {
  min-width: 0 !important;
  padding: 0 18px !important;
}

html body.store-body .catalog-filter-v33 > label input {
  min-width: 0 !important;
  width: 100% !important;
}

html body.store-body .catalog-filter-v33 .custom-select-v33 {
  position: relative !important;
  min-width: 0 !important;
  z-index: 1 !important;
}

html body.store-body .catalog-filter-v33 .custom-select-v33.open {
  z-index: 50 !important;
}

html body.store-body .catalog-filter-v33 .custom-select-trigger {
  width: 100% !important;
  padding: 0 18px !important;
}

html body.store-body .catalog-filter-v33 .custom-select-menu-v33 {
  top: calc(100% + 12px) !important;
  left: 0 !important;
  right: auto !important;
  width: max(100%, 260px) !important;
  min-width: 100% !important;
  max-width: min(340px, calc(100vw - 32px)) !important;
  display: grid !important;
  gap: 6px !important;
  padding: 10px !important;
  border-radius: 22px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  box-shadow: 0 24px 70px rgba(46, 84, 128, .2) !important;
}

html body.store-body .catalog-filter-v33 .custom-select-menu-v33 > button {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-height: 48px !important;
  padding: 12px 16px !important;
  margin: 0 !important;
  border-radius: 14px !important;
  box-sizing: border-box !important;
  color: var(--text, #111827) !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  text-align: left !important;
  white-space: normal !important;
}

html body.store-body .catalog-filter-v33 .custom-select-menu-v33 > button.selected {
  color: #087dff !important;
  background: rgba(8, 125, 255, .1) !important;
}

html body.store-body .catalog-search-submit-v33 {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  padding: 0 22px !important;
  font-size: 15px !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}

html body.store-body .catalog-search-submit-v33 .i,
html body.store-body .catalog-search-submit-v33 iconify-icon {
  font-size: 20px !important;
}

/* --------------------------------------------------------------------------
   Dedicated order desk / module customization page
   -------------------------------------------------------------------------- */
html body.store-body .desk-page-v33 {
  --desk-blue: #087dff;
  --desk-line: rgba(139, 177, 224, .32);
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 8px 0 36px !important;
  box-sizing: border-box !important;
}

html body.store-body .desk-hero-v33 {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr) !important;
  gap: 26px !important;
  align-items: stretch !important;
  min-height: 310px !important;
  padding: 46px !important;
  margin: 0 0 24px !important;
  border: 1px solid var(--desk-line) !important;
  border-radius: 34px !important;
  background:
    radial-gradient(circle at 88% 12%, rgba(8,125,255,.19), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(239,247,255,.94)) !important;
  box-shadow: 0 28px 80px rgba(52, 89, 133, .12) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

html body.store-body .desk-hero-v33::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background-image: linear-gradient(rgba(8,125,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(8,125,255,.035) 1px, transparent 1px) !important;
  background-size: 32px 32px !important;
  mask-image: linear-gradient(90deg, #000, transparent 80%) !important;
}

html body.store-body .desk-hero-v33 > div,
html body.store-body .desk-hero-v33 > aside {
  position: relative !important;
  z-index: 1 !important;
}

html body.store-body .desk-hero-v33 h1 {
  max-width: 720px !important;
  margin: 18px 0 18px !important;
  font-size: clamp(42px, 5vw, 72px) !important;
  line-height: .98 !important;
  letter-spacing: -.055em !important;
}

html body.store-body .desk-hero-v33 p {
  max-width: 720px !important;
  margin: 0 !important;
  font-size: 19px !important;
  line-height: 1.52 !important;
}

html body.store-body .desk-steps-v33 {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  align-content: center !important;
  padding: 16px !important;
  border: 1px solid rgba(255,255,255,.85) !important;
  border-radius: 26px !important;
  background: rgba(255,255,255,.64) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9) !important;
  backdrop-filter: blur(18px) !important;
}

html body.store-body .desk-steps-v33 > div {
  min-height: 72px !important;
  padding: 14px 16px !important;
  border: 1px solid rgba(128, 172, 226, .24) !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.82) !important;
  box-sizing: border-box !important;
}

html body.store-body .desk-layout-v33 {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 330px !important;
  gap: 24px !important;
  align-items: start !important;
}

html body.store-body .desk-form-v33 {
  padding: 34px !important;
  border-radius: 32px !important;
  box-sizing: border-box !important;
}

html body.store-body .desk-form-title-v33 {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 20px !important;
  margin: 0 0 28px !important;
  padding: 0 0 22px !important;
  border-bottom: 1px solid var(--desk-line) !important;
}

html body.store-body .desk-form-title-v33 h2 {
  margin: 0 !important;
  font-size: 34px !important;
  letter-spacing: -.045em !important;
}

html body.store-body .desk-form-grid-v33 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

html body.store-body .desk-page-v33 .desk-field-v176 input,
html body.store-body .desk-page-v33 .desk-custom-input-v176,
html body.store-body .desk-page-v33 .desk-description-v176 textarea {
  width: 100% !important;
  border-radius: 18px !important;
  box-sizing: border-box !important;
}

html body.store-body .desk-chip-grid-v33 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

html body.store-body .desk-chip-grid-v33 > button,
html body.store-body .desk-budget-row-v33 > button {
  min-height: 54px !important;
  border-radius: 17px !important;
}

html body.store-body .desk-budget-row-v33 {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

html body.store-body .desk-actions-v33 {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 180px !important;
  gap: 12px !important;
  margin-top: 22px !important;
}

html body.store-body .desk-actions-v33 > * {
  min-height: 58px !important;
  border-radius: 18px !important;
}

html body.store-body .desk-aside-v33 {
  display: grid !important;
  gap: 14px !important;
  position: sticky !important;
  top: 24px !important;
}

html body.store-body .desk-aside-card-v33 {
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) !important;
  gap: 14px !important;
  padding: 20px !important;
  border: 1px solid var(--desk-line) !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.9) !important;
  box-shadow: 0 18px 48px rgba(55, 91, 134, .08) !important;
  box-sizing: border-box !important;
}

html body.store-body .desk-aside-card-v33.is-primary {
  background: linear-gradient(145deg, #087dff, #0069e9) !important;
  color: #fff !important;
  border-color: transparent !important;
}

html body.store-body .desk-aside-icon-v33 {
  width: 48px !important;
  height: 48px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 16px !important;
  color: #087dff !important;
  background: rgba(8,125,255,.1) !important;
}

html body.store-body .desk-aside-card-v33.is-primary .desk-aside-icon-v33 {
  color: #fff !important;
  background: rgba(255,255,255,.18) !important;
}

html body.store-body .desk-aside-card-v33 b {
  display: block !important;
  margin: 2px 0 7px !important;
  font-size: 16px !important;
  line-height: 1.25 !important;
}

html body.store-body .desk-aside-card-v33 p {
  margin: 0 !important;
  color: var(--muted, #718097) !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

html body.store-body .desk-aside-card-v33.is-primary p {
  color: rgba(255,255,255,.82) !important;
}

body.store-body:not(.theme-day) .desk-hero-v33 {
  background: radial-gradient(circle at 88% 12%, rgba(8,125,255,.25), transparent 34%), linear-gradient(145deg, rgba(25,36,52,.98), rgba(17,28,43,.96)) !important;
}

body.store-body:not(.theme-day) .desk-steps-v33,
body.store-body:not(.theme-day) .desk-steps-v33 > div,
body.store-body:not(.theme-day) .desk-aside-card-v33 {
  background: rgba(24,36,52,.92) !important;
}

/* --------------------------------------------------------------------------
   Responsive adjustments
   -------------------------------------------------------------------------- */
@media (max-width: 1180px) {
  html body.store-body .catalog-filter-v33 {
    grid-template-columns: minmax(280px, 1fr) minmax(170px, .45fr) minmax(190px, .55fr) 150px !important;
  }

  html body.store-body .desk-layout-v33 {
    grid-template-columns: minmax(0, 1fr) 290px !important;
  }
}

@media (max-width: 900px) {
  html body.store-body .mobile-language-menu-v33 {
    width: min(360px, calc(100vw - 24px)) !important;
    min-width: 0 !important;
    padding: 12px !important;
    border-radius: 24px !important;
  }

  html body.store-body .mobile-language-menu-v33 header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 46px !important;
    gap: 12px !important;
    padding: 5px 4px 14px !important;
  }

  html body.store-body .mobile-language-menu-v33 header b {
    display: block !important;
    font-size: 23px !important;
    line-height: 1.05 !important;
    white-space: normal !important;
  }

  html body.store-body .mobile-language-menu-v33 header small {
    display: block !important;
    margin-top: 4px !important;
    white-space: normal !important;
  }

  html body.store-body .mobile-language-list-v23 {
    display: grid !important;
    gap: 9px !important;
  }

  html body.store-body .mobile-language-list-v23 > button {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) 22px !important;
    gap: 12px !important;
    min-height: 68px !important;
    padding: 10px 13px !important;
    border-radius: 18px !important;
  }

  html body.store-body .mobile-language-list-v23 > button > em {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 9px !important;
    min-width: 0 !important;
  }

  html body.store-body .mobile-language-list-v23 > button small {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  html body.store-body .catalog-filter-v33 {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    padding: 12px !important;
    border-radius: 22px !important;
  }

  html body.store-body .catalog-filter-v33 > label,
  html body.store-body .catalog-filter-v33 .catalog-search-submit-v33 {
    grid-column: 1 / -1 !important;
  }

  html body.store-body .catalog-filter-v33 .custom-select-menu-v33 {
    width: 100% !important;
    min-width: 100% !important;
  }

  html body.store-body .desk-page-v33 {
    padding: 0 0 22px !important;
  }

  html body.store-body .desk-hero-v33 {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    padding: 24px !important;
    gap: 20px !important;
    border-radius: 28px !important;
  }

  html body.store-body .desk-hero-v33 h1 {
    font-size: clamp(38px, 12vw, 54px) !important;
  }

  html body.store-body .desk-hero-v33 p {
    font-size: 16px !important;
  }

  html body.store-body .desk-steps-v33 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    padding: 10px !important;
    gap: 7px !important;
  }

  html body.store-body .desk-steps-v33 > div {
    min-height: 84px !important;
    padding: 12px 10px !important;
  }

  html body.store-body .desk-layout-v33 {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  html body.store-body .desk-form-v33 {
    padding: 22px !important;
    border-radius: 26px !important;
  }

  html body.store-body .desk-form-grid-v33,
  html body.store-body .desk-chip-grid-v33 {
    grid-template-columns: 1fr !important;
  }

  html body.store-body .desk-chip-grid-v33 {
    display: flex !important;
    overflow-x: auto !important;
    scroll-snap-type: x proximity !important;
    scrollbar-width: none !important;
    padding: 2px 1px 8px !important;
  }

  html body.store-body .desk-chip-grid-v33::-webkit-scrollbar,
  html body.store-body .desk-budget-row-v33::-webkit-scrollbar {
    display: none !important;
  }

  html body.store-body .desk-chip-grid-v33 > button {
    flex: 0 0 auto !important;
    min-width: max-content !important;
    scroll-snap-align: start !important;
  }

  html body.store-body .desk-budget-row-v33 {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
    padding: 2px 1px 8px !important;
  }

  html body.store-body .desk-budget-row-v33 > button {
    flex: 0 0 auto !important;
    min-width: max-content !important;
  }

  html body.store-body .desk-actions-v33 {
    grid-template-columns: 1fr !important;
  }

  html body.store-body .desk-aside-v33 {
    position: static !important;
  }
}

@media (max-width: 520px) {
  html body.store-body .catalog-filter-v33 {
    grid-template-columns: 1fr !important;
  }

  html body.store-body .catalog-filter-v33 > label,
  html body.store-body .catalog-filter-v33 .custom-select-v33,
  html body.store-body .catalog-filter-v33 .catalog-search-submit-v33 {
    grid-column: auto !important;
  }

  html body.store-body .catalog-filter-v33 > label,
  html body.store-body .catalog-filter-v33 .custom-select-trigger,
  html body.store-body .catalog-filter-v33 .catalog-search-submit-v33 {
    min-height: 54px !important;
    height: 54px !important;
  }

  html body.store-body .desk-hero-v33,
  html body.store-body .desk-form-v33 {
    padding: 18px !important;
  }

  html body.store-body .desk-steps-v33 {
    grid-template-columns: 1fr !important;
  }

  html body.store-body .desk-steps-v33 > div {
    min-height: 0 !important;
  }

  html body.store-body .desk-form-title-v33 {
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  html body.store-body .desk-form-title-v33 h2 {
    font-size: 30px !important;
  }
}


/* High-specificity final language popover repair over legacy topbar-v12. */
html body.store-body #app > .store-layout:not(.auth-layout) > main.main .topbar.topbar-v849 .lang-switch.custom-select .lang-menu-v12.lang-menu-v33 {
  width: 380px !important;
  min-width: 380px !important;
  max-width: min(380px, calc(100vw - 32px)) !important;
  padding: 14px !important;
  overflow: visible !important;
}
html body.store-body #app > .store-layout:not(.auth-layout) > main.main .topbar.topbar-v849 .lang-menu-v12.lang-menu-v33 .topbar-popover-head-v9 {
  grid-template-columns: minmax(0, 1fr) 52px !important;
  gap: 14px !important;
  padding: 8px 8px 16px !important;
}
html body.store-body #app > .store-layout:not(.auth-layout) > main.main .topbar.topbar-v849 .lang-menu-v12.lang-menu-v33 .topbar-popover-head-v9 > button {
  width: 52px !important;
  height: 52px !important;
  border-radius: 17px !important;
}
html body.store-body #app > .store-layout:not(.auth-layout) > main.main .topbar.topbar-v849 .lang-menu-v12.lang-menu-v33 .lang-menu-list-v9 > button {
  grid-template-columns: 54px minmax(0, 1fr) 24px !important;
  gap: 14px !important;
  min-height: 78px !important;
  padding: 11px 15px !important;
}
html body.store-body #app > .store-layout:not(.auth-layout) > main.main .topbar.topbar-v849 .lang-menu-v12.lang-menu-v33 .lang-menu-copy-v9 {
  grid-template-columns: 46px minmax(0, 1fr) !important;
  gap: 12px !important;
}
html body.store-body #app > .store-layout:not(.auth-layout) > main.main .topbar.topbar-v849 .lang-menu-v12.lang-menu-v33 .lang-menu-copy-v9 .lang-name {
  width: auto !important;
  min-width: 0 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
html body.store-body #app > .store-layout:not(.auth-layout) > main.main .desk-steps-v33 > div b {
  min-width: 44px !important;
  white-space: nowrap !important;
}
