/* ============================================================
   MEDICALT — Moteur de recherche praticiens
   Styles isolés : aucun changement global sur Beaver Builder.
   Modifier ces variables si nécessaire pour la charte du site.
   ============================================================ */

.mrs {
    --mrs-main: #3a8c8c;
    --mrs-ink: #20363a;
    --mrs-line: #dae6e5;
    --mrs-muted: #64767a;
    --mrs-surface: #f4f9f8;
    font-family: inherit;
    color: var(--mrs-ink);
    max-width: 1380px;
    margin-inline: auto;
}
.mrs *, .mrs *::before, .mrs *::after { box-sizing: border-box; }
.mrs [hidden] { display: none !important; }
.mrs-form {
    background: var(--mrs-surface);
    border: 1px solid var(--mrs-line);
    padding: clamp(18px, 3vw, 38px);
    border-radius: 18px;
    margin-bottom: 28px;
}
.mrs-form__heading { margin-bottom: 24px; }
.mrs-form__heading h2 { font: inherit; font-size: clamp(22px, 2.6vw, 32px); font-weight: 700; color: var(--mrs-ink); margin: 0 0 7px; }
.mrs-form__heading p { color: var(--mrs-muted); font-size: 15px; margin: 0; }
.mrs-fields { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; align-items: end; }
.mrs-field { min-width: 0; margin: 0; padding: 0; border: 0; }
.mrs-field > label, .mrs-field legend { display: block; font-size: 14px; line-height: 1.5; font-weight: 700; margin-bottom: 8px; color: var(--mrs-ink); }
.mrs-field select {
    appearance: auto;
    width: 100%; max-width: 100%; min-height: 47px;
    background: white; color: var(--mrs-ink);
    border: 1px solid #c9d8d7; border-radius: 8px;
    padding: 9px 11px; font: inherit; font-size: 15px;
}
.mrs-field select:focus-visible, .mrs button:focus-visible, .mrs a:focus-visible, .mrs input:focus-visible { outline: 3px solid var(--mrs-main); outline-offset: 2px; }
.mrs-switch { min-height: 47px; display: flex; align-items: center; gap: 17px; padding: 0 4px; }
.mrs-switch label { font-weight: 500; font-size: 15px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.mrs-switch input, .mrs-check input { accent-color: var(--mrs-main); }
.mrs-actions { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; margin-top: 24px; }
.mrs-check { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; font-size: 15px; font-weight: 600; }
.mrs-buttons { display: flex; align-items: center; gap: 18px; }
.mrs-reset { color: var(--mrs-main); font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }
.mrs-submit, .mrs-more {
    display: inline-flex; align-items: center; justify-content: center;
    min-height: 46px; padding: 12px 22px;
    background: var(--mrs-main); color: #fff !important;
    border: 1px solid var(--mrs-main); border-radius: 9px;
    font-family: inherit; font-size: 15px; font-weight: 700;
    line-height: 1.2; cursor: pointer;
    transition: opacity .2s, transform .2s;
}
.mrs-submit:hover, .mrs-more:hover { opacity: .9; }
.mrs button:disabled { opacity: .65; cursor: wait; }
.mrs-count { color: var(--mrs-ink); font-size: 15px; font-weight: 700; margin: 0 0 18px; }
.mrs-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; transition: opacity .15s; }
.mrs--loading .mrs-grid { opacity: .5; }
/* Les résultats reprennent le HTML des cartes Medicalt existantes.
   On laisse la charte du site styliser les .medicalt-praticien. */
.mrs-grid > .medicalt-praticien { min-width: 0; }
.mrs-grid .medicalt-praticien-image--placeholder {
    display: flex;
    min-height: 180px;
    align-items: center;
    justify-content: center;
    font-size: 64px;
    background: var(--mrs-surface);
    color: var(--mrs-main);
}
/* Extrait puis lien de consultation du profil (rétablis en v1.3.1).
   Les styles sont limités au moteur de recherche. */
.mrs-grid .medicalt-praticien-extrait { font-size: 14px; line-height: 1.65; color: #526366; margin: 12px 0 15px; }
.mrs-grid .medicalt-praticien-bouton { display: inline-block; color: var(--mrs-main); font-size: 14px; font-weight: 700; text-decoration: none; }
.mrs-grid .medicalt-praticien-bouton:hover { text-decoration: underline; }
.mrs-empty { background: #f6f8f8; padding: 30px; border-radius: 10px; text-align: center; color: var(--mrs-muted); }
.mrs-status { color: #ae3a26; margin-top: 15px; }
.mrs-more-wrap { text-align: center; margin-top: 25px; }
@media (max-width: 1000px) { .mrs-fields { grid-template-columns: repeat(2, minmax(0,1fr)); } .mrs-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 620px) {
    .mrs-fields, .mrs-grid { grid-template-columns: minmax(0,1fr); }
    .mrs-actions { flex-direction: column; align-items: stretch; }
    .mrs-buttons { justify-content: space-between; }
    .mrs-form { border-radius: 12px; }
}

/* ============================================================
   MODE FORMULAIRE SEUL / PAGINATION GET NON AJAX
   ============================================================ */
.mrs--form-only .mrs-form { margin-bottom: 0; }
.mrs-pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 28px;
}
.mrs-pagination a,
.mrs-pagination__current {
    display: inline-flex;
    min-width: 40px;
    min-height: 40px;
    padding: 7px 11px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--mrs-line);
    border-radius: 8px;
    background: #fff;
    color: var(--mrs-ink);
    text-decoration: none;
    font-weight: 600;
}
.mrs-pagination a:hover,
.mrs-pagination__current {
    border-color: var(--mrs-main);
    background: var(--mrs-main);
    color: #fff;
}
.mrs-pagination__ellipsis { padding: 0 5px; color: var(--mrs-muted); }
.mrs-return { margin: 0 0 20px; }
.mrs-return a { color: var(--mrs-main); font-weight: 600; }
@media (max-width: 620px) {
    .mrs-pagination { gap: 5px; }
    .mrs-pagination a, .mrs-pagination__current {
        min-width: 36px; min-height: 36px; padding: 5px 9px;
    }
}
