/*
 * UNPNC App — parité visuelle SafeCheck PNC Pro 2.38.21.
 * Source de référence : assets/css/app.css + light-contrast.css de SafeCheck.
 * Cette couche ne modifie aucune règle métier : uniquement design, dimensions,
 * thème et responsive. Les valeurs de couleurs, ombres et dimensions principales
 * ci-dessous sont celles de SafeCheck 2.38.21.
 */

.unpnc-app{
  --scp-blue-950:#061522;
  --scp-blue-900:#071c2b;
  --scp-blue-850:#0a2233;
  --scp-blue-800:#0d2c41;
  --scp-blue-700:#0b4f7c;
  --scp-blue-600:#0a69a8;
  --scp-blue-500:#1284c5;
  --scp-cyan:#70cff4;
  --scp-white:#f7fbff;
  --scp-text:#dbe8f1;
  --scp-muted:#8ca5b5;
  --scp-line:rgba(125,173,201,.19);
  --scp-panel:rgba(12,37,54,.92);
  --scp-panel-2:rgba(16,48,69,.86);
  --scp-success:#39c994;
  --scp-warning:#ffb642;
  --scp-danger:#f0656b;
  --scp-shadow:0 18px 50px rgba(0,0,0,.26);

  /* Compatibilité avec les noms historiques UNPNC. */
  --unpnc-navy:var(--scp-white);
  --unpnc-navy-dark:var(--scp-blue-900);
  --unpnc-orange:var(--scp-cyan);
  --unpnc-blue:var(--scp-blue-500);
  --unpnc-bg:var(--scp-blue-950);
  --unpnc-surface:var(--scp-panel);
  --unpnc-text:var(--scp-text);
  --unpnc-muted:var(--scp-muted);
  --unpnc-line:var(--scp-line);
  --unpnc-success:var(--scp-success);
  --unpnc-radius:14px;
  --unpnc-shadow:var(--scp-shadow);

  position:relative;
  width:100%;
  max-width:none!important;
  min-width:0!important;
  min-height:calc(100vh - var(--wp-admin--admin-bar--height,0px));
  margin:0;
  color:var(--scp-text);
  background:
    radial-gradient(circle at 80% -10%,rgba(11,105,168,.22),transparent 32%),
    linear-gradient(135deg,var(--scp-blue-950),#06111c 55%,#071c2a);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:16px;
  line-height:1.45;
  overflow-x:clip;
  isolation:isolate;
  color-scheme:dark;
}
.unpnc-app *,.unpnc-app *::before,.unpnc-app *::after{box-sizing:border-box}
.unpnc-app button,.unpnc-app input,.unpnc-app select,.unpnc-app textarea{font:inherit}
.unpnc-app button{color:inherit}
.unpnc-app button:focus-visible,.unpnc-app input:focus-visible,.unpnc-app select:focus-visible,.unpnc-app textarea:focus-visible,.unpnc-app a:focus-visible{
  outline:3px solid rgba(112,207,244,.48)!important;
  outline-offset:2px!important;
}

/* Bandeau : dimensions et couleurs SafeCheck. */
.unpnc-header{
  position:sticky;
  top:var(--wp-admin--admin-bar--height,0px);
  z-index:40;
  height:74px;
  min-height:74px;
  display:grid;
  grid-template-columns:260px minmax(260px,680px) auto;
  align-items:center;
  gap:18px;
  padding:0 26px;
  background:linear-gradient(90deg,#073d68,#075287 58%,#065c91)!important;
  border-bottom:1px solid rgba(164,218,247,.27)!important;
  box-shadow:0 8px 25px rgba(0,0,0,.22)!important;
  backdrop-filter:none;
}
.unpnc-brand{display:flex;align-items:center;justify-content:flex-start;gap:12px;min-width:0;padding:0;border:0;background:transparent!important;color:inherit!important;text-align:left}
.unpnc-brand img{display:block;width:42px;height:42px;object-fit:contain;filter:drop-shadow(0 6px 12px rgba(0,0,0,.2))}
.unpnc-brand strong{display:block;color:#fff!important;font-size:18px;line-height:1.15;letter-spacing:-.02em}
.unpnc-brand small{display:block;margin-top:2px;color:rgba(255,255,255,.68)!important;font-size:12px}
.unpnc-search{position:relative;min-width:0}
.unpnc-search svg{left:15px;width:18px;height:18px;stroke:#a9c5d5}
.unpnc-search input{
  width:100%;min-height:44px;padding:9px 16px 9px 44px;
  border:1px solid rgba(190,229,249,.28)!important;border-radius:11px!important;
  background:rgba(4,39,65,.58)!important;color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)
}
.unpnc-search input::placeholder{color:#a9c0cf;opacity:1}
.unpnc-header-actions{justify-self:end;display:flex;align-items:center;gap:8px;min-width:0}
.unpnc-version,.unpnc-theme-toggle{
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:10px!important;background:rgba(255,255,255,.09)!important;color:#fff!important
}
.unpnc-version{padding:7px 10px;font-size:12px;font-weight:800}
.unpnc-theme-toggle{display:grid;place-items:center;width:39px!important;min-width:39px!important;height:39px!important;min-height:39px!important;padding:0!important;font-size:18px;cursor:pointer}
.unpnc-theme-toggle:hover{background:rgba(255,255,255,.16)!important;border-color:rgba(255,255,255,.32)!important;transform:translateY(-1px)}

/* Structure générale. */
.unpnc-layout{display:grid;grid-template-columns:230px minmax(0,1fr);width:100%;min-width:0;min-height:calc(100vh - 74px - var(--wp-admin--admin-bar--height,0px))}
.unpnc-sidebar{
  position:sticky;top:calc(74px + var(--wp-admin--admin-bar--height,0px));align-self:start;
  display:flex;flex-direction:column;gap:7px;height:calc(100vh - 74px - var(--wp-admin--admin-bar--height,0px));
  padding:24px 15px 18px;border-right:1px solid var(--scp-line);
  background:rgba(10,32,47,.87)!important;backdrop-filter:blur(14px);overflow-y:auto;overscroll-behavior:contain
}
.unpnc-sidebar button{
  width:100%;min-height:54px;display:flex;align-items:center;gap:12px;padding:10px 12px;
  border:1px solid transparent;border-radius:11px;background:transparent;color:var(--scp-text);text-align:left;cursor:pointer
}
.unpnc-sidebar button span{width:31px;height:31px;display:grid;place-items:center;flex:none;border-radius:9px;background:rgba(255,255,255,.07);color:var(--scp-cyan)}
.unpnc-sidebar button:hover{background:rgba(20,86,126,.22);color:#fff}
.unpnc-sidebar button.is-active{background:linear-gradient(135deg,rgba(9,105,168,.74),rgba(10,75,122,.74));border-color:rgba(112,207,244,.28);color:#fff;box-shadow:none}
.unpnc-main{width:100%;max-width:100%;min-width:0;padding:28px clamp(22px,3vw,48px) 80px;outline:0;overflow-x:clip}
.unpnc-loading{color:var(--scp-muted);font-size:12px}
.unpnc-loading span{border-color:rgba(112,207,244,.18);border-top-color:var(--scp-cyan)}

/* Titres et rythme vertical identiques au socle SafeCheck. */
.unpnc-page-head{max-width:none;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--scp-line)}
.unpnc-eyebrow{margin:0 0 7px;color:var(--scp-cyan)!important;font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.unpnc-page-head h1{margin:0;color:var(--scp-white)!important;font-size:clamp(25px,3vw,38px);line-height:1.12;letter-spacing:-.035em}
.unpnc-lead{max-width:760px;margin:8px 0 0;color:var(--scp-muted)!important;font-size:13px;line-height:1.55}
.unpnc-section{margin-top:27px}
.unpnc-section h2{margin-bottom:13px;color:var(--scp-white)!important;font-size:18px}

/* Cartes : mêmes surfaces, rayons, taille et élévation SafeCheck. */
.unpnc-family-grid,.unpnc-tools-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.unpnc-family-card,.unpnc-tool-card,.unpnc-rule-card,.unpnc-news-card,.unpnc-calculator,.unpnc-local-card,.unpnc-history-card,.unpnc-profile-summary-card,.unpnc-planning-row,.unpnc-planning-summary,.unpnc-planning-issue{
  border:1px solid var(--scp-line)!important;
  background:linear-gradient(145deg,rgba(14,43,61,.96),rgba(8,28,42,.96))!important;
  box-shadow:0 8px 25px rgba(0,0,0,.08)!important;
  color:var(--scp-text)
}
.unpnc-family-card,.unpnc-tool-card{position:relative;overflow:hidden;min-height:193px;padding:18px;border-radius:14px!important;text-align:left;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.unpnc-family-card::before,.unpnc-tool-card::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--scp-blue-500)}
.unpnc-family-card::after,.unpnc-tool-card::after{content:"";position:absolute;width:150px;height:150px;right:-65px;top:-75px;border-radius:50%;background:rgba(18,132,197,.13);pointer-events:none}
.unpnc-family-card:hover,.unpnc-tool-card:hover{transform:translateY(-3px);border-color:rgba(112,207,244,.55)!important;box-shadow:0 16px 35px rgba(0,0,0,.2)!important}
.unpnc-family-icon,.unpnc-tool-icon{position:relative;z-index:1;display:grid;place-items:center;width:44px;height:44px;border-radius:11px!important;background:rgba(18,132,197,.10)!important;color:var(--scp-cyan)!important;font-size:21px;font-weight:800}
.unpnc-family-card strong,.unpnc-tool-card strong{position:relative;z-index:1;align-self:end;margin-top:14px;color:var(--scp-white)!important;font-size:15px!important;line-height:1.3}
.unpnc-family-card small,.unpnc-tool-card small{position:relative;z-index:1;margin-top:5px;color:var(--scp-muted)!important;font-size:12px!important}
.unpnc-tool-top{position:relative;z-index:1}
.unpnc-tool-number{min-width:34px;min-height:24px;padding:3px 7px;border:1px solid rgba(112,207,244,.24);background:rgba(18,132,197,.18)!important;color:var(--scp-cyan)!important;font-size:11px;font-weight:850}
.unpnc-badge{border:1px solid rgba(255,182,66,.25);background:rgba(255,182,66,.10)!important;color:#ffd38a!important;font-size:10px;font-weight:800}
.unpnc-badge.is-ready{border-color:rgba(57,201,148,.26);background:rgba(57,201,148,.10)!important;color:#93e4c6!important}

/* Boutons / filtres / liens = boutons SafeCheck. */
.unpnc-primary,.unpnc-secondary,.unpnc-back,.unpnc-source-link,.unpnc-favorite,.unpnc-filters button,.unpnc-news-read,.unpnc-news-more,.unpnc-local-actions button{
  min-height:41px;padding:9px 14px;border:1px solid var(--scp-line)!important;border-radius:10px!important;
  font-size:13px;font-weight:750;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease
}
.unpnc-primary{background:linear-gradient(135deg,var(--scp-blue-600),var(--scp-blue-500))!important;border-color:rgba(112,207,244,.35)!important;color:#fff!important}
.unpnc-secondary,.unpnc-back,.unpnc-source-link,.unpnc-favorite,.unpnc-filters button,.unpnc-news-read,.unpnc-news-more,.unpnc-local-actions button{background:var(--scp-panel-2)!important;color:var(--scp-white)!important}
.unpnc-primary:hover,.unpnc-secondary:hover,.unpnc-back:hover,.unpnc-source-link:hover,.unpnc-favorite:hover,.unpnc-filters button:hover,.unpnc-news-read:hover,.unpnc-news-more:hover,.unpnc-local-actions button:hover{transform:translateY(-1px);border-color:rgba(112,207,244,.55)!important}
.unpnc-filters{gap:8px;margin-bottom:18px;padding:3px;scrollbar-width:thin}
.unpnc-filters button.is-active{background:linear-gradient(135deg,rgba(9,105,168,.74),rgba(10,75,122,.74))!important;border-color:rgba(112,207,244,.28)!important;color:#fff!important}
.unpnc-count{color:var(--scp-muted)!important;font-size:12px}

/* Formulaires. */
.unpnc-calculator{max-width:980px;padding:clamp(20px,3vw,30px);border-radius:16px!important;box-shadow:var(--scp-shadow)!important}
.unpnc-calc-form{gap:14px}
.unpnc-field{gap:7px;color:var(--scp-text)!important;font-size:12px;font-weight:750}
.unpnc-field input,.unpnc-field select,.unpnc-field textarea,.unpnc-agreement-search input,.unpnc-agreement-search+select,.unpnc-news-controls input,.unpnc-news-controls select{
  width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--scp-line)!important;border-radius:11px!important;
  background:rgba(255,255,255,.035)!important;color:var(--scp-white)!important;box-shadow:none!important
}
.unpnc-field textarea{min-height:112px}
.unpnc-field input::placeholder,.unpnc-field textarea::placeholder,.unpnc-news-controls input::placeholder,.unpnc-agreement-search input::placeholder{color:#7895a6;opacity:1}
.unpnc-field input:disabled,.unpnc-field select:disabled{background:rgba(0,0,0,.14)!important;color:#718b9a!important;opacity:.7}
.unpnc-calc-note,.unpnc-news-alert{border-color:rgba(255,182,66,.28)!important;border-left:4px solid var(--scp-warning)!important;background:rgba(126,82,13,.24)!important;color:#ffe4a8!important}
.unpnc-calc-result{border-color:rgba(57,201,148,.30)!important;background:rgba(22,81,61,.28)!important;color:#d9f8ec!important}

/* Référentiel / notices / profil / actualités. */
.unpnc-rule-card{padding:18px;border-radius:14px!important}
.unpnc-rule-page,.unpnc-news-category,.unpnc-version{background:rgba(18,132,197,.16)!important;color:var(--scp-cyan)!important;border-color:rgba(112,207,244,.18)!important}
.unpnc-rule-card h2,.unpnc-rule-card strong,.unpnc-placeholder strong,.unpnc-profile-summary-card strong,.unpnc-news-card h2,.unpnc-news-related>strong,.unpnc-news-sources>strong{color:var(--scp-white)!important}
.unpnc-rule-headings{color:var(--scp-cyan)!important}
.unpnc-rule-snippet,.unpnc-rule-meta,.unpnc-news-excerpt,.unpnc-news-meta,.unpnc-profile-summary-card small{color:var(--scp-muted)!important}
.unpnc-empty,.unpnc-placeholder,.unpnc-notice,.unpnc-agreement-source,.unpnc-privacy-note,.unpnc-rule-chapter,.unpnc-catalog-status{
  border:1px solid var(--scp-line)!important;border-radius:13px!important;background:rgba(18,56,79,.56)!important;color:var(--scp-text)!important
}
.unpnc-empty,.unpnc-placeholder{padding:22px}
.unpnc-catalog-status.is-complete{border-color:rgba(57,201,148,.34)!important;background:rgba(22,81,61,.25)!important}
.unpnc-catalog-status.is-complete strong{color:#93e4c6!important}
.unpnc-catalog-status.is-error,.unpnc-error,.unpnc-danger{border-color:rgba(240,101,107,.38)!important;background:rgba(114,31,37,.25)!important;color:#ffb9bd!important}
.unpnc-news-image{background:rgba(18,132,197,.09)!important}
.unpnc-news-card{border-radius:14px!important;overflow:hidden}
.unpnc-related-tool{background:rgba(18,132,197,.10)!important;color:var(--scp-cyan)!important;border-color:var(--scp-line)!important}

/* Contrôleur de planning. */
.unpnc-planning-profile{gap:12px}
.unpnc-planning-row{padding:15px;border-radius:13px!important}
.unpnc-planning-summary,.unpnc-planning-issue{border-radius:12px!important}
.unpnc-planning-issue.is-potentially_non_compliant{border-color:rgba(240,101,107,.52)!important}

/* Navigation mobile : géométrie SafeCheck, adaptée aux 5 entrées UNPNC. */
.unpnc-mobile-nav{display:none}

/* Mode jour : mêmes variables que SafeCheck 2.33.27 / 2.36.5. */
.unpnc-app[data-theme="light"]{
  --scp-blue-950:#eef4f8;
  --scp-blue-900:#e6eef4;
  --scp-blue-850:#f5f8fa;
  --scp-blue-800:#17384c;
  --scp-blue-700:#145b84;
  --scp-blue-600:#0a69a8;
  --scp-blue-500:#1284c5;
  --scp-cyan:#1877ad;
  --scp-white:#102a3a;
  --scp-text:#223c4c;
  --scp-muted:#516b7a;
  --scp-line:rgba(38,83,108,.26);
  --scp-panel:rgba(255,255,255,.98);
  --scp-panel-2:#f3f7f9;
  --scp-shadow:0 14px 36px rgba(28,58,75,.12);
  color-scheme:light;
  background:radial-gradient(circle at 80% -10%,rgba(18,132,197,.08),transparent 34%),linear-gradient(135deg,#f7fafc,#edf3f7 58%,#e9f1f5)
}
.unpnc-app[data-theme="light"] .unpnc-header{color:#fff;background:linear-gradient(90deg,#073d68,#075287 58%,#065c91)!important;border-bottom-color:rgba(184,227,250,.38)!important}
.unpnc-app[data-theme="light"] .unpnc-brand strong{color:#fff!important}
.unpnc-app[data-theme="light"] .unpnc-brand small{color:#d6e9f4!important}
.unpnc-app[data-theme="light"] .unpnc-sidebar{background:rgba(247,250,252,.96)!important;border-right-color:var(--scp-line)}
.unpnc-app[data-theme="light"] .unpnc-sidebar button{color:#17384c}
.unpnc-app[data-theme="light"] .unpnc-sidebar button:hover{background:#e7f2f7}
.unpnc-app[data-theme="light"] .unpnc-sidebar button.is-active{color:#fff;background:linear-gradient(135deg,#08679e,#07507e)}
.unpnc-app[data-theme="light"] .unpnc-family-card,.unpnc-app[data-theme="light"] .unpnc-tool-card,.unpnc-app[data-theme="light"] .unpnc-rule-card,.unpnc-app[data-theme="light"] .unpnc-news-card,.unpnc-app[data-theme="light"] .unpnc-calculator,.unpnc-app[data-theme="light"] .unpnc-local-card,.unpnc-app[data-theme="light"] .unpnc-history-card,.unpnc-app[data-theme="light"] .unpnc-profile-summary-card,.unpnc-app[data-theme="light"] .unpnc-planning-row,.unpnc-app[data-theme="light"] .unpnc-planning-summary,.unpnc-app[data-theme="light"] .unpnc-planning-issue{background:rgba(255,255,255,.98)!important;color:var(--scp-text)}
.unpnc-app[data-theme="light"] .unpnc-family-card,.unpnc-app[data-theme="light"] .unpnc-tool-card{background:linear-gradient(145deg,#fff,#f1f6f9)!important}
.unpnc-app[data-theme="light"] .unpnc-field input,.unpnc-app[data-theme="light"] .unpnc-field select,.unpnc-app[data-theme="light"] .unpnc-field textarea,.unpnc-app[data-theme="light"] .unpnc-agreement-search input,.unpnc-app[data-theme="light"] .unpnc-agreement-search+select,.unpnc-app[data-theme="light"] .unpnc-news-controls input,.unpnc-app[data-theme="light"] .unpnc-news-controls select{background:#fff!important;color:#17384c!important;border-color:#afc4cf!important}
.unpnc-app[data-theme="light"] .unpnc-secondary,.unpnc-app[data-theme="light"] .unpnc-back,.unpnc-app[data-theme="light"] .unpnc-source-link,.unpnc-app[data-theme="light"] .unpnc-favorite,.unpnc-app[data-theme="light"] .unpnc-filters button,.unpnc-app[data-theme="light"] .unpnc-news-read,.unpnc-app[data-theme="light"] .unpnc-news-more,.unpnc-app[data-theme="light"] .unpnc-local-actions button{color:#17384c!important;background:#fff!important;border-color:#a7bdca!important}
.unpnc-app[data-theme="light"] .unpnc-primary{color:#fff!important}
.unpnc-app[data-theme="light"] .unpnc-empty,.unpnc-app[data-theme="light"] .unpnc-placeholder,.unpnc-app[data-theme="light"] .unpnc-notice,.unpnc-app[data-theme="light"] .unpnc-agreement-source,.unpnc-app[data-theme="light"] .unpnc-privacy-note,.unpnc-app[data-theme="light"] .unpnc-rule-chapter,.unpnc-app[data-theme="light"] .unpnc-catalog-status{background:#fff!important;color:#223c4c!important}
.unpnc-app[data-theme="light"] .unpnc-calc-note,.unpnc-app[data-theme="light"] .unpnc-news-alert{background:#fff8e9!important;color:#6d4700!important}
.unpnc-app[data-theme="light"] .unpnc-rule-card h2,.unpnc-app[data-theme="light"] .unpnc-rule-card strong,.unpnc-app[data-theme="light"] .unpnc-placeholder strong,.unpnc-app[data-theme="light"] .unpnc-profile-summary-card strong,.unpnc-app[data-theme="light"] .unpnc-news-card h2,.unpnc-app[data-theme="light"] .unpnc-news-related>strong,.unpnc-app[data-theme="light"] .unpnc-news-sources>strong,.unpnc-app[data-theme="light"] .unpnc-family-card strong,.unpnc-app[data-theme="light"] .unpnc-tool-card strong{color:#17384c!important}

/* SafeCheck 2.37.12 — responsive universel adapté à UNPNC. */
@media (max-width:1100px){
  .unpnc-family-grid,.unpnc-tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .unpnc-header{grid-template-columns:220px minmax(0,1fr) auto;padding-inline:20px}
  .unpnc-layout{grid-template-columns:220px minmax(0,1fr)}
  .unpnc-sidebar{padding-inline:12px}
  .unpnc-main{padding-inline:clamp(18px,2.4vw,32px)}
}

/* Tablette portrait : deux colonnes confortables, cibles >=44 px. */
@media (orientation:portrait) and (min-width:621px) and (max-width:1024px){
  .unpnc-header{grid-template-columns:minmax(180px,.7fr) minmax(220px,1fr) auto!important;min-height:68px!important;height:68px!important;padding-inline:max(18px,env(safe-area-inset-left)) max(18px,env(safe-area-inset-right))!important}
  .unpnc-brand img{width:44px!important;height:44px!important}
  .unpnc-theme-toggle{min-width:44px!important;width:44px!important;height:44px!important;min-height:44px!important}
  .unpnc-layout{grid-template-columns:190px minmax(0,1fr);min-height:calc(100dvh - 68px - var(--wp-admin--admin-bar--height,0px))}
  .unpnc-sidebar{top:calc(68px + var(--wp-admin--admin-bar--height,0px));height:calc(100dvh - 68px - var(--wp-admin--admin-bar--height,0px))}
  .unpnc-main{padding:24px max(22px,env(safe-area-inset-right)) max(32px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left))!important}
  .unpnc-family-grid,.unpnc-tools-grid,.unpnc-news-featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .unpnc-news-grid{grid-template-columns:1fr!important}
  .unpnc-calculator,.unpnc-rule-card{max-width:100%}
}

/* Téléphone portrait : interface SafeCheck compacte mais lisible. */
@media (orientation:portrait) and (max-width:620px){
  .unpnc-app{width:100%!important;max-width:100%!important;min-width:0!important;min-height:100svh;padding-bottom:0!important;overflow-x:clip!important}
  .unpnc-header{
    grid-template-columns:minmax(0,1fr) 42px!important;
    grid-template-areas:"brand actions" "search search";
    align-content:center!important;row-gap:7px!important;column-gap:10px!important;
    width:100%!important;min-height:112px!important;height:auto!important;
    padding:9px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left))!important
  }
  .unpnc-brand{grid-area:brand;min-width:0!important;overflow:hidden}
  .unpnc-brand img{width:38px!important;height:38px!important;flex:none}
  .unpnc-brand strong{font-size:14px!important;line-height:1.1!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .unpnc-brand small{display:none!important}
  .unpnc-search{grid-area:search;width:100%;min-width:0}
  .unpnc-search input{min-height:42px!important}
  .unpnc-header-actions{grid-area:actions;width:auto;justify-self:end;gap:5px!important}
  .unpnc-version{display:none!important}
  .unpnc-theme-toggle{width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important;border-radius:10px!important}
  .unpnc-layout{display:block!important;min-height:calc(100dvh - 112px - var(--wp-admin--admin-bar--height,0px))}
  .unpnc-sidebar{display:none!important}
  .unpnc-main{width:100%!important;max-width:100%!important;padding:16px max(14px,env(safe-area-inset-right)) calc(96px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))!important;overflow-x:hidden!important}
  .unpnc-main>*,.unpnc-page-head,.unpnc-section,.unpnc-calculator,.unpnc-rule-card,.unpnc-news-card{width:100%!important;min-width:0!important;max-width:100%!important}
  .unpnc-page-head{padding-bottom:14px!important;margin-bottom:17px!important}
  .unpnc-page-head h1{font-size:clamp(24px,7.4vw,30px)!important}
  .unpnc-lead{font-size:13px!important;line-height:1.52!important}
  .unpnc-family-grid,.unpnc-tools-grid,.unpnc-calc-form,.unpnc-destination-fields,.unpnc-rate-list,.unpnc-news-featured-grid,.unpnc-news-grid,.unpnc-news-controls,.unpnc-profile-form,.unpnc-favorite-list,.unpnc-planning-profile,.unpnc-planning-row{grid-template-columns:minmax(0,1fr)!important}
  .unpnc-family-card,.unpnc-tool-card{min-height:154px!important;padding:16px!important;border-radius:14px!important}
  .unpnc-family-card strong,.unpnc-tool-card strong{font-size:16px!important}
  .unpnc-family-card small,.unpnc-tool-card small{font-size:11.5px!important;line-height:1.42!important}
  .unpnc-primary,.unpnc-secondary,.unpnc-back,.unpnc-source-link,.unpnc-favorite,.unpnc-news-read,.unpnc-news-more{min-height:44px!important}
  .unpnc-news-card{display:grid!important}
  .unpnc-news-image{min-height:180px!important;flex-basis:auto!important}
  .unpnc-mobile-nav{
    position:fixed;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));z-index:50;
    display:grid!important;grid-template-columns:repeat(5,1fr);padding:6px;border:1px solid var(--scp-line);border-radius:14px;
    background:rgba(8,31,47,.96)!important;box-shadow:0 15px 40px rgba(0,0,0,.38);backdrop-filter:blur(12px)
  }
  .unpnc-mobile-nav button{display:grid;justify-items:center;align-content:center;gap:2px;min-width:0;min-height:51px;padding:5px 2px;border:0;border-radius:10px;background:transparent;color:var(--scp-muted);font-size:10px;font-weight:700;cursor:pointer}
  .unpnc-mobile-nav button span{font-size:18px;color:var(--scp-cyan)}
  .unpnc-mobile-nav button.is-active{background:rgba(9,105,168,.42);color:#fff}
  .unpnc-mobile-nav button.is-active span{color:#fff}
}

/* Très petit téléphone. */
@media (orientation:portrait) and (max-width:420px){
  .unpnc-header{padding-inline:10px!important}
  .unpnc-main{padding-inline:11px!important}
  .unpnc-family-card,.unpnc-tool-card,.unpnc-calculator,.unpnc-rule-card{padding:14px!important}
  .unpnc-mobile-nav{left:5px;right:5px}
}

/* Téléphone paysage : deux colonnes seulement quand la largeur le permet. */
@media (orientation:landscape) and (max-height:560px) and (max-width:950px){
  .unpnc-header{height:62px!important;min-height:62px!important;grid-template-columns:180px minmax(220px,1fr) auto!important;padding-inline:12px!important}
  .unpnc-brand img{width:34px!important;height:34px!important}
  .unpnc-brand small{display:none!important}
  .unpnc-layout{display:block!important;min-height:calc(100dvh - 62px)}
  .unpnc-sidebar{display:none!important}
  .unpnc-main{padding:14px 13px calc(86px + env(safe-area-inset-bottom))!important}
  .unpnc-family-grid,.unpnc-tools-grid,.unpnc-news-featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .unpnc-mobile-nav{display:grid!important;grid-template-columns:repeat(5,1fr);position:fixed;left:50%;right:auto;bottom:6px;transform:translateX(-50%);width:min(520px,calc(100vw - 24px));padding:5px;border:1px solid var(--scp-line);border-radius:14px;background:rgba(8,31,47,.96);box-shadow:0 15px 40px rgba(0,0,0,.38)}
  .unpnc-mobile-nav button{min-height:42px;border:0;border-radius:9px;background:transparent;color:var(--scp-muted);font-size:9px}
  .unpnc-mobile-nav button.is-active{background:rgba(9,105,168,.42);color:#fff}
}

@media (prefers-reduced-motion:reduce){
  .unpnc-app *,.unpnc-app *::before,.unpnc-app *::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}

@media (forced-colors:active){
  .unpnc-family-card,.unpnc-tool-card,.unpnc-rule-card,.unpnc-calculator,.unpnc-filters button,.unpnc-back,.unpnc-primary,.unpnc-secondary{border:1px solid ButtonText!important}
  .unpnc-sidebar button.is-active,.unpnc-mobile-nav button.is-active{outline:2px solid Highlight}
}

/* Impression : neutraliser le thème sans modifier le contenu métier. */
@media print{
  .unpnc-app{background:#fff!important;color:#111!important;color-scheme:light!important}
}

/* 0.9.8 — correction d'audit : parité SafeCheck effective, pas seulement déclarative. */
/* Les variables historiques du thème sombre avaient une spécificité supérieure dans app.css.
   On les remappe ici au même niveau de spécificité pour que tous les composants hérités
   utilisent réellement la palette SafeCheck. */
.unpnc-app[data-theme="dark"]{
  --unpnc-bg:var(--scp-blue-950)!important;
  --unpnc-surface:var(--scp-panel)!important;
  --unpnc-text:var(--scp-text)!important;
  --unpnc-muted:var(--scp-muted)!important;
  --unpnc-line:var(--scp-line)!important;
  --unpnc-navy:var(--scp-white)!important;
  --unpnc-navy-dark:var(--scp-blue-900)!important;
  --unpnc-orange:var(--scp-cyan)!important;
  --unpnc-blue:var(--scp-blue-500)!important;
  --unpnc-success:var(--scp-success)!important;
  --unpnc-shadow:var(--scp-shadow)!important;
  --unpnc-radius:14px!important;
}

/* SafeCheck 2.34.24 / 2.37.12 : neutralisation des contraintes du thème WordPress. */
html.unpnc-host-page,
body.unpnc-host-page{
  width:100%!important;
  max-width:none!important;
  min-height:100%!important;
  margin:0!important;
  padding:0!important;
  overflow-x:hidden!important;
  background:#061522!important;
}
body.unpnc-host-page .unpnc-host-shell{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border-left:0!important;
  border-right:0!important;
  background:#061522!important;
}
body.unpnc-host-page .unpnc-app{
  display:block;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  vertical-align:top;
}

/* Focus AA : le cyan plein garde >3:1 y compris sur le gradient du bandeau. */
.unpnc-app button:focus-visible,
.unpnc-app input:focus-visible,
.unpnc-app select:focus-visible,
.unpnc-app textarea:focus-visible,
.unpnc-app a:focus-visible{
  outline:3px solid var(--scp-cyan)!important;
  outline-offset:3px!important;
}

/* SafeCheck final : sur tablette tactile/portrait la sidebar ne doit jamais comprimer le contenu. */
@media (orientation:portrait) and (min-width:621px) and (max-width:1024px){
  .unpnc-layout{grid-template-columns:minmax(0,1fr)!important;min-height:calc(100dvh - 68px - var(--wp-admin--admin-bar--height,0px))!important}
  .unpnc-sidebar{display:none!important}
  .unpnc-main{width:100%!important;max-width:100%!important;padding:22px max(18px,env(safe-area-inset-right)) calc(104px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))!important}
  .unpnc-mobile-nav{
    position:fixed!important;left:max(10px,env(safe-area-inset-left))!important;right:max(10px,env(safe-area-inset-right))!important;
    bottom:max(10px,env(safe-area-inset-bottom))!important;z-index:50;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:5px;padding:7px;border:1px solid var(--scp-line);border-radius:15px;background:rgba(8,31,47,.97)!important;
    box-shadow:0 15px 40px rgba(0,0,0,.38);backdrop-filter:blur(12px)
  }
  .unpnc-mobile-nav button{min-width:0!important;min-height:50px!important;padding:7px 5px!important;border:0;border-radius:10px;background:transparent;color:var(--scp-muted);font-size:11px;font-weight:700}
  .unpnc-mobile-nav button.is-active{background:rgba(9,105,168,.42);color:#fff}
}

/* SafeCheck 2.33.77 : appareils tactiles jusqu'à 1180 px et petits paysages. */
@media (max-width:820px),
       (orientation:landscape) and (max-height:500px) and (max-width:950px),
       (max-width:1180px) and (hover:none) and (pointer:coarse){
  .unpnc-layout{grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:100%!important}
  .unpnc-sidebar{display:none!important}
  .unpnc-main{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  .unpnc-mobile-nav{display:grid!important}
}

/* SafeCheck final téléphone : bandeau compact autour de 104 px malgré la recherche UNPNC. */
@media (orientation:portrait) and (max-width:620px){
  .unpnc-app{--unpnc-phone-topbar:104px}
  .unpnc-header{min-height:var(--unpnc-phone-topbar)!important}
  .unpnc-layout{min-height:calc(100dvh - var(--unpnc-phone-topbar) - var(--wp-admin--admin-bar--height,0px))!important}
}

/* Une cible tactile ne descend jamais sous 44 px, y compris en paysage. */
@media (orientation:landscape) and (max-height:560px) and (max-width:950px){
  .unpnc-mobile-nav button{min-height:44px!important}
}

/* 0.9.9 — Références contractuelles directement cliquables depuis les explications. */
.unpnc-explanation-sources{
  display:grid;gap:8px;width:100%;max-width:980px;margin:0 0 18px;padding:14px 16px;
  border:1px solid rgba(112,207,244,.26);border-radius:15px;
  background:linear-gradient(135deg,rgba(10,105,168,.16),rgba(7,28,43,.82));
  box-shadow:0 10px 30px rgba(0,0,0,.16)
}
.unpnc-explanation-sources>strong{color:var(--scp-white);font-size:14px}
.unpnc-explanation-sources>span{color:var(--scp-text-2);font-size:13px}
.unpnc-inline-source-link{
  display:inline-flex;align-items:center;gap:3px;margin:0 2px;padding:1px 5px;
  border-radius:6px;color:var(--scp-cyan)!important;background:rgba(18,132,197,.14);
  font-weight:800;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px
}
.unpnc-inline-source-link:hover,.unpnc-inline-source-link:focus-visible{
  background:rgba(112,207,244,.16);color:#fff!important;outline:2px solid var(--scp-cyan);outline-offset:2px
}
.unpnc-inline-source-end{margin-left:1px}
.unpnc-app[data-theme="light"] .unpnc-explanation-sources{background:#fff;border-color:#9ebccb}
.unpnc-app[data-theme="light"] .unpnc-explanation-sources>strong{color:#17384c}
.unpnc-app[data-theme="light"] .unpnc-explanation-sources>span{color:#425f70}
.unpnc-app[data-theme="light"] .unpnc-inline-source-link{color:#075f98!important;background:#e8f4fb}
@media(max-width:620px){
  .unpnc-explanation-sources{padding:12px;margin-bottom:14px}
  .unpnc-explanation-sources .unpnc-source-links{gap:6px}
  .unpnc-explanation-sources .unpnc-source-link{min-height:44px;flex:1 1 auto;justify-content:center}
}
.unpnc-result-sources{display:grid;gap:7px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(112,207,244,.18)}
.unpnc-result-sources>strong{color:var(--scp-white);font-size:12px}
.unpnc-app[data-theme="light"] .unpnc-result-sources>strong{color:#17384c}

/* 0.9.11 — Grille tablette : 3 cartes en portrait jusqu’aux grands iPad. */
@media (orientation:portrait) and (min-width:621px) and (max-width:1180px){
  .unpnc-family-grid,.unpnc-tools-grid,.unpnc-news-featured-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

/* Tablette paysage standard : quatre cartes. */
@media (orientation:landscape) and (min-width:900px) and (min-height:600px) and (max-width:1180px){
  .unpnc-family-grid,.unpnc-tools-grid,.unpnc-news-featured-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .unpnc-tool-card,.unpnc-family-card{min-width:0!important}
}

/* Grands iPad/tablettes (ex. 12.9/13 pouces) : quatre cartes sans modifier les laptops non tactiles. */
@media (orientation:landscape) and (min-width:1181px) and (min-height:600px) and (max-width:1400px) and (hover:none) and (pointer:coarse){
  .unpnc-family-grid,.unpnc-tools-grid,.unpnc-news-featured-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .unpnc-tool-card,.unpnc-family-card{min-width:0!important}
}


/* 0.9.12 — contrôles tactiles + suppression du pavé blanc des cases à cocher. */
.unpnc-field.is-check{
  grid-template-columns:26px minmax(0,1fr)!important;
  align-items:center!important;
  min-height:48px!important;
  padding:9px 11px!important;
  border:1px solid var(--scp-line)!important;
  border-radius:11px!important;
  background:rgba(255,255,255,.035)!important;
  color:var(--scp-text)!important;
  cursor:pointer!important;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  user-select:none;
}
.unpnc-field.is-check:hover{border-color:rgba(112,207,244,.38)!important;background:rgba(18,132,197,.07)!important}
.unpnc-field.is-check span{grid-column:2!important;grid-row:1!important;color:var(--scp-text)!important;line-height:1.3}
.unpnc-field.is-check input[type="checkbox"]{
  grid-column:1!important;grid-row:1!important;
  width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;
  margin:0!important;padding:0!important;
  accent-color:var(--scp-blue-500)!important;
  cursor:pointer!important;
  touch-action:manipulation;
  pointer-events:auto!important;
}
.unpnc-field.is-check:has(input[type="checkbox"]:checked){
  border-color:rgba(112,207,244,.48)!important;
  background:rgba(18,132,197,.12)!important;
}
.unpnc-field.is-check:has(input[type="checkbox"]:disabled){opacity:.62;cursor:not-allowed!important;background:rgba(0,0,0,.12)!important}

/* Outils : filtre compact et tactile, Tous par défaut. */
.unpnc-tools-filterbar{display:flex;align-items:end;justify-content:flex-start;gap:12px;margin:16px 0 18px}
.unpnc-tools-filter{display:grid;gap:7px;width:min(340px,100%);color:var(--scp-text);font-size:12px;font-weight:800}
.unpnc-tools-filter select{
  width:100%;min-height:46px;padding:10px 38px 10px 12px;
  border:1px solid var(--scp-line);border-radius:11px;
  background:rgba(255,255,255,.035);color:var(--scp-white);
  font:inherit;font-size:13px;font-weight:750;cursor:pointer;
  touch-action:manipulation;-webkit-tap-highlight-color:transparent;
}
.unpnc-tools-filter select:focus-visible{outline:3px solid var(--scp-cyan)!important;outline-offset:3px!important}
.unpnc-tools-filter select option{background:var(--scp-blue-850);color:var(--scp-white)}

/* Tous les éléments réellement actionnables doivent rester au-dessus des décors des cartes et être faciles à activer au doigt. */
.unpnc-app button,
.unpnc-app a,
.unpnc-app select,
.unpnc-app input,
.unpnc-app textarea,
.unpnc-field.is-check{
  -webkit-tap-highlight-color:transparent;
}
.unpnc-app button,.unpnc-app a,.unpnc-field.is-check{touch-action:manipulation}
.unpnc-tool-card,.unpnc-family-card,.unpnc-primary,.unpnc-secondary,.unpnc-back,.unpnc-favorite,.unpnc-related-tool,.unpnc-local-card,.unpnc-source-link{
  position:relative;pointer-events:auto!important;
}

@media (hover:none), (pointer:coarse){
  .unpnc-app button,
  .unpnc-app .unpnc-primary,
  .unpnc-app .unpnc-secondary,
  .unpnc-app .unpnc-back,
  .unpnc-app .unpnc-favorite,
  .unpnc-app .unpnc-related-tool,
  .unpnc-app .unpnc-local-card,
  .unpnc-app .unpnc-source-link,
  .unpnc-tools-filter select{min-height:44px!important}
  .unpnc-tool-card,.unpnc-family-card{cursor:pointer!important}
}

@media (max-width:620px){
  .unpnc-tools-filterbar{margin:12px 0 14px}
  .unpnc-tools-filter{width:100%}
  .unpnc-tools-filter select{min-height:48px!important}
}
/* Case personnalisée sombre pour Safari/iOS : état coché visible sans fond blanc natif. */
.unpnc-field.is-check input[type="checkbox"]{
  -webkit-appearance:none!important;appearance:none!important;
  border:1px solid rgba(112,207,244,.52)!important;border-radius:6px!important;
  background:var(--scp-blue-900)!important;
  box-shadow:inset 0 0 0 2px rgba(6,21,34,.45)!important;
  background-position:center!important;background-repeat:no-repeat!important;background-size:14px 14px!important;
}
.unpnc-field.is-check input[type="checkbox"]:checked{
  border-color:var(--scp-cyan)!important;
  background-color:var(--scp-blue-500)!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7' fill='none' stroke='%23dbe8f1' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
}
.unpnc-field.is-check input[type="checkbox"]:focus-visible{outline:3px solid var(--scp-cyan)!important;outline-offset:3px!important}

/* ========================================================================== 
   0.9.22 — Responsive global + typographie moderne iPhone/iPad/desktop
   ========================================================================== */

/* Pile système : SF sur iPhone/iPad/macOS, Segoe UI sur Windows. On force les
   titres car certains thèmes WordPress imposent une police serif aux h1/h2. */
.unpnc-app{
  --unpnc-font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI Variable","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-family:var(--unpnc-font-sans)!important;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
.unpnc-app h1,.unpnc-app h2,.unpnc-app h3,.unpnc-app h4,.unpnc-app h5,.unpnc-app h6,
.unpnc-app p,.unpnc-app span,.unpnc-app strong,.unpnc-app small,.unpnc-app label,
.unpnc-app button,.unpnc-app input,.unpnc-app select,.unpnc-app textarea,.unpnc-app a{
  font-family:var(--unpnc-font-sans)!important;
}
.unpnc-app h1,.unpnc-app h2,.unpnc-app h3{font-style:normal!important;text-wrap:balance}
.unpnc-page-head h1{font-weight:760!important;letter-spacing:-.035em!important}
.unpnc-dashboard-card>h2,.unpnc-home-section-head h2{font-weight:760!important;letter-spacing:-.015em}

/* L'accueil n'est plus bridé à 1180 px : il remplit la zone de travail. */
.unpnc-home-latest,.unpnc-home-dashboard,.unpnc-home-news{width:100%!important;max-width:none!important}
.unpnc-home-dashboard{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr))!important}
.unpnc-home-news-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.unpnc-dashboard-card,.unpnc-home-news-card,.unpnc-family-card,.unpnc-tool-card,.unpnc-local-card,.unpnc-profile-summary-card{min-width:0!important}

/* Tablettes : deux colonnes confortables, formulaires sans débordement. */
@media (min-width:621px) and (max-width:1180px){
  .unpnc-home-dashboard{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .unpnc-home-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .unpnc-dashboard-card{padding:16px!important}
  .unpnc-dashboard-form{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .unpnc-dashboard-field input,.unpnc-dashboard-field select{min-width:0!important}
}

/* iPhone portrait : 2 CARTES PAR LIGNE. Le dernier article reste volontairement
   pleine largeur et prioritaire. Les formulaires internes restent sur 1 colonne
   pour conserver une saisie confortable au doigt. */
@media (orientation:portrait) and (max-width:620px){
  .unpnc-app{font-size:14px!important}
  .unpnc-header{grid-template-columns:minmax(0,1fr) auto!important}
  .unpnc-header-actions{width:auto!important;max-width:100%;gap:4px!important}
  .unpnc-admin-button,.unpnc-logout-button,.unpnc-theme-toggle{width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;padding:0!important}
  .unpnc-main{padding:13px max(10px,env(safe-area-inset-right)) calc(92px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))!important}
  .unpnc-page-head{margin-bottom:14px!important;padding-bottom:8px!important}
  .unpnc-page-head h1{font-size:clamp(23px,6.8vw,28px)!important;line-height:1.08!important}
  .unpnc-eyebrow{font-size:10px!important;letter-spacing:.11em!important}
  .unpnc-lead{margin-top:7px!important;font-size:12px!important;line-height:1.45!important}

  .unpnc-home-latest{margin-bottom:14px!important}
  .unpnc-home-latest-card{grid-template-columns:1fr!important;border-radius:15px!important}
  .unpnc-home-latest-image,.unpnc-home-latest-image img{min-height:112px!important;max-height:132px!important}
  .unpnc-home-latest-body{padding:13px!important}
  .unpnc-home-latest-body h3{font-size:18px!important;line-height:1.16!important}
  .unpnc-home-latest-body p{display:-webkit-box;overflow:hidden;margin:7px 0 11px!important;font-size:11px!important;line-height:1.4!important;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .unpnc-home-section-head{margin-bottom:8px!important}
  .unpnc-home-section-head h2{font-size:16px!important}
  .unpnc-dashboard-eyebrow{font-size:9px!important}

  .unpnc-home-dashboard,
  .unpnc-family-grid,
  .unpnc-tools-grid,
  .unpnc-home-news-grid,
  .unpnc-news-featured-grid,
  .unpnc-favorite-list,
  .unpnc-profile-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }

  .unpnc-home-dashboard{margin:14px 0!important}
  .unpnc-dashboard-card{padding:10px!important;border-radius:14px!important}
  .unpnc-dashboard-card>h2{font-size:14px!important;line-height:1.2!important}
  .unpnc-dashboard-help{display:-webkit-box;overflow:hidden;margin:5px 0 9px!important;font-size:10px!important;line-height:1.35!important;-webkit-line-clamp:3;-webkit-box-orient:vertical}
  .unpnc-dashboard-form,.unpnc-dashboard-inline,.unpnc-weather-form{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:7px!important}
  .unpnc-dashboard-form>.unpnc-primary{grid-column:auto!important}
  .unpnc-dashboard-inline>.unpnc-secondary,.unpnc-weather-form>.unpnc-primary{width:100%!important}
  .unpnc-dashboard-field{gap:4px!important;font-size:10px!important;line-height:1.25!important}
  .unpnc-dashboard-field input,.unpnc-dashboard-field select{
    min-width:0!important;min-height:44px!important;padding:7px 8px!important;border-radius:9px!important;
    font-size:16px!important; /* évite le zoom automatique de Safari iOS */
  }
  .unpnc-dashboard-card .unpnc-primary,.unpnc-dashboard-card .unpnc-secondary{min-height:44px!important;padding:7px 8px!important;font-size:11px!important}
  .unpnc-dashboard-result{margin-top:8px!important;padding:9px 10px!important}
  .unpnc-dashboard-result small{font-size:9px!important}.unpnc-dashboard-result strong{font-size:14px!important}

  .unpnc-clock-grid{grid-template-columns:minmax(0,1fr)!important;gap:6px!important;margin-bottom:8px!important}
  .unpnc-clock-item{padding:8px!important;border-radius:10px!important}
  .unpnc-clock-top strong{font-size:10px!important}.unpnc-clock-time{font-size:19px!important}.unpnc-clock-item small{font-size:9px!important}
  .unpnc-clock-remove{width:44px!important;height:44px!important}

  .unpnc-weather-result{gap:8px!important;margin-top:9px!important}
  .unpnc-weather-top{gap:7px!important}.unpnc-weather-symbol{width:38px!important;height:38px!important;border-radius:10px!important;font-size:21px!important}
  .unpnc-weather-top strong{font-size:12px!important}.unpnc-weather-top small{font-size:9px!important}
  .unpnc-weather-metrics{grid-template-columns:minmax(0,1fr)!important;gap:5px!important}
  .unpnc-weather-metrics>div{padding:7px!important}.unpnc-weather-metrics small{font-size:9px!important}.unpnc-weather-metrics strong{font-size:12px!important}

  .unpnc-family-card,.unpnc-tool-card{min-height:128px!important;padding:11px!important;border-radius:13px!important}
  .unpnc-family-icon{width:38px!important;height:38px!important;border-radius:11px!important;font-size:19px!important}
  .unpnc-tool-icon{width:34px!important;height:34px!important}
  .unpnc-family-card strong,.unpnc-tool-card strong{margin-top:10px!important;font-size:13px!important;line-height:1.22!important}
  .unpnc-family-card small,.unpnc-tool-card small{font-size:10px!important;line-height:1.35!important}
  .unpnc-tool-number,.unpnc-badge{font-size:9px!important}

  .unpnc-home-news-card{border-radius:12px!important}
  .unpnc-home-news-card>img{height:88px!important}
  .unpnc-home-news-card>div{gap:5px!important;padding:9px!important}
  .unpnc-home-news-card small{font-size:9px!important}.unpnc-home-news-card strong{font-size:12px!important;line-height:1.2!important}
  .unpnc-home-news-card p{display:none!important}.unpnc-home-news-card a{font-size:10px!important}

  .unpnc-news-featured-grid .unpnc-news-card{min-width:0!important;border-radius:13px!important}
  .unpnc-news-featured-grid .unpnc-news-image{min-height:95px!important}
  .unpnc-news-featured-grid .unpnc-news-image img{min-height:95px!important;height:95px!important}
  .unpnc-news-featured-grid .unpnc-news-body{padding:10px!important}
  .unpnc-news-featured-grid .unpnc-news-card h2{font-size:13px!important}
  .unpnc-news-featured-grid .unpnc-news-excerpt{display:none!important}
  .unpnc-news-grid{grid-template-columns:minmax(0,1fr)!important}

  .unpnc-local-card,.unpnc-profile-summary-card{padding:10px!important;border-radius:11px!important}
  .unpnc-local-card{min-height:76px!important}.unpnc-local-card strong,.unpnc-profile-summary-card strong{font-size:12px!important}.unpnc-local-card small,.unpnc-profile-summary-card small{font-size:10px!important}

  /* Les formulaires eux-mêmes restent à une colonne, indépendamment des cartes. */
  .unpnc-calc-form,.unpnc-destination-fields,.unpnc-rate-list,.unpnc-news-controls,.unpnc-profile-form,.unpnc-planning-profile,.unpnc-planning-row,.unpnc-agreement-filters,.unpnc-deadline-form{grid-template-columns:minmax(0,1fr)!important}
  .unpnc-field input,.unpnc-field select,.unpnc-field textarea,.unpnc-news-controls input,.unpnc-news-controls select,.unpnc-auth-form input{font-size:16px!important}
}

/* Très petits iPhone : on garde malgré tout 2 cartes, avec un espacement réduit. */
@media (orientation:portrait) and (max-width:390px){
  .unpnc-main{padding-inline:8px!important}
  .unpnc-home-dashboard,.unpnc-family-grid,.unpnc-tools-grid,.unpnc-home-news-grid,.unpnc-news-featured-grid,.unpnc-favorite-list,.unpnc-profile-summary-grid{gap:6px!important}
  .unpnc-dashboard-card,.unpnc-family-card,.unpnc-tool-card{padding:9px!important}
  .unpnc-dashboard-card>h2{font-size:13px!important}
}

/* iPhone paysage : 3 CARTES PAR LIGNE. */
@media (orientation:landscape) and (max-height:600px) and (max-width:960px){
  .unpnc-app{font-size:13px!important}
  .unpnc-header{grid-template-columns:160px minmax(180px,1fr) auto!important}
  .unpnc-brand strong{font-size:13px!important}
  .unpnc-main{padding:10px max(11px,env(safe-area-inset-right)) calc(76px + env(safe-area-inset-bottom)) max(11px,env(safe-area-inset-left))!important}
  .unpnc-page-head{margin-bottom:12px!important}.unpnc-page-head h1{font-size:24px!important}.unpnc-lead{font-size:11px!important;margin-top:5px!important}

  .unpnc-home-dashboard,
  .unpnc-family-grid,
  .unpnc-tools-grid,
  .unpnc-home-news-grid,
  .unpnc-news-featured-grid,
  .unpnc-favorite-list,
  .unpnc-profile-summary-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
  }

  .unpnc-home-latest{margin-bottom:12px!important}
  .unpnc-home-latest-card{grid-template-columns:minmax(150px,.65fr) minmax(0,1.35fr)!important;border-radius:14px!important}
  .unpnc-home-latest-image,.unpnc-home-latest-image img{min-height:132px!important;max-height:160px!important}
  .unpnc-home-latest-body{padding:12px 14px!important}.unpnc-home-latest-body h3{font-size:18px!important}.unpnc-home-latest-body p{margin:6px 0 9px!important;font-size:10px!important}

  .unpnc-home-dashboard{margin:12px 0!important}
  .unpnc-dashboard-card{padding:10px!important;border-radius:13px!important}.unpnc-dashboard-card>h2{font-size:14px!important}.unpnc-dashboard-help{margin:4px 0 8px!important;font-size:9.5px!important;line-height:1.3!important}
  .unpnc-dashboard-form,.unpnc-dashboard-inline,.unpnc-weather-form{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:6px!important}
  .unpnc-dashboard-form>.unpnc-primary{grid-column:auto!important}
  .unpnc-dashboard-field{font-size:10px!important}.unpnc-dashboard-field input,.unpnc-dashboard-field select{min-height:44px!important;padding:6px 8px!important;font-size:16px!important}
  .unpnc-dashboard-card .unpnc-primary,.unpnc-dashboard-card .unpnc-secondary{min-height:44px!important;font-size:10px!important}
  .unpnc-clock-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px!important}.unpnc-clock-item{padding:7px!important}.unpnc-clock-time{font-size:17px!important}
  .unpnc-weather-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important}.unpnc-weather-metrics>div{padding:6px!important}.unpnc-weather-metrics strong{font-size:11px!important}

  .unpnc-family-card,.unpnc-tool-card{min-height:112px!important;padding:10px!important}.unpnc-family-card strong,.unpnc-tool-card strong{font-size:12px!important;margin-top:8px!important}.unpnc-family-card small,.unpnc-tool-card small{font-size:9.5px!important}
  .unpnc-home-news-card>img{height:78px!important}.unpnc-home-news-card>div{padding:8px!important}.unpnc-home-news-card strong{font-size:11px!important}.unpnc-home-news-card p{display:none!important}
  .unpnc-news-featured-grid .unpnc-news-image,.unpnc-news-featured-grid .unpnc-news-image img{min-height:82px!important;height:82px!important}.unpnc-news-featured-grid .unpnc-news-body{padding:8px!important}.unpnc-news-featured-grid .unpnc-news-card h2{font-size:12px!important}.unpnc-news-featured-grid .unpnc-news-excerpt{display:none!important}

  .unpnc-calc-form,.unpnc-destination-fields,.unpnc-rate-list,.unpnc-news-controls,.unpnc-profile-form,.unpnc-planning-profile,.unpnc-planning-row,.unpnc-agreement-filters,.unpnc-deadline-form{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .unpnc-field input,.unpnc-field select,.unpnc-field textarea,.unpnc-news-controls input,.unpnc-news-controls select,.unpnc-auth-form input{font-size:16px!important}
}
