/* Shared refinements: public directory, profiles, forms and reference catalogues. */
:root{--brand-accent:#3158c7;--brand-accent-hover:#2447aa;--whatsapp-green:#174079;--whatsapp-green-hover:#12325f;--border-color:#d9e1ec;--text-muted:#59677b}
html body [hidden]{display:none!important}
body{font-size:15px;line-height:1.55;background:#f5f7fb}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #3158c7;outline-offset:3px}
summary{cursor:pointer;font-weight:700;min-height:44px;align-content:center}
.psy-skip{position:fixed;top:-100px;inset-inline-start:12px;z-index:20000;background:white;padding:12px}.psy-skip:focus{top:12px}
.psy-header-portal{border-radius:10px;box-shadow:0 2px 12px #1b355208}
.psy-brand-mark{border-radius:8px}
.psy-brand-tagline{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.psy-header-inner{gap:14px}.psy-header-nav{gap:4px}
@media(max-width:360px){.psy-header-inner{gap:6px!important;padding:8px!important}.psy-brand-wrap{gap:7px}.psy-brand-name{font-size:18px!important}.psy-brand-mark{width:32px;height:36px}.psy-header-actions{gap:5px!important}.psy-lang-toggle-trigger{padding:8px!important;gap:5px}.psy-lang-globe-icon{display:none}.psy-mobile-menu-btn{width:40px;min-width:40px}}
.psy-hero-simple{padding:28px 24px;border-radius:12px;border-color:#e0e6ef;background:linear-gradient(115deg,#fff,#f0f5ff)}
.psy-hero-headline{font-size:clamp(1.45rem,3vw,2rem);line-height:1.25;margin:0 0 8px}
.psy-hero-subline{margin:0 auto 20px;font-size:1rem;max-width:660px;color:#526177}
.psy-search-bar-unified{border:1px solid #cbd5e1;border-radius:8px;overflow:hidden;box-shadow:0 3px 10px #243f6410}
.psy-search-block{min-width:0}.psy-search-block-input,.psy-search-block-select{min-height:48px;font-size:15px}.psy-search-submit{background:var(--brand-accent);min-height:48px}
.psy-kbd-hint{display:none}
.psy-results-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:24px 0 14px;font-size:.95rem}
.psy-favorites-link{display:inline-flex;gap:7px;align-items:center;padding:7px 16px;border-radius:999px;background:#fff;border:1px solid #e2e8f0;color:#334155;text-decoration:none;font-weight:650;font-size:.85rem}
.psy-toolbar-sharp{margin-bottom:22px;border-radius:16px;background:#fff;border:1px solid #e2e8f0}
.psy-toolbar-sharp>summary{padding:14px 20px;color:#1e293b;font-weight:750}
.psy-toolbar-main-row{padding:14px 20px 8px}
.psy-filter-tabs-sharp{flex-wrap:wrap;gap:8px}
.psy-tab-sharp{min-height:38px;border-radius:999px!important}
.psy-reasons-row{padding:12px 20px 16px;gap:8px;border-top:1px solid #f1f5f9}
.psy-reason-chip{min-height:36px;border-radius:999px!important;padding:6px 14px}
.psy-active-filters{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 14px;font-size:.86rem;align-items:center}
.psy-active-filters span{background:rgba(62,82,130,.1);color:#3e5282;border:1px solid rgba(62,82,130,.2);border-radius:999px;padding:5px 12px;font-weight:650}
.psy-favorites-notice{margin:12px 0;color:#526177}.psy-favorites-notice a{margin-inline-start:10px}
.psy-directory-card{padding:22px 20px 18px;gap:14px;border-radius:14px!important;border:1px solid #e2e8f0!important;background:#ffffff;box-shadow:0 1px 3px rgba(15,23,42,.04),0 4px 12px -2px rgba(15,23,42,.03);justify-content:flex-start;transition:transform .22s cubic-bezier(0.16,1,0.3,1),box-shadow .22s cubic-bezier(0.16,1,0.3,1),border-color .2s ease}
.psy-directory-card:hover{transform:translateY(-2px);border-color:#cbd5e1!important;box-shadow:0 10px 24px -4px rgba(15,23,42,.07),0 4px 10px -2px rgba(15,23,42,.03)}
.psy-compact-heading{display:flex;align-items:flex-start;gap:16px;min-width:0}
.psy-compact-photo{display:flex;flex:0 0 74px;width:74px;height:74px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#eff6ff,#dbeafe);color:#1d4ed8;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;letter-spacing:-.02em;text-decoration:none;box-shadow:0 0 0 3px #ffffff,0 0 0 4.5px #e2e8f0;transition:box-shadow .25s ease}
.psy-directory-card:hover .psy-compact-photo{box-shadow:0 0 0 3px #ffffff,0 0 0 4.5px #93c5fd}
.psy-compact-photo img{width:100%;height:100%;object-fit:cover;object-position:center 20%;transition:transform .3s cubic-bezier(0.16,1,0.3,1)}
.psy-directory-card:hover .psy-compact-photo img{transform:scale(1.04)}
.psy-compact-identity{flex:1;min-width:0}.psy-compact-identity h2{font-size:1.12rem;font-weight:750;letter-spacing:-.015em;line-height:1.3;margin:0 0 4px}.psy-compact-identity h2 a{color:#0f172a;text-decoration:none;transition:color .15s ease}.psy-compact-identity h2 a:hover{color:#2563eb}.psy-compact-identity p{font-size:.88rem;margin:2px 0}.psy-muted{color:#64748b}
.psy-icon-btn{flex-shrink:0;width:38px;height:38px;color:#526177;border-radius:9px;min-width:38px;min-height:38px;transition:all .2s ease}.psy-icon-btn.is-saved{color:#2563eb;background:#eff6ff}
.psy-directory-card .psy-compact-heading .js-toggle-favorite{width:34px!important;height:34px!important;min-width:34px!important;max-width:34px!important;min-height:34px!important;max-height:34px!important;border-radius:50%!important;background:#f8fafc!important;border:1px solid #e2e8f0!important;color:#94a3b8!important;font-size:.86rem!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;transition:all .2s ease!important;padding:0!important;box-shadow:none!important}
.psy-directory-card .psy-compact-heading .js-toggle-favorite:hover{background:#eff6ff!important;border-color:#bfdbfe!important;color:#2563eb!important;transform:scale(1.06)!important}
.psy-directory-card .psy-compact-heading .js-toggle-favorite.is-saved{background:#eff6ff!important;border-color:#93c5fd!important;color:#2563eb!important}
.psy-compact-meta{display:grid;gap:4px;font-size:.88rem;color:#526177}.psy-compact-meta strong{color:#17253e;font-size:1rem}
.psy-badge-sharp{border-radius:5px!important;font-size:.75rem;line-height:1.5;padding:3px 7px}
.psy-compact-actions{display:flex;gap:8px;align-items:center;margin-top:auto;padding-top:14px;border-top:1px solid #f1f5f9}.psy-compact-actions>a{flex:1}
.psy-action-btn,.psy-btn-sharp,.psy-btn-sharp-reset{min-height:44px;border-radius:7px!important;padding:10px 14px;line-height:1.3;text-align:center;justify-content:center;white-space:normal}
.psy-action-book{background:var(--brand-accent);color:#fff}.psy-action-wa{background:#174079;color:#fff}.psy-action-call{color:#3158c7;border-color:#bdcbea}
.psy-empty-state{border-radius:12px;background:#fff;padding:32px;text-align:center}.psy-empty-state p{margin:10px 0 20px}.psy-empty-state a{display:inline-flex}
.psy-portal-sections{margin-top:32px}.psy-portal-block{border-radius:10px;padding:20px}.psy-portal-block h2{font-size:1rem;margin-bottom:14px}.psy-portal-block p{color:#59677b;font-size:.94rem}.psy-portal-link{min-height:44px}
.psy-breadcrumbs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0;color:#59677b;font-size:.86rem}.psy-breadcrumbs a{color:#3158c7}
.psy-profile-container{max-width:960px;margin:auto;display:grid;gap:20px}.psy-profile-main,.psy-profile-panel{padding:24px;background:white;border:1px solid #dce3ee;border-radius:12px}
.psy-profile-main .psy-compact-photo{width:100px;height:112px;flex-basis:100px}.psy-compact-identity h1{font-size:1.65rem;line-height:1.25;margin:0 0 8px}
.psy-profile-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0}.psy-profile-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:22px}.psy-profile-facts h2,.psy-profile-main>h2{font-size:.95rem;color:#526177;margin:0 0 6px}.psy-profile-facts p{margin:4px 0;overflow-wrap:anywhere}.psy-profile-bio{line-height:1.7;margin-bottom:24px}
.psy-profile-contact{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;background:#fff;padding-top:16px;border-top:1px solid #e5eaf2}.psy-contact-number{display:flex;align-items:center;gap:6px;margin-top:12px}.psy-contact-number a{color:#334155}
.psy-profile-panel p{margin-top:10px;color:#59677b}.psy-profile-panel summary{min-height:32px}
.psy-modal-overlay{position:fixed;inset:0;background:#15223db0;z-index:10000;align-items:center;justify-content:center;padding:16px;overflow:auto}
.psy-request-dialog{width:100%;max-width:560px;background:white;border-radius:12px;max-height:calc(100dvh - 32px);overflow:auto;box-shadow:0 24px 70px #0003}
.psy-request-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:18px 20px;border-bottom:1px solid #e4eaf3}.psy-request-header h2{font-size:1.12rem;line-height:1.4}.psy-request-header .psy-icon-btn{margin-top:-7px}
#appointmentForm{display:grid;gap:14px;padding:18px 20px}#appointmentForm label,#appointmentForm legend{display:block;font-size:.88rem;font-weight:650;margin-bottom:5px}#appointmentHelp{font-size:.85rem}.psy-recipient{font-size:.9rem;color:#3158c7}
.psy-input-sharp{display:block;width:100%;min-height:44px;border:1px solid #bdc9da;border-radius:7px;padding:10px;background:white;color:#17253e;font-size:16px}
.psy-request-modes{border:0;display:flex;flex-wrap:wrap;gap:8px}.psy-request-modes label{display:flex!important;align-items:center;gap:8px;border:1px solid #cbd5e1;border-radius:7px;padding:10px;flex:1}.psy-request-modes input{width:18px;height:18px;flex-shrink:0}
.psy-request-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:12px}.psy-request-actions{display:flex;gap:8px}.psy-request-actions>button:first-child{flex:1}#appointmentFeedback,#registrationFeedback{color:#2447aa;font-size:.9rem}#appointmentFeedback:empty,#registrationFeedback:empty{display:none}
.psy-modal-dialog{max-height:calc(100dvh - 32px);overflow:auto!important;border-radius:12px!important}
.psy-modal-container{width:100%;max-height:calc(100dvh - 32px);overflow:auto;border-radius:12px;background:#fff}.psy-modal-close{min-width:44px;min-height:44px}.psy-modal-body{overflow-wrap:anywhere}
.psy-pole-tabs{flex-wrap:wrap;overflow:visible;gap:8px}.psy-pole-tab-btn{min-height:44px;border-radius:7px;white-space:normal}
.psy-pole-header,.psy-pole-info,.psy-pole-actions{min-width:0}.psy-pole-actions{flex-wrap:wrap;max-width:100%}.psy-pole-link-cta{white-space:normal;min-height:44px;text-align:center;max-width:100%;border-radius:7px}.psy-pole-header{flex-wrap:wrap;gap:16px}.psy-pole-card,.psy-subspecialty-card,.psy-specialties-hero{border-radius:10px;overflow:hidden}.psy-specialties-title{font-size:1.6rem}.psy-specialties-hero{padding:24px}.psy-specialties-subtitle{max-width:800px}.psy-catalog-help{margin:14px 0;color:#526177;font-size:.92rem}.psy-catalog-help a{color:#3158c7}
.psy-reg-hero{padding:20px!important;border-radius:12px;margin-bottom:18px!important}.psy-reg-hero-title{font-size:1.5rem!important;margin:10px 0!important}.psy-reg-hero-sub{font-size:.95rem!important;margin:0!important}.psy-reg-hero-badge,.psy-reg-perks-grid{display:none!important}.psy-reg-card{border-radius:12px;overflow:hidden}.psy-reg-card-header{flex-wrap:wrap;gap:8px}.psy-form-input,.psy-form-select,.psy-form-textarea{border-radius:7px!important;font-size:16px!important;min-height:44px}.psy-reg-form{padding:20px!important}.psy-form-grid-2,.psy-form-grid-3{min-width:0}.psy-form-group{min-width:0}.psy-step-progress{color:#3158c7;font-weight:750;margin:0 0 20px}.psy-step-navigation{display:flex;justify-content:space-between;gap:12px;margin:20px 0}.psy-step-navigation button{min-width:110px}.psy-step-navigation button:only-child{margin-inline-start:auto}#registrationSummary{padding:18px;background:#f4f7fd;border-radius:8px;margin:12px 0}#registrationSummary h2{font-size:1.1rem;margin-bottom:14px}#registrationSummary p{padding:6px 0;border-bottom:1px solid #e4eaf3;overflow-wrap:anywhere}
[dir="rtl"] body{font-family:Tahoma,"Segoe UI",Arial,sans-serif;line-height:1.75}[dir="rtl"] .fa-arrow-right,[dir="rtl"] .fa-chevron-right{transform:scaleX(-1)}[dir="rtl"] .psy-compact-identity{text-align:right}[dir="rtl"] .psy-profile-panel{text-align:right}
@media(max-width:760px){.psy-grid-2col{grid-template-columns:1fr}.psy-pole-header{flex-direction:column;align-items:stretch}.psy-pole-actions{justify-content:flex-start}.psy-profile-contact{grid-template-columns:1fr 1fr}.psy-profile-contact>button{grid-column:1/-1}}
@media(max-width:540px){
 .container{padding:0 12px}.psy-header-portal{margin:10px 0 14px}.psy-header-inner{padding:10px}.psy-hero-simple{padding:20px 14px;margin-bottom:12px}.psy-hero-headline{font-size:1.45rem}.psy-hero-subline{font-size:.9rem;line-height:1.5;margin-bottom:14px}
 .psy-search-bar-unified{width:100%;max-width:none;margin:0}.psy-search-block-input,.psy-search-block-select{min-height:44px}.psy-search-submit{min-height:44px}.psy-search-block{min-height:44px}
 .psy-results-heading{margin:10px 0 4px;font-size:.82rem;gap:6px}.psy-favorites-link{font-size:.82rem}.psy-toolbar-sharp{margin-bottom:12px}.psy-directory-card{padding:14px;gap:11px}.psy-compact-heading{gap:10px}.psy-compact-photo{width:54px;height:64px;flex-basis:54px}.psy-compact-identity h2{font-size:1rem}.psy-compact-identity p{font-size:.82rem}.psy-compact-meta{font-size:.84rem}.psy-status-badges-row{gap:5px}.psy-compact-actions{padding-top:8px}
 .psy-profile-main,.psy-profile-panel{padding:16px}.psy-profile-main .psy-compact-photo{width:64px;height:76px;flex-basis:64px}.psy-compact-identity h1{font-size:1.3rem}.psy-profile-facts{grid-template-columns:1fr;gap:14px}.psy-profile-contact{position:sticky;bottom:0;z-index:5;padding:12px 0;box-shadow:0 -8px 18px #fff}
 .psy-request-grid{grid-template-columns:1fr}.psy-modal-overlay{padding:8px}.psy-request-dialog{max-height:calc(100dvh - 16px)}.psy-request-header{padding:14px}#appointmentForm{padding:14px}.psy-request-actions{flex-direction:column}.psy-request-modes{flex-direction:column}
 .psy-specialties-hero{padding:18px}.psy-specialties-title{font-size:1.3rem}.psy-pole-tabs{gap:6px}.psy-pole-tab-btn{font-size:.78rem;padding:7px 9px}.psy-pole-info{gap:10px}.psy-pole-icon-box{flex-shrink:0}.psy-pole-link-cta{width:100%}.psy-pole-actions{width:100%}.psy-specialties-input{font-size:16px}.psy-reg-hero{padding:16px!important}.psy-reg-hero-title{font-size:1.25rem!important}.psy-reg-form{padding:14px!important}.psy-form-grid-2,.psy-form-grid-3{grid-template-columns:1fr!important}.psy-reg-submit-btn{white-space:normal!important;font-size:.94rem!important}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.psy-comp-pole-tabs,.psy-tech-pole-tabs{flex-wrap:wrap;overflow:visible;gap:8px}
.psy-comp-pole-btn,.psy-tech-pole-btn{white-space:normal;min-height:44px;border-radius:7px}
.psy-comp-pole-info,.psy-tech-pole-info{min-width:0}
.psy-comp-pole-actions,.psy-tech-pole-actions{flex-wrap:wrap;max-width:100%}
.psy-comp-pole-cta,.psy-tech-pole-cta{white-space:normal;min-height:44px;max-width:100%;border-radius:7px}
.psy-competences-hero,.psy-techniques-hero,.psy-comp-pole-card,.psy-tech-pole-card,.psy-competence-card,.psy-technique-card{border-radius:10px}
.psy-competences-title,.psy-techniques-title{font-size:1.6rem}
.psy-nav-dropdown:focus-within .psy-nav-dropdown-menu{display:block;visibility:visible;opacity:1;pointer-events:auto}
@media(max-width:540px){.psy-comp-pole-header,.psy-tech-pole-header{padding:16px;flex-direction:column;align-items:stretch}.psy-comp-pole-cta,.psy-tech-pole-cta{width:100%;justify-content:center}.psy-comp-pole-actions,.psy-tech-pole-actions{width:100%}.psy-competences-title,.psy-techniques-title{font-size:1.3rem}.psy-comp-pole-btn,.psy-tech-pole-btn{font-size:.78rem;padding:7px 9px}.psy-competences-input,.psy-techniques-input{font-size:16px}}

/* ==========================================================================
   REFONTE CARTE ANNUAIRE, CHIPS CLIQUABLES & PAGE DÉDIÉE PRATICIEN
   ========================================================================== */
.psy-card-header-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}
.psy-card-title {
  font-size: 1.12rem;
  font-weight: 750;
  letter-spacing: -0.015em;
  margin: 0 0 3px;
  line-height: 1.3;
}
.psy-card-title a {
  color: #0f172a;
  text-decoration: none;
  transition: color 0.15s ease;
}
.psy-card-title a:hover {
  color: #2563eb;
}
.psy-name-latin {
  display: block;
  font-size: 0.8rem;
  font-weight: 500;
  color: #64748b;
  margin-top: 1px;
}
.psy-card-rating {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.84rem;
  font-weight: 700;
  color: #0f172a;
  background: #fefce8;
  border: 1px solid #fef08a;
  padding: 2px 7px;
  border-radius: 6px;
}
.psy-card-rating i {
  color: #eab308;
}
.psy-card-specialty {
  margin: 3px 0 2px;
  font-size: 0.88rem;
  font-weight: 650;
  line-height: 1.4;
}
.psy-spec-link {
  color: #2563eb;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: color 0.15s ease;
}
.psy-spec-link i {
  font-size: 0.84rem;
  color: #3b82f6;
}
.psy-spec-link:hover {
  color: #1d4ed8;
  text-decoration: none;
}
.psy-card-location {
  margin: 2px 0 0;
  font-size: 0.82rem;
  color: #64748b;
  line-height: 1.45;
}
.psy-card-location i {
  color: #1a4787;
  font-size: 0.8rem;
  margin-inline-end: 2px;
}
.psy-city-link {
  color: #334155;
  text-decoration: none;
  font-weight: 600;
  transition: color 0.15s ease;
}
.psy-city-link:hover {
  color: #1a4787;
}

/* Chips Cliquables & Badges */
.psy-card-chips-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  margin: 10px 0 6px;
}
.psy-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.74rem;
  font-weight: 600;
  padding: 3.5px 10px;
  border-radius: 999px;
  text-decoration: none;
  line-height: 1.35;
  transition: all 0.15s ease;
}
.psy-chip i {
  font-size: 0.72rem;
}
.psy-chip-tech {
  background: #eff6ff;
  color: #1d4ed8;
  border: 1px solid #bfdbfe;
}
.psy-chip-tech:hover {
  background: #dbeafe;
  color: #1e3a8a;
  border-color: #93c5fd;
  transform: translateY(-1px);
}
.psy-chip-comp {
  background: #f1f6fc;
  color: #153b70;
  border: 1px solid #a2c1ed;
}
.psy-chip-comp:hover {
  background: #d1e0f6;
  color: #12315d;
  border-color: #669ae2;
  transform: translateY(-1px);
}
.psy-chip-verified, .psy-verification, .psy-verification-details summary {
  background: #edf3fc;
  color: #143768;
  border: 1px solid #abc7ef;
  border-radius: 999px !important;
  font-size: 0.74rem !important;
  padding: 3px 9px !important;
  min-height: 0 !important;
  height: auto !important;
  line-height: 1.35 !important;
  align-content: normal !important;
  display: inline-flex !important;
  align-items: center !important;
}
.psy-verification-details {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin: 0;
  vertical-align: middle;
}
.psy-chip-format {
  background: #f8fafc;
  color: #334155;
  border: 1px solid #e2e8f0;
}
.psy-chip-format i.fa-door-open {
  color: #475569;
}
.psy-chip-format i.fa-video {
  color: #2563eb;
}
.psy-chip-insurance {
  background: #f1f6fc;
  color: #163765;
  border: 1px solid #8cb3e9;
}
.psy-chip-lang {
  background: #fffbeb;
  color: #92400e;
  border: 1px solid #fde68a;
}
.psy-chip-lang i {
  color: #d97706;
}

.psy-directory-card .psy-profile-extra-specialties {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin-block: 6px 4px !important;
}
.psy-directory-card .psy-profile-extra-specialties a {
  display: inline-flex !important;
  align-items: center !important;
  padding: 3.5px 10px !important;
  border: 1px solid #bfd5f3 !important;
  border-radius: 999px !important;
  background: #f1f6fc !important;
  color: #18427d !important;
  font-size: 0.74rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  line-height: 1.35 !important;
  transition: all 0.15s ease !important;
}
.psy-directory-card .psy-profile-extra-specialties a:hover {
  background: #dfeaf9 !important;
  border-color: #8cb3e9 !important;
  color: #142e53 !important;
}

/* Pied de carte */
.psy-directory-card .psy-compact-actions {
  border-top: none !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
  gap: 8px !important;
  width: 100% !important;
  margin-inline-start: 0 !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
}
.psy-directory-card .psy-compact-actions > .psy-btn-profile {
  background: #ffffff !important;
  color: #1e3a8a !important;
  border: 1.5px solid #dbeafe !important;
  border-radius: 9px !important;
  font-weight: 650 !important;
  font-size: 0.84rem !important;
  padding: 0 14px !important;
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  box-shadow: 0 1px 2px rgba(30, 58, 138, 0.04) !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex: 0 0 auto !important;
  width: auto !important;
  margin-inline-end: auto !important;
}
.psy-directory-card .psy-compact-actions > .psy-btn-profile:hover {
  background: #1d4ed8 !important;
  color: #ffffff !important;
  border-color: #1d4ed8 !important;
  box-shadow: 0 4px 12px rgba(29, 78, 216, 0.22) !important;
  transform: translateY(-1px) !important;
}
.psy-directory-card .psy-compact-actions > .psy-btn-preview {
  background: #ffffff !important;
  color: #475569 !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 9px !important;
  font-weight: 600 !important;
  font-size: 0.84rem !important;
  padding: 0 12px !important;
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.02) !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex: 0 0 auto !important;
}
.psy-directory-card .psy-compact-actions > .psy-btn-preview:hover {
  background: #f8fafc !important;
  color: #0f172a !important;
  border-color: #cbd5e1 !important;
  transform: translateY(-1px) !important;
}
.psy-directory-card .psy-compact-actions > .psy-btn-card-wa {
  background: #3878d1 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 9px !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  box-shadow: 0 1px 3px rgba(46,106,189, 0.2) !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  font-size: 1rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.psy-directory-card .psy-compact-actions > .psy-btn-card-wa:hover {
  background: #306cbf !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 3px 8px rgba(46,106,189, 0.28) !important;
}
.psy-directory-card .psy-compact-actions > .js-share-profile {
  background: #ffffff !important;
  color: #64748b !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 9px !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.02) !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  font-size: 0.88rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.psy-directory-card .psy-compact-actions > .js-share-profile:hover {
  background: #f8fafc !important;
  color: #1e293b !important;
  border-color: #cbd5e1 !important;
  transform: translateY(-1px) !important;
}
.psy-card-bottom-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid #f1f5f9;
  flex-wrap: wrap;
}
.psy-card-meta-indicators {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 0.88rem;
}
.psy-card-price-tag {
  color: #64748b;
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  font-size: 0.82rem;
}
.psy-card-price-tag .psy-price-val {
  color: #0f172a;
  font-weight: 750;
  font-size: 0.95rem;
}
.psy-card-exp-tag {
  color: #64748b;
  font-size: 0.82rem;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

/* Boutons d'action */
.psy-btn-profile {
  background: #3e5282;
  color: #ffffff !important;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  text-decoration: none;
  white-space: nowrap !important;
  height: 44px;
  min-height: 44px;
  max-height: 44px;
  box-shadow: 0 2px 6px rgba(62, 82, 130, 0.2);
}
.psy-btn-profile:hover {
  background: #32436d;
  color: #ffffff !important;
  box-shadow: 0 4px 12px rgba(62, 82, 130, 0.3);
}
.psy-btn-preview {
  background: #f1f5f9;
  color: #1e293b;
  border: 1px solid #cbd5e1;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap !important;
  height: 44px;
  min-height: 44px;
  max-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.psy-btn-preview:hover {
  background: #e2e8f0;
  border-color: #94a3b8;
}
.psy-btn-card-wa {
  background: #3878d1;
  color: #ffffff;
  border: none;
}
.psy-btn-card-wa:hover {
  background: #306cbf;
}
.psy-btn-card-call {
  background: #ffffff;
  border: 1px solid #cbd5e1;
  color: #1d4ed8;
}
.psy-btn-card-call:hover {
  background: #eff6ff;
  border-color: #93c5fd;
}

/* Grille de badges pour profile-catalog.php */
.psy-profile-catalog-panel {
  margin-top: 16px;
}
.psy-catalog-badges-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 12px;
}
.psy-catalog-badge-item {
  display: block;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 12px 14px;
  text-decoration: none;
  transition: all 0.15s ease;
}
.psy-catalog-badge-item:hover {
  background: #eff6ff;
  border-color: #bfdbfe;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(29, 78, 216, 0.08);
}
.psy-badge-item-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 4px;
}
.psy-badge-item-name {
  font-weight: 750;
  color: #1d4ed8;
  font-size: 0.92rem;
}
.psy-badge-item-top i {
  color: #94a3b8;
  font-size: 0.75rem;
}
.psy-catalog-badge-item:hover .psy-badge-item-top i {
  color: #1d4ed8;
}
.psy-badge-item-desc {
  font-size: 0.82rem;
  color: #475569;
  line-height: 1.45;
  margin: 0;
}

/* Notice pour compétences / techniques injectées automatiquement */
.psy-auto-injected-notice {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-inline-start: 3px solid #6366f1;
  border-radius: 6px;
  padding: 8px 12px;
  margin-top: 6px;
  margin-bottom: 14px;
  font-size: 0.81rem;
  color: #475569;
  line-height: 1.45;
}
.psy-auto-injected-notice i {
  color: #6366f1;
  font-size: 0.88rem;
  margin-top: 2px;
  flex-shrink: 0;
}
.psy-auto-notice-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #eef2ff;
  color: #4f46e5;
  border: 1px solid #c7d2fe;
  font-size: 0.72rem;
  font-weight: 650;
  padding: 2px 8px;
  border-radius: 9999px;
  letter-spacing: 0.02em;
}

/* Actions footer avec bouton Voir plus */
.psy-catalog-footer-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 14px;
  padding-top: 8px;
}
.psy-catalog-see-more-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  font-size: 0.84rem;
  font-weight: 650;
  color: #1e293b;
  text-decoration: none;
  transition: all 0.15s ease;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
.psy-catalog-see-more-btn:hover {
  background: #2563eb;
  border-color: #2563eb;
  color: #ffffff;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.2);
}
.psy-catalog-see-more-btn:hover i {
  transform: translateX(3px);
  transition: transform 0.15s ease;
}
[dir="rtl"] .psy-catalog-see-more-btn:hover i {
  transform: translateX(-3px);
}

/* Compact visitor registration, including RTL and short mobile screens. */
.psy-visitor-modal-box { max-height: 92dvh; overflow-y: auto; }
.psy-visitor-consent { display:flex; align-items:flex-start; gap:9px; font-size:.82rem; line-height:1.5; margin:12px 0; }
.psy-visitor-consent input { flex:0 0 auto; margin-top:4px; width:18px; height:18px; }
#visitorInputEmail { width:100%; margin-top:5px; }
@media (max-width:600px) {
 .psy-visitor-modal-box { width:calc(100% - 16px); margin:8px; }
 .psy-visitor-badge-alert { padding:10px; margin-bottom:12px; }
 .psy-visitor-trust-note { font-size:.75rem; }
}

#psyVisitorContactModal .psy-visitor-modal-box { overflow-y:auto !important; max-height:calc(100dvh - 24px); }
@media (max-width:600px) {
 #psyVisitorContactModal .psy-request-header { padding:12px 14px; }
 #psyVisitorContactModal .psy-visitor-modal-body { padding:14px; }
 #psyVisitorContactModal .psy-visitor-head-text h2 { font-size:1rem; }
 #psyVisitorContactModal .psy-visitor-badge-alert { padding:9px 10px; margin-bottom:12px; }
 #psyVisitorContactModal .psy-request-grid { grid-template-columns:1fr 1fr; gap:10px; }
 #psyVisitorContactModal .psy-request-grid > div { min-width:0; }
 #psyVisitorContactModal .psy-request-actions { flex-direction:row; }
 #psyVisitorContactModal .psy-request-actions button { min-height:44px; padding:9px 12px; }
 #psyVisitorContactModal .psy-visitor-trust-note { font-size:.72rem; margin-top:10px; }
}
/* Quick preview: a restrained, independently scrolling dialog. */
#psyQuickviewModal {padding:16px;background:rgba(15,23,42,.42);backdrop-filter:blur(2px)}
#psyQuickviewModal .psy-quickview-dialog {display:flex;flex-direction:column;max-width:640px;max-height:calc(100dvh - 32px);overflow:hidden;border:1px solid #dce3e8;border-radius:8px!important;box-shadow:0 16px 48px #0f172a29}
#psyQuickviewModal .psy-modal-header {flex-shrink:0;padding:6px 12px 6px 20px;background:#fff;color:#475569;border-bottom:1px solid #e5e9ee}
#psyQuickviewModal .psy-modal-title {color:#64748b;font-size:.88rem;font-weight:600;line-height:1.4}
#psyQuickviewModal .psy-modal-header>div>i {display:none}
#psyQuickviewModal .psy-modal-close {display:grid;place-items:center;width:44px;height:44px;color:#64748b;border-radius:4px;font-size:1rem}
#psyQuickviewModal .psy-modal-close:hover {background:#f1f5f9;color:#0f172a}
#psyQuickviewModal .psy-quickview-body {min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px}
#psyQuickviewModal .psy-quickview-identity {display:flex;gap:16px;align-items:flex-start;margin-bottom:18px}
#psyQuickviewModal #quickviewPhotoWrap {width:64px!important;height:76px!important;border-radius:4px!important;background:#f1f5f9!important}
#psyQuickviewModal #quickviewName {font-size:1.15rem!important;font-weight:700!important;line-height:1.45}
#psyQuickviewModal #quickviewSpecialtyLink {color:#274064!important;font-weight:600}
#psyQuickviewModal #quickviewExperience,
#psyQuickviewModal #quickviewRating {align-items:center;gap:6px;line-height:1.5}
#psyQuickviewModal .psy-card-chips-wrap {gap:6px}
#psyQuickviewModal .psy-chip {border-radius:4px;font-size:.75rem;font-weight:500;line-height:1.5;max-width:100%;white-space:normal;overflow-wrap:anywhere}
#psyQuickviewModal .psy-quickview-facts {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;margin-bottom:18px;padding:16px 0;border-block:1px solid #e5e9ee}
#psyQuickviewModal .psy-quickview-facts>div {min-width:0}
#psyQuickviewModal .psy-quickview-address {grid-column:1 / -1}
#psyQuickviewModal .psy-quickview-label {font-size:.75rem;font-weight:500;color:#64748b;margin-bottom:5px}
#psyQuickviewModal .psy-quickview-label i {margin-inline-end:4px;color:#94a3b8}
#psyQuickviewModal #quickviewCalloutBox {padding:12px!important;border:0!important;border-inline-start:2px solid #cbd5e1!important;border-radius:0!important;background:#f8fafc!important;gap:8px!important}
#psyQuickviewModal #quickviewCalloutBox i,#psyQuickviewModal #quickviewCallout {color:#475569!important}
#psyQuickviewModal .psy-quickview-actions {display:flex;flex-wrap:wrap;gap:8px;padding-top:4px}
#psyQuickviewModal .psy-quickview-actions .psy-action-btn {display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:1 1 calc(50% - 8px);min-width:0;min-height:44px;max-height:none!important;padding:10px 12px!important;border:1px solid #dce3e8;border-radius:4px!important;background:#fff;color:#334155;font-size:.82rem!important;font-weight:600;text-decoration:none;white-space:normal!important;line-height:1.4!important;box-shadow:none!important}
#psyQuickviewModal .psy-quickview-actions .psy-action-btn:hover {background:#f8fafc;border-color:#94a3b8;transform:none}
#psyQuickviewModal #quickviewProfileBtn {flex-basis:100%;background:#284266!important;border-color:#284266;color:#fff}
#psyQuickviewModal #quickviewProfileBtn:hover {background:#203656!important}
#psyQuickviewModal #quickviewWaBtn {color:#274064}
#psyQuickviewModal .psy-quickview-number span {direction:ltr;unicode-bidi:isolate}
#psyQuickviewModal .psy-action-btn[hidden] {display:none}
#psyQuickviewModal a:focus-visible,#psyQuickviewModal button:focus-visible {outline:2px solid #284266;outline-offset:3px}
@media(max-width:480px) {
 #psyQuickviewModal {padding:8px}
 #psyQuickviewModal .psy-quickview-dialog {max-height:calc(100dvh - 16px);border-radius:6px!important}
 #psyQuickviewModal .psy-modal-header {padding-inline-start:14px}
 #psyQuickviewModal .psy-quickview-body {padding:14px}
 #psyQuickviewModal .psy-quickview-identity {gap:12px}
 #psyQuickviewModal #quickviewPhotoWrap {width:52px!important;height:64px!important}
 #psyQuickviewModal #quickviewName {font-size:1.05rem!important}
 #psyQuickviewModal .psy-quickview-facts {grid-template-columns:1fr;gap:12px;padding-block:14px}
}

.psy-visitor-intro{margin:0 0 16px;font-size:.9rem;line-height:1.6;color:#526574}
#visitorLoadingSection,#visitorUnavailableSection{padding:18px 0;line-height:1.7;color:#526574}
#visitorUnavailableSection p{margin:0 0 20px}
.psy-visitor-contact-notice{margin-block:16px 4px;padding-block-start:12px;border-block-start:1px solid #e1e4e9;color:#61716d;font-size:.8rem;line-height:1.6}
.psy-visitor-contact-notice p{margin:0 0 5px}
.psy-contact-terms{max-width:780px;margin:24px auto;padding:24px;background:white;border:1px solid #e0e6e9;border-radius:12px;line-height:1.8;color:#455b68}
.psy-contact-terms h1{font-size:1.6rem;line-height:1.4;color:#243e49;margin:0 0 24px}
.psy-contact-terms h2{font-size:1.1rem;margin:24px 0 8px;color:#243e49}.psy-contact-terms p{margin:0 0 14px}
@media(max-width:520px){.psy-contact-terms{margin:12px 8px;padding:18px}.psy-contact-terms h1{font-size:1.3rem}}
.psy-profile-directory-links{margin-block:24px;padding-block:18px;border-top:1px solid #e0e6e9}
.psy-profile-directory-links h2{margin:0 0 12px;font-size:1rem;line-height:1.5}
.psy-profile-directory-links ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.psy-profile-directory-links li{max-width:100%;min-width:0}
.psy-profile-directory-links a{display:block;padding:10px 13px;border:1px solid #dbdfe5;border-radius:8px;color:#243d5f;background:#f7f8fa;font-size:.875rem;line-height:1.5;overflow-wrap:anywhere;text-decoration:none}
.psy-profile-directory-links a:hover{background:#edf0f5;text-decoration:underline}
.psy-profile-directory-links a:focus-visible{outline:2px solid #243d5f;outline-offset:3px}
.psy-directory-card .psy-card-catalog-summary{display:flex;align-items:center;gap:8px;flex:0 0 100%;min-width:0;max-width:100%;font-size:.78rem;line-height:1.5;color:#475569;padding:2px 0}
.psy-directory-card .psy-card-catalog-summary>i{flex:0 0 18px;width:18px;height:18px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;text-align:center;opacity:1}
.psy-directory-card .psy-card-catalog-techniques>i{background:#eff6ff;color:#3b82f6}
.psy-directory-card .psy-card-catalog-competences>i{background:#f1f6fc;color:#1a4787}
.psy-directory-card .psy-card-catalog-text{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.psy-directory-card .psy-card-catalog-text a{color:#475569;font-weight:450;text-decoration:none;transition:color .15s ease}
.psy-directory-card .psy-card-catalog-text a:hover{text-decoration:underline;color:#1d4ed8}
.psy-directory-card .psy-card-catalog-text a:focus-visible{outline:2px solid #7180a0;outline-offset:2px}

/* Directory pagination: numbered links, current page and RTL navigation. */
.psy-directory-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-block:28px 12px;padding-block:20px;border-block-start:1px solid #e1e4e9}
.psy-directory-pagination .psy-page-numbers{display:flex;align-items:center;justify-content:center;gap:6px;list-style:none;margin:0;padding:0}
.psy-directory-pagination .psy-page-number,.psy-directory-pagination .psy-page-control{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;box-sizing:border-box;padding:8px 12px;border:1px solid #dce0e6;border-radius:8px;background:#fff;color:#35465e;text-decoration:none;font-size:.875rem;font-weight:600;line-height:1;transition:background-color .15s,border-color .15s}
.psy-directory-pagination a:hover{background:#edf0f5;border-color:#9ca9bc;color:#21334d}
.psy-directory-pagination .is-current{background:#283e5c;border-color:#283e5c;color:#fff;font-weight:700}
.psy-directory-pagination a:focus-visible{outline:3px solid #778ba8;outline-offset:3px}
.psy-directory-pagination .is-disabled{opacity:.4;background:#f6f7f8}
.psy-directory-pagination .psy-page-gap{padding-inline:2px;color:#7b8e86}
.psy-directory-pagination .psy-page-control i{font-size:.7rem}
[dir="rtl"] .psy-directory-pagination .psy-page-control i{transform:rotate(180deg)}
@media(max-width:600px){.psy-directory-pagination{gap:4px;margin-block:20px 8px;padding-block:16px}.psy-directory-pagination .psy-page-numbers{gap:3px}.psy-directory-pagination .psy-page-number,.psy-directory-pagination .psy-page-control{min-width:36px;padding:8px 6px}.psy-directory-pagination .psy-page-control>span{display:none}.psy-directory-pagination .psy-page-gap{padding-inline:0;font-size:.75rem}}
@media(prefers-reduced-motion:reduce){.psy-directory-pagination .psy-page-number,.psy-directory-pagination .psy-page-control{transition:none}}
.psy-local-heading{font-size:1.2rem;margin-block:24px 0}
.psy-empty-state.psy-empty-state-compact{padding:8px 0;margin:0;background:transparent;border:0;border-radius:0;text-align:start;min-height:0}
.psy-empty-state.psy-empty-state-compact p{margin:0;font-size:.875rem;line-height:1.5;color:#535b66}
.psy-empty-state-compact:not([hidden])+.psy-nearby-results{margin-block-start:12px;padding-block-start:12px}
.psy-nearby-results{margin-block:36px 24px;padding-block-start:24px;border-top:1px solid #dce0e5}
.psy-nearby-results>h2,.psy-remote-reminder>h2{font-size:1.25rem;line-height:1.45;margin-block:0 8px}
.psy-nearby-results>p,.psy-nearby-city>p,.psy-remote-reminder>p{color:#535b66;line-height:1.65;margin-block:0 16px}
.psy-nearby-city{margin-block:24px}
.psy-nearby-city>h3{font-size:1.1rem;margin-block:0 4px}
.psy-nearby-city>h3 small{font-size:.85em;color:#535b66;font-weight:400}
.psy-nearby-city>.psy-portal-link{margin-block-start:12px;width:fit-content;max-width:100%}
.psy-remote-reminder{margin-block:24px;background:#f0f2f6}
.psy-nearby-results,.psy-remote-reminder{min-width:0;overflow-wrap:anywhere}
@media(max-width:600px){.psy-nearby-results{margin-block-start:24px;padding-block-start:18px}.psy-nearby-results>h2,.psy-remote-reminder>h2{font-size:1.1rem}}
.psy-remote-reminder.psy-portal-block{padding:24px;background:#e4eaf2;border:1px solid #9fb0c8;border-inline-start:5px solid #283e5c;border-radius:12px;box-shadow:0 4px 16px rgba(40,62,92,.08)}
.psy-remote-reminder.psy-portal-block>h2{color:#17283f;font-size:1.35rem;font-weight:800;line-height:1.4;margin-block:0 10px}
.psy-remote-reminder>h2 i{color:#283e5c;margin-inline-end:6px}
.psy-remote-reminder.psy-portal-block>p{color:#29384c;font-size:1rem;line-height:1.65;max-width:76ch;margin-block:0 18px}
.psy-remote-reminder.psy-portal-block>.psy-portal-link{display:inline-flex;justify-content:center;align-items:center;width:fit-content;max-width:100%;min-height:44px;box-sizing:border-box;padding:12px 18px;background:#283e5c;color:#fff;border:1px solid #283e5c;border-radius:8px;font-weight:700;line-height:1.4;text-align:center;text-decoration:none}
.psy-remote-reminder.psy-portal-block>.psy-portal-link:hover{background:#1c2d46;border-color:#1c2d46;color:#fff}
.psy-remote-reminder.psy-portal-block>.psy-portal-link:focus-visible{outline:3px solid #283e5c;outline-offset:4px}
@media(max-width:600px){.psy-remote-reminder.psy-portal-block{padding:18px 16px}.psy-remote-reminder.psy-portal-block>h2{font-size:1.2rem}.psy-remote-reminder.psy-portal-block>.psy-portal-link{width:100%}}
