/* Shopping only; Taxi, Bus and the desktop office retain their own layouts. */
#bottomSheet[data-panel-layout="shopping-v1"] { --taxi-panel-accent: #f3bd45; --taxi-panel-blue: #83cfff; --bus-panel-accent: #f3bd45; --bus-panel-blue: #83cfff; color: #f7fbff; height: max(260px, 36dvh); max-height: 60dvh; }
#bottomSheet[data-panel-layout="shopping-v1"] > .client-panel-fixed-action { top: 4.45dvh; bottom: auto; width: clamp(26px,3.5dvh,34px); height: clamp(26px,3.5dvh,34px); min-width: 0; padding: 0; border: 1px solid #8fd0ff4d; border-radius: 50%; color: #eaf7ff; background: #071624c2; }
#bottomSheet[data-panel-layout="shopping-v1"] > #taxiCardThemeToggle { left: 2.2%; }
#bottomSheet[data-panel-layout="shopping-v1"] > #toggleDriverListBtn { right: 2.2%; }
#bottomSheet[data-panel-layout="shopping-v1"] #driverFilterSwiper {
  position: absolute;
  top: 3.75dvh;
  left: 10%;
  right: 10%;
  width: auto;
  height: clamp(30px, 4.25dvh, 40px);
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(128, 202, 255, 0.2);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(16, 38, 58, 0.48), rgba(3, 12, 21, 0.44));
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.04), 0 7px 22px rgba(0, 0, 0, 0.18);
  transform: none;
  z-index: 5;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent);
}

#bottomSheet[data-panel-layout="shopping-v1"] #driverFilterSwiper .swiper-wrapper {
  height: 100%;
  align-items: center;
}

#bottomSheet[data-panel-layout="shopping-v1"] #driverFilterSwiper .driver-filter-slide {
  position: relative;
  width: 42% !important;
  min-width: 42%;
  height: 100%;
  margin: 0;
  padding: 0 0.55rem;
  border: 0;
  border-radius: 0;
  color: rgba(235, 244, 252, 0.42);
  background: transparent;
  box-shadow: none;
  opacity: 0.58;
  transform: scale(0.88);
  transition: color 180ms ease, opacity 180ms ease, transform 180ms ease;
  font-size: clamp(11px, 3.2dvw, 15px);
  font-weight: 650;
}

#bottomSheet[data-panel-layout="shopping-v1"] #driverFilterSwiper .driver-filter-slide.is-active {
  color: #fff;
  background: radial-gradient(circle at 50% 65%, rgba(71, 161, 221, 0.2), transparent 68%);
  box-shadow: none;
  opacity: 1;
  transform: scale(1);
}

#bottomSheet[data-panel-layout="shopping-v1"] #driverFilterSwiper .driver-filter-slide.is-active::after {
  content: "";
  position: absolute;
  left: 34%;
  right: 34%;
  bottom: 2px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--bus-panel-accent), var(--bus-panel-blue));
  box-shadow: 0 0 8px rgba(111, 196, 255, 0.8);
}

#bottomSheet[data-panel-layout="shopping-v1"] #driverFilterSwiper .driver-filter-slide > span {
  font-size: 0.94em;
  opacity: 0.9;
}


#bottomSheet[data-panel-layout="shopping-v1"] #dynamic-form.shopping-panel-form { position: absolute; top: 9dvh; bottom: max(6dvh,calc(62px + env(safe-area-inset-bottom,0px) - 2dvh)); left: 6%; right: 6%; width: auto; height: auto; margin: 0; padding: 0 2px 4px; display: flex; flex-direction: column; align-items: stretch; gap: 6px; background: transparent; border: 0; box-shadow: none; overflow: auto; overscroll-behavior-y: contain; scrollbar-width: thin; z-index: 4; }
.shopping-panel-form > * { flex-shrink: 0; }
.shopping-panel-heading { display: flex; justify-content: space-between; gap: 10px; padding: 0 3px; color: #d7e6f1; font-size: 11px; }
.shopping-panel-heading > span:last-child { color: #8ce5d6; font-size: 9px; letter-spacing: .15em; }
.shopping-panel-fields { width: 100%; min-width: 0; border: 1px solid #75b9e861; border-radius: clamp(13px,2dvh,18px); background: linear-gradient(145deg,#05121fe0,#040a12cc); }
#bottomSheet[data-panel-layout="shopping-v1"] #dynamic-form .shopping-panel-list,
#bottomSheet[data-panel-layout="shopping-v1"] #dynamic-form .shopping-panel-delivery { position: relative; display: grid; grid-template-columns: 38px minmax(0,1fr); grid-template-rows: auto auto; align-items: center; width: 100%; height: auto; min-height: 44px; margin: 0; padding: 3px 10px 3px 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; box-sizing: border-box; }
#bottomSheet[data-panel-layout="shopping-v1"] #dynamic-form .shopping-panel-list { display: block; padding: 0; border-bottom: 1px solid rgba(139,188,221,.18); }
#bottomSheet[data-panel-layout="shopping-v1"] .dynamic-list__open { display: grid; grid-template-columns: 38px minmax(0,1fr) 20px; align-items: center; min-height: 44px; width: 100%; margin: 0; padding: 5px 8px 5px 0; border: 0; border-radius: 14px 14px 0 0; background: transparent; color: #f7fbff; text-align: left; cursor: pointer; }
.shopping-panel-copy { display: grid; gap: 2px; min-width: 0; }
.shopping-panel-copy strong { font-size: 15px; font-weight: 650; }
.shopping-panel-summary { font-size: 11px; color: #a9c2d0; }
.shopping-panel-chevron { font-size: 26px; color: #8ce5d6; }
.shopping-panel-icon { display: grid; place-items: center; grid-column: 1; grid-row: 1 / 3; width: 25px; height: 25px; margin: auto; border: 1px solid #87ccf938; border-radius: 50%; color: #8ce5d6; }
.shopping-panel-icon svg { width: 17px; height: 17px; }
#bottomSheet[data-panel-layout="shopping-v1"] #dynamic-form .shopping-panel-delivery > input { grid-column: 2; grid-row: 1; align-self: end; position: static; width: 100%; min-width: 0; height: auto; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; color: #f7fbff; text-align: left; text-overflow: ellipsis; font-family: inherit; font-weight: 500; font-size: 16px; line-height: 1.3; }
#bottomSheet[data-panel-layout="shopping-v1"] #dynamic-form .shopping-panel-caption { position: static; grid-column: 2; grid-row: 2; margin: 2px 0 0; padding: 0; width: auto; font-size: 10px; font-weight: 400; color: #a9c2d0; }
.shopping-panel-delivery input::placeholder { color: #a9bbc9; }
.shopping-panel-fields:focus-within { border-color: #8ce5d6; }
.shopping-list-dialog { --shopping-dialog-bg: #091724; --shopping-dialog-text: #f1f8ff; box-sizing: border-box; width: min(94vw,580px); max-width: 580px; max-height: calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)); margin: auto; padding: 20px; border: 1px solid #8bdcca70; border-radius: 24px; background: var(--shopping-dialog-bg); color: var(--shopping-dialog-text); box-shadow: 0 20px 70px #0009; overflow: auto; overscroll-behavior: contain; font-family: Roboto,system-ui,sans-serif; }
.shopping-list-dialog:not([open]) { display: none; }
.shopping-list-dialog::backdrop { background: #020811bd; backdrop-filter: blur(5px); }
.shopping-list-dialog > header { position: sticky; top: -20px; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: -20px -20px 0; padding: 16px 20px 12px; background: var(--shopping-dialog-bg); border-bottom: 1px solid #82bbcb33; }
.shopping-list-dialog > header strong { font-size: 20px; }
.shopping-list-dialog button { min-height: 44px; border: 1px solid #90d9cd66; border-radius: 12px; padding: 8px 14px; color: var(--shopping-dialog-text); background: #458d8e22; font-family: inherit; font-weight: 600; line-height: 1.3; font-size: 14px; cursor: pointer; }
.shopping-list-dialog > header button { color: #05282c; background: #8ce5d6; font-weight: 750; }
.shopping-list-intro { font-size: 13px; line-height: 1.5; opacity: .78; margin: 14px 0 18px; }
.shopping-list-dialog .dynamic-smart-form { display: grid; gap: 18px; }
.shopping-list-dialog .dynamic-smart-form > label { display: grid; gap: 7px; color: var(--shopping-dialog-text); font-size: 13px; font-weight: 600; }
.shopping-list-dialog .dynamic-smart-form :is(input:not([type=checkbox]),select,textarea),
.shopping-list-dialog .shopping-product input { box-sizing: border-box; width: 100%; min-width: 0; min-height: 46px; padding: 10px 12px; border: 1px solid #8eafbe66; border-radius: 12px; background: #ffffff09; color: var(--shopping-dialog-text); font: inherit; font-size: 16px; line-height: 1.4; }
.shopping-list-dialog select option { color: #0d2335; background: #f4f9fc; }
.shopping-list-dialog textarea { min-height: 92px; resize: vertical; }
.shopping-list-dialog [hidden] { display: none !important; }
.shopping-list-dialog :is(input,textarea,select,button):focus-visible { outline: 2px solid #62d9c5; outline-offset: 2px; }
.shopping-products-group { margin: 0; padding: 0; border: 0; min-width: 0; }
.shopping-products-group legend { padding: 0; margin-bottom: 9px; font-size: 13px; font-weight: 700; }
.shopping-products { display: grid; gap: 8px; }
.shopping-product { display: grid; grid-template-columns: minmax(0,1fr) 44px; gap: 8px; }
.shopping-list-dialog .shopping-remove-product { padding: 0; font-size: 23px; color: #f7a89e; }
.shopping-list-dialog .shopping-add-product { width: 100%; margin-top: 10px; border-style: dashed; color: #8ce5d6; }
.shopping-list-dialog button:disabled { opacity: .4; cursor: default; }
body[data-taxi-card-theme=light] .shopping-list-dialog { --shopping-dialog-bg: #f4fafc; --shopping-dialog-text: #112f3e; }
body[data-taxi-card-theme=light] .shopping-list-dialog .shopping-add-product { color: #13685e; }
body[data-taxi-card-theme=light] .shopping-list-dialog .shopping-remove-product { color: #ad3d36; }
@media(max-width:360px) { .shopping-list-dialog { padding: 16px; border-radius: 18px; } .shopping-list-dialog > header { top: -16px; margin: -16px -16px 0; padding: 12px 16px; } }

/* Reset the legacy generic form centering inside this modal only. */
.shopping-list-dialog .dynamic-smart-form > label { width: 100%; margin: 0; text-align: left; }
.shopping-list-dialog .dynamic-smart-form :is(input, select, textarea) { width: 100%; margin: 0; text-align: left; }
#bottomSheet[data-panel-layout="shopping-v1"] #dynamic-form .shopping-panel-caption { text-align: left; }

/* Same shortcut geometry and date controls as Taxi. */
#bottomSheet[data-panel-layout="shopping-v1"] .service-panel-actions {
  width: 100%;
  height: clamp(39px, 5.4dvh, 50px);
  margin-top: 0.4dvh;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(5px, 1.5vw, 10px);
}

#bottomSheet[data-panel-layout="shopping-v1"] .service-panel-action {
  min-width: 0;
  height: 100%;
  padding: 0 clamp(4px, 1.4vw, 8px);
  display: grid;
  grid-template-columns: clamp(24px, 6.8vw, 32px) minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(3px, 1vw, 7px);
  border: 1px solid rgba(125, 194, 239, 0.24);
  border-radius: clamp(10px, 1.6dvh, 15px);
  color: #f7fbff;
  background: linear-gradient(145deg, rgba(9, 25, 40, 0.68), rgba(4, 13, 22, 0.62));
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.035);
  text-align: left;
}

#bottomSheet[data-panel-layout="shopping-v1"] .service-panel-action__icon {
  width: clamp(24px, 6.8vw, 32px);
  height: clamp(24px, 6.8vw, 32px);
  display: grid;
  place-items: center;
  border: 1px solid rgba(131, 207, 255, 0.24);
  border-radius: 50%;
  color: var(--taxi-panel-blue);
  background: rgba(3, 13, 22, 0.5);
  font-size: clamp(14px, 3.7dvw, 18px);
  line-height: 1;
}

#bottomSheet[data-panel-layout="shopping-v1"] .service-panel-action[data-panel-action="home"] .service-panel-action__icon,
#bottomSheet[data-panel-layout="shopping-v1"] .service-panel-action.has-value .service-panel-action__icon {
  border-color: rgba(243, 189, 69, 0.32);
  color: var(--taxi-panel-accent);
}

#bottomSheet[data-panel-layout="shopping-v1"] .service-panel-action__copy {
  min-width: 0;
  display: grid;
  gap: 1px;
}

#bottomSheet[data-panel-layout="shopping-v1"] .service-panel-action__copy strong,
#bottomSheet[data-panel-layout="shopping-v1"] .service-panel-action__copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#bottomSheet[data-panel-layout="shopping-v1"] .service-panel-action__copy strong {
  font-size: clamp(9px, 2.65dvw, 13px);
  line-height: 1.08;
}

#bottomSheet[data-panel-layout="shopping-v1"] .service-panel-action__copy small {
  color: rgba(211, 223, 233, 0.58);
  font-size: clamp(7px, 1.95dvw, 10px);
  line-height: 1.05;
}

#bottomSheet[data-panel-layout="shopping-v1"] .service-panel-action__arrow {
  color: rgba(227, 238, 247, 0.54);
  font-size: clamp(14px, 3.8dvw, 19px);
}

#bottomSheet[data-panel-layout="shopping-v1"] .taxi-quick-address-menu {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: clamp(39px, 5.4dvh, 50px);
  padding: 0 clamp(7px, 2vw, 12px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto auto;
  align-items: center;
  gap: clamp(5px, 1.5vw, 10px);
  border: 1px solid rgba(243, 189, 69, 0.32);
  border-radius: clamp(10px, 1.6dvh, 15px);
  color: #f7fbff;
  background: rgba(4, 14, 23, 0.96);
  box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.32);
  z-index: 8;
}

#bottomSheet[data-panel-layout="shopping-v1"] .taxi-quick-address-menu > strong {
  overflow: hidden;
  font-size: clamp(9px, 2.5dvw, 12px);
  text-overflow: ellipsis;
  white-space: nowrap;
}

#bottomSheet[data-panel-layout="shopping-v1"] .taxi-quick-address-menu > button {
  min-width: 0;
  padding: 0.5dvh 2vw;
  border: 1px solid rgba(131, 207, 255, 0.28);
  border-radius: 999px;
  color: #f8fbff;
  background: rgba(20, 45, 64, 0.65);
  font-size: clamp(9px, 2.4dvw, 12px);
}

#bottomSheet[data-panel-layout="shopping-v1"] .taxi-quick-address-menu > .taxi-quick-address-menu__close {
  width: clamp(22px, 3dvh, 28px);
  height: clamp(22px, 3dvh, 28px);
  padding: 0;
  font-size: 16px;
}

#bottomSheet[data-panel-layout="shopping-v1"] button:focus-visible,
#bottomSheet[data-panel-layout="shopping-v1"] input:focus-visible {
  outline: 2px solid rgba(143, 208, 255, 0.92);
  outline-offset: 2px;
}


#bottomSheet[data-panel-layout="shopping-v1"] .shopping-schedule-fields[hidden] { display: none !important; }
#bottomSheet[data-panel-layout="shopping-v1"] .shopping-schedule-fields {
  width: 100%;
  min-width: 0;
  height: clamp(39px, 5.4dvh, 50px);
  margin: .4dvh 0 0;
  padding: 0;
  border: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: clamp(5px, 1.5vw, 10px);
}
#bottomSheet[data-panel-layout="shopping-v1"] .shopping-schedule-fields > label {
  position: static;
  min-width: 0;
  margin: 0;
  padding: 3px 9px;
  display: grid;
  align-content: center;
  gap: 1px;
  border: 1px solid rgba(243, 189, 69, .32);
  border-radius: clamp(10px, 1.6dvh, 15px);
  background: rgba(5, 17, 28, .88);
  color: #bacbda;
  font-size: clamp(8px, 1.2dvh, 11px);
  line-height: 1.2;
}
#bottomSheet[data-panel-layout="shopping-v1"] #dynamic-form .shopping-schedule-fields input {
  display: block;
  position: static;
  width: 100%;
  min-width: 0;
  height: auto;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color: #f8fbff;
  background: transparent;
  color-scheme: dark;
  font: inherit;
  font-size: clamp(12px, 1.7dvh, 15px);
  text-align: left;
}
#bottomSheet[data-panel-layout="shopping-v1"] .shopping-schedule-fields input:focus-visible { outline: 1px solid #f3bd45; outline-offset: 2px; }
#bottomSheet[data-panel-layout="shopping-v1"] .shopping-panel-icon { color: #f3bd45; }
#bottomSheet[data-panel-layout="shopping-v1"] .shopping-panel-delivery .shopping-panel-icon { color: #83cfff; }
#bottomSheet[data-panel-layout="shopping-v1"] .shopping-panel-chevron { color: #83cfff; }
#bottomSheet[data-panel-layout="shopping-v1"] .shopping-panel-heading > span:last-child { color: #e5b95e; }
#bottomSheet[data-panel-layout="shopping-v1"] .shopping-panel-fields:focus-within { border-color: rgba(131,207,255,.6); }
#bottomSheet[data-panel-layout="shopping-v1"] :is(.service-panel-actions,.taxi-quick-address-menu,.shopping-schedule-fields)[hidden] { display: none !important; }
#bottomSheet[data-panel-layout="shopping-v1"] > .shopping-schedule-toggle svg { width: clamp(17px,2.4dvh,22px); height: clamp(17px,2.4dvh,22px); fill: none; stroke: currentColor; stroke-width: 1.45; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
#bottomSheet[data-panel-layout="shopping-v1"] > .shopping-schedule-toggle.is-scheduled { color: #f3bd45; border-color: rgba(243,189,69,.6); background: rgba(38,30,15,.88); box-shadow: inset 0 1px rgba(255,233,184,.12),0 0 10px rgba(243,189,69,.14); }
