:root {
  --pnmls-blue: #1596cf;
  --pnmls-blue-deep: #0f5c8c;
  --pnmls-red: #c63431;
  --pnmls-red-deep: #ad2e2b;
  --pnmls-yellow: #f4d200;
  --pnmls-bg: #f4f8fb;
  --pnmls-surface: rgba(255, 255, 255, 0.78);
  --pnmls-surface-strong: rgba(255, 255, 255, 0.92);
  --pnmls-text: #172033;
  --pnmls-muted: #5f7082;
  --pnmls-border: rgba(15, 92, 140, 0.14);
  --pnmls-shadow: 0 18px 44px rgba(15, 35, 55, 0.11);
  --pnmls-field: rgba(255, 255, 255, 0.94);
}

html[data-theme="dark"] {
  --pnmls-bg: #07131d;
  --pnmls-surface: rgba(15, 31, 45, 0.74);
  --pnmls-surface-strong: rgba(15, 31, 45, 0.92);
  --pnmls-text: #edf7ff;
  --pnmls-muted: #b7c7d3;
  --pnmls-border: rgba(117, 194, 232, 0.22);
  --pnmls-shadow: 0 20px 50px rgba(0, 0, 0, 0.38);
  --pnmls-field: rgba(8, 22, 34, 0.92);
}

html {
  color-scheme: light;
}

html[data-theme="dark"] {
  color-scheme: dark;
}

.fas,
.fab,
.far {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html {
  background: #eef6fb;
}

body,
body[style] {
  position: relative;
  isolation: isolate;
  min-height: 100vh;
  background: transparent !important;
  color: var(--pnmls-text);
  font-family: "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 16px !important;
  line-height: 1.5;
  letter-spacing: 0;
  transition: background-color .25s ease, color .25s ease;
}

body img {
  display: inline-block;
  float: none;
  width: auto;
  height: auto;
  margin: 0;
  max-width: 100%;
}

body::before,
body[style]::before {
  content: "";
  position: fixed;
  inset: -18px;
  background:
    linear-gradient(180deg, rgba(244, 248, 251, .88), rgba(238, 246, 251, .92)),
    url("../img/pnmls1.jpg") center / cover no-repeat;
  filter: blur(12px);
  transform: scale(1.03);
  z-index: -2;
  pointer-events: none;
}

body::after,
body[style]::after {
  content: "";
  position: fixed;
  inset: 0;
  background:
    radial-gradient(circle at top left, rgba(21, 150, 207, .12), transparent 34%),
    linear-gradient(180deg, rgba(244, 248, 251, .72), rgba(238, 246, 251, .86));
  z-index: -1;
  pointer-events: none;
}

html[data-theme="dark"] {
  background: #07131d;
}

html[data-theme="dark"] body::before,
html[data-theme="dark"] body[style]::before {
  background:
    linear-gradient(180deg, rgba(7, 19, 29, .86), rgba(11, 31, 46, .9)),
    url("../img/pnmls1.jpg") center / cover no-repeat;
  opacity: .95;
}

html[data-theme="dark"] body::after,
html[data-theme="dark"] body[style]::after {
  background:
    radial-gradient(circle at top left, rgba(21, 150, 207, .18), transparent 34%),
    linear-gradient(180deg, rgba(7, 19, 29, .7), rgba(11, 31, 46, .9));
}

.pnmls-contact-bar {
  background: linear-gradient(90deg, var(--pnmls-blue), var(--pnmls-blue-deep)) !important;
}

.pnmls-logo-header {
  background: var(--pnmls-surface-strong) !important;
  border-bottom: 1px solid var(--pnmls-border) !important;
  backdrop-filter: blur(16px);
}

.pnmls-main-nav {
  background: linear-gradient(90deg, var(--pnmls-red), var(--pnmls-red-deep)) !important;
  box-shadow: var(--pnmls-shadow) !important;
}

.pnmls-shell {
  padding-top: 28px !important;
  cursor: auto;
}

.pnmls-hero {
  position: relative;
  overflow: hidden;
  cursor: default;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(242, 249, 253, .88)) !important;
  border: 1px solid rgba(15, 92, 140, .15);
  border-radius: 14px !important;
  box-shadow: 0 22px 52px rgba(15, 35, 55, .13);
  color: var(--pnmls-text) !important;
  padding: 34px 36px 32px !important;
  backdrop-filter: blur(18px);
}

.pnmls-hero::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 5px;
  background: linear-gradient(90deg, var(--pnmls-blue) 0 34%, var(--pnmls-yellow) 34% 48%, var(--pnmls-red) 48% 100%);
}

.pnmls-hero::after {
  content: "";
  position: absolute;
  inset: 5px 0 0 auto;
  width: 38%;
  background:
    linear-gradient(110deg, transparent, rgba(21, 150, 207, .10)),
    linear-gradient(180deg, rgba(226, 70, 62, .08), transparent);
  pointer-events: none;
}

.pnmls-hero > * {
  position: relative;
  z-index: 1;
}

.pnmls-hero h1,
.pnmls-hero h2 {
  max-width: 780px;
  margin: 0 0 10px !important;
  color: #082f57 !important;
  font-size: 34px !important;
  line-height: 1.18 !important;
  font-weight: 900 !important;
}

.pnmls-hero p {
  max-width: 780px !important;
  color: #385372 !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  font-weight: 500;
}

.pnmls-hero .pnmls-actions {
  display: grid !important;
  grid-template-columns: minmax(280px, 1fr) auto auto auto;
  gap: 10px;
  align-items: center;
  max-width: 980px;
  margin-top: 22px !important;
}

.pnmls-hero .pnmls-input {
  max-width: none !important;
  height: 46px;
  border-radius: 8px !important;
  padding: 0 15px !important;
  font-size: 15px !important;
  box-shadow: 0 10px 22px rgba(15, 35, 55, .08);
}

.pnmls-hero .pnmls-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  border-radius: 8px !important;
  padding: 0 18px !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  white-space: nowrap;
  box-shadow: 0 10px 20px rgba(15, 92, 140, .16);
}

.pnmls-hero .pnmls-btn.light {
  background: rgba(255, 255, 255, .92) !important;
  color: #0f5c8c !important;
  border: 1px solid rgba(15, 92, 140, .18) !important;
}

html[data-theme="dark"] .pnmls-hero {
  background:
    linear-gradient(135deg, rgba(10, 28, 42, .94), rgba(14, 46, 66, .88)) !important;
  border-color: rgba(117, 194, 232, .22);
}

html[data-theme="dark"] .pnmls-hero h1,
html[data-theme="dark"] .pnmls-hero h2 {
  color: #edf7ff !important;
}

html[data-theme="dark"] .pnmls-hero p {
  color: #c2d5e2 !important;
}

@media (max-width: 992px) {
  .pnmls-hero {
    padding: 28px 22px !important;
  }

  .pnmls-hero .pnmls-actions {
    grid-template-columns: 1fr 1fr;
  }

  .pnmls-hero .pnmls-input {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  .pnmls-shell {
    padding-top: 18px !important;
  }

  .pnmls-hero {
    padding: 24px 16px !important;
    border-radius: 10px !important;
  }

  .pnmls-hero h1,
  .pnmls-hero h2 {
    font-size: 27px !important;
  }

  .pnmls-hero .pnmls-actions {
    grid-template-columns: 1fr;
  }

  .pnmls-hero .pnmls-btn {
    width: 100%;
  }
}

.pnmls-main-nav .dropdown-menu,
.dropdown-menu {
  background: var(--pnmls-surface-strong) !important;
  border: 1px solid var(--pnmls-border) !important;
  backdrop-filter: blur(18px);
}

.pnmls-main-nav .dropdown-item,
.dropdown-item {
  color: var(--pnmls-text) !important;
}

.pnmls-main-nav .dropdown-item:hover,
.dropdown-item:hover {
  background: rgba(21, 150, 207, 0.13) !important;
}

.pnmls-theme-toggle {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 999px;
  background: rgba(255, 255, 255, .16);
  color: #ffffff;
  min-height: 30px;
  padding: 5px 11px;
  font-weight: 800;
  cursor: pointer;
  backdrop-filter: blur(10px);
}

.pnmls-theme-toggle:hover {
  background: rgba(255, 255, 255, .26);
}

.pnmls-theme-toggle .theme-label {
  font-size: 12px;
}

.pnmls-shell,
.container,
.well,
.panel,
.templatemo_gallery_left,
.documents-panel,
.pnmls-panel,
.pnmls-card,
.document-card,
.featured-docs-panel,
.featured-main,
.featured-side-card,
.pnmls-admin-table,
.table {
  color: var(--pnmls-text);
}

.well,
.panel,
.templatemo_gallery_left,
.documents-panel,
.pnmls-panel,
.pnmls-card,
.document-card,
.featured-docs-panel,
.featured-main,
.featured-side-card {
  background: var(--pnmls-surface) !important;
  border-color: var(--pnmls-border) !important;
  box-shadow: var(--pnmls-shadow) !important;
  backdrop-filter: blur(18px);
}

.document-body,
.featured-main-body,
.featured-side-body,
.pnmls-card,
.panel-body {
  color: var(--pnmls-text);
}

h1,
h2,
h3,
h4,
h5,
h6,
.document-title,
.featured-main h3,
.featured-side-card h3,
.templatemo_gallerymid_title {
  color: var(--pnmls-text) !important;
  font-family: "Segoe UI", Roboto, Arial, sans-serif;
}

.document-title,
.home-doc-title,
.all-doc-title,
.featured-main h3,
.featured-side-card h3 {
  color: #082f57 !important;
  font-family: "Segoe UI", Roboto, Arial, sans-serif !important;
  font-weight: 760 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.home-doc-title,
.all-doc-title {
  font-size: 17px !important;
  line-height: 1.42 !important;
}

.featured-main h3 {
  font-size: 24px !important;
  line-height: 1.28 !important;
}

.featured-side-card h3 {
  font-size: 15px !important;
  line-height: 1.35 !important;
}

html[data-theme="dark"] .document-title,
html[data-theme="dark"] .home-doc-title,
html[data-theme="dark"] .all-doc-title,
html[data-theme="dark"] .featured-main h3,
html[data-theme="dark"] .featured-side-card h3 {
  color: var(--pnmls-text) !important;
}

p,
td,
th,
label,
.featured-summary,
.featured-meta,
.document-meta,
.pnmls-meta {
  color: var(--pnmls-muted);
}

a {
  color: var(--pnmls-blue-deep);
}

html[data-theme="dark"] a {
  color: #75c2e8;
}

input,
select,
textarea,
.form-control,
.pnmls-input,
.pnmls-select,
.pnmls-textarea {
  background: var(--pnmls-field) !important;
  color: var(--pnmls-text) !important;
  border-color: var(--pnmls-border) !important;
}

input::placeholder,
textarea::placeholder {
  color: #7c8b9b;
}

html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder {
  color: #8fa4b7;
}

.table,
.pnmls-admin-table {
  background: var(--pnmls-surface) !important;
}

.table th,
.table td,
.pnmls-admin-table th,
.pnmls-admin-table td {
  border-color: var(--pnmls-border) !important;
}

.alert-info,
.alert-success,
.alert-danger,
.pnmls-alert {
  border-color: var(--pnmls-border) !important;
  backdrop-filter: blur(14px);
}

.btn-primary,
.pnmls-btn,
.document-btn.view,
.featured-btn.view,
.pnmls-auto-actions .view {
  background: linear-gradient(135deg, var(--pnmls-blue), var(--pnmls-blue-deep)) !important;
  border-color: transparent !important;
  color: #ffffff !important;
}

.document-btn.download,
.featured-btn.download,
.pnmls-auto-actions .download,
.pnmls-btn.secondary {
  background: linear-gradient(135deg, #16836f, #0f5f50) !important;
  color: #ffffff !important;
}

.pnmls-footer {
  background:
    linear-gradient(135deg, rgba(15, 37, 55, .97), rgba(8, 24, 36, .97)) !important;
  border-top: 1px solid var(--pnmls-border);
}

.pnmls-footer-logo {
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.sidebar-left .navbar,
.sidebar-left .navbar-inverse {
  background: linear-gradient(180deg, var(--pnmls-blue-deep), #0b334f) !important;
  border-color: var(--pnmls-border) !important;
}

.sidebar-menu,
.sidebar-menu li,
.sidebar-menu a {
  color: #ffffff !important;
}

.sidebar-menu a:hover {
  background: rgba(255, 255, 255, .12) !important;
}

html[data-theme="dark"] img.brand-logo,
html[data-theme="dark"] .pnmls-logo-inner img,
html[data-theme="dark"] .pnmls-footer-logo {
  filter: saturate(1.04) contrast(1.02);
}

@supports not (backdrop-filter: blur(10px)) {
  .well,
  .panel,
  .templatemo_gallery_left,
  .documents-panel,
  .pnmls-panel,
  .pnmls-card,
  .document-card,
  .featured-docs-panel,
  .featured-main,
  .featured-side-card {
    background: var(--pnmls-surface-strong) !important;
  }
}

/* Material Design polish */
:root {
  --md-radius: 8px;
  --md-radius-sm: 6px;
  --md-surface: rgba(255, 255, 255, .95);
  --md-surface-soft: rgba(255, 255, 255, .86);
  --md-outline: rgba(10, 43, 74, .12);
  --md-outline-strong: rgba(10, 43, 74, .2);
  --md-primary: #137eb9;
  --md-primary-dark: #0d5f91;
  --md-secondary: #0f766e;
  --md-text: #082f57;
  --md-muted: #52657a;
  --md-elevation-1: 0 1px 2px rgba(9, 30, 66, .08), 0 2px 8px rgba(9, 30, 66, .08);
  --md-elevation-2: 0 4px 10px rgba(9, 30, 66, .1), 0 10px 24px rgba(9, 30, 66, .1);
  --md-elevation-3: 0 8px 18px rgba(9, 30, 66, .14), 0 18px 42px rgba(9, 30, 66, .12);
}

html[data-theme="dark"] {
  --md-surface: rgba(15, 32, 46, .94);
  --md-surface-soft: rgba(20, 42, 59, .84);
  --md-outline: rgba(190, 220, 242, .14);
  --md-outline-strong: rgba(190, 220, 242, .24);
  --md-text: #eef7ff;
  --md-muted: #b8c8d8;
  --md-elevation-1: 0 1px 2px rgba(0, 0, 0, .22), 0 2px 10px rgba(0, 0, 0, .2);
  --md-elevation-2: 0 5px 12px rgba(0, 0, 0, .26), 0 14px 30px rgba(0, 0, 0, .24);
  --md-elevation-3: 0 10px 24px rgba(0, 0, 0, .3), 0 24px 52px rgba(0, 0, 0, .26);
}

body {
  color: var(--md-text);
  font-family: "Segoe UI", Roboto, Arial, sans-serif !important;
}

.pnmls-shell,
.documents-panel,
.pnmls-panel,
.pnmls-card,
.featured-docs-panel,
.featured-main,
.featured-side-card,
.all-docs-hero,
.search-hero,
.subscription-panel,
.submission-panel,
.admin-card,
.panel,
.well {
  background: var(--md-surface) !important;
  border: 1px solid var(--md-outline) !important;
  border-radius: var(--md-radius) !important;
  box-shadow: var(--md-elevation-1) !important;
  backdrop-filter: blur(18px);
}

.home-type-section,
.doc-theme-section,
.home-publications-section,
.all-docs-section {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.home-doc-card,
.all-doc-card,
.document-card,
.pnmls-auto-card,
.templatemo_gallery_left,
.gallery_box,
.thumbnail,
.card {
  background: var(--md-surface) !important;
  border: 1px solid var(--md-outline) !important;
  border-radius: var(--md-radius) !important;
  box-shadow: var(--md-elevation-1) !important;
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.home-doc-card:hover,
.all-doc-card:hover,
.document-card:hover,
.pnmls-auto-card:hover,
.templatemo_gallery_left:hover,
.gallery_box:hover,
.thumbnail:hover,
.card:hover {
  border-color: var(--md-outline-strong) !important;
  box-shadow: var(--md-elevation-2) !important;
  transform: translateY(-2px);
}

.home-doc-cover,
.all-doc-cover,
.document-cover,
.featured-cover,
.featured-side-cover,
.pnmls-auto-card figure,
.thumbnail img {
  background: #eef4f8 !important;
  border-radius: var(--md-radius) var(--md-radius) 0 0 !important;
}

html[data-theme="dark"] .home-doc-cover,
html[data-theme="dark"] .all-doc-cover,
html[data-theme="dark"] .document-cover,
html[data-theme="dark"] .featured-cover,
html[data-theme="dark"] .featured-side-cover,
html[data-theme="dark"] .pnmls-auto-card figure,
html[data-theme="dark"] .thumbnail img {
  background: #12293b !important;
}

.home-doc-body,
.all-doc-body,
.document-body,
.featured-main-body,
.featured-side-body {
  color: var(--md-text) !important;
}

.home-type-title,
.home-publications-title,
.featured-docs-head h2,
.all-docs-title,
.doc-theme-title,
.section-title,
.templatemo_gallerymid_title,
.panel-title {
  color: var(--md-text) !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

.home-type-subtitle,
.home-publications-lead,
.all-docs-subtitle,
.doc-theme-subtitle,
.featured-docs-head p,
.document-meta,
.home-doc-meta,
.all-doc-meta,
.featured-meta {
  color: var(--md-muted) !important;
}

.document-title,
.home-doc-title,
.all-doc-title,
.featured-main h3,
.featured-side-card h3 {
  color: var(--md-text) !important;
  font-family: "Segoe UI", Roboto, Arial, sans-serif !important;
  font-weight: 760 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.home-doc-type,
.home-doc-fresh,
.all-doc-type-badge,
.all-doc-fresh-badge,
.featured-badge,
.doc-theme-count,
.badge,
.label {
  border-radius: 999px !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
  box-shadow: none !important;
}

.btn,
.pnmls-btn,
.home-doc-btn,
.all-doc-btn,
.document-btn,
.featured-btn,
.pnmls-auto-actions a,
.search-box-button,
button[type="submit"],
input[type="submit"] {
  border-radius: var(--md-radius-sm) !important;
  min-height: 38px;
  border: 0 !important;
  box-shadow: var(--md-elevation-1) !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}

.btn:hover,
.pnmls-btn:hover,
.home-doc-btn:hover,
.all-doc-btn:hover,
.document-btn:hover,
.featured-btn:hover,
.pnmls-auto-actions a:hover,
.search-box-button:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
  box-shadow: var(--md-elevation-2) !important;
  transform: translateY(-1px);
  text-decoration: none !important;
}

.home-doc-btn.view,
.all-doc-btn.view,
.document-btn.view,
.featured-btn.view,
.pnmls-auto-actions .view,
.btn-primary {
  background: var(--md-primary) !important;
  color: #ffffff !important;
}

.home-doc-btn.download,
.all-doc-btn.download,
.document-btn.download,
.featured-btn.download,
.pnmls-auto-actions .download {
  background: var(--md-secondary) !important;
  color: #ffffff !important;
}

.home-doc-btn.disabled,
.all-doc-btn.disabled,
.document-btn.disabled,
.featured-btn.disabled,
.btn[disabled],
button[disabled] {
  background: #c8d2dc !important;
  color: #607080 !important;
  box-shadow: none !important;
  transform: none !important;
}

input,
select,
textarea,
.form-control,
.pnmls-input,
.pnmls-select,
.pnmls-textarea {
  border-radius: var(--md-radius-sm) !important;
  border: 1px solid var(--md-outline-strong) !important;
  box-shadow: none !important;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

input:focus,
select:focus,
textarea:focus,
.form-control:focus,
.pnmls-input:focus,
.pnmls-select:focus,
.pnmls-textarea:focus {
  border-color: var(--md-primary) !important;
  box-shadow: 0 0 0 3px rgba(19, 126, 185, .16) !important;
  outline: 0 !important;
}

.table,
.pnmls-admin-table {
  border-radius: var(--md-radius) !important;
  overflow: hidden;
  box-shadow: var(--md-elevation-1) !important;
}

.table th,
.pnmls-admin-table th {
  background: rgba(19, 126, 185, .08) !important;
  color: var(--md-text) !important;
  font-weight: 800 !important;
}

.alert,
.pnmls-alert,
.pnmls-footer-alert {
  border-radius: var(--md-radius) !important;
  box-shadow: var(--md-elevation-1) !important;
}

/* Harmonisation des en-tetes et des cartes sur toutes les pages publiques. */
.all-docs-hero,
.search-hero,
.pnmls-hero {
  min-height: 0 !important;
  margin: 0 0 24px !important;
  padding: clamp(20px, 3vw, 28px) !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(244, 249, 252, .88)) !important;
  border: 1px solid var(--md-outline) !important;
  border-radius: var(--md-radius) !important;
  box-shadow: var(--md-elevation-1) !important;
  overflow: hidden;
  color: var(--md-text) !important;
}

.all-docs-hero h1,
.search-hero h1,
.pnmls-hero h1,
.pnmls-hero h2 {
  max-width: 980px !important;
  margin: 0 0 8px !important;
  color: var(--md-text) !important;
  font-size: clamp(28px, 3.2vw, 40px) !important;
  line-height: 1.14 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}

.all-docs-hero p,
.search-hero p,
.pnmls-hero p {
  max-width: 900px !important;
  margin: 0 !important;
  color: var(--md-muted) !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  font-weight: 650 !important;
}

.all-docs-filter-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
  margin-top: 18px !important;
}

.all-docs-stats {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 0 !important;
}

.all-docs-stat {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  min-width: 0 !important;
  min-height: 38px !important;
  padding: 7px 13px !important;
  background: rgba(255, 255, 255, .76) !important;
  border: 1px solid var(--md-outline) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
}

.all-docs-stat strong {
  display: inline-flex !important;
  margin: 0 !important;
  color: var(--md-primary) !important;
  font-size: 17px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}

.all-docs-stat span {
  color: var(--md-text) !important;
  font-size: 12px !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
}

.theme-chip,
.all-docs-reset,
.home-type-more {
  min-height: 38px !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  padding: 8px 14px !important;
  font-weight: 850 !important;
  line-height: 1.15 !important;
  text-decoration: none !important;
  white-space: nowrap;
}

.all-docs-reset {
  color: #0f5c8c !important;
  background: rgba(21, 150, 207, .12) !important;
  border: 1px solid rgba(21, 150, 207, .24) !important;
}

.theme-nav {
  margin-top: 0 !important;
}

.doc-theme-section {
  margin-top: 26px !important;
}

.doc-theme-head {
  margin-bottom: 14px !important;
}

.all-docs-grid,
.home-type-grid,
.document-grid,
.pnmls-results {
  align-items: stretch !important;
}

.all-doc-card,
.home-doc-card,
.document-card,
.pnmls-card {
  height: 100% !important;
}

.all-doc-title,
.home-doc-title,
.document-title,
.pnmls-card h3 {
  overflow-wrap: anywhere;
}

html[data-theme="dark"] .all-docs-hero,
html[data-theme="dark"] .search-hero,
html[data-theme="dark"] .pnmls-hero {
  background:
    linear-gradient(135deg, rgba(12, 28, 42, .96), rgba(15, 42, 59, .88)) !important;
  border-color: var(--md-outline-strong) !important;
}

html[data-theme="dark"] .all-docs-stat {
  background: rgba(255, 255, 255, .08) !important;
  border-color: var(--md-outline-strong) !important;
}

html[data-theme="dark"] .all-docs-reset {
  color: #dff3ff !important;
  background: rgba(21, 150, 207, .18) !important;
  border-color: rgba(117, 194, 232, .28) !important;
}

@media (max-width: 768px) {
  .all-docs-hero,
  .search-hero,
  .pnmls-hero {
    padding: 18px !important;
    margin-bottom: 18px !important;
  }

  .all-docs-filter-row {
    align-items: stretch !important;
  }

  .all-docs-stats,
  .all-docs-reset {
    width: 100% !important;
  }

  .all-docs-stat {
    flex: 1 1 145px !important;
  }
}

/* Cartes documents premium : couverture, bande PNMLS, titre lisible et actions nettes. */
.home-doc-card,
.all-doc-card,
.document-card,
.pnmls-card {
  background: #ffffff !important;
  border: 1px solid rgba(8, 47, 87, .12) !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 6px rgba(9, 30, 66, .08), 0 10px 28px rgba(9, 30, 66, .09) !important;
  overflow: hidden !important;
}

.home-doc-cover,
.all-doc-cover,
.document-cover {
  position: relative !important;
  display: block !important;
  aspect-ratio: 16 / 9 !important;
  min-height: 0 !important;
  background: #eaf2f7 !important;
  overflow: hidden !important;
  border-radius: 8px 8px 0 0 !important;
}

.home-doc-cover::after,
.all-doc-cover::after,
.document-cover::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 8px;
  background: linear-gradient(90deg, #1596cf 0 35%, #f4d200 35% 52%, #e2463e 52% 100%);
  z-index: 2;
}

.home-doc-cover img,
.all-doc-cover img,
.document-cover img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.home-doc-type,
.all-doc-type-badge,
.document-type,
.pnmls-badge {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 3;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  max-width: calc(100% - 28px);
  padding: 7px 12px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .94) !important;
  border: 1px solid rgba(255, 255, 255, .8) !important;
  color: #0f5c8c !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  text-transform: lowercase;
  box-shadow: 0 8px 18px rgba(8, 47, 87, .16) !important;
  backdrop-filter: blur(10px);
}

.home-doc-body,
.all-doc-body,
.document-body,
.pnmls-card {
  padding: 22px 20px 20px !important;
}

.home-doc-year,
.all-doc-year,
.document-year {
  display: block !important;
  margin: 0 0 14px !important;
  color: #0f5c8c !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 950 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

.home-doc-title,
.all-doc-title,
.document-title,
.pnmls-card h3 {
  min-height: 54px !important;
  margin: 0 0 18px !important;
  color: #082f57 !important;
  font-family: "Segoe UI", Roboto, Arial, sans-serif !important;
  font-size: 18px !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.home-doc-meta,
.all-doc-meta,
.document-meta,
.pnmls-meta {
  color: #5b6d80 !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  font-weight: 700 !important;
}

.home-doc-actions,
.all-doc-actions,
.document-actions,
.pnmls-card .pnmls-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin-top: 18px !important;
}

.home-doc-btn,
.all-doc-btn,
.document-btn,
.pnmls-card .pnmls-btn {
  min-height: 38px !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.home-doc-btn.read,
.all-doc-btn.read,
.document-btn.read,
.pnmls-card .pnmls-btn {
  background: #277fd5 !important;
  color: #ffffff !important;
}

.home-doc-btn.download,
.all-doc-btn.download,
.document-btn.download,
.pnmls-card .pnmls-btn.secondary {
  background: #0f766e !important;
  color: #ffffff !important;
}

html[data-theme="dark"] .home-doc-card,
html[data-theme="dark"] .all-doc-card,
html[data-theme="dark"] .document-card,
html[data-theme="dark"] .pnmls-card {
  background: rgba(15, 32, 46, .96) !important;
  border-color: rgba(190, 220, 242, .18) !important;
}

html[data-theme="dark"] .home-doc-title,
html[data-theme="dark"] .all-doc-title,
html[data-theme="dark"] .document-title,
html[data-theme="dark"] .pnmls-card h3 {
  color: #eef7ff !important;
}

html[data-theme="dark"] .home-doc-meta,
html[data-theme="dark"] .all-doc-meta,
html[data-theme="dark"] .document-meta,
html[data-theme="dark"] .pnmls-meta {
  color: #b8c8d8 !important;
}

@media (max-width: 520px) {
  .home-doc-title,
  .all-doc-title,
  .document-title,
  .pnmls-card h3 {
    font-size: 16.5px !important;
  }
}

/* Finition inspiree de KM Services : typographie plus fine, surfaces nettes et affichage aere. */
:root {
  --km-ink: #10233f;
  --km-text: #24344d;
  --km-muted: #657387;
  --km-line: rgba(16, 35, 63, .11);
  --km-soft: #f6f9fc;
  --km-card: rgba(255, 255, 255, .97);
  --km-blue: #12649a;
  --km-teal: #11806f;
  --km-red: #ba332f;
  --km-gold: #f2d21a;
  --km-shadow-sm: 0 1px 2px rgba(16, 35, 63, .05), 0 8px 22px rgba(16, 35, 63, .07);
  --km-shadow-md: 0 8px 18px rgba(16, 35, 63, .09), 0 18px 42px rgba(16, 35, 63, .08);
}

html[data-theme="dark"] {
  --km-ink: #eef7ff;
  --km-text: #dceaf4;
  --km-muted: #aebfcd;
  --km-line: rgba(205, 228, 242, .16);
  --km-soft: #102234;
  --km-card: rgba(13, 31, 46, .96);
  --km-shadow-sm: 0 1px 2px rgba(0, 0, 0, .22), 0 10px 24px rgba(0, 0, 0, .2);
  --km-shadow-md: 0 10px 24px rgba(0, 0, 0, .28), 0 22px 48px rgba(0, 0, 0, .24);
}

body,
body[style] {
  color: var(--km-text) !important;
  font-family: Inter, "Segoe UI", Roboto, Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.68 !important;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body::before,
body[style]::before {
  filter: blur(8px) saturate(1.02) !important;
}

body::after,
body[style]::after {
  background:
    linear-gradient(180deg, rgba(247, 250, 252, .88), rgba(239, 246, 250, .94)) !important;
}

html[data-theme="dark"] body::after,
html[data-theme="dark"] body[style]::after {
  background:
    linear-gradient(180deg, rgba(7, 19, 29, .78), rgba(10, 27, 42, .92)) !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.home-type-title,
.home-publications-title,
.featured-docs-head h2,
.all-docs-title,
.doc-theme-title,
.section-title,
.panel-title,
.templatemo_gallerymid_title {
  color: var(--km-ink) !important;
  font-family: Inter, "Segoe UI", Roboto, Arial, sans-serif !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
}

p,
td,
th,
label,
.featured-summary,
.featured-meta,
.document-meta,
.home-doc-meta,
.all-doc-meta,
.pnmls-meta {
  color: var(--km-muted) !important;
  font-weight: 400 !important;
}

.pnmls-contact-bar {
  background: #0d6d9d !important;
  font-size: 12px !important;
  box-shadow: none !important;
}

.pnmls-contact-item,
.pnmls-contact-item a,
.pnmls-contact-social a {
  font-weight: 500 !important;
}

.pnmls-main-nav {
  min-height: 62px !important;
  background: rgba(183, 45, 42, .97) !important;
  border-bottom: 1px solid rgba(255, 255, 255, .16) !important;
  box-shadow: 0 10px 28px rgba(16, 35, 63, .14) !important;
  backdrop-filter: blur(16px);
}

.pnmls-main-nav .nav-link {
  font-size: 13px !important;
  font-weight: 550 !important;
  letter-spacing: 0 !important;
  padding-top: 14px !important;
  padding-bottom: 14px !important;
}

.pnmls-main-nav .nav-link:hover,
.pnmls-main-nav .nav-link:focus,
.pnmls-main-nav .nav-item.active .nav-link {
  background: rgba(255, 255, 255, .12) !important;
}

.pnmls-main-nav .dropdown-menu {
  border: 1px solid var(--km-line) !important;
  border-radius: 8px !important;
  box-shadow: var(--km-shadow-md) !important;
}

.pnmls-main-nav .dropdown-item {
  color: var(--km-text) !important;
  font-size: 13px !important;
  font-weight: 450 !important;
}

.pnmls-menu-search .form-control,
input,
select,
textarea,
.form-control,
.pnmls-input,
.pnmls-select,
.pnmls-textarea {
  min-height: 42px !important;
  border: 1px solid var(--km-line) !important;
  border-radius: 8px !important;
  color: var(--km-text) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  background: rgba(255, 255, 255, .96) !important;
}

html[data-theme="dark"] .pnmls-menu-search .form-control,
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea,
html[data-theme="dark"] .form-control,
html[data-theme="dark"] .pnmls-input,
html[data-theme="dark"] .pnmls-select,
html[data-theme="dark"] .pnmls-textarea {
  background: rgba(11, 28, 43, .96) !important;
}

input:focus,
select:focus,
textarea:focus,
.form-control:focus,
.pnmls-input:focus,
.pnmls-select:focus,
.pnmls-textarea:focus {
  border-color: rgba(18, 100, 154, .55) !important;
  box-shadow: 0 0 0 3px rgba(18, 100, 154, .12) !important;
}

.pnmls-shell,
.documents-panel,
.pnmls-panel,
.featured-docs-panel,
.featured-main,
.featured-side-card,
.all-docs-hero,
.search-hero,
.subscription-panel,
.submission-panel,
.admin-card,
.panel,
.well {
  background: var(--km-card) !important;
  border: 1px solid var(--km-line) !important;
  border-radius: 8px !important;
  box-shadow: var(--km-shadow-sm) !important;
}

.all-docs-hero,
.search-hero,
.pnmls-hero {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(247, 250, 252, .94)) !important;
  border-top: 4px solid transparent !important;
  border-image: linear-gradient(90deg, var(--km-blue) 0 35%, var(--km-gold) 35% 50%, var(--km-red) 50% 100%) 1 !important;
  box-shadow: var(--km-shadow-sm) !important;
}

.all-docs-hero h1,
.search-hero h1,
.pnmls-hero h1,
.pnmls-hero h2 {
  color: var(--km-ink) !important;
  font-size: clamp(27px, 3vw, 38px) !important;
  font-weight: 650 !important;
  line-height: 1.16 !important;
}

.all-docs-hero p,
.search-hero p,
.pnmls-hero p {
  color: var(--km-muted) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.78 !important;
}

.home-doc-card,
.all-doc-card,
.document-card,
.pnmls-card,
.templatemo_gallery_left,
.gallery_box,
.thumbnail,
.card {
  background: var(--km-card) !important;
  border: 1px solid var(--km-line) !important;
  border-radius: 8px !important;
  box-shadow: var(--km-shadow-sm) !important;
}

.home-doc-card:hover,
.all-doc-card:hover,
.document-card:hover,
.pnmls-card:hover,
.templatemo_gallery_left:hover,
.gallery_box:hover,
.thumbnail:hover,
.card:hover {
  border-color: rgba(18, 100, 154, .22) !important;
  box-shadow: var(--km-shadow-md) !important;
}

.home-doc-body,
.all-doc-body,
.document-body,
.pnmls-card {
  padding: 20px 19px 19px !important;
}

.home-doc-title,
.all-doc-title,
.document-title,
.pnmls-card h3,
.featured-main h3,
.featured-side-card h3 {
  color: var(--km-ink) !important;
  font-family: Inter, "Segoe UI", Roboto, Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 620 !important;
  line-height: 1.42 !important;
}

.featured-main h3 {
  font-size: 23px !important;
}

.home-doc-year,
.all-doc-year,
.document-year,
.home-doc-type,
.all-doc-type-badge,
.document-type,
.pnmls-badge,
.badge,
.label {
  font-weight: 650 !important;
  letter-spacing: .02em !important;
}

.btn,
.pnmls-btn,
.home-doc-btn,
.all-doc-btn,
.document-btn,
.featured-btn,
.pnmls-auto-actions a,
.search-box-button,
button[type="submit"],
input[type="submit"] {
  min-height: 42px !important;
  border-radius: 999px !important;
  padding: 10px 18px !important;
  border: 1px solid transparent !important;
  box-shadow: 0 9px 20px rgba(16, 35, 63, .10) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
}

.btn-primary,
.pnmls-btn,
.home-doc-btn.read,
.all-doc-btn.read,
.document-btn.read,
.document-btn.view,
.featured-btn.view,
.pnmls-auto-actions .view {
  background: #12649a !important;
  border-color: #12649a !important;
  color: #ffffff !important;
}

.home-doc-btn.download,
.all-doc-btn.download,
.document-btn.download,
.featured-btn.download,
.pnmls-auto-actions .download,
.pnmls-btn.secondary,
.btn-success {
  background: #11806f !important;
  border-color: #11806f !important;
  color: #ffffff !important;
}

.btn-default,
.btn-secondary,
.pnmls-btn.light,
.all-docs-reset,
.home-type-more {
  background: rgba(255, 255, 255, .92) !important;
  border: 1px solid rgba(18, 100, 154, .24) !important;
  color: #12649a !important;
  box-shadow: none !important;
}

.btn:hover,
.pnmls-btn:hover,
.home-doc-btn:hover,
.all-doc-btn:hover,
.document-btn:hover,
.featured-btn:hover,
.pnmls-auto-actions a:hover,
.search-box-button:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
  box-shadow: 0 12px 26px rgba(16, 35, 63, .14) !important;
  transform: translateY(-1px);
}

.btn-default:hover,
.btn-secondary:hover,
.pnmls-btn.light:hover,
.all-docs-reset:hover,
.home-type-more:hover {
  background: #ffffff !important;
  border-color: rgba(18, 100, 154, .38) !important;
  color: #0f4f7a !important;
}

.home-doc-actions,
.all-doc-actions,
.document-actions,
.pnmls-auto-actions,
.featured-actions {
  gap: 12px !important;
}

.home-doc-actions,
.all-doc-actions,
.document-actions,
.pnmls-card .pnmls-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.home-doc-btn,
.all-doc-btn,
.document-btn,
.pnmls-auto-actions a {
  width: 100% !important;
}

.table,
.pnmls-admin-table {
  border: 1px solid var(--km-line) !important;
  border-radius: 8px !important;
  box-shadow: var(--km-shadow-sm) !important;
}

.table th,
.pnmls-admin-table th {
  color: var(--km-ink) !important;
  background: var(--km-soft) !important;
  font-weight: 600 !important;
}

@media (max-width: 640px) {
  body,
  body[style] {
    font-size: 14.5px !important;
  }

  .all-docs-hero h1,
  .search-hero h1,
  .pnmls-hero h1,
  .pnmls-hero h2 {
    font-size: 26px !important;
  }

  .pnmls-main-nav .nav-link {
    font-size: 13px !important;
  }
}

@media (max-width: 768px) {
  .pnmls-contact-bar {
    display: none !important;
  }
}
