/* Woman Wants presentation over native Commerce/Form API controls. */
.ww-front #vesta-cdek-pane { min-width: 0; position: relative; }
.ww-front #vesta-cdek-pane fieldset.ww-cdek-options > .form-radios { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0 0 24px; }
.ww-front #vesta-cdek-pane fieldset.ww-cdek-options > .form-radios .form-type-radio { position: relative; display: flex; align-items: center; gap: 10px; min-width: 0; min-height: 62px; margin: 0; padding: 14px; border: 1px solid #d9cec7; background: #fffdfb; box-shadow: none; }
.ww-front #vesta-cdek-pane fieldset.ww-cdek-options > .form-radios .form-type-radio:has(input:checked) { border-color: var(--wine); background: #f5ecef; }
.ww-front #vesta-cdek-pane fieldset.ww-cdek-options > .form-radios input[type="radio"] { flex: 0 0 18px; width: 18px; height: 18px; margin: 0; accent-color: var(--wine); }
.ww-front #vesta-cdek-pane fieldset.ww-cdek-options > .form-radios label { flex: 1; margin: 0; font: 500 13px/19px var(--sans); text-transform: none; letter-spacing: 0; cursor: pointer; }
.ww-front #vesta-cdek-pane .ww-cdek-details { position: relative; min-width: 0; }
.ww-front #vesta-cdek-pane input[type="text"] { box-sizing: border-box; width: 100%; max-width: 100%; padding-right: 16px; }
.ww-front #vesta-cdek-pane input.ui-autocomplete-loading { background-image: none; border-color: var(--wine); }
.ww-front #vesta-cdek-pane input:disabled { opacity: .55; cursor: not-allowed; }
.ww-front #vesta-cdek-pane .description { margin-top: 7px; min-height: 34px; font: 400 12px/17px var(--sans); color: #8b7c73; overflow-wrap: anywhere; }
.ww-front #vesta-cdek-pane .vesta-cdek-quote { position: relative; display: flex; flex-direction: column; justify-content: flex-start; gap: 6px; box-sizing: border-box; height: auto; min-height: 0; margin-top: 22px; padding: 14px 18px; border: 1px solid #dedbd5; background: #f5f4f1; color: #3e3833; }
.ww-front #vesta-cdek-pane .ww-cdek-quote-label { margin-bottom: 0; color: #776d65; font: 500 11px/16px var(--nav); letter-spacing: 1.4px; }
.ww-front #vesta-cdek-pane .ww-cdek-quote-amount { font: 500 32px/38px var(--sans); color: #3e3833; }
.ww-front #vesta-cdek-pane .ww-cdek-quote-term { margin-top: 0; color: #5f5751; font: 500 15px/21px var(--sans); }
.ww-front #vesta-cdek-pane .ww-cdek-quote-hint { margin-top: 0; max-width: 36em; font: 400 12px/18px var(--sans); color: #776d65; }
.ww-front #vesta-cdek-pane .is-stale .ww-cdek-quote-amount, .ww-front #vesta-cdek-pane .is-stale .ww-cdek-quote-term { display: none; }
.ww-front #vesta-cdek-pane.is-loading .vesta-cdek-quote::after { content: ''; position: absolute; top: 14px; right: 18px; width: 18px; height: 18px; border: 2px solid #dedbd5; border-top-color: #776d65; border-radius: 50%; animation: ww-cdek-spin .8s linear infinite; }
.ww-front #vesta-cdek-pane.is-loading .ww-cdek-quote-amount,
.ww-front #vesta-cdek-pane.is-loading .ww-cdek-quote-term { opacity: .4; }
.ww-front #vesta-cdek-pane .ajax-progress { display: none; }
.ww-cdek-autocomplete.ui-menu { z-index: 1100; box-sizing: border-box; max-height: 300px; max-width: calc(100vw - 30px); overflow-y: auto; overflow-x: hidden; padding: 6px; border: 1px solid #d9bdc7; border-radius: 0; background: #fffdfb; box-shadow: 0 10px 28px rgb(72 40 51 / 12%); }
.ww-cdek-autocomplete.ui-menu .ui-menu-item { margin: 0; list-style: none; }
.ww-cdek-autocomplete.ui-menu .ui-menu-item-wrapper, .ww-cdek-autocomplete.ui-menu .ui-menu-item > a { display: block; min-height: 44px; padding: 10px 12px; border: 0; margin: 0; color: #4e3e43; font: 400 14px/20px Arial, sans-serif; white-space: normal; overflow-wrap: anywhere; text-decoration: none; }
.ww-cdek-autocomplete.ui-menu .ui-state-active { border: 0; background: #f5ecef; color: #7c1340; }
.ww-cdek-autocomplete .ww-cdek-suggestion-detail { display: block; margin-top: 3px; color: #8b7c73; font-size: 11px; line-height: 16px; }
@keyframes ww-cdek-spin { to { transform: rotate(360deg); } }
@media (max-width: 767px) {
  .ww-front #vesta-cdek-pane fieldset.ww-cdek-options > .form-radios { gap: 8px; }
  .ww-front #vesta-cdek-pane fieldset.ww-cdek-options > .form-radios .form-type-radio { padding: 12px 9px; gap: 7px; min-height: 72px; }
  .ww-front #vesta-cdek-pane fieldset.ww-cdek-options > .form-radios label { font-size: 12px; line-height: 17px; }
  .ww-front #vesta-cdek-pane .vesta-cdek-quote { padding: 14px 16px; }
  .ww-front #vesta-cdek-pane .ww-cdek-quote-amount { font-size: 28px; line-height: 34px; }
}
@media (prefers-reduced-motion: reduce) { .ww-front #vesta-cdek-pane.is-loading .vesta-cdek-quote::after { animation: none; } }
