/* VOCA controls: soft food-brand shapes, open typography and quiet utilities.
   References: Honest Greens' text hierarchy and Sweetgreen / THISBOWL's plain CTAs. */
:root {
  --control-radius: 999px;
  --control-arrow-size: clamp(12px, .8em, 16px);
  --control-line: #c6d2c3;
  --control-motion: 140ms var(--ease);
  --control-shadow: 0 2px 0 rgba(3, 49, 26, .16), 0 5px 12px rgba(3, 49, 26, .08);
}

.button {
  min-height: 52px;
  max-width: 100%;
  padding: 14px 24px;
  gap: 16px;
  border-width: 1.5px;
  border-radius: var(--control-radius);
  box-shadow: var(--control-shadow);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0;
  text-align: center;
  white-space: normal;
  text-transform: none;
  cursor: pointer;
  transition: background-color var(--control-motion), color var(--control-motion),
    border-color var(--control-motion), box-shadow var(--control-motion), transform 90ms ease;
}

.button:where(:disabled, [aria-disabled="true"], .disabled, .is-loading) { --control-shadow: none; box-shadow: none; }

.button-primary { border-color: var(--green-dark); background: var(--green-dark); color: var(--white); }
.button-dark { border-color: var(--ink); background: var(--ink); color: var(--white); }
.button-secondary,
.button-ghost.dark { border-color: #899b85; background: #fffef4; color: var(--green-dark); }

.button.voca-action,
.home-page .home-order-cta,
.plan-submit .plan-submit-button {
  min-height: 56px;
  padding: 15px 24px;
  justify-content: space-between;
  gap: 16px;
  border: 1.5px solid var(--green-dark);
  border-radius: var(--control-radius);
  background: var(--green-dark);
  color: var(--white);
  box-shadow: var(--control-shadow);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0;
  text-align: center;
  text-transform: none;
  cursor: pointer;
  transition: background-color var(--control-motion), color var(--control-motion),
    border-color var(--control-motion), box-shadow var(--control-motion), transform 100ms var(--ease);
}

.home-page .home-order-cta {
  width: fit-content;
  min-width: 0;
  min-height: 44px;
  padding: 10px 18px;
  justify-content: flex-start;
  gap: 9px;
  border: 1px solid rgba(255, 255, 255, .45);
  border-radius: 8px;
  background: var(--ink);
  color: var(--white);
  box-shadow: none;
  text-align: left;
  transition: opacity var(--control-motion);
}

.home-page .home-order-cta:hover {
  border: 1px solid rgba(255, 255, 255, .45);
  background: var(--ink);
  color: var(--white);
  box-shadow: none;
  opacity: 1;
  transform: none;
}
.home-page .home-order-cta:hover .home-order-cta-icon {
  background: transparent;
  box-shadow: none;
  transform: none;
}
.home-page .home-order-cta:hover .home-order-cta-icon :is(img, svg) { transform: none; }

.button.voca-action .voca-action-icon,
.home-page .home-order-cta-icon {
  width: var(--control-arrow-size);
  height: var(--control-arrow-size);
  flex: 0 0 var(--control-arrow-size);
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
}
.button-secondary.voca-action { border-color: #899b85; background: #fffef4; color: var(--green-dark); }
.plans-hero-copy .button.voca-action { border-color: var(--green-dark); border-radius: 8px; background: var(--lime); color: var(--green-dark); }
.plans-hero-copy .button.voca-action .voca-action-icon img,
.button-secondary.voca-action .voca-action-icon img { filter: none; }

.cart-review .cart-island-arrow {
  width: var(--control-arrow-size);
  height: var(--control-arrow-size);
  flex: 0 0 var(--control-arrow-size);
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  transition: transform var(--control-motion);
}
.cart-review .cart-island-arrow svg { width: 100%; height: 100%; }

.button.voca-action .voca-action-icon img { width: var(--control-arrow-size); height: var(--control-arrow-size); filter: brightness(0) invert(1); }
.home-page .home-order-cta-icon :is(img, svg) { width: 100%; height: 100%; }
.home-page .home-order-cta-icon img { filter: brightness(0) invert(1); }
.home-path-arrow,
.nav-order-icon,
.account-page .account-exit-icon {
  width: var(--control-arrow-size);
  height: var(--control-arrow-size);
  flex-basis: var(--control-arrow-size);
}
.home-reviews-summary-arrow svg,
.vc-page .vc-map-link svg,
.vc-page .vc-back svg { width: var(--control-arrow-size); height: var(--control-arrow-size); }
.plan-submit .plan-submit-button { min-height: 72px; justify-content: space-between; gap: 18px; font-family: "Owners", Arial, sans-serif; font-size: 17px; text-align: left; }
.plan-submit .plan-submit-copy small { color: #d9ebd6; }
.plan-submit .plan-submit-icon { width: 28px; height: 30px; flex: 0 0 28px; border-radius: 0; background: transparent; }
.plan-submit .plan-submit-icon img { width: 25px; height: 25px; }

/* Keep the +, configure arrow and added check supplied by voca-controls.css. */
.catalog-card .catalog-add-action {
  min-width: 148px;
  min-height: 48px;
  padding: 11px 18px;
  justify-content: center;
  gap: 6px;
  border: 1px solid var(--green-dark);
  border-radius: var(--control-radius);
  background: var(--white);
  color: var(--green-dark);
  box-shadow: none;
  font-size: 14px;
  line-height: 1.3;
  text-transform: none;
}

.catalog-card .catalog-add-action.is-customizable { border-color: transparent; background: #e6efe0; color: var(--green-dark); }
.catalog-card [data-product-action-label] { padding: 0; }
.catalog-card .catalog-add-icon {
  order: -1;
  align-self: center;
  width: 18px;
  height: 26px;
  min-height: 0;
  flex-basis: 18px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
}

.catalog-card .is-customizable .catalog-add-icon { order: 1; color: inherit; }
.catalog-card.just-added .catalog-add-action { background: #e6efe0; color: var(--green-dark); }
.catalog-card.just-added .catalog-add-icon { background: transparent; color: inherit; }

.filter-tabs,
.qr-category-rail { gap: 8px; border-bottom: 0; }
.filter-tabs .filter-tab,
.qr-category-rail button {
  min-height: 48px;
  padding: 12px 16px;
  border: 0;
  border-radius: var(--control-radius);
  background: transparent;
  color: #465348;
  box-shadow: none;
  font-size: 14px;
  line-height: 1.4;
  text-transform: none;
  cursor: pointer;
  transition: color var(--control-motion), background-color var(--control-motion);
}

.filter-tabs .filter-tab.active,
.qr-category-rail button.active { background: var(--green-dark); color: var(--white); box-shadow: none; }

.qr-dish .qr-dish-cta,
.weekly-plan-panel [data-plan-preset] {
  min-height: 48px;
  max-width: 100%;
  padding: 10px 0;
  gap: 18px;
  justify-content: space-between;
  border: 0;
  border-bottom: 1px solid currentColor;
  border-radius: 0;
  background: transparent;
  color: var(--green-dark);
  box-shadow: none;
  font-size: 14px;
  line-height: 1.4;
  text-align: left;
  cursor: pointer;
  transition: color var(--control-motion);
}

.qr-dish-cta .voca-action-icon { width: var(--control-arrow-size); height: var(--control-arrow-size); flex-basis: var(--control-arrow-size); border-radius: 0; background: transparent; }
.qr-dish-cta .voca-action-icon img { width: var(--control-arrow-size); height: var(--control-arrow-size); }
.qr-dish .qr-dish-cta {
  min-width: 112px;
  padding: 10px 16px;
  justify-content: center;
  gap: 12px;
  border: 1px solid var(--green-dark);
  border-radius: var(--control-radius);
  background: var(--white);
  font-weight: 700;
  text-transform: none;
}
.weekly-plan-panel [data-plan-preset]::after {
  content: "";
  width: var(--control-arrow-size);
  height: var(--control-arrow-size);
  flex: 0 0 var(--control-arrow-size);
  background: url("../assets/images/go-to-arrow-icon-black.svg") center / contain no-repeat;
  transition: transform var(--control-motion);
}
.weekly-plan-panel [data-plan-preset] {
  padding: 12px 16px;
  border: 1.5px solid #899b85;
  border-radius: var(--control-radius);
  background: #fffef4;
  box-shadow: var(--control-shadow);
  font-weight: 700;
  transition: background-color var(--control-motion), border-color var(--control-motion),
    box-shadow var(--control-motion), transform 90ms ease;
}

.order-mode-actions .order-mode-action {
  min-height: 58px;
  padding: 13px 16px;
  gap: 12px;
  border-radius: 8px;
  box-shadow: none;
  font-size: 14px;
  line-height: 1.3;
  white-space: normal;
}

    .order-mode-actions .order-mode-action.pickup {
        border-color: #319b42;
        background: var(--white);
        color: #319b42;
    }
.order-mode-actions .order-mode-action.pickup .voca-brand-mark { filter: none; }
.order-mode-actions .order-mode-action.plan { border-color: var(--ink); background: var(--ink); color: var(--white); }
.order-mode-actions .order-mode-action.plan .voca-brand-mark { filter: brightness(0) invert(1); }
.order-mode-actions .glovo-action { color: #004b36; }
.home-page .home-open-status { border-radius: 12px; box-shadow: none; }
.nav-order {
  height: 31px;
  min-height: 31px;
  padding: 5px 10px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--nav-ink);
  box-shadow: none;
  font-size: 16px;
  font-weight: 700;
  text-transform: none;
  text-decoration: none;
  transition: opacity var(--control-motion), color var(--control-motion);
}
.nav-order-icon { display: inline-block; }

.nav-toggle,
.lang-switch a,
.drawer-close,
.order-search-clear,
.customizer-add,
.cart-toast-close { min-width: 44px; min-height: 44px; border-radius: 10px; cursor: pointer; }
.drawer-close,
.order-search-clear,
.customizer-add { border: 1px solid var(--control-line); background: transparent; color: var(--ink); }
.store-order-confirmation .vc-modal-card > .drawer-close { border-radius: var(--control-radius); }
.cart-island .cart-island-trigger { border-radius: 16px; }
.cart-island .cart-review {
  min-height: 48px;
  padding: 12px 16px;
  gap: 18px;
  border-radius: var(--control-radius);
  background: var(--lime);
  color: var(--ink);
  box-shadow: none;
  font-family: "Owners", Arial, sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  text-transform: none;
}

.cart-quantity-stepper,
.customizer-stepper,
.quantity-stepper { border-radius: 12px; }
.customizer-stepper { grid-template-columns: 44px 34px 44px; }
.cart-quantity-stepper button,
.customizer-stepper button,
.quantity-stepper button {
  min-width: 44px;
  min-height: 44px;
  border-radius: 9px;
  cursor: pointer;
  transition: background-color var(--control-motion), color var(--control-motion);
}

.size-options button,
.customizer-options > button {
  min-height: 48px;
  padding: 12px 16px;
  border-radius: 12px;
  line-height: 1.4;
  text-transform: none;
  transition: background-color var(--control-motion), border-color var(--control-motion), color var(--control-motion);
}

.size-options button.active,
.customizer-options > button.active { border-color: var(--green-dark); background: #e6efe0; color: var(--green-dark); box-shadow: inset 0 0 0 1px var(--green-dark); transform: none; }
.customizer-options > button.active small { color: var(--green-dark); }
.config-group .config-choice {
  border-radius: 16px;
  box-shadow: none;
  cursor: pointer;
  transition: background-color var(--control-motion), color var(--control-motion), border-color var(--control-motion);
}

.config-group .config-choice.plan-choice { border-color: var(--control-line); background: var(--white); }
.plan-choice.is-power { --plan-selected-background: #ff2a2a; --plan-selected-color: var(--ink); }
.plan-choice.is-keto { --plan-selected-background: var(--green); --plan-selected-color: var(--white); }
.plan-choice.is-energy { --plan-selected-background: var(--sun); --plan-selected-color: var(--ink); }
.plan-choice.is-custom { --plan-selected-background: var(--ink); --plan-selected-color: var(--white); }
.config-group .config-choice.plan-choice.active {
  border-color: var(--plan-selected-background);
  background: var(--plan-selected-background);
  color: var(--white);
  box-shadow: none;
}
.config-group .config-choice.plan-choice.active:hover { border-color: var(--plan-selected-background); }
.config-choice .config-choice-icon { border-radius: 0; background: transparent; }
.config-choice .config-choice-check { border-radius: 50%; background: var(--green-dark); color: var(--white); transition: opacity var(--control-motion); }
.plan-choice.active .config-choice-check { background: var(--lime); color: var(--green-dark); }
.config-billing-card.is-monthly .config-dishes-cost { min-width: 0; }
.config-billing-card.is-monthly .config-dishes-price { min-width: 0; width: fit-content; justify-content: center; }
.config-billing-card .config-segmented > button { border-radius: 12px; cursor: pointer; }
.config-billing-card .config-segmented > button.active {
  background: #eaf2e6;
  color: var(--green-dark);
  box-shadow: inset 0 0 0 2px var(--green-dark);
}
.config-billing-card .config-segmented > button.active :is(.config-dishes-schedule small, .config-plan-unit) { color: var(--green-dark); }
.config-billing-card .config-segmented > button.active .config-dishes-price { background: var(--green-dark); color: var(--white); }
.config-billing-card .config-segmented > button.active .config-dishes-price del { color: #d9ebd6; }
.config-group .config-choice:disabled { cursor: not-allowed; }
.pickup-time-picker .pickup-time-slot,
.pickup-time-picker .pickup-time-custom {
  min-height: 48px;
  border-radius: var(--control-radius);
  animation: none;
  transform: none;
  transition: background-color var(--control-motion), border-color var(--control-motion), color var(--control-motion);
}

.pickup-time-picker .pickup-time-slot.is-selected { border-color: var(--green-dark); background: #eaf2e6; color: var(--green-dark); box-shadow: inset 0 0 0 1px var(--green-dark); }
.pickup-time-slot small,
.pickup-time-custom small { color: #526052; line-height: 1.35; }
.pickup-time-picker .pickup-time-slot.is-selected small { color: var(--green-dark); }
.pickup-time-picker .pickup-time-custom.is-selected { border-style: solid; border-color: var(--green-dark); }

.cart-payment-actions .cart-payment-button { min-height: 72px; padding: 14px 16px; gap: 12px; border-radius: var(--control-radius); box-shadow: var(--control-shadow); }
.cart-payment-actions .cart-payment-online { border-color: var(--lime); background: var(--lime); color: var(--ink); }
.cart-payment-actions .cart-payment-store { border-color: #899b85; background: var(--white); color: var(--ink); }
.cart-payment-button .cart-payment-icon { width: 24px; height: 30px; flex-basis: 24px; border-radius: 0; background: transparent; color: inherit; }
.cart-payment-copy { gap: 5px; }
.cart-payment-copy strong,
.cart-payment-copy small { overflow: visible; text-overflow: clip; white-space: normal; }
.cart-payment-copy strong { font-size: 15px; line-height: 1.3; }
.cart-payment-copy small { font-size: 12px; line-height: 1.4; opacity: 1; }
.cart-drawer .cart-payment-actions .cart-payment-button { min-height: 66px; padding: 12px 10px; justify-content: center; text-align: center; }
.cart-drawer .cart-payment-icon { display: none; }
.cart-drawer .cart-payment-copy { gap: 4px; }
.cart-drawer .cart-payment-copy strong { font: 700 15px/1.3 "Owners", Arial, sans-serif; }
.cart-drawer .cart-payment-copy small { font: 400 12px/1.4 system-ui, sans-serif; }
.cart-payment-actions .cart-payment-button:is(.disabled, :disabled, [aria-disabled="true"]) {
  border-color: #d6dcd4;
  background: #edf0ea;
  color: #6a7569;
  opacity: 1;
  filter: none;
  box-shadow: none;
  cursor: not-allowed;
  transform: none;
}

.cart-payment-button:is(.disabled, :disabled) .cart-payment-icon { background: transparent; color: inherit; }
.cart-payment-actions .cart-payment-button.is-loading {
  padding-right: 42px;
  border-color: var(--green-dark);
  background: var(--green-dark);
  color: var(--white);
  cursor: wait;
  box-shadow: none;
}

.customizer-add:disabled,
.cart-quantity-stepper button:disabled,
.quantity-stepper button:disabled { background: transparent; color: #687468; cursor: not-allowed; opacity: .5; }
.cart-upsell-grid button { border-radius: var(--control-radius); box-shadow: none; }
.cart-toast-actions .cart-toast-action { border-radius: var(--control-radius); }
.cart-row-controls .cart-item-remove,
.cart-clear-button { text-underline-offset: 4px; }

.voca-about-page .voca-purpose-action { padding: 5px 0 5px 12px; gap: 12px; border: 0; border-radius: 0; background: transparent; }
.voca-about-page .voca-purpose-action svg { width: 32px; height: 32px; padding: 4px; border-radius: 0; background: transparent; color: inherit; }
.voca-about-page .voca-purpose-item.is-green .voca-purpose-action svg { color: inherit; }
.voca-visit-map-actions button,
.voca-visit-map-toolbar button { border-radius: var(--control-radius); border-color: var(--green-dark); background: transparent; box-shadow: none; }

.vc-page :is(.vc-primary, .vc-secondary),
.vc-page .vc-whatsapp.is-primary,
.vc-next.is-manual .vc-whatsapp,
.store-order-confirmation .vc-modal-card > .button {
  min-height: 52px;
  padding: 14px 20px;
  border-radius: var(--control-radius);
  box-shadow: var(--control-shadow);
  font-size: 15px;
  line-height: 1.4;
}

.vc-page .vc-primary,
.vc-page .vc-whatsapp.is-primary,
.vc-next.is-manual .vc-whatsapp,
.store-order-confirmation .vc-modal-card > .button { border-color: var(--green-dark); background: var(--green-dark); color: var(--white); }
.vc-page .vc-secondary { border: 1.5px solid #899b85; background: #fffef4; color: var(--green-dark); }
.vc-page :is(.vc-copy, .vc-refresh, .vc-whatsapp, .vc-map-link, .vc-back) { border-radius: 2px; text-underline-offset: 5px; }
.account-page .auth-switch { border-radius: var(--control-radius); }
.account-page .auth-switch::after { border-radius: 2px; }

:is(.button, .home-order-cta, .catalog-add-action, .nav-toggle,
  .lang-switch a, .home-open-status, .order-mode-action, .filter-tab, .qr-category-rail button,
  .qr-dish-cta, [data-plan-preset], .plan-submit-button, .config-choice, .config-segmented button,
  .drawer-close, .order-search-clear, .cart-island-trigger, .cart-review, .cart-clear-button,
  .cart-item-remove, .cart-quantity-stepper button, .customizer-stepper button, .quantity-stepper button,
  .customizer-add, .size-options button, .customizer-options > button, .pickup-time-slot,
  .pickup-time-custom, .cart-upsell-grid button, .cart-toast-actions button) { touch-action: manipulation; }

:is(.button, .home-order-cta, .catalog-add-action, .nav-toggle,
  .lang-switch a, .home-open-status, .order-mode-action, .filter-tab, .qr-category-rail button,
  .qr-dish-cta, [data-plan-preset], .plan-submit-button, .config-choice, .config-segmented button,
  .drawer-close, .order-search-clear, .cart-island-trigger, .cart-review, .cart-clear-button,
  .cart-item-remove, .cart-quantity-stepper button, .customizer-stepper button, .quantity-stepper button,
  .customizer-add, .size-options button, .customizer-options > button, .pickup-time-slot,
  .pickup-time-custom, .cart-upsell-grid button, .cart-toast-actions button):focus-visible {
  outline: 2px solid var(--green-dark);
  outline-offset: 3px;
  box-shadow: 0 0 0 5px var(--white);
}

.home-page .home-order-cta:focus-visible { outline-color: var(--lime); outline-offset: 4px; box-shadow: none; }
.filter-tabs .filter-tab:focus-visible,
.qr-category-rail button:focus-visible,
.cart-quantity-stepper button:focus-visible { outline-offset: -3px; box-shadow: none; }
.filter-tabs .filter-tab.active:focus-visible,
.qr-category-rail button.active:focus-visible { outline-color: var(--white); }

@media (hover: hover) and (pointer: fine) {
  .button:hover { transform: none; }
  .button-primary:hover,
  .button-dark:hover { border-color: var(--green-dark); background: var(--green-dark); color: var(--white); }
  .button-secondary:hover { border-color: var(--green-dark); background: #edf4e7; color: var(--green-dark); }
  .button.voca-action:hover,
  .plan-submit .plan-submit-button:hover {
    border-color: #034323;
    background: #034323;
    color: var(--white);
    transform: none;
  }

  .button-secondary.voca-action:hover { border-color: var(--green-dark); background: #edf4e7; color: var(--green-dark); }
  .plans-hero-copy .button.voca-action:hover { border-color: var(--green-dark); background: #e1ff83; color: var(--green-dark); }

  .button.voca-action:hover .voca-action-icon img { transform: translate(2px, -2px); }
  .catalog-card .catalog-add-action:hover { border-color: var(--green-dark); background: var(--green-dark); color: var(--white); }
  .catalog-card .catalog-add-action:hover .catalog-add-icon { background: transparent; color: inherit; }
  .filter-tabs .filter-tab:not(.active):hover,
  .qr-category-rail button:not(.active):hover { background: #edf4e7; color: var(--green-dark); }
  .qr-dish .qr-dish-cta:hover { background: #edf4e7; color: var(--green-dark); }
  .weekly-plan-panel [data-plan-preset]:hover { border-color: var(--green-dark); background: #edf4e7; color: var(--green-dark); transform: none; }
  .weekly-plan-panel [data-plan-preset]:hover::after { transform: translate(2px, -2px); }
  .order-mode-actions .order-mode-action:hover { box-shadow: none; opacity: .85; transform: none; }
  .nav-order:hover { background: transparent; opacity: .62; text-decoration: none; }
  .cart-island .cart-review:hover { background: #c8f437; color: var(--ink); }
  .cart-review:hover .cart-island-arrow { background: transparent; color: inherit; transform: translateX(2px); }
  .drawer-close:hover,
  .order-search-clear:hover,
  .customizer-add:not(:disabled):hover { border-color: var(--ink); background: var(--ink); color: var(--white); transform: none; }
  .config-group .config-choice:not(:disabled):hover { border-color: var(--green-dark); transform: none; }
  .config-group .config-choice:not(.active):not(:disabled):hover { background: #f0f5ec; box-shadow: none; }
  .customizer-options > button.active:hover { background: #e6efe0; color: var(--green-dark); }
  .customizer-options > button.active:hover small { color: var(--green-dark); }
  .customizer-options > button:not(.active):hover,
  .size-options button:not(.active):hover { border-color: var(--ink); background: #edf4e7; color: var(--ink); transform: none; }
  .customizer-options > button:not(.active):hover small { color: var(--green-dark); }
  .cart-payment-actions .cart-payment-online:not(:disabled):hover { border-color: var(--ink); background: var(--ink); color: var(--white); }
  .cart-payment-actions .cart-payment-store:not(:disabled):hover { border-color: var(--ink); background: #edf4e7; color: var(--ink); }
}

.button:not(:disabled):not([aria-disabled="true"]):not(:focus-visible):active,
.home-page .home-order-cta:not(:focus-visible):active,
.plan-submit .plan-submit-button:not(:focus-visible):active { transform: scale(.985); box-shadow: none; }
.button:focus-visible:active { transform: none; }
.home-page .home-order-cta:not(:focus-visible):active { transform: none; box-shadow: none; opacity: .65; }

.voca-nav .nav-actions .lang-switch {
  width: auto;
  margin-left: 20px;
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.voca-nav .lang-switch a {
  width: auto;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid currentColor;
  border-radius: 8px;
  background: transparent;
  color: var(--nav-ink);
  box-shadow: none;
  font-family: "Owners", Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .04em;
  text-decoration: none;
  transform: none;
  transition: background-color var(--control-motion), opacity var(--control-motion);
}

.voca-nav .lang-switch a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

.voca-nav .lang-switch a:active { background: rgba(7, 134, 66, .18); }
.voca-nav > .nav-language-mobile { display: none; }

@media (hover: hover) and (pointer: fine) {
  .voca-nav .lang-switch a:hover {
    border-color: currentColor;
    background: rgba(7, 134, 66, .1);
    opacity: .8;
    transform: none;
  }
}

@media (max-width: 760px) {
  .button.voca-action { padding: 15px 22px; gap: 16px; }
  .home-page .home-order-cta { padding: 10px 18px; gap: 9px; }
  .order-mode-actions .order-mode-action { padding: 12px; font-size: 13px; }
  .cart-island .cart-review { width: 50px; min-height: 50px; padding: 0; gap: 0; }
  .plan-submit .plan-submit-button { padding: 16px 18px; font-size: 16px; }
}

@media (max-width: 1120px) {
  .voca-nav > .nav-language-mobile {
    position: absolute;
    z-index: 108;
    top: 8px;
    right: clamp(21px, 8.6vw, 34px);
    width: auto;
    display: flex;
  }
  body.nav-open .voca-nav > .nav-language-mobile { display: none; }
  .voca-nav .nav-actions .lang-switch {
    --nav-ink: var(--white);
    width: fit-content;
    margin: 28px 0 0 24px;
  }
  .nav-menu-sheet .nav-order {
    --nav-ink: var(--white);
    width: calc(100% - 24px);
    height: 45px;
    min-height: 45px;
    margin-left: 24px;
    padding: 0;
    justify-content: flex-start;
    gap: 10px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--white);
    box-shadow: none;
    font-size: clamp(24px, 6.9vw, 28px);
    font-weight: 900;
  }
  .nav-menu-sheet .nav-order:hover { background: transparent; }
}

@media (max-width: 520px) {
  .voca-nav .nav-actions .lang-switch { margin-left: 18px; }
  .nav-menu-sheet .nav-order {
    width: calc(100% - 18px);
    margin-left: 18px;
    font-size: clamp(22px, 7.1vw, 26px);
  }
}

@media (max-width: 360px) {
  .nav-menu-sheet .nav-order { font-size: 21px; }
}

@media (prefers-reduced-motion: reduce) {
  .button, .button.voca-action, .home-page .home-order-cta,
  .home-page .home-order-cta-icon, .button.voca-action .voca-action-icon,
  .catalog-card .catalog-add-action, .nav-order-icon,
  .weekly-plan-panel [data-plan-preset]::after, .plan-submit .plan-submit-button,
  .cart-review .cart-island-arrow, .config-group .config-choice,
  .config-choice .config-choice-check, .customizer-add, .size-options button,
  .customizer-options > button, .cart-payment-actions .cart-payment-button { transition: none; }
  .button:hover, .button:not(:disabled):not([aria-disabled="true"]):not(:focus-visible):active,
  .home-page .home-order-cta:hover,
  .button.voca-action:hover .voca-action-icon,
  .button.voca-action:hover .voca-action-icon img,
  .home-page .home-order-cta:not(:focus-visible):active, .home-page .home-order-cta:hover .home-order-cta-icon,
  .plan-submit .plan-submit-button:hover, .plan-submit .plan-submit-button:not(:focus-visible):active,
  .nav-order:hover .nav-order-icon,
  .weekly-plan-panel [data-plan-preset]:hover::after,
  .cart-review:hover .cart-island-arrow { transform: none; }
}
