/* NIOU Contact — hérite des polices du thème. Variables --nc-* personnalisables. */
.niou-contact,.nc-dialog{--nc-radius:6px;--nc-line:rgba(0,0,0,.2);--nc-on:#111;--nc-on-text:#fff;--nc-accent:#4F46E5;--nc-err:#b32d2e;--nc-bg:#fff;--nc-muted:rgba(0,0,0,.6)}
.niou-contact{font-family:inherit;color:inherit}
.niou-contact *{box-sizing:border-box}
.nc-head{margin:0 0 22px}
.niou-contact .nc-title{margin:0 0 8px;font-size:1.7em;line-height:1.15}
.niou-contact .nc-intro{margin:0;color:var(--nc-muted)}
.nc-row{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px;margin:0 0 16px}
.nc-row>.nc-field:not(.nc-half){grid-column:1/-1}
.nc-field{margin:0 0 16px;min-width:0}
.nc-row .nc-field{margin:0}
.nc-field label{display:block;margin:0 0 6px;font-size:.92em;font-weight:600}
.nc-opt{font-weight:400;color:var(--nc-muted)}
.niou-contact .nc-field input[type=text],.niou-contact .nc-field input[type=email],.niou-contact .nc-field input[type=tel],
.niou-contact .nc-field input[type=date],.niou-contact .nc-field input[type=number],.niou-contact .nc-field select,.niou-contact .nc-field textarea{
	display:block;width:100%;margin:0;padding:12px 14px;font:inherit;font-size:1em;color:inherit;background:var(--nc-bg);
	border:1px solid var(--nc-line);border-radius:var(--nc-radius);box-shadow:none;line-height:1.4;min-height:46px}
.niou-contact .nc-field textarea{min-height:130px;resize:vertical}
.niou-contact .nc-field input:focus,.niou-contact .nc-field select:focus,.niou-contact .nc-field textarea:focus{outline:2px solid var(--nc-accent);outline-offset:1px;border-color:var(--nc-accent)}
.nc-field.has-error input,.nc-field.has-error textarea,.nc-field.has-error select{border-color:var(--nc-err)}
.nc-err{display:block;color:var(--nc-err);font-size:.85em;margin-top:5px;min-height:0}
.nc-err:empty{display:none}
.nc-check{display:flex;align-items:flex-start;gap:10px;margin:0 0 14px;font-weight:400;cursor:pointer;line-height:1.4}
.nc-check input{margin:.2em 0 0;flex:none;width:18px;height:18px}
.nc-check a{text-decoration:underline}
.nc-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

.nc-places{border:0;margin:0 0 18px;padding:0;min-width:0}
.nc-places legend{padding:0;font-weight:700;font-size:1.05em;margin-bottom:4px}
.nc-help{margin:0 0 10px;color:var(--nc-muted);font-size:.9em}
.nc-cat{border:1px solid var(--nc-line);border-radius:var(--nc-radius);margin:0 0 8px;background:var(--nc-bg)}
.nc-cat summary{display:flex;justify-content:space-between;gap:12px;align-items:center;cursor:pointer;padding:12px 14px;font-weight:600;list-style:none}
.nc-cat summary::-webkit-details-marker{display:none}
.nc-cat summary::after{content:"+";font-weight:400;font-size:1.3em;line-height:1;margin-left:auto;padding-left:10px}
.nc-cat[open] summary::after{content:"–"}
.nc-count{font-style:normal;font-weight:400;font-size:.85em;color:var(--nc-accent)}
.nc-cat.has-sel{border-color:var(--nc-accent)}
.nc-list{display:grid;grid-template-columns:1fr 1fr;gap:2px 18px;padding:2px 14px 12px}
.nc-list .nc-check{margin:0;padding:5px 0}

.nc-global-err{color:var(--nc-err);margin:0 0 12px;min-height:0}
.nc-global-err:empty{display:none}
.nc-submit,.nc-button{display:inline-block;cursor:pointer;border:0;border-radius:var(--nc-radius);background:var(--nc-on);color:var(--nc-on-text);padding:14px 28px;font:inherit;font-weight:600;text-decoration:none;line-height:1.2;transition:opacity .15s,transform .15s}
.nc-submit:hover,.nc-button:hover{opacity:.88;color:var(--nc-on-text)}
.nc-submit[disabled]{opacity:.55;cursor:progress}
.nc-done{padding:10px 0}
.nc-done h3{margin:0 0 8px;font-size:1.4em}
.nc-loading{margin:0;padding:30px 0;text-align:center;color:var(--nc-muted)}

/* Popin */
.nc-dialog{padding:0;border:0;border-radius:calc(var(--nc-radius) + 4px);background:var(--nc-bg);color:#111;width:min(720px,calc(100% - 32px));max-height:92vh;overflow:auto;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.nc-dialog::backdrop{background:rgba(10,12,20,.6)}
.nc-dialog-body{padding:34px 36px 36px}
.nc-x{position:absolute;right:12px;top:10px;z-index:2;width:40px;height:40px;border:0;border-radius:50%;background:transparent;font-size:30px;line-height:1;cursor:pointer;color:#111}
.nc-x:hover{background:rgba(0,0,0,.07)}
html.nc-lock{overflow:hidden}
.nc-dialog.nc-fallback{position:fixed;inset:0;margin:auto;height:fit-content;z-index:99999}

@media (max-width:560px){
	.nc-row{grid-template-columns:1fr}
	.nc-list{grid-template-columns:1fr}
	.nc-dialog{width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0}
	.nc-dialog-body{padding:56px 20px 28px}
	.nc-submit{width:100%}
}
@media (prefers-reduced-motion:reduce){.nc-submit,.nc-button{transition:none}}
.nc-field label.nc-check,.niou-contact label.nc-check{display:flex;font-weight:400;margin:0 0 14px}
.nc-list label.nc-check{margin:0}

/* ===== Popin à deux colonnes (v1.1.0) : panneau d'accroche + coordonnées ===== */
.niou-contact,.nc-dialog{--nc-panel:#1f2a3d;--nc-panel-text:#fff;--nc-panel-accent:#e0b36a}
.nc-split{display:grid;grid-template-columns:minmax(0,38fr) minmax(0,62fr);min-height:560px}
.nc-split .nc-main{padding:40px 40px 36px;min-width:0}
.nc-panel{background:var(--nc-panel);color:var(--nc-panel-text);padding:40px 32px 32px;display:flex;flex-direction:column;justify-content:space-between;gap:28px}
.nc-panel .nc-kicker{margin:0 0 14px;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--nc-panel-accent);font-weight:600}
.nc-panel .nc-panel-title{margin:0 0 16px;font-size:1.9em;line-height:1.1;color:inherit;font-weight:700}
.nc-panel .nc-panel-intro{margin:0 0 18px;color:rgba(255,255,255,.78);line-height:1.5}
.nc-panel ul.nc-bullets{list-style:none!important;margin:0;padding:0}
.nc-panel ul.nc-bullets li{list-style:none!important;position:relative;margin:0 0 9px;padding:0 0 0 26px;color:rgba(255,255,255,.92);line-height:1.4}
.nc-panel ul.nc-bullets li::before{content:"✓";position:absolute;left:0;top:0;color:var(--nc-panel-accent);font-weight:700}
.nc-panel .nc-card{display:flex;gap:16px;align-items:center;padding:16px;border:1px solid rgba(255,255,255,.18);border-radius:var(--nc-radius);background:rgba(255,255,255,.05)}
.nc-panel .nc-photo-wrap{flex:0 0 88px;width:88px;height:88px;border-radius:var(--nc-radius);overflow:hidden}
.nc-panel .nc-photo{width:100%;height:100%;object-fit:cover;display:block;margin:0}
.nc-panel .nc-card-text{min-width:0}
.nc-panel .nc-card-text p{margin:0}
.nc-panel .nc-name{font-weight:700;line-height:1.25}
.nc-panel .nc-name span{display:block;font-weight:400;font-size:.85em;color:rgba(255,255,255,.7)}
.nc-panel .nc-prefer{margin-top:8px!important;font-size:.78rem;color:rgba(255,255,255,.7)}
.nc-panel a.nc-phone{display:block;font-size:1.35em;font-weight:700;color:#fff;text-decoration:none;margin-top:2px;white-space:nowrap}
.nc-panel a.nc-mail{display:block;font-size:.85em;color:var(--nc-panel-accent);text-decoration:none;word-break:break-all}
.nc-dialog.nc-wide{width:min(1100px,calc(100% - 32px))}
.nc-dialog:has(.nc-split) .nc-dialog-body{padding:0}
.nc-dialog:has(.nc-split){width:min(1100px,calc(100% - 32px))}
@media (max-width:820px){
	.nc-split{grid-template-columns:1fr;min-height:0}
	.nc-split .nc-main{padding:26px 20px 28px}
	.nc-panel{padding:56px 20px 20px;gap:14px}
	.nc-panel .nc-panel-title{font-size:1.4em;margin-bottom:0}
	.nc-panel .nc-panel-intro,.nc-panel ul.nc-bullets,.nc-panel .nc-photo-wrap,.nc-panel .nc-prefer,.nc-panel .nc-mail{display:none}
	.nc-panel .nc-kicker{margin-bottom:8px}
	.nc-panel .nc-card{padding:10px 14px}
}
@media (max-width:820px){ .nc-dialog:has(.nc-split) .nc-x{color:#fff} .nc-dialog:has(.nc-split) .nc-x:hover{background:rgba(255,255,255,.15)} }
@media (min-width:821px){
	.nc-dialog:has(.nc-split){overflow:hidden}
	.nc-split{height:min(760px,92vh);min-height:0}
	.nc-split .nc-main{overflow-y:auto;overscroll-behavior:contain}
	.nc-panel{overflow-y:auto}
}
.nc-panel .nc-line{margin:3px 0 0!important;font-size:.9em;color:rgba(255,255,255,.7)}
.nc-panel .nc-line span{display:inline-block;min-width:2.6em}
.nc-panel .nc-line a.nc-phone{display:inline;font-size:1.1em;margin:0}
.nc-panel .nc-line a.nc-mail{display:inline;font-size:1em;color:#fff;word-break:normal}
.nc-panel .nc-name{margin-bottom:6px!important}
