/* Herda o tema e a cor do perfil; controles nativos continuam acessíveis no celular. */
.pt-input-assist-help {
    display: block;
    margin-top: .4rem;
    color: var(--pt-text-muted, #64748b);
    font-size: .78rem;
    font-weight: 400;
    line-height: 1.5;
    overflow-wrap: anywhere;
}
.pt-city-autocomplete { position: relative; z-index: 1; }
.pt-city-autocomplete:focus-within { z-index: 40; }
.pt-city-autocomplete__results {
    position: absolute;
    z-index: 1050;
    top: calc(100% + .4rem);
    right: 0;
    left: 0;
    max-height: min(18rem, 48vh);
    margin: 0;
    padding: .35rem;
    overflow-y: auto;
    overscroll-behavior: contain;
    color: var(--pt-text, #152037);
    background: var(--pt-surface, #fff);
    border: 1px solid var(--pt-border, #dbe3ed);
    border-radius: .8rem;
    box-shadow: 0 16px 36px color-mix(in srgb, var(--pt-navy, #0d2b57), transparent 72%);
}
.pt-city-autocomplete__results[hidden] { display: none !important; }
.pt-city-autocomplete__option {
    display: block;
    width: 100%;
    min-height: 42px;
    padding: .65rem .75rem;
    color: var(--pt-text, #152037);
    background: transparent;
    border: 0;
    border-radius: .55rem;
    font: inherit;
    font-size: .875rem;
    font-weight: 600;
    line-height: 1.35;
    text-align: left;
    cursor: pointer;
}
.pt-city-autocomplete__option:hover,
.pt-city-autocomplete__option[aria-selected="true"] {
    color: var(--pt-profile-on-accent, #fff);
    background: var(--pt-profile-start, var(--pt-primary, #265dff));
}
.pt-city-autocomplete__option:focus-visible {
    outline: 2px solid var(--pt-profile-readable, var(--pt-primary, #265dff));
    outline-offset: -2px;
}
select.pt-assisted-state {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    padding-right: 2rem;
    appearance: auto;
}
.pt-locality-choices { width: 100%; margin: 0; color: var(--pt-text, #152037); }
.pt-locality-choices .choices__inner {
    min-height: 46px;
    padding: .55rem .75rem;
    border: 1px solid var(--pt-border, #dbe3ed);
    border-radius: .7rem;
    background: var(--pt-surface, #fff);
    color: var(--pt-text, #152037);
    font: inherit;
}
.pt-locality-choices.is-focused .choices__inner,
.pt-locality-choices.is-open .choices__inner {
    border-color: var(--pt-primary, #265dff);
    outline: 2px solid color-mix(in srgb, var(--pt-primary, #265dff), transparent 78%);
    outline-offset: 1px;
}
.pt-locality-choices .choices__input { min-width: 12ch !important; margin: 0 !important; padding: 0 !important; background: transparent !important; color: var(--pt-text, #152037) !important; font: inherit !important; }
.pt-locality-choices .choices__placeholder { opacity: 1; color: var(--pt-text-muted, #64748b); }
.pt-locality-choices .choices__list--single { padding: 0; }
.pt-locality-choices .choices__list--dropdown { z-index: 50; border-color: var(--pt-border, #dbe3ed); background: var(--pt-surface, #fff); color: var(--pt-text, #152037); }
.pt-locality-choices .choices__list--dropdown .choices__item--selectable.is-highlighted { background: var(--pt-primary-soft, #edf3ff); color: var(--pt-text, #152037); }
.pt-vehicle-type-choices { width: 100%; margin: 0; color: var(--pt-text, #152037); }
.pt-vehicle-type-choices .choices__inner { min-height: 46px; padding: .55rem .75rem; border: 1px solid var(--pt-border, #dbe3ed); border-radius: .7rem; background: var(--pt-surface, #fff); color: var(--pt-text, #152037); font: inherit; }
.pt-vehicle-type-choices.is-focused .choices__inner, .pt-vehicle-type-choices.is-open .choices__inner { border-color: var(--pt-primary, #265dff); outline: 2px solid color-mix(in srgb, var(--pt-primary, #265dff), transparent 78%); outline-offset: 1px; }
.pt-vehicle-type-choices .choices__input { min-width: 12ch !important; margin: 0 !important; padding: 0 !important; background: transparent !important; color: var(--pt-text, #152037) !important; font: inherit !important; }
.pt-vehicle-type-choices .choices__placeholder { opacity: 1; color: var(--pt-text-muted, #64748b); }
.pt-vehicle-type-choices .choices__list--single { padding: 0; }
.pt-vehicle-type-choices .choices__list--dropdown { z-index: 50; border-color: var(--pt-border, #dbe3ed); background: var(--pt-surface, #fff); color: var(--pt-text, #152037); }
.pt-vehicle-type-choices .choices__list--dropdown .choices__item--selectable.is-highlighted { background: var(--pt-primary-soft, #edf3ff); color: var(--pt-text, #152037); }
.pt-code-lookup { display: grid; gap: .55rem; min-width: 0; margin-bottom: .75rem; }
.pt-code-lookup > label { display: grid; gap: .3rem; min-width: 0; font-size: .85rem; }
.pt-postcode-assist { display: grid; align-content: start; gap: .35rem; min-width: 0; margin: .3rem 0 .75rem; }
.pt-postcode-field { min-width: 0; }
.pt-postcode-field > label { display: grid; gap: .4rem; min-width: 0; }
.pt-postcode-assist .pt-input-assist-help { margin: 0; }
.pt-postcode-assist__search, .pt-postcode-assist__apply {
    justify-self: start;
    min-height: 44px;
    padding: .55rem .8rem;
    border: 1px solid var(--pt-border, #dbe3ed);
    border-radius: .7rem;
    color: var(--pt-primary, #265dff);
    background: var(--pt-surface, #fff);
    font: inherit;
    font-size: .85rem;
    font-weight: 650;
    text-align: left;
}
.pt-postcode-assist button:focus-visible { outline: 2px solid var(--pt-primary, #265dff); outline-offset: 2px; }
.pt-postcode-assist button:disabled { opacity: .6; cursor: wait; }
.pt-postcode-assist__preview {
    margin: .2rem 0;
    padding: .65rem .8rem;
    border-radius: .65rem;
    background: var(--pt-primary-soft, #edf3ff);
    color: var(--pt-text, #152037);
    font-size: .85rem;
    overflow-wrap: anywhere;
}
.pt-postcode-assist [hidden] { display: none !important; }
/* Tema global do Choices: a classe .choices é criada pela própria biblioteca em
   qualquer seletor aprimorado, portanto novos usos já herdam estes estados. */
html[data-theme="dark"] .choices {
    color: var(--pt-text, #edf4ff);
}
html[data-theme="dark"] .choices .choices__inner {
    min-height: 46px;
    background: var(--pt-surface-secondary, #101d31);
    border-color: var(--pt-border, #29415f);
    color: var(--pt-text, #edf4ff);
}
html[data-theme="dark"] .choices.is-focused .choices__inner,
html[data-theme="dark"] .choices.is-open .choices__inner {
    border-color: var(--pt-primary, #5b85ff);
    outline: 2px solid color-mix(in srgb, var(--pt-primary, #5b85ff), transparent 72%);
    outline-offset: 1px;
}
html[data-theme="dark"] .choices .choices__input {
    background: transparent !important;
    color: var(--pt-text, #edf4ff) !important;
}
html[data-theme="dark"] .choices .choices__placeholder,
html[data-theme="dark"] .choices.is-disabled .choices__item {
    color: var(--pt-text-muted, #a6b5ca);
    opacity: 1;
}
html[data-theme="dark"] .choices .choices__list--dropdown,
html[data-theme="dark"] .choices .choices__list[aria-expanded] {
    background: var(--pt-surface, #101d31);
    border-color: var(--pt-border, #29415f);
    color: var(--pt-text, #edf4ff);
}
html[data-theme="dark"] .choices .choices__list--dropdown .choices__item--selectable,
html[data-theme="dark"] .choices .choices__list[aria-expanded] .choices__item--selectable {
    color: var(--pt-text, #edf4ff);
}
html[data-theme="dark"] .choices .choices__list--dropdown .choices__item--selectable.is-highlighted,
html[data-theme="dark"] .choices .choices__list[aria-expanded] .choices__item--selectable.is-highlighted {
    background: var(--pt-primary-soft, #17345d);
    color: var(--pt-text, #edf4ff);
}
html[data-theme="dark"] .choices[data-type*="select-one"]::after {
    border-top-color: var(--pt-text-muted, #a6b5ca);
}
html[data-theme="dark"] .choices.is-disabled .choices__inner {
    background: color-mix(in srgb, var(--pt-surface-secondary, #101d31), #000 18%);
    color: var(--pt-text-muted, #a6b5ca);
}
/* A lista aberta vence barras de ação sticky e demais controles da página. */
.choices.is-open {
    position: relative;
    z-index: 1100;
}
.choices.is-open .choices__list--dropdown,
.choices.is-open .choices__list[aria-expanded] {
    z-index: 1101;
}
html[data-theme="dark"] .pt-input-assist-help { color: #a6b5ca; }
html[data-theme="dark"] .pt-locality-choices .choices__list--dropdown .choices__item--selectable.is-highlighted { color: var(--pt-text, #edf4ff); }
html[data-theme="dark"] .pt-vehicle-type-choices .choices__list--dropdown .choices__item--selectable.is-highlighted { color: var(--pt-text, #edf4ff); }
@media (max-width: 767px) {
    select.pt-assisted-state { font-size: 16px; min-height: 48px; }
    .pt-city-autocomplete__results { max-height: min(16rem, 42vh); }
    .pt-city-autocomplete__option { min-height: 48px; font-size: 1rem; }
}
