/*
 * Wave 1 UI unification layer.
 * Goal: align controls across v2 + legacy + checkout without layout refactor.
 */

:root {
  --ui-radius-sm: 8px;
  --ui-radius-md: 12px;
  --ui-focus: rgba(255, 102, 102, 0.28);
  --ui-border: #d9d9d9;
  --ui-border-strong: #c9c9c9;
  --ui-placeholder: #828282;
}

/* Common interactive controls on city/catalog/auth/checkout surfaces */
button.sCityStatus[data-fx-popup-call="city"],
#modal-city #location-btn-submit.cv-button.cv-button--primary.cv-button--full,
#city-search-modal .city-choice__submit .btn.btn_wide,
#modal-login-v2 .js-phone-form .submit-send-sms,
#modal-login-v2 .js-code-form .submit-var-code,
#app .btn.btn-danger,
#app .qty-btn,
#app .cta-button,
.main__setub .main__setub-item.js-toggle-sort,
.main__setub .main__setub-item.js-toggle-filders {
  border-radius: var(--ui-radius-sm);
}

/* Inputs used on shared modals and checkout */
#modal-city #location-input-city,
#city-search-modal .city-choice-search.js-city-choice-search,
#modal-login-v2 .js-phone-form input[name="phone_and_mail"],
#modal-login-v2 .js-code-form input[name="phone_code"],
#app .v-input-field,
#context-sort input[name="radio-sort"],
.search-sort-modal-content .search-sort-modal-choice__input {
  border-radius: var(--ui-radius-sm);
  border-color: var(--ui-border);
}

#modal-city #location-input-city::placeholder,
#city-search-modal .city-choice-search.js-city-choice-search::placeholder,
#modal-login-v2 .js-phone-form input[name="phone_and_mail"]::placeholder,
#modal-login-v2 .js-code-form input[name="phone_code"]::placeholder,
#app .v-input-field::placeholder {
  color: var(--ui-placeholder);
}

/* Unified keyboard focus visibility */
button.sCityStatus[data-fx-popup-call="city"]:focus-visible,
#modal-city #location-btn-submit.cv-button.cv-button--primary.cv-button--full:focus-visible,
#city-search-modal .city-choice__submit .btn.btn_wide:focus-visible,
#modal-login-v2 .js-phone-form .submit-send-sms:focus-visible,
#modal-login-v2 .js-code-form .submit-var-code:focus-visible,
#app .btn.btn-danger:focus-visible,
#app .qty-btn:focus-visible,
#app .cta-button:focus-visible,
#modal-city #location-input-city:focus-visible,
#city-search-modal .city-choice-search.js-city-choice-search:focus-visible,
#modal-login-v2 .js-phone-form input[name="phone_and_mail"]:focus-visible,
#modal-login-v2 .js-code-form input[name="phone_code"]:focus-visible,
#app .v-input-field:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px var(--ui-focus);
  border-color: var(--ui-border-strong);
}

/* Typographic consistency in top-level nav + footer titles */
.header__links-item-title,
.header-b__links,
.header-b__actions-links span {
  letter-spacing: 0;
}

.footer__links-item-title,
.footer-copyright,
.footer__copyright {
  letter-spacing: 0;
}

/* Wave 2: legacy order/checkout controls */
.header-b__delivery_mini,
.header-b__actions-links,
.header-b__address-current,
.header-b__drop,
.header-b__drop-links,
.btn.btn_wide,
.city-choice-close-btn,
.city-choice-search,
.mda-input,
.cv-button {
  border-radius: var(--ui-radius-sm);
}

.city-choice-search,
.mda-input,
.cv-button,
.btn.btn_wide {
  border-color: var(--ui-border);
}

.header-b__actions-links:focus-visible,
.header-b__delivery_mini:focus-visible,
.header-b__address-current:focus-visible,
.btn.btn_wide:focus-visible,
.city-choice-search:focus-visible,
.mda-input:focus-visible,
.cv-button:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px var(--ui-focus);
}

/* Wave 3: legacy footer polish on /order and /contacts */
.footer__title,
.footer-list-cities__title,
.footer-copyright {
  letter-spacing: 0;
}

.footer__list-item,
.footer__list-item a,
.footer-list-cities__item,
.footer-list-cities__item a {
  letter-spacing: 0;
  line-height: 1.35;
}

.footer__social .social__link,
.store-btn {
  border-radius: var(--ui-radius-sm);
}

.footer__social .social__link:focus-visible,
.store-btn:focus-visible,
.footer__list-item a:focus-visible,
.footer-list-cities__item a:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px var(--ui-focus);
}
