/* Medicalis : champ « emplacement + rayon » du plugin ATS, dans le style des champs du formulaire
   de recherche (.ats_search .ats_input). La colonne de recherche est étroite : le rayon passe sous
   l'emplacement, dans le même cadre, séparés par un filet. */
.ats_search .atsloc-ou,
.atsloc-ou-list {
    --atsloc-accent: #006f8e;
    --atsloc-border: #ced4da;
    --atsloc-bg: #fbfbfb;
    --atsloc-text: #495057;
    --atsloc-muted: #6c757d;
    --atsloc-hover: #e6f1f4;
    --atsloc-font: inherit;
    --atsloc-height: 38px;
    --atsloc-radius: .25rem;
}

.ats_search .atsloc-ou {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    background: #fbfbfb;
}
.ats_search .atsloc-ou:hover,
.ats_search .atsloc-ou:focus-within { border-color: #006f8e; }
.ats_search .atsloc-ou-field { flex: 1 1 100%; min-width: 0; }
/* !important : .ats_search .ats_input impose déjà bordure, hauteur et fond en !important */
.ats_search .atsloc-ou-input {
    width: 100%;
    height: 36px !important;
    min-height: 36px;
    max-height: 36px;
    padding: 0 60px 0 .75rem;
    line-height: 34px;
    border: 0 !important;
    border-radius: .25rem .25rem 0 0 !important;
    background: transparent !important;
    font-size: 1rem;
    font-weight: 400;
}
.ats_search .atsloc-ou-input.has-value { color: #006f8e !important; font-weight: 600; }
.ats_search .atsloc-ou-field::after { top: 18px; right: 8px; font-size: 1.3rem; }
.ats_search .atsloc-ou-clear { top: 18px; right: 32px; }
.ats_search .atsloc-ou-clear[hidden] { display: none; }

.ats_search .atsloc-rayon { flex: 1 1 100%; border-top: 1px solid #ced4da; }
.ats_search .atsloc-rayon > .select2-container { width: 100% !important; }
.ats_search .atsloc-rayon .select2-container--default .select2-selection--single,
.ats_search .atsloc-rayon .select2-container .select2-selection--single {
    height: 36px;
    min-height: 36px !important;
    padding: 0 .75rem !important;
    border: 0;
    border-radius: 0 0 .25rem .25rem;
    background: transparent;
}
.ats_search .atsloc-rayon .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 36px;
    padding-left: 0;
    font-size: .95rem;
    font-weight: 400;
    color: #495057;
}
.ats_search .atsloc-rayon .select2-container--default .select2-selection--single .select2-selection__arrow { height: 34px; }
.ats_search .atsloc-rayon .select2-container--default.select2-container--disabled .select2-selection--single { background: #f1f3f5; }
.ats_search .atsloc-rayon select { width: 100%; min-height: 36px; border: 0; background: transparent; }
/* la colonne de recherche centre son texte : le rayon s'aligne à gauche comme les autres champs */
.ats_search .atsloc-rayon .select2-selection__rendered,
.ats_search .atsloc-rayon-drop .select2-results__option { text-align: left; }

/* --- Accueil : bandeau Smart Slider (form.newtheme-banner-search), à la place du sélecteur de région.
   Même case que l'ancien sélecteur (60px, fond #fbfbfb) : emplacement | rayon, séparés par un filet. --- */
/* flottant comme l'ancien .newtheme-select-style : sinon la case s'aligne sur la ligne de base et descend */
.atsloc-home { float: left; width: 100%; height: 60px; }
.atsloc-home .atsloc-ou,
.atsloc-home .atsloc-ou-field,
.atsloc-home .atsloc-rayon { flex-wrap: nowrap; }
.atsloc-home .atsloc-ou {
    --atsloc-height: 60px;
    --atsloc-radius: 0;
    --atsloc-bg: #fbfbfb;
    --atsloc-text: #000;
    --atsloc-muted: #666;
    display: flex;
    width: 100%;
    height: 60px;
    background: #fbfbfb;
    border: 1px solid #f2f2f2;
    border-left: 0;
}
.atsloc-home .atsloc-ou-field { flex: 1 1 auto; min-width: 0; }
.newtheme-banner-search .atsloc-home .atsloc-ou-input {
    height: 58px;
    min-height: 58px;
    max-height: 58px;
    float: none;
    padding: 8px 30px 8px 14px;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-weight: 400;
    color: #000;
}
/* sans valeur, pas de bouton d'effacement : la place revient au texte d'aide */
.newtheme-banner-search .atsloc-home .atsloc-ou-input:not(.has-value) { padding-right: 6px; }
.newtheme-banner-search .atsloc-home .atsloc-ou-input.has-value { color: #006f8e; font-weight: 600; }
.atsloc-home .atsloc-ou-field::after { content: none; }
.atsloc-home .atsloc-ou-clear { top: 50%; right: 6px; }
.atsloc-home .atsloc-ou-clear[hidden] { display: none; }
.atsloc-home .atsloc-rayon { flex: 0 0 84px; border-left: 1px solid #f2f2f2; }
.atsloc-home .atsloc-rayon > .select2-container { width: 100% !important; }
.atsloc-home .atsloc-rayon .select2-container--default .select2-selection--single {
    height: 58px;
    min-height: 58px;
    padding: 0 22px 0 10px;
    border: 0;
    border-radius: 0;
    background: transparent;
}
.atsloc-home .atsloc-rayon .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 58px;
    padding: 0;
    font-size: 15px;
    font-weight: 400;
    color: #000;
    text-align: left;
}
.atsloc-home .atsloc-rayon .select2-container--default.select2-container--disabled .select2-selection--single { background: transparent; }
.atsloc-home .atsloc-rayon .select2-container--default.select2-container--disabled .select2-selection__rendered { color: #999; }
.atsloc-home .atsloc-rayon .select2-container--default .select2-selection--single .select2-selection__arrow { height: 58px; right: 6px; }
.atsloc-home .atsloc-rayon .select2-container--default .select2-selection--single .select2-selection__arrow b { border-top-color: #999; }
/* le thème met en ligne tous les <li> du bandeau : le menu du rayon garde une option par ligne */
.newtheme-banner-search .atsloc-rayon-drop .select2-results__option {
    display: block;
    width: auto;
    margin: 0;
    padding: 8px 12px;
    font-size: 15px;
    text-align: left;
    white-space: nowrap;
}

/* liste de suggestions : même cadre que les menus select2 du formulaire */
.atsloc-ou-list { border-width: 1px; border-color: #aaa; border-radius: 4px; }
.atsloc-ou-list li[role="option"] { white-space: normal; align-items: baseline; }
.atsloc-ou-list li[role="option"] small { flex-shrink: 0; }

/* résultats vides : rayons plus larges proposés */
.atsloc-empty .atsloc-wider { display: flex; flex-wrap: wrap; gap: .5rem; }
.atsloc-empty .atsloc-wider .newtheme-option-btn { float: none; }

.ats_search .atsloc-ou-clear:focus-visible { outline: 2px solid #006f8e; outline-offset: 2px; }

/* petit écran : la case reste sur une ligne (le style de base du plugin empile emplacement et rayon) */
@media (max-width: 767.98px) {
    .atsloc-home .atsloc-ou-field { flex: 1 1 auto; }
    .atsloc-home .atsloc-rayon { flex: 0 0 84px; }
    .atsloc-home .atsloc-rayon .select2-container--default .select2-selection--single { border: 0; border-radius: 0; }
}
@media (max-width: 380px) {
    .newtheme-banner-search .atsloc-home .atsloc-ou-input::placeholder { font-size: 14px; }
}
