/* VNUTI Staff List UI: layout, visual styling, responsive rules. */
.vnuti-ui-shell {
  --vnuti-green: #2f6b35;
  --vnuti-green-dark: #25572b;
  --vnuti-green-soft: #397640;
  --vnuti-bg: #eef2ed;
  --vnuti-panel: #f3f4f2;
  --vnuti-card: #ffffff;
  --vnuti-text: #1d1d1d;
  --vnuti-muted: #747b73;
  --vnuti-line: #dfe8dd;
  --vnuti-red: #ff2534;
  --vnuti-shadow: 0 12px 30px rgba(20, 24, 20, 0.12);
  --vnuti-font: "Be Vietnam Pro", "Inter", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  color: var(--vnuti-text);
  font-family: var(--vnuti-font) !important;
  font-size: 15px;
  line-height: 1.48;
  letter-spacing: 0 !important;
  text-align: initial;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* Booking note checkbox layout fix v1.19.69 */
.vnuti-ui-shell .vnuti-booking-note-panel {
  padding: 0 18px 18px !important;
}

.vnuti-ui-shell .vnuti-booking-note-group {
  display: block !important;
  margin: 0 0 26px !important;
  padding: 0 !important;
  border: 0 !important;
}

.vnuti-ui-shell .vnuti-booking-note-group legend,
.vnuti-ui-shell .vnuti-booking-note-other > span {
  display: block !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  color: #3b7440 !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
}

.vnuti-ui-shell .vnuti-booking-note-group label {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #1c1c1c !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.32 !important;
  text-align: left !important;
}

.vnuti-ui-shell .vnuti-booking-note-group label input[type="checkbox"],
.vnuti-ui-shell .vnuti-booking-extra .vnuti-booking-note-group label input[type="checkbox"] {
  position: relative !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  flex: 0 0 22px !important;
  display: inline-block !important;
  width: 22px !important;
  min-width: 22px !important;
  max-width: 22px !important;
  height: 22px !important;
  min-height: 22px !important;
  max-height: 22px !important;
  margin: 1px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: #d8d8d8 !important;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-booking-note-group label input[type="checkbox"]:checked,
.vnuti-ui-shell .vnuti-booking-extra .vnuti-booking-note-group label input[type="checkbox"]:checked {
  background: #34743b !important;
}

.vnuti-ui-shell .vnuti-booking-note-group label input[type="checkbox"]:checked::after,
.vnuti-ui-shell .vnuti-booking-extra .vnuti-booking-note-group label input[type="checkbox"]:checked::after {
  content: "" !important;
  position: absolute !important;
  left: 6px !important;
  top: 3px !important;
  width: 7px !important;
  height: 12px !important;
  border-right: 3px solid #ffffff !important;
  border-bottom: 3px solid #ffffff !important;
  background: transparent !important;
  clip-path: none !important;
  transform: rotate(45deg) !important;
}

.vnuti-ui-shell .vnuti-booking-note-group label span {
  display: block !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  padding: 0 !important;
}

.vnuti-ui-shell .vnuti-booking-note-other textarea {
  min-height: 170px !important;
  border: 1.5px solid #d4d8d5 !important;
  border-radius: 14px !important;
  font-size: 16px !important;
}

/* Shop detail top spacing v1.19.70 */
.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail {
  padding-top: 28px !important;
}

@media (max-width: 430px) {
  .vnuti-ui-shell .vnuti-staff--detail .vnuti-detail {
    padding-top: 24px !important;
  }
}

/* Cart header match booking header spacing v1.19.71 */
.vnuti-ui-shell .vnuti-staff--cart,
.vnuti-ui-shell .vnuti-cart-view {
  padding-top: 28px !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__header,
.vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__header,
.vnuti-ui-shell .vnuti-cart-view__header {
  width: calc(100% - 40px) !important;
  max-width: 430px !important;
  min-height: 136px !important;
  margin: 0 auto 18px !important;
  padding: 30px 54px 28px !important;
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) 38px !important;
  align-items: center !important;
  border-radius: 18px !important;
  background: #33763b !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__header h2,
.vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__header h2,
.vnuti-ui-shell .vnuti-cart-view__header h2 {
  grid-column: 2 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #ffffff !important;
  font-size: clamp(26px, 7vw, 30px) !important;
  font-weight: 950 !important;
  line-height: 1.08 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

@media (max-width: 430px) {
  .vnuti-ui-shell .vnuti-staff--cart,
  .vnuti-ui-shell .vnuti-cart-view {
    padding-top: 24px !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__header,
  .vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__header,
  .vnuti-ui-shell .vnuti-cart-view__header {
    width: calc(100% - 28px) !important;
  }
}

/* Unified green header surface v1.19.73 */
.vnuti-ui-shell .vnuti-quick__hero,
.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__header,
.vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__header,
.vnuti-ui-shell .vnuti-cart-view__header,
.vnuti-ui-shell .vnuti-staff--booking .vnuti-booking__header,
.vnuti-ui-shell .vnuti-booking__header {
  border-radius: 18px !important;
  background:
    linear-gradient(135deg, rgba(91, 150, 95, 0.98) 0 31%, transparent 31%),
    linear-gradient(90deg, #3f8748 0%, #1f682f 100%) !important;
  color: #ffffff !important;
  overflow: hidden !important;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-quick__hero {
  width: calc(100% - 40px) !important;
  max-width: 430px !important;
  min-height: 108px !important;
  margin: 28px auto 18px !important;
  padding: 28px 18px !important;
}

.vnuti-ui-shell .vnuti-quick__address {
  border-radius: 6px !important;
  background: #ffffff !important;
  color: #1f251f !important;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-quick__address svg {
  color: #33763b !important;
}

.vnuti-ui-shell .vnuti-staff--booking,
.vnuti-ui-shell .vnuti-staff--cart,
.vnuti-ui-shell .vnuti-cart-view {
  padding-top: 28px !important;
}

.vnuti-ui-shell .vnuti-staff--booking .vnuti-booking__header,
.vnuti-ui-shell .vnuti-booking__header,
.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__header,
.vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__header,
.vnuti-ui-shell .vnuti-cart-view__header {
  width: calc(100% - 40px) !important;
  max-width: 430px !important;
  margin: 0 auto 18px !important;
}

@media (max-width: 430px) {
  .vnuti-ui-shell .vnuti-quick__hero,
  .vnuti-ui-shell .vnuti-staff--booking .vnuti-booking__header,
  .vnuti-ui-shell .vnuti-booking__header,
  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__header,
  .vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__header,
  .vnuti-ui-shell .vnuti-cart-view__header {
    width: calc(100% - 28px) !important;
  }

  .vnuti-ui-shell .vnuti-staff--booking,
  .vnuti-ui-shell .vnuti-staff--cart,
  .vnuti-ui-shell .vnuti-cart-view {
    padding-top: 24px !important;
  }
}


/* VNUTI quick product mobile balance v1.19.31 */
@media (max-width: 768px) {
  .vnuti-ui-shell .vnuti-quick {
    padding-left: 16px !important;
    padding-right: 16px !important;
    padding-bottom: 126px !important;
  }

  .vnuti-ui-shell .vnuti-quick__standard,
  .vnuti-ui-shell .vnuti-quick__custom {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .vnuti-ui-shell .vnuti-quick-products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px 12px !important;
    align-items: stretch !important;
  }

  .vnuti-ui-shell .vnuti-quick-product {
    display: grid !important;
    grid-template-rows: auto minmax(116px, 1fr) !important;
    min-height: 264px !important;
    border-radius: 10px !important;
    box-shadow: 0 8px 18px rgba(28, 39, 31, 0.08) !important;
  }

  .vnuti-ui-shell .vnuti-quick-product img,
  .vnuti-ui-shell .vnuti-quick-product__image {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
  }

  .vnuti-ui-shell .vnuti-quick-product > div {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    padding: 12px 10px 11px !important;
  }

  .vnuti-ui-shell .vnuti-quick-product h2 {
    min-height: 42px !important;
    margin-bottom: 8px !important;
    color: #2f6b35 !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1.34 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .vnuti-ui-shell .vnuti-quick-product strong {
    margin-top: auto !important;
    margin-bottom: 8px !important;
    font-size: 14px !important;
    line-height: 1.15 !important;
  }

  .vnuti-ui-shell .vnuti-quick-product small {
    margin-top: 0 !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
  }
}

@media (max-width: 374px) {
  .vnuti-ui-shell .vnuti-quick {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .vnuti-ui-shell .vnuti-quick-products {
    gap: 12px 10px !important;
  }

  .vnuti-ui-shell .vnuti-quick-product h2 {
    font-size: 14px !important;
  }
}

.vnuti-ui-shell,
.vnuti-ui-shell *,
.vnuti-ui-shell *::before,
.vnuti-ui-shell *::after {
  box-sizing: border-box;
}

.vnuti-ui-shell :where(h1, h2, h3, h4, h5, h6, p, figure, ul, ol) {
  margin-block-start: 0;
}

.vnuti-ui-shell :where(
  .vnuti-staff,
  .vnuti-home,
  .vnuti-quick,
  .vnuti-product,
  .vnuti-cart-view,
  .vnuti-booking-card,
  .vnuti-booking-payment,
  .vnuti-detail,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  span,
  strong,
  em,
  small,
  a,
  button,
  input,
  textarea,
  select,
  label,
  summary
) {
  font-family: var(--vnuti-font) !important;
  letter-spacing: 0 !important;
  text-transform: none;
}

.vnuti-ui-shell :where(button, input, textarea, select) {
  font: inherit;
  font-family: var(--vnuti-font) !important;
  letter-spacing: 0 !important;
}

.vnuti-ui-shell :where(button) {
  appearance: none;
  border: 0;
  text-transform: none;
  cursor: pointer;
}

.vnuti-ui-shell :where(a) {
  color: inherit;
  text-decoration: none;
}

.vnuti-ui-shell :where(img, svg) {
  max-width: none;
  vertical-align: middle;
}

.vnuti-ui-shell :where(svg) {
  display: inline-block;
  width: 1em;
  height: 1em;
  flex: 0 0 auto;
  overflow: visible;
}

.vnuti-ui-shell :where(svg:not([fill])) {
  fill: currentColor;
}

.vnuti-ui-shell [hidden] {
  display: none !important;
}

.vnuti-ui-shell .vnuti-staff {
  isolation: isolate;
  width: min(100%, 390px);
  min-height: 100svh;
  margin: 0 auto;
  overflow: hidden;
  background: #f1f1f1;
  color: var(--vnuti-text);
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

.vnuti-ui-shell .vnuti-staff-notice {
  width: min(100%, 760px);
  margin: 24px auto;
  padding: 16px 18px;
  border-radius: 12px;
  background: #fff8df;
  color: #715314;
}

/* List screen */
.vnuti-ui-shell .vnuti-staff__hero {
  position: relative;
  padding: 34px 18px 72px;
  color: #fff;
  background:
    radial-gradient(circle at 82% 6%, rgba(255, 255, 255, 0.12), transparent 26%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.08) 0 16%, transparent 16%),
    var(--vnuti-green-dark);
}

.vnuti-ui-shell .vnuti-staff__title-row {
  display: block;
  width: 100%;
  min-height: 34px;
  writing-mode: horizontal-tb;
  text-orientation: mixed;
  text-align: left;
}

.vnuti-ui-shell .vnuti-staff__title-row h2 {
  display: block;
  margin: 0;
  color: #fff;
  font-size: 30px;
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: 0;
  white-space: normal;
  word-break: normal;
}

.vnuti-ui-shell .vnuti-staff__subtitle {
  display: block;
  width: auto;
  max-width: 330px;
  margin: 34px 0 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 15px;
  line-height: 1.35;
  white-space: normal;
  word-break: normal;
}

.vnuti-ui-shell .vnuti-staff__panel {
  position: relative;
  margin-top: -18px;
  padding: 0 8px 28px;
  background: #fff;
  border-top-left-radius: 18px;
  border-top-right-radius: 18px;
}

.vnuti-ui-shell .vnuti-staff__filter {
  position: relative;
  z-index: 20;
  margin: -46px 0 14px;
}

.vnuti-ui-shell .vnuti-staff__filter-card {
  position: relative;
  padding: 12px;
  background: rgba(255, 255, 255, 0.97);
  border: 1px solid rgba(47, 107, 53, 0.1);
  border-radius: 18px;
  box-shadow: var(--vnuti-shadow);
}

.vnuti-ui-shell .vnuti-staff__search {
  position: relative;
  display: grid;
  gap: 10px;
  margin: 0;
}

.vnuti-ui-shell .vnuti-staff__search-field {
  min-width: 0;
  height: 44px;
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 0 14px;
  background: #f8faf7;
  border: 1px solid var(--vnuti-line);
  border-radius: 13px;
  color: var(--vnuti-green);
}

.vnuti-ui-shell .vnuti-staff__search-icon,
.vnuti-ui-shell .vnuti-staff__search-icon svg {
  width: 22px;
  height: 22px;
  color: var(--vnuti-green);
  flex: 0 0 auto;
}

.vnuti-ui-shell .vnuti-staff__search-field input,
.vnuti-ui-shell .vnuti-staff__location-input input {
  min-width: 0;
  width: 100%;
  height: 100%;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  color: #263128;
  font-size: 14px;
  line-height: 1;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-staff__search-field input::placeholder,
.vnuti-ui-shell .vnuti-staff__location-input input::placeholder {
  color: #9aa49d;
  opacity: 1;
}

.vnuti-ui-shell .vnuti-staff__filter-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 108px;
  gap: 10px;
}

.vnuti-ui-shell .vnuti-staff__area-button,
.vnuti-ui-shell .vnuti-staff__search-submit,
.vnuti-ui-shell .vnuti-staff__area-popover > button {
  min-width: 0;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
}

.vnuti-ui-shell .vnuti-staff__area-button {
  padding: 0 12px;
  background: #f8faf7;
  border: 1px solid var(--vnuti-line);
  color: #202720;
}

.vnuti-ui-shell .vnuti-staff__area-button.is-active {
  background: #176fc8;
  border-color: #176fc8;
  color: #fff;
}

.vnuti-ui-shell .vnuti-staff__area-button span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.vnuti-ui-shell .vnuti-staff__area-button svg {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

.vnuti-ui-shell .vnuti-staff__area-button::after {
  content: "";
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid currentColor;
  flex: 0 0 auto;
}

.vnuti-ui-shell .vnuti-staff__search-submit,
.vnuti-ui-shell .vnuti-staff__area-popover > button:not(.vnuti-staff__area-secondary) {
  padding: 0 14px;
  background: var(--vnuti-green);
  color: #fff;
}

.vnuti-ui-shell .vnuti-staff__area-secondary {
  background: #fff;
  border: 1px solid var(--vnuti-green) !important;
  color: var(--vnuti-green);
}

.vnuti-ui-shell .vnuti-staff__suggestions {
  display: grid;
  gap: 0;
  padding: 8px;
  background: #fff;
  border: 1px solid #dce8d9;
  border-radius: 13px;
  box-shadow: 0 18px 38px rgba(20, 24, 20, 0.16);
}

.vnuti-ui-shell .vnuti-staff__search > .vnuti-staff__suggestions {
  position: absolute;
  z-index: 25;
  top: 54px;
  left: 0;
  right: 0;
  max-height: 320px;
  overflow: auto;
}

.vnuti-ui-shell .vnuti-staff__suggestions button {
  width: 100%;
  min-height: 42px;
  padding: 10px 12px;
  border-radius: 10px;
  background: transparent;
  color: #2b4a30;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.3;
  text-align: left;
}

.vnuti-ui-shell .vnuti-staff__suggestions button:hover,
.vnuti-ui-shell .vnuti-staff__suggestions button:focus {
  background: #eef6ef;
  outline: 0;
}

.vnuti-ui-shell .vnuti-staff__area-popover {
  position: relative;
  z-index: 22;
  display: grid;
  gap: 12px;
  margin-top: 12px;
  padding: 18px 14px;
  background: #fff;
  border: 1px solid #e0e9dc;
  border-radius: 18px;
  box-shadow: 0 12px 28px rgba(20, 24, 20, 0.12);
}

.vnuti-ui-shell .vnuti-staff__area-popover h3 {
  margin: 0;
  color: #111;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.2;
  text-align: center;
}

.vnuti-ui-shell .vnuti-staff__location-field {
  display: grid;
  gap: 8px;
  color: #314033;
  font-size: 13px;
  font-weight: 800;
}

.vnuti-ui-shell .vnuti-staff__location-input {
  height: 44px;
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 0 14px;
  background: #fff;
  border: 1px solid var(--vnuti-line);
  border-radius: 12px;
}

.vnuti-ui-shell .vnuti-staff__suggestions--location {
  max-height: 260px;
  overflow: auto;
  box-shadow: none;
}

.vnuti-ui-shell .vnuti-staff__empty,
.vnuti-ui-shell .vnuti-staff-notice {
  padding: 18px;
  background: #fff8df;
  border: 1px solid #f1d99a;
  border-radius: 12px;
  color: #72581e;
}

.vnuti-ui-shell .vnuti-staff__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.vnuti-ui-shell .vnuti-staff-card {
  position: relative;
  min-height: 126px;
  display: grid;
  grid-template-columns: 43% minmax(0, 1fr);
  overflow: hidden;
  background: #fff;
  border: 1px solid #e5e9e1;
  border-radius: 10px;
  box-shadow: 0 4px 16px rgba(21, 31, 23, 0.1);
}

.vnuti-ui-shell .vnuti-staff-card__link {
  position: absolute;
  z-index: 3;
  inset: 0;
}

.vnuti-ui-shell .vnuti-staff-card__discount {
  position: absolute;
  z-index: 4;
  top: 0;
  left: 0;
  min-width: 44px;
  padding: 7px 8px;
  border-bottom-right-radius: 10px;
  background: var(--vnuti-red);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  text-align: center;
}

.vnuti-ui-shell .vnuti-staff-card__media {
  min-width: 0;
  height: 100%;
  background: #eef0ed;
}

.vnuti-ui-shell .vnuti-staff-card__image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 126px;
  object-fit: cover;
  object-position: center top;
}

.vnuti-ui-shell .vnuti-staff-card__image--empty {
  background: linear-gradient(135deg, #e7eee5, #fff);
}

.vnuti-ui-shell .vnuti-staff-card__body {
  min-width: 0;
  padding: 14px 12px 12px;
}

.vnuti-ui-shell .vnuti-staff-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--vnuti-green);
  font-size: 10px;
  font-weight: 800;
}

.vnuti-ui-shell .vnuti-staff-card__meta span {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
}

.vnuti-ui-shell .vnuti-staff-card__meta svg,
.vnuti-ui-shell .vnuti-staff-card__tiny svg,
.vnuti-ui-shell .vnuti-product__meta svg {
  width: 13px;
  height: 13px;
  color: var(--vnuti-green);
  flex: 0 0 auto;
}

.vnuti-ui-shell .vnuti-staff-card h3 {
  margin: 11px 0 2px;
  color: var(--vnuti-green);
  font-size: 16px;
  font-weight: 900;
  line-height: 1.18;
  letter-spacing: 0;
}

.vnuti-ui-shell .vnuti-staff-card__desc {
  display: -webkit-box;
  margin: 0 0 15px;
  overflow: hidden;
  color: #575757;
  font-size: 12px;
  font-style: italic;
  line-height: 1.25;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.vnuti-ui-shell .vnuti-staff-card__tiny {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0 0 10px;
  color: #3b3f3b;
  font-size: 11px;
  line-height: 1.25;
}

.vnuti-ui-shell .vnuti-staff-card__tiny span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vnuti-ui-shell .vnuti-staff__pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 18px 0 0;
  color: var(--vnuti-green);
  font-weight: 800;
}

.vnuti-ui-shell .vnuti-staff__pagination a,
.vnuti-ui-shell .vnuti-staff__pagination span {
  padding: 8px 12px;
  border-radius: 10px;
  background: #fff;
}

/* Shop detail */
.vnuti-ui-shell .vnuti-staff--detail {
  background: var(--vnuti-bg);
}

.vnuti-ui-shell .vnuti-detail {
  position: relative;
  padding: 14px 14px 118px;
}

.vnuti-ui-shell .vnuti-detail__back {
  position: absolute;
  z-index: 8;
  top: 26px;
  left: 22px;
  min-width: 126px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 15px 0 10px;
  border-radius: 999px;
  background: rgba(56, 57, 54, 0.68);
  color: #fff;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.22);
  white-space: nowrap;
}

.vnuti-ui-shell .vnuti-detail__back-icon {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.16);
  font-size: 28px;
  line-height: 1;
  flex: 0 0 auto;
}

.vnuti-ui-shell .vnuti-detail__back-label {
  display: block;
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}

.vnuti-ui-shell .vnuti-detail__hero {
  position: relative;
  overflow: hidden;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(20, 24, 20, 0.11);
}

.vnuti-ui-shell .vnuti-detail__hero > img {
  display: block;
  width: 100%;
  height: 232px;
  object-fit: cover;
  object-position: center top;
  background: #dde3dd;
}

.vnuti-ui-shell .vnuti-detail__hero > div {
  position: relative;
  min-height: 150px;
  padding: 50px 18px 24px 108px;
  background: #fff;
}

.vnuti-ui-shell .vnuti-detail__avatar {
  position: absolute;
  top: -38px;
  left: 16px;
  width: 76px;
  height: 76px;
  border-radius: 999px;
  border: 4px solid #fff;
  object-fit: cover;
  box-shadow: 0 8px 16px rgba(20, 24, 20, 0.14);
}

.vnuti-ui-shell .vnuti-detail__hero h2 {
  margin: 0 0 6px;
  color: var(--vnuti-green);
  font-size: 22px;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: 0;
}

.vnuti-ui-shell .vnuti-detail__desc,
.vnuti-ui-shell .vnuti-detail__address {
  margin: 0 0 10px;
  color: #4d514d;
  font-size: 13px;
  line-height: 1.45;
}

.vnuti-ui-shell .vnuti-detail__address {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  max-width: 680px;
}

.vnuti-ui-shell .vnuti-detail__address svg {
  width: 16px;
  height: 16px;
  margin-top: 2px;
  color: var(--vnuti-green);
  flex: 0 0 auto;
}

.vnuti-ui-shell .vnuti-detail__section {
  margin-top: 16px;
}

.vnuti-ui-shell .vnuti-detail__section > h3 {
  margin: 0 0 10px;
  color: #151515;
  font-size: 18px;
  line-height: 1.25;
  font-weight: 900;
  letter-spacing: 0;
}

.vnuti-ui-shell .vnuti-detail__muted {
  color: var(--vnuti-muted);
}

.vnuti-ui-shell .vnuti-service-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.vnuti-ui-shell .vnuti-service {
  position: relative;
  min-width: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid #e3e8e1;
  border-radius: 7px;
  box-shadow: 0 4px 16px rgba(21, 31, 23, 0.1);
}

.vnuti-ui-shell .vnuti-service__link {
  position: absolute;
  z-index: 3;
  inset: 0;
}

.vnuti-ui-shell .vnuti-service img,
.vnuti-ui-shell .vnuti-service__image {
  display: block;
  width: 100%;
  height: 110px;
  background: #e8ede8;
  object-fit: cover;
}

.vnuti-ui-shell .vnuti-service > div {
  min-width: 0;
  padding: 10px 10px 12px;
}

.vnuti-ui-shell .vnuti-service h4 {
  margin: 0 0 10px;
  color: var(--vnuti-green);
  font-size: 13px;
  font-weight: 900;
  line-height: 1.25;
  letter-spacing: 0;
}

.vnuti-ui-shell .vnuti-service p {
  display: none;
}

.vnuti-ui-shell .vnuti-service strong {
  display: block;
  margin: 0 0 9px;
  color: var(--vnuti-red);
  font-size: 12px;
  font-weight: 900;
}

.vnuti-ui-shell .vnuti-service__duration {
  color: var(--vnuti-green);
  font-size: 11px;
  font-weight: 800;
}

.vnuti-ui-shell .vnuti-cart-bar {
  position: fixed;
  z-index: 40;
  left: 50%;
  bottom: 0;
  width: min(100%, 390px);
  transform: translateX(-50%);
  padding: 16px 16px calc(16px + env(safe-area-inset-bottom));
  background: #fff;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  box-shadow: 0 -10px 24px rgba(20, 24, 20, 0.13);
}

.vnuti-ui-shell .vnuti-cart-bar button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-height: 54px;
  padding: 0 22px;
  border-radius: 10px;
  background: var(--vnuti-green);
  color: #fff;
  font-size: 18px;
  font-weight: 900;
}

.vnuti-ui-shell .vnuti-add-cart,
.vnuti-ui-shell .vnuti-booking-payment button {
  width: 100%;
  min-height: 44px;
  border-radius: 8px;
  background: var(--vnuti-green);
  color: #fff;
  font-weight: 900;
}

.vnuti-ui-shell .vnuti-cart-bar strong {
  color: #fff;
  font-size: 18px;
  font-weight: 900;
  white-space: nowrap;
}

/* Cart view */
.vnuti-ui-shell .vnuti-staff--cart {
  min-height: 100svh;
  padding-bottom: 118px;
  background: #d9d9d9;
}

.vnuti-ui-shell .vnuti-cart-view__header {
  position: relative;
  min-height: 132px;
  display: flex;
  align-items: center;
  padding: 44px 48px 28px;
  background: var(--vnuti-green);
  color: #fff;
  border-bottom-left-radius: 18px;
  border-bottom-right-radius: 18px;
}

.vnuti-ui-shell .vnuti-cart-view__header h2 {
  margin: 0;
  color: #fff;
  font-size: 27px;
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: 0;
}

.vnuti-ui-shell .vnuti-cart-view__back {
  position: absolute;
  left: 18px;
  top: 54px;
  width: 32px;
  height: 32px;
  color: #fff;
}

.vnuti-ui-shell .vnuti-cart-view__back::before,
.vnuti-ui-shell .vnuti-cart-view__back::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 15px;
  width: 20px;
  height: 2px;
  background: currentColor;
  border-radius: 4px;
  transform-origin: left center;
}

.vnuti-ui-shell .vnuti-cart-view__back::before {
  transform: rotate(-42deg);
}

.vnuti-ui-shell .vnuti-cart-view__back::after {
  transform: rotate(42deg);
}

.vnuti-ui-shell .vnuti-cart-view__content {
  padding: 18px 14px;
}

.vnuti-ui-shell .vnuti-cart-view__card {
  padding: 20px 16px;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(20, 24, 20, 0.08);
}

.vnuti-ui-shell .vnuti-cart-view__card h3 {
  margin: 0 0 18px;
  color: var(--vnuti-green);
  font-size: 24px;
  font-weight: 900;
  line-height: 1.15;
}

.vnuti-ui-shell .vnuti-cart-view__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
  color: #111;
  font-size: 16px;
}

.vnuti-ui-shell .vnuti-cart-view__summary strong {
  color: var(--vnuti-red);
  font-size: 20px;
  font-weight: 900;
  white-space: nowrap;
}

.vnuti-ui-shell .vnuti-cart-view__items {
  display: grid;
  gap: 12px;
}

.vnuti-ui-shell .vnuti-cart-view-item {
  display: grid;
  grid-template-columns: 30px 96px minmax(0, 1fr) 116px;
  gap: 12px;
  align-items: center;
}

.vnuti-ui-shell .vnuti-cart-view-item__check input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.vnuti-ui-shell .vnuti-cart-view-item__check span {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 6px;
  background: #d8d8d8;
}

.vnuti-ui-shell .vnuti-cart-view-item__check input:checked + span {
  background: var(--vnuti-green);
}

.vnuti-ui-shell .vnuti-cart-view-item__check input:checked + span::after {
  content: "";
  width: 10px;
  height: 6px;
  border-left: 3px solid #fff;
  border-bottom: 3px solid #fff;
  transform: rotate(-45deg);
}

.vnuti-ui-shell .vnuti-cart-view-item__image img,
.vnuti-ui-shell .vnuti-cart-view-item__image span {
  display: block;
  width: 96px;
  height: 72px;
  border-radius: 8px;
  background: #e8ede8;
  object-fit: cover;
}

.vnuti-ui-shell .vnuti-cart-view-item__body {
  min-width: 0;
}

.vnuti-ui-shell .vnuti-cart-view-item__body h4 {
  margin: 0 0 5px;
  color: #1f251f;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.25;
}

.vnuti-ui-shell .vnuti-cart-view-item__body p {
  margin: 0 0 8px;
  color: #333;
  font-size: 14px;
}

.vnuti-ui-shell .vnuti-cart-view-item__body strong {
  color: var(--vnuti-red);
  font-size: 15px;
  font-weight: 900;
}

.vnuti-ui-shell .vnuti-cart-view-item__qty {
  grid-column: 4;
  justify-self: end;
  display: inline-grid;
  grid-template-columns: 34px 48px 34px;
  align-items: center;
  overflow: hidden;
  border-radius: 7px;
  background: #dedede;
  min-width: 116px;
}

.vnuti-ui-shell .vnuti-cart-view-item__qty button {
  width: 34px;
  height: 34px;
  background: transparent;
  color: #111;
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
}

.vnuti-ui-shell .vnuti-cart-view-item__qty input {
  width: 48px;
  height: 34px;
  min-height: 34px;
  padding: 0;
  border: 0;
  border-left: 1px solid rgba(0, 0, 0, 0.06);
  border-right: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 0;
  background: transparent;
  color: #111;
  text-align: center;
  font-size: 15px;
  font-weight: 900;
  appearance: textfield;
  -moz-appearance: textfield;
}

.vnuti-ui-shell .vnuti-cart-view-item__qty input::-webkit-outer-spin-button,
.vnuti-ui-shell .vnuti-cart-view-item__qty input::-webkit-inner-spin-button {
  margin: 0;
  appearance: none;
}

.vnuti-ui-shell .vnuti-cart-view__more {
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 18px;
  border: 1px dashed var(--vnuti-green);
  border-radius: 10px;
  color: var(--vnuti-green);
  font-weight: 900;
}

.vnuti-ui-shell .vnuti-cart-view__empty {
  margin: 0;
  color: var(--vnuti-muted);
}

.vnuti-ui-shell .vnuti-cart-view__footer {
  position: fixed;
  z-index: 45;
  left: 50%;
  bottom: 0;
  width: min(100%, 390px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 86px 118px;
  align-items: center;
  gap: 10px;
  transform: translateX(-50%);
  padding: 16px 14px calc(16px + env(safe-area-inset-bottom));
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  background: #fff;
  box-shadow: 0 -10px 24px rgba(20, 24, 20, 0.13);
}

.vnuti-ui-shell .vnuti-cart-view__footer label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #222;
  font-size: 15px;
}

.vnuti-ui-shell .vnuti-cart-view__footer input {
  width: 18px;
  height: 18px;
  accent-color: var(--vnuti-green);
}

.vnuti-ui-shell .vnuti-cart-view__footer button {
  min-height: 44px;
  border-radius: 10px;
  background: var(--vnuti-green);
  color: #fff;
  font-weight: 900;
}

.vnuti-ui-shell .vnuti-cart-view__footer button.is-danger {
  background: var(--vnuti-red);
}

.vnuti-ui-shell .vnuti-cart-view__footer button:disabled {
  opacity: 0.48;
  cursor: not-allowed;
}

/* Product detail */
.vnuti-ui-shell .vnuti-staff--product {
  background: #fff;
}

.vnuti-ui-shell .vnuti-product {
  position: relative;
  padding-bottom: 22px;
  background: #fff;
}

.vnuti-ui-shell .vnuti-product__back,
.vnuti-ui-shell .vnuti-booking__back {
  position: absolute;
  z-index: 6;
  width: 34px;
  height: 34px;
  background: transparent;
  color: #fff;
}

.vnuti-ui-shell .vnuti-product__back {
  top: 70px;
  left: 18px;
}

.vnuti-ui-shell .vnuti-product__back::before,
.vnuti-ui-shell .vnuti-product__back::after,
.vnuti-ui-shell .vnuti-booking__back::before,
.vnuti-ui-shell .vnuti-booking__back::after {
  content: "";
  position: absolute;
  left: 7px;
  top: 16px;
  width: 20px;
  height: 2px;
  background: currentColor;
  border-radius: 3px;
  transform-origin: left center;
}

.vnuti-ui-shell .vnuti-product__back::before,
.vnuti-ui-shell .vnuti-booking__back::before {
  transform: rotate(-42deg);
}

.vnuti-ui-shell .vnuti-product__back::after,
.vnuti-ui-shell .vnuti-booking__back::after {
  transform: rotate(42deg);
}

.vnuti-ui-shell .vnuti-product__media {
  position: relative;
  height: 304px;
  overflow: hidden;
  background: #2b241f;
}

.vnuti-ui-shell .vnuti-product__media > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.vnuti-ui-shell .vnuti-product__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.28), transparent 38%, rgba(0, 0, 0, 0.08));
  pointer-events: none;
}

.vnuti-ui-shell .vnuti-product__dots {
  position: absolute;
  z-index: 4;
  left: 50%;
  bottom: 14px;
  display: flex;
  gap: 6px;
  transform: translateX(-50%);
}

.vnuti-ui-shell .vnuti-product__dots span {
  width: 4px;
  height: 4px;
  border-radius: 999px;
  background: #fff;
}

.vnuti-ui-shell .vnuti-product__thumbs {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 62px;
  gap: 8px;
  overflow: auto;
  padding: 8px 14px 0;
  background: #fff;
  scrollbar-width: none;
}

.vnuti-ui-shell .vnuti-product__thumbs::-webkit-scrollbar {
  display: none;
}

.vnuti-ui-shell .vnuti-product__thumbs img {
  width: 62px;
  height: 48px;
  object-fit: cover;
  border-radius: 5px;
}

.vnuti-ui-shell .vnuti-product__body {
  padding: 22px 26px 18px;
}

.vnuti-ui-shell .vnuti-product__title-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 36px;
  align-items: start;
  gap: 12px;
}

.vnuti-ui-shell .vnuti-product__title-row h2 {
  margin: 0;
  color: var(--vnuti-green);
  font-size: 20px;
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: 0;
  text-transform: uppercase;
  word-break: normal;
}

.vnuti-ui-shell .vnuti-product__share {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #fff;
  color: var(--vnuti-green);
}

.vnuti-ui-shell .vnuti-product__share svg {
  width: 23px;
  height: 23px;
}

.vnuti-ui-shell .vnuti-product__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
  margin: 16px 0 22px;
  color: #656c65;
  font-size: 12px;
}

.vnuti-ui-shell .vnuti-product__meta span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.vnuti-ui-shell .vnuti-product__price {
  margin: 0 0 28px;
  color: var(--vnuti-red);
  font-size: 32px;
  line-height: 1;
  font-weight: 900;
}

.vnuti-ui-shell .vnuti-product__duration h3 {
  margin: 0 0 12px;
  color: var(--vnuti-green);
  font-size: 15px;
  font-weight: 900;
}

.vnuti-ui-shell .vnuti-product__duration > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.vnuti-ui-shell .vnuti-product__duration button {
  min-height: 38px;
  border-radius: 7px;
  background: #d8d8d8;
  color: #a4aaa5;
  font-size: 13px;
  font-weight: 900;
}

.vnuti-ui-shell .vnuti-product__duration button.is-selected {
  background: var(--vnuti-green);
  color: #fff;
}

.vnuti-ui-shell .vnuti-product__provider {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr) 82px;
  align-items: center;
  gap: 12px;
  margin: 26px 0;
}

.vnuti-ui-shell .vnuti-product__provider img,
.vnuti-ui-shell .vnuti-product__provider > span {
  width: 58px;
  height: 58px;
  border-radius: 999px;
  border: 2px solid #1d1d1d;
  object-fit: cover;
  background: #e8ede8;
}

.vnuti-ui-shell .vnuti-product__provider h3 {
  margin: 0 0 4px;
  color: var(--vnuti-green);
  font-size: 18px;
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: 0;
}

.vnuti-ui-shell .vnuti-product__provider p {
  margin: 0;
  color: #a5aca6;
  font-size: 13px;
}

.vnuti-ui-shell .vnuti-product__provider svg {
  width: 22px;
  height: 22px;
  margin-right: 5px;
  color: var(--vnuti-green);
}

.vnuti-ui-shell .vnuti-product__provider a {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: var(--vnuti-green);
  color: #fff;
  font-size: 13px;
  font-weight: 900;
}

.vnuti-ui-shell .vnuti-product__description {
  margin: 0 0 18px;
}

.vnuti-ui-shell .vnuti-product__description summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  list-style: none;
  color: var(--vnuti-green);
  font-size: 15px;
  font-weight: 900;
  cursor: pointer;
}

.vnuti-ui-shell .vnuti-product__description summary::-webkit-details-marker {
  display: none;
}

.vnuti-ui-shell .vnuti-product__description summary::after {
  content: "";
  width: 16px;
  height: 16px;
  border-right: 3px solid currentColor;
  border-bottom: 3px solid currentColor;
  transform: rotate(45deg) translateY(-4px);
}

.vnuti-ui-shell .vnuti-product__description[open] summary::after {
  transform: rotate(225deg) translateY(-2px);
}

.vnuti-ui-shell .vnuti-product__description-content {
  margin: 18px 0 0;
  color: #626862;
  font-size: 14px;
  line-height: 1.55;
  white-space: normal;
}

.vnuti-ui-shell .vnuti-product__description-content :where(p, ul, ol, h1, h2, h3, h4, h5, h6, blockquote) {
  margin: 0 0 12px;
}

.vnuti-ui-shell .vnuti-product__description-content :where(p:last-child, ul:last-child, ol:last-child, blockquote:last-child) {
  margin-bottom: 0;
}

.vnuti-ui-shell .vnuti-product__description-content :where(ul, ol) {
  padding-left: 20px;
}

.vnuti-ui-shell .vnuti-product__description-content :where(li) {
  margin: 0 0 6px;
}

.vnuti-ui-shell .vnuti-product__description-content :where(strong, b) {
  color: #455046;
}

.vnuti-ui-shell .vnuti-product__description-content :where(br) {
  content: "";
}

.vnuti-ui-shell .vnuti-product__footer {
  position: sticky;
  z-index: 20;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 14px 18px calc(14px + env(safe-area-inset-bottom));
  background: #fff;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  box-shadow: 0 -10px 26px rgba(20, 24, 20, 0.12);
}

.vnuti-ui-shell .vnuti-product__toast {
  position: fixed;
  z-index: 70;
  left: 50%;
  bottom: 86px;
  transform: translateX(-50%);
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(30, 30, 30, 0.86);
  color: #fff;
  font-size: 12px;
}

/* Booking */
.vnuti-ui-shell .vnuti-staff--booking {
  background: #eef2ed;
  padding-bottom: 18px;
  overflow-x: hidden;
}

.vnuti-ui-shell .vnuti-booking__header {
  position: relative;
  min-height: 122px;
  display: grid;
  place-items: center;
  padding: 26px 48px 22px;
  background: var(--vnuti-green);
  color: #fff;
  border-bottom-left-radius: 18px;
  border-bottom-right-radius: 18px;
  text-align: center;
}

.vnuti-ui-shell .vnuti-booking__back {
  top: 38px;
  left: 20px;
}

.vnuti-ui-shell .vnuti-booking__header h2 {
  margin: 0 0 6px;
  color: #fff;
  font-size: 20px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0;
}

.vnuti-ui-shell .vnuti-booking__header p {
  margin: 0 0 2px;
  color: rgba(255, 255, 255, 0.8);
  font-size: 11px;
}

.vnuti-ui-shell .vnuti-booking__content {
  display: grid;
  gap: 12px;
  padding: 14px 10px 0;
}

.vnuti-ui-shell .vnuti-booking-card,
.vnuti-ui-shell .vnuti-booking-total,
.vnuti-ui-shell .vnuti-booking-extra,
.vnuti-ui-shell .vnuti-booking-payment {
  background: #fff;
  border-radius: 9px;
  box-shadow: 0 8px 22px rgba(20, 24, 20, 0.08);
}

.vnuti-ui-shell .vnuti-booking-card {
  padding: 16px 14px;
  overflow: hidden;
}

.vnuti-ui-shell .vnuti-booking-card h3 {
  margin: 0 0 12px;
  color: var(--vnuti-green);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.vnuti-ui-shell .vnuti-booking-info {
  min-height: 42px;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  margin: 0 0 10px;
}

.vnuti-ui-shell .vnuti-booking-info > span {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #edf5ee;
  color: var(--vnuti-green);
}

.vnuti-ui-shell .vnuti-booking-info svg {
  width: 14px;
  height: 14px;
}

.vnuti-ui-shell .vnuti-booking-info input,
.vnuti-ui-shell .vnuti-booking-extra textarea,
.vnuti-ui-shell .vnuti-booking-extra input {
  width: 100%;
  min-width: 0;
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid #dfe8dd !important;
  border-radius: 9px;
  outline: 0 !important;
  background: #fbfdfb !important;
  color: #2f3c31;
  font-size: 12px;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-booking-info input:focus,
.vnuti-ui-shell .vnuti-booking-extra textarea:focus,
.vnuti-ui-shell .vnuti-booking-extra input:focus {
  border-color: var(--vnuti-green) !important;
  background: #fff !important;
}

.vnuti-ui-shell .vnuti-booking-info input::placeholder,
.vnuti-ui-shell .vnuti-booking-extra textarea::placeholder,
.vnuti-ui-shell .vnuti-booking-extra input::placeholder {
  color: #819182;
  opacity: 1;
}

.vnuti-ui-shell .vnuti-booking-total.is-empty {
  display: none;
}

.vnuti-ui-shell .vnuti-booking-total__head,
.vnuti-ui-shell .vnuti-booking-row {
  width: 100%;
  min-height: 50px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 22px;
  align-items: center;
  gap: 10px;
  padding: 0 14px;
  background: #fff;
  color: #1e251f;
  text-align: left;
}

.vnuti-ui-shell .vnuti-booking-total__head strong {
  color: var(--vnuti-red);
  font-size: 16px;
  font-weight: 900;
  white-space: nowrap;
}

.vnuti-ui-shell .vnuti-booking-total__head i,
.vnuti-ui-shell .vnuti-booking-row i {
  width: 16px;
  height: 16px;
  border-right: 3px solid var(--vnuti-green);
  border-bottom: 3px solid var(--vnuti-green);
  transform: rotate(45deg) translateY(-3px);
}

.vnuti-ui-shell .vnuti-booking-total__head[aria-expanded="true"] i,
.vnuti-ui-shell .vnuti-booking-row[aria-expanded="true"] i {
  transform: rotate(225deg) translateY(-1px);
}

.vnuti-ui-shell .vnuti-booking-total__items {
  display: grid;
  gap: 8px;
  padding: 0 14px 12px;
}

.vnuti-ui-shell .vnuti-booking-total__items p {
  margin: 0;
  color: var(--vnuti-muted);
  font-size: 12px;
}

.vnuti-ui-shell .vnuti-booking-total-item {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr) auto;
  align-items: start;
  gap: 12px;
  padding: 10px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #313831;
  font-size: 12px;
}

.vnuti-ui-shell .vnuti-booking-total-item__image {
  width: 74px;
  height: 56px;
  overflow: hidden;
  border-radius: 6px;
  background: #eef3ef;
}

.vnuti-ui-shell .vnuti-booking-total-item__image img,
.vnuti-ui-shell .vnuti-booking-total-item__image span {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.vnuti-ui-shell .vnuti-booking-total-item__body {
  min-width: 0;
  padding-top: 2px;
}

.vnuti-ui-shell .vnuti-booking-total-item__body strong {
  display: block;
  margin-bottom: 5px;
  overflow: hidden;
  color: #1e241f;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vnuti-ui-shell .vnuti-booking-total-item__body span {
  display: block;
  margin-bottom: 8px;
  color: #5f675f;
  font-size: 11px;
  line-height: 1.2;
}

.vnuti-ui-shell .vnuti-booking-total-item__body em {
  display: block;
  color: #5c8a5f;
  font-size: 11px;
  font-style: italic;
  line-height: 1.2;
}

.vnuti-ui-shell .vnuti-booking-total-item__side {
  min-width: 94px;
  display: grid;
  justify-items: end;
  gap: 18px;
  padding-top: 2px;
}

.vnuti-ui-shell .vnuti-booking-total-item__side b {
  color: #2d392e;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.vnuti-ui-shell .vnuti-booking-total-item__side span {
  min-width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--vnuti-green);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
}

.vnuti-ui-shell .vnuti-booking-total__more {
  width: 100%;
  min-height: 34px;
  margin-top: 4px;
  border: 1px dashed var(--vnuti-green) !important;
  border-radius: 8px;
  background: #fff;
  color: var(--vnuti-green);
  font-size: 13px;
  font-weight: 900;
}

.vnuti-ui-shell .vnuti-booking-date {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  margin-bottom: 12px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #647064;
  font-size: 12px;
  text-align: left;
}

.vnuti-ui-shell .vnuti-booking-date > span:first-child {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #edf5ee;
  color: var(--vnuti-green);
}

.vnuti-ui-shell .vnuti-booking-calendar {
  position: fixed;
  z-index: 85;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 22px;
  background: rgba(0, 0, 0, 0.48);
}

.vnuti-ui-shell .vnuti-booking-calendar__box {
  width: min(100%, 360px);
  padding: 22px 18px 24px;
  border-radius: 26px;
  background: #fff;
  color: #191f1a;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.22);
}

.vnuti-ui-shell .vnuti-booking-calendar__head {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 42px;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
}

.vnuti-ui-shell .vnuti-booking-calendar__head strong {
  color: #1c231d;
  font-size: 18px;
  font-weight: 900;
  text-align: center;
}

.vnuti-ui-shell .vnuti-booking-calendar__head button {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #f2f5f1;
  color: var(--vnuti-green);
  font-size: 30px;
  line-height: 1;
}

.vnuti-ui-shell .vnuti-booking-calendar__week,
.vnuti-ui-shell .vnuti-booking-calendar__grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
}

.vnuti-ui-shell .vnuti-booking-calendar__week {
  margin-bottom: 8px;
  color: #9da79e;
  font-size: 12px;
  font-weight: 800;
  text-align: center;
}

.vnuti-ui-shell .vnuti-booking-calendar__grid button,
.vnuti-ui-shell .vnuti-booking-calendar__grid .is-empty {
  width: 100%;
  aspect-ratio: 1;
  min-height: 38px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: transparent;
  color: #1e241f;
  font-size: 16px;
  font-weight: 800;
}

.vnuti-ui-shell .vnuti-booking-calendar__grid button.is-selected {
  background: var(--vnuti-green);
  color: #fff;
}

.vnuti-ui-shell .vnuti-booking-calendar__grid button:disabled {
  color: #d2d7d1;
  cursor: not-allowed;
}

.vnuti-ui-shell .vnuti-booking-times {
  width: 100%;
  max-width: 100%;
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(8, 32px);
  grid-auto-columns: 76px;
  gap: 7px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0 2px 8px;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  touch-action: pan-x;
  contain: layout paint;
}

.vnuti-ui-shell .vnuti-booking-times.is-dragging {
  cursor: grabbing !important;
  user-select: none !important;
}

.vnuti-ui-shell .vnuti-booking-times::-webkit-scrollbar {
  display: none;
}

.vnuti-ui-shell .vnuti-booking-times button {
  min-width: 76px;
  width: 76px;
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 7px;
  background: #fff;
  border: 1px solid #dce8dd;
  color: var(--vnuti-green);
  font-size: 12px !important;
  font-weight: 900;
  line-height: 1 !important;
  text-align: center;
  white-space: nowrap;
  word-break: keep-all;
  overflow-wrap: normal;
  overflow: hidden;
  scroll-snap-align: start;
  box-shadow: 0 4px 10px rgba(20, 24, 20, 0.07);
}

.vnuti-ui-shell .vnuti-booking-times button.is-selected {
  background: var(--vnuti-green);
  border-color: var(--vnuti-green);
  color: #fff;
}

.vnuti-ui-shell .vnuti-booking-times button.is-busy,
.vnuti-ui-shell .vnuti-booking-times button:disabled {
  background: #e2e4df;
  border-color: #e2e4df;
  color: #a4b0a6;
  box-shadow: none;
  cursor: not-allowed;
  opacity: 0.78;
}

.vnuti-ui-shell .vnuti-booking-times__empty {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--vnuti-muted);
  font-size: 12px;
}

.vnuti-ui-shell .vnuti-booking-note {
  margin: 10px 0 0;
  color: #7f9380;
  font-size: 10px;
  font-style: italic;
  text-align: center;
}

.vnuti-ui-shell .vnuti-booking-row {
  grid-template-columns: minmax(0, 1fr) 22px;
}

.vnuti-ui-shell .vnuti-booking-row span {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  color: var(--vnuti-green);
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
}

.vnuti-ui-shell .vnuti-booking-row em {
  color: #b8beb8;
  font-size: 10px;
  font-style: italic;
  font-weight: 500;
  text-transform: none;
}

.vnuti-ui-shell .vnuti-booking-extra__panel {
  display: grid;
  gap: 12px;
  padding: 0 14px 14px;
}

.vnuti-ui-shell .vnuti-booking-extra__panel label {
  display: grid;
  gap: 6px;
  color: var(--vnuti-green);
  font-size: 12px;
  font-weight: 800;
}

.vnuti-ui-shell .vnuti-booking-extra textarea,
.vnuti-ui-shell .vnuti-booking-extra input {
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid var(--vnuti-line) !important;
  border-radius: 8px;
  background: #fff !important;
}

.vnuti-ui-shell .vnuti-booking-payment {
  margin: 18px 10px 0;
  padding: 14px 16px calc(14px + env(safe-area-inset-bottom));
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
}

.vnuti-ui-shell .vnuti-booking-payment > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 20px;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}

.vnuti-ui-shell .vnuti-booking-payment strong {
  color: #111;
  font-size: 11px;
  text-transform: uppercase;
}

.vnuti-ui-shell .vnuti-booking-payment span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--vnuti-green);
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.vnuti-ui-shell .vnuti-booking-payment svg {
  width: 16px;
  height: 16px;
}

.vnuti-ui-shell .vnuti-booking-popup {
  position: fixed;
  z-index: 80;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 22px;
  background: rgba(0, 0, 0, 0.45);
}

.vnuti-ui-shell .vnuti-booking-popup__box {
  width: min(100%, 320px);
  padding: 22px;
  border-radius: 16px;
  background: #fff;
  text-align: center;
  box-shadow: 0 20px 46px rgba(0, 0, 0, 0.22);
}

.vnuti-ui-shell .vnuti-booking-popup__box h3 {
  margin: 0 0 8px;
  color: var(--vnuti-green);
  font-size: 19px;
}

.vnuti-ui-shell .vnuti-booking-popup__box p {
  margin: 0 0 16px;
  color: #4e574f;
}

.vnuti-ui-shell .vnuti-booking-popup__box button {
  min-height: 40px;
  padding: 0 18px;
  border-radius: 8px;
  background: var(--vnuti-green);
  color: #fff;
  font-weight: 900;
}

@media (min-width: 860px) {
  .vnuti-ui-shell {
    min-height: 100vh;
    padding: 28px 0;
    background: radial-gradient(circle at 50% 0, rgba(47, 107, 53, 0.09), transparent 38%), #edf2ed;
  }

  .vnuti-ui-shell .vnuti-staff {
    width: min(100%, 860px);
    min-height: auto;
    border-radius: 0;
    background: #fff;
    overflow: visible;
  }

  .vnuti-ui-shell .vnuti-staff:not(.vnuti-staff--detail):not(.vnuti-staff--product):not(.vnuti-staff--booking):not(.vnuti-staff--cart) {
    background: #fff;
  }

  .vnuti-ui-shell .vnuti-staff__hero {
    min-height: 246px;
    padding: 30px 28px 94px;
    border-top-left-radius: 28px;
    border-top-right-radius: 28px;
  }

  .vnuti-ui-shell .vnuti-staff__title-row h2 {
    font-size: 30px;
  }

  .vnuti-ui-shell .vnuti-staff__subtitle {
    margin-top: 38px;
    max-width: none;
  }

  .vnuti-ui-shell .vnuti-staff__panel {
    margin-top: -40px;
    padding: 0 26px 28px;
    border-radius: 22px;
  }

  .vnuti-ui-shell .vnuti-staff__filter {
    margin-top: -26px;
  }

  .vnuti-ui-shell .vnuti-staff__filter-card {
    padding: 14px;
    border-radius: 18px;
  }

  .vnuti-ui-shell .vnuti-staff__search {
    grid-template-columns: minmax(0, 1fr) 330px;
    align-items: start;
    gap: 14px;
  }

  .vnuti-ui-shell .vnuti-staff__search > .vnuti-staff__suggestions {
    top: 52px;
    right: 344px;
  }

  .vnuti-ui-shell .vnuti-staff__filter-actions {
    grid-template-columns: minmax(0, 1fr) 118px;
  }

  .vnuti-ui-shell .vnuti-staff__area-popover {
    width: 360px;
    margin: 12px 0 0 auto;
  }

  .vnuti-ui-shell .vnuti-staff__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .vnuti-ui-shell .vnuti-staff-card {
    min-height: 126px;
    grid-template-columns: 42% minmax(0, 1fr);
  }

  .vnuti-ui-shell .vnuti-staff-card__image {
    min-height: 126px;
  }

  .vnuti-ui-shell .vnuti-staff--detail {
    width: min(100%, 760px);
    background: transparent;
  }

  .vnuti-ui-shell .vnuti-detail {
    padding: 0 0 128px;
  }

  .vnuti-ui-shell .vnuti-detail__hero {
    border-radius: 8px;
  }

  .vnuti-ui-shell .vnuti-detail__hero > img {
    height: 255px;
  }

  .vnuti-ui-shell .vnuti-detail__hero > div {
    min-height: 210px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 42px 58px 42px 178px;
  }

  .vnuti-ui-shell .vnuti-detail__avatar {
    top: -62px;
    left: 60px;
    width: 116px;
    height: 116px;
  }

  .vnuti-ui-shell .vnuti-detail__hero h2 {
    margin-bottom: 8px;
    font-size: 25px;
  }

  .vnuti-ui-shell .vnuti-detail__hero p {
    max-width: 680px;
    font-size: 14px;
    line-height: 1.55;
  }

  .vnuti-ui-shell .vnuti-detail__address {
    margin-top: 4px;
  }

  .vnuti-ui-shell .vnuti-detail__section {
    margin-top: 24px;
  }

  .vnuti-ui-shell .vnuti-service-list {
    gap: 18px;
  }

  .vnuti-ui-shell .vnuti-service img,
  .vnuti-ui-shell .vnuti-service__image {
    height: 178px;
  }

  .vnuti-ui-shell .vnuti-service h4 {
    font-size: 18px;
  }

  .vnuti-ui-shell .vnuti-service p {
    display: none;
  }

  .vnuti-ui-shell .vnuti-cart-bar {
    width: 760px;
  }

  .vnuti-ui-shell .vnuti-staff--product {
    width: min(100%, 820px);
    background: #fff;
    border-radius: 0 0 26px 26px;
    box-shadow: 0 18px 40px rgba(20, 24, 20, 0.09);
  }

  .vnuti-ui-shell .vnuti-product {
    padding-bottom: 0;
  }

  .vnuti-ui-shell .vnuti-product__media {
    height: 420px;
  }

  .vnuti-ui-shell .vnuti-product__back {
    top: 34px;
    left: 28px;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.36);
  }

  .vnuti-ui-shell .vnuti-product__thumbs {
    grid-auto-columns: 70px;
    gap: 10px;
    justify-content: center;
    padding-top: 10px;
  }

  .vnuti-ui-shell .vnuti-product__thumbs img {
    width: 70px;
    height: 54px;
  }

  .vnuti-ui-shell .vnuti-product__body {
    padding: 32px 52px 18px;
  }

  .vnuti-ui-shell .vnuti-product__title-row h2 {
    font-size: 32px;
  }

  .vnuti-ui-shell .vnuti-product__price {
    font-size: 38px;
  }

  .vnuti-ui-shell .vnuti-product__duration > div {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .vnuti-ui-shell .vnuti-product__footer {
    position: static;
    padding: 0 52px 34px;
    border-radius: 0;
    box-shadow: none;
  }

  .vnuti-ui-shell .vnuti-staff--booking {
    width: min(100%, 760px);
    background: #eef2ed;
    overflow: visible;
  }

  .vnuti-ui-shell .vnuti-staff--cart {
    width: min(100%, 760px);
    background: #d9d9d9;
    overflow: visible;
  }

  .vnuti-ui-shell .vnuti-cart-view__footer {
    width: 760px;
  }

  .vnuti-ui-shell .vnuti-booking__header {
    min-height: 122px;
    border-radius: 0 0 22px 22px;
  }

  .vnuti-ui-shell .vnuti-booking__content {
    padding: 18px 34px 0;
  }

  .vnuti-ui-shell .vnuti-booking-card {
    padding: 16px 18px;
  }

  .vnuti-ui-shell .vnuti-booking-times {
    grid-template-rows: repeat(8, 32px);
    grid-auto-columns: 104px;
    gap: 8px 12px;
  }

  .vnuti-ui-shell .vnuti-booking-times button {
    min-width: 104px;
    width: 104px;
    min-height: 32px;
  }

  .vnuti-ui-shell .vnuti-booking-payment {
    margin: 28px 24px 24px;
    border-radius: 20px;
  }
}

/* Booking total product list polish v1.18.37 */
.vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total {
  overflow: hidden !important;
}

.vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total__items {
  gap: 0 !important;
  padding: 0 18px 16px !important;
  background: #fff !important;
}

.vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total-item {
  display: grid !important;
  grid-template-columns: 106px minmax(0, 1fr) minmax(92px, auto) !important;
  align-items: start !important;
  gap: 14px !important;
  min-height: 92px !important;
  padding: 13px 0 !important;
  border: 0 !important;
  background: #fff !important;
  color: #202420 !important;
}

.vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total-item + .vnuti-booking-total-item {
  border-top: 1px solid rgba(45, 111, 54, 0.08) !important;
}

.vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total-item__image {
  width: 106px !important;
  height: 78px !important;
  border-radius: 5px !important;
  overflow: hidden !important;
  background: #edf3ee !important;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total-item__image img,
.vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total-item__image span {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
}

.vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total-item__body {
  min-width: 0 !important;
  padding: 1px 0 0 !important;
}

.vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total-item__body strong {
  display: block !important;
  max-width: 100% !important;
  margin: 0 0 7px !important;
  overflow: hidden !important;
  color: #1f241f !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.22 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total-item__body span {
  display: block !important;
  margin: 0 0 13px !important;
  color: #4d574e !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
}

.vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total-item__body button {
  display: inline-flex !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #4d7f50 !important;
  font-size: 13px !important;
  font-style: italic !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

.vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total-item__side {
  min-width: 92px !important;
  height: 78px !important;
  display: grid !important;
  align-content: space-between !important;
  justify-items: end !important;
  gap: 0 !important;
  padding: 1px 0 0 !important;
}

.vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total-item__side b {
  color: #202420 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
}

.vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total-item__side span {
  width: 28px !important;
  min-width: 28px !important;
  height: 28px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  background: #3c743f !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total__more {
  width: 100% !important;
  min-height: 40px !important;
  margin: 10px 0 0 !important;
  border: 1.5px dashed #3c743f !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #3c743f !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

@media (max-width: 430px) {
  .vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total__items {
    padding: 0 16px 14px !important;
  }

  .vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total-item {
    grid-template-columns: 92px minmax(0, 1fr) minmax(78px, auto) !important;
    gap: 12px !important;
    min-height: 82px !important;
  }

  .vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total-item__image {
    width: 92px !important;
    height: 68px !important;
  }

  .vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total-item__body strong {
    font-size: 14px !important;
  }

  .vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total-item__body span,
  .vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total-item__body button {
    font-size: 12px !important;
  }

  .vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total-item__side {
    min-width: 78px !important;
    height: 68px !important;
  }

  .vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total-item__side b {
    font-size: 12px !important;
  }

  .vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total-item__side span {
    width: 26px !important;
    min-width: 26px !important;
    height: 26px !important;
    font-size: 13px !important;
  }
}

@media (max-width: 600px) {
  .vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total-item {
    grid-template-columns: 84px minmax(0, 1fr) minmax(64px, auto) !important;
    gap: 10px !important;
    align-items: center !important;
    min-height: 78px !important;
  }

  .vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total-item__image {
    width: 84px !important;
    height: 62px !important;
  }

  .vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total-item__body {
    display: grid !important;
    gap: 4px !important;
    padding-top: 0 !important;
  }

  .vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total-item__body strong {
    white-space: normal !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    margin-bottom: 0 !important;
  }

  .vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total-item__body span {
    margin-bottom: 0 !important;
  }

  .vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total-item__body button {
    align-self: start !important;
  }

  .vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total-item__side {
    min-width: 64px !important;
    height: 62px !important;
  }

  .vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total-item__side b {
    font-size: 12px !important;
  }

  .vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total-item__side span {
    width: 24px !important;
    min-width: 24px !important;
    height: 24px !important;
    font-size: 12px !important;
  }
}

/* Shop cover image ratio fix v1.18.38 */
.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__hero > img {
  aspect-ratio: 9 / 16 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center top !important;
}

@media (min-width: 860px) {
  .vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__hero > img {
    aspect-ratio: 9 / 16 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
}

/* Detail back button app tone v1.18.39 */
.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__back {
  background: rgba(255, 255, 255, 0.82) !important;
  border: 1px solid rgba(45, 111, 54, 0.16) !important;
  color: #2f6f38 !important;
  box-shadow: 0 8px 20px rgba(20, 24, 20, 0.12) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  backdrop-filter: blur(8px) !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__back-icon {
  color: #2f6f38 !important;
}

@media (max-width: 389px) {
  .vnuti-ui-shell .vnuti-staff__filter-actions {
    grid-template-columns: minmax(0, 1fr) 96px;
  }

  .vnuti-ui-shell .vnuti-staff-card {
    grid-template-columns: 41% minmax(0, 1fr);
  }

  .vnuti-ui-shell .vnuti-booking-times {
    gap: 8px 6px;
  }
}

/* Booking UI polish */
.vnuti-ui-shell .vnuti-staff--booking {
  background: #eef3ed;
  color: #1e251f;
}

.vnuti-ui-shell .vnuti-booking__header {
  min-height: 132px;
  padding: 24px 56px 22px;
  border-bottom-left-radius: 22px;
  border-bottom-right-radius: 22px;
  box-shadow: 0 12px 28px rgba(29, 87, 43, 0.16);
}

.vnuti-ui-shell .vnuti-booking__back {
  top: 50%;
  left: 22px;
  width: 38px;
  height: 38px;
  transform: translateY(-50%);
}

.vnuti-ui-shell .vnuti-booking__header h2 {
  max-width: 100%;
  margin: 0 0 8px;
  font-size: 24px;
  line-height: 1.15;
}

.vnuti-ui-shell .vnuti-booking__header p {
  font-size: 13px;
  line-height: 1.35;
}

.vnuti-ui-shell .vnuti-booking__content {
  gap: 14px;
  padding: 16px 14px 92px;
}

.vnuti-ui-shell .vnuti-booking-card,
.vnuti-ui-shell .vnuti-booking-total,
.vnuti-ui-shell .vnuti-booking-extra {
  border: 1px solid rgba(47, 107, 53, 0.08);
  border-radius: 16px;
  box-shadow: 0 10px 24px rgba(20, 24, 20, 0.06);
}

.vnuti-ui-shell .vnuti-booking-card {
  padding: 18px 14px;
}

.vnuti-ui-shell .vnuti-booking-card h3 {
  margin-bottom: 14px;
  font-size: 15px;
  letter-spacing: 0.01em;
}

.vnuti-ui-shell .vnuti-booking-info {
  min-height: 48px;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px;
  margin-bottom: 12px;
}

.vnuti-ui-shell .vnuti-booking-info:last-child {
  margin-bottom: 0;
}

.vnuti-ui-shell .vnuti-booking-info > span {
  width: 30px;
  height: 30px;
  background: #e9f3ea;
}

.vnuti-ui-shell .vnuti-booking-info svg {
  width: 16px;
  height: 16px;
}

.vnuti-ui-shell .vnuti-booking-info input,
.vnuti-ui-shell .vnuti-booking-extra textarea,
.vnuti-ui-shell .vnuti-booking-extra input {
  min-height: 48px;
  padding: 0 14px;
  border-radius: 13px;
  font-size: 15px;
  line-height: 1.2;
}

.vnuti-ui-shell .vnuti-booking-total__head,
.vnuti-ui-shell .vnuti-booking-row {
  min-height: 58px;
  padding: 0 16px;
  border-radius: 16px;
  font-size: 16px;
}

.vnuti-ui-shell .vnuti-booking-total__head strong {
  font-size: 18px;
}

.vnuti-ui-shell .vnuti-booking-date {
  min-height: 40px;
  margin-bottom: 14px;
  padding: 0 2px;
  font-size: 14px;
}

.vnuti-ui-shell .vnuti-booking-date > span:first-child {
  width: 30px;
  height: 30px;
  border-radius: 8px;
}

.vnuti-ui-shell .vnuti-booking-times {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-template-rows: repeat(8, 44px) !important;
  grid-auto-columns: 104px !important;
  gap: 10px 12px !important;
  width: 100%;
  max-width: 100%;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 2px 4px 12px;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x;
}

.vnuti-ui-shell .vnuti-booking-times button {
  width: 104px !important;
  min-width: 104px !important;
  height: 44px;
  min-height: 44px !important;
  border-radius: 12px;
  font-size: 15px !important;
  line-height: 1 !important;
  box-shadow: 0 6px 14px rgba(20, 24, 20, 0.08);
}

.vnuti-ui-shell .vnuti-booking-note {
  margin-top: 8px;
  font-size: 12px;
}

.vnuti-ui-shell .vnuti-booking-payment {
  position: sticky;
  z-index: 30;
  bottom: 0;
  margin: 0 14px;
  padding: 14px;
  border-radius: 20px 20px 0 0;
  box-shadow: 0 -12px 30px rgba(20, 24, 20, 0.12);
}

.vnuti-ui-shell .vnuti-booking-payment > div {
  min-height: 34px;
}

.vnuti-ui-shell .vnuti-booking-payment button {
  min-height: 54px;
  border-radius: 13px;
  font-size: 16px;
}

@media (max-width: 520px) {
  .vnuti-ui-shell .vnuti-staff--booking {
    width: 100%;
    min-height: 100vh;
    overflow-x: hidden;
  }

  .vnuti-ui-shell .vnuti-booking__header {
    min-height: 118px;
    padding: 22px 52px 20px;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
  }

  .vnuti-ui-shell .vnuti-booking__header h2 {
    font-size: 22px;
  }

  .vnuti-ui-shell .vnuti-booking__header p {
    font-size: 12px;
  }

  .vnuti-ui-shell .vnuti-booking__content {
    padding: 14px 10px 92px;
  }

  .vnuti-ui-shell .vnuti-booking-card {
    padding: 16px 12px;
  }

  .vnuti-ui-shell .vnuti-booking-card h3 {
    font-size: 14px;
  }

  .vnuti-ui-shell .vnuti-booking-info input,
  .vnuti-ui-shell .vnuti-booking-extra textarea,
  .vnuti-ui-shell .vnuti-booking-extra input {
    min-height: 46px;
    font-size: 14px;
  }

  .vnuti-ui-shell .vnuti-booking-total__head {
    min-height: 56px;
  }

  .vnuti-ui-shell .vnuti-booking-total__head strong {
    font-size: 17px;
  }

  .vnuti-ui-shell .vnuti-booking-times {
    grid-template-rows: repeat(8, 42px) !important;
    grid-auto-columns: 94px !important;
    gap: 9px 10px !important;
  }

  .vnuti-ui-shell .vnuti-booking-times button {
    width: 94px !important;
    min-width: 94px !important;
    height: 42px;
    min-height: 42px !important;
    font-size: 14px !important;
  }

  .vnuti-ui-shell .vnuti-booking-payment {
    margin: 0;
    padding: 14px 14px calc(14px + env(safe-area-inset-bottom));
  }
}

/* Shop detail profile spacing: keep name close to cover and avatar. */
.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__hero > div {
  column-gap: 10px !important;
  padding: 5px 28px 30px 10px !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__hero h2 {
  align-self: start !important;
  margin-top: 1px !important;
  margin-bottom: 0 !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__code {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-top: 2px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__code svg {
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px !important;
}

@media (max-width: 420px) {
  .vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__hero > div {
    column-gap: 10px !important;
    padding: 5px 16px 28px 10px !important;
  }

  .vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__hero h2 {
    margin-top: 1px !important;
    margin-bottom: 0 !important;
  }

  .vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__code {
    margin-top: 2px !important;
  }
}

/* Cart view final layout */
.vnuti-ui-shell .vnuti-staff--cart {
  width: min(100%, 760px);
  min-height: 100vh;
  margin: 0 auto;
  background: #d9d9d9 !important;
  color: #1d221e;
}

.vnuti-ui-shell .vnuti-cart-view__header {
  min-height: 170px !important;
  display: flex !important;
  align-items: center !important;
  padding: 38px 56px 34px !important;
  border-bottom-left-radius: 24px !important;
  border-bottom-right-radius: 24px !important;
  background: var(--vnuti-green) !important;
}

.vnuti-ui-shell .vnuti-cart-view__header h2 {
  margin: 0 !important;
  color: #fff !important;
  font-size: 34px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
}

.vnuti-ui-shell .vnuti-cart-view__back {
  left: 24px !important;
  top: 50% !important;
  width: 42px !important;
  height: 42px !important;
  transform: translateY(-50%) !important;
}

.vnuti-ui-shell .vnuti-cart-view__back::before,
.vnuti-ui-shell .vnuti-cart-view__back::after {
  left: 7px !important;
  top: 20px !important;
  width: 28px !important;
  height: 4px !important;
}

.vnuti-ui-shell .vnuti-cart-view__content {
  padding: 28px 28px 180px !important;
}

.vnuti-ui-shell .vnuti-cart-view__card {
  padding: 32px 34px 28px !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-cart-view__card h3 {
  margin: 0 0 28px !important;
  color: var(--vnuti-green) !important;
  font-size: 34px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
}

.vnuti-ui-shell .vnuti-cart-view__summary {
  margin-bottom: 28px !important;
  color: #111 !important;
  font-size: 23px !important;
  line-height: 1.2 !important;
}

.vnuti-ui-shell .vnuti-cart-view__summary strong {
  color: var(--vnuti-red) !important;
  font-size: 31px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}

.vnuti-ui-shell .vnuti-cart-view__items {
  gap: 24px !important;
}

.vnuti-ui-shell .vnuti-cart-view-item {
  grid-template-columns: 38px 150px minmax(0, 1fr) 132px !important;
  gap: 24px !important;
  align-items: center !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__check span {
  width: 30px !important;
  height: 30px !important;
  border-radius: 8px !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__check input:checked + span::after {
  width: 14px !important;
  height: 8px !important;
  border-left-width: 4px !important;
  border-bottom-width: 4px !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__image img,
.vnuti-ui-shell .vnuti-cart-view-item__image span {
  width: 150px !important;
  height: 116px !important;
  border-radius: 14px !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__body h4 {
  margin: 0 0 10px !important;
  color: #202422 !important;
  font-size: 26px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__body p {
  margin: 0 0 12px !important;
  color: #222 !important;
  font-size: 24px !important;
  line-height: 1.2 !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__body strong {
  color: var(--vnuti-red) !important;
  font-size: 25px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__qty {
  grid-template-columns: 40px 50px 40px !important;
  min-width: 130px !important;
  border-radius: 8px !important;
  background: #dedede !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__qty button {
  width: 40px !important;
  height: 42px !important;
  font-size: 25px !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__qty input {
  width: 50px !important;
  height: 42px !important;
  min-height: 42px !important;
  color: #111 !important;
  font-size: 20px !important;
}

.vnuti-ui-shell .vnuti-cart-view__more {
  min-height: 74px !important;
  margin-top: 30px !important;
  border: 2px dashed var(--vnuti-green) !important;
  border-radius: 13px !important;
  color: var(--vnuti-green) !important;
  font-size: 24px !important;
  font-weight: 900 !important;
}

.vnuti-ui-shell .vnuti-cart-view__footer {
  width: min(100%, 760px) !important;
  grid-template-columns: minmax(0, 1fr) 118px 150px !important;
  gap: 22px !important;
  padding: 34px 28px calc(34px + env(safe-area-inset-bottom)) !important;
  border-radius: 28px 28px 0 0 !important;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-cart-view__footer label {
  gap: 16px !important;
  color: #222 !important;
  font-size: 24px !important;
}

.vnuti-ui-shell .vnuti-cart-view__footer input {
  width: 28px !important;
  height: 28px !important;
}

.vnuti-ui-shell .vnuti-cart-view__footer button {
  min-height: 72px !important;
  border-radius: 14px !important;
  font-size: 24px !important;
  font-weight: 900 !important;
}

@media (max-width: 520px) {
  .vnuti-ui-shell .vnuti-cart-view__header {
    min-height: 132px !important;
    padding: 28px 44px 26px !important;
    border-bottom-left-radius: 18px !important;
    border-bottom-right-radius: 18px !important;
  }

  .vnuti-ui-shell .vnuti-cart-view__header h2 {
    font-size: 28px !important;
  }

  .vnuti-ui-shell .vnuti-cart-view__back {
    left: 18px !important;
    width: 34px !important;
    height: 34px !important;
  }

  .vnuti-ui-shell .vnuti-cart-view__back::before,
  .vnuti-ui-shell .vnuti-cart-view__back::after {
    left: 6px !important;
    top: 16px !important;
    width: 22px !important;
    height: 3px !important;
  }

  .vnuti-ui-shell .vnuti-cart-view__content {
    padding: 20px 18px 150px !important;
  }

  .vnuti-ui-shell .vnuti-cart-view__card {
    padding: 26px 24px 22px !important;
  }

  .vnuti-ui-shell .vnuti-cart-view__card h3 {
    margin-bottom: 24px !important;
    font-size: 28px !important;
  }

  .vnuti-ui-shell .vnuti-cart-view__summary {
    margin-bottom: 22px !important;
    font-size: 20px !important;
  }

  .vnuti-ui-shell .vnuti-cart-view__summary strong {
    font-size: 26px !important;
  }

  .vnuti-ui-shell .vnuti-cart-view-item {
    grid-template-columns: 28px 108px minmax(0, 1fr) !important;
    grid-template-areas:
      "check image body"
      ". . qty";
    gap: 14px 16px !important;
  }

  .vnuti-ui-shell .vnuti-cart-view-item__check {
    grid-area: check;
  }

  .vnuti-ui-shell .vnuti-cart-view-item__image {
    grid-area: image;
  }

  .vnuti-ui-shell .vnuti-cart-view-item__body {
    grid-area: body;
  }

  .vnuti-ui-shell .vnuti-cart-view-item__qty {
    grid-area: qty;
    justify-self: end;
    grid-template-columns: 34px 42px 34px !important;
    min-width: 110px !important;
  }

  .vnuti-ui-shell .vnuti-cart-view-item__check span {
    width: 24px !important;
    height: 24px !important;
  }

  .vnuti-ui-shell .vnuti-cart-view-item__image img,
  .vnuti-ui-shell .vnuti-cart-view-item__image span {
    width: 108px !important;
    height: 84px !important;
    border-radius: 10px !important;
  }

  .vnuti-ui-shell .vnuti-cart-view-item__body h4 {
    font-size: 18px !important;
  }

  .vnuti-ui-shell .vnuti-cart-view-item__body p {
    font-size: 17px !important;
  }

  .vnuti-ui-shell .vnuti-cart-view-item__body strong {
    font-size: 17px !important;
  }

  .vnuti-ui-shell .vnuti-cart-view-item__qty button {
    width: 34px !important;
    height: 34px !important;
    font-size: 21px !important;
  }

  .vnuti-ui-shell .vnuti-cart-view-item__qty input {
    width: 42px !important;
    height: 34px !important;
    min-height: 34px !important;
    font-size: 16px !important;
  }

  .vnuti-ui-shell .vnuti-cart-view__more {
    min-height: 56px !important;
    margin-top: 24px !important;
    font-size: 17px !important;
  }

  .vnuti-ui-shell .vnuti-cart-view__footer {
    grid-template-columns: minmax(0, 1fr) 76px 110px !important;
    gap: 10px !important;
    padding: 22px 18px calc(22px + env(safe-area-inset-bottom)) !important;
    border-radius: 24px 24px 0 0 !important;
  }

  .vnuti-ui-shell .vnuti-cart-view__footer label {
    gap: 10px !important;
    font-size: 17px !important;
  }

  .vnuti-ui-shell .vnuti-cart-view__footer input {
    width: 22px !important;
    height: 22px !important;
  }

  .vnuti-ui-shell .vnuti-cart-view__footer button {
    min-height: 58px !important;
    font-size: 16px !important;
  }
}

/* Hide WordPress theme scroll-to-top buttons on VNUTI shortcode pages. */

body:has(.vnuti-ui-shell) #ast-scroll-top,
body:has(.vnuti-ui-shell) #back-to-top,
body:has(.vnuti-ui-shell) #scroll-top,
body:has(.vnuti-ui-shell) .back-to-top,
body:has(.vnuti-ui-shell) .ct-back-to-top,
body:has(.vnuti-ui-shell) .generate-back-to-top,
body:has(.vnuti-ui-shell) .go-top,
body:has(.vnuti-ui-shell) .scroll-to-top,
body:has(.vnuti-ui-shell) .scrollup,
body:has(.vnuti-ui-shell) .to-top,
body:has(.vnuti-ui-shell) .wpfront-scroll-top-container {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

/* Booking final accordion/payment sizing */
.vnuti-ui-shell .vnuti-booking-extra {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.vnuti-ui-shell .vnuti-booking-row {
  min-height: 96px !important;
  padding: 0 42px !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-booking-row span {
  display: flex !important;
  align-items: baseline !important;
  gap: 16px !important;
  color: var(--vnuti-green) !important;
  font-size: 30px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

.vnuti-ui-shell .vnuti-booking-row em {
  color: #aebbad !important;
  font-size: 24px !important;
  line-height: 1 !important;
  font-style: italic !important;
  font-weight: 500 !important;
  text-transform: none !important;
  white-space: nowrap !important;
}

.vnuti-ui-shell .vnuti-booking-row i {
  width: 24px !important;
  height: 24px !important;
  border-right: 5px solid var(--vnuti-green) !important;
  border-bottom: 5px solid var(--vnuti-green) !important;
}

.vnuti-ui-shell .vnuti-booking-extra__panel {
  margin-top: -2px !important;
  padding: 22px 34px 34px !important;
  background: #fff !important;
  border-radius: 0 0 18px 18px !important;
}

.vnuti-ui-shell .vnuti-booking-payment {
  min-height: 190px !important;
  padding: 48px 38px calc(40px + env(safe-area-inset-bottom)) !important;
  border-radius: 34px 34px 0 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-booking-payment > div {
  display: none !important;
}

.vnuti-ui-shell .vnuti-booking-payment button {
  min-height: 88px !important;
  border-radius: 16px !important;
  background: var(--vnuti-green) !important;
  color: #fff !important;
  font-size: 26px !important;
  font-weight: 900 !important;
}

.vnuti-ui-shell .vnuti-booking-payment button:disabled {
  background: #d2d2d2 !important;
  color: #858585 !important;
}

@media (max-width: 520px) {
  .vnuti-ui-shell .vnuti-booking__content {
    gap: 22px !important;
  }

  .vnuti-ui-shell .vnuti-booking-row {
    min-height: 82px !important;
    padding: 0 28px !important;
    border-radius: 16px !important;
  }

  .vnuti-ui-shell .vnuti-booking-row span {
    gap: 12px !important;
    font-size: 24px !important;
  }

  .vnuti-ui-shell .vnuti-booking-row em {
    font-size: 19px !important;
  }

  .vnuti-ui-shell .vnuti-booking-row i {
    width: 20px !important;
    height: 20px !important;
    border-width: 4px !important;
  }

  .vnuti-ui-shell .vnuti-booking-extra__panel {
    padding: 18px 24px 28px !important;
  }

  .vnuti-ui-shell .vnuti-booking-payment {
    min-height: 156px !important;
    padding: 34px 18px calc(30px + env(safe-area-inset-bottom)) !important;
    border-radius: 28px 28px 0 0 !important;
  }

  .vnuti-ui-shell .vnuti-booking-payment button {
    min-height: 68px !important;
    border-radius: 14px !important;
    font-size: 22px !important;
  }
}

/* Booking final layout: white cards, app-like spacing */
.vnuti-ui-shell .vnuti-staff--booking {
  width: min(100%, 760px);
  min-height: 100vh;
  margin: 0 auto;
  background: #d9d9d9 !important;
  overflow-x: hidden;
}

.vnuti-ui-shell .vnuti-booking__header {
  min-height: 184px !important;
  padding: 46px 64px 38px !important;
  border-bottom-left-radius: 24px !important;
  border-bottom-right-radius: 24px !important;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-booking__back {
  left: 26px !important;
  width: 42px !important;
  height: 42px !important;
}

.vnuti-ui-shell .vnuti-booking__header h2 {
  margin: 0 0 12px !important;
  color: #fff !important;
  font-size: 30px !important;
  line-height: 1.12 !important;
  font-weight: 900 !important;
  text-align: center;
}

.vnuti-ui-shell .vnuti-booking__header p {
  margin: 0 0 6px !important;
  color: rgba(255, 255, 255, 0.86) !important;
  font-size: 17px !important;
  line-height: 1.3 !important;
  text-align: center;
}

.vnuti-ui-shell .vnuti-booking__content {
  display: grid;
  gap: 22px !important;
  padding: 28px 28px 126px !important;
}

.vnuti-ui-shell .vnuti-booking-card,
.vnuti-ui-shell .vnuti-booking-total,
.vnuti-ui-shell .vnuti-booking-extra,
.vnuti-ui-shell .vnuti-booking-payment {
  background: #fff !important;
  border: 0 !important;
  border-radius: 16px !important;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-booking-card {
  padding: 32px 30px !important;
  overflow: hidden;
}

.vnuti-ui-shell .vnuti-booking-card h3 {
  margin: 0 0 24px !important;
  color: var(--vnuti-green) !important;
  font-size: 24px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase;
}

.vnuti-ui-shell .vnuti-booking-info {
  min-height: 58px !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  gap: 18px !important;
  margin: 0 0 18px !important;
}

.vnuti-ui-shell .vnuti-booking-info:last-child {
  margin-bottom: 0 !important;
}

.vnuti-ui-shell .vnuti-booking-info > span {
  width: 34px !important;
  height: 34px !important;
  background: transparent !important;
  color: var(--vnuti-green) !important;
}

.vnuti-ui-shell .vnuti-booking-info svg {
  width: 28px !important;
  height: 28px !important;
}

.vnuti-ui-shell .vnuti-booking-info input {
  min-height: 64px !important;
  padding: 0 22px !important;
  border: 1px solid #dfe8dd !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: #314233 !important;
  font-size: 20px !important;
  line-height: 1.2 !important;
}

.vnuti-ui-shell .vnuti-booking-info input::placeholder {
  color: #94a092 !important;
}

.vnuti-ui-shell .vnuti-booking-total {
  overflow: hidden;
}

.vnuti-ui-shell .vnuti-booking-total__head {
  min-height: 82px !important;
  padding: 0 34px !important;
  border-radius: 16px !important;
  color: #1d221e !important;
  font-size: 22px !important;
}

.vnuti-ui-shell .vnuti-booking-total__head strong {
  color: var(--vnuti-red) !important;
  font-size: 30px !important;
  line-height: 1 !important;
}

.vnuti-ui-shell .vnuti-booking-total__head i {
  width: 20px !important;
  height: 20px !important;
  border-width: 4px !important;
}

.vnuti-ui-shell .vnuti-booking-date {
  min-height: 44px !important;
  margin: 0 0 28px !important;
  color: #5d715f !important;
  font-size: 21px !important;
}

.vnuti-ui-shell .vnuti-booking-date > span:first-child {
  width: 36px !important;
  height: 36px !important;
  background: transparent !important;
  color: var(--vnuti-green) !important;
}

.vnuti-ui-shell .vnuti-booking-date svg {
  width: 34px !important;
  height: 34px !important;
}

.vnuti-ui-shell .vnuti-booking-times {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-template-rows: repeat(8, 68px) !important;
  grid-auto-columns: 150px !important;
  gap: 18px 20px !important;
  max-width: 100%;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 0 8px 18px !important;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x;
}

.vnuti-ui-shell .vnuti-booking-times button {
  width: 150px !important;
  min-width: 150px !important;
  height: 68px !important;
  min-height: 68px !important;
  border: 1px solid #e3e7e1 !important;
  border-radius: 13px !important;
  background: #fff !important;
  color: var(--vnuti-green) !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-booking-times button.is-selected {
  background: var(--vnuti-green) !important;
  border-color: var(--vnuti-green) !important;
  color: #fff !important;
}

.vnuti-ui-shell .vnuti-booking-times button.is-busy,
.vnuti-ui-shell .vnuti-booking-times button:disabled {
  background: #f3f3f3 !important;
  border-color: #e8e8e8 !important;
  color: #d7d7d7 !important;
  opacity: 1 !important;
}

.vnuti-ui-shell .vnuti-booking-note {
  margin-top: 10px !important;
  color: #829582 !important;
  font-size: 16px !important;
}

.vnuti-ui-shell .vnuti-booking-row {
  min-height: 76px !important;
  padding: 0 30px !important;
  border-radius: 16px !important;
}

.vnuti-ui-shell .vnuti-booking-row span {
  font-size: 22px !important;
  letter-spacing: 0 !important;
}

.vnuti-ui-shell .vnuti-booking-row em {
  font-size: 17px !important;
}

.vnuti-ui-shell .vnuti-booking-extra__panel {
  padding: 0 28px 26px !important;
  background: #fff !important;
}

.vnuti-ui-shell .vnuti-booking-extra textarea,
.vnuti-ui-shell .vnuti-booking-extra input {
  min-height: 62px !important;
  padding: 16px 22px !important;
  border-radius: 14px !important;
  background: #fff !important;
  font-size: 19px !important;
}

.vnuti-ui-shell .vnuti-booking-extra textarea {
  min-height: 140px !important;
}

.vnuti-ui-shell .vnuti-booking-payment {
  width: min(100%, 760px);
  margin: 0 auto !important;
  padding: 28px 28px calc(28px + env(safe-area-inset-bottom)) !important;
  border-radius: 24px 24px 0 0 !important;
}

.vnuti-ui-shell .vnuti-booking-payment button {
  min-height: 72px !important;
  border-radius: 13px !important;
  font-size: 22px !important;
}

@media (max-width: 520px) {
  .vnuti-ui-shell .vnuti-booking__header {
    min-height: 168px !important;
    padding: 42px 58px 34px !important;
    border-bottom-left-radius: 20px !important;
    border-bottom-right-radius: 20px !important;
  }

  .vnuti-ui-shell .vnuti-booking__back {
    left: 22px !important;
    width: 38px !important;
    height: 38px !important;
  }

  .vnuti-ui-shell .vnuti-booking__header h2 {
    font-size: 28px !important;
  }

  .vnuti-ui-shell .vnuti-booking__header p {
    font-size: 17px !important;
  }

  .vnuti-ui-shell .vnuti-booking__content {
    gap: 18px !important;
    padding: 18px 14px 112px !important;
  }

  .vnuti-ui-shell .vnuti-booking-card {
    padding: 26px 22px !important;
  }

  .vnuti-ui-shell .vnuti-booking-card h3 {
    margin-bottom: 22px !important;
    font-size: 22px !important;
  }

  .vnuti-ui-shell .vnuti-booking-info {
    grid-template-columns: 36px minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  .vnuti-ui-shell .vnuti-booking-info > span {
    width: 30px !important;
    height: 30px !important;
  }

  .vnuti-ui-shell .vnuti-booking-info svg {
    width: 24px !important;
    height: 24px !important;
  }

  .vnuti-ui-shell .vnuti-booking-info input {
    min-height: 58px !important;
    padding: 0 18px !important;
    font-size: 18px !important;
  }

  .vnuti-ui-shell .vnuti-booking-total__head {
    min-height: 70px !important;
    padding: 0 24px !important;
    font-size: 21px !important;
  }

  .vnuti-ui-shell .vnuti-booking-total__head strong {
    font-size: 28px !important;
  }

  .vnuti-ui-shell .vnuti-booking-date {
    margin-bottom: 24px !important;
    font-size: 20px !important;
  }

  .vnuti-ui-shell .vnuti-booking-times {
    grid-template-rows: repeat(8, 56px) !important;
    grid-auto-columns: 112px !important;
    gap: 14px 16px !important;
    padding: 0 8px 16px !important;
  }

  .vnuti-ui-shell .vnuti-booking-times button {
    width: 112px !important;
    min-width: 112px !important;
    height: 56px !important;
    min-height: 56px !important;
    font-size: 19px !important;
  }

  .vnuti-ui-shell .vnuti-booking-note {
    font-size: 14px !important;
  }

  .vnuti-ui-shell .vnuti-booking-row {
    min-height: 68px !important;
    padding: 0 24px !important;
  }

  .vnuti-ui-shell .vnuti-booking-row span {
    font-size: 20px !important;
  }

  .vnuti-ui-shell .vnuti-booking-row em {
    font-size: 16px !important;
  }

  .vnuti-ui-shell .vnuti-booking-extra__panel {
    padding: 0 22px 22px !important;
  }

  .vnuti-ui-shell .vnuti-booking-extra textarea,
  .vnuti-ui-shell .vnuti-booking-extra input {
    min-height: 56px !important;
    font-size: 17px !important;
  }

  .vnuti-ui-shell .vnuti-booking-extra textarea {
    min-height: 120px !important;
  }

  .vnuti-ui-shell .vnuti-booking-payment {
    padding: 22px 14px calc(22px + env(safe-area-inset-bottom)) !important;
  }

  .vnuti-ui-shell .vnuti-booking-payment button {
    min-height: 64px !important;
    font-size: 20px !important;
  }
}

/* Booking compact alignment */
.vnuti-ui-shell .vnuti-booking-extra {
  overflow: hidden;
}

.vnuti-ui-shell .vnuti-booking-row {
  grid-template-columns: minmax(0, 1fr) 18px;
  gap: 10px;
}

.vnuti-ui-shell .vnuti-booking-row span {
  min-width: 0;
  gap: 8px;
  font-size: 15px;
  line-height: 1.2;
}

.vnuti-ui-shell .vnuti-booking-row em {
  color: #a9b2a9;
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
}

.vnuti-ui-shell .vnuti-booking-extra__panel {
  display: grid;
  gap: 12px;
  padding: 0 18px 18px;
  background: #eef5ef;
}

.vnuti-ui-shell .vnuti-booking-extra__panel label {
  gap: 8px;
  color: var(--vnuti-green);
  font-size: 14px;
  font-weight: 800;
}

.vnuti-ui-shell .vnuti-booking-extra textarea {
  min-height: 92px;
  padding: 14px 16px;
  resize: vertical;
  font-size: 14px;
  line-height: 1.45;
}

.vnuti-ui-shell .vnuti-booking-extra input {
  min-height: 46px;
  font-size: 14px;
}

.vnuti-ui-shell .vnuti-booking-payment {
  display: grid;
  gap: 12px;
}

.vnuti-ui-shell .vnuti-booking-payment > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 12px;
}

.vnuti-ui-shell .vnuti-booking-payment strong {
  min-width: 0;
  color: #1d1d1d;
  font-size: 13px;
  line-height: 1.2;
  text-transform: uppercase;
}

.vnuti-ui-shell .vnuti-booking-payment span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--vnuti-green);
  font-size: 14px;
  font-weight: 800;
  white-space: nowrap;
}

.vnuti-ui-shell .vnuti-booking-payment button {
  width: 100%;
  font-size: 15px;
  font-weight: 900;
}

@media (max-width: 520px) {
  .vnuti-ui-shell .vnuti-booking__content {
    gap: 12px;
    padding-left: 10px;
    padding-right: 10px;
  }

  .vnuti-ui-shell .vnuti-booking-row {
    min-height: 54px;
    padding: 0 14px;
    border-radius: 14px;
  }

  .vnuti-ui-shell .vnuti-booking-row span {
    font-size: 14px;
  }

  .vnuti-ui-shell .vnuti-booking-row em {
    font-size: 12px;
  }

  .vnuti-ui-shell .vnuti-booking-extra__panel {
    padding: 0 12px 14px;
  }

  .vnuti-ui-shell .vnuti-booking-extra__panel label {
    font-size: 13px;
  }

  .vnuti-ui-shell .vnuti-booking-extra textarea {
    min-height: 84px;
    padding: 12px 14px;
    font-size: 13px;
  }

  .vnuti-ui-shell .vnuti-booking-extra input {
    min-height: 44px;
    font-size: 13px;
  }

  .vnuti-ui-shell .vnuti-booking-payment {
    border-radius: 18px 18px 0 0;
  }

  .vnuti-ui-shell .vnuti-booking-payment strong {
    font-size: 12px;
  }

  .vnuti-ui-shell .vnuti-booking-payment span {
    font-size: 13px;
  }
}

/* Shop detail profile card: final UI override */
.vnuti-ui-shell .vnuti-staff--detail {
  background: #eef3ee !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail {
  padding: 8px 14px 116px !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__hero {
  overflow: hidden !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 12px 28px rgba(20, 24, 20, 0.14) !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__hero > img {
  width: 100% !important;
  height: 240px !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center top !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__hero > div {
  display: grid !important;
  grid-template-columns: 112px minmax(0, 1fr) !important;
  grid-template-areas:
    "avatar title"
    "avatar code"
    "stats stats"
    "desc desc" !important;
  align-items: start !important;
  column-gap: 20px !important;
  min-height: 0 !important;
  padding: 34px 32px 34px !important;
  background: #fff !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__avatar {
  grid-area: avatar !important;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 118px !important;
  height: 118px !important;
  margin-top: -92px !important;
  border: 4px solid #fff !important;
  border-radius: 999px !important;
  object-fit: cover !important;
  box-shadow: 0 12px 24px rgba(20, 24, 20, 0.18) !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__avatar::after {
  content: "";
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__hero h2 {
  grid-area: title !important;
  margin: 0 !important;
  color: var(--vnuti-green) !important;
  font-size: 34px !important;
  font-weight: 900 !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__code {
  grid-area: code !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 8px 0 0 !important;
  color: var(--vnuti-green) !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__code svg {
  width: 32px !important;
  height: 32px !important;
  color: var(--vnuti-green) !important;
  flex: 0 0 auto !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__stats {
  grid-area: stats !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  margin: 34px -32px 0 !important;
  padding: 0 22px !important;
  border: 0 !important;
  color: #111 !important;
  font-size: 22px !important;
  line-height: 1.2 !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__stats span {
  min-height: 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 0 14px !important;
  border-right: 1px solid #dadada !important;
  white-space: nowrap !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__stats span:last-child {
  border-right: 0 !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__stats strong {
  color: #000 !important;
  font-size: 23px !important;
  font-weight: 900 !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__stats svg {
  width: 26px !important;
  height: 26px !important;
  color: var(--vnuti-green) !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__desc {
  grid-area: desc !important;
  display: block !important;
  max-width: 760px !important;
  margin: 30px auto 0 !important;
  color: var(--vnuti-green) !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  text-align: center !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__address {
  display: none !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__back {
  top: 26px !important;
  left: 28px !important;
  min-width: 116px !important;
  height: 44px !important;
  padding: 0 14px 0 9px !important;
  gap: 8px !important;
  border-radius: 999px !important;
  background: rgba(59, 60, 58, 0.68) !important;
}

@media (max-width: 520px) {
  .vnuti-ui-shell .vnuti-staff--detail .vnuti-detail {
    padding: 8px 14px 110px !important;
  }

  .vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__hero {
    border-radius: 16px !important;
  }

  .vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__hero > img {
    height: 240px !important;
  }

  .vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__hero > div {
    grid-template-columns: 100px minmax(0, 1fr) !important;
    column-gap: 18px !important;
    padding: 32px 0 28px !important;
  }

  .vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__avatar {
    width: 96px !important;
    height: 96px !important;
    margin: -80px 0 0 28px !important;
  }

  .vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__hero h2 {
    padding-right: 16px !important;
    font-size: 21px !important;
    line-height: 1.12 !important;
  }

  .vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__code {
    gap: 8px !important;
    margin-top: 5px !important;
    font-size: 0 !important;
  }

  .vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__code svg {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
  }

  .vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__stats {
    margin: 58px 0 0 !important;
    padding: 11px 0 0 !important;
    border-top: 1px solid #e1e1e1 !important;
    font-size: 12px !important;
  }

  .vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__stats span {
    min-height: 30px !important;
    gap: 4px !important;
    padding: 0 6px !important;
  }

  .vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__stats strong {
    font-size: 16px !important;
  }

  .vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__stats svg {
    width: 14px !important;
    height: 14px !important;
  }

  .vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__desc {
    max-width: calc(100% - 42px) !important;
    margin-top: 22px !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
  }
}

/* Shop detail info form */
.vnuti-ui-shell .vnuti-detail__hero > div {
  display: block;
}

.vnuti-ui-shell .vnuti-detail__desc {
  display: block;
}

.vnuti-ui-shell .vnuti-detail__address {
  display: flex !important;
  visibility: visible;
}

@media (max-width: 520px) {
  .vnuti-ui-shell .vnuti-detail {
    padding: 0 0 108px;
  }

  .vnuti-ui-shell .vnuti-detail__hero {
    border-radius: 0 0 14px 14px;
  }

  .vnuti-ui-shell .vnuti-detail__hero > img {
    height: 214px;
    object-position: center top;
  }

  .vnuti-ui-shell .vnuti-detail__hero > div {
    min-height: 148px;
    padding: 34px 18px 26px 140px;
  }

  .vnuti-ui-shell .vnuti-detail__avatar {
    top: -48px;
    left: 34px;
    width: 96px;
    height: 96px;
    border-width: 4px;
  }

  .vnuti-ui-shell .vnuti-detail__hero h2 {
    margin: 0 0 6px;
    font-size: 22px;
    line-height: 1.18;
  }

  .vnuti-ui-shell .vnuti-detail__desc {
    margin: 0 0 10px;
    color: #4b554d;
    font-size: 13px;
    line-height: 1.35;
  }

  .vnuti-ui-shell .vnuti-detail__address {
    margin: 0;
    gap: 7px;
    color: #4b554d;
    font-size: 12px;
    line-height: 1.4;
  }

  .vnuti-ui-shell .vnuti-detail__address svg {
    width: 14px;
    height: 14px;
    margin-top: 1px;
  }
}

@media (max-width: 389px) {
  .vnuti-ui-shell .vnuti-detail__hero > div {
    padding-left: 118px;
  }

  .vnuti-ui-shell .vnuti-detail__avatar {
    left: 22px;
    width: 86px;
    height: 86px;
  }
}

/* Booking screen: match app-like white cards */
.vnuti-ui-shell .vnuti-staff--booking {
  background: #d9d9d9;
}

.vnuti-ui-shell .vnuti-booking__content {
  gap: 18px;
  padding: 22px 22px 112px;
}

.vnuti-ui-shell .vnuti-booking-card,
.vnuti-ui-shell .vnuti-booking-total,
.vnuti-ui-shell .vnuti-booking-extra {
  background: #fff;
  border: 0;
  border-radius: 16px;
  box-shadow: none;
}

.vnuti-ui-shell .vnuti-booking-card {
  padding: 24px 26px;
}

.vnuti-ui-shell .vnuti-booking-card h3 {
  margin: 0 0 18px;
  color: var(--vnuti-green);
  font-size: 20px;
  line-height: 1.15;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.vnuti-ui-shell .vnuti-booking-info {
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 16px;
  margin: 0 0 14px;
}

.vnuti-ui-shell .vnuti-booking-info > span {
  width: 30px;
  height: 30px;
  background: transparent;
  color: var(--vnuti-green);
}

.vnuti-ui-shell .vnuti-booking-info svg {
  width: 24px;
  height: 24px;
}

.vnuti-ui-shell .vnuti-booking-info input {
  min-height: 58px;
  padding: 0 18px;
  border: 1px solid #dfe8dd !important;
  border-radius: 14px;
  background: #fff !important;
  color: #2f3c31;
  font-size: 17px;
  line-height: 1.2;
}

.vnuti-ui-shell .vnuti-booking-info input::placeholder {
  color: #8f9d91;
}

.vnuti-ui-shell .vnuti-booking-total {
  overflow: hidden;
}

.vnuti-ui-shell .vnuti-booking-total__head {
  min-height: 70px;
  padding: 0 28px;
  border-radius: 16px;
  font-size: 19px;
}

.vnuti-ui-shell .vnuti-booking-total__head strong {
  font-size: 25px;
}

.vnuti-ui-shell .vnuti-booking-total__head i {
  width: 18px;
  height: 18px;
}

.vnuti-ui-shell .vnuti-booking-date {
  margin: 0 0 22px;
  color: #55705a;
  font-size: 18px;
}

.vnuti-ui-shell .vnuti-booking-date > span:first-child {
  width: 32px;
  height: 32px;
  background: transparent;
}

.vnuti-ui-shell .vnuti-booking-date svg {
  width: 28px;
  height: 28px;
}

.vnuti-ui-shell .vnuti-booking-times {
  grid-template-rows: repeat(8, 64px) !important;
  grid-auto-columns: 150px !important;
  gap: 14px 18px !important;
  padding: 0 10px 16px 10px;
}

.vnuti-ui-shell .vnuti-booking-times button {
  width: 150px !important;
  min-width: 150px !important;
  height: 64px;
  min-height: 64px !important;
  border: 1px solid #e1e5e0;
  border-radius: 12px;
  background: #fff;
  color: var(--vnuti-green);
  font-size: 21px !important;
  font-weight: 900;
}

.vnuti-ui-shell .vnuti-booking-times button:disabled {
  background: #f1f1f1;
  border-color: #e4e4e4;
  color: #d5d5d5;
}

.vnuti-ui-shell .vnuti-booking-note {
  margin-top: 10px;
  color: #879b88;
  font-size: 13px;
}

.vnuti-ui-shell .vnuti-booking-extra {
  display: block;
}

.vnuti-ui-shell .vnuti-booking-payment {
  display: grid;
  background: #fff;
}

@media (max-width: 520px) {
  .vnuti-ui-shell .vnuti-staff--booking {
    background: #d9d9d9;
  }

  .vnuti-ui-shell .vnuti-booking__header {
    min-height: 168px;
    padding: 42px 54px 34px;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
  }

  .vnuti-ui-shell .vnuti-booking__back {
    left: 22px;
  }

  .vnuti-ui-shell .vnuti-booking__header h2 {
    font-size: 28px;
  }

  .vnuti-ui-shell .vnuti-booking__header p {
    font-size: 17px;
  }

  .vnuti-ui-shell .vnuti-booking__content {
    gap: 18px;
    padding: 18px 14px 108px;
  }

  .vnuti-ui-shell .vnuti-booking-card {
    padding: 22px 18px;
  }

  .vnuti-ui-shell .vnuti-booking-card h3 {
    margin-bottom: 16px;
    font-size: 19px;
  }

  .vnuti-ui-shell .vnuti-booking-info {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 14px;
    margin-bottom: 14px;
  }

  .vnuti-ui-shell .vnuti-booking-info input {
    min-height: 56px;
    padding: 0 16px;
    font-size: 16px;
  }

  .vnuti-ui-shell .vnuti-booking-total__head {
    min-height: 64px;
    padding: 0 22px;
    font-size: 18px;
  }

  .vnuti-ui-shell .vnuti-booking-total__head strong {
    font-size: 24px;
  }

  .vnuti-ui-shell .vnuti-booking-date {
    margin-bottom: 20px;
    font-size: 17px;
  }

  .vnuti-ui-shell .vnuti-booking-times {
    grid-template-rows: repeat(8, 54px) !important;
    grid-auto-columns: 118px !important;
    gap: 12px 14px !important;
    padding: 0 8px 14px;
  }

  .vnuti-ui-shell .vnuti-booking-times button {
    width: 118px !important;
    min-width: 118px !important;
    height: 54px;
    min-height: 54px !important;
    font-size: 18px !important;
  }
}

/* Booking mobile compact scale */
@media (max-width: 520px) {
  .vnuti-ui-shell .vnuti-staff--booking {
    background: #d9d9d9 !important;
  }

  .vnuti-ui-shell .vnuti-booking__header {
    min-height: 118px !important;
    padding: 24px 48px 22px !important;
    border-bottom-left-radius: 18px !important;
    border-bottom-right-radius: 18px !important;
  }

  .vnuti-ui-shell .vnuti-booking__back {
    left: 18px !important;
    width: 32px !important;
    height: 32px !important;
  }

  .vnuti-ui-shell .vnuti-booking__header h2 {
    margin-bottom: 8px !important;
    font-size: 24px !important;
    line-height: 1.15 !important;
  }

  .vnuti-ui-shell .vnuti-booking__header p {
    margin-bottom: 4px !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
  }

  .vnuti-ui-shell .vnuti-booking__content {
    gap: 14px !important;
    padding: 14px 16px 96px !important;
  }

  .vnuti-ui-shell .vnuti-booking-card {
    padding: 20px 24px !important;
    border-radius: 14px !important;
  }

  .vnuti-ui-shell .vnuti-booking-card h3 {
    margin-bottom: 18px !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
  }

  .vnuti-ui-shell .vnuti-booking-info {
    grid-template-columns: 28px minmax(0, 1fr) !important;
    gap: 14px !important;
    min-height: 48px !important;
    margin-bottom: 14px !important;
  }

  .vnuti-ui-shell .vnuti-booking-info > span {
    width: 24px !important;
    height: 24px !important;
  }

  .vnuti-ui-shell .vnuti-booking-info svg {
    width: 20px !important;
    height: 20px !important;
  }

  .vnuti-ui-shell .vnuti-booking-info input {
    min-height: 48px !important;
    padding: 0 14px !important;
    border-radius: 12px !important;
    font-size: 15px !important;
  }

  .vnuti-ui-shell .vnuti-booking-total__head {
    min-height: 56px !important;
    padding: 0 24px !important;
    border-radius: 14px !important;
    font-size: 18px !important;
  }

  .vnuti-ui-shell .vnuti-booking-total__head strong {
    font-size: 24px !important;
  }

  .vnuti-ui-shell .vnuti-booking-total__head i {
    width: 16px !important;
    height: 16px !important;
    border-width: 4px !important;
  }

  .vnuti-ui-shell .vnuti-booking-date {
    min-height: 36px !important;
    margin-bottom: 18px !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
  }

  .vnuti-ui-shell .vnuti-booking-date > span:first-child {
    width: 28px !important;
    height: 28px !important;
  }

  .vnuti-ui-shell .vnuti-booking-date svg {
    width: 24px !important;
    height: 24px !important;
  }

  .vnuti-ui-shell .vnuti-booking-times {
    grid-template-rows: repeat(8, 48px) !important;
    grid-auto-columns: 96px !important;
    gap: 10px 14px !important;
    padding: 0 8px 12px !important;
  }

  .vnuti-ui-shell .vnuti-booking-times button {
    width: 96px !important;
    min-width: 96px !important;
    height: 48px !important;
    min-height: 48px !important;
    border-radius: 11px !important;
    font-size: 16px !important;
  }

  .vnuti-ui-shell .vnuti-booking-note {
    font-size: 12px !important;
    line-height: 1.25 !important;
  }

  .vnuti-ui-shell .vnuti-booking-row {
    min-height: 64px !important;
    padding: 0 26px !important;
    border-radius: 14px !important;
  }

  .vnuti-ui-shell .vnuti-booking-row span {
    gap: 10px !important;
    font-size: 18px !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
  }

  .vnuti-ui-shell .vnuti-booking-row em {
    font-size: 15px !important;
    white-space: nowrap !important;
  }

  .vnuti-ui-shell .vnuti-booking-row i {
    width: 18px !important;
    height: 18px !important;
    border-width: 4px !important;
  }

  .vnuti-ui-shell .vnuti-booking-extra__panel {
    padding: 16px 22px 22px !important;
  }

  .vnuti-ui-shell .vnuti-booking-extra textarea,
  .vnuti-ui-shell .vnuti-booking-extra input {
    min-height: 48px !important;
    padding: 12px 14px !important;
    border-radius: 12px !important;
    font-size: 15px !important;
  }

  .vnuti-ui-shell .vnuti-booking-extra textarea {
    min-height: 96px !important;
  }

  .vnuti-ui-shell .vnuti-booking-payment {
    min-height: 118px !important;
    padding: 24px 16px calc(24px + env(safe-area-inset-bottom)) !important;
    border-radius: 24px 24px 0 0 !important;
  }

  .vnuti-ui-shell .vnuti-booking-payment button {
    min-height: 56px !important;
    border-radius: 12px !important;
    font-size: 18px !important;
  }
}

/* Compact app scale pass: keep every screen visually aligned with the mobile app. */
.vnuti-ui-shell {
  --vnuti-app-width: 428px;
  --vnuti-bg: #eef3ef;
  --vnuti-panel: #eef3ef;
  --vnuti-shadow: 0 8px 22px rgba(20, 24, 20, 0.1);
  background: var(--vnuti-bg);
}

.vnuti-ui-shell .vnuti-staff {
  width: min(100%, var(--vnuti-app-width)) !important;
  max-width: var(--vnuti-app-width) !important;
  min-height: 100svh;
  margin: 0 auto !important;
  overflow-x: hidden;
  background: var(--vnuti-bg) !important;
  font-size: 13px;
}

.vnuti-ui-shell .vnuti-staff :where(h2, h3, h4, p, span, strong, button, input, textarea, a) {
  letter-spacing: 0 !important;
}

/* List compact */
.vnuti-ui-shell .vnuti-staff__hero {
  min-height: 184px !important;
  padding: 28px 18px 66px !important;
  border-radius: 0 !important;
}

.vnuti-ui-shell .vnuti-staff__title-row h2 {
  font-size: 28px !important;
  line-height: 1.12 !important;
}

.vnuti-ui-shell .vnuti-staff__subtitle {
  margin-top: 30px !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
}

.vnuti-ui-shell .vnuti-staff__panel {
  margin-top: -18px !important;
  padding: 0 8px 24px !important;
  border-radius: 18px 18px 0 0 !important;
}

.vnuti-ui-shell .vnuti-staff__filter {
  margin: -46px 0 12px !important;
}

.vnuti-ui-shell .vnuti-staff__filter-card {
  padding: 10px !important;
  border-radius: 17px !important;
}

.vnuti-ui-shell .vnuti-staff__search-field,
.vnuti-ui-shell .vnuti-staff__location-input,
.vnuti-ui-shell .vnuti-staff__area-button,
.vnuti-ui-shell .vnuti-staff__search-submit {
  height: 42px !important;
  min-height: 42px !important;
  border-radius: 12px !important;
  font-size: 13px !important;
}

.vnuti-ui-shell .vnuti-staff-card {
  min-height: 124px !important;
  border-radius: 10px !important;
}

.vnuti-ui-shell .vnuti-staff-card__image {
  min-height: 124px !important;
}

.vnuti-ui-shell .vnuti-staff-card__body {
  padding: 12px 11px 10px !important;
}

.vnuti-ui-shell .vnuti-staff-card h3 {
  margin-top: 9px !important;
  font-size: 15px !important;
}

/* Shop detail compact */
.vnuti-ui-shell .vnuti-detail {
  padding: 0 0 146px !important;
}

.vnuti-ui-shell .vnuti-detail__back {
  top: 18px !important;
  left: 18px !important;
  min-width: 108px !important;
  height: 38px !important;
  padding: 0 13px 0 8px !important;
  gap: 7px !important;
}

.vnuti-ui-shell .vnuti-detail__back-icon {
  width: 24px !important;
  height: 24px !important;
  font-size: 24px !important;
}

.vnuti-ui-shell .vnuti-detail__back-label {
  font-size: 12px !important;
}

.vnuti-ui-shell .vnuti-detail__hero {
  border-radius: 0 0 24px 24px !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18) !important;
}

.vnuti-ui-shell .vnuti-detail__hero > img {
  height: 241px !important;
  object-position: center top !important;
}

.vnuti-ui-shell .vnuti-detail__hero > div {
  min-height: 170px !important;
  padding: 36px 16px 0 132px !important;
}

.vnuti-ui-shell .vnuti-detail__avatar {
  top: -49px !important;
  left: 28px !important;
  width: 98px !important;
  height: 98px !important;
  border-width: 3px !important;
}

.vnuti-ui-shell .vnuti-detail__hero h2 {
  margin-bottom: 5px !important;
  font-size: 20px !important;
  line-height: 1.15 !important;
  white-space: normal !important;
  word-break: normal !important;
}

.vnuti-ui-shell .vnuti-detail__desc,
.vnuti-ui-shell .vnuti-detail__address {
  font-size: 12px !important;
  line-height: 1.35 !important;
}

.vnuti-ui-shell .vnuti-detail__desc {
  max-width: 240px !important;
  margin-bottom: 0 !important;
}

.vnuti-ui-shell .vnuti-detail__address {
  display: none !important;
}

.vnuti-ui-shell .vnuti-detail__stats {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr !important;
  grid-column: 1 / -1;
  gap: 0 !important;
  margin: 58px -16px 0 -132px !important;
  padding: 12px 0 2px !important;
  border-top: 1px solid #e2e2e2 !important;
  color: #111 !important;
  font-size: 12px !important;
  line-height: 1.1 !important;
  text-align: center !important;
}

.vnuti-ui-shell .vnuti-detail__stats span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 28px !important;
  gap: 5px !important;
  padding: 0 6px !important;
  border-right: 1px solid #d9d9d9 !important;
  white-space: nowrap !important;
}

.vnuti-ui-shell .vnuti-detail__stats span:last-child {
  border-right: 0 !important;
}

.vnuti-ui-shell .vnuti-detail__stats strong {
  font-size: 16px !important;
  font-weight: 900 !important;
}

.vnuti-ui-shell .vnuti-detail__stats svg {
  width: 17px !important;
  height: 17px !important;
  color: var(--vnuti-green) !important;
}

.vnuti-ui-shell .vnuti-detail__section > h3 {
  margin: 0 0 12px !important;
  font-size: 18px !important;
}

.vnuti-ui-shell .vnuti-service-list {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px 10px !important;
  padding: 0 18px !important;
}

.vnuti-ui-shell .vnuti-detail__section {
  margin-top: 16px !important;
}

.vnuti-ui-shell .vnuti-detail__section > h3 {
  padding: 0 18px !important;
}

.vnuti-ui-shell .vnuti-service {
  min-height: 230px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #f4f4f4 !important;
  box-shadow: 4px 2px 13px rgba(0, 0, 0, 0.16) !important;
}

.vnuti-ui-shell .vnuti-service img,
.vnuti-ui-shell .vnuti-service__image {
  height: 142px !important;
  border-radius: 4px 4px 0 0 !important;
}

.vnuti-ui-shell .vnuti-service > div {
  padding: 9px 10px 10px !important;
}

.vnuti-ui-shell .vnuti-service h4 {
  margin-bottom: 7px !important;
  min-height: 34px !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
}

.vnuti-ui-shell .vnuti-service strong {
  font-size: 12px !important;
  margin-bottom: 10px !important;
}

.vnuti-ui-shell .vnuti-service__duration {
  font-size: 10px !important;
}

/* Product compact */
.vnuti-ui-shell .vnuti-staff--product {
  background: #fff !important;
}

.vnuti-ui-shell .vnuti-product__media {
  height: 321px !important;
}

.vnuti-ui-shell .vnuti-product__back {
  top: 46px !important;
  left: 16px !important;
}

.vnuti-ui-shell .vnuti-product__thumbs {
  grid-auto-columns: 80px !important;
  gap: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

.vnuti-ui-shell .vnuti-product__thumbs img {
  width: 80px !important;
  height: 80px !important;
  border-radius: 2px !important;
  border: 2px solid #fff !important;
}

.vnuti-ui-shell .vnuti-product__body {
  padding: 22px 16px 116px !important;
}

.vnuti-ui-shell .vnuti-product__title-row {
  grid-template-columns: minmax(0, 1fr) 34px !important;
  gap: 10px !important;
}

.vnuti-ui-shell .vnuti-product__title-row h2 {
  font-size: 20px !important;
  line-height: 1.15 !important;
}

.vnuti-ui-shell .vnuti-product__share {
  width: 34px !important;
  height: 34px !important;
}

.vnuti-ui-shell .vnuti-product__meta {
  gap: 9px !important;
  margin: 8px 0 20px !important;
  font-size: 10px !important;
}

.vnuti-ui-shell .vnuti-product__price {
  margin-bottom: 26px !important;
  font-size: 28px !important;
  line-height: 1.05 !important;
}

.vnuti-ui-shell .vnuti-product__duration h3,
.vnuti-ui-shell .vnuti-product__description summary {
  font-size: 14px !important;
}

.vnuti-ui-shell .vnuti-product__duration button {
  width: 86px !important;
  min-width: 86px !important;
  min-height: 32px !important;
  border-radius: 8px !important;
  font-size: 12px !important;
}

.vnuti-ui-shell .vnuti-product__provider {
  grid-template-columns: 64px minmax(0, 1fr) 86px !important;
  gap: 10px !important;
  margin: 22px 0 20px !important;
}

.vnuti-ui-shell .vnuti-product__provider img,
.vnuti-ui-shell .vnuti-product__provider > span {
  width: 56px !important;
  height: 56px !important;
}

.vnuti-ui-shell .vnuti-product__provider h3 {
  font-size: 20px !important;
}

.vnuti-ui-shell .vnuti-product__provider p,
.vnuti-ui-shell .vnuti-product__provider a {
  font-size: 12px !important;
}

.vnuti-ui-shell .vnuti-product__description-content {
  font-size: 9px !important;
  line-height: 1.35 !important;
}

.vnuti-ui-shell .vnuti-product__footer {
  width: min(100%, var(--vnuti-app-width)) !important;
  margin: 0 auto !important;
  min-height: 100px !important;
  padding: 16px 20px calc(16px + env(safe-area-inset-bottom)) !important;
  border-radius: 24px 24px 0 0 !important;
}

.vnuti-ui-shell .vnuti-product__footer button {
  min-height: 38px !important;
  border-radius: 8px !important;
  font-size: 12px !important;
}

/* Cart compact */
.vnuti-ui-shell .vnuti-cart-bar,
.vnuti-ui-shell .vnuti-cart-view__footer {
  width: min(100%, var(--vnuti-app-width)) !important;
}

.vnuti-ui-shell .vnuti-cart-bar {
  height: auto !important;
  min-height: 0 !important;
  padding: 12px 18px calc(12px + env(safe-area-inset-bottom)) !important;
  border-radius: 24px 24px 0 0 !important;
}

.vnuti-ui-shell .vnuti-cart-bar button {
  min-height: 52px !important;
  padding: 0 18px !important;
  font-size: 16px !important;
  border-radius: 8px !important;
}

.vnuti-ui-shell .vnuti-cart-bar strong {
  font-size: 18px !important;
}

.vnuti-ui-shell .vnuti-cart-view__header {
  min-height: 118px !important;
  display: flex !important;
  align-items: center !important;
  padding: 42px 46px 24px !important;
  border-radius: 0 0 18px 18px !important;
}

.vnuti-ui-shell .vnuti-cart-view__header h2 {
  margin: 0 !important;
  padding-left: 8px !important;
  font-size: 24px !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
}

.vnuti-ui-shell .vnuti-cart-view__content {
  padding: 16px 12px !important;
}

.vnuti-ui-shell .vnuti-cart-view__card {
  padding: 18px 14px !important;
}

.vnuti-ui-shell .vnuti-cart-view__card h3 {
  font-size: 22px !important;
}

.vnuti-ui-shell .vnuti-cart-view__summary strong {
  font-size: 18px !important;
}

.vnuti-ui-shell .vnuti-cart-view-item {
  grid-template-columns: 24px 80px minmax(0, 1fr) !important;
  grid-template-areas:
    "check image body"
    ". image qty" !important;
  align-items: center !important;
  gap: 10px 10px !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__image img,
.vnuti-ui-shell .vnuti-cart-view-item__image span {
  width: 80px !important;
  height: 60px !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__body h4 {
  font-size: 14px !important;
  line-height: 1.25 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__qty {
  grid-area: qty !important;
  grid-column: auto !important;
  justify-self: end !important;
  grid-template-columns: 28px 42px 28px !important;
  min-width: 98px !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__qty button,
.vnuti-ui-shell .vnuti-cart-view-item__qty input {
  height: 30px !important;
  min-height: 30px !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__check {
  grid-area: check !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__image {
  grid-area: image !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__body {
  grid-area: body !important;
  min-width: 0 !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__body p,
.vnuti-ui-shell .vnuti-cart-view-item__body strong {
  white-space: normal !important;
  word-break: normal !important;
}

.vnuti-ui-shell .vnuti-cart-view__footer {
  grid-template-columns: minmax(0, 1fr) 74px 96px !important;
  padding: 13px 12px calc(13px + env(safe-area-inset-bottom)) !important;
}

.vnuti-ui-shell .vnuti-cart-view__footer button {
  min-height: 42px !important;
}

/* Booking compact */
.vnuti-ui-shell .vnuti-staff--booking {
  background: #eef3ef !important;
}

.vnuti-ui-shell .vnuti-booking__header {
  min-height: 116px !important;
  padding: 26px 48px 20px !important;
  border-radius: 0 0 18px 18px !important;
}

.vnuti-ui-shell .vnuti-booking__header h2 {
  margin-bottom: 5px !important;
  font-size: 20px !important;
}

.vnuti-ui-shell .vnuti-booking__header p {
  font-size: 11px !important;
}

.vnuti-ui-shell .vnuti-booking__content {
  gap: 12px !important;
  padding: 14px 10px 94px !important;
}

.vnuti-ui-shell .vnuti-booking-card {
  padding: 15px 14px !important;
  border-radius: 12px !important;
}

.vnuti-ui-shell .vnuti-booking-card h3 {
  margin-bottom: 12px !important;
  font-size: 13px !important;
}

.vnuti-ui-shell .vnuti-booking-info {
  grid-template-columns: 28px minmax(0, 1fr) !important;
  gap: 10px !important;
  min-height: 40px !important;
  margin-bottom: 10px !important;
}

.vnuti-ui-shell .vnuti-booking-info > span {
  width: 24px !important;
  height: 24px !important;
  background: transparent !important;
}

.vnuti-ui-shell .vnuti-booking-info svg {
  width: 15px !important;
  height: 15px !important;
}

.vnuti-ui-shell .vnuti-booking-info input {
  min-height: 40px !important;
  padding: 0 12px !important;
  border-radius: 10px !important;
  font-size: 13px !important;
}

.vnuti-ui-shell .vnuti-booking-total__head,
.vnuti-ui-shell .vnuti-booking-row {
  min-height: 50px !important;
  padding: 0 14px !important;
  border-radius: 12px !important;
  font-size: 14px !important;
}

.vnuti-ui-shell .vnuti-booking-total__head strong {
  font-size: 17px !important;
}

.vnuti-ui-shell .vnuti-booking-date {
  min-height: 28px !important;
  margin-bottom: 12px !important;
  font-size: 13px !important;
}

.vnuti-ui-shell .vnuti-booking-date > span:first-child {
  width: 24px !important;
  height: 24px !important;
}

.vnuti-ui-shell .vnuti-booking-date svg {
  width: 16px !important;
  height: 16px !important;
}

.vnuti-ui-shell .vnuti-booking-times {
  grid-template-rows: repeat(8, 34px) !important;
  grid-auto-columns: 78px !important;
  gap: 7px 8px !important;
  padding: 0 2px 8px !important;
}

.vnuti-ui-shell .vnuti-booking-times button {
  width: 78px !important;
  min-width: 78px !important;
  height: 34px !important;
  min-height: 34px !important;
  border-radius: 8px !important;
  font-size: 12px !important;
}

.vnuti-ui-shell .vnuti-booking-row span {
  gap: 8px !important;
  font-size: 13px !important;
  white-space: nowrap !important;
}

.vnuti-ui-shell .vnuti-booking-row em {
  font-size: 10px !important;
}

.vnuti-ui-shell .vnuti-booking-extra__panel {
  padding: 0 14px 14px !important;
}

.vnuti-ui-shell .vnuti-booking-extra textarea,
.vnuti-ui-shell .vnuti-booking-extra input {
  min-height: 40px !important;
  padding: 10px 12px !important;
  border-radius: 10px !important;
  font-size: 13px !important;
}

.vnuti-ui-shell .vnuti-booking-note-panel {
  padding: 0 16px 16px !important;
}

.vnuti-ui-shell .vnuti-booking-note-group {
  margin: 0 0 16px !important;
  padding: 0 !important;
  border: 0 !important;
}

.vnuti-ui-shell .vnuti-booking-note-group legend,
.vnuti-ui-shell .vnuti-booking-note-other > span {
  display: block !important;
  width: 100% !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  color: var(--vnuti-green) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
}

.vnuti-ui-shell .vnuti-booking-note-group label {
  position: relative !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  min-height: 22px !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  color: #1e1e1e !important;
  font-size: 10px !important;
  line-height: 1.35 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.vnuti-ui-shell .vnuti-booking-note-group input[type="checkbox"] {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  z-index: 1 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  margin: -1px 0 0 !important;
  padding: 0 !important;
  border: 2px solid #cfd8d0 !important;
  border-radius: 4px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-booking-note-group input[type="checkbox"]:checked {
  border-color: var(--vnuti-green) !important;
  background: var(--vnuti-green) !important;
}

.vnuti-ui-shell .vnuti-booking-note-group input[type="checkbox"]:checked::after {
  content: "" !important;
  position: absolute !important;
  inset: 2px !important;
  background: #fff !important;
  clip-path: polygon(14% 54%, 0 68%, 39% 100%, 100% 28%, 85% 14%, 39% 72%) !important;
}

.vnuti-ui-shell .vnuti-booking-note-group input[type="checkbox"]:focus-visible {
  outline: 2px solid rgba(47, 122, 60, 0.18) !important;
  outline-offset: 2px !important;
}

.vnuti-ui-shell .vnuti-booking-note-group label span {
  display: block !important;
  min-width: 0 !important;
}

.vnuti-ui-shell .vnuti-booking-note-other textarea {
  width: 100% !important;
  min-height: 160px !important;
  padding: 10px 12px !important;
  border: 2px solid #b2beb5 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #1e1e1e !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  resize: vertical !important;
}

.vnuti-ui-shell .vnuti-booking-payment {
  position: fixed;
  z-index: 45;
  left: 50%;
  bottom: 0;
  width: min(100%, var(--vnuti-app-width)) !important;
  min-height: auto !important;
  margin: 0 !important;
  transform: translateX(-50%);
  padding: 13px 14px calc(13px + env(safe-area-inset-bottom)) !important;
  border-radius: 18px 18px 0 0 !important;
}

.vnuti-ui-shell .vnuti-booking-payment button {
  min-height: 44px !important;
  border-radius: 9px !important;
  font-size: 15px !important;
}

.vnuti-ui-shell .vnuti-booking-payment > div {
  margin-bottom: 10px !important;
}

@media (min-width: 860px) {
  .vnuti-ui-shell {
    padding: 22px 0 !important;
    background: #eef3ef !important;
  }

  .vnuti-ui-shell .vnuti-staff {
    width: min(100%, var(--vnuti-app-width)) !important;
    max-width: var(--vnuti-app-width) !important;
    border-radius: 20px;
    overflow: hidden;
  }

  .vnuti-ui-shell .vnuti-staff__search {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .vnuti-ui-shell .vnuti-staff__search > .vnuti-staff__suggestions {
    right: 0 !important;
  }

  .vnuti-ui-shell .vnuti-staff__filter-actions {
    grid-template-columns: minmax(0, 1fr) 108px !important;
  }

  .vnuti-ui-shell .vnuti-staff__list {
    grid-template-columns: 1fr !important;
  }

  .vnuti-ui-shell .vnuti-service-list {
    grid-template-columns: 1fr 1fr !important;
  }

  .vnuti-ui-shell .vnuti-staff--detail,
  .vnuti-ui-shell .vnuti-staff--product,
  .vnuti-ui-shell .vnuti-staff--cart,
  .vnuti-ui-shell .vnuti-staff--booking {
    min-height: 760px;
  }
}

/* Shop detail profile card rebuild */
.vnuti-ui-shell .vnuti-staff--detail {
  background: #eef5ef !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail {
  padding: 0 0 120px !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__back {
  position: absolute !important;
  z-index: 12 !important;
  top: 44px !important;
  left: 16px !important;
  display: grid !important;
  place-items: center !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #fff !important;
  text-decoration: none !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__back-icon {
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #fff !important;
  font-size: 42px !important;
  line-height: 1 !important;
  transform: translateY(-1px) !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__back-label {
  display: none !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__hero {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 0 28px !important;
  overflow: hidden !important;
  border-radius: 0 0 24px 24px !important;
  background: #fff !important;
  box-shadow: 0 10px 24px rgba(20, 24, 20, 0.12) !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__hero > img {
  display: block !important;
  width: 100% !important;
  height: 252px !important;
  min-height: 252px !important;
  max-height: 252px !important;
  object-fit: cover !important;
  object-position: center top !important;
  border-radius: 0 !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__hero > div {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 112px minmax(0, 1fr) !important;
  grid-template-areas:
    "avatar name"
    "avatar code"
    "stats stats"
    "desc desc" !important;
  column-gap: 16px !important;
  row-gap: 0 !important;
  min-height: 174px !important;
  margin: 0 !important;
  padding: 22px 28px 30px 46px !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__avatar {
  grid-area: avatar !important;
  position: relative !important;
  left: auto !important;
  top: auto !important;
  width: 112px !important;
  height: 112px !important;
  min-width: 112px !important;
  min-height: 112px !important;
  margin: -78px 0 0 !important;
  border: 5px solid #fff !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  object-position: center top !important;
  background: #eef5ef !important;
  box-shadow: 0 12px 26px rgba(20, 24, 20, 0.16) !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__hero h2 {
  grid-area: name !important;
  align-self: end !important;
  min-width: 0 !important;
  margin: 0 !important;
  color: var(--vnuti-green) !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  white-space: normal !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__code {
  grid-area: code !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
  margin: 8px 0 0 !important;
  color: var(--vnuti-green) !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  text-align: left !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__code svg {
  width: 22px !important;
  height: 22px !important;
  flex: 0 0 22px !important;
  color: var(--vnuti-green) !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__stats {
  grid-area: stats !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  width: calc(100% + 56px) !important;
  margin: 28px -28px 0 !important;
  padding: 16px 20px 0 !important;
  border-top: 1px solid rgba(20, 24, 20, 0.12) !important;
  background: #fff !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__stats span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  min-height: 28px !important;
  padding: 0 6px !important;
  border-right: 1px solid rgba(20, 24, 20, 0.14) !important;
  color: #111 !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__stats span:last-child {
  border-right: 0 !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__stats strong {
  color: #111 !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__stats svg {
  width: 15px !important;
  height: 15px !important;
  flex: 0 0 15px !important;
  color: var(--vnuti-green) !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__desc {
  grid-area: desc !important;
  display: -webkit-box !important;
  max-width: 300px !important;
  margin: 18px auto 0 !important;
  overflow: hidden !important;
  color: var(--vnuti-green) !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  text-align: center !important;
  -webkit-line-clamp: 1 !important;
  -webkit-box-orient: vertical !important;
}

@media (min-width: 860px) {
  .vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__hero {
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 auto 30px !important;
    border-radius: 18px !important;
  }

  .vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__hero > img {
    height: 318px !important;
    min-height: 318px !important;
    max-height: 318px !important;
  }

  .vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__hero > div {
    grid-template-columns: 128px minmax(0, 1fr) !important;
    min-height: 210px !important;
    padding: 26px 56px 38px 72px !important;
  }

  .vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__avatar {
    width: 128px !important;
    height: 128px !important;
    min-width: 128px !important;
    min-height: 128px !important;
    margin-top: -92px !important;
  }

  .vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__hero h2 {
    font-size: 30px !important;
  }

  .vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__stats {
    width: calc(100% + 112px) !important;
    margin: 34px -56px 0 !important;
    padding: 20px 44px 0 !important;
  }

  .vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__desc {
    max-width: 520px !important;
    font-size: 17px !important;
  }
}

@media (max-width: 420px) {
  .vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__hero > img {
    height: 230px !important;
    min-height: 230px !important;
    max-height: 230px !important;
  }

  .vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__hero > div {
    grid-template-columns: 96px minmax(0, 1fr) !important;
    column-gap: 12px !important;
    min-height: 168px !important;
    padding: 18px 16px 28px 34px !important;
  }

  .vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__avatar {
    width: 96px !important;
    height: 96px !important;
    min-width: 96px !important;
    min-height: 96px !important;
    margin-top: -64px !important;
    border-width: 4px !important;
  }

  .vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__hero h2 {
    font-size: 22px !important;
  }

  .vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__stats {
    width: calc(100% + 32px) !important;
    margin: 24px -16px 0 !important;
    padding: 14px 8px 0 !important;
  }

  .vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__stats span {
    gap: 4px !important;
    font-size: 11px !important;
  }
}

/* Product detail sizing matched to Figma app frame */
.vnuti-ui-shell.vnuti-ui-shell--product {
  background: #fff !important;
}

.vnuti-ui-shell .vnuti-staff--product {
  width: min(100%, var(--vnuti-app-width)) !important;
  max-width: var(--vnuti-app-width) !important;
  margin: 0 auto !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  background: #fff !important;
}

.vnuti-ui-shell .vnuti-product {
  min-height: 100svh !important;
  padding: 0 0 100px !important;
  background: #fff !important;
}

.vnuti-ui-shell .vnuti-product__back {
  top: 54px !important;
  left: 22px !important;
  width: 30px !important;
  height: 30px !important;
  color: #fff !important;
}

.vnuti-ui-shell .vnuti-product__back::before,
.vnuti-ui-shell .vnuti-product__back::after {
  left: 5px !important;
  top: 14px !important;
  width: 20px !important;
  height: 2px !important;
}

.vnuti-ui-shell .vnuti-product__media {
  height: 321px !important;
  min-height: 321px !important;
  max-height: 321px !important;
  background: #d9d9d9 !important;
}

.vnuti-ui-shell .vnuti-product__media > img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.vnuti-ui-shell .vnuti-product__media::after {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.18), transparent 34%, rgba(0, 0, 0, 0.04)) !important;
}

.vnuti-ui-shell .vnuti-product__dots {
  bottom: 28px !important;
  gap: 24px !important;
}

.vnuti-ui-shell .vnuti-product__dots span {
  width: 8px !important;
  height: 8px !important;
  background: #fff !important;
}

.vnuti-ui-shell .vnuti-product__thumbs {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: 80px !important;
  width: 100% !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  background: #fff !important;
  scroll-snap-type: x proximity !important;
  scrollbar-width: none !important;
}

.vnuti-ui-shell .vnuti-product__thumbs img {
  width: 80px !important;
  height: 80px !important;
  border: 2px solid #fff !important;
  border-radius: 2px !important;
  object-fit: cover !important;
  scroll-snap-align: start !important;
}

.vnuti-ui-shell .vnuti-product__body {
  padding: 26px 30px 34px !important;
  background: #fff !important;
}

.vnuti-ui-shell .vnuti-product__title-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 34px !important;
  align-items: center !important;
  gap: 14px !important;
}

.vnuti-ui-shell .vnuti-product__title-row h2 {
  margin: 0 !important;
  color: var(--vnuti-green) !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

.vnuti-ui-shell .vnuti-product__share {
  display: grid !important;
  place-items: center !important;
  justify-self: end !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--vnuti-green) !important;
}

.vnuti-ui-shell .vnuti-product__share svg {
  width: 24px !important;
  height: 24px !important;
}

.vnuti-ui-shell .vnuti-product__meta {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 16px !important;
  margin: 12px 0 28px !important;
  color: #808080 !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.vnuti-ui-shell .vnuti-product__meta span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.vnuti-ui-shell .vnuti-product__meta svg {
  width: 13px !important;
  height: 13px !important;
  color: var(--vnuti-green) !important;
}

.vnuti-ui-shell .vnuti-product__price {
  margin: 0 0 34px !important;
  color: var(--vnuti-red) !important;
  font-size: 28px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

.vnuti-ui-shell .vnuti-product__duration h3 {
  margin: 0 0 12px !important;
  color: var(--vnuti-green) !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.vnuti-ui-shell .vnuti-product__duration > div {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 16px !important;
  width: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 0 0 2px !important;
  scrollbar-width: none !important;
}

.vnuti-ui-shell .vnuti-product__duration > div::-webkit-scrollbar {
  display: none !important;
}

.vnuti-ui-shell .vnuti-product__duration button {
  flex: 0 0 86px !important;
  width: 86px !important;
  min-width: 86px !important;
  max-width: 86px !important;
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 8px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #d9d9d9 !important;
  color: #b2beb5 !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 15px !important;
  text-align: center !important;
}

.vnuti-ui-shell .vnuti-product__duration button.is-selected {
  background: var(--vnuti-green) !important;
  color: #fff !important;
}

.vnuti-ui-shell .vnuti-product__provider {
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) 86px !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 22px 0 24px !important;
}

.vnuti-ui-shell .vnuti-product__provider img,
.vnuti-ui-shell .vnuti-product__provider > span {
  width: 64px !important;
  height: 64px !important;
  min-width: 64px !important;
  min-height: 64px !important;
  border: 2px solid #1e1e1e !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  object-position: center top !important;
}

.vnuti-ui-shell .vnuti-product__provider h3 {
  margin: 0 0 4px !important;
  color: var(--vnuti-green) !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.vnuti-ui-shell .vnuti-product__provider p {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
  color: #b2beb5 !important;
  font-size: 12px !important;
  line-height: 1 !important;
}

.vnuti-ui-shell .vnuti-product__provider p strong {
  color: #1e1e1e !important;
  font-size: 16px !important;
  font-weight: 900 !important;
}

.vnuti-ui-shell .vnuti-product__provider svg {
  width: 24px !important;
  height: 24px !important;
  margin: 0 !important;
  color: var(--vnuti-green) !important;
}

.vnuti-ui-shell .vnuti-product__provider a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 86px !important;
  min-width: 86px !important;
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 12px !important;
  border-radius: 8px !important;
  background: var(--vnuti-green) !important;
  color: #d9d9d9 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 15px !important;
  text-align: center !important;
  text-decoration: none !important;
}

.vnuti-ui-shell .vnuti-product__description {
  margin: 0 !important;
}

.vnuti-ui-shell .vnuti-product__description summary {
  min-height: 28px !important;
  color: var(--vnuti-green) !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.vnuti-ui-shell .vnuti-product__description summary::after {
  width: 18px !important;
  height: 18px !important;
  border-width: 4px !important;
}

.vnuti-ui-shell .vnuti-product__description-content {
  max-height: none !important;
  margin: 20px 0 0 !important;
  overflow: visible !important;
  color: #6c716d !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  white-space: pre-line !important;
}

.vnuti-ui-shell .vnuti-product__footer {
  position: fixed !important;
  z-index: 45 !important;
  left: 50% !important;
  right: auto !important;
  bottom: 0 !important;
  width: min(100%, var(--vnuti-app-width)) !important;
  height: auto !important;
  min-height: 100px !important;
  margin: 0 !important;
  transform: translateX(-50%) !important;
  padding: 16px 20px calc(46px + env(safe-area-inset-bottom)) !important;
  border-radius: 24px 24px 0 0 !important;
  background: #fff !important;
  box-shadow: 0 -4px 14px rgba(0, 0, 0, 0.18) !important;
}

.vnuti-ui-shell .vnuti-product__footer button {
  width: 100% !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 14px !important;
  border-radius: 8px !important;
  background: var(--vnuti-green) !important;
  color: #d9d9d9 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 15px !important;
}

@media (min-width: 860px) {
  .vnuti-ui-shell.vnuti-ui-shell--product {
    padding: 0 !important;
    background: #eef3ef !important;
  }

  .vnuti-ui-shell .vnuti-staff--product {
    border-radius: 0 !important;
    box-shadow: 0 18px 40px rgba(20, 24, 20, 0.09) !important;
  }
}

@media (max-width: 420px) {
  .vnuti-ui-shell .vnuti-product__body {
    padding: 24px 26px 34px !important;
  }

  .vnuti-ui-shell .vnuti-product__duration > div {
    gap: 14px !important;
  }

  .vnuti-ui-shell .vnuti-product__provider {
    grid-template-columns: 64px minmax(0, 1fr) 86px !important;
    gap: 12px !important;
  }
}

/* Booking address current-location button */
.vnuti-ui-shell .vnuti-booking-info--address .vnuti-booking-address-control {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
}

.vnuti-ui-shell .vnuti-booking-info--address .vnuti-booking-address-control input {
  width: 100% !important;
  padding-right: 50px !important;
}

.vnuti-ui-shell .vnuti-booking-info--address .vnuti-booking-location-btn {
  position: absolute !important;
  top: 50% !important;
  right: 7px !important;
  z-index: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translateY(-50%) !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: #2f7a3d !important;
  color: #fff !important;
  box-shadow: 0 5px 12px rgba(34, 97, 48, 0.18) !important;
  cursor: pointer !important;
}

.vnuti-ui-shell .vnuti-booking-info--address .vnuti-booking-location-btn svg {
  width: 15px !important;
  height: 15px !important;
  stroke: currentColor !important;
}

.vnuti-ui-shell .vnuti-booking-info--address .vnuti-booking-location-btn:hover,
.vnuti-ui-shell .vnuti-booking-info--address .vnuti-booking-location-btn:focus-visible {
  background: #276a35 !important;
}

@media (max-width: 520px) {
  .vnuti-ui-shell .vnuti-booking-info--address .vnuti-booking-address-control input {
    padding-right: 46px !important;
  }

  .vnuti-ui-shell .vnuti-booking-info--address .vnuti-booking-location-btn {
    right: 6px !important;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
    border-radius: 9px !important;
  }
}

/* Cart view rebuild - app matched */
.vnuti-ui-shell .vnuti-staff--cart {
  --vnuti-cart-green: #32723b;
  --vnuti-cart-bg: #d9d9d9;
  width: min(100%, var(--vnuti-app-width, 428px)) !important;
  max-width: var(--vnuti-app-width, 428px) !important;
  min-height: 100svh !important;
  margin: 0 auto !important;
  padding: 0 0 118px !important;
  overflow: hidden !important;
  background: var(--vnuti-cart-bg) !important;
  color: #1d211e !important;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-cart-view__header {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-height: 119px !important;
  margin: 0 !important;
  padding: 45px 20px 28px !important;
  border-radius: 0 0 18px 18px !important;
  background: var(--vnuti-cart-green) !important;
  color: #fff !important;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-cart-view__header h2 {
  margin: 0 0 0 36px !important;
  color: #fff !important;
  font-size: 28px !important;
  font-weight: 900 !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
}

.vnuti-ui-shell .vnuti-cart-view__back {
  position: absolute !important;
  left: 20px !important;
  top: 58px !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-cart-view__back::before,
.vnuti-ui-shell .vnuti-cart-view__back::after {
  background: #fff !important;
  height: 3px !important;
  border-radius: 3px !important;
  transform-origin: left center !important;
}

.vnuti-ui-shell .vnuti-cart-view__back::before {
  width: 27px !important;
  transform: rotate(-45deg) translate(-1px, 10px) !important;
}

.vnuti-ui-shell .vnuti-cart-view__back::after {
  width: 27px !important;
  transform: rotate(45deg) translate(0, -10px) !important;
}

.vnuti-ui-shell .vnuti-cart-view__content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 16px 16px 0 !important;
}

.vnuti-ui-shell .vnuti-cart-view__card {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 24px 16px 18px !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-cart-view__card h3 {
  margin: 0 0 22px !important;
  color: var(--vnuti-cart-green) !important;
  font-size: 26px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
}

.vnuti-ui-shell .vnuti-cart-view__summary {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.vnuti-ui-shell .vnuti-cart-view__summary span {
  color: #111 !important;
  font-size: 24px !important;
  font-weight: 500 !important;
  line-height: 1.15 !important;
}

.vnuti-ui-shell .vnuti-cart-view__summary strong {
  color: #ff1d2d !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}

.vnuti-ui-shell .vnuti-cart-view__items {
  display: grid !important;
  gap: 14px !important;
  margin: 0 0 20px !important;
}

.vnuti-ui-shell .vnuti-cart-view-item {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 34px 96px minmax(0, 1fr) 64px !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 104px !important;
  margin: 0 !important;
  padding: 14px 10px 14px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__check {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__check input {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__check span {
  position: relative !important;
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  border: 0 !important;
  border-radius: 5px !important;
  background: #d9d9d9 !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__check input:checked + span {
  background: var(--vnuti-cart-green) !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__check input:checked + span::after {
  content: "" !important;
  position: absolute !important;
  left: 5px !important;
  top: 2px !important;
  width: 7px !important;
  height: 11px !important;
  border: solid #fff !important;
  border-width: 0 3px 3px 0 !important;
  transform: rotate(45deg) !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__image {
  width: 90px !important;
  height: 68px !important;
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 8px !important;
  background: #eef3ef !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__image img,
.vnuti-ui-shell .vnuti-cart-view-item__image span {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: 8px !important;
  object-fit: cover !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__body {
  min-width: 0 !important;
  padding: 0 !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__body h4 {
  display: -webkit-box !important;
  max-height: 38px !important;
  margin: 0 0 5px !important;
  overflow: hidden !important;
  color: #202421 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1.28 !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__body p {
  margin: 0 0 7px !important;
  color: #222 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__body strong {
  display: block !important;
  color: #ff1d2d !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__qty {
  display: grid !important;
  grid-template-columns: 20px 24px 20px !important;
  align-items: center !important;
  justify-content: center !important;
  width: 64px !important;
  height: 24px !important;
  align-self: end !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  border-radius: 6px !important;
  background: #d9d9d9 !important;
  overflow: hidden !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__qty button,
.vnuti-ui-shell .vnuti-cart-view-item__qty input {
  width: 100% !important;
  height: 24px !important;
  min-height: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #111 !important;
  box-shadow: none !important;
  text-align: center !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 24px !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__qty input {
  -moz-appearance: textfield !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__qty input::-webkit-outer-spin-button,
.vnuti-ui-shell .vnuti-cart-view-item__qty input::-webkit-inner-spin-button {
  margin: 0 !important;
  -webkit-appearance: none !important;
}

.vnuti-ui-shell .vnuti-cart-view__more {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 40px !important;
  margin: 4px 0 0 !important;
  padding: 0 14px !important;
  border: 2px dashed var(--vnuti-cart-green) !important;
  border-radius: 13px !important;
  background: #fff !important;
  color: var(--vnuti-cart-green) !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-decoration: underline !important;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-cart-view__empty {
  margin: 0 0 18px !important;
  color: #5d665f !important;
  font-size: 14px !important;
}

.vnuti-ui-shell .vnuti-cart-view__footer {
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  bottom: 0 !important;
  z-index: 60 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 86px 94px !important;
  align-items: center !important;
  gap: 12px !important;
  width: min(100%, var(--vnuti-app-width, 428px)) !important;
  height: 112px !important;
  min-height: 112px !important;
  margin: 0 !important;
  padding: 20px 16px calc(20px + env(safe-area-inset-bottom)) !important;
  transform: translateX(-50%) !important;
  border-radius: 24px 24px 0 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-cart-view__footer label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
  margin: 0 !important;
  color: #222 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
}

.vnuti-ui-shell .vnuti-cart-view__footer input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  margin: 0 !important;
  accent-color: var(--vnuti-cart-green) !important;
}

.vnuti-ui-shell .vnuti-cart-view__footer button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 48px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 10px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: var(--vnuti-cart-green) !important;
  color: #fff !important;
  box-shadow: none !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  text-align: center !important;
  white-space: normal !important;
}

.vnuti-ui-shell .vnuti-cart-view__footer button.is-danger {
  background: #ff1d2d !important;
}

.vnuti-ui-shell .vnuti-cart-view__footer button:disabled {
  opacity: 0.55 !important;
}

@media (min-width: 860px) {
  .vnuti-ui-shell.vnuti-ui-shell--cart,
  .vnuti-ui-shell:has(.vnuti-staff--cart) {
    background: #eef3ef !important;
  }

  .vnuti-ui-shell .vnuti-staff--cart {
    box-shadow: 0 18px 40px rgba(20, 24, 20, 0.09) !important;
  }
}

@media (max-width: 420px) {
  .vnuti-ui-shell .vnuti-cart-view__header {
    min-height: 119px !important;
    padding-top: 45px !important;
  }

  .vnuti-ui-shell .vnuti-cart-view__content {
    padding: 16px 16px 0 !important;
  }

  .vnuti-ui-shell .vnuti-cart-view__card {
    padding: 24px 16px 18px !important;
  }

  .vnuti-ui-shell .vnuti-cart-view-item {
    grid-template-columns: 32px 90px minmax(0, 1fr) 64px !important;
    gap: 10px !important;
  }
}

/* Cart mobile compact override - match app reference */
.vnuti-ui-shell .vnuti-staff--cart {
  --vnuti-cart-green: #3b743e;
  --vnuti-cart-red: #e2302d;
  --vnuti-cart-page: #d9d9d9;
  width: min(100%, 430px) !important;
  max-width: 430px !important;
  min-height: 100svh !important;
  margin: 0 auto !important;
  padding: 0 0 122px !important;
  background: var(--vnuti-cart-page) !important;
}

.vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__header {
  min-height: 132px !important;
  padding: 62px 20px 26px !important;
  border-radius: 0 0 18px 18px !important;
  background: var(--vnuti-cart-green) !important;
}

.vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__header h2 {
  margin-left: 36px !important;
  font-size: 29px !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  color: #fff !important;
  white-space: nowrap !important;
}

.vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__back {
  left: 20px !important;
  top: 76px !important;
  width: 26px !important;
  height: 26px !important;
}

.vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__content {
  padding: 18px 16px 0 !important;
}

.vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__card {
  min-height: 238px !important;
  padding: 22px 16px 16px !important;
  border-radius: 16px !important;
  background: #fff !important;
}

.vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__card h3 {
  margin: 0 0 24px !important;
  font-size: 27px !important;
  font-weight: 900 !important;
  color: var(--vnuti-cart-green) !important;
}

.vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__summary {
  margin: 0 0 18px !important;
  padding: 0 !important;
  min-height: 30px !important;
}

.vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__summary span {
  font-size: 17px !important;
  font-weight: 500 !important;
  color: #111 !important;
}

.vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__summary strong {
  font-size: 22px !important;
  font-weight: 900 !important;
  color: var(--vnuti-cart-red) !important;
}

.vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__items {
  gap: 10px !important;
  margin-bottom: 16px !important;
}

.vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view-item {
  display: grid !important;
  grid-template-columns: 28px 112px minmax(0, 1fr) 70px !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 86px !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view-item__check {
  width: 28px !important;
  height: 28px !important;
}

.vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view-item__check span {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  border-radius: 5px !important;
  background: #d9d9d9 !important;
}

.vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view-item__check input:checked + span {
  background: var(--vnuti-cart-green) !important;
}

.vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view-item__image {
  width: 112px !important;
  height: 74px !important;
  border-radius: 7px !important;
  background: #fff !important;
}

.vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view-item__image img,
.vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view-item__image span {
  width: 100% !important;
  height: 100% !important;
  border-radius: 7px !important;
  object-fit: contain !important;
  background: #fff !important;
}

.vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view-item__body h4 {
  margin: 0 0 4px !important;
  max-height: 38px !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  color: #191f1a !important;
}

.vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view-item__body p {
  margin: 0 0 6px !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  color: #222 !important;
}

.vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view-item__body strong {
  font-size: 15px !important;
  font-weight: 900 !important;
  color: var(--vnuti-cart-red) !important;
}

.vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view-item__qty {
  align-self: end !important;
  width: 70px !important;
  height: 24px !important;
  margin: 0 0 10px !important;
  grid-template-columns: 22px 26px 22px !important;
  border-radius: 6px !important;
  background: #d9d9d9 !important;
}

.vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view-item__qty button,
.vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view-item__qty input {
  height: 24px !important;
  min-height: 24px !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 24px !important;
  color: #111 !important;
}

.vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__more {
  min-height: 40px !important;
  margin: 10px 0 0 !important;
  border: 2px dashed var(--vnuti-cart-green) !important;
  border-radius: 13px !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  color: var(--vnuti-cart-green) !important;
}

.vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__footer {
  width: min(100%, 430px) !important;
  height: 110px !important;
  min-height: 110px !important;
  padding: 19px 16px calc(19px + env(safe-area-inset-bottom)) !important;
  grid-template-columns: minmax(0, 1fr) 64px 90px !important;
  gap: 10px !important;
  border-radius: 22px 22px 0 0 !important;
  background: #fff !important;
}

.vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__footer label {
  gap: 10px !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  color: #111 !important;
}

.vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__footer input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
}

.vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__footer button {
  height: 48px !important;
  min-height: 48px !important;
  border-radius: 12px !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

.vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__footer button.is-danger {
  background: var(--vnuti-cart-red) !important;
}

@media (max-width: 390px) {
  .vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view-item {
    grid-template-columns: 26px 96px minmax(0, 1fr) 66px !important;
    gap: 8px !important;
  }

  .vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view-item__image {
    width: 96px !important;
    height: 68px !important;
  }

  .vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__footer {
    grid-template-columns: minmax(0, 1fr) 62px 86px !important;
  }
}

/* Cart screen full rewrite v1.18.31 */
.vnuti-ui-shell.vnuti-ui-shell--cart-redesign,
.vnuti-ui-shell:has(.vnuti-cart-redesign) {
  width: 100% !important;
  min-height: 100svh !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #d9d9d9 !important;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

.vnuti-ui-shell .vnuti-cart-redesign,
.vnuti-ui-shell .vnuti-cart-redesign * {
  box-sizing: border-box !important;
}

.vnuti-ui-shell .vnuti-cart-redesign {
  --cart-green: #3c743f;
  --cart-red: #df302d;
  --cart-bg: #d9d9d9;
  --cart-text: #202020;
  width: min(100%, 430px) !important;
  max-width: 430px !important;
  min-height: 100svh !important;
  margin: 0 auto !important;
  padding: 0 0 126px !important;
  overflow-x: hidden !important;
  background: var(--cart-bg) !important;
  color: var(--cart-text) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__header {
  position: relative !important;
  display: flex !important;
  align-items: flex-end !important;
  width: 100% !important;
  height: 132px !important;
  min-height: 132px !important;
  margin: 0 !important;
  padding: 0 20px 28px !important;
  border: 0 !important;
  border-radius: 0 0 18px 18px !important;
  background: var(--cart-green) !important;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__header h2 {
  display: block !important;
  margin: 0 0 0 44px !important;
  padding: 0 !important;
  color: #fff !important;
  font-size: 31px !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__back {
  position: absolute !important;
  left: 20px !important;
  bottom: 31px !important;
  display: block !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__back::before,
.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__back::after {
  content: "" !important;
  position: absolute !important;
  left: 2px !important;
  top: 13px !important;
  width: 24px !important;
  height: 3px !important;
  border-radius: 999px !important;
  background: #fff !important;
  transform-origin: left center !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__back::before {
  transform: rotate(-45deg) !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__back::after {
  transform: rotate(45deg) !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__content {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 18px 16px 0 !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__card {
  display: block !important;
  width: 100% !important;
  min-height: 238px !important;
  margin: 0 !important;
  padding: 22px 16px 16px !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__card h3 {
  display: block !important;
  margin: 0 0 25px !important;
  padding: 0 !important;
  color: var(--cart-green) !important;
  font-size: 29px !important;
  font-weight: 900 !important;
  line-height: 1.06 !important;
  letter-spacing: 0 !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__summary {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  min-height: 31px !important;
  margin: 0 0 21px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__summary span {
  color: #111 !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__summary strong {
  color: var(--cart-red) !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__items {
  display: block !important;
  width: 100% !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 28px 112px minmax(0, 1fr) 70px !important;
  grid-template-areas: "check image body qty" !important;
  align-items: center !important;
  column-gap: 10px !important;
  width: 100% !important;
  min-height: 78px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__check {
  grid-area: check !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__check input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__check span {
  position: relative !important;
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 5px !important;
  background: #d9d9d9 !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__check input:checked + span {
  background: var(--cart-green) !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__check input:checked + span::after {
  content: "" !important;
  position: absolute !important;
  left: 5px !important;
  top: 2px !important;
  width: 7px !important;
  height: 11px !important;
  border: solid #fff !important;
  border-width: 0 3px 3px 0 !important;
  transform: rotate(45deg) !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__image {
  grid-area: image !important;
  display: block !important;
  width: 112px !important;
  height: 74px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: #fff !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__image img,
.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__image span {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: #fff !important;
  object-fit: contain !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__body {
  grid-area: body !important;
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__body h4 {
  display: -webkit-box !important;
  max-height: 38px !important;
  margin: 0 0 5px !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: #202020 !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__body p {
  margin: 0 0 7px !important;
  padding: 0 !important;
  color: #242424 !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.12 !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__body strong {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--cart-red) !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__qty {
  grid-area: qty !important;
  align-self: end !important;
  display: grid !important;
  grid-template-columns: 22px 26px 22px !important;
  align-items: center !important;
  justify-content: center !important;
  width: 70px !important;
  height: 24px !important;
  min-height: 24px !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: #d9d9d9 !important;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__qty button,
.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__qty input {
  display: block !important;
  width: 100% !important;
  height: 24px !important;
  min-height: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #111 !important;
  box-shadow: none !important;
  text-align: center !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 24px !important;
  appearance: none !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__qty input::-webkit-outer-spin-button,
.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__qty input::-webkit-inner-spin-button {
  margin: 0 !important;
  -webkit-appearance: none !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__more {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 40px !important;
  margin: 14px 0 0 !important;
  padding: 0 14px !important;
  border: 2px dashed var(--cart-green) !important;
  border-radius: 13px !important;
  background: #fff !important;
  color: var(--cart-green) !important;
  box-shadow: none !important;
  text-align: center !important;
  text-decoration: none !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__empty {
  margin: 0 0 14px !important;
  color: #5e655f !important;
  font-size: 14px !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__footer {
  position: fixed !important;
  z-index: 100 !important;
  left: 50% !important;
  right: auto !important;
  bottom: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 64px 90px !important;
  align-items: center !important;
  gap: 10px !important;
  width: min(100%, 430px) !important;
  height: 110px !important;
  min-height: 110px !important;
  margin: 0 !important;
  padding: 19px 16px calc(19px + env(safe-area-inset-bottom)) !important;
  transform: translateX(-50%) !important;
  border: 0 !important;
  border-radius: 22px 22px 0 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__footer label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #111 !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__footer input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  margin: 0 !important;
  accent-color: var(--cart-green) !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__footer button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 48px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 8px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: var(--cart-green) !important;
  color: #fff !important;
  box-shadow: none !important;
  text-align: center !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  white-space: normal !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__footer button.is-danger {
  background: var(--cart-red) !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__footer button:disabled {
  opacity: 0.55 !important;
}

@media (min-width: 431px) {
  .vnuti-ui-shell.vnuti-ui-shell--cart-redesign,
  .vnuti-ui-shell:has(.vnuti-cart-redesign) {
    background: #eef3ef !important;
  }
}

@media (max-width: 390px) {
  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__header h2 {
    font-size: 27px !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item {
    grid-template-columns: 26px 96px minmax(0, 1fr) 66px !important;
    column-gap: 8px !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__image {
    width: 96px !important;
    height: 68px !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__footer {
    grid-template-columns: minmax(0, 1fr) 62px 86px !important;
  }
}

/* Booking customer form - matches compact address form mockup */
.vnuti-ui-shell .vnuti-booking-card--customer-form {
  display: grid !important;
  gap: 14px !important;
  padding: 18px 18px 20px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 8px 24px rgba(25, 64, 37, 0.06) !important;
}

.vnuti-ui-shell .vnuti-booking-card--customer-form h3 {
  margin: 0 0 2px !important;
  color: #2d7139 !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  letter-spacing: 0 !important;
}

.vnuti-ui-shell .vnuti-booking-card--customer-form .vnuti-booking-info {
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-booking-card--customer-form .vnuti-booking-info > span,
.vnuti-ui-shell .vnuti-booking-card--customer-form .vnuti-booking-info svg {
  display: none !important;
}

.vnuti-ui-shell .vnuti-booking-card--customer-form .vnuti-booking-info input {
  display: block !important;
  width: 100% !important;
  height: 56px !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 0 20px !important;
  border: 1px solid #bddcc5 !important;
  border-radius: 10px !important;
  outline: 0 !important;
  background: #fff !important;
  color: #1f2a22 !important;
  box-shadow: none !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 56px !important;
}

.vnuti-ui-shell .vnuti-booking-card--customer-form .vnuti-booking-info input:focus {
  border-color: #2f7a3a !important;
  box-shadow: 0 0 0 3px rgba(47, 122, 58, 0.12) !important;
}

.vnuti-ui-shell .vnuti-booking-card--customer-form .vnuti-booking-info input::placeholder {
  color: #858b86 !important;
  opacity: 1 !important;
}

.vnuti-ui-shell .vnuti-booking-card--customer-form .vnuti-booking-address-control {
  display: block !important;
}

.vnuti-ui-shell .vnuti-booking-card--customer-form .vnuti-booking-address-suggestions {
  position: relative !important;
  z-index: 28 !important;
  margin-top: -6px !important;
  margin-bottom: 0 !important;
  max-height: 260px !important;
  overflow: auto !important;
  border-radius: 12px !important;
  box-shadow: 0 16px 34px rgba(20, 24, 20, 0.14) !important;
}

.vnuti-ui-shell .vnuti-booking-card--customer-form .vnuti-booking-address-suggestions[hidden] {
  display: none !important;
}

.vnuti-ui-shell .vnuti-booking-card--customer-form .vnuti-booking-address-suggestions button {
  min-height: 44px !important;
  padding: 11px 13px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}

.vnuti-ui-shell .vnuti-booking-card--customer-form .vnuti-booking-location-row {
  display: grid !important;
  grid-template-columns: 150px minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.vnuti-ui-shell .vnuti-booking-card--customer-form .vnuti-booking-location-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: #2d7139 !important;
  color: #fff !important;
  box-shadow: none !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
}

.vnuti-ui-shell .vnuti-booking-card--customer-form .vnuti-booking-location-btn:disabled {
  opacity: 0.72 !important;
}

.vnuti-ui-shell .vnuti-booking-card--customer-form .vnuti-booking-location-row .vnuti-booking-info input {
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 16px !important;
  line-height: 42px !important;
}

@media (max-width: 520px) {
  .vnuti-ui-shell .vnuti-booking-card--customer-form {
    gap: 10px !important;
    padding: 14px !important;
    border-radius: 12px !important;
  }

  .vnuti-ui-shell .vnuti-booking-card--customer-form h3 {
    font-size: 13px !important;
  }

  .vnuti-ui-shell .vnuti-booking-card--customer-form .vnuti-booking-info input {
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 14px !important;
    border-radius: 9px !important;
    font-size: 13px !important;
    line-height: 48px !important;
  }

  .vnuti-ui-shell .vnuti-booking-card--customer-form .vnuti-booking-location-row {
    grid-template-columns: minmax(0, auto) minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  .vnuti-ui-shell .vnuti-booking-card--customer-form .vnuti-booking-location-btn {
    width: auto !important;
    min-width: 132px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 12px !important;
    border-radius: 7px !important;
    font-size: 13px !important;
  }

  .vnuti-ui-shell .vnuti-booking-card--customer-form .vnuti-booking-location-row .vnuti-booking-info input {
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 12px !important;
    font-size: 13px !important;
    line-height: 40px !important;
  }
}

/* Cart redesign compact fix v1.18.32 */
.vnuti-ui-shell .vnuti-cart-redesign {
  width: min(100%, 430px) !important;
  max-width: 430px !important;
  padding-bottom: 112px !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__header {
  height: 112px !important;
  min-height: 112px !important;
  padding: 0 18px 23px !important;
  border-radius: 0 0 16px 16px !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__header h2 {
  margin-left: 34px !important;
  font-size: 24px !important;
  line-height: 1.05 !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__back {
  left: 18px !important;
  bottom: 23px !important;
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__back::before,
.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__back::after {
  top: 12px !important;
  width: 22px !important;
  height: 3px !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__content {
  padding: 16px 16px 0 !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__card {
  min-height: 0 !important;
  padding: 20px 16px 16px !important;
  border-radius: 16px !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__card h3 {
  margin-bottom: 22px !important;
  font-size: 24px !important;
  line-height: 1.05 !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__summary {
  margin-bottom: 16px !important;
  min-height: 26px !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__summary span {
  font-size: 16px !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__summary strong {
  font-size: 19px !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item {
  grid-template-columns: 26px 96px minmax(0, 1fr) !important;
  grid-template-areas: "check image body" !important;
  column-gap: 10px !important;
  align-items: center !important;
  min-height: 82px !important;
  padding: 0 0 2px !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__check {
  width: 26px !important;
  height: 26px !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__image {
  width: 96px !important;
  height: 66px !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__body {
  min-width: 0 !important;
  padding-right: 74px !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__body h4 {
  max-height: 34px !important;
  margin-bottom: 4px !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__body p {
  margin-bottom: 5px !important;
  font-size: 14px !important;
  line-height: 1.1 !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__body strong {
  max-width: 100% !important;
  overflow: hidden !important;
  font-size: 14px !important;
  line-height: 1.1 !important;
  text-overflow: ellipsis !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__qty {
  position: absolute !important;
  right: 0 !important;
  bottom: 13px !important;
  width: 66px !important;
  height: 23px !important;
  min-height: 23px !important;
  margin: 0 !important;
  grid-template-columns: 20px 26px 20px !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__qty button,
.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__qty input {
  height: 23px !important;
  min-height: 23px !important;
  font-size: 15px !important;
  line-height: 23px !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__more {
  min-height: 38px !important;
  margin-top: 12px !important;
  border-radius: 12px !important;
  font-size: 15px !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__footer {
  height: 96px !important;
  min-height: 96px !important;
  padding: 16px 16px calc(16px + env(safe-area-inset-bottom)) !important;
  grid-template-columns: minmax(0, 1fr) 58px 86px !important;
  gap: 10px !important;
  border-radius: 20px 20px 0 0 !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__footer label {
  font-size: 16px !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__footer button {
  height: 44px !important;
  min-height: 44px !important;
  border-radius: 11px !important;
  font-size: 14px !important;
}

@media (max-width: 390px) {
  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item {
    grid-template-columns: 24px 86px minmax(0, 1fr) !important;
    column-gap: 8px !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__image {
    width: 86px !important;
    height: 62px !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__body {
    padding-right: 68px !important;
  }
}

/* Cart viewport bleed fix v1.18.33 */
.vnuti-ui-shell.vnuti-ui-shell--cart-redesign,
.vnuti-ui-shell:has(.vnuti-cart-redesign) {
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  width: 100vw !important;
  max-width: 100vw !important;
  min-height: 100svh !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  background: #d9d9d9 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.vnuti-ui-shell.vnuti-ui-shell--cart-redesign .vnuti-cart-redesign,
.vnuti-ui-shell:has(.vnuti-cart-redesign) .vnuti-cart-redesign {
  width: min(100vw, 430px) !important;
  max-width: 430px !important;
  min-height: 100svh !important;
  margin: 0 auto !important;
  background: #d9d9d9 !important;
}

.vnuti-ui-shell.vnuti-ui-shell--cart-redesign .vnuti-cart-view__footer,
.vnuti-ui-shell:has(.vnuti-cart-redesign) .vnuti-cart-view__footer {
  width: min(100vw, 430px) !important;
  max-width: 430px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
}

@media (max-width: 430px) {
  .vnuti-ui-shell.vnuti-ui-shell--cart-redesign,
  .vnuti-ui-shell:has(.vnuti-cart-redesign) {
    width: 100vw !important;
    max-width: 100vw !important;
  }

  .vnuti-ui-shell.vnuti-ui-shell--cart-redesign .vnuti-cart-redesign,
  .vnuti-ui-shell:has(.vnuti-cart-redesign) .vnuti-cart-redesign,
  .vnuti-ui-shell.vnuti-ui-shell--cart-redesign .vnuti-cart-view__footer,
  .vnuti-ui-shell:has(.vnuti-cart-redesign) .vnuti-cart-view__footer {
    width: 100vw !important;
    max-width: 100vw !important;
  }
}

/* Tracking confirmation screen v1.18.40 */
.vnuti-ui-shell.vnuti-ui-shell--tracking {
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  width: 100vw !important;
  max-width: 100vw !important;
  min-height: 100svh !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  background: #dfe8df !important;
}

.vnuti-ui-shell .vnuti-staff.vnuti-staff--tracking {
  position: relative !important;
  width: min(100vw, 430px) !important;
  max-width: 430px !important;
  min-height: 100svh !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: #1d2a20 !important;
  background: #dfe8df !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

.vnuti-ui-shell .vnuti-tracking__top {
  position: relative !important;
  z-index: 2 !important;
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
  min-height: 106px !important;
  padding: 42px 18px 18px !important;
  background: #2f6f38 !important;
  border-radius: 0 0 16px 16px !important;
}

.vnuti-ui-shell .vnuti-tracking__back {
  position: relative !important;
  width: 28px !important;
  height: 28px !important;
  text-decoration: none !important;
}

.vnuti-ui-shell .vnuti-tracking__back::before,
.vnuti-ui-shell .vnuti-tracking__back::after {
  content: "" !important;
  position: absolute !important;
  left: 4px !important;
  width: 18px !important;
  height: 3px !important;
  border-radius: 999px !important;
  background: #fff !important;
  transform-origin: left center !important;
}

.vnuti-ui-shell .vnuti-tracking__back::before {
  top: 14px !important;
  transform: rotate(-45deg) !important;
}

.vnuti-ui-shell .vnuti-tracking__back::after {
  top: 14px !important;
  transform: rotate(45deg) !important;
}

.vnuti-ui-shell .vnuti-tracking__address {
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) !important;
  align-items: center !important;
  min-height: 44px !important;
  padding: 0 14px !important;
  overflow: hidden !important;
  color: #172018 !important;
  background: #fff !important;
  border-radius: 6px !important;
  box-shadow: 0 8px 18px rgba(0, 0, 0, .16) !important;
}

.vnuti-ui-shell .vnuti-tracking__address svg {
  width: 18px !important;
  height: 18px !important;
  color: #397541 !important;
}

.vnuti-ui-shell .vnuti-tracking__address span {
  display: block !important;
  overflow: hidden !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}

.vnuti-ui-shell .vnuti-tracking__map {
  position: relative !important;
  height: 390px !important;
  margin-top: -10px !important;
  overflow: hidden !important;
  cursor: grab !important;
  touch-action: pan-x pan-y !important;
  background: #dfe8df !important;
}

.vnuti-ui-shell .vnuti-tracking__leaflet,
.vnuti-ui-shell .vnuti-tracking__leaflet.leaflet-container {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  width: 100% !important;
  height: 100% !important;
  background: #dfe8df !important;
  font-family: inherit !important;
}

.vnuti-ui-shell .vnuti-tracking__leaflet[hidden] {
  display: none !important;
}

.vnuti-ui-shell .vnuti-tracking__leaflet .leaflet-control-zoom {
  display: grid !important;
  gap: 6px !important;
  margin: 14px 0 0 12px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-tracking__leaflet .leaflet-control-zoom a {
  display: grid !important;
  place-items: center !important;
  width: 34px !important;
  height: 34px !important;
  border: 1px solid rgba(47, 111, 57, .16) !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, .96) !important;
  color: #2f6f39 !important;
  box-shadow: 0 8px 22px rgba(23, 62, 31, .16) !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

.vnuti-ui-shell .vnuti-tracking__leaflet .leaflet-control-zoom a:first-child,
.vnuti-ui-shell .vnuti-tracking__leaflet .leaflet-control-zoom a:last-child {
  border-radius: 10px !important;
}

.vnuti-ui-shell .vnuti-tracking__leaflet .leaflet-control-zoom a:hover,
.vnuti-ui-shell .vnuti-tracking__leaflet .leaflet-control-zoom a:focus {
  background: #ffffff !important;
  color: #245b2c !important;
}

.vnuti-ui-shell .vnuti-tracking__leaflet .leaflet-overlay-pane svg {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  overflow: visible !important;
  fill: none !important;
}

.vnuti-ui-shell .vnuti-tracking__leaflet .leaflet-overlay-pane path,
.vnuti-ui-shell .vnuti-tracking__leaflet .vnuti-tracking-leaflet-route {
  fill: none !important;
  stroke: #2f7d43 !important;
  stroke-width: 7px !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  opacity: 1 !important;
  filter: drop-shadow(0 2px 4px rgba(21, 64, 31, .28)) !important;
  pointer-events: none !important;
}

.vnuti-ui-shell .vnuti-tracking__leaflet .leaflet-overlay-pane {
  z-index: 450 !important;
}

.vnuti-ui-shell .vnuti-tracking__leaflet .leaflet-marker-pane {
  z-index: 600 !important;
}

.vnuti-ui-shell .vnuti-tracking-leaflet-pin {
  position: relative !important;
}

.vnuti-ui-shell .vnuti-tracking-leaflet-pin span {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 28px !important;
  height: 28px !important;
  border: 5px solid #3a7441 !important;
  border-radius: 999px 999px 999px 0 !important;
  background: #eaf3e8 !important;
  transform: translate(-50%, -50%) rotate(-45deg) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .22) !important;
}

.vnuti-ui-shell .vnuti-tracking-leaflet-pin--customer span {
  background: #fff !important;
  border-color: #2f7d43 !important;
}

.vnuti-ui-shell .vnuti-tracking__map::before,
.vnuti-ui-shell .vnuti-tracking__map::after {
  display: none !important;
}

.vnuti-ui-shell .vnuti-tracking__map.is-dragging {
  cursor: grabbing !important;
}

.vnuti-ui-shell .vnuti-tracking__map-stage {
  position: absolute !important;
  inset: -18% !important;
  width: 136% !important;
  height: 136% !important;
  will-change: transform !important;
  background:
    linear-gradient(64deg, transparent 0 45%, rgba(173, 206, 216, .92) 45% 51%, transparent 51%),
    linear-gradient(150deg, transparent 0 40%, rgba(173, 206, 216, .86) 40% 47%, transparent 47%),
    linear-gradient(95deg, transparent 0 44%, rgba(183, 207, 215, .78) 44% 49%, transparent 49%),
    linear-gradient(25deg, transparent 0 57%, rgba(197, 223, 196, .88) 57% 78%, transparent 78%),
    linear-gradient(135deg, transparent 0 66%, rgba(197, 223, 196, .62) 66% 84%, transparent 84%),
    #f3eddf !important;
  transform: translate3d(0, 0, 0) !important;
}

.vnuti-ui-shell .vnuti-tracking__route {
  position: absolute !important;
  inset: 0 !important;
}

.vnuti-ui-shell .vnuti-tracking__route-svg {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none !important;
}

.vnuti-ui-shell .vnuti-tracking__route-svg path {
  fill: none !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  vector-effect: non-scaling-stroke !important;
}

.vnuti-ui-shell [data-tracking-route-shadow] {
  stroke: rgba(255, 255, 255, .9) !important;
  stroke-width: 11 !important;
}

.vnuti-ui-shell [data-tracking-route-path] {
  stroke: #3a7441 !important;
  stroke-width: 5 !important;
  filter: drop-shadow(0 4px 8px rgba(21, 64, 31, .24)) !important;
}

.vnuti-ui-shell .vnuti-tracking__pin {
  position: absolute !important;
  z-index: 2 !important;
  width: 28px !important;
  height: 28px !important;
  border: 5px solid #3a7441 !important;
  border-radius: 999px 999px 999px 0 !important;
  background: #dfe8df !important;
  transform: translate(-50%, -50%) rotate(-45deg) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .2) !important;
  transition: left .25s ease, top .25s ease !important;
}

.vnuti-ui-shell .vnuti-tracking__pin--shop {
  left: 33% !important;
  top: 58% !important;
}

.vnuti-ui-shell .vnuti-tracking__pin--customer {
  left: 55% !important;
  top: 30% !important;
}

.vnuti-ui-shell .vnuti-tracking__line {
  display: none !important;
}

.vnuti-ui-shell .vnuti-tracking__route strong {
  position: absolute !important;
  left: 48% !important;
  top: 24% !important;
  z-index: 3 !important;
  padding: 4px 9px !important;
  color: #fff !important;
  background: #3a7441 !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  transform: translate(-50%, -50%) !important;
  transition: left .25s ease, top .25s ease !important;
}

.vnuti-ui-shell .vnuti-tracking__panel {
  position: relative !important;
  z-index: 3 !important;
  display: grid !important;
  gap: 10px !important;
  margin: -96px 14px 20px !important;
}

.vnuti-ui-shell .vnuti-tracking__status,
.vnuti-ui-shell .vnuti-tracking__therapist {
  padding: 18px !important;
  background: #fff !important;
  border: 1px solid rgba(47, 111, 56, .18) !important;
  border-radius: 8px !important;
  box-shadow: 0 3px 12px rgba(0, 0, 0, .22) !important;
}

.vnuti-ui-shell .vnuti-tracking__status h2 {
  margin: 0 0 16px !important;
  color: #202820 !important;
  font-size: 19px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
}

.vnuti-ui-shell .vnuti-tracking__status p {
  margin: 0 0 12px !important;
  color: #3a7441 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.vnuti-ui-shell .vnuti-tracking__status div {
  display: grid !important;
  grid-template-columns: 28px 1fr 28px 1fr 44px 1fr 28px !important;
  align-items: center !important;
  gap: 8px !important;
  color: #3a7441 !important;
}

.vnuti-ui-shell .vnuti-tracking__status div span {
  display: grid !important;
  place-items: center !important;
  min-width: 28px !important;
  height: 28px !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

.vnuti-ui-shell .vnuti-tracking__status div svg {
  width: 22px !important;
  height: 22px !important;
}

.vnuti-ui-shell .vnuti-tracking__status div i {
  display: block !important;
  height: 2px !important;
  background: #3a7441 !important;
}

.vnuti-ui-shell .vnuti-tracking__therapist {
  display: grid !important;
  grid-template-columns: 56px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 12px !important;
}

.vnuti-ui-shell .vnuti-tracking__therapist img,
.vnuti-ui-shell .vnuti-tracking__therapist > img[hidden] + div::before {
  width: 56px !important;
  height: 56px !important;
  border-radius: 999px !important;
  object-fit: cover !important;
}

.vnuti-ui-shell .vnuti-tracking__therapist > img[hidden] + div::before {
  content: "" !important;
  display: block !important;
  float: left !important;
  margin-right: 12px !important;
  background: #e8efe8 !important;
}

.vnuti-ui-shell .vnuti-tracking__therapist h3 {
  margin: 0 0 3px !important;
  overflow: hidden !important;
  color: #31713a !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}

.vnuti-ui-shell .vnuti-tracking__therapist p {
  margin: 0 !important;
  overflow: hidden !important;
  color: #31713a !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}

.vnuti-ui-shell .vnuti-tracking__order {
  max-height: min(48dvh, 440px) !important;
  padding: 10px 12px 12px !important;
  overflow: hidden auto !important;
  -webkit-overflow-scrolling: touch !important;
  background: #ffffff !important;
  border: 1px solid rgba(47, 111, 56, .14) !important;
  border-radius: 8px !important;
  box-shadow: 0 3px 12px rgba(0, 0, 0, .18) !important;
  overscroll-behavior: contain !important;
}

.vnuti-ui-shell .vnuti-tracking__handle {
  width: 54px !important;
  height: 5px !important;
  margin: 0 auto 8px !important;
  border-radius: 999px !important;
  background: #d7ded8 !important;
}

.vnuti-ui-shell .vnuti-tracking__order-head {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 1fr auto 22px !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 4px 0 12px !important;
  border: 0 !important;
  background: transparent !important;
  color: #1f251f !important;
  text-align: left !important;
}

.vnuti-ui-shell .vnuti-tracking__order-head span {
  font-size: 13px !important;
  font-weight: 600 !important;
}

.vnuti-ui-shell .vnuti-tracking__order-head strong {
  color: #f02228 !important;
  font-size: 18px !important;
  font-weight: 950 !important;
  white-space: nowrap !important;
}

.vnuti-ui-shell .vnuti-tracking__order-head i {
  width: 18px !important;
  height: 18px !important;
  border-right: 4px solid #2f7138 !important;
  border-bottom: 4px solid #2f7138 !important;
  transform: rotate(45deg) translateY(-3px) !important;
}

.vnuti-ui-shell .vnuti-tracking__order.is-open .vnuti-tracking__order-head i {
  transform: rotate(225deg) translate(-3px, -1px) !important;
}

.vnuti-ui-shell .vnuti-tracking__items {
  display: grid !important;
  gap: 10px !important;
}

.vnuti-ui-shell .vnuti-tracking-item {
  display: grid !important;
  grid-template-columns: 74px minmax(0, 1fr) auto !important;
  align-items: start !important;
  gap: 10px !important;
}

.vnuti-ui-shell .vnuti-tracking-item__image,
.vnuti-ui-shell .vnuti-tracking-item__image img,
.vnuti-ui-shell .vnuti-tracking-item__image span {
  width: 74px !important;
  height: 56px !important;
  border-radius: 4px !important;
  object-fit: cover !important;
  background: #e7eee8 !important;
}

.vnuti-ui-shell .vnuti-tracking-item__body {
  min-width: 0 !important;
}

.vnuti-ui-shell .vnuti-tracking-item__body strong {
  display: block !important;
  color: #1f251f !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
}

.vnuti-ui-shell .vnuti-tracking-item__body span,
.vnuti-ui-shell .vnuti-tracking-item__body em {
  display: block !important;
  margin-top: 3px !important;
  color: #6f7b70 !important;
  font-size: 11px !important;
  font-style: normal !important;
}

.vnuti-ui-shell .vnuti-tracking-item__body em {
  color: #3a7441 !important;
  font-style: italic !important;
}

.vnuti-ui-shell .vnuti-tracking-item__side {
  display: grid !important;
  justify-items: end !important;
  gap: 10px !important;
}

.vnuti-ui-shell .vnuti-tracking-item__side b {
  color: #202820 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}

.vnuti-ui-shell .vnuti-tracking-item__side small {
  display: grid !important;
  place-items: center !important;
  width: 24px !important;
  height: 24px !important;
  border-radius: 999px !important;
  background: #3a7441 !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

.vnuti-ui-shell .vnuti-tracking__fees {
  display: grid !important;
  gap: 7px !important;
  margin: 12px 0 10px !important;
}

.vnuti-ui-shell .vnuti-tracking__fees p {
  display: flex !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: 0 !important;
  color: #1f251f !important;
  font-size: 12px !important;
}

.vnuti-ui-shell .vnuti-tracking__fees strong {
  font-weight: 900 !important;
}

.vnuti-ui-shell .vnuti-tracking__cancel {
  width: 100% !important;
  min-height: 38px !important;
  border: 0 !important;
  border-radius: 5px !important;
  background: #f4252c !important;
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

.vnuti-ui-shell .vnuti-tracking__empty {
  margin: 0 !important;
  color: #6f7b70 !important;
  font-size: 12px !important;
}

@media (min-width: 760px) {
  .vnuti-ui-shell .vnuti-staff.vnuti-staff--tracking {
    margin-block: 28px !important;
    border-radius: 18px !important;
    box-shadow: 0 24px 70px rgba(23, 48, 26, .18) !important;
  }
}

/* VNUTI canonical mobile-like UI frame v1.18.41 */
.vnuti-ui-shell {
  --vnuti-green: #2f7138;
  --vnuti-green-dark: #245d2e;
  --vnuti-bg: #eef5ef;
  --vnuti-card: #fff;
  --vnuti-text: #1f2b22;
  --vnuti-muted: #6f7d72;
  --vnuti-red: #f1202e;
  --vnuti-border: rgba(47, 113, 56, .14);
  --vnuti-shadow: 0 18px 44px rgba(31, 54, 35, .12);
  --vnuti-app-width: 430px;
  width: 100% !important;
  min-height: 100svh !important;
  margin: 0 !important;
  padding: 24px 0 !important;
  background: var(--vnuti-bg) !important;
  color: var(--vnuti-text) !important;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  letter-spacing: 0 !important;
}

.vnuti-ui-shell,
.vnuti-ui-shell *,
.vnuti-ui-shell *::before,
.vnuti-ui-shell *::after {
  box-sizing: border-box !important;
}

.vnuti-ui-shell .vnuti-staff {
  width: min(var(--vnuti-app-width), 100%) !important;
  max-width: var(--vnuti-app-width) !important;
  min-height: 100svh !important;
  margin: 0 auto !important;
  overflow: hidden !important;
  background: var(--vnuti-bg) !important;
  color: var(--vnuti-text) !important;
  border-radius: 24px !important;
  box-shadow: var(--vnuti-shadow) !important;
}

.vnuti-ui-shell .vnuti-staff :where(h1, h2, h3, h4, p, figure) {
  margin: 0 !important;
  letter-spacing: 0 !important;
}

.vnuti-ui-shell .vnuti-staff :where(button, input, textarea, select) {
  font: inherit !important;
  letter-spacing: 0 !important;
}

.vnuti-ui-shell .vnuti-staff :where(img) {
  display: block !important;
  max-width: 100% !important;
}

.vnuti-ui-shell .vnuti-staff__hero {
  position: relative !important;
  min-height: 286px !important;
  padding: 52px 24px 112px !important;
  overflow: hidden !important;
  background: linear-gradient(135deg, rgba(255,255,255,.08) 0 25%, transparent 25%),
    linear-gradient(90deg, #255f30, var(--vnuti-green-dark)) !important;
  border-radius: 0 0 22px 22px !important;
}

.vnuti-ui-shell .vnuti-staff__title-row {
  display: block !important;
  text-align: left !important;
}

.vnuti-ui-shell .vnuti-staff__title-row h2 {
  color: #fff !important;
  font-size: 46px !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  white-space: normal !important;
}

.vnuti-ui-shell .vnuti-staff__subtitle {
  max-width: 340px !important;
  margin-top: 34px !important;
  color: rgba(255,255,255,.78) !important;
  font-size: 17px !important;
  line-height: 1.45 !important;
  text-align: left !important;
  writing-mode: horizontal-tb !important;
  word-break: normal !important;
}

.vnuti-ui-shell .vnuti-staff__panel {
  margin-top: -82px !important;
  padding: 0 16px 28px !important;
  background: var(--vnuti-bg) !important;
  border-radius: 24px 24px 0 0 !important;
}

.vnuti-ui-shell .vnuti-staff__filter-card {
  position: relative !important;
  z-index: 5 !important;
  width: 100% !important;
  padding: 12px !important;
  background: rgba(255,255,255,.96) !important;
  border: 1px solid var(--vnuti-border) !important;
  border-radius: 20px !important;
  box-shadow: 0 12px 30px rgba(31,54,35,.1) !important;
}

.vnuti-ui-shell .vnuti-staff__search {
  position: relative !important;
  display: grid !important;
  gap: 10px !important;
}

.vnuti-ui-shell .vnuti-staff__search-field,
.vnuti-ui-shell .vnuti-staff__location-input {
  display: grid !important;
  grid-template-columns: 46px minmax(0, 1fr) !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 58px !important;
  background: #fff !important;
  border: 1px solid rgba(47,113,56,.18) !important;
  border-radius: 14px !important;
  box-shadow: inset 0 0 0 1px rgba(47,113,56,.03) !important;
}

.vnuti-ui-shell .vnuti-staff__search-field input,
.vnuti-ui-shell .vnuti-staff__location-input input {
  width: 100% !important;
  min-width: 0 !important;
  height: 56px !important;
  padding: 0 14px !important;
  color: var(--vnuti-text) !important;
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  font-size: 15px !important;
}

.vnuti-ui-shell .vnuti-staff__search-icon,
.vnuti-ui-shell .vnuti-staff__search-icon svg {
  width: 22px !important;
  height: 22px !important;
  margin: 0 auto !important;
  color: var(--vnuti-green) !important;
}

.vnuti-ui-shell .vnuti-staff__filter-actions {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 112px !important;
  gap: 10px !important;
}

.vnuti-ui-shell .vnuti-staff__area-button,
.vnuti-ui-shell .vnuti-staff__search-submit,
.vnuti-ui-shell .vnuti-staff__area-popover > button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  height: 52px !important;
  padding: 0 14px !important;
  overflow: hidden !important;
  border-radius: 13px !important;
  font-size: 15px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}

.vnuti-ui-shell .vnuti-staff__area-button {
  gap: 8px !important;
  color: var(--vnuti-text) !important;
  background: #fff !important;
  border: 1px solid rgba(47,113,56,.18) !important;
}

.vnuti-ui-shell .vnuti-staff__area-button.is-active {
  color: #fff !important;
  background: #176ecb !important;
  border-color: #176ecb !important;
}

.vnuti-ui-shell .vnuti-staff__area-button span {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.vnuti-ui-shell .vnuti-staff__search-submit,
.vnuti-ui-shell .vnuti-staff__area-popover > button:not(.vnuti-staff__area-secondary) {
  color: #fff !important;
  background: var(--vnuti-green) !important;
  border: 0 !important;
}

.vnuti-ui-shell .vnuti-staff__area-secondary {
  color: var(--vnuti-green) !important;
  background: #fff !important;
  border: 1px solid var(--vnuti-green) !important;
}

.vnuti-ui-shell .vnuti-staff__suggestions,
.vnuti-ui-shell .vnuti-booking-address-suggestions {
  display: grid !important;
  width: 100% !important;
  max-height: 320px !important;
  overflow: auto !important;
  padding: 8px !important;
  background: #fff !important;
  border: 1px solid rgba(47,113,56,.15) !important;
  border-radius: 14px !important;
  box-shadow: 0 14px 34px rgba(31,54,35,.14) !important;
}

.vnuti-ui-shell .vnuti-staff__suggestions[hidden],
.vnuti-ui-shell .vnuti-booking-address-suggestions[hidden] {
  display: none !important;
}

.vnuti-ui-shell .vnuti-staff__suggestions button,
.vnuti-ui-shell .vnuti-booking-address-suggestions button {
  justify-content: flex-start !important;
  width: 100% !important;
  min-height: 48px !important;
  padding: 10px 12px !important;
  color: #244b2b !important;
  background: #fff !important;
  border: 0 !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  line-height: 1.35 !important;
  text-align: left !important;
  white-space: normal !important;
}

.vnuti-ui-shell .vnuti-staff__suggestions button:hover,
.vnuti-ui-shell .vnuti-staff__suggestions button:focus,
.vnuti-ui-shell .vnuti-booking-address-suggestions button:hover,
.vnuti-ui-shell .vnuti-booking-address-suggestions button:focus {
  background: #edf6ee !important;
}

.vnuti-ui-shell .vnuti-staff__area-popover {
  position: static !important;
  display: grid !important;
  gap: 12px !important;
  margin-top: 12px !important;
  padding: 16px !important;
  background: #fff !important;
  border: 1px solid var(--vnuti-border) !important;
  border-radius: 18px !important;
  box-shadow: 0 14px 34px rgba(31,54,35,.12) !important;
}

.vnuti-ui-shell .vnuti-staff__area-popover[hidden] {
  display: none !important;
}

.vnuti-ui-shell .vnuti-staff__area-popover h3 {
  color: #111 !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  text-align: center !important;
}

.vnuti-ui-shell .vnuti-staff__location-field {
  display: grid !important;
  gap: 8px !important;
  color: var(--vnuti-text) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.vnuti-ui-shell .vnuti-staff__list {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
  margin-top: 16px !important;
}

.vnuti-ui-shell .vnuti-staff-card {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 42% minmax(0, 1fr) !important;
  min-height: 154px !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid rgba(31,54,35,.08) !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 24px rgba(31,54,35,.1) !important;
}

.vnuti-ui-shell .vnuti-staff-card__media,
.vnuti-ui-shell .vnuti-staff-card__image {
  width: 100% !important;
  height: 100% !important;
  min-height: 154px !important;
  background: #eef3ef !important;
}

.vnuti-ui-shell .vnuti-staff-card__image {
  object-fit: cover !important;
  object-position: center top !important;
}

.vnuti-ui-shell .vnuti-staff-card__body {
  display: grid !important;
  align-content: center !important;
  gap: 8px !important;
  min-width: 0 !important;
  padding: 14px 14px 14px 16px !important;
}

.vnuti-ui-shell .vnuti-staff-card h3 {
  overflow: hidden !important;
  color: var(--vnuti-green) !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}

.vnuti-ui-shell .vnuti-staff-card__desc {
  overflow: hidden !important;
  color: #5a625c !important;
  font-size: 13px !important;
  font-style: italic !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}

.vnuti-ui-shell .vnuti-staff-card__meta,
.vnuti-ui-shell .vnuti-staff-card__tiny {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-width: 0 !important;
  color: var(--vnuti-green) !important;
  font-size: 11px !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
}

.vnuti-ui-shell .vnuti-staff-card__tiny span {
  overflow: hidden !important;
  color: #353d37 !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}

.vnuti-ui-shell .vnuti-staff-card__discount {
  position: absolute !important;
  z-index: 4 !important;
  top: 0 !important;
  left: 0 !important;
  min-width: 42px !important;
  height: 32px !important;
  display: grid !important;
  place-items: center !important;
  background: var(--vnuti-red) !important;
  border-radius: 0 0 9px 0 !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

.vnuti-ui-shell .vnuti-staff--detail,
.vnuti-ui-shell .vnuti-staff--product,
.vnuti-ui-shell .vnuti-staff--cart,
.vnuti-ui-shell .vnuti-staff--booking,
.vnuti-ui-shell .vnuti-staff--tracking {
  background: var(--vnuti-bg) !important;
}

.vnuti-ui-shell .vnuti-detail {
  padding: 0 14px 96px !important;
}

.vnuti-ui-shell .vnuti-detail__back {
  z-index: 8 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: auto !important;
  max-width: 138px !important;
  height: 44px !important;
  padding: 0 14px 0 8px !important;
  overflow: hidden !important;
  color: #fff !important;
  background: rgba(31,31,31,.55) !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.18) !important;
}

.vnuti-ui-shell .vnuti-detail__back-icon {
  flex: 0 0 30px !important;
  width: 30px !important;
  height: 30px !important;
  display: grid !important;
  place-items: center !important;
  font-size: 28px !important;
  line-height: 1 !important;
}

.vnuti-ui-shell .vnuti-detail__back-label {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
  text-decoration: none !important;
}

.vnuti-ui-shell .vnuti-detail__hero {
  overflow: hidden !important;
  background: #fff !important;
  border-radius: 14px !important;
  box-shadow: 0 16px 34px rgba(31,54,35,.12) !important;
}

.vnuti-ui-shell .vnuti-detail__hero > img {
  width: 100% !important;
  height: 260px !important;
  object-fit: cover !important;
  object-position: center top !important;
}

.vnuti-ui-shell .vnuti-detail__hero > div {
  min-height: 0 !important;
  padding: 0 18px 24px !important;
}

.vnuti-ui-shell .vnuti-detail__avatar {
  width: 74px !important;
  height: 74px !important;
  margin-top: -38px !important;
  border: 3px solid #fff !important;
  border-radius: 999px !important;
  object-fit: cover !important;
  box-shadow: 0 6px 16px rgba(0,0,0,.16) !important;
}

.vnuti-ui-shell .vnuti-detail__hero h2 {
  margin-top: 12px !important;
  color: var(--vnuti-green) !important;
  font-size: 25px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
}

.vnuti-ui-shell .vnuti-detail__desc,
.vnuti-ui-shell .vnuti-detail__address {
  margin-top: 8px !important;
  color: #505a52 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

.vnuti-ui-shell .vnuti-detail__stats {
  display: none !important;
}

.vnuti-ui-shell .vnuti-detail__section {
  margin-top: 18px !important;
}

.vnuti-ui-shell .vnuti-detail__section > h3 {
  color: #151a16 !important;
  font-size: 20px !important;
  font-weight: 900 !important;
}

.vnuti-ui-shell .vnuti-service-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin-top: 12px !important;
}

.vnuti-ui-shell .vnuti-service {
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid rgba(31,54,35,.08) !important;
  border-radius: 10px !important;
  box-shadow: 0 10px 24px rgba(31,54,35,.1) !important;
}

.vnuti-ui-shell .vnuti-service img,
.vnuti-ui-shell .vnuti-service__image {
  width: 100% !important;
  aspect-ratio: 1.24 / 1 !important;
  height: auto !important;
  object-fit: cover !important;
}

.vnuti-ui-shell .vnuti-service > div {
  padding: 10px !important;
}

.vnuti-ui-shell .vnuti-service h4 {
  display: -webkit-box !important;
  min-height: 38px !important;
  overflow: hidden !important;
  color: var(--vnuti-green) !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}

.vnuti-ui-shell .vnuti-service__desc {
  display: none !important;
}

.vnuti-ui-shell .vnuti-service__price {
  margin-top: 8px !important;
  color: var(--vnuti-red) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

.vnuti-ui-shell .vnuti-service__duration {
  margin-top: 8px !important;
  color: var(--vnuti-green) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
}

.vnuti-ui-shell .vnuti-cart-bar,
.vnuti-ui-shell .vnuti-product__footer {
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  bottom: max(12px, env(safe-area-inset-bottom)) !important;
  z-index: 60 !important;
  width: min(calc(100vw - 28px), var(--vnuti-app-width)) !important;
  transform: translateX(-50%) !important;
  padding: 12px !important;
  background: #fff !important;
  border-radius: 20px !important;
  box-shadow: 0 -10px 34px rgba(31,54,35,.16) !important;
}

.vnuti-ui-shell .vnuti-cart-bar[hidden] {
  display: none !important;
}

.vnuti-ui-shell .vnuti-cart-bar a,
.vnuti-ui-shell .vnuti-cart-bar button,
.vnuti-ui-shell .vnuti-product__footer button {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  height: 58px !important;
  padding: 0 22px !important;
  color: #fff !important;
  background: var(--vnuti-green) !important;
  border: 0 !important;
  border-radius: 10px !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

.vnuti-ui-shell .vnuti-product {
  padding-bottom: 112px !important;
  background: #fff !important;
}

.vnuti-ui-shell .vnuti-product__media > img {
  width: 100% !important;
  height: 315px !important;
  object-fit: cover !important;
  object-position: center !important;
}

.vnuti-ui-shell .vnuti-product__back {
  top: 42px !important;
  left: 18px !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 999px !important;
  background: rgba(0,0,0,.42) !important;
}

.vnuti-ui-shell .vnuti-product__thumbs {
  display: flex !important;
  gap: 8px !important;
  padding: 10px 16px !important;
  overflow-x: auto !important;
  background: #fff !important;
}

.vnuti-ui-shell .vnuti-product__thumbs img {
  flex: 0 0 68px !important;
  width: 68px !important;
  height: 48px !important;
  border-radius: 6px !important;
  object-fit: cover !important;
}

.vnuti-ui-shell .vnuti-product__body {
  padding: 26px 24px 34px !important;
  background: #fff !important;
}

.vnuti-ui-shell .vnuti-product__title-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 54px !important;
  gap: 16px !important;
  align-items: center !important;
}

.vnuti-ui-shell .vnuti-product h1 {
  color: var(--vnuti-green) !important;
  font-size: 32px !important;
  font-weight: 950 !important;
  line-height: 1.12 !important;
  text-transform: uppercase !important;
}

.vnuti-ui-shell .vnuti-product__share {
  width: 52px !important;
  height: 52px !important;
  display: grid !important;
  place-items: center !important;
  background: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: 0 8px 22px rgba(31,54,35,.09) !important;
  color: var(--vnuti-green) !important;
}

.vnuti-ui-shell .vnuti-product__price {
  margin-top: 28px !important;
  color: var(--vnuti-red) !important;
  font-size: 40px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
}

.vnuti-ui-shell .vnuti-product__duration-options {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin-top: 14px !important;
}

.vnuti-ui-shell .vnuti-product__duration-option {
  height: 56px !important;
  color: var(--vnuti-green) !important;
  background: #e0e1df !important;
  border: 0 !important;
  border-radius: 9px !important;
  font-size: 16px !important;
  font-weight: 900 !important;
}

.vnuti-ui-shell .vnuti-product__duration-option.is-active {
  color: #fff !important;
  background: var(--vnuti-green) !important;
}

.vnuti-ui-shell .vnuti-product__provider {
  display: grid !important;
  grid-template-columns: 70px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 14px !important;
  margin-top: 28px !important;
}

.vnuti-ui-shell .vnuti-product__provider img {
  width: 64px !important;
  height: 64px !important;
  border-radius: 999px !important;
  object-fit: cover !important;
  border: 3px solid #222 !important;
}

.vnuti-ui-shell .vnuti-product__provider h3 {
  overflow: hidden !important;
  color: var(--vnuti-green) !important;
  font-size: 23px !important;
  font-weight: 950 !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}

.vnuti-ui-shell .vnuti-product__provider a {
  padding: 11px 16px !important;
  color: #fff !important;
  background: var(--vnuti-green) !important;
  border-radius: 10px !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

.vnuti-ui-shell .vnuti-product__description summary {
  color: var(--vnuti-green) !important;
  font-size: 20px !important;
  font-weight: 900 !important;
}

.vnuti-ui-shell .vnuti-product__description-content {
  margin-top: 20px !important;
  color: #626d66 !important;
  font-size: 20px !important;
  line-height: 1.55 !important;
  white-space: pre-line !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

.vnuti-ui-shell .vnuti-cart-redesign {
  min-height: 100svh !important;
  padding-bottom: 116px !important;
  background: var(--vnuti-bg) !important;
}

.vnuti-ui-shell .vnuti-cart-view__header,
.vnuti-ui-shell .vnuti-booking__header {
  min-height: 150px !important;
  padding: 42px 24px 30px !important;
  background: var(--vnuti-green) !important;
  border-radius: 0 0 20px 20px !important;
  color: #fff !important;
}

.vnuti-ui-shell .vnuti-cart-view__header h2,
.vnuti-ui-shell .vnuti-booking__header h2 {
  color: #fff !important;
  font-size: 28px !important;
  font-weight: 950 !important;
  line-height: 1.15 !important;
  text-align: center !important;
}

.vnuti-ui-shell .vnuti-cart-view__content {
  padding: 18px 16px 100px !important;
}

.vnuti-ui-shell .vnuti-cart-view__card,
.vnuti-ui-shell .vnuti-booking-card,
.vnuti-ui-shell .vnuti-booking-total,
.vnuti-ui-shell .vnuti-booking-extra {
  overflow: hidden !important;
  background: #fff !important;
  border: 0 !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 28px rgba(31,54,35,.08) !important;
}

.vnuti-ui-shell .vnuti-cart-view__card,
.vnuti-ui-shell .vnuti-booking-card {
  padding: 18px !important;
}

.vnuti-ui-shell .vnuti-cart-view-item {
  display: grid !important;
  grid-template-columns: 26px 96px minmax(0, 1fr) 98px !important;
  gap: 12px !important;
  align-items: center !important;
  padding: 16px 0 !important;
  border: 0 !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__image,
.vnuti-ui-shell .vnuti-cart-view-item__image img,
.vnuti-ui-shell .vnuti-cart-view-item__image span {
  width: 96px !important;
  height: 78px !important;
  border-radius: 8px !important;
  object-fit: cover !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__qty {
  display: grid !important;
  grid-template-columns: 30px 34px 30px !important;
  align-items: center !important;
  justify-content: end !important;
  width: 98px !important;
  height: 34px !important;
  overflow: hidden !important;
  background: #ddd !important;
  border-radius: 8px !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__qty button,
.vnuti-ui-shell .vnuti-cart-view-item__qty input {
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 34px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: #111 !important;
  font-size: 20px !important;
  font-weight: 950 !important;
  text-align: center !important;
}

.vnuti-ui-shell .vnuti-cart-view__footer,
.vnuti-ui-shell .vnuti-booking-payment {
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  bottom: 0 !important;
  z-index: 70 !important;
  width: min(100vw, var(--vnuti-app-width)) !important;
  padding: 18px 16px max(18px, env(safe-area-inset-bottom)) !important;
  transform: translateX(-50%) !important;
  background: #fff !important;
  border-radius: 22px 22px 0 0 !important;
  box-shadow: 0 -10px 34px rgba(31,54,35,.15) !important;
}

.vnuti-ui-shell .vnuti-staff--booking {
  padding-bottom: 118px !important;
}

.vnuti-ui-shell .vnuti-booking__content {
  display: grid !important;
  gap: 14px !important;
  padding: 16px !important;
}

.vnuti-ui-shell .vnuti-booking-card h3,
.vnuti-ui-shell .vnuti-booking-extra .vnuti-booking-row > span {
  color: var(--vnuti-green) !important;
  font-size: 16px !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
}

.vnuti-ui-shell .vnuti-booking-card--customer-form {
  display: grid !important;
  gap: 12px !important;
}

.vnuti-ui-shell .vnuti-booking-info input,
.vnuti-ui-shell .vnuti-booking-extra input,
.vnuti-ui-shell .vnuti-booking-extra textarea {
  width: 100% !important;
  min-height: 50px !important;
  padding: 0 14px !important;
  color: var(--vnuti-text) !important;
  background: #fff !important;
  border: 1px solid rgba(47,113,56,.22) !important;
  border-radius: 11px !important;
  outline: 0 !important;
  box-shadow: none !important;
  font-size: 15px !important;
}

.vnuti-ui-shell .vnuti-booking-extra textarea {
  min-height: 110px !important;
  padding-block: 12px !important;
}

.vnuti-ui-shell .vnuti-booking-location-row {
  display: grid !important;
  grid-template-columns: 136px minmax(0, 1fr) !important;
  gap: 10px !important;
}

.vnuti-ui-shell .vnuti-booking-location-btn {
  height: 50px !important;
  color: #fff !important;
  background: var(--vnuti-green) !important;
  border: 0 !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

.vnuti-ui-shell .vnuti-booking-total__head,
.vnuti-ui-shell .vnuti-booking-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto 34px !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 58px !important;
  padding: 0 16px !important;
  background: #fff !important;
  border: 0 !important;
}

.vnuti-ui-shell .vnuti-booking-total__head span {
  color: var(--vnuti-text) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  text-align: left !important;
}

.vnuti-ui-shell .vnuti-booking-total__head strong {
  color: var(--vnuti-red) !important;
  font-size: 20px !important;
  font-weight: 950 !important;
  white-space: nowrap !important;
}

.vnuti-ui-shell .vnuti-booking-total__items {
  padding: 0 16px 14px !important;
}

.vnuti-ui-shell .vnuti-booking-date {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  height: 52px !important;
  margin-top: 12px !important;
  padding: 0 12px !important;
  color: #607264 !important;
  background: #fff !important;
  border: 1px solid rgba(47,113,56,.08) !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 14px rgba(31,54,35,.05) !important;
  font-size: 15px !important;
}

.vnuti-ui-shell .vnuti-booking-times {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-template-rows: repeat(8, 46px) !important;
  grid-auto-columns: 118px !important;
  gap: 10px !important;
  width: 100% !important;
  margin-top: 16px !important;
  padding: 0 0 6px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x proximity !important;
  -webkit-overflow-scrolling: touch !important;
}

.vnuti-ui-shell .vnuti-booking-times::-webkit-scrollbar {
  height: 0 !important;
}

.vnuti-ui-shell .vnuti-booking-time {
  display: grid !important;
  place-items: center !important;
  width: 118px !important;
  height: 46px !important;
  padding: 0 !important;
  color: var(--vnuti-green) !important;
  background: #fff !important;
  border: 1px solid rgba(47,113,56,.14) !important;
  border-radius: 9px !important;
  box-shadow: 0 4px 9px rgba(31,54,35,.05) !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  scroll-snap-align: start !important;
}

.vnuti-ui-shell .vnuti-booking-time.is-selected {
  color: #fff !important;
  background: var(--vnuti-green) !important;
  border-color: var(--vnuti-green) !important;
}

.vnuti-ui-shell .vnuti-booking-time:disabled,
.vnuti-ui-shell .vnuti-booking-time.is-disabled {
  color: rgba(42,55,46,.18) !important;
  background: #f0f1ef !important;
  border-color: #e4e6e3 !important;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.02) !important;
  cursor: not-allowed !important;
}

.vnuti-ui-shell .vnuti-booking-note {
  margin-top: 8px !important;
  color: #8aa08b !important;
  font-size: 13px !important;
  font-style: italic !important;
  text-align: center !important;
}

.vnuti-ui-shell .vnuti-booking-extra {
  padding: 0 !important;
}

.vnuti-ui-shell .vnuti-booking-extra__panel {
  display: grid !important;
  gap: 14px !important;
  padding: 0 16px 16px !important;
}

.vnuti-ui-shell .vnuti-booking-extra__panel[hidden] {
  display: none !important;
}

.vnuti-ui-shell .vnuti-booking-payment button,
.vnuti-ui-shell .vnuti-cart-view__footer button {
  height: 56px !important;
  color: #fff !important;
  background: var(--vnuti-green) !important;
  border: 0 !important;
  border-radius: 10px !important;
  font-size: 16px !important;
  font-weight: 950 !important;
}

.vnuti-ui-shell .vnuti-booking-payment button:disabled,
.vnuti-ui-shell .vnuti-cart-view__footer button:disabled {
  color: rgba(255,255,255,.75) !important;
  background: #cfd4cf !important;
}

.vnuti-ui-shell.vnuti-ui-shell--tracking,
.vnuti-ui-shell:has(.vnuti-staff--tracking) {
  padding: 0 !important;
  background: var(--vnuti-bg) !important;
}

.vnuti-ui-shell .vnuti-staff--tracking {
  border-radius: 0 !important;
  box-shadow: none !important;
}

@media (max-width: 520px) {
  .vnuti-ui-shell {
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 0 !important;
  }

  .vnuti-ui-shell .vnuti-staff {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .vnuti-ui-shell .vnuti-staff__hero {
    min-height: 300px !important;
    padding: 64px 24px 118px !important;
  }

  .vnuti-ui-shell .vnuti-staff__panel {
    padding-inline: 14px !important;
  }

  .vnuti-ui-shell .vnuti-staff-card {
    grid-template-columns: 40% minmax(0, 1fr) !important;
    min-height: 148px !important;
  }

  .vnuti-ui-shell .vnuti-staff-card__media,
  .vnuti-ui-shell .vnuti-staff-card__image {
    min-height: 148px !important;
  }

  .vnuti-ui-shell .vnuti-product__media > img {
    height: 300px !important;
  }

  .vnuti-ui-shell .vnuti-product h1 {
    font-size: 31px !important;
  }

  .vnuti-ui-shell .vnuti-product__description-content {
    font-size: 19px !important;
  }

  .vnuti-ui-shell .vnuti-cart-view-item {
    grid-template-columns: 24px 92px minmax(0, 1fr) 92px !important;
    gap: 10px !important;
  }

  .vnuti-ui-shell .vnuti-cart-view-item__qty {
    width: 92px !important;
    grid-template-columns: 28px 36px 28px !important;
  }
}

@media (max-width: 380px) {
  .vnuti-ui-shell .vnuti-staff__filter-actions {
    grid-template-columns: 1fr 98px !important;
  }

  .vnuti-ui-shell .vnuti-staff-card h3 {
    font-size: 16px !important;
  }

  .vnuti-ui-shell .vnuti-service-list {
    gap: 10px !important;
  }

  .vnuti-ui-shell .vnuti-booking-location-row {
    grid-template-columns: 1fr !important;
  }
}

/* VNUTI compact responsive scale v1.18.42 */
.vnuti-ui-shell {
  --vnuti-app-width: 430px;
  --vnuti-font-xs: clamp(10px, 2.65vw, 12px);
  --vnuti-font-sm: clamp(11px, 2.95vw, 13px);
  --vnuti-font-md: clamp(13px, 3.35vw, 15px);
  --vnuti-font-lg: clamp(16px, 4.35vw, 20px);
  --vnuti-title-md: clamp(22px, 6.1vw, 28px);
  --vnuti-title-lg: clamp(29px, 8.4vw, 38px);
  --vnuti-control-h: clamp(40px, 10.4vw, 46px);
  --vnuti-card-pad: clamp(11px, 3.2vw, 15px);
  --vnuti-gap: clamp(8px, 2.4vw, 12px);
  padding: 18px 0 !important;
}

.vnuti-ui-shell .vnuti-staff {
  width: min(var(--vnuti-app-width), 100%) !important;
  max-width: var(--vnuti-app-width) !important;
}

.vnuti-ui-shell .vnuti-staff__hero {
  min-height: clamp(220px, 60vw, 270px) !important;
  padding: clamp(38px, 10vw, 50px) 20px clamp(88px, 24vw, 106px) !important;
}

.vnuti-ui-shell .vnuti-staff__title-row h2 {
  font-size: var(--vnuti-title-lg) !important;
}

.vnuti-ui-shell .vnuti-staff__subtitle {
  margin-top: clamp(22px, 7vw, 30px) !important;
  font-size: var(--vnuti-font-md) !important;
}

.vnuti-ui-shell .vnuti-staff__panel {
  margin-top: clamp(-72px, -17vw, -58px) !important;
  padding: 0 clamp(10px, 3vw, 14px) 24px !important;
}

.vnuti-ui-shell .vnuti-staff__filter-card {
  padding: var(--vnuti-gap) !important;
  border-radius: 16px !important;
}

.vnuti-ui-shell .vnuti-staff__search-field,
.vnuti-ui-shell .vnuti-staff__location-input {
  grid-template-columns: 38px minmax(0, 1fr) !important;
  min-height: var(--vnuti-control-h) !important;
  border-radius: 12px !important;
}

.vnuti-ui-shell .vnuti-staff__search-field input,
.vnuti-ui-shell .vnuti-staff__location-input input {
  height: var(--vnuti-control-h) !important;
  padding: 0 10px !important;
  font-size: var(--vnuti-font-sm) !important;
}

.vnuti-ui-shell .vnuti-staff__search-icon,
.vnuti-ui-shell .vnuti-staff__search-icon svg {
  width: 18px !important;
  height: 18px !important;
}

.vnuti-ui-shell .vnuti-staff__filter-actions {
  grid-template-columns: minmax(0, 1fr) clamp(88px, 25vw, 104px) !important;
  gap: var(--vnuti-gap) !important;
}

.vnuti-ui-shell .vnuti-staff__area-button,
.vnuti-ui-shell .vnuti-staff__search-submit,
.vnuti-ui-shell .vnuti-staff__area-popover > button,
.vnuti-ui-shell .vnuti-booking-location-btn {
  height: var(--vnuti-control-h) !important;
  padding: 0 11px !important;
  border-radius: 11px !important;
  font-size: var(--vnuti-font-sm) !important;
}

.vnuti-ui-shell .vnuti-staff__area-popover {
  gap: 10px !important;
  padding: 13px !important;
  border-radius: 15px !important;
}

.vnuti-ui-shell .vnuti-staff__area-popover h3 {
  font-size: var(--vnuti-font-lg) !important;
}

.vnuti-ui-shell .vnuti-staff-card {
  min-height: clamp(116px, 34vw, 140px) !important;
  border-radius: 10px !important;
}

.vnuti-ui-shell .vnuti-staff-card__media,
.vnuti-ui-shell .vnuti-staff-card__image {
  min-height: clamp(116px, 34vw, 140px) !important;
}

.vnuti-ui-shell .vnuti-staff-card__body {
  gap: 6px !important;
  padding: 10px 11px 10px 12px !important;
}

.vnuti-ui-shell .vnuti-staff-card h3 {
  font-size: clamp(14px, 3.8vw, 17px) !important;
}

.vnuti-ui-shell .vnuti-staff-card__desc,
.vnuti-ui-shell .vnuti-staff-card__tiny,
.vnuti-ui-shell .vnuti-staff-card__meta {
  font-size: clamp(9px, 2.55vw, 11px) !important;
}

.vnuti-ui-shell .vnuti-detail {
  padding: 0 12px 84px !important;
}

.vnuti-ui-shell .vnuti-detail__back {
  height: 38px !important;
  max-width: 122px !important;
  padding: 0 12px 0 7px !important;
}

.vnuti-ui-shell .vnuti-detail__back-icon {
  flex-basis: 26px !important;
  width: 26px !important;
  height: 26px !important;
  font-size: 24px !important;
}

.vnuti-ui-shell .vnuti-detail__back-label {
  font-size: 12px !important;
}

.vnuti-ui-shell .vnuti-detail__hero > img {
  height: clamp(205px, 58vw, 250px) !important;
}

.vnuti-ui-shell .vnuti-detail__avatar {
  width: 62px !important;
  height: 62px !important;
  margin-top: -32px !important;
}

.vnuti-ui-shell .vnuti-detail__hero h2 {
  font-size: var(--vnuti-title-md) !important;
}

.vnuti-ui-shell .vnuti-detail__desc,
.vnuti-ui-shell .vnuti-detail__address {
  font-size: var(--vnuti-font-sm) !important;
}

.vnuti-ui-shell .vnuti-service-list {
  gap: var(--vnuti-gap) !important;
}

.vnuti-ui-shell .vnuti-service > div {
  padding: 8px !important;
}

.vnuti-ui-shell .vnuti-service h4 {
  min-height: 32px !important;
  font-size: clamp(13px, 3.35vw, 15px) !important;
}

.vnuti-ui-shell .vnuti-service__price,
.vnuti-ui-shell .vnuti-service__duration {
  font-size: var(--vnuti-font-xs) !important;
}

.vnuti-ui-shell .vnuti-product__media > img {
  height: clamp(245px, 68vw, 300px) !important;
}

.vnuti-ui-shell .vnuti-product__body {
  padding: 22px 20px 30px !important;
}

.vnuti-ui-shell .vnuti-product h1 {
  font-size: clamp(24px, 7vw, 31px) !important;
}

.vnuti-ui-shell .vnuti-product__share {
  width: 44px !important;
  height: 44px !important;
}

.vnuti-ui-shell .vnuti-product__price {
  margin-top: 20px !important;
  font-size: clamp(30px, 8vw, 38px) !important;
}

.vnuti-ui-shell .vnuti-product__duration-option {
  height: var(--vnuti-control-h) !important;
  font-size: var(--vnuti-font-md) !important;
}

.vnuti-ui-shell .vnuti-product__provider {
  grid-template-columns: 58px minmax(0, 1fr) auto !important;
  gap: 10px !important;
}

.vnuti-ui-shell .vnuti-product__provider img {
  width: 54px !important;
  height: 54px !important;
}

.vnuti-ui-shell .vnuti-product__provider h3 {
  font-size: var(--vnuti-font-lg) !important;
}

.vnuti-ui-shell .vnuti-product__provider a {
  padding: 9px 13px !important;
  font-size: var(--vnuti-font-sm) !important;
}

.vnuti-ui-shell .vnuti-product__description-content {
  font-size: clamp(15px, 4.2vw, 18px) !important;
  line-height: 1.5 !important;
}

.vnuti-ui-shell .vnuti-cart-bar,
.vnuti-ui-shell .vnuti-product__footer {
  padding: 10px !important;
  border-radius: 16px !important;
}

.vnuti-ui-shell .vnuti-cart-bar a,
.vnuti-ui-shell .vnuti-cart-bar button,
.vnuti-ui-shell .vnuti-product__footer button {
  height: var(--vnuti-control-h) !important;
  padding: 0 16px !important;
  font-size: var(--vnuti-font-md) !important;
}

.vnuti-ui-shell .vnuti-cart-view__header,
.vnuti-ui-shell .vnuti-booking__header {
  min-height: clamp(112px, 31vw, 136px) !important;
  padding: 34px 18px 24px !important;
}

.vnuti-ui-shell .vnuti-cart-view__header h2,
.vnuti-ui-shell .vnuti-booking__header h2 {
  font-size: var(--vnuti-title-md) !important;
}

.vnuti-ui-shell .vnuti-cart-view__content,
.vnuti-ui-shell .vnuti-booking__content {
  padding: 14px !important;
}

.vnuti-ui-shell .vnuti-cart-view__card,
.vnuti-ui-shell .vnuti-booking-card {
  padding: var(--vnuti-card-pad) !important;
}

.vnuti-ui-shell .vnuti-cart-view__card h3 {
  font-size: var(--vnuti-title-md) !important;
}

.vnuti-ui-shell .vnuti-cart-view__summary span {
  font-size: var(--vnuti-font-md) !important;
}

.vnuti-ui-shell .vnuti-cart-view__summary strong {
  font-size: var(--vnuti-font-lg) !important;
}

.vnuti-ui-shell .vnuti-cart-view-item {
  grid-template-columns: 24px clamp(70px, 20vw, 88px) minmax(0, 1fr) clamp(82px, 23vw, 92px) !important;
  gap: 9px !important;
  padding: 12px 0 !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__image,
.vnuti-ui-shell .vnuti-cart-view-item__image img,
.vnuti-ui-shell .vnuti-cart-view-item__image span {
  width: clamp(70px, 20vw, 88px) !important;
  height: clamp(58px, 16vw, 72px) !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__body h4 {
  display: -webkit-box !important;
  overflow: hidden !important;
  font-size: var(--vnuti-font-md) !important;
  line-height: 1.2 !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__body p,
.vnuti-ui-shell .vnuti-cart-view-item__body strong {
  font-size: var(--vnuti-font-sm) !important;
  white-space: nowrap !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__qty {
  width: clamp(82px, 23vw, 92px) !important;
  height: 32px !important;
  grid-template-columns: 27px minmax(26px, 1fr) 27px !important;
}

.vnuti-ui-shell .vnuti-cart-view-item__qty button,
.vnuti-ui-shell .vnuti-cart-view-item__qty input {
  height: 32px !important;
  font-size: 17px !important;
}

.vnuti-ui-shell .vnuti-booking-card h3,
.vnuti-ui-shell .vnuti-booking-extra .vnuti-booking-row > span {
  font-size: var(--vnuti-font-md) !important;
}

.vnuti-ui-shell .vnuti-booking-info input,
.vnuti-ui-shell .vnuti-booking-extra input,
.vnuti-ui-shell .vnuti-booking-extra textarea {
  min-height: var(--vnuti-control-h) !important;
  font-size: var(--vnuti-font-sm) !important;
}

.vnuti-ui-shell .vnuti-booking-total__head,
.vnuti-ui-shell .vnuti-booking-row {
  min-height: clamp(50px, 13vw, 56px) !important;
  padding: 0 14px !important;
}

.vnuti-ui-shell .vnuti-booking-total__head span {
  font-size: var(--vnuti-font-md) !important;
}

.vnuti-ui-shell .vnuti-booking-total__head strong {
  font-size: var(--vnuti-font-lg) !important;
}

.vnuti-ui-shell .vnuti-booking-date {
  height: var(--vnuti-control-h) !important;
  font-size: var(--vnuti-font-sm) !important;
}

.vnuti-ui-shell .vnuti-booking-times {
  grid-template-rows: repeat(8, clamp(38px, 10vw, 44px)) !important;
  grid-auto-columns: clamp(90px, 25vw, 110px) !important;
  gap: var(--vnuti-gap) !important;
}

.vnuti-ui-shell .vnuti-booking-time {
  width: clamp(90px, 25vw, 110px) !important;
  height: clamp(38px, 10vw, 44px) !important;
  font-size: clamp(13px, 3.6vw, 16px) !important;
}

.vnuti-ui-shell .vnuti-booking-payment,
.vnuti-ui-shell .vnuti-cart-view__footer {
  padding: 14px 14px max(14px, env(safe-area-inset-bottom)) !important;
}

.vnuti-ui-shell .vnuti-booking-payment button,
.vnuti-ui-shell .vnuti-cart-view__footer button {
  height: var(--vnuti-control-h) !important;
  font-size: var(--vnuti-font-md) !important;
}

@media (max-width: 600px) {
  .vnuti-ui-shell .vnuti-staff {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .vnuti-ui-shell .vnuti-cart-view__footer {
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    gap: 12px !important;
    align-items: center !important;
  }

  .vnuti-ui-shell .vnuti-cart-view__footer button {
    min-width: 92px !important;
    padding: 0 14px !important;
  }
}

@media (max-width: 390px) {
  .vnuti-ui-shell {
    --vnuti-app-width: 100vw;
  }

  .vnuti-ui-shell .vnuti-cart-view-item {
    grid-template-columns: 24px 72px minmax(0, 1fr) !important;
    align-items: start !important;
  }

  .vnuti-ui-shell .vnuti-cart-view-item__qty {
    grid-column: 3 / 4 !important;
    justify-self: end !important;
    margin-top: 6px !important;
  }

  .vnuti-ui-shell .vnuti-cart-view__footer {
    grid-template-columns: 1fr auto auto !important;
    gap: 10px !important;
  }

  .vnuti-ui-shell .vnuti-cart-view__footer label {
    font-size: var(--vnuti-font-sm) !important;
  }

  .vnuti-ui-shell .vnuti-cart-view__footer button {
    min-width: 74px !important;
    padding-inline: 12px !important;
  }
}

/* Booking time grid normalization: 8 rows, horizontal columns, page remains scrollable. */
.vnuti-ui-shell .vnuti-booking-times {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-template-rows: repeat(8, 46px) !important;
  grid-auto-columns: 112px !important;
  grid-template-columns: none !important;
  align-items: stretch !important;
  justify-content: start !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: calc((46px * 8) + (12px * 7)) !important;
  margin: 16px 0 0 !important;
  padding: 0 0 10px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: auto !important;
  touch-action: auto !important;
  scrollbar-width: none !important;
}

.vnuti-ui-shell .vnuti-booking-times::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
}

.vnuti-ui-shell .vnuti-booking-times .vnuti-booking-time,
.vnuti-ui-shell .vnuti-booking-times button {
  display: inline-grid !important;
  place-items: center !important;
  width: 112px !important;
  min-width: 112px !important;
  max-width: 112px !important;
  height: 46px !important;
  min-height: 46px !important;
  max-height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--vnuti-green) !important;
  background: #fff !important;
  border: 1px solid rgba(47,113,56,.13) !important;
  border-radius: 9px !important;
  box-shadow: 0 6px 12px rgba(31,54,35,.08) !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  scroll-snap-align: start !important;
}

.vnuti-ui-shell .vnuti-booking-times .vnuti-booking-time.is-selected,
.vnuti-ui-shell .vnuti-booking-times button.is-selected {
  color: #fff !important;
  background: var(--vnuti-green) !important;
  border-color: var(--vnuti-green) !important;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-booking-times .vnuti-booking-time.is-busy,
.vnuti-ui-shell .vnuti-booking-times .vnuti-booking-time:disabled,
.vnuti-ui-shell .vnuti-booking-times button.is-busy,
.vnuti-ui-shell .vnuti-booking-times button:disabled {
  color: #aebcaf !important;
  background: #d9dcda !important;
  border-color: #d9dcda !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
  opacity: 1 !important;
}

@media (min-width: 900px) {
  .vnuti-ui-shell .vnuti-booking-times {
    grid-auto-columns: 104px !important;
  }

  .vnuti-ui-shell .vnuti-booking-times .vnuti-booking-time,
  .vnuti-ui-shell .vnuti-booking-times button {
    width: 104px !important;
    min-width: 104px !important;
    max-width: 104px !important;
  }
}

@media (max-width: 520px) {
  .vnuti-ui-shell .vnuti-booking-times {
    grid-template-rows: repeat(8, 40px) !important;
    grid-auto-columns: 88px !important;
    gap: 10px !important;
    min-height: calc((40px * 8) + (10px * 7)) !important;
    touch-action: auto !important;
  }

  .vnuti-ui-shell .vnuti-booking-times .vnuti-booking-time,
  .vnuti-ui-shell .vnuti-booking-times button {
    width: 88px !important;
    min-width: 88px !important;
    max-width: 88px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
  }
}

/* Long product names should wrap instead of being truncated in cart/booking. */
.vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total-item {
  grid-template-columns: 74px minmax(0, 1fr) auto !important;
  align-items: start !important;
}

.vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total-item__body,
.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__body {
  min-width: 0 !important;
}

.vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total-item__body strong,
.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__body h4 {
  display: block !important;
  max-width: 100% !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: initial !important;
}

.vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total-item__side {
  min-width: 92px !important;
}

@media (max-width: 520px) {
  .vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total-item {
    grid-template-columns: 92px minmax(0, 1fr) auto !important;
    gap: 10px !important;
  }

  .vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total-item__side {
    min-width: 88px !important;
  }
}

/* Final mobile polish: keep product/cart bottom actions consistent on real iPhone Safari. */
.vnuti-ui-shell {
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

@media (max-width: 768px) {
  .vnuti-ui-shell input,
  .vnuti-ui-shell select,
  .vnuti-ui-shell textarea {
    font-size: 16px !important;
  }
}

.vnuti-ui-shell .vnuti-product__footer {
  display: block !important;
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  bottom: max(12px, env(safe-area-inset-bottom)) !important;
  z-index: 80 !important;
  width: min(calc(100vw - 28px), var(--vnuti-app-width, 430px)) !important;
  transform: translateX(-50%) !important;
  padding: 12px !important;
  background: #fff !important;
  border-radius: 20px !important;
  box-shadow: 0 -10px 34px rgba(31, 54, 35, .16) !important;
}

.vnuti-ui-shell .vnuti-product__footer button {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 58px !important;
  padding: 0 22px !important;
  color: #fff !important;
  background: var(--vnuti-green) !important;
  border: 0 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-align: left !important;
  white-space: nowrap !important;
}

.vnuti-ui-shell .vnuti-product {
  padding-bottom: 124px !important;
}

@media (max-width: 520px) {
  .vnuti-ui-shell .vnuti-product__footer {
    width: calc(100vw - 28px) !important;
    padding: 10px !important;
    border-radius: 18px !important;
  }

  .vnuti-ui-shell .vnuti-product__footer button {
    height: 56px !important;
    padding: 0 20px !important;
    font-size: clamp(16px, 4.8vw, 18px) !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__card {
    overflow: hidden !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item {
    display: grid !important;
    grid-template-columns: 34px 86px minmax(0, 1fr) !important;
    grid-template-areas:
      "check image body"
      "check image qty" !important;
    column-gap: 12px !important;
    row-gap: 8px !important;
    align-items: center !important;
    padding: 14px 0 !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__check {
    grid-area: check !important;
    align-self: center !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__image {
    grid-area: image !important;
    width: 86px !important;
    min-width: 86px !important;
    height: 70px !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__body {
    grid-area: body !important;
    min-width: 0 !important;
    padding: 0 !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__body h4 {
    display: -webkit-box !important;
    max-width: 100% !important;
    margin: 0 0 5px !important;
    overflow: hidden !important;
    color: #1f2520 !important;
    font-size: clamp(14px, 4.2vw, 17px) !important;
    font-weight: 900 !important;
    line-height: 1.14 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__body p {
    margin: 0 0 5px !important;
    color: #1f2520 !important;
    font-size: clamp(13px, 3.9vw, 15px) !important;
    line-height: 1.2 !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__body strong {
    display: block !important;
    max-width: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
    color: var(--vnuti-red) !important;
    font-size: clamp(13px, 4vw, 16px) !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__qty {
    grid-area: qty !important;
    justify-self: end !important;
    position: static !important;
    width: 118px !important;
    height: 34px !important;
    margin: 0 !important;
    transform: none !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__qty button,
  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__qty input {
    height: 34px !important;
    font-size: 16px !important;
    line-height: 34px !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__footer {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    gap: 10px !important;
    align-items: center !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__footer button {
    min-width: 86px !important;
    padding: 0 14px !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 380px) {
  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item {
    grid-template-columns: 28px 76px minmax(0, 1fr) !important;
    column-gap: 10px !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__image {
    width: 76px !important;
    min-width: 76px !important;
    height: 64px !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view-item__qty {
    width: 104px !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__footer {
    gap: 8px !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__footer button {
    min-width: 76px !important;
    padding: 0 10px !important;
  }
}

/* Home screen */
.vnuti-ui-shell .vnuti-home {
  width: min(100%, 390px);
  min-height: 100svh;
  margin: 0 auto;
  overflow: hidden;
  background: #fff;
  color: var(--vnuti-text);
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

.vnuti-ui-shell .vnuti-home__hero {
  position: relative;
  min-height: 150px;
  padding: 18px 14px 0;
  color: #fff;
  background:
    radial-gradient(circle at 78% 8%, rgba(255, 255, 255, 0.13), transparent 28%),
    linear-gradient(126deg, rgba(255, 255, 255, 0.1) 0 31%, transparent 31%),
    linear-gradient(140deg, #34763f, #235a2c);
}

.vnuti-ui-shell .vnuti-home__top {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.vnuti-ui-shell .vnuti-home__brand {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 27px;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1;
  color: #fff;
}

.vnuti-ui-shell .vnuti-home__brand span {
  color: var(--vnuti-red);
}

.vnuti-ui-shell .vnuti-home__brand strong {
  color: #fff;
}

.vnuti-ui-shell .vnuti-home__actions {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.vnuti-ui-shell .vnuti-home__icon-button,
.vnuti-ui-shell .vnuti-home__menu,
.vnuti-ui-shell .vnuti-home__scan,
.vnuti-ui-shell .vnuti-home__heart {
  position: relative;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: transparent;
  color: #fff;
}

.vnuti-ui-shell .vnuti-home__icon-button {
  left: -5px !important;
  transform: scale(1.1) !important;
  transform-origin: center !important;
}

.vnuti-ui-shell .vnuti-home__icon-button--cart {
  margin-left: auto !important;
  left: 0 !important;
}

.vnuti-ui-shell .vnuti-home__icon-button svg,
.vnuti-ui-shell .vnuti-home__scan svg,
.vnuti-ui-shell .vnuti-home__heart svg {
  width: 25px;
  height: 25px;
}

.vnuti-ui-shell .vnuti-home__icon-button [data-home-cart-count] {
  position: absolute;
  top: 0;
  right: 1px;
  min-width: 15px;
  height: 15px;
  padding: 0 4px;
  border-radius: 999px;
  background: var(--vnuti-red);
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  line-height: 15px;
  text-align: center;
}

.vnuti-ui-shell .vnuti-home__menu {
  flex-direction: column;
  gap: 5px;
}

.vnuti-ui-shell .vnuti-home__menu span {
  width: 24px;
  height: 2px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.85);
}

.vnuti-ui-shell .vnuti-home__search {
  position: absolute;
  z-index: 5;
  left: 14px;
  right: 14px;
  bottom: -22px;
  height: 46px;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) 42px;
  align-items: center;
  margin: 0;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(28, 39, 31, 0.18);
}

.vnuti-ui-shell .vnuti-home__search label {
  height: 100%;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-width: 0;
  border-left: 1px solid #edf1ec;
  color: #8a968d;
}

.vnuti-ui-shell .vnuti-home__search label svg {
  width: 24px;
  height: 24px;
  color: #8a968d;
}

.vnuti-ui-shell .vnuti-home__search input {
  width: 100%;
  height: 100%;
  min-width: 0;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #243026;
  font-size: 13px;
}

.vnuti-ui-shell .vnuti-home__search input::placeholder {
  color: #c5cbc6;
  opacity: 1;
}

.vnuti-ui-shell .vnuti-home__scan,
.vnuti-ui-shell .vnuti-home__heart {
  width: 100%;
  height: 100%;
  color: #9ca5a0;
}

.vnuti-ui-shell .entry-content a,
.vnuti-ui-shell .entry-content a:hover,
.vnuti-ui-shell .entry-content a:focus,
.vnuti-ui-shell .entry-content a:visited {
  text-decoration: none !important;
}

.vnuti-ui-shell .vnuti-home__category-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 48px 14px 28px;
}

.vnuti-ui-shell .vnuti-home-category {
  min-height: 118px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 58px;
  gap: 8px;
  padding: 16px 10px 12px;
  border-radius: 6px;
  background: #f8faf5;
  color: #202820;
  box-shadow: 0 5px 14px rgba(28, 39, 31, 0.06);
}

.vnuti-ui-shell .vnuti-home-category strong {
  display: block;
  margin: 0 0 8px;
  color: #27312b;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.15;
}

.vnuti-ui-shell .vnuti-home-category small {
  display: block;
  color: #68746c;
  font-size: 11px;
  line-height: 1.25;
}

.vnuti-ui-shell .vnuti-home-illus {
  align-self: end;
  justify-self: end;
  width: 66px;
  height: 74px;
  border-radius: 16px 16px 8px 8px;
  background: linear-gradient(145deg, #dcebd9, #f6f1df);
  position: relative;
  overflow: hidden;
}

.vnuti-ui-shell .vnuti-home-illus::before,
.vnuti-ui-shell .vnuti-home-illus::after {
  content: "";
  position: absolute;
  display: block;
}

.vnuti-ui-shell .vnuti-home-illus--shop::before {
  left: 13px;
  right: 13px;
  bottom: 9px;
  height: 42px;
  border-radius: 8px 8px 3px 3px;
  background: #6d8b5e;
  box-shadow: inset 0 -18px 0 #a87b54;
}

.vnuti-ui-shell .vnuti-home-illus--shop::after {
  left: 22px;
  top: 13px;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 30px 0 -7px #244f2a, -24px 38px 0 -8px #7aa26f, 23px 35px 0 -8px #7aa26f;
}

.vnuti-ui-shell .vnuti-home-illus--home::before {
  left: 9px;
  bottom: 13px;
  width: 34px;
  height: 22px;
  border-radius: 14px 14px 8px 8px;
  background: #2f6b35;
  box-shadow: 15px -18px 0 -4px #dfead7, 31px -15px 0 -7px #2f6b35;
}

.vnuti-ui-shell .vnuti-home-illus--home::after {
  left: 6px;
  bottom: 7px;
  width: 47px;
  height: 8px;
  border-radius: 999px;
  background: #233629;
  box-shadow: 4px -20px 0 -2px #244f2a, 41px -20px 0 -2px #244f2a;
}

.vnuti-ui-shell .vnuti-home-section {
  padding: 0 14px 22px;
}

.vnuti-ui-shell .vnuti-home-section h2 {
  margin: 0 0 18px;
  color: var(--vnuti-green);
  font-size: 18px;
  font-weight: 900;
}

.vnuti-ui-shell .vnuti-home-service-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px 18px;
}

.vnuti-ui-shell .vnuti-home-service {
  display: grid;
  justify-items: center;
  gap: 8px;
  color: #5f6c63;
  text-align: center;
}

.vnuti-ui-shell .vnuti-home-service__icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border: 1px solid #dfe8dd;
  border-radius: 8px;
  background: #fff;
  color: #7ba67f;
  box-shadow: 0 5px 12px rgba(28, 39, 31, 0.04);
}

.vnuti-ui-shell .vnuti-home-service__icon::before {
  content: "";
  width: 30px;
  height: 30px;
  display: block;
  border: 2px solid currentColor;
  border-radius: 50% 45% 55% 40%;
  opacity: 0.9;
}

.vnuti-ui-shell .vnuti-home-service__icon--relax::before { border-radius: 70% 30% 65% 35%; transform: rotate(-20deg); }
.vnuti-ui-shell .vnuti-home-service__icon--mother::before { border-radius: 55% 45% 45% 55%; box-shadow: inset 8px 0 0 rgba(123, 166, 127, 0.16); }
.vnuti-ui-shell .vnuti-home-service__icon--skin::before { border-radius: 45% 55% 50% 50%; transform: rotate(18deg); }
.vnuti-ui-shell .vnuti-home-service__icon--makeup::before { border-radius: 55% 45% 45% 55%; box-shadow: 10px -8px 0 -7px currentColor; }
.vnuti-ui-shell .vnuti-home-service__icon--nail::before { width: 24px; height: 34px; border-radius: 50% 50% 10px 10px; transform: rotate(35deg); }
.vnuti-ui-shell .vnuti-home-service__icon--lash::before { width: 34px; height: 18px; border-width: 0 0 2px; border-radius: 50%; box-shadow: 0 7px 0 -5px currentColor; }
.vnuti-ui-shell .vnuti-home-service__icon--hair::before { border-radius: 70% 25% 60% 40%; box-shadow: inset -8px 0 0 rgba(123, 166, 127, 0.16); }
.vnuti-ui-shell .vnuti-home-service__icon--more::before { width: 8px; height: 8px; border: 0; border-radius: 999px; background: currentColor; box-shadow: 12px 0 0 currentColor, -12px 0 0 currentColor; }

.vnuti-ui-shell .vnuti-home-service em {
  display: block;
  min-height: 28px;
  color: #5e6861;
  font-size: 10px;
  font-style: normal;
  line-height: 1.25;
}

.vnuti-ui-shell .vnuti-home-banner {
  min-height: 100px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 150px;
  gap: 10px;
  align-items: stretch;
  margin: 8px 14px 18px;
  overflow: hidden;
  border-radius: 8px;
  background: linear-gradient(90deg, #fff9ec, #fff);
  box-shadow: 0 8px 20px rgba(28, 39, 31, 0.07);
}

.vnuti-ui-shell .vnuti-home-banner div {
  padding: 18px 0 14px 18px;
}

.vnuti-ui-shell .vnuti-home-banner strong {
  display: block;
  margin-bottom: 7px;
  color: #25312a;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.15;
}

.vnuti-ui-shell .vnuti-home-banner p {
  max-width: 170px;
  margin: 0;
  color: #6b756d;
  font-size: 11px;
  line-height: 1.35;
}

.vnuti-ui-shell .vnuti-home-banner > span {
  position: relative;
  display: block;
  min-height: 100%;
  background:
    radial-gradient(circle at 68% 34%, #f2dfc4 0 20px, transparent 21px),
    linear-gradient(140deg, transparent 0 26%, #2f6b35 27% 33%, transparent 34%),
    linear-gradient(145deg, #d9ead6, #fff);
}

.vnuti-ui-shell .vnuti-home-banner > span::before {
  content: "";
  position: absolute;
  right: 26px;
  bottom: 14px;
  width: 82px;
  height: 34px;
  border-radius: 45px 45px 12px 12px;
  background: #cfa784;
  box-shadow: inset 0 10px 0 rgba(255, 255, 255, 0.35), -18px 2px 0 -8px #2f6b35;
}

.vnuti-ui-shell .vnuti-home-provider {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  margin: 0 14px 22px;
  padding: 14px;
  border-radius: 8px;
  background: #f8f9fb;
  box-shadow: 0 8px 20px rgba(28, 39, 31, 0.06);
}

.vnuti-ui-shell .vnuti-home-provider > span {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--vnuti-green);
  color: #fff;
}

.vnuti-ui-shell .vnuti-home-provider > span svg {
  width: 25px;
  height: 25px;
}

.vnuti-ui-shell .vnuti-home-provider strong {
  display: block;
  margin-bottom: 4px;
  color: #27312b;
  font-size: 17px;
  font-weight: 900;
}

.vnuti-ui-shell .vnuti-home-provider p {
  margin: 0;
  color: #69746d;
  font-size: 11px;
  line-height: 1.35;
}

.vnuti-ui-shell .vnuti-home-provider a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 13px;
  border-radius: 9px;
  background: var(--vnuti-green);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

@media (min-width: 900px) {
  .vnuti-ui-shell .vnuti-home {
    width: min(100%, 430px);
    margin-block: 28px;
    border-radius: 28px;
    box-shadow: 0 30px 90px rgba(27, 56, 34, 0.12);
  }
}

/* Quick order screen */
.vnuti-ui-shell .vnuti-quick,
.vnuti-ui-shell .vnuti-quick * {
  box-sizing: border-box;
}

.vnuti-ui-shell .vnuti-quick {
  --quick-green: #2f7138;
  --quick-green-dark: #195525;
  --quick-soft: #eef5ef;
  --quick-red: #f21f30;
  width: min(100%, 430px);
  min-height: 100vh;
  margin: 0 auto;
  padding: 0 14px 28px;
  background:
    linear-gradient(150deg, rgba(47, 113, 56, 0.1), transparent 38%),
    #f4faf4;
  color: #1f2c22;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

.vnuti-ui-shell .vnuti-quick a,
.vnuti-ui-shell .vnuti-quick button {
  font: inherit;
}

.vnuti-ui-shell .vnuti-quick__hero {
  position: relative;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  min-height: 108px;
  margin: 0 -14px 18px;
  padding: 42px 18px 16px;
  border-radius: 0 0 18px 18px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.12) 0 28%, transparent 28.4%),
    linear-gradient(135deg, #3b8144, var(--quick-green-dark));
  box-shadow: 0 14px 28px rgba(25, 85, 37, 0.14);
}

.vnuti-ui-shell .vnuti-quick__back {
  position: relative;
  display: inline-flex;
  width: 30px;
  height: 38px;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-decoration: none;
}

.vnuti-ui-shell .vnuti-quick__back::before {
  content: "";
  width: 14px;
  height: 14px;
  border-left: 3px solid currentColor;
  border-bottom: 3px solid currentColor;
  transform: rotate(45deg);
}

.vnuti-ui-shell .vnuti-quick__address {
  appearance: none;
  -webkit-appearance: none;
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  width: 100%;
  min-height: 46px;
  margin: 0;
  padding: 0 12px;
  border: 0;
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
  pointer-events: auto;
  touch-action: manipulation;
  box-shadow: 0 8px 18px rgba(21, 47, 27, 0.18);
  text-align: left;
}

.vnuti-ui-shell .vnuti-quick__address svg {
  width: 18px;
  height: 18px;
  color: var(--quick-green);
}

.vnuti-ui-shell .vnuti-quick__address span {
  overflow: hidden;
  color: #1f2c22;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vnuti-ui-shell .vnuti-quick-location[hidden] {
  display: none !important;
}

.vnuti-ui-shell .vnuti-quick-location {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: grid;
  place-items: end center;
  padding: 18px;
  pointer-events: auto;
}

.vnuti-ui-shell .vnuti-quick-location__backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  background: rgba(20, 29, 22, 0.48);
  cursor: pointer;
}

.vnuti-ui-shell .vnuti-quick-location__sheet {
  position: relative;
  z-index: 1;
  width: min(100%, 460px);
  max-height: min(86vh, 760px);
  overflow: auto;
  padding: 12px 14px 18px;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(15, 36, 19, 0.28);
}

.vnuti-ui-shell .vnuti-quick-location__handle {
  width: 46px;
  height: 5px;
  margin: 0 auto 12px;
  border-radius: 999px;
  background: #d8e3d9;
}

.vnuti-ui-shell .vnuti-quick-location__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 40px;
  gap: 12px;
  align-items: start;
  margin-bottom: 14px;
}

.vnuti-ui-shell .vnuti-quick-location__header h2 {
  margin: 0 0 4px;
  color: #14251a;
  font-size: 22px;
  font-weight: 950;
  line-height: 1.15;
  letter-spacing: 0;
}

.vnuti-ui-shell .vnuti-quick-location__header p {
  margin: 0;
  color: #718176;
  font-size: 13px;
  line-height: 1.35;
}

.vnuti-ui-shell .vnuti-quick-location__close {
  display: inline-grid;
  width: 40px;
  height: 40px;
  place-items: center;
  align-self: start;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #eff6f0;
  color: var(--quick-green);
  cursor: pointer;
  box-shadow: inset 0 0 0 1px rgba(47, 113, 56, 0.08);
}

.vnuti-ui-shell .vnuti-quick-location__close svg {
  width: 18px;
  height: 18px;
  display: block;
}

.vnuti-ui-shell .vnuti-quick-location__input {
  position: relative;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  min-height: 52px;
  margin-bottom: 12px;
  border: 1px solid #d8e3d9;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(28, 39, 31, 0.05);
}

.vnuti-ui-shell .vnuti-quick-location__input svg {
  justify-self: center;
  width: 19px;
  height: 19px;
  color: var(--quick-green);
}

.vnuti-ui-shell .vnuti-quick-location__input input {
  width: 100%;
  min-width: 0;
  height: 50px;
  border: 0;
  outline: 0;
  background: transparent;
  color: #1f2c22;
  font-size: 15px;
  font-weight: 700;
}

.vnuti-ui-shell .vnuti-quick-location__input input::placeholder {
  color: #a3ada6;
  font-weight: 650;
}

.vnuti-ui-shell .vnuti-quick-location__suggestions {
  display: grid;
  gap: 8px;
  max-height: 260px;
  overflow: auto;
  margin: 0 0 12px;
  padding: 8px;
  border: 1px solid #dce6de;
  border-radius: 14px;
  background: #fbfdfb;
}

.vnuti-ui-shell .vnuti-quick-location__suggestions[hidden] {
  display: none !important;
}

.vnuti-ui-shell .vnuti-quick-location__suggestions button {
  display: block;
  width: 100%;
  margin: 0;
  padding: 12px 13px;
  border: 1px solid transparent;
  border-radius: 11px;
  background: #fff;
  color: #1f2c22;
  cursor: pointer;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.35;
  text-align: left;
  box-shadow: 0 4px 12px rgba(28, 39, 31, 0.05);
}

.vnuti-ui-shell .vnuti-quick-location__suggestions button:hover,
.vnuti-ui-shell .vnuti-quick-location__suggestions button:focus-visible {
  border-color: rgba(47, 113, 56, 0.38);
  outline: none;
  color: var(--quick-green);
}

.vnuti-ui-shell .vnuti-quick-location__map {
  position: relative;
  height: 220px;
  overflow: hidden;
  margin: 0 0 10px;
  border-radius: 16px;
  background: #dcecdf;
  isolation: isolate;
  touch-action: auto;
}

.vnuti-ui-shell .vnuti-quick-location__map::before,
.vnuti-ui-shell .vnuti-quick-location__map::after {
  content: none;
}

.vnuti-ui-shell .vnuti-quick-location__map-canvas,
.vnuti-ui-shell .vnuti-quick-location__map-canvas.leaflet-container {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: #dcecdf;
  font-family: inherit;
  touch-action: auto;
  pointer-events: auto;
}

.vnuti-ui-shell .vnuti-quick-location__map .leaflet-control-container {
  position: relative;
  z-index: 3;
}

.vnuti-ui-shell .vnuti-quick-location__map .leaflet-control-zoom {
  overflow: hidden;
  border: 1px solid rgba(47, 113, 56, 0.18);
  border-radius: 10px;
  box-shadow: 0 8px 20px rgba(31, 44, 34, 0.12);
}

.vnuti-ui-shell .vnuti-quick-location__map .leaflet-control-zoom a {
  color: var(--quick-green);
  font-weight: 900;
}

.vnuti-ui-shell .vnuti-quick-location__map-pin {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  width: 34px;
  height: 34px;
  border-radius: 50% 50% 50% 0;
  background: var(--quick-green);
  box-shadow: 0 10px 22px rgba(47, 113, 56, 0.28);
  pointer-events: none;
  transform: translate(-50%, -70%) rotate(-45deg);
}

.vnuti-ui-shell .vnuti-quick-location__map-pin::after {
  content: "";
  position: absolute;
  top: 10px;
  left: 10px;
  width: 14px;
  height: 14px;
  border-radius: 999px;
  background: #fff;
}

.vnuti-ui-shell .vnuti-quick-location__selected {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  margin-bottom: 12px;
  padding: 12px;
  border: 1px solid #dce6de;
  border-radius: 14px;
  background: #fbfdfb;
}

.vnuti-ui-shell .vnuti-quick-location__selected > svg {
  width: 20px;
  height: 20px;
  justify-self: center;
  color: var(--quick-green);
}

.vnuti-ui-shell .vnuti-quick-location__selected strong {
  display: block;
  color: #1f2c22;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.35;
  word-break: break-word;
}

.vnuti-ui-shell .vnuti-quick-location__selected small {
  display: block;
  margin-top: 3px;
  color: #7a877e;
  font-size: 12px;
  font-weight: 700;
}

.vnuti-ui-shell .vnuti-quick-location__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.vnuti-ui-shell .vnuti-quick-location__actions button {
  min-height: 46px;
  margin: 0;
  padding: 0 14px;
  border-radius: 14px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 900;
}

.vnuti-ui-shell .vnuti-quick-location__actions button:disabled {
  cursor: progress;
  opacity: .72;
}

.vnuti-ui-shell .vnuti-quick-location__ghost {
  border: 1px solid #d8e3d9;
  background: #fff;
  color: var(--quick-green);
}

.vnuti-ui-shell .vnuti-quick-location__primary {
  grid-column: 1 / -1;
  border: 0;
  background: var(--quick-green);
  color: #fff;
}

.vnuti-ui-shell .vnuti-quick__tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 0 0 24px;
}

.vnuti-ui-shell .vnuti-quick__tabs button,
.vnuti-ui-shell .vnuti-quick__tabs a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  min-height: 46px;
  gap: 8px;
  padding: 0 12px;
  border: 1px solid #d8e3d9;
  border-radius: 7px;
  background: #fff;
  color: #9aa49d;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
  text-transform: uppercase;
  box-shadow: 0 8px 20px rgba(28, 39, 31, 0.05);
}

.vnuti-ui-shell .vnuti-quick__tabs .is-active {
  border-color: var(--quick-green);
  color: var(--quick-green);
}

.vnuti-ui-shell .vnuti-quick__tabs svg {
  width: 17px;
  height: 17px;
}

.vnuti-ui-shell .vnuti-quick__tabs i {
  display: inline-grid;
  width: 16px;
  height: 16px;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: 10px;
  font-style: normal;
  line-height: 1;
  opacity: 0.85;
}

.vnuti-ui-shell .vnuti-quick__standard {
  padding: 0 2px;
}

.vnuti-ui-shell [data-quick-panel][hidden] {
  display: none !important;
}

.vnuti-ui-shell .vnuti-quick__custom {
  padding: 0 2px 92px;
}

.vnuti-ui-shell .vnuti-quick-custom-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.vnuti-ui-shell .vnuti-quick-custom-list .vnuti-staff-card {
  min-height: 150px;
  margin: 0;
}

.vnuti-ui-shell .vnuti-quick__empty a {
  color: var(--quick-green);
  font-weight: 900;
}

.vnuti-ui-shell .vnuti-quick__heading {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  align-items: start;
  gap: 8px;
  margin-bottom: 15px;
}

.vnuti-ui-shell .vnuti-quick__heading > span {
  color: var(--quick-green);
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
}

.vnuti-ui-shell .vnuti-quick__heading > svg {
  width: 20px;
  height: 20px;
  color: var(--quick-green);
}

.vnuti-ui-shell .vnuti-quick__heading h1 {
  margin: 0 0 3px;
  color: #1f2c22;
  font-size: 15px;
  font-weight: 950;
  line-height: 1.18;
  text-transform: uppercase;
  letter-spacing: 0;
}

.vnuti-ui-shell .vnuti-quick__heading p {
  margin: 0;
  color: #9aa49d;
  font-size: 12px;
  line-height: 1.3;
}

.vnuti-ui-shell .vnuti-quick__heading em {
  align-self: center;
  padding: 4px 9px;
  border-radius: 999px;
  background: #fff5a8;
  color: #b48500;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
  white-space: nowrap;
}

.vnuti-ui-shell .vnuti-quick-cats {
  display: grid;
  grid-auto-columns: 66px;
  grid-auto-flow: column;
  gap: 10px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-behavior: smooth !important;
  scroll-snap-type: x proximity;
  touch-action: pan-x;
  padding: 0 0 16px;
  scrollbar-width: none;
  cursor: grab;
}

.vnuti-ui-shell .vnuti-quick-cats::-webkit-scrollbar {
  display: none;
}

.vnuti-ui-shell .vnuti-quick-cats:active {
  cursor: grabbing;
}

.vnuti-ui-shell .vnuti-quick-cats.is-dragging {
  cursor: grabbing !important;
  user-select: none !important;
  scroll-snap-type: none !important;
}

.vnuti-ui-shell .vnuti-quick-cats.is-dragging a {
  pointer-events: none !important;
}

.vnuti-ui-shell .vnuti-quick-cats a {
  display: grid;
  justify-items: center;
  gap: 7px;
  color: #516155;
  text-align: center;
  text-decoration: none;
  scroll-snap-align: start;
}

.vnuti-ui-shell .vnuti-quick-cats .vnuti-home-service__icon {
  width: 54px;
  height: 54px;
  border-radius: 8px;
  background-color: #fff;
  box-shadow: 0 8px 18px rgba(28, 39, 31, 0.06);
}

.vnuti-ui-shell .vnuti-quick-cats em {
  display: -webkit-box;
  min-height: 29px;
  overflow: hidden;
  font-size: 11px;
  font-style: normal;
  line-height: 1.28;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.vnuti-ui-shell .vnuti-quick-products {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.vnuti-ui-shell .vnuti-quick-product {
  display: block;
  position: relative;
  overflow: hidden;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(31, 80, 40, 0.07);
  border-radius: 8px;
  background: #fff;
  color: inherit;
  cursor: pointer;
  text-align: left;
  text-decoration: none;
  box-shadow: 0 10px 22px rgba(28, 39, 31, 0.09);
}

.vnuti-ui-shell .vnuti-quick-product:hover,
.vnuti-ui-shell .vnuti-quick-product:focus-visible {
  border-color: rgba(47, 113, 56, 0.36);
  outline: none;
  box-shadow: 0 12px 26px rgba(28, 39, 31, 0.14);
}

.vnuti-ui-shell .vnuti-quick-product.is-added {
  border-color: rgba(47, 113, 56, 0.62);
  box-shadow: 0 14px 30px rgba(47, 113, 56, 0.18);
}

.vnuti-ui-shell .vnuti-quick-product.is-added::after {
  content: "Đã thêm";
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 2;
  padding: 5px 8px;
  border-radius: 999px;
  background: var(--quick-green);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
}

.vnuti-ui-shell .vnuti-quick-product img {
  display: block;
  width: 100%;
  aspect-ratio: 1.12 / 1;
  object-fit: cover;
  background: #dfe8df;
}

.vnuti-ui-shell .vnuti-quick-product__image {
  display: block;
  width: 100%;
  aspect-ratio: 1.12 / 1;
  background:
    linear-gradient(135deg, rgba(47, 113, 56, 0.14), rgba(47, 113, 56, 0.04)),
    #dfe8df;
}

.vnuti-ui-shell .vnuti-quick-product > div {
  padding: 11px 10px 10px;
}

.vnuti-ui-shell .vnuti-quick-product h2 {
  display: -webkit-box;
  min-height: 39px;
  margin: 0 0 7px;
  overflow: hidden;
  color: var(--quick-green);
  font-size: 15px;
  font-weight: 950;
  line-height: 1.28;
  letter-spacing: 0;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.vnuti-ui-shell .vnuti-quick-product strong {
  display: block;
  margin-bottom: 8px;
  color: var(--quick-red);
  font-size: 14px;
  font-weight: 950;
}

.vnuti-ui-shell .vnuti-quick-product p {
  display: flex;
  align-items: center;
  gap: 5px;
  margin: 0;
  color: #6d7770;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}

.vnuti-ui-shell .vnuti-quick-product p svg {
  width: 14px;
  height: 14px;
  color: var(--quick-green);
}

.vnuti-ui-shell .vnuti-quick-product p span {
  width: 1px;
  height: 15px;
  margin: 0 5px;
  background: #d6ddd8;
}

.vnuti-ui-shell .vnuti-quick-product small {
  display: block;
  margin-top: 8px;
  color: var(--quick-green);
  font-size: 11px;
  font-weight: 900;
}

.vnuti-ui-shell .vnuti-quick__empty {
  margin: 12px 0 0;
  padding: 16px;
  border-radius: 10px;
  background: #fff;
  color: #56645a;
  font-size: 14px;
  line-height: 1.5;
  box-shadow: 0 8px 18px rgba(28, 39, 31, 0.06);
}

.vnuti-ui-shell.vnuti-ui-shell--quick-product {
  background: #fff !important;
}

.vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__body {
  padding-bottom: 132px !important;
}

.vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__title-row {
  display: block !important;
}

.vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__title-row h2 {
  max-width: none !important;
}

.vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__duration {
  margin-top: 28px !important;
}

.vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__description {
  margin-top: 34px !important;
}

.vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__description:not([open]) {
  padding-bottom: 120px !important;
}

@media (min-width: 760px) {
  .vnuti-ui-shell .vnuti-quick-custom-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 900px) {
  .vnuti-ui-shell .vnuti-quick {
    margin-block: 28px;
    border-radius: 28px;
    box-shadow: 0 30px 90px rgba(27, 56, 34, 0.12);
  }

  .vnuti-ui-shell .vnuti-quick__hero {
    margin-top: 0;
    border-radius: 28px 28px 18px 18px;
  }
}

/* Self-select category strip */
.vnuti-ui-shell .vnuti-staff__category-strip {
  position: relative;
  z-index: 6;
  margin: 0 0 14px;
  padding: 0 4px;
}

.vnuti-ui-shell .vnuti-staff__category-strip .vnuti-quick-cats {
  padding-bottom: 10px;
}

.vnuti-ui-shell .vnuti-quick-cats--staff,
.vnuti-ui-shell .vnuti-quick-cats--custom {
  margin-top: 2px;
}

.vnuti-ui-shell .vnuti-quick-cats--staff a,
.vnuti-ui-shell .vnuti-quick-cats--custom a {
  min-width: 66px;
}

.vnuti-ui-shell .vnuti-quick-cats--staff .vnuti-home-service__icon,
.vnuti-ui-shell .vnuti-quick-cats--custom .vnuti-home-service__icon {
  width: 58px;
  height: 58px;
  border-color: #dce8da;
  background: #fff;
  color: #83aa87;
  box-shadow: 0 8px 18px rgba(33, 58, 38, 0.06);
}

.vnuti-ui-shell .vnuti-quick-cats--staff em,
.vnuti-ui-shell .vnuti-quick-cats--custom em {
  color: #516155;
  font-size: 13px;
  line-height: 1.25;
}

@media (min-width: 860px) {
  .vnuti-ui-shell .vnuti-staff__category-strip {
    margin: 2px 0 18px;
    padding: 0 10px;
  }

  .vnuti-ui-shell .vnuti-quick-cats--staff,
  .vnuti-ui-shell .vnuti-quick-cats--custom {
    grid-auto-columns: 86px;
    gap: 14px;
  }

  .vnuti-ui-shell .vnuti-quick-cats--staff {
    justify-content: start;
  }
}

@media (max-width: 430px) {
  .vnuti-ui-shell .vnuti-staff__category-strip {
    margin-top: -2px;
  }

  .vnuti-ui-shell .vnuti-quick-cats--staff,
  .vnuti-ui-shell .vnuti-quick-cats--custom {
    grid-auto-columns: 72px;
    gap: 10px;
  }
}

/* Mobile UI sync guard
   This block intentionally lives at the end so WordPress themes and older
   plugin overrides cannot stretch or break the app-like screens. */
.vnuti-ui-shell {
  max-width: 100%;
  overflow-x: clip;
}

.vnuti-ui-shell,
.vnuti-ui-shell * {
  min-width: 0;
}

.vnuti-ui-shell :where(img) {
  max-width: 100%;
  height: auto;
}

.vnuti-ui-shell :where(button, input, textarea, select, a) {
  -webkit-tap-highlight-color: transparent;
}

.vnuti-ui-shell :where(input, textarea, select) {
  max-width: 100%;
}

.vnuti-ui-shell :where(svg) {
  width: 1em;
  height: 1em;
  max-width: 44px;
  max-height: 44px;
  flex: 0 0 auto;
}

.vnuti-ui-shell :where(
  .vnuti-staff,
  .vnuti-home,
  .vnuti-quick,
  .vnuti-product,
  .vnuti-cart-view,
  .vnuti-staff--booking
) {
  max-width: 100%;
  overflow-x: hidden;
}

.vnuti-ui-shell .vnuti-product__description-content {
  white-space: pre-wrap;
  word-break: normal;
  overflow-wrap: break-word;
}

@media (max-width: 640px) {
  .vnuti-ui-shell {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 0 !important;
    overflow-x: hidden !important;
    background: #edf3ee !important;
  }

  .vnuti-ui-shell :where(
    .vnuti-staff,
    .vnuti-home,
    .vnuti-quick,
    .vnuti-staff--product,
    .vnuti-staff--booking,
    .vnuti-staff--cart
  ) {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 100svh;
    margin: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .vnuti-ui-shell .vnuti-staff__hero {
    min-height: 236px !important;
    padding: 32px 20px 92px !important;
    border-radius: 0 !important;
    text-align: left !important;
  }

  .vnuti-ui-shell .vnuti-staff__hero h2,
  .vnuti-ui-shell .vnuti-staff__hero p {
    width: auto !important;
    max-width: none !important;
    white-space: normal !important;
    word-break: normal !important;
  }

  .vnuti-ui-shell .vnuti-staff__hero h2 {
    font-size: 34px !important;
    line-height: 1.06 !important;
    margin: 0 0 20px !important;
  }

  .vnuti-ui-shell .vnuti-staff__hero p {
    font-size: 16px !important;
    line-height: 1.45 !important;
  }

  .vnuti-ui-shell .vnuti-staff__filter-card {
    width: calc(100% - 24px) !important;
    margin: -72px auto 14px !important;
    padding: 12px !important;
    border-radius: 22px !important;
    overflow: visible !important;
  }

  .vnuti-ui-shell .vnuti-staff__search,
  .vnuti-ui-shell .vnuti-staff__filter-actions,
  .vnuti-ui-shell .vnuti-staff__location-panel {
    width: 100% !important;
    max-width: 100% !important;
  }

  .vnuti-ui-shell .vnuti-staff__filter-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 10px !important;
  }

  .vnuti-ui-shell .vnuti-staff__location-button {
    min-width: 0 !important;
    padding: 0 14px !important;
    overflow: hidden !important;
  }

  .vnuti-ui-shell .vnuti-staff__location-button span,
  .vnuti-ui-shell .vnuti-staff__location-button strong {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .vnuti-ui-shell .vnuti-staff__content {
    padding: 0 10px 96px !important;
  }

  .vnuti-ui-shell .vnuti-staff__list,
  .vnuti-ui-shell .vnuti-quick-custom-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .vnuti-ui-shell .vnuti-staff-card {
    display: grid !important;
    grid-template-columns: 42% minmax(0, 1fr) !important;
    min-height: 148px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
  }

  .vnuti-ui-shell .vnuti-staff-card__media,
  .vnuti-ui-shell .vnuti-staff-card__image {
    width: 100% !important;
    height: 100% !important;
    min-height: 148px !important;
  }

  .vnuti-ui-shell .vnuti-staff-card__image {
    object-fit: cover !important;
    object-position: center top !important;
  }

  .vnuti-ui-shell .vnuti-staff-card__body {
    min-width: 0 !important;
    padding: 14px 12px !important;
  }

  .vnuti-ui-shell .vnuti-staff-card h3,
  .vnuti-ui-shell .vnuti-staff-card__desc,
  .vnuti-ui-shell .vnuti-staff-card__tiny span {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .vnuti-ui-shell .vnuti-staff-card h3,
  .vnuti-ui-shell .vnuti-staff-card__desc {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
  }

  .vnuti-ui-shell .vnuti-staff-card h3 {
    -webkit-line-clamp: 1 !important;
  }

  .vnuti-ui-shell .vnuti-staff-card__desc {
    -webkit-line-clamp: 2 !important;
  }

  .vnuti-ui-shell .vnuti-staff-card__tiny span {
    white-space: nowrap !important;
  }

  .vnuti-ui-shell .vnuti-detail {
    padding: 0 12px 110px !important;
  }

  .vnuti-ui-shell .vnuti-detail__back {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: auto !important;
    height: 42px !important;
    max-width: 150px !important;
    padding: 0 14px 0 40px !important;
    white-space: nowrap !important;
    border-radius: 999px !important;
  }

  .vnuti-ui-shell .vnuti-detail__back-icon {
    width: 30px !important;
    height: 30px !important;
    left: 6px !important;
  }

  .vnuti-ui-shell .vnuti-detail__back-label {
    display: block !important;
    font-size: 13px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  .vnuti-ui-shell .vnuti-detail__hero {
    min-height: 0 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
  }

  .vnuti-ui-shell .vnuti-detail__hero > img {
    height: clamp(220px, 62vw, 330px) !important;
    object-fit: cover !important;
  }

  .vnuti-ui-shell .vnuti-detail__hero > div {
    min-height: 0 !important;
    padding: 54px 16px 22px !important;
  }

  .vnuti-ui-shell .vnuti-detail__avatar {
    width: 74px !important;
    height: 74px !important;
    top: -38px !important;
  }

  .vnuti-ui-shell .vnuti-service-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .vnuti-ui-shell .vnuti-service-card {
    overflow: hidden !important;
  }

  .vnuti-ui-shell .vnuti-service-card img {
    width: 100% !important;
    aspect-ratio: 1.22 / 1 !important;
    object-fit: cover !important;
  }

  .vnuti-ui-shell .vnuti-service-card p,
  .vnuti-ui-shell .vnuti-quick-product > div > p {
    display: none !important;
  }

  .vnuti-ui-shell .vnuti-service-card h4,
  .vnuti-ui-shell .vnuti-quick-product h2 {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  .vnuti-ui-shell .vnuti-product__media {
    width: 100% !important;
    height: auto !important;
  }

  .vnuti-ui-shell .vnuti-product__media > img {
    width: 100% !important;
    height: clamp(260px, 70vw, 380px) !important;
    object-fit: cover !important;
  }

  .vnuti-ui-shell .vnuti-product__thumbs {
    width: 100% !important;
    padding: 12px 14px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .vnuti-ui-shell .vnuti-product__thumbs img {
    flex: 0 0 76px !important;
    width: 76px !important;
    height: 54px !important;
    object-fit: cover !important;
  }

  .vnuti-ui-shell .vnuti-product__body {
    padding: 22px 18px 128px !important;
  }

  .vnuti-ui-shell .vnuti-product__title-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 52px !important;
    align-items: start !important;
    gap: 12px !important;
  }

  .vnuti-ui-shell .vnuti-product__title-row h2 {
    max-width: none !important;
    font-size: clamp(28px, 8vw, 42px) !important;
    line-height: 1.1 !important;
    overflow-wrap: anywhere !important;
  }

  .vnuti-ui-shell .vnuti-product__share {
    width: 52px !important;
    height: 52px !important;
  }

  .vnuti-ui-shell .vnuti-product__price {
    font-size: clamp(34px, 9vw, 48px) !important;
    line-height: 1.1 !important;
  }

  .vnuti-ui-shell .vnuti-product__duration > div {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .vnuti-ui-shell .vnuti-product__duration button {
    width: 100% !important;
    height: 54px !important;
    white-space: nowrap !important;
  }

  .vnuti-ui-shell .vnuti-product__provider {
    grid-template-columns: 72px minmax(0, 1fr) auto !important;
    gap: 12px !important;
  }

  .vnuti-ui-shell .vnuti-product__provider img,
  .vnuti-ui-shell .vnuti-product__provider > span {
    width: 72px !important;
    height: 72px !important;
  }

  .vnuti-ui-shell .vnuti-product__description-content {
    font-size: 17px !important;
    line-height: 1.58 !important;
  }

  .vnuti-ui-shell .vnuti-product__footer,
  .vnuti-ui-shell .vnuti-cart-view__footer {
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    padding: 14px 18px calc(14px + env(safe-area-inset-bottom)) !important;
    border-radius: 22px 22px 0 0 !important;
  }

  .vnuti-ui-shell .vnuti-quick {
    padding: 0 14px 110px !important;
  }

  .vnuti-ui-shell .vnuti-quick__hero {
    min-height: 112px !important;
    margin: 0 -14px 18px !important;
    padding: 32px 48px 20px !important;
    border-radius: 0 0 20px 20px !important;
  }

  .vnuti-ui-shell .vnuti-quick__tabs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .vnuti-ui-shell .vnuti-quick__tabs button,
  .vnuti-ui-shell .vnuti-quick__tabs a {
    min-width: 0 !important;
    height: 46px !important;
    padding: 0 10px !important;
    overflow: hidden !important;
  }

  .vnuti-ui-shell .vnuti-quick-cats {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  .vnuti-ui-shell .vnuti-quick-cats::-webkit-scrollbar {
    display: none !important;
  }

  .vnuti-ui-shell .vnuti-quick-products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .vnuti-ui-shell .vnuti-quick-product {
    border-radius: 8px !important;
    overflow: hidden !important;
  }

  .vnuti-ui-shell .vnuti-quick-product img,
  .vnuti-ui-shell .vnuti-quick-product__image {
    width: 100% !important;
    aspect-ratio: 1 / 0.86 !important;
    object-fit: cover !important;
  }

  .vnuti-ui-shell .vnuti-quick-product > div {
    padding: 10px !important;
  }

  .vnuti-ui-shell .vnuti-quick-product h2 {
    font-size: 15px !important;
    line-height: 1.25 !important;
    min-height: 38px !important;
  }

  .vnuti-ui-shell .vnuti-cart-view__content {
    padding: 16px 14px 132px !important;
  }

  .vnuti-ui-shell .vnuti-cart-view__card {
    border-radius: 14px !important;
    padding: 16px !important;
  }

  .vnuti-ui-shell .vnuti-cart-view-item {
    display: grid !important;
    grid-template-columns: 28px 84px minmax(0, 1fr) !important;
    grid-template-areas:
      "check image body"
      ". image qty" !important;
    gap: 10px 12px !important;
    align-items: center !important;
  }

  .vnuti-ui-shell .vnuti-cart-view-item__check {
    grid-area: check !important;
  }

  .vnuti-ui-shell .vnuti-cart-view-item__image {
    grid-area: image !important;
  }

  .vnuti-ui-shell .vnuti-cart-view-item__body {
    grid-area: body !important;
  }

  .vnuti-ui-shell .vnuti-cart-view-item__qty {
    grid-area: qty !important;
    justify-self: end !important;
  }

  .vnuti-ui-shell .vnuti-cart-view-item__image img,
  .vnuti-ui-shell .vnuti-cart-view-item__image span {
    width: 84px !important;
    height: 72px !important;
    object-fit: cover !important;
  }

  .vnuti-ui-shell .vnuti-cart-view__footer {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    gap: 10px !important;
    align-items: center !important;
  }

  .vnuti-ui-shell .vnuti-cart-view__footer button {
    min-width: 86px !important;
    height: 54px !important;
    padding: 0 16px !important;
  }

  .vnuti-ui-shell .vnuti-staff--booking {
    background: #e9eee9 !important;
    padding-bottom: 128px !important;
  }

  .vnuti-ui-shell .vnuti-booking-header {
    min-height: 128px !important;
    padding: 28px 54px 24px !important;
    border-radius: 0 0 22px 22px !important;
  }

  .vnuti-ui-shell .vnuti-booking-content {
    padding: 14px 14px 126px !important;
    gap: 14px !important;
  }

  .vnuti-ui-shell .vnuti-booking-info,
  .vnuti-ui-shell .vnuti-booking-total,
  .vnuti-ui-shell .vnuti-booking-time-card,
  .vnuti-ui-shell .vnuti-booking-section {
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .vnuti-ui-shell .vnuti-booking-info {
    display: grid !important;
    grid-template-columns: 30px minmax(0, 1fr) !important;
    gap: 12px !important;
    padding: 10px 12px !important;
  }

  .vnuti-ui-shell .vnuti-booking-info input {
    height: 48px !important;
    font-size: 15px !important;
  }

  .vnuti-ui-shell .vnuti-booking-total__head {
    min-height: 58px !important;
    padding: 0 14px !important;
  }

  .vnuti-ui-shell .vnuti-booking-total__head strong {
    white-space: nowrap !important;
    font-size: 20px !important;
  }

  .vnuti-ui-shell .vnuti-booking-times {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-template-rows: repeat(8, 42px) !important;
    grid-auto-columns: 88px !important;
    grid-template-columns: none !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: calc(42px * 8 + 10px * 7) !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-x pan-y !important;
    overscroll-behavior-x: contain !important;
    scrollbar-width: none !important;
  }

  .vnuti-ui-shell .vnuti-booking-times::-webkit-scrollbar {
    display: none !important;
  }

  .vnuti-ui-shell .vnuti-booking-times button {
    width: 88px !important;
    height: 42px !important;
    min-width: 88px !important;
    min-height: 42px !important;
    padding: 0 !important;
    font-size: 14px !important;
    line-height: 42px !important;
    white-space: nowrap !important;
  }

  .vnuti-ui-shell .vnuti-booking-pay {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 60 !important;
    padding: 14px 18px calc(14px + env(safe-area-inset-bottom)) !important;
    border-radius: 24px 24px 0 0 !important;
    background: #fff !important;
  }

  .vnuti-ui-shell .vnuti-booking-pay button,
  .vnuti-ui-shell .vnuti-product__footer button {
    width: 100% !important;
    min-height: 56px !important;
    border-radius: 8px !important;
  }

  .vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-staff--product,
  .vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 100svh !important;
    overflow-x: hidden !important;
    background: #fff !important;
  }

  .vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__media > img {
    height: clamp(250px, 60vw, 320px) !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  .vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__dots {
    bottom: 14px !important;
  }

  .vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__thumbs {
    padding: 12px 14px 10px !important;
    gap: 10px !important;
  }

  .vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__thumbs img {
    flex-basis: 64px !important;
    width: 64px !important;
    height: 48px !important;
    border-radius: 6px !important;
  }

  .vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__body {
    padding: 22px 18px 132px !important;
  }

  .vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__title-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 48px !important;
    gap: 12px !important;
    align-items: start !important;
  }

  .vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__title-row h2 {
    font-size: clamp(30px, 9vw, 38px) !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: auto !important;
    margin: 0 !important;
  }

  .vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__share {
    width: 48px !important;
    height: 48px !important;
    border-radius: 999px !important;
  }

  .vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__meta {
    margin-top: 14px !important;
    gap: 14px !important;
    font-size: 15px !important;
  }

  .vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__price {
    margin-top: 28px !important;
    font-size: clamp(38px, 10vw, 48px) !important;
    line-height: 1.05 !important;
  }

  .vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__duration {
    margin-top: 34px !important;
  }

  .vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__duration h3 {
    font-size: 20px !important;
    line-height: 1.25 !important;
    margin-bottom: 14px !important;
  }

  .vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__duration > div {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  .vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__duration button {
    width: 100% !important;
    min-width: 0 !important;
    height: 58px !important;
    border-radius: 9px !important;
    font-size: 17px !important;
    line-height: 1 !important;
  }

  .vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__provider {
    margin-top: 34px !important;
    display: grid !important;
    grid-template-columns: 70px minmax(0, 1fr) auto !important;
    align-items: center !important;
  }

  .vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__description {
    margin-top: 30px !important;
    padding-bottom: 18px !important;
  }

  .vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__description:not([open]) {
    padding-bottom: 18px !important;
  }

  .vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__footer {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 80 !important;
    width: 100% !important;
    padding: 14px 18px calc(14px + env(safe-area-inset-bottom)) !important;
    border-radius: 22px 22px 0 0 !important;
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: 0 -12px 32px rgba(30, 48, 35, 0.14) !important;
  }

  .vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__footer button {
    height: 58px !important;
    min-height: 58px !important;
    font-size: 17px !important;
  }
}

@media (min-width: 641px) {
  .vnuti-ui-shell {
    background: #edf3ee !important;
  }

  .vnuti-ui-shell :where(.vnuti-staff, .vnuti-home, .vnuti-quick, .vnuti-staff--booking, .vnuti-staff--cart) {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .vnuti-ui-shell .vnuti-staff:not(.vnuti-staff--booking):not(.vnuti-staff--cart) {
    width: min(100%, 980px) !important;
  }

  .vnuti-ui-shell .vnuti-staff__list,
  .vnuti-ui-shell .vnuti-quick-custom-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .vnuti-ui-shell .vnuti-staff--booking,
  .vnuti-ui-shell .vnuti-staff--cart {
    width: min(100%, 430px) !important;
  }

  .vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-staff--product,
  .vnuti-ui-shell .vnuti-staff--product {
    width: min(100%, 760px) !important;
    margin: 0 auto !important;
  }
}

/* Final mobile-only lock:
   Keep every screen in the same app-like mobile frame and tighten the
   product detail layout so the footer does not cover the content. */
.vnuti-ui-shell {
  width: min(100%, 430px) !important;
  max-width: 430px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  overflow-x: hidden !important;
}

.vnuti-ui-shell :where(
  .vnuti-staff,
  .vnuti-home,
  .vnuti-quick,
  .vnuti-staff--product,
  .vnuti-staff--booking,
  .vnuti-staff--cart
) {
  width: 100% !important;
  max-width: 430px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (min-width: 641px) {
  .vnuti-ui-shell {
    padding: 0 !important;
  }

  .vnuti-ui-shell .vnuti-staff:not(.vnuti-staff--booking):not(.vnuti-staff--cart):not(.vnuti-staff--product),
  .vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-staff--product,
  .vnuti-ui-shell .vnuti-staff--product {
    width: min(100%, 430px) !important;
    max-width: 430px !important;
  }

  .vnuti-ui-shell .vnuti-staff__list,
  .vnuti-ui-shell .vnuti-quick-custom-list {
    grid-template-columns: 1fr !important;
  }
}

.vnuti-ui-shell .vnuti-staff--product,
.vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-staff--product,
.vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product {
  width: 100% !important;
  max-width: 430px !important;
  min-height: 100svh !important;
  overflow-x: hidden !important;
  background: #fff !important;
}

.vnuti-ui-shell .vnuti-product__media,
.vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__media {
  width: 100% !important;
  height: 290px !important;
  min-height: 290px !important;
  max-height: 290px !important;
  overflow: hidden !important;
}

.vnuti-ui-shell .vnuti-product__media > img,
.vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__media > img {
  width: 100% !important;
  height: 290px !important;
  max-height: 290px !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}

.vnuti-ui-shell .vnuti-product__dots,
.vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__dots {
  bottom: 12px !important;
}

.vnuti-ui-shell .vnuti-product__thumbs {
  padding: 12px 14px 10px !important;
  gap: 10px !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

.vnuti-ui-shell .vnuti-product__thumbs img {
  width: 64px !important;
  height: 48px !important;
  flex: 0 0 64px !important;
  border-radius: 6px !important;
  object-fit: cover !important;
}

.vnuti-ui-shell .vnuti-product__body {
  padding: 22px 18px 180px !important;
}

.vnuti-ui-shell .vnuti-product__title-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 48px !important;
  gap: 12px !important;
  align-items: start !important;
}

.vnuti-ui-shell .vnuti-product__title-row h2,
.vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__title-row h2 {
  max-width: none !important;
  margin: 0 !important;
  font-size: clamp(24px, 7.2vw, 30px) !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  text-transform: uppercase !important;
}

.vnuti-ui-shell .vnuti-product__share,
.vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__share {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  border-radius: 999px !important;
}

.vnuti-ui-shell .vnuti-product__meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px 14px !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  margin-top: 12px !important;
  margin-bottom: 18px !important;
}

.vnuti-ui-shell .vnuti-product__price,
.vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__price {
  margin-top: 18px !important;
  font-size: clamp(34px, 8.8vw, 40px) !important;
  line-height: 1.05 !important;
}

.vnuti-ui-shell .vnuti-product__duration,
.vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__duration {
  margin-top: 26px !important;
}

.vnuti-ui-shell .vnuti-product__duration h3,
.vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__duration h3 {
  font-size: 19px !important;
  line-height: 1.25 !important;
  margin-bottom: 12px !important;
}

.vnuti-ui-shell .vnuti-product__duration > div,
.vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__duration > div {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.vnuti-ui-shell .vnuti-product__duration button,
.vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__duration button {
  width: 100% !important;
  min-width: 0 !important;
  height: 54px !important;
  min-height: 54px !important;
  padding: 0 12px !important;
  border-radius: 8px !important;
  font-size: 16px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.vnuti-ui-shell .vnuti-product__provider {
  margin-top: 28px !important;
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) auto !important;
  gap: 12px !important;
  align-items: center !important;
}

.vnuti-ui-shell .vnuti-product__provider img,
.vnuti-ui-shell .vnuti-product__provider > span {
  width: 64px !important;
  height: 64px !important;
}

.vnuti-ui-shell .vnuti-product__provider h3 {
  font-size: 22px !important;
  line-height: 1.15 !important;
}

.vnuti-ui-shell .vnuti-product__provider a {
  width: 84px !important;
  height: 44px !important;
  border-radius: 8px !important;
}

.vnuti-ui-shell .vnuti-product__description {
  margin-top: 24px !important;
  padding-bottom: 8px !important;
}

.vnuti-ui-shell .vnuti-product__description summary {
  font-size: 18px !important;
}

.vnuti-ui-shell .vnuti-product__description-content {
  font-size: 16px !important;
  line-height: 1.58 !important;
  white-space: pre-wrap !important;
  overflow-wrap: break-word !important;
}

.vnuti-ui-shell .vnuti-product__footer,
.vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__footer {
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  bottom: 0 !important;
  z-index: 80 !important;
  width: min(100%, 430px) !important;
  transform: translateX(-50%) !important;
  padding: 14px 18px calc(14px + env(safe-area-inset-bottom)) !important;
  border-radius: 22px 22px 0 0 !important;
  background: rgba(255, 255, 255, 0.98) !important;
  box-shadow: 0 -12px 32px rgba(30, 48, 35, 0.14) !important;
}

.vnuti-ui-shell .vnuti-product__footer button {
  width: 100% !important;
  min-height: 56px !important;
  border-radius: 8px !important;
}

.vnuti-ui-shell .vnuti-product__body,
.vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__body {
  padding-bottom: 188px !important;
}

/* Single mobile interface mode
   The plugin is intentionally rendered as one app-like mobile UI on desktop
   and mobile, so every screen stays visually consistent. */
.vnuti-ui-shell :where(
  .vnuti-staff,
  .vnuti-home,
  .vnuti-quick,
  .vnuti-staff--product,
  .vnuti-staff--booking,
  .vnuti-staff--cart
) {
  width: min(100%, 430px) !important;
  max-width: 430px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.vnuti-ui-shell .vnuti-staff:not(.vnuti-staff--booking):not(.vnuti-staff--cart):not(.vnuti-staff--product),
.vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-staff--product,
.vnuti-ui-shell .vnuti-staff--product {
  width: min(100%, 430px) !important;
  max-width: 430px !important;
}

.vnuti-ui-shell .vnuti-staff__list,
.vnuti-ui-shell .vnuti-quick-custom-list {
  grid-template-columns: 1fr !important;
}

.vnuti-ui-shell .vnuti-quick {
  padding-left: 14px !important;
  padding-right: 14px !important;
}

.vnuti-ui-shell .vnuti-quick__hero {
  margin-left: -14px !important;
  margin-right: -14px !important;
}

.vnuti-ui-shell .vnuti-quick-products {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.vnuti-ui-shell .vnuti-quick-product img,
.vnuti-ui-shell .vnuti-quick-product__image {
  height: auto !important;
  aspect-ratio: 1 / 0.86 !important;
  object-fit: cover !important;
}

.vnuti-ui-shell .vnuti-detail,
.vnuti-ui-shell .vnuti-product,
.vnuti-ui-shell .vnuti-cart-view,
.vnuti-ui-shell .vnuti-booking-content {
  max-width: 430px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (min-width: 641px) {
  .vnuti-ui-shell {
    display: block !important;
    padding: 24px 0 !important;
  }

  .vnuti-ui-shell :where(
    .vnuti-staff,
    .vnuti-home,
    .vnuti-quick,
    .vnuti-staff--product,
    .vnuti-staff--booking,
    .vnuti-staff--cart
  ) {
    border-radius: 28px !important;
    overflow: hidden !important;
    box-shadow: 0 28px 80px rgba(31, 54, 38, 0.14) !important;
  }

  .vnuti-ui-shell .vnuti-quick__hero,
  .vnuti-ui-shell .vnuti-staff__hero,
  .vnuti-ui-shell .vnuti-booking-header,
  .vnuti-ui-shell .vnuti-cart-view__header {
    border-radius: 28px 28px 20px 20px !important;
  }

  .vnuti-ui-shell .vnuti-product__footer,
  .vnuti-ui-shell .vnuti-cart-view__footer,
  .vnuti-ui-shell .vnuti-booking-pay {
    width: min(100%, 430px) !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    border-radius: 22px 22px 0 0 !important;
  }
}

/* Last-mile product screen lock:
   This sits at the very end so it wins over older desktop/mobile overrides. */
.vnuti-ui-shell.vnuti-ui-shell--product,
.vnuti-ui-shell.vnuti-ui-shell--quick-product,
.vnuti-ui-shell .vnuti-staff--product,
.vnuti-ui-shell .vnuti-staff--quick-product,
.vnuti-ui-shell .vnuti-product {
  width: min(100%, 430px) !important;
  max-width: 430px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  overflow-x: hidden !important;
}

.vnuti-ui-shell .vnuti-product__media,
.vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__media {
  height: 270px !important;
  min-height: 270px !important;
  max-height: 270px !important;
}

.vnuti-ui-shell .vnuti-product__media > img,
.vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__media > img {
  height: 270px !important;
  min-height: 270px !important;
  max-height: 270px !important;
}

.vnuti-ui-shell .vnuti-product__body,
.vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__body {
  padding: 20px 18px 222px !important;
}

.vnuti-ui-shell .vnuti-product__title-row h2,
.vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__title-row h2 {
  font-size: clamp(22px, 6.6vw, 28px) !important;
  line-height: 1.08 !important;
}

.vnuti-ui-shell .vnuti-product__price,
.vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__price {
  font-size: clamp(30px, 8vw, 38px) !important;
}

.vnuti-ui-shell .vnuti-product__duration > div,
.vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__duration > div {
  display: flex !important;
  flex-wrap: wrap !important;
  grid-template-columns: none !important;
  gap: 10px !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  width: 100% !important;
  max-width: 100% !important;
  background: transparent !important;
}

.vnuti-ui-shell .vnuti-product__duration button,
.vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__duration button {
  width: auto !important;
  min-width: 86px !important;
  max-width: 100% !important;
  flex: 0 0 auto !important;
  height: 48px !important;
  min-height: 48px !important;
  padding: 0 14px !important;
  border-radius: 8px !important;
  font-size: 15px !important;
  line-height: 1 !important;
  opacity: 1 !important;
  white-space: nowrap !important;
  color: #2f763a !important;
  background: #eef4ef !important;
  border: 1px solid #d9e6dc !important;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-product__duration button.is-selected,
.vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__duration button.is-selected {
  color: #ffffff !important;
  background: #2f7a3c !important;
  border-color: #2f7a3c !important;
}

.vnuti-ui-shell .vnuti-product__footer,
.vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__footer {
  width: min(100%, 430px) !important;
}

/* Booking calendar lock */
.vnuti-ui-shell .vnuti-booking-calendar {
  position: fixed !important;
  inset: 0 !important;
  z-index: 99990 !important;
  display: grid !important;
  place-items: center !important;
  width: 100vw !important;
  min-height: 100dvh !important;
  padding: 20px !important;
  box-sizing: border-box !important;
  background: rgba(13, 23, 16, 0.48) !important;
  overflow: hidden !important;
}

.vnuti-ui-shell .vnuti-booking-calendar[hidden] {
  display: none !important;
}

.vnuti-ui-shell .vnuti-booking-calendar__box {
  width: min(360px, calc(100vw - 40px)) !important;
  max-width: 360px !important;
  margin: 0 auto !important;
  padding: 20px 16px 22px !important;
  box-sizing: border-box !important;
  border-radius: 22px !important;
  background: #ffffff !important;
  color: #17351d !important;
  box-shadow: 0 28px 80px rgba(12, 33, 19, 0.28) !important;
  overflow: hidden !important;
}

.vnuti-ui-shell .vnuti-booking-calendar__head {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) 44px !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 0 16px !important;
}

.vnuti-ui-shell .vnuti-booking-calendar__head strong {
  min-width: 0 !important;
  text-align: center !important;
  color: #1d3a25 !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
}

.vnuti-ui-shell .vnuti-booking-calendar__head button {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #edf5ef !important;
  color: #2e7b40 !important;
  font-size: 24px !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-booking-calendar__week,
.vnuti-ui-shell .vnuti-booking-calendar__grid {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  gap: 6px !important;
  box-sizing: border-box !important;
}

.vnuti-ui-shell .vnuti-booking-calendar__week {
  margin: 0 0 8px !important;
  color: #789286 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-align: center !important;
}

.vnuti-ui-shell .vnuti-booking-calendar__grid button,
.vnuti-ui-shell .vnuti-booking-calendar__grid .is-empty {
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 1 / 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid #e3eee6 !important;
  border-radius: 10px !important;
  background: #f9fcfa !important;
  color: #21422a !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-booking-calendar__grid .is-empty {
  visibility: hidden !important;
}

.vnuti-ui-shell .vnuti-booking-calendar__grid button.is-selected {
  border-color: #2f7a3c !important;
  background: #2f7a3c !important;
  color: #ffffff !important;
}

.vnuti-ui-shell .vnuti-booking-calendar__grid button:disabled {
  background: #f4f7f5 !important;
  color: #b4c3b8 !important;
  cursor: not-allowed !important;
}

/* WordPress theme guard:
   Keep VNUTI screens visually consistent even when the active theme sets
   global fonts, heading transforms, or oversized mobile text. */
.vnuti-ui-shell,
.vnuti-ui-shell :where(
  .vnuti-staff,
  .vnuti-home,
  .vnuti-quick,
  .vnuti-product,
  .vnuti-cart-view,
  .vnuti-booking-card,
  .vnuti-booking-payment,
  .vnuti-detail,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  span,
  strong,
  small,
  a,
  button,
  input,
  textarea,
  select,
  label
) {
  font-family: var(--vnuti-font) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.vnuti-ui-shell :where(h1, h2, h3, h4, h5, h6) {
  font-weight: 800 !important;
  line-height: 1.18 !important;
}

.vnuti-ui-shell :where(p, span, small, label, input, textarea, select, button) {
  line-height: 1.42 !important;
}

.vnuti-ui-shell :where(button, input, textarea, select) {
  font-size: inherit !important;
}

@media (max-width: 600px) {
  .vnuti-ui-shell {
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  .vnuti-ui-shell :where(
    .vnuti-staff,
    .vnuti-home,
    .vnuti-quick,
    .vnuti-staff--product,
    .vnuti-staff--quick-product,
    .vnuti-staff--booking,
    .vnuti-staff--cart,
    .vnuti-cart-view
  ) {
    width: 100% !important;
    max-width: 430px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .vnuti-ui-shell .vnuti-product__title-row h2,
  .vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__title-row h2 {
    font-size: clamp(23px, 6.2vw, 28px) !important;
    line-height: 1.14 !important;
    overflow-wrap: anywhere !important;
  }

  .vnuti-ui-shell .vnuti-product__price,
  .vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__price {
    font-size: clamp(32px, 8.8vw, 40px) !important;
    line-height: 1.08 !important;
  }

  .vnuti-ui-shell .vnuti-product__duration button,
  .vnuti-ui-shell.vnuti-ui-shell--quick-product .vnuti-product__duration button {
    min-height: 52px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
  }

  .vnuti-ui-shell .vnuti-quick__heading h1,
  .vnuti-ui-shell .vnuti-booking-card h3,
  .vnuti-ui-shell .vnuti-cart-view__title {
    font-size: 16px !important;
    line-height: 1.24 !important;
  }

  .vnuti-ui-shell .vnuti-booking-pay button,
  .vnuti-ui-shell .vnuti-product__footer button,
  .vnuti-ui-shell .vnuti-cart-view__footer button {
    min-height: 52px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
  }
}

/* Booking location picker: match the green VNUTI app-style sheet. */
.vnuti-ui-shell .vnuti-booking-location-modal {
  background: rgba(18, 26, 20, 0.52) !important;
  align-items: end !important;
  padding: 8px !important;
}

.vnuti-ui-shell .vnuti-booking-location-modal .vnuti-quick-location__sheet {
  width: min(100%, 460px) !important;
  max-height: min(92dvh, 780px) !important;
  padding: 12px 14px 16px !important;
  border-radius: 22px !important;
  background: #ffffff !important;
  color: #1f2c22 !important;
  box-shadow: 0 26px 80px rgba(13, 35, 18, 0.34) !important;
}

.vnuti-ui-shell .vnuti-booking-location-modal .vnuti-quick-location__handle {
  width: 48px !important;
  height: 5px !important;
  margin-bottom: 12px !important;
  background: #d8e7dc !important;
}

.vnuti-ui-shell .vnuti-booking-location-modal .vnuti-quick-location__header {
  align-items: center !important;
  margin-bottom: 14px !important;
}

.vnuti-ui-shell .vnuti-booking-location-modal .vnuti-quick-location__header h2 {
  color: #16351d !important;
  font-size: 22px !important;
  font-weight: 950 !important;
  line-height: 1.05 !important;
}

.vnuti-ui-shell .vnuti-booking-location-modal .vnuti-quick-location__header p {
  color: #738078 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

.vnuti-ui-shell .vnuti-booking-location-modal .vnuti-quick-location__close {
  background: #eef7f0 !important;
  color: #2f7a3c !important;
  box-shadow: inset 0 0 0 1px rgba(47, 122, 60, 0.1) !important;
}

.vnuti-ui-shell .vnuti-booking-location-modal .vnuti-quick-location__input {
  min-height: 52px !important;
  margin-bottom: 12px !important;
  border: 1px solid #d8e7dc !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  box-shadow: 0 6px 18px rgba(30, 55, 36, 0.06) !important;
}

.vnuti-ui-shell .vnuti-booking-location-modal .vnuti-quick-location__input svg {
  color: #2f7a3c !important;
}

.vnuti-ui-shell .vnuti-booking-location-modal .vnuti-quick-location__input input {
  color: #1f2c22 !important;
  font-size: 15px !important;
  font-weight: 850 !important;
}

.vnuti-ui-shell .vnuti-booking-location-modal .vnuti-quick-location__map {
  height: 220px !important;
  border-radius: 15px !important;
  background: #e2efe5 !important;
}

.vnuti-ui-shell .vnuti-booking-location-modal .vnuti-quick-location__map-canvas,
.vnuti-ui-shell .vnuti-booking-location-modal .vnuti-quick-location__map-canvas.leaflet-container {
  background: #e2efe5 !important;
}

.vnuti-ui-shell .vnuti-booking-location-modal .vnuti-quick-location__map-pin {
  width: 38px !important;
  height: 38px !important;
  background: #2f7a3c !important;
  box-shadow: 0 12px 26px rgba(47, 122, 60, 0.34) !important;
}

.vnuti-ui-shell .vnuti-booking-location-modal .vnuti-quick-location__map-pin::after {
  top: 11px !important;
  left: 11px !important;
  width: 16px !important;
  height: 16px !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__avatar {
  top: -33px !important;
  left: 21px !important;
  transform: translateX(-50%) !important;
  margin-left: 0 !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__hero h2 {
  margin-top: 2px !important;
  transform: translateY(-50%) !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__code {
  margin-top: 2px !important;
}

.vnuti-ui-shell .vnuti-booking-location-modal .vnuti-quick-location__selected {
  border: 1px solid #d8e7dc !important;
  border-radius: 14px !important;
  background: #fbfdfb !important;
}

.vnuti-ui-shell .vnuti-booking-location-modal .vnuti-quick-location__selected > svg {
  color: #2f7a3c !important;
}

.vnuti-ui-shell .vnuti-booking-location-modal .vnuti-quick-location__selected strong {
  color: #1f2c22 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}

.vnuti-ui-shell .vnuti-booking-location-modal .vnuti-quick-location__selected small {
  color: #77847b !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

.vnuti-ui-shell .vnuti-booking-location-modal .vnuti-quick-location__actions {
  gap: 10px !important;
}

.vnuti-ui-shell .vnuti-booking-location-modal .vnuti-quick-location__ghost {
  min-height: 46px !important;
  border: 1px solid #d8e7dc !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  color: #2f7a3c !important;
  font-size: 14px !important;
  font-weight: 850 !important;
}

.vnuti-ui-shell .vnuti-booking-location-modal .vnuti-quick-location__primary {
  min-height: 48px !important;
  border-radius: 10px !important;
  background: #2f7a3c !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  box-shadow: 0 10px 22px rgba(47, 122, 60, 0.18) !important;
}

.vnuti-ui-shell .vnuti-quick__standard .vnuti-quick__heading h1,
.vnuti-ui-shell .vnuti-quick__custom .vnuti-quick__heading h1 {
  text-transform: uppercase !important;
}

/* Detail hero: lock the cover image to 16:9 so PC/mobile do not stretch it. */
.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__hero {
  overflow: hidden !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__hero > img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  height: auto !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__hero > div {
  padding-top: 46px !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__avatar {
  top: -36px !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__title-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 42px !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__title-row h2 {
  min-width: 0 !important;
  margin: 0 !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__share {
  width: 42px !important;
  height: 42px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid rgba(47, 113, 56, 0.18) !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #2f7138 !important;
  box-shadow: 0 10px 22px rgba(31, 54, 35, 0.12) !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__share svg {
  width: 18px !important;
  height: 18px !important;
}

/* Cart quantity control: slightly smaller on mobile for better balance. */
@media (max-width: 600px) {
  .vnuti-ui-shell .vnuti-cart-view-item__qty {
    width: 83px !important;
    height: 31px !important;
    grid-template-columns: 26px minmax(26px, 1fr) 26px !important;
  }

  .vnuti-ui-shell .vnuti-cart-view-item__qty button,
  .vnuti-ui-shell .vnuti-cart-view-item__qty input {
    height: 31px !important;
    font-size: 15px !important;
  }
}

/* Service cards: force a stable 4:3 image ratio across detail grids. */
.vnuti-ui-shell .vnuti-service img,
.vnuti-ui-shell .vnuti-service__image {
  aspect-ratio: 4 / 3 !important;
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
}

/* Booking mobile stabilization: keep form section and checkout bar stable on mobile */
@media (max-width: 600px) {
  .vnuti-ui-shell .vnuti-staff--booking {
    min-height: 100dvh !important;
    width: 100% !important;
    max-width: var(--vnuti-app-width, 430px) !important;
    padding: 0 !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    position: relative !important;
  }

  .vnuti-ui-shell .vnuti-staff--booking .vnuti-booking__content {
    padding: 14px !important;
    padding-bottom: calc(142px + env(safe-area-inset-bottom, 0px)) !important;
    gap: 14px !important;
    display: grid !important;
    box-sizing: border-box !important;
  }

  .vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-card,
  .vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-total,
  .vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-extra {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-info,
  .vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-info input,
  .vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-extra textarea,
  .vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-extra input {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-payment {
    position: fixed !important;
    left: 50% !important;
    right: auto !important;
    bottom: 0 !important;
    width: min(100vw, var(--vnuti-app-width, 430px)) !important;
    transform: translateX(-50%) !important;
    z-index: 90 !important;
    margin: 0 !important;
    border-radius: 20px 20px 0 0 !important;
    padding: 14px 14px max(14px, env(safe-area-inset-bottom, 0px)) !important;
    box-sizing: border-box !important;
  }

  .vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-payment button {
    width: 100% !important;
  }

  .vnuti-ui-shell .vnuti-staff--booking .vnuti-booking-times {
    margin-top: 12px !important;
  }

  .vnuti-ui-shell .vnuti-staff--booking .vnuti-booking__header {
    gap: 4px !important;
    padding-bottom: 14px !important;
  }

  .vnuti-ui-shell .vnuti-staff--booking .vnuti-booking__header h2 {
    margin-bottom: 2px !important;
    font-size: 30px !important;
    line-height: 1.05 !important;
  }

  .vnuti-ui-shell .vnuti-staff--booking .vnuti-booking__header p {
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.12 !important;
    opacity: 0.95 !important;
  }
}

/* VNUTI final mobile consistency lock v1.19.26 */
@media (max-width: 768px) {
  .vnuti-ui-shell {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 0 !important;
    overflow-x: hidden !important;
    background: #eef5ef !important;
  }

  .vnuti-ui-shell :where(
    .vnuti-home,
    .vnuti-quick,
    .vnuti-staff,
    .vnuti-staff--cart,
    .vnuti-staff--booking,
    .vnuti-staff--detail,
    .vnuti-staff--product,
    .vnuti-staff--quick-product,
    .vnuti-cart-view,
    .vnuti-product,
    .vnuti-detail
  ) {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .vnuti-ui-shell :where(.vnuti-home, .vnuti-quick, .vnuti-staff) {
    min-height: 100dvh !important;
  }

  .vnuti-ui-shell :where(
    .vnuti-home__hero,
    .vnuti-quick__hero,
    .vnuti-cart-view__header,
    .vnuti-booking__header
  ) {
    border-radius: 0 0 22px 22px !important;
  }

  .vnuti-ui-shell :where(
    .vnuti-home__category-grid,
    .vnuti-home-section,
    .vnuti-home-banner,
    .vnuti-home-provider,
    .vnuti-quick__standard,
    .vnuti-quick__custom,
    .vnuti-quick-custom-list,
    .vnuti-cart-view__content,
    .vnuti-booking__content,
    .vnuti-detail,
    .vnuti-product__body
  ) {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .vnuti-ui-shell .vnuti-quick-products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .vnuti-ui-shell .vnuti-quick-product,
  .vnuti-ui-shell .vnuti-service,
  .vnuti-ui-shell .vnuti-staff-card,
  .vnuti-ui-shell .vnuti-cart-view__card,
  .vnuti-ui-shell .vnuti-booking-card,
  .vnuti-ui-shell .vnuti-booking-total,
  .vnuti-ui-shell .vnuti-booking-extra {
    border-radius: 12px !important;
  }

  .vnuti-ui-shell .vnuti-cart-view__footer,
  .vnuti-ui-shell .vnuti-booking-payment,
  .vnuti-ui-shell .vnuti-cart-bar,
  .vnuti-ui-shell .vnuti-product__footer {
    width: 100vw !important;
    max-width: 100vw !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    border-radius: 18px 18px 0 0 !important;
  }

  .vnuti-ui-shell .vnuti-booking-times {
    grid-template-rows: repeat(8, 44px) !important;
    grid-auto-columns: minmax(112px, 28vw) !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    cursor: grab !important;
  }

  .vnuti-ui-shell .vnuti-booking-times.is-dragging {
    cursor: grabbing !important;
    user-select: none !important;
    scroll-snap-type: none !important;
  }

  .vnuti-ui-shell .vnuti-booking-times.is-dragging button {
    pointer-events: none !important;
  }

  .vnuti-ui-shell .vnuti-booking-time,
  .vnuti-ui-shell .vnuti-booking-times button {
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
  }
}

/* VNUTI global mobile sizing lock v1.19.32
   Keep every plugin screen at a natural mobile width instead of looking
   squeezed by older 390/430px app-frame rules. */
@media (max-width: 768px) {
  .vnuti-ui-shell {
    --vnuti-app-width: 100vw !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 0 !important;
    overflow-x: hidden !important;
    background: #eef5ef !important;
    font-size: 15px !important;
  }

  .vnuti-ui-shell :where(
    .vnuti-home,
    .vnuti-quick,
    .vnuti-staff,
    .vnuti-staff--detail,
    .vnuti-staff--product,
    .vnuti-staff--quick-product,
    .vnuti-staff--booking,
    .vnuti-staff--cart,
    .vnuti-detail,
    .vnuti-product,
    .vnuti-cart-view,
    .vnuti-booking__content
  ) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-shadow: none !important;
  }

  .vnuti-ui-shell .vnuti-home,
  .vnuti-ui-shell .vnuti-quick,
  .vnuti-ui-shell .vnuti-staff {
    min-height: 100dvh !important;
  }

  .vnuti-ui-shell :where(
    .vnuti-home__category-grid,
    .vnuti-home-section,
    .vnuti-home-banner,
    .vnuti-home-provider,
    .vnuti-quick__standard,
    .vnuti-quick__custom,
    .vnuti-quick-custom-list,
    .vnuti-cart-view__content,
    .vnuti-booking__content,
    .vnuti-detail,
    .vnuti-product__body
  ) {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .vnuti-ui-shell .vnuti-quick {
    padding-left: 18px !important;
    padding-right: 18px !important;
    padding-bottom: 132px !important;
  }

  .vnuti-ui-shell .vnuti-home__hero,
  .vnuti-ui-shell .vnuti-quick__hero {
    margin-left: -18px !important;
    margin-right: -18px !important;
  }

  .vnuti-ui-shell .vnuti-quick-products,
  .vnuti-ui-shell .vnuti-service-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px 12px !important;
  }

  .vnuti-ui-shell .vnuti-quick-product {
    min-height: 268px !important;
    border-radius: 12px !important;
  }

  .vnuti-ui-shell .vnuti-quick-product img,
  .vnuti-ui-shell .vnuti-quick-product__image,
  .vnuti-ui-shell .vnuti-service img,
  .vnuti-ui-shell .vnuti-service__image {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
  }

  .vnuti-ui-shell .vnuti-quick-product > div {
    padding: 12px 11px !important;
  }

  .vnuti-ui-shell .vnuti-quick-product h2 {
    min-height: 42px !important;
    font-size: 15px !important;
    line-height: 1.34 !important;
  }

  .vnuti-ui-shell .vnuti-cart-bar,
  .vnuti-ui-shell .vnuti-product__footer,
  .vnuti-ui-shell .vnuti-cart-view__footer,
  .vnuti-ui-shell .vnuti-booking-payment {
    width: 100vw !important;
    max-width: 100vw !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    border-radius: 18px 18px 0 0 !important;
  }
}

/* VNUTI shop detail layout lock v1.19.35 */
.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail {
  padding-left: 14px !important;
  padding-right: 14px !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__hero {
  border-radius: 18px !important;
  overflow: hidden !important;
  background: #ffffff !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__hero > img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__hero > div {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 128px minmax(0, 1fr) 47px !important;
  grid-template-areas:
    "avatar title share"
    "avatar code share"
    "stats stats stats"
    "desc desc desc" !important;
  align-items: center !important;
  gap: 2px 10px !important;
  min-height: 0 !important;
  padding: 18px 5px 0 18px !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__avatar {
  position: static !important;
  grid-area: avatar !important;
  width: 104px !important;
  height: 104px !important;
  margin: -66px 0 0 0 !important;
  transform: none !important;
  border: 5px solid #ffffff !important;
  border-radius: 999px !important;
  box-shadow: 0 16px 34px rgba(19, 43, 25, 0.16) !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__title-row {
  display: contents !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__title-row h2 {
  grid-area: title !important;
  min-width: 0 !important;
  margin: 0 !important;
  color: #2f7138 !important;
  font-size: clamp(24px, 6.8vw, 30px) !important;
  line-height: 1.05 !important;
  font-weight: 950 !important;
  transform: none !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__share {
  grid-area: share !important;
  justify-self: end !important;
  align-self: start !important;
  width: 42px !important;
  height: 42px !important;
  margin-right: 0 !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid rgba(47, 113, 56, 0.18) !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #2f7138 !important;
  box-shadow: 0 10px 22px rgba(31, 54, 35, 0.12) !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__code {
  grid-area: code !important;
  margin: 4px 0 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  color: #2f7138 !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  transform: none !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__stats {
  grid-area: stats !important;
  margin: 22px -5px 0 -18px !important;
  width: calc(100% + 23px) !important;
}

.vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__desc {
  grid-area: desc !important;
  margin: 14px 0 22px !important;
}

@media (max-width: 374px) {
  .vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__hero > div {
    grid-template-columns: 112px minmax(0, 1fr) 45px !important;
    padding-left: 14px !important;
  }

  .vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__avatar {
    width: 92px !important;
    height: 92px !important;
  }

  .vnuti-ui-shell .vnuti-staff--detail .vnuti-detail__title-row h2 {
    font-size: 23px !important;
  }
}

/* VNUTI booking time compact grid v1.19.50 */
.vnuti-ui-shell .vnuti-booking-times {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-template-rows: repeat(8, 48px) !important;
  grid-auto-columns: 112px !important;
  gap: 2px !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 2px 0 10px !important;
  justify-content: start !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  overscroll-behavior-x: contain !important;
  -webkit-overflow-scrolling: touch !important;
  scroll-snap-type: x proximity !important;
  cursor: grab !important;
}

.vnuti-ui-shell .vnuti-booking-times::-webkit-scrollbar {
  height: 0 !important;
}

.vnuti-ui-shell .vnuti-booking-times.is-dragging {
  cursor: grabbing !important;
  user-select: none !important;
  scroll-snap-type: none !important;
}

.vnuti-ui-shell .vnuti-booking-times.is-dragging button {
  pointer-events: none !important;
}

.vnuti-ui-shell .vnuti-booking-time,
.vnuti-ui-shell .vnuti-booking-times button {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 48px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid #e4ebe5 !important;
  border-radius: 13px !important;
  background: #ffffff !important;
  color: #2e7440 !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  box-shadow: 0 6px 14px rgba(29, 49, 35, 0.06) !important;
  white-space: nowrap !important;
  scroll-snap-align: start !important;
}

.vnuti-ui-shell .vnuti-booking-time.is-selected,
.vnuti-ui-shell .vnuti-booking-times button.is-selected {
  border-color: #2f7a3c !important;
  background: #2f7a3c !important;
  color: #ffffff !important;
}

.vnuti-ui-shell .vnuti-booking-time.is-busy,
.vnuti-ui-shell .vnuti-booking-time:disabled,
.vnuti-ui-shell .vnuti-booking-times button.is-busy,
.vnuti-ui-shell .vnuti-booking-times button:disabled {
  border-color: #d9dddd !important;
  background: #d9d9d9 !important;
  color: #a8b8ac !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
}

@media (max-width: 374px) {
  .vnuti-ui-shell .vnuti-booking-times {
    grid-template-rows: repeat(8, 46px) !important;
    grid-auto-columns: 104px !important;
    gap: 2px !important;
  }

  .vnuti-ui-shell .vnuti-booking-time,
  .vnuti-ui-shell .vnuti-booking-times button {
    height: 46px !important;
    min-height: 46px !important;
    font-size: 16px !important;
  }
}

/* VNUTI cart header match booking header v1.19.56 */
@media (max-width: 600px) {
  .vnuti-ui-shell .vnuti-staff--cart,
  .vnuti-ui-shell .vnuti-cart-view {
    padding-top: 0 !important;
    background: #eaf2ec !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__header,
  .vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__header,
  .vnuti-ui-shell .vnuti-cart-view__header {
    width: 100% !important;
    max-width: none !important;
    min-height: 146px !important;
    margin: 0 0 30px !important;
    padding: 34px 58px 32px !important;
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) 38px !important;
    align-items: center !important;
    border-radius: 0 0 28px 28px !important;
    background: #33763b !important;
    color: #ffffff !important;
    box-shadow: none !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__back,
  .vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__back,
  .vnuti-ui-shell .vnuti-cart-view__back {
    grid-column: 1 !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 38px !important;
    height: 48px !important;
    margin: 0 !important;
    transform: none !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__back::before,
  .vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__back::before,
  .vnuti-ui-shell .vnuti-cart-view__back::before {
    content: "" !important;
    position: absolute !important;
    left: 7px !important;
    top: 50% !important;
    width: 21px !important;
    height: 21px !important;
    border-left: 4px solid #ffffff !important;
    border-bottom: 4px solid #ffffff !important;
    border-radius: 0 !important;
    background: transparent !important;
    transform: translateY(-50%) rotate(45deg) !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__back::after,
  .vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__back::after,
  .vnuti-ui-shell .vnuti-cart-view__back::after {
    display: none !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__header h2,
  .vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__header h2,
  .vnuti-ui-shell .vnuti-cart-view__header h2 {
    grid-column: 2 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #ffffff !important;
    font-size: clamp(31px, 8.4vw, 42px) !important;
    font-weight: 950 !important;
    line-height: 1.06 !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__content,
  .vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__content,
  .vnuti-ui-shell .vnuti-cart-view__content {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}

/* VNUTI cart mobile header lock v1.19.53 */
@media (max-width: 600px) {
  .vnuti-ui-shell .vnuti-staff--cart,
  .vnuti-ui-shell .vnuti-cart-view {
    padding-top: 22px !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__header,
  .vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__header,
  .vnuti-ui-shell .vnuti-cart-view__header {
    width: calc(100% - 40px) !important;
    max-width: 430px !important;
    min-height: 134px !important;
    margin: 0 auto 18px !important;
    padding: 30px 54px 28px !important;
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) 34px !important;
    align-items: center !important;
    border-radius: 18px !important;
    background: #2f7839 !important;
    color: #ffffff !important;
    box-shadow: none !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__back,
  .vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__back,
  .vnuti-ui-shell .vnuti-cart-view__back {
    grid-column: 1 !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 34px !important;
    height: 44px !important;
    margin: 0 !important;
    transform: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__back::before,
  .vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__back::before,
  .vnuti-ui-shell .vnuti-cart-view__back::before {
    content: "" !important;
    position: absolute !important;
    left: 6px !important;
    top: 50% !important;
    width: 18px !important;
    height: 18px !important;
    border-left: 3px solid #ffffff !important;
    border-bottom: 3px solid #ffffff !important;
    transform: translateY(-50%) rotate(45deg) !important;
    background: transparent !important;
    border-radius: 0 !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__back::after,
  .vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__back::after,
  .vnuti-ui-shell .vnuti-cart-view__back::after {
    display: none !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__header h2,
  .vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__header h2,
  .vnuti-ui-shell .vnuti-cart-view__header h2 {
    grid-column: 2 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #ffffff !important;
    font-size: 27px !important;
    font-weight: 900 !important;
    line-height: 1.12 !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__content,
  .vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__content,
  .vnuti-ui-shell .vnuti-cart-view__content {
    margin-top: 0 !important;
  }
}

/* Tracking panel polish v1.19.62 */
.vnuti-ui-shell .vnuti-staff--tracking .vnuti-tracking__panel {
  gap: 10px !important;
  margin: -88px 10px 22px !important;
}

.vnuti-ui-shell .vnuti-staff--tracking .vnuti-tracking__status,
.vnuti-ui-shell .vnuti-staff--tracking .vnuti-tracking__therapist,
.vnuti-ui-shell .vnuti-staff--tracking .vnuti-tracking__order {
  border: 1px solid rgba(47, 111, 56, .12) !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, .98) !important;
  box-shadow: 0 8px 24px rgba(23, 52, 28, .14) !important;
}

.vnuti-ui-shell .vnuti-staff--tracking .vnuti-tracking__status {
  padding: 16px 18px 14px !important;
}

.vnuti-ui-shell .vnuti-staff--tracking .vnuti-tracking__status h2 {
  margin: 0 0 12px !important;
  color: #1f251f !important;
  font-size: 18px !important;
  font-weight: 950 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
}

.vnuti-ui-shell .vnuti-staff--tracking .vnuti-tracking__status p {
  margin: 0 0 12px !important;
  color: #34723d !important;
  font-size: 12px !important;
  font-weight: 850 !important;
}

.vnuti-ui-shell .vnuti-staff--tracking .vnuti-tracking__status div {
  grid-template-columns: 26px 1fr 24px 1fr 64px 1fr 28px !important;
  gap: 7px !important;
  align-items: center !important;
}

.vnuti-ui-shell .vnuti-staff--tracking .vnuti-tracking__status div span {
  min-width: 0 !important;
  height: 24px !important;
  color: #2f7138 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  text-align: center !important;
}

.vnuti-ui-shell .vnuti-staff--tracking .vnuti-tracking__status div svg {
  width: 19px !important;
  height: 19px !important;
}

.vnuti-ui-shell .vnuti-staff--tracking .vnuti-tracking__status div i {
  height: 2px !important;
  border-radius: 999px !important;
  background: #2f7138 !important;
}

.vnuti-ui-shell .vnuti-staff--tracking .vnuti-tracking__therapist {
  grid-template-columns: 62px minmax(0, 1fr) !important;
  min-height: 86px !important;
  padding: 14px 16px !important;
  gap: 14px !important;
  align-items: center !important;
}

.vnuti-ui-shell .vnuti-staff--tracking .vnuti-tracking__therapist img {
  display: block !important;
  width: 58px !important;
  height: 58px !important;
  border: 3px solid #ffffff !important;
  border-radius: 999px !important;
  object-fit: cover !important;
  background: #e8efe8 !important;
  box-shadow: 0 6px 18px rgba(47, 111, 56, .18) !important;
}

.vnuti-ui-shell .vnuti-staff--tracking .vnuti-tracking__therapist img[hidden] {
  display: block !important;
  visibility: hidden !important;
}

.vnuti-ui-shell .vnuti-staff--tracking .vnuti-tracking__therapist > img[hidden] + div::before {
  float: none !important;
  position: absolute !important;
  left: 16px !important;
  top: 50% !important;
  width: 58px !important;
  height: 58px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #edf5ee, #dfe9e1) !important;
  transform: translateY(-50%) !important;
  box-shadow: inset 0 0 0 3px #ffffff, 0 6px 18px rgba(47, 111, 56, .14) !important;
}

.vnuti-ui-shell .vnuti-staff--tracking .vnuti-tracking__therapist h3 {
  margin: 0 0 3px !important;
  color: #2f7138 !important;
  font-size: 20px !important;
  font-weight: 950 !important;
  line-height: 1.12 !important;
}

.vnuti-ui-shell .vnuti-staff--tracking .vnuti-tracking__therapist p {
  color: #2f7138 !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  line-height: 1.25 !important;
}

.vnuti-ui-shell .vnuti-staff--tracking .vnuti-tracking__order {
  max-height: min(50dvh, 430px) !important;
  padding: 10px 12px 12px !important;
}

.vnuti-ui-shell .vnuti-staff--tracking .vnuti-tracking__handle {
  width: 52px !important;
  height: 5px !important;
  margin-bottom: 10px !important;
  background: #d6ded7 !important;
}

.vnuti-ui-shell .vnuti-staff--tracking .vnuti-tracking__order-head {
  grid-template-columns: minmax(0, 1fr) auto 24px !important;
  padding: 0 0 12px !important;
}

.vnuti-ui-shell .vnuti-staff--tracking .vnuti-tracking__order-head span {
  color: #1f251f !important;
  font-size: 13px !important;
  font-weight: 850 !important;
}

.vnuti-ui-shell .vnuti-staff--tracking .vnuti-tracking__order-head strong {
  color: #f02228 !important;
  font-size: 18px !important;
  font-weight: 950 !important;
}

.vnuti-ui-shell .vnuti-staff--tracking .vnuti-tracking-item {
  grid-template-columns: 74px minmax(0, 1fr) auto !important;
  gap: 10px !important;
  align-items: center !important;
  padding: 4px 0 10px !important;
}

.vnuti-ui-shell .vnuti-staff--tracking .vnuti-tracking-item__image,
.vnuti-ui-shell .vnuti-staff--tracking .vnuti-tracking-item__image img,
.vnuti-ui-shell .vnuti-staff--tracking .vnuti-tracking-item__image span {
  width: 74px !important;
  height: 56px !important;
  border-radius: 6px !important;
}

.vnuti-ui-shell .vnuti-staff--tracking .vnuti-tracking-item__body strong {
  font-size: 12px !important;
  line-height: 1.25 !important;
}

.vnuti-ui-shell .vnuti-staff--tracking .vnuti-tracking-item__side {
  gap: 8px !important;
}

.vnuti-ui-shell .vnuti-staff--tracking .vnuti-tracking__cancel {
  min-height: 46px !important;
  margin-top: 8px !important;
  border-radius: 7px !important;
  font-size: 13px !important;
}

@media (max-width: 390px) {
  .vnuti-ui-shell .vnuti-staff--tracking .vnuti-tracking__status div {
    grid-template-columns: 24px 1fr 22px 1fr 54px 1fr 24px !important;
    gap: 5px !important;
  }

  .vnuti-ui-shell .vnuti-staff--tracking .vnuti-tracking__status h2 {
    font-size: 17px !important;
  }
}

/* Tracking partner marker brand v1.19.63 */
.vnuti-ui-shell .vnuti-tracking__leaflet .vnuti-tracking-leaflet-pin {
  background: transparent !important;
  border: 0 !important;
}

.vnuti-ui-shell .vnuti-tracking__leaflet .vnuti-tracking-leaflet-pin__point {
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 30px !important;
  height: 30px !important;
  border: 5px solid #34723d !important;
  border-radius: 999px 999px 999px 0 !important;
  background: #ffffff !important;
  box-shadow: 0 4px 12px rgba(23, 52, 28, .26) !important;
  transform: rotate(-45deg) !important;
}

.vnuti-ui-shell .vnuti-tracking__leaflet .vnuti-tracking-leaflet-pin__point::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 999px !important;
  background: #34723d !important;
  transform: translate(-50%, -50%) !important;
}

.vnuti-ui-shell .vnuti-tracking__leaflet .vnuti-tracking-leaflet-pin__badge {
  position: absolute !important;
  left: 18px !important;
  bottom: 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  height: 22px !important;
  padding: 0 8px !important;
  border-radius: 999px !important;
  background: #34723d !important;
  color: #ffffff !important;
  box-shadow: 0 5px 14px rgba(23, 52, 28, .24) !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.vnuti-ui-shell .vnuti-tracking__leaflet .vnuti-tracking-leaflet-pin__badge b {
  color: #f02228 !important;
  font: inherit !important;
  margin-right: 3px !important;
}

/* Cart mobile header final polish v1.19.64 */
@media (max-width: 600px) {
  .vnuti-ui-shell .vnuti-staff--cart,
  .vnuti-ui-shell .vnuti-cart-view {
    padding-top: 0 !important;
    background: #eaf2ec !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__header,
  .vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__header,
  .vnuti-ui-shell .vnuti-cart-view__header {
    width: 100% !important;
    max-width: none !important;
    min-height: 152px !important;
    margin: 0 0 22px !important;
    padding: 38px 62px 34px !important;
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) 42px !important;
    align-items: center !important;
    border-radius: 0 0 28px 28px !important;
    background: #33763b !important;
    color: #ffffff !important;
    box-shadow: none !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__back,
  .vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__back,
  .vnuti-ui-shell .vnuti-cart-view__back {
    grid-column: 1 !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 42px !important;
    height: 50px !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__back::before,
  .vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__back::before,
  .vnuti-ui-shell .vnuti-cart-view__back::before {
    content: "" !important;
    position: absolute !important;
    left: 8px !important;
    top: 50% !important;
    width: 22px !important;
    height: 22px !important;
    border-left: 4px solid #ffffff !important;
    border-bottom: 4px solid #ffffff !important;
    border-radius: 0 !important;
    background: transparent !important;
    transform: translateY(-50%) rotate(45deg) !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__back::after,
  .vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__back::after,
  .vnuti-ui-shell .vnuti-cart-view__back::after {
    display: none !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__header h2,
  .vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__header h2,
  .vnuti-ui-shell .vnuti-cart-view__header h2 {
    grid-column: 2 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #ffffff !important;
    font-size: clamp(30px, 8vw, 38px) !important;
    font-weight: 950 !important;
    line-height: 1.05 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    white-space: nowrap !important;
  }
}

/* Cart header booking-style final override v1.19.72 */
.vnuti-ui-shell .vnuti-staff--cart,
.vnuti-ui-shell .vnuti-cart-view {
  padding-top: 28px !important;
  background: #eaf2ec !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__header,
.vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__header,
.vnuti-ui-shell .vnuti-cart-view__header {
  width: calc(100% - 40px) !important;
  max-width: 430px !important;
  min-height: 136px !important;
  margin: 0 auto 18px !important;
  padding: 30px 54px 28px !important;
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) 38px !important;
  align-items: center !important;
  border-radius: 18px !important;
  background: #33763b !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__header h2,
.vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__header h2,
.vnuti-ui-shell .vnuti-cart-view__header h2 {
  grid-column: 2 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #ffffff !important;
  font-size: clamp(26px, 7vw, 30px) !important;
  font-weight: 950 !important;
  line-height: 1.08 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

@media (max-width: 430px) {
  .vnuti-ui-shell .vnuti-staff--cart,
  .vnuti-ui-shell .vnuti-cart-view {
    padding-top: 24px !important;
  }

  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__header,
  .vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__header,
  .vnuti-ui-shell .vnuti-cart-view__header {
    width: calc(100% - 28px) !important;
  }
}

/* Unified green header size lock v1.19.74 */
.vnuti-ui-shell .vnuti-quick__hero,
.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__header,
.vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__header,
.vnuti-ui-shell .vnuti-cart-view__header,
.vnuti-ui-shell .vnuti-staff--booking .vnuti-booking__header,
.vnuti-ui-shell .vnuti-booking__header {
  width: calc(100% - 40px) !important;
  max-width: 430px !important;
  min-height: 108px !important;
  height: 108px !important;
  margin: 28px auto 18px !important;
  padding: 22px 18px !important;
  border-radius: 18px !important;
  background:
    linear-gradient(135deg, rgba(91, 150, 95, 0.98) 0 31%, transparent 31%),
    linear-gradient(90deg, #3f8748 0%, #1f682f 100%) !important;
  color: #ffffff !important;
  overflow: hidden !important;
  box-shadow: none !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__header,
.vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__header,
.vnuti-ui-shell .vnuti-cart-view__header,
.vnuti-ui-shell .vnuti-staff--booking .vnuti-booking__header,
.vnuti-ui-shell .vnuti-booking__header {
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) 38px !important;
  align-items: center !important;
}

.vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__header h2,
.vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__header h2,
.vnuti-ui-shell .vnuti-cart-view__header h2,
.vnuti-ui-shell .vnuti-staff--booking .vnuti-booking__header h2,
.vnuti-ui-shell .vnuti-booking__header h2 {
  grid-column: 2 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #ffffff !important;
  font-size: clamp(24px, 6.8vw, 30px) !important;
  font-weight: 950 !important;
  line-height: 1.08 !important;
  text-align: center !important;
}

.vnuti-ui-shell .vnuti-staff--booking .vnuti-booking__header p,
.vnuti-ui-shell .vnuti-booking__header p {
  grid-column: 2 !important;
  margin: 6px 0 0 !important;
  color: rgba(255,255,255,.86) !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
  text-align: center !important;
}

.vnuti-ui-shell .vnuti-staff--booking .vnuti-booking__header p[data-booking-code],
.vnuti-ui-shell .vnuti-booking__header p[data-booking-code] {
  margin-top: 2px !important;
}

.vnuti-ui-shell .vnuti-staff--booking,
.vnuti-ui-shell .vnuti-staff--cart,
.vnuti-ui-shell .vnuti-cart-view {
  padding-top: 0 !important;
}

@media (max-width: 430px) {
  .vnuti-ui-shell .vnuti-quick__hero,
  .vnuti-ui-shell .vnuti-cart-redesign .vnuti-cart-view__header,
  .vnuti-ui-shell .vnuti-staff--cart .vnuti-cart-view__header,
  .vnuti-ui-shell .vnuti-cart-view__header,
  .vnuti-ui-shell .vnuti-staff--booking .vnuti-booking__header,
  .vnuti-ui-shell .vnuti-booking__header {
    width: calc(100% - 28px) !important;
    min-height: 108px !important;
    height: 108px !important;
    margin-top: 24px !important;
  }
}


/* Quick page header/content width sync v1.19.78 */
.vnuti-ui-shell .vnuti-quick__hero {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (min-width: 431px) {
  .vnuti-ui-shell .vnuti-quick {
    width: min(100%, 520px) !important;
    max-width: 520px !important;
  }

  .vnuti-ui-shell .vnuti-quick__hero {
    width: 100% !important;
    max-width: 520px !important;
  }
}

@media (max-width: 430px) {
  .vnuti-ui-shell .vnuti-quick__hero {
    width: calc(100% - 28px) !important;
    max-width: calc(100% - 28px) !important;
  }
}
