.isola-espace-page{--isola-navy:#06295b;--isola-blue:#0877c9;--isola-light-blue:#eaf5ff;--isola-sky:#dcedfb;--isola-white:#fff;--isola-background:#f7f9fc;--isola-text:#17243a;--isola-muted:#667085;--isola-border:#dce3ec;--isola-success:#59a84f;--isola-success-bg:#edf7ea;--isola-warning:#ef7d00;--isola-warning-bg:#fff2df;--isola-info:#0869c8;--isola-info-bg:#e8f2ff;--isola-danger:#d92d20;font-family:Inter,"Aptos","Segoe UI",Arial,sans-serif;color:var(--isola-text);background:var(--isola-background);width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:0 32px 40px;line-height:1.5;overflow-x:clip}
.isola-espace-page *{box-sizing:border-box}.isola-espace-page a{color:var(--isola-blue);text-decoration:none}.isola-espace-page a:focus-visible,.isola-espace-page button:focus-visible,.isola-espace-page input:focus-visible,.isola-espace-page textarea:focus-visible{outline:3px solid rgba(8,119,201,.35);outline-offset:3px}
.isola-espace-header{height:88px;display:flex;align-items:center;justify-content:space-between;gap:28px;background:#fff;border-bottom:1px solid #edf0f4;padding:0 18px;position:relative;z-index:2}.isola-espace-brand{display:flex;align-items:center;gap:18px;min-width:310px}.isola-espace-brand img:first-child{width:150px;height:64px;object-fit:contain}.isola-espace-brand img:last-child{width:150px;height:64px;object-fit:contain}.isola-espace-brand>span{width:1px;height:52px;background:#d5dbe4}.isola-espace-nav{display:flex;align-items:center;gap:34px;flex:1;justify-content:center}.isola-espace-nav a{font-weight:700;color:var(--isola-text);padding:31px 0 27px;border-bottom:3px solid transparent}.isola-espace-nav a:hover,.isola-espace-nav a.is-active{color:var(--isola-blue);border-color:var(--isola-blue)}.isola-pastille-ot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#e08e00;margin-left:4px;vertical-align:middle}.isola-espace-user{display:flex;align-items:center;gap:10px;white-space:nowrap}.isola-espace-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--isola-light-blue);color:var(--isola-navy);font-weight:800}.isola-espace-user .dashicons{color:var(--isola-navy)}
.isola-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:0;background:none;border:1px solid var(--isola-border);border-radius:8px;cursor:pointer;flex:0 0 auto}
.isola-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.isola-table-scroll table.isola-contacts-internes{min-width:640px}
.isola-burger span{display:block;width:20px;height:2px;margin:0 auto;background:var(--isola-navy);border-radius:2px;transition:transform .2s ease,opacity .2s ease}
.isola-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.isola-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.isola-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.isola-dashboard[hidden],.isola-espace-workspace[hidden]{display:none!important}.isola-dashboard{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:28px}.isola-dashboard-main{min-width:0}.isola-hero{min-height:180px;padding:42px 46px 30px;border-radius:0 0 24px 24px;background:linear-gradient(110deg,#eef8ff 0%,#dfeffd 70%,#f5fbff 100%);position:relative;overflow:hidden}.isola-hero:after{content:"";position:absolute;inset:auto 0 0 30%;height:130px;background:linear-gradient(145deg,transparent 0 45%,rgba(68,125,179,.12) 46% 54%,transparent 55%),linear-gradient(35deg,transparent 0 47%,rgba(18,73,128,.1) 48% 55%,transparent 56%);opacity:.8}.isola-hero h1{position:relative;z-index:1;font-size:clamp(40px,4vw,64px);line-height:1.05;margin:0 0 14px;color:var(--isola-navy);font-weight:800;letter-spacing:-.03em}.isola-hero p{position:relative;z-index:1;max-width:650px;margin:0;font-size:20px;color:#394a63}.isola-dashboard-toprow{display:flex;align-items:stretch;gap:24px;margin:-4px 44px 18px}.isola-dashboard-toprow-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:18px}.isola-welcome{display:flex;align-items:center;gap:22px;background:#fff;border:1px solid var(--isola-border);border-radius:18px;box-shadow:0 4px 18px rgba(6,41,91,.08);padding:22px 26px;margin:0;position:relative;z-index:1}.isola-welcome h2{margin:0 0 4px;color:var(--isola-navy);font-size:23px}.isola-welcome p{margin:0;color:var(--isola-muted)}.isola-round-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;flex:0 0 58px;background:var(--isola-light-blue);color:var(--isola-navy);font-size:31px!important;line-height:58px!important;text-align:center}
.isola-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 44px 18px}.isola-action-card{min-height:118px;display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--isola-border);border-radius:16px;padding:18px;box-shadow:0 4px 18px rgba(6,41,91,.07);color:var(--isola-text)!important;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.isola-action-card:hover{transform:translateY(-3px);box-shadow:0 9px 24px rgba(6,41,91,.12);background:#fbfdff}.isola-action-card strong{display:block;color:var(--isola-navy);font-size:18px;margin-bottom:4px}.isola-action-card small{display:block;color:var(--isola-muted);font-size:14px;line-height:1.35}.isola-action-card>b{margin-left:auto;font-size:28px;color:var(--isola-navy);transition:transform .2s ease}.isola-action-card:hover>b{transform:translateX(4px)}
.isola-status-card,.isola-side-card,.isola-espace-workspace{background:#fff;border:1px solid var(--isola-border);border-radius:18px;box-shadow:0 4px 18px rgba(6,41,91,.08)}.isola-status-card{margin:0 44px;padding:18px 22px}.isola-status-card h2,.isola-side-card h2{margin:0 0 14px;color:var(--isola-navy);font-size:20px}.isola-status-table{display:grid}.isola-status-row{display:grid;grid-template-columns:1.35fr 1.05fr .85fr .6fr;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #edf1f5}.isola-status-row:last-child{border-bottom:0}.isola-status-pill{display:inline-flex;width:max-content;align-items:center;border-radius:999px;padding:4px 12px;font-weight:700;font-size:13px}.isola-status-pill.is-valide{background:var(--isola-success-bg);color:#2d7a34}.isola-status-pill.is-a_valider,.isola-status-pill.is-modifie_en_attente{background:var(--isola-warning-bg);color:#c16600}.isola-status-pill.is-en_retard{background:#fdecec;color:var(--isola-danger)}.isola-inline-link{display:block;text-align:center;font-weight:700;margin-top:14px}
.isola-dashboard-side{padding-top:18px}.isola-side-card{padding:22px;margin-bottom:12px}.isola-deadline{border-left:3px solid var(--isola-warning)}.isola-deadline p{margin:6px 0;color:var(--isola-muted)}.isola-deadline>strong{display:block;font-size:29px;color:var(--isola-warning);margin:4px 0 14px}.isola-deadline small{display:block;border-top:1px solid var(--isola-border);padding-top:12px}.isola-echeances-liste{list-style:none;margin:0;padding:0}.isola-echeances-liste li{padding:8px 0;border-top:1px solid var(--isola-border)}.isola-echeances-liste li:first-child{border-top:0;padding-top:0}.isola-echeances-liste a{color:var(--isola-navy);font-weight:700}.isola-echeances-liste li.is-etape a{color:var(--isola-muted);font-weight:400}.isola-side-card>a{display:flex;justify-content:space-between;gap:12px;padding:12px 0;color:var(--isola-text);font-weight:600;border-bottom:1px solid var(--isola-border)}.isola-side-card>a:last-child{border-bottom:0}.isola-campaign{display:flex;gap:14px;background:linear-gradient(135deg,#e6f3ff,#d8ebfb);border-radius:16px;padding:16px 18px;margin-bottom:12px;color:var(--isola-navy)}.isola-campaign .dashicons{font-size:30px}.isola-campaign small,.isola-campaign strong{display:block}.isola-campaign p{margin:3px 0 0;font-size:13px}
.isola-espace-workspace{margin:28px 44px 0;padding:28px;min-height:calc(100vh - 150px)}.isola-tabs{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--isola-border);margin:0 0 24px}.isola-tab-btn{appearance:none;border:0;background:transparent;color:var(--isola-muted);font-weight:700;padding:14px 16px;border-bottom:3px solid transparent;cursor:pointer}.isola-tab-btn:hover,.isola-tab-btn-active{color:var(--isola-blue);border-color:var(--isola-blue)}.isola-tab-panel{display:none}.isola-tab-panel.isola-tab-active{display:block}.isola-subtabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.isola-subtab-btn{border:1px solid var(--isola-border);background:#fff;border-radius:999px;padding:9px 14px;font-weight:700;color:var(--isola-muted);cursor:pointer}.isola-subtab-btn-active{background:var(--isola-light-blue);color:var(--isola-navy);border-color:#b9daf7}.isola-subtab-puce{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.isola-bloc-panel{display:none;border:1px solid var(--isola-border);border-radius:16px;padding:20px;background:#fbfdff}.isola-bloc-panel-active{display:block}.isola-badge{display:inline-block;padding:5px 12px;border-radius:999px;color:#fff;font-size:12px;font-weight:700}.isola-bloc-panel dt{font-weight:700;color:var(--isola-navy);margin-top:10px}.isola-bloc-panel dd{margin:2px 0 8px}.isola-form-row{margin-bottom:18px}.isola-form-row label{display:block;font-weight:700;color:var(--isola-navy);margin-bottom:6px}.isola-form-row input[type=text],.isola-form-row input[type=email],.isola-form-row input[type=tel],.isola-form-row input[type=url],.isola-form-row input[type=password],.isola-form-row textarea{width:100%;max-width:760px;border:1px solid #cbd6e3;border-radius:10px;padding:11px 12px;background:#fff;color:var(--isola-text)}.isola-form-row textarea{min-height:120px}.isola-form-row textarea.isola-textarea-autogrow{overflow:hidden;resize:none}.isola-espace-page .button,.isola-espace-page button[type=submit]{border:0;border-radius:10px;background:var(--isola-blue);color:#fff;padding:11px 18px;font-weight:700;cursor:pointer}.isola-espace-page button[type=submit]:disabled,.isola-espace-page input[type=submit]:disabled,.isola-espace-page .isola-btn-soumission-en-cours{opacity:.6;cursor:progress}.isola-galerie-miniatures{display:flex;gap:12px;flex-wrap:wrap}.isola-galerie-miniatures img{border-radius:10px;max-width:100%;max-height:150px;width:auto;height:auto;object-fit:contain}.isola-form-section{margin-top:26px;padding-top:18px;border-top:1px solid var(--isola-border)}.isola-form-section h3{margin:0 0 14px;color:var(--isola-navy)}.isola-succes,.isola-espace-notice{background:#edf8ef;border:1px solid #a8d3ad;border-radius:12px;padding:14px 18px;margin:16px 44px;color:#285e2d}.isola-date-preference{font-size:12px;color:var(--isola-muted)}
@media(max-width:1100px){.isola-espace-page{padding:0 18px 30px}.isola-espace-header{height:auto;flex-wrap:wrap;padding:12px 6px}.isola-espace-nav{order:3;width:100%;overflow-x:auto;justify-content:flex-start}.isola-espace-nav a{padding:10px 0}.isola-dashboard{grid-template-columns:1fr}.isola-dashboard-side{padding:0 44px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.isola-dashboard-side>*{margin:0}.isola-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:768px){.isola-espace-page{padding:0 10px 24px}.isola-espace-brand{min-width:0}.isola-espace-brand img:first-child{width:110px}.isola-espace-brand img:last-child{width:105px}.isola-espace-user strong{display:none}.isola-hero{padding:32px 22px;min-height:160px}.isola-hero p{font-size:16px}.isola-action-grid,.isola-status-card,.isola-espace-workspace{margin-left:12px;margin-right:12px}.isola-action-grid{grid-template-columns:1fr}.isola-dashboard-side{padding:0 12px;grid-template-columns:1fr}.isola-status-row{grid-template-columns:1fr;gap:5px;padding:14px;border:1px solid var(--isola-border);border-radius:12px;margin-bottom:8px}.isola-status-row span:nth-child(3):before{content:"Mise à jour : ";font-weight:700}.isola-status-row span:nth-child(4):before{content:"Par : ";font-weight:700}.isola-tabs{overflow-x:auto;flex-wrap:nowrap}.isola-tab-btn{white-space:nowrap}
.isola-burger{display:flex;order:2}
.isola-espace-header{justify-content:space-between}
.isola-espace-brand{order:1}
.isola-espace-user{order:3}
.isola-espace-nav{display:none;order:4;width:100%;flex-direction:column;align-items:stretch;gap:0;overflow-x:visible;background:#fff;border-top:1px solid var(--isola-border);margin-top:8px}
.isola-espace-nav.is-open{display:flex}
.isola-espace-nav a{padding:14px 4px;border-bottom:1px solid var(--isola-border);border-left:3px solid transparent}
.isola-espace-nav a:hover,.isola-espace-nav a.is-active{border-bottom-color:var(--isola-border);border-left-color:var(--isola-blue);background:#f7fafd}
}
@media(max-width:480px){.isola-espace-brand img:last-child{display:none}.isola-espace-brand>span{display:none}.isola-welcome{align-items:flex-start}.isola-round-icon{width:48px;height:48px;flex-basis:48px;line-height:48px!important;font-size:25px!important}.isola-action-card{min-height:104px}.isola-status-card,.isola-espace-workspace{padding:16px}}
@media(prefers-reduced-motion:reduce){.isola-action-card,.isola-action-card>b{transition:none}.isola-action-card:hover{transform:none}}

/* Sous-onglets de "Mes informations publiques" (Mes coordonnées / Mes informations / Mes photos). */
.isola-info-subtabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}
.isola-info-subtab-btn{border:1px solid var(--isola-border);background:#fff;border-radius:999px;padding:9px 14px;font-weight:700;color:var(--isola-muted);cursor:pointer}
.isola-info-subtab-btn-active{background:var(--isola-light-blue);color:var(--isola-navy);border-color:#b9daf7}
.isola-info-panel{display:none}
.isola-info-panel.isola-info-panel-active{display:block}
.isola-checkbox-group{display:flex;flex-wrap:wrap;gap:14px 22px}
.isola-checkbox-inline{display:inline-flex;align-items:center;gap:7px;font-weight:600;color:var(--isola-text)}
.isola-checkbox-inline input[type=checkbox]{width:16px;height:16px}

/* Onglet "Mes dates" : choix "Ouvert l'été/l'hiver" (oui/non) + bouton Valider. */
.isola-ouverture-saison{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px}
.isola-ouverture-saison label{margin-bottom:0}
.isola-radio-group{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px}
.isola-radio-inline{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--isola-text)}
.isola-radio-inline input[type=radio]{width:16px;height:16px}
.isola-dates-saison{margin:12px 0 30px;padding-left:2px}
.isola-table-horaires{width:100%;max-width:640px;border-collapse:collapse;margin-top:6px}
.isola-table-horaires th{text-align:left;font-size:12px;color:var(--isola-muted);padding:6px 10px;border-bottom:1px solid var(--isola-border)}
.isola-table-horaires td{padding:6px 10px;border-bottom:1px solid #eef2f6;vertical-align:middle}
.isola-table-horaires select{border:1px solid #cbd6e3;border-radius:8px;padding:7px 10px;background:#fff;color:var(--isola-text)}
.isola-table-horaires input[type=text]{width:100%;max-width:220px;border:1px solid #cbd6e3;border-radius:8px;padding:7px 10px;background:#fff;color:var(--isola-text)}
.isola-horaires-hebdo+.isola-horaires-hebdo{margin-top:24px}
.isola-form-row input[type=date]{max-width:220px;border:1px solid #cbd6e3;border-radius:10px;padding:11px 12px;background:#fff;color:var(--isola-text)}

/* Gestion progressive des photos de galerie. */
.isola-field-help{max-width:760px;color:var(--isola-muted);font-size:13px;margin:6px 0 12px}
.isola-gallery-upload-fields{display:grid;gap:12px;max-width:760px;margin-bottom:12px}
.isola-gallery-upload-field{display:none;padding:12px;border:1px solid var(--isola-border);border-radius:12px;background:#fbfdff}
.isola-gallery-upload-field.is-visible{display:block}
.isola-gallery-upload-field label{font-size:14px;margin-bottom:8px}
.isola-gallery-upload-field input[type=file]{width:100%}
.isola-add-gallery-field{margin-top:2px}

/* Le titre de page généré par le thème Neve est remplacé par le hero du portail. */
.nv-page-title-wrap.nv-big-title{display:none!important}

/* Formulaire de contact de l'Office de Tourisme. */
.isola-contact-form-wrap{max-width:980px;margin:0 auto}
.isola-section-heading{display:flex;align-items:flex-start;gap:18px;margin-bottom:24px}
.isola-section-heading h2{margin:0 0 6px;color:var(--isola-navy)}
.isola-section-heading p{margin:0;color:var(--isola-muted)}
.isola-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.isola-contact-form select{width:100%;max-width:760px;border:1px solid #cbd6e3;border-radius:10px;padding:11px 12px;background:#fff;color:var(--isola-text)}
.isola-contact-form input[readonly]{background:#f2f5f8;color:var(--isola-muted)}
.isola-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:768px){.isola-contact-grid{grid-template-columns:1fr}}

/* Cloche de notifications et lien du nom vers le compte WordPress (header espace acteur). */
.isola-espace-user-link{display:flex;align-items:center;gap:10px;color:var(--isola-text)!important;text-decoration:none}
.isola-espace-user-link:hover strong{text-decoration:underline}
.isola-notif-wrap{position:relative;display:inline-flex;align-items:center}
.isola-notif-bell{position:relative;background:none;border:0;cursor:pointer;padding:6px;line-height:1;display:inline-flex;align-items:center;color:var(--isola-navy)}
.isola-notif-bell.is-empty{color:#bbb;cursor:default}
.isola-notif-badge{position:absolute;top:-2px;right:-2px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center}
.isola-notif-badge.couleur-vert{background:#1a7a3c}
.isola-notif-badge.couleur-orange{background:#b88a00}
.isola-notif-badge.couleur-rouge{background:#b32d2e}
.isola-notif-dropdown{position:absolute;top:calc(100% + 10px);right:-10px;width:300px;max-width:80vw;background:#fff;border:1px solid var(--isola-border);border-radius:12px;box-shadow:0 12px 30px rgba(6,41,91,.15);padding:6px;display:none;z-index:20}
.isola-notif-wrap:hover .isola-notif-dropdown,.isola-notif-wrap.is-open .isola-notif-dropdown{display:block}
.isola-notif-dropdown ul{list-style:none;margin:0;padding:0}
.isola-notif-dropdown li{display:flex;align-items:flex-start;gap:8px;padding:8px 6px;border-bottom:1px solid #f0f0f0;font-size:13px;color:var(--isola-text);min-width:0}
.isola-notif-dropdown li a{min-width:0}
.isola-notif-dropdown li a>span:last-child{min-width:0;flex:1 1 auto;overflow-wrap:break-word;word-break:break-word;white-space:normal}
.isola-notif-dropdown li:last-child{border-bottom:0}
.isola-notif-puce{width:8px;height:8px;border-radius:50%;margin-top:4px;flex:0 0 auto}
.isola-notif-dropdown li.couleur-vert .isola-notif-puce{background:#1a7a3c}
.isola-notif-dropdown li.couleur-orange .isola-notif-puce{background:#b88a00}
.isola-notif-dropdown li.couleur-rouge .isola-notif-puce{background:#b32d2e}
.isola-notif-vide{margin:6px;color:var(--isola-muted);font-size:13px}
@media(max-width:768px){.isola-notif-dropdown{right:-60px}}

/* En-tête "Tout lu" et état lu/non-lu des notifications. */
.isola-notif-header{display:flex;align-items:center;justify-content:space-between;padding:6px 6px 8px;border-bottom:1px solid #f0f0f0;margin-bottom:4px}
.isola-notif-header span{font-weight:700;font-size:13px;color:var(--isola-navy)}
.isola-notif-tout-lu{background:none;border:0;color:var(--isola-blue);font-size:12px;font-weight:700;cursor:pointer;padding:2px 4px}
.isola-notif-tout-lu:hover{text-decoration:underline}
.isola-notif-dropdown li a{display:flex;align-items:flex-start;gap:8px;color:var(--isola-text);text-decoration:none;width:100%}
.isola-notif-dropdown li.est-lue{opacity:.55}
.isola-notif-dropdown li.est-lue .isola-notif-puce{background:#c7cdd4!important}

/* Variante rouge de .isola-succes pour les erreurs de formulaire affichées inline (ex. onglet Mon compte). */
.isola-succes.isola-erreur-inline{background:#fdecea;border-color:#f3b4ae;color:#8a1f1a}

/* Pied de page et modale des mentions légales / protection des données. */
.isola-espace-footer{text-align:center;padding:24px 12px 8px;margin-top:12px}
.isola-espace-footer a{color:var(--isola-muted);font-size:13px;text-decoration:underline}
.isola-espace-footer a:hover{color:var(--isola-blue)}
.isola-modal-overlay{position:fixed;inset:0;background:rgba(6,20,41,.55);display:flex;align-items:center;justify-content:center;padding:24px;z-index:100}
.isola-modal-overlay[hidden]{display:none}
.isola-modal-box{position:relative;background:#fff;border-radius:16px;max-width:720px;width:100%;max-height:85vh;overflow-y:auto;padding:36px 32px 32px;box-shadow:0 24px 60px rgba(6,41,91,.3)}
.isola-modal-fermer{position:absolute;top:12px;right:14px;background:none;border:0;font-size:26px;line-height:1;color:var(--isola-muted);cursor:pointer;padding:6px}
.isola-modal-fermer:hover{color:var(--isola-navy)}
.isola-modal-contenu h2{color:var(--isola-navy);font-size:20px;margin:26px 0 10px}
.isola-modal-contenu h2:first-child{margin-top:0}
.isola-modal-contenu h3{color:var(--isola-navy);font-size:15px;margin:18px 0 4px}
.isola-modal-contenu p{margin:0 0 8px;font-size:14px;color:var(--isola-text);line-height:1.6}
.isola-modal-intro{color:var(--isola-muted);font-style:italic}
@media(max-width:600px){.isola-modal-box{padding:28px 18px 24px}}

/* Bouton "C'est erroné" (signalement d'une erreur à corriger côté OT) et espacement des deux boutons de validation par bloc. */
.isola-form-validation-bloc{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.isola-espace-page .isola-bouton-erreur{background:#fff;color:#b32d2e;border:1px solid #b32d2e}
.isola-espace-page .isola-bouton-erreur:hover{background:#fdecea}

/* Message affiché dans un bloc de validation quand rien n'est encore renseigné. */
.isola-bloc-vide{color:var(--isola-muted);font-size:14px;font-style:italic;margin:8px 0 14px}
.isola-completude-card{background:#fff;border:1px solid var(--isola-border);border-radius:18px;box-shadow:0 4px 18px rgba(6,41,91,.08);margin:0;padding:18px 22px}.isola-completude-card h2{margin:0 0 12px;color:var(--isola-navy);font-size:20px;display:flex;align-items:center;gap:8px}.isola-completude-barre{height:10px;border-radius:999px;background:#edf1f5;overflow:hidden;margin-bottom:4px}.isola-completude-remplissage{height:100%;background:linear-gradient(90deg,var(--isola-navy),#3a7bd5);border-radius:999px;transition:width .3s ease}.isola-completude-details summary{cursor:pointer;list-style:none;color:var(--isola-navy);font-weight:700;font-size:13px;padding:8px 0;user-select:none}.isola-completude-details summary::-webkit-details-marker{display:none}.isola-completude-details summary:before{content:"▸ ";display:inline-block;transition:transform .15s ease}.isola-completude-details[open] summary:before{transform:rotate(90deg)}.isola-completude-liste{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}.isola-completude-item{display:flex;align-items:center;gap:10px;font-size:14px;color:#394a63}.isola-completude-puce{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:13px;font-weight:700;flex:0 0 22px}.isola-completude-item.is-complet .isola-completude-puce{background:var(--isola-success-bg);color:#2d7a34}.isola-completude-item.is-partiel .isola-completude-puce{background:var(--isola-warning-bg);color:#c16600}.isola-completude-item.is-vide .isola-completude-puce{background:#fdecec;color:var(--isola-danger)}
.isola-validation-fiche{background:#fff;border:1px solid var(--isola-border);border-radius:18px;box-shadow:0 4px 18px rgba(6,41,91,.08);margin:0;padding:22px;flex:0 0 300px;display:flex;flex-direction:column;justify-content:center}.isola-validation-fiche h2{margin:0 0 8px;color:var(--isola-navy);font-size:20px;display:flex;align-items:center;gap:8px}.isola-validation-fiche p{margin:0 0 14px;color:var(--isola-muted)}.isola-validation-fiche--highlight{background:linear-gradient(150deg,#eef8ff 0%,#dfeffd 65%,#fff 100%);border:1px solid #bcdcf7;box-shadow:0 8px 26px rgba(6,41,91,.14)}.isola-validation-fiche--highlight h2{font-size:23px}.isola-validation-fiche--highlight h2 .dashicons{color:var(--isola-blue)}.isola-validation-fiche--highlight .isola-btn-primary{width:100%;justify-content:center;text-align:center;font-size:16px;padding-top:14px;padding-bottom:14px}
@media(max-width:1100px){.isola-dashboard-toprow{flex-direction:column}.isola-validation-fiche{flex:1 1 auto}}
@media(max-width:768px){.isola-dashboard-toprow{margin-left:12px;margin-right:12px}}

/* --- v0.7.0 : passage multi-établissements (inscription autonome, tableau de
   bord "Mes établissements", recherche/revendication, présence isola2000.com). */
.isola-espace-notice-erreur{background:#fdecea;border-color:#f3b4ae;color:#8a1f1a}
.isola-espace-notice-succes{background:#edf8ef;border-color:#a8d3ad;color:#285e2d}
.isola-espace-notice-brouillon{background:#fff6e5;border-color:#f0cf8c;color:#7a5a10}
.isola-hero-etablissement{display:inline-flex!important;align-items:center;gap:10px;font-size:19px!important;font-weight:800;color:#fff!important;background:var(--isola-navy);border:1px solid var(--isola-navy);border-radius:999px;padding:9px 22px 9px 16px;margin:0 0 14px!important;box-shadow:0 4px 14px rgba(6,41,91,.22)}
.isola-hero-etablissement .dashicons{font-size:20px;width:20px;height:20px}
.isola-retour-etablissements{margin:16px 44px;font-size:14px;color:var(--isola-muted)}
.isola-etablissements-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin:16px 44px}
.isola-etablissement-carte{background:#fff;border:1px solid var(--isola-border);border-radius:14px;padding:18px;box-shadow:0 2px 10px rgba(6,41,91,.06)}
.isola-etablissement-carte.is-actif{border-color:var(--isola-navy);box-shadow:0 0 0 2px var(--isola-navy) inset}
.isola-etablissement-carte.isola-carte-gestionnaire{background:var(--isola-sky);border-color:var(--isola-blue);order:-1}
.isola-etablissement-carte.isola-carte-gestionnaire.is-actif{box-shadow:0 0 0 2px var(--isola-blue) inset}
.isola-etablissement-carte .isola-etablissement-categorie{color:var(--isola-muted);font-size:12px;text-transform:uppercase;letter-spacing:.03em}
.isola-etablissement-actif-label{display:inline-block;font-size:13px;font-weight:600;color:var(--isola-navy)}
.isola-etablissement-carte h3{margin:0 0 8px;color:var(--isola-navy);font-size:17px}
.isola-modal-choix-etablissement .isola-etablissements-grille{margin:16px 0 0}
.isola-etablissement-statut{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--isola-muted);margin:0 0 14px}
.isola-tableau-ecarts{border-collapse:collapse;margin:12px 0}
.isola-tableau-ecarts th,.isola-tableau-ecarts td{border:1px solid var(--isola-border);padding:8px 10px;text-align:left;font-size:13px}
.isola-tableau-ecarts th{background:#fbfdff;color:var(--isola-navy)}
.isola-inscription h1,.isola-inscription h3{color:var(--isola-navy)}
@media(max-width:768px){.isola-etablissements-grille,.isola-retour-etablissements{margin-left:12px;margin-right:12px}}

/* --- v0.7.0 : page d'accueil visiteur (non connecté) de l'espace pro. --- */
.isola-accueil-atouts{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;margin:16px 44px 28px}
.isola-accueil-atout{background:#fff;border:1px solid var(--isola-border);border-radius:14px;padding:20px;box-shadow:0 2px 10px rgba(6,41,91,.06)}
.isola-accueil-atout .dashicons{font-size:28px;width:28px;height:28px;color:var(--isola-blue)}
.isola-accueil-atout h3{margin:10px 0 6px;color:var(--isola-navy);font-size:16px}
.isola-accueil-atout p{margin:0;color:var(--isola-muted);font-size:14px}
.isola-accueil-actions{display:flex;gap:14px;flex-wrap:wrap;margin:0 44px 12px}
.isola-accueil-actions .button-secondary{background:#fff!important;color:var(--isola-blue)!important;border:2px solid var(--isola-blue)!important}
.isola-accueil-mention{margin:0 44px;color:var(--isola-muted);font-size:13px}
@media(max-width:768px){.isola-accueil-atouts,.isola-accueil-actions,.isola-accueil-mention{margin-left:12px;margin-right:12px}}

/* --- v0.7.x : éditeur enrichi (wp_editor) pour les champs "Présentation
   longue" du sous-onglet "Mes présentations" — cadrage visuel cohérent avec
   les autres champs du formulaire (même largeur max, même espacement). --- */
.isola-form-row .wp-editor-wrap{max-width:760px}
.isola-password-field{position:relative;max-width:760px}
.isola-password-field input[type=password],.isola-password-field input[type=text]{padding-right:44px;max-width:none;width:100%}
.isola-password-toggle{position:absolute;top:0;right:0;bottom:0;width:42px;display:grid;place-items:center;background:transparent;border:0;padding:0;margin:0;cursor:pointer;color:var(--isola-muted);border-radius:0 10px 10px 0}
.isola-password-toggle:hover{color:var(--isola-navy);background:var(--isola-light-blue)}
.isola-password-toggle .dashicons{font-size:20px;width:20px;height:20px}
.isola-password-toggle svg{display:block;width:20px;height:20px}
.isola-password-toggle .isola-mdp-icone-masquer,.isola-password-toggle[aria-pressed="true"] .isola-mdp-icone-voir{display:none}
.isola-password-toggle[aria-pressed="true"] .isola-mdp-icone-masquer{display:block}
.isola-password-toggle:focus-visible{outline:2px solid var(--isola-blue);outline-offset:-4px}
.isola-form-row .wp-editor-container{border:1px solid #cbd6e3;border-radius:10px;overflow:hidden}
.isola-form-row .wp-editor-container textarea{border:0;border-radius:0}

/* --- Lien de déconnexion sur l'onglet "Mon compte" (#isola-compte), en plus
   du lien déjà présent dans l'en-tête — plus visible dans le contexte du
   formulaire de compte lui-même. --- */
.isola-compte-deconnexion{margin-top:24px;padding-top:20px;border-top:1px solid var(--isola-border)}
.isola-compte-deconnexion .button-secondary{background:#fff!important;color:var(--isola-blue)!important;border:2px solid var(--isola-blue)!important;display:inline-flex;align-items:center;gap:6px}
.isola-compte-deconnexion .dashicons{font-size:18px;width:18px;height:18px}

/* --- Contacts internes : blocs de champs répétables (remplace l'ancien
   tableau) --- */
.isola-contact-interne-bloc{border:1px solid var(--isola-border);border-radius:14px;padding:18px;margin-bottom:16px;background:#fbfdff}
.isola-contact-interne-bloc .isola-form-row{margin-bottom:14px}
.isola-contact-interne-bloc .isola-form-row:last-of-type{margin-bottom:10px}
.isola-contact-principal-row label,.isola-contact-urgence-row label{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--isola-navy)}
.isola-contact-urgence-row .isola-field-help{margin:4px 0 0 24px}
.isola-lien-supprimer{border:0;background:transparent;color:#a94442;font-weight:700;font-size:13px;cursor:pointer;padding:4px 0}
.isola-lien-supprimer:hover{text-decoration:underline}

/* --- Choix "Devenir partenaire" (#isola-partenariat) : deux profils
   comparés côte à côte, plutôt qu'une simple liste + deux boutons. --- */
.isola-profils-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:18px}
.isola-profil-carte{background:#fff;border:1px solid var(--isola-border);border-radius:18px;padding:26px;box-shadow:0 4px 18px rgba(6,41,91,.07);display:flex;flex-direction:column}
.isola-profil-badge{display:inline-block;align-self:flex-start;padding:6px 14px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.03em;margin-bottom:12px}
.isola-profil-partenaire .isola-profil-badge{background:var(--isola-light-blue);color:var(--isola-navy)}
.isola-profil-non-partenaire .isola-profil-badge{background:#f1f3f6;color:var(--isola-muted)}
.isola-profil-soustitre{font-weight:700;color:var(--isola-navy);font-size:16px;margin:0 0 14px}
.isola-profil-carte .isola-partenariat-avantages{list-style:none;margin:12px 0;padding:0;flex:1}
.isola-profil-carte .isola-partenariat-avantages li{position:relative;padding:6px 0 6px 26px;font-size:14px;color:var(--isola-text);border-bottom:1px solid #f0f3f7}
.isola-profil-carte .isola-partenariat-avantages li:last-child{border-bottom:0}
.isola-profil-partenaire .isola-partenariat-avantages li:before{content:"✓";position:absolute;left:0;color:var(--isola-success);font-weight:800}
.isola-profil-non-partenaire .isola-partenariat-avantages li:before{content:"–";position:absolute;left:4px;color:var(--isola-muted);font-weight:800}
.isola-profil-carte .isola-partenariat-choix-form{margin-top:16px}
.isola-profil-carte .isola-partenariat-choix-form button{width:100%}
.isola-profil-non-partenaire .isola-partenariat-choix-form button{background:#fff!important;color:var(--isola-navy)!important;border:2px solid var(--isola-border)!important}
@media(max-width:768px){.isola-profils-grid{grid-template-columns:1fr}}

/* --- Encadrés .isola-notice (choix, succès, erreur, info) — jamais stylés
   nulle part avant, s'appuyaient sur le CSS par défaut du navigateur. --- */
.isola-notice{border-radius:14px;padding:16px 20px;margin-bottom:18px;border:1px solid transparent}
.isola-notice p{margin:0 0 6px}
.isola-notice p:last-child{margin-bottom:0}
.isola-notice-succes{background:var(--isola-success-bg);border-color:#cfe8cb;color:#285e2d}
.isola-notice-erreur{background:#fdecec;border-color:#f3c6c2;color:var(--isola-danger)}
.isola-notice-info{background:var(--isola-info-bg);border-color:#bcdcfb;color:var(--isola-navy)}
.isola-notice-choix{background:#fff;border-color:var(--isola-border);box-shadow:0 4px 18px rgba(6,41,91,.06)}
.isola-notice-choix p:first-child{font-weight:700;color:var(--isola-navy)}
.isola-notice-brouillon{background:#fff8ea;border-color:#f3dfa8;color:#7a5b00}
.isola-notice-intervention-ot,.isola-notice-intervention-ot p,.isola-notice-intervention-ot li{font-size:13px;line-height:15px}

/* Champs grisés en profil simplifié (Isola_Front_Portal::rendre_formulaire_modification(),
   attribut_fieldset_profil_simplifie()) : un <fieldset disabled> désactive déjà
   nativement tout son contenu (inputs, selects, textareas, boutons) — ces règles
   n'ajoutent que le rendu visuel, sans quoi un fieldset garde par défaut une
   bordure et un padding de navigateur qui casseraient la mise en page existante. */
.isola-fieldset-profil-simplifie{border:0;margin:0;padding:0;min-width:0}
.isola-fieldset-profil-simplifie,.isola-fieldset-profil-simplifie *{opacity:.55}
.isola-fieldset-profil-simplifie input,.isola-fieldset-profil-simplifie select,.isola-fieldset-profil-simplifie textarea,.isola-fieldset-profil-simplifie button{cursor:not-allowed}

/* --- Réseaux / collections (liste répétable) + bloc de certification --- */
.isola-reseau-collection-ligne{display:flex;gap:8px;align-items:center;margin-bottom:8px}
.isola-reseau-collection-ligne input[type="text"]{flex:1;max-width:360px}
.isola-bloc-certification{margin:24px 0}
.isola-bloc-certification .isola-checkbox-inline{font-weight:700;color:var(--isola-navy)}
.isola-date-certification-sous-onglet{background:var(--isola-info-bg);border:1px solid #bcdcfb;border-radius:10px;padding:8px 14px;margin:0 0 16px;font-size:13px;color:var(--isola-navy)}
.isola-bandeau-presentations{margin-top:24px}
.isola-bandeau-presentations p:first-child{color:var(--isola-navy)}
.isola-champ-indente{padding-left:20px}

/* --- "Mon partenariat" : mise en page à deux colonnes — "Documents du
   Programme Partenaires" reste dans une colonne fixe à droite (position
   sticky pendant le défilement), quel que soit le contenu de la colonne
   principale. --- */
.isola-partenariat-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start}
.isola-partenariat-principal{min-width:0}
.isola-partenariat-sidebar{position:sticky;top:24px}
.isola-partenariat-sidebar .isola-partenariat-documents-generaux{background:#fff;border:1px solid var(--isola-border);border-radius:16px;padding:20px;box-shadow:0 4px 18px rgba(6,41,91,.07)}
.isola-partenariat-sidebar .isola-partenariat-documents-generaux h3{margin-top:0;font-size:16px;color:var(--isola-navy)}
.isola-partenariat-sidebar .isola-partenariat-documents-generaux ul{margin:0;padding-left:18px}
.isola-partenariat-sidebar .isola-partenariat-documents-generaux li{margin-bottom:8px;font-size:14px}
@media(max-width:900px){.isola-partenariat-layout{grid-template-columns:1fr}.isola-partenariat-sidebar{position:static}}
