*,
*::before,
*::after {
  box-sizing: border-box;
}

:root {
  --navy: #03182f;
  --navy-deep: #021225;
  --blue: #075aa8;
  --blue-dark: #003e78;
  --yellow: #ffb000;
  --orange: #ff7900;
  --green: #079447;
  --red: #e94b3c;
  --purple: #8d2cb1;
  --cyan: #008eaa;
  --page-bg: #f8f9fa;
  --card-bg: #ffffff;
  --text-primary: #171a1f;
  --text-secondary: #626a73;
  --text-muted: #89919a;
  --border: #e5e8ec;
  --soft-bg: #f3f5f7;
  --white: #ffffff;
  --shadow: 0 2px 10px rgba(18, 38, 63, 0.07);
  --shadow-hover: 0 8px 24px rgba(18, 38, 63, 0.13);
}

html {
  scroll-behavior: smooth;
  width: 100%;
  overflow-x: hidden;
}

body.pmac-feed-page {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  margin: 0;
  background: var(--page-bg);
  color: var(--text-primary);
  font-family: "Poppins", "Inter", "Segoe UI", Arial, sans-serif;
  font-size: 14px;
}

body.pmac-feed-page i[class*="fa-"] {
  width: 1.15em;
  min-width: 1.15em;
  display: inline-grid;
  place-items: center;
  line-height: 1;
  text-align: center;
}

body.pmac-feed-page a {
  color: inherit;
  text-decoration: none;
}

body.pmac-feed-page button,
body.pmac-feed-page input {
  font-family: inherit;
}

.pmac-feed-shell {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
  min-height: 100vh;
  padding-top: 60px;
  background: var(--page-bg);
}

.pmac-feed-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  width: 100%;
  background: var(--navy);
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.18);
}

.pmac-feed-header__inner {
  width: 100%;
  max-width: 1500px;
  min-height: 60px;
  margin: 0 auto;
  padding: 0 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.pmac-feed-brand {
  min-width: 318px;
  height: 60px;
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
  color: var(--white);
}

.pmac-feed-brand__mark {
  width: 68px;
  height: 54px;
  object-fit: contain;
  display: block;
  margin-left: -9px;
}

.pmac-feed-brand__name {
  color: var(--white);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 34px;
  line-height: 1;
  font-weight: 400;
  letter-spacing: 0;
}

.pmac-feed-brand__divider {
  width: 1px;
  height: 34px;
  background: rgba(255, 255, 255, 0.72);
}

.pmac-feed-brand__tag {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
  color: var(--white);
  font-size: 10px;
  line-height: 1.06;
  font-weight: 700;
}

.pmac-feed-brand__tag strong {
  color: var(--yellow);
  font-size: 10.5px;
  font-weight: 700;
  white-space: nowrap;
}

.pmac-feed-brand__tag span {
  max-width: none;
  white-space: nowrap;
}

.pmac-feed-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  flex: 1;
}

body.pmac-feed-page .pmac-feed-nav a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--white);
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
  transition: color 0.2s ease;
}

body.pmac-feed-page .pmac-feed-nav a:hover {
  color: var(--yellow);
}

body.pmac-feed-page .pmac-feed-nav a.is-active {
  position: relative;
  color: var(--white);
}

body.pmac-feed-page .pmac-feed-nav a.is-active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -14px;
  height: 3px;
  border-radius: 999px;
  background: var(--yellow);
}

.pmac-feed-nav svg {
  width: 15px;
  height: 15px;
  stroke-width: 2;
}

.pmac-feed-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  flex: 0 0 auto;
}

.pmac-publish-btn {
  height: 36px;
  padding: 0 16px;
  border-radius: 6px;
  background: var(--yellow);
  color: var(--navy-deep);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 700;
}

.pmac-publish-btn svg {
  width: 17px;
  height: 17px;
  stroke-width: 2.2;
}

.pmac-auth-btn {
  height: 36px;
  padding: 0 14px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  border: 1px solid transparent;
  transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.pmac-auth-btn svg {
  width: 16px;
  height: 16px;
  stroke-width: 2.1;
}

.pmac-auth-btn--login {
  color: var(--navy-deep);
  border-color: var(--white);
  background: var(--white);
}

.pmac-auth-btn--login:hover {
  color: var(--navy-deep);
  border-color: #f3f5f7;
  background: #f3f5f7;
}

.pmac-auth-btn--register {
  color: var(--navy-deep);
  background: var(--yellow);
  border-color: var(--yellow);
}

.pmac-auth-btn--register:hover {
  color: var(--navy-deep);
  background: #ffc83d;
  border-color: #ffc83d;
}

.pmac-icon-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: var(--white);
}

.pmac-icon-btn svg {
  width: 21px;
  height: 21px;
  stroke-width: 1.8;
}

.pmac-avatar-link {
  width: 38px;
  height: 38px;
  border: 2px solid rgba(255, 176, 0, 0.9);
  border-radius: 50%;
  overflow: hidden;
  flex: 0 0 auto;
}

.pmac-avatar-link img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.pmac-mobile-toggle {
  display: none;
  width: 42px;
  height: 42px;
  border: 0;
  background: transparent;
  padding: 8px;
}

.pmac-mobile-toggle span {
  display: block;
  height: 2px;
  margin: 6px 0;
  background: var(--white);
  border-radius: 2px;
}

.pmac-hero-feed {
  width: 100%;
  max-width: 100%;
  position: relative;
  min-height: 410px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #061225;
}

.pmac-hero-feed::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(
      180deg,
      rgba(2, 18, 37, 0.22) 0%,
      rgba(2, 18, 37, 0.18) 35%,
      rgba(2, 18, 37, 0.78) 100%
    );
}

.pmac-hero-feed__slides,
.pmac-hero-feed__slides span {
  position: absolute;
  inset: 0;
}

.pmac-hero-feed__slides {
  z-index: 0;
  overflow: hidden;
}

.pmac-hero-feed__slides span {
  background-image: var(--hero-image);
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  opacity: 0;
  transform: scale(1);
  animation: pmacHeroSlide 75s linear infinite;
  will-change: opacity, transform;
}

.pmac-hero-feed__slides span:nth-child(2) {
  animation-delay: 15s;
}

.pmac-hero-feed__slides span:nth-child(3) {
  animation-delay: 30s;
}

.pmac-hero-feed__slides span:nth-child(4) {
  animation-delay: 45s;
}

.pmac-hero-feed__slides span:nth-child(5) {
  animation-delay: 60s;
}

@keyframes pmacHeroSlide {
  0% {
    opacity: 0;
    transform: scale(1);
  }

  1.33% {
    opacity: 1;
  }

  20% {
    opacity: 1;
  }

  21.33% {
    opacity: 0;
    transform: scale(1.1);
  }

  100% {
    opacity: 0;
    transform: scale(1.1);
  }
}

.pmac-hero-feed__content {
  width: min(100%, 920px);
  max-width: 100%;
  padding: 78px 20px 24px;
  text-align: center;
  position: relative;
  z-index: 2;
}

.pmac-hero-feed h1 {
  max-width: 700px;
  margin: 0 auto 28px;
  color: var(--white);
  font-size: 35px;
  line-height: 1.2;
  font-weight: 700;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.45);
}

.pmac-search-pill {
  width: min(560px, calc(100vw - 36px));
  max-width: 100%;
  height: 52px;
  margin: 0 auto 31px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 5px 0 18px;
  background: var(--white);
  border-radius: 28px;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
}

.pmac-search-pill svg {
  width: 19px;
  height: 19px;
  color: #333b45;
  stroke-width: 1.8;
  flex: 0 0 auto;
}

.pmac-search-pill input {
  min-width: 0;
  flex: 1;
  border: 0;
  outline: 0;
  color: var(--text-primary);
  font-size: 13px;
  font-weight: 400;
}

.pmac-search-pill input::placeholder {
  color: #858b92;
}

.pmac-search-location {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  color: var(--navy);
  border-left: 1px solid var(--border);
}

.pmac-search-btn {
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 50%;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  background: #06284d;
  color: var(--white);
  cursor: pointer;
}

.pmac-search-btn svg {
  color: var(--white);
  width: 20px;
  height: 20px;
  stroke-width: 2.2;
}

.pmac-shortcuts {
  width: 100%;
  max-width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 34px;
}

body.pmac-feed-page .pmac-shortcut {
  width: 72px;
  min-width: 72px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 9px;
  color: var(--white);
  font-size: 11px;
  font-weight: 600;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);
}

.pmac-shortcut__icon {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  box-shadow: 0 9px 22px rgba(0, 0, 0, 0.23);
}

.pmac-shortcut__icon svg,
.pmac-shortcut__icon i {
  width: 28px;
  height: 28px;
  color: var(--white);
  stroke-width: 1.9;
  display: grid;
  place-items: center;
  font-size: 25px;
}

.pmac-shortcut--blue .pmac-shortcut__icon { background: var(--blue); }
.pmac-shortcut--orange .pmac-shortcut__icon { background: var(--orange); }
.pmac-shortcut--green .pmac-shortcut__icon { background: var(--green); }
.pmac-shortcut--purple .pmac-shortcut__icon { background: var(--purple); }
.pmac-shortcut--brick .pmac-shortcut__icon { background: #a95a46; }
.pmac-shortcut--cyan .pmac-shortcut__icon { background: var(--cyan); }
.pmac-shortcut--yellow .pmac-shortcut__icon { background: var(--yellow); }
.pmac-shortcut--add .pmac-shortcut__icon { background: #f4f6f8; }
.pmac-shortcut--add .pmac-shortcut__icon svg,
.pmac-shortcut--add .pmac-shortcut__icon i { color: var(--navy); }
.pmac-shortcut[style*="--shortcut-bg"] .pmac-shortcut__icon { background: var(--shortcut-bg); }
.pmac-shortcut[style*="--shortcut-icon-color"] .pmac-shortcut__icon svg,
.pmac-shortcut[style*="--shortcut-icon-color"] .pmac-shortcut__icon i { color: var(--shortcut-icon-color); }
.pmac-shortcut:not(.pmac-shortcut--add) .pmac-shortcut__icon svg,
.pmac-shortcut:not(.pmac-shortcut--add) .pmac-shortcut__icon i { color: var(--white); }

.pmac-categories-swal-container {
  background: rgba(2, 18, 37, 0.82) !important;
}

.pmac-categories-swal-popup {
  width: min(880px, calc(100vw - 28px)) !important;
  padding: 22px 18px 14px !important;
  border: 1px solid rgba(3, 24, 47, 0.08) !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, 0.90) !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.35) !important;
  color: var(--navy) !important;
}

.pmac-categories-swal-title {
  margin: 0 0 14px !important;
  color: var(--navy) !important;
  font-family: "Poppins", "Inter", "Segoe UI", Arial, sans-serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
}

.pmac-categories-swal-html {
  margin: 0 !important;
}

.pmac-categories-swal-close {
  color: var(--navy) !important;
  font-size: 34px !important;
  text-shadow: none !important;
}

.pmac-auth-swal-container {
  background: rgba(2, 18, 37, 0.86) !important;
}

.pmac-auth-swal-popup {
  width: min(420px, calc(100vw - 32px)) !important;
  padding: 38px 32px 28px !important;
  border: 1px solid rgba(3, 24, 47, 0.08) !important;
  border-radius: 22px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f7fafc 100%) !important;
  box-shadow: 0 30px 80px rgba(2, 18, 37, 0.45) !important;
}

.pmac-auth-swal {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.pmac-auth-swal__badge {
  width: 68px;
  height: 68px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--blue) 0%, var(--navy) 100%);
  box-shadow: 0 12px 28px rgba(7, 90, 168, 0.35);
}

.pmac-auth-swal__badge i {
  color: var(--yellow);
  font-size: 26px;
}

.pmac-auth-swal h2 {
  margin: 0 0 10px;
  color: var(--navy);
  font-family: "Poppins", "Inter", "Segoe UI", Arial, sans-serif;
  font-size: 21px;
  font-weight: 700;
  letter-spacing: -0.2px;
}

.pmac-auth-swal p {
  margin: 0;
  color: #5b6673;
  font-size: 14px;
  line-height: 1.55;
}

.pmac-auth-swal-actions {
  display: flex !important;
  flex-direction: column !important;
  width: 100%;
  gap: 10px !important;
  margin-top: 26px !important;
}

.pmac-auth-swal-confirm,
.pmac-auth-swal-deny,
.pmac-auth-swal-cancel {
  width: 100%;
  min-height: 46px;
  border-radius: 999px;
  font-size: 14.5px;
  font-weight: 700;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.pmac-auth-swal-confirm {
  order: 1;
  border: 0;
  background: var(--yellow);
  color: var(--navy);
  box-shadow: 0 10px 22px rgba(255, 176, 0, 0.35);
}

.pmac-auth-swal-confirm:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(255, 176, 0, 0.45);
}

.pmac-auth-swal-deny {
  order: 2;
  border: 1.5px solid var(--blue);
  background: #fff;
  color: var(--blue);
}

.pmac-auth-swal-deny:hover {
  background: rgba(7, 90, 168, 0.06);
}

.pmac-auth-swal-cancel {
  order: 3;
  min-height: 32px;
  border: 0;
  background: transparent;
  color: #8a95a3;
  font-size: 12.5px;
  font-weight: 600;
  text-decoration: underline;
}

.pmac-auth-swal-cancel:hover {
  color: #5b6673;
}

/* ---------------------------------------------------------------------
   Fenêtre SweetAlert2 — proposition d'abonnement Contributeur
   (badge cliqué sur une carte ou dans la modale de détail)
   --------------------------------------------------------------------- */
[data-upgrade-trigger] { cursor: pointer; }

.pmac-upgrade-swal-container { background: rgba(2, 18, 37, 0.86) !important; }

.pmac-upgrade-swal-popup {
  width: min(420px, calc(100vw - 32px)) !important;
  padding: 38px 32px 28px !important;
  border: 1px solid rgba(3, 24, 47, 0.08) !important;
  border-radius: 22px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f7fafc 100%) !important;
  box-shadow: 0 30px 80px rgba(2, 18, 37, 0.45) !important;
}

.pmac-upgrade-swal { display: flex; flex-direction: column; align-items: center; text-align: center; }

.pmac-upgrade-swal__badge {
  width: 68px;
  height: 68px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--blue) 0%, var(--navy) 100%);
  box-shadow: 0 12px 28px rgba(7, 90, 168, 0.35);
}

.pmac-upgrade-swal__badge i { color: var(--yellow); font-size: 26px; }

.pmac-upgrade-swal h2 {
  margin: 0 0 10px;
  color: var(--navy);
  font-family: "Poppins", "Inter", "Segoe UI", Arial, sans-serif;
  font-size: 21px;
  font-weight: 700;
  letter-spacing: -0.2px;
}

.pmac-upgrade-swal p { margin: 0; color: #5b6673; font-size: 14px; line-height: 1.55; }

.pmac-upgrade-swal ul {
  list-style: none;
  margin: 16px 0 0;
  padding: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-align: left;
}

.pmac-upgrade-swal ul li { display: flex; align-items: center; gap: 9px; font-size: 13px; color: var(--text-primary); }
.pmac-upgrade-swal ul li i { color: var(--blue); font-size: 13px; flex: 0 0 auto; }

.pmac-upgrade-swal-actions { display: flex !important; flex-direction: column !important; width: 100%; gap: 10px !important; margin-top: 26px !important; }

.pmac-upgrade-swal-confirm,
.pmac-upgrade-swal-cancel {
  width: 100%;
  min-height: 46px;
  border-radius: 999px;
  font-size: 14.5px;
  font-weight: 700;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.pmac-upgrade-swal-confirm {
  order: 1;
  border: 0;
  background: var(--yellow);
  color: var(--navy);
  box-shadow: 0 10px 22px rgba(255, 176, 0, 0.35);
}

.pmac-upgrade-swal-confirm:hover { transform: translateY(-1px); box-shadow: 0 14px 28px rgba(255, 176, 0, 0.45); }

.pmac-upgrade-swal-cancel {
  order: 2;
  min-height: 32px;
  border: 0;
  background: transparent;
  color: #8a95a3;
  font-size: 12.5px;
  font-weight: 600;
  text-decoration: underline;
}

.pmac-upgrade-swal-cancel:hover { color: #5b6673; }

.pmac-categories-modal__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 24px 20px;
  justify-items: center;
}

.pmac-category-choice {
  width: 96px;
  min-width: 0;
  min-height: 82px;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--navy);
  box-shadow: none;
  transition: transform 0.18s ease;
}

.pmac-category-choice:hover {
  transform: translateY(-3px);
  background: rgba(3, 24, 47, 0.05);
}

.pmac-category-choice__icon {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--category-bg, var(--blue));
  color: var(--category-icon-color, var(--white));
  box-shadow: 0 9px 22px rgba(0, 0, 0, 0.23);
}

.pmac-category-choice__icon svg,
.pmac-category-choice__icon i {
  width: 28px;
  height: 28px;
  color: inherit;
  stroke-width: 1.9;
  font-size: 24px;
}

.pmac-category-choice__label {
  max-width: 100%;
  color: var(--navy);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.25;
  text-align: center;
  text-shadow: none;
}

.pmac-native-modal-open {
  overflow: hidden;
}

.pmac-native-category-modal {
  position: fixed;
  inset: 0;
  z-index: 3000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 22px;
  background: rgba(2, 18, 37, 0.82);
}

.pmac-native-category-modal.is-open {
  display: flex;
}

.pmac-native-category-modal__panel {
  position: relative;
  width: min(880px, 100%);
  max-height: min(760px, calc(100vh - 44px));
  overflow: auto;
  padding: 22px 18px 14px;
  border: 1px solid rgba(3, 24, 47, 0.08);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.90);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.35);
}

.pmac-native-category-modal__panel h2 {
  margin: 0 42px 24px;
  color: var(--navy);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-shadow: none;
}

.pmac-native-category-modal__close {
  position: absolute;
  top: 12px;
  right: 14px;
  width: 40px;
  height: 40px;
  border: 0;
  background: transparent;
  color: var(--navy);
  font-size: 34px;
  line-height: 1;
  cursor: pointer;
  text-shadow: none;
}

.pmac-feed-main {
  width: 100%;
  max-width: min(1500px, 100%);
  margin: 0 auto;
  padding: 0 16px 74px;
}

.pmac-feed-tabs {
  max-width: calc(100% + 32px);
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  background: var(--white);
  border-bottom: 1px solid var(--border);
  margin: 0 -16px 16px;
  padding: 0 16px;
}

.pmac-feed-tabs__left,
.pmac-feed-tabs__right {
  display: flex;
  align-items: center;
  gap: 24px;
}

.pmac-feed-tab {
  position: relative;
  height: 70px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  color: #222;
  border: 0;
  background: transparent;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
}

.pmac-feed-tab svg {
  width: 19px;
  height: 19px;
  stroke-width: 1.75;
}

.pmac-feed-tab.is-active svg {
  color: var(--yellow);
  fill: var(--yellow);
}

.pmac-feed-tab.is-active::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 74px;
  height: 3px;
  border-radius: 3px 3px 0 0;
  background: var(--yellow);
}

.pmac-toolbar-btn {
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  white-space: nowrap;
  padding: 0 18px;
  border: 1px solid #e3e6ea;
  border-radius: 12px;
  background: var(--white);
  color: var(--text-primary);
  box-shadow: 0 4px 14px rgba(18, 38, 63, 0.08);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
}

.pmac-toolbar-btn svg {
  width: 19px;
  height: 19px;
  stroke-width: 1.8;
}

.publications-grid {
  width: 100%;
  max-width: 100%;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px 16px;
}

.publication-card {
  min-width: 0;
  min-height: 294px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--card-bg);
  border: 1px solid #e8eaed;
  border-radius: 10px;
  box-shadow: var(--shadow);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.publication-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-hover);
}

.card-image-wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #eef1f3;
}

.card-image-wrapper img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

.category-badge {
  position: absolute;
  top: 8px;
  left: 8px;
  height: 23px;
  display: inline-flex;
  align-items: center;
  border-radius: 5px;
  padding: 0 9px;
  background: var(--badge-bg, var(--blue));
  color: var(--badge-fg, var(--white));
  font-size: 10px;
  line-height: 1;
  font-weight: 700;
}

.badge-blue { background: var(--badge-bg, var(--blue)); }
.badge-green { background: var(--badge-bg, var(--green)); }
.badge-orange { background: var(--badge-bg, var(--orange)); }
.badge-yellow { background: var(--badge-bg, var(--yellow)); color: #08213f; }
.badge-transport { background: var(--badge-bg, #087553); }
.badge-brick { background: var(--badge-bg, #b75837); }
.badge-purple { background: var(--badge-bg, var(--purple)); }
.badge-cyan { background: var(--badge-bg, var(--cyan)); }
.badge-add { background: var(--badge-bg, #64748b); }

.event-date {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 46px;
  min-height: 50px;
  display: grid;
  place-items: center;
  padding: 5px 0;
  border-radius: 6px;
  background: var(--white);
  color: #111;
  text-align: center;
  box-shadow: 0 5px 14px rgba(0, 0, 0, 0.18);
}

.event-date strong {
  display: block;
  font-size: 22px;
  line-height: 1;
  font-weight: 800;
}

.event-date span {
  display: block;
  margin-top: 2px;
  color: #333;
  font-size: 10px;
  line-height: 1;
  font-weight: 700;
  text-transform: uppercase;
}

.card-author-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 11px 0;
}

.card-avatar {
  width: 27px;
  height: 27px;
  border-radius: 50%;
  object-fit: cover;
  flex: 0 0 auto;
}

.card-author-meta {
  min-width: 0;
  flex: 1;
}

.card-author-line {
  display: flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
  white-space: nowrap;
}

.card-author-name {
  color: #252a30;
  font-size: 10.5px;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
}

.verified {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  color: var(--text-muted);
  font-size: 9.5px;
  font-weight: 600;
  flex: 0 0 auto;
}

.verified svg {
  width: 12px;
  height: 12px;
  fill: currentColor;
  stroke: currentColor;
  stroke-width: 2.1;
}

.card-author-role {
  display: block;
  margin-top: 1px;
  color: var(--text-muted);
  font-size: 9.5px;
  line-height: 1.1;
  font-weight: 600;
}

.certified-badge {
  width: 14px;
  height: 14px;
  min-width: 14px;
  display: inline-grid;
  place-items: center;
  color: #0b72dc;
  font-size: 12px;
  line-height: 1;
  flex: 0 0 auto;
}

.certified-badge i {
  color: #0b72dc;
}

.certified-badge--detail {
  width: 18px;
  height: 18px;
  min-width: 18px;
  font-size: 16px;
}

.certified-label {
  color: #0b72dc;
  font-size: 9.2px;
  line-height: 1;
  font-weight: 700;
  flex: 0 0 auto;
}

.certified-label--detail {
  font-size: 11.5px;
}

.pmac-detail-dialog {
  width: min(854px, calc(100vw - 34px));
  height: min(630px, calc(100vh - 31px));
  border-radius: 15px;
  box-shadow: 0 17px 56px rgba(6, 18, 34, 0.28);
}

.pmac-detail-modal--mockup {
  padding: 17px 20px 18px;
  background: #fff;
}

.pmac-detail-modal--mockup .pmac-detail-modal__header {
  margin-bottom: 13px;
  gap: 13px;
}

.pmac-detail-modal--mockup .pmac-detail-author {
  gap: 11px;
}

.pmac-detail-modal--mockup .pmac-detail-author__avatar {
  width: 42px;
  height: 42px;
}

.pmac-detail-modal--mockup .pmac-detail-author__line strong {
  color: #050812;
  font-size: 17px;
  letter-spacing: 0;
}

.pmac-detail-modal--mockup .pmac-detail-meta {
  gap: 8px;
  margin-top: 6px;
  color: #4b5563;
  font-size: 11px;
}

.pmac-detail-modal--mockup .pmac-detail-actions {
  gap: 17px;
}

.pmac-detail-modal--mockup .pmac-detail-actions button {
  gap: 6px;
  color: #111827;
  font-size: 10px;
  font-weight: 500;
}

.pmac-detail-actions .pmac-detail-favori.is-saved {
  color: var(--yellow);
}

.pmac-detail-modal--mockup .pmac-detail-actions i {
  font-size: 14px;
}

.pmac-detail-modal--mockup .pmac-detail-close i {
  font-size: 21px;
}

.pmac-detail-tabs--mockup {
  height: 45px;
  align-items: stretch;
  justify-content: space-between;
  gap: 8px;
  padding: 0 21px;
  margin-bottom: 17px;
  overflow: hidden;
  border: 1px solid #dbe3ee;
  border-radius: 10px;
  background: #fff;
}

.pmac-detail-tabs--mockup button {
  position: relative;
  height: 100%;
  min-width: 91px;
  padding: 0 7px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #0c1630;
  font-size: 10px;
  font-weight: 650;
  gap: 7px;
}

.pmac-detail-tabs--mockup button::after {
  content: "";
  position: absolute;
  left: 6px;
  right: 6px;
  bottom: 0;
  height: 2px;
  border-radius: 999px 999px 0 0;
  background: transparent;
}

.pmac-detail-tabs--mockup button.is-active {
  border-color: transparent;
  background: transparent;
  color: #0b1426;
}

.pmac-detail-tabs--mockup button.is-active::after {
  background: #ffae00;
}

.pmac-detail-tabs--mockup i {
  font-size: 14px;
}

.pmac-detail-overview {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 259px;
  gap: 20px;
  height: 100%;
  min-height: 0;
}

.pmac-detail-overview__main,
.pmac-detail-overview__side {
  min-width: 0;
}

.pmac-detail-cover {
  position: relative;
  height: 263px;
  overflow: hidden;
  border-radius: 11px;
  background: #e8edf4;
}

.pmac-detail-cover img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.pmac-detail-category-pill,
.pmac-detail-photo-count {
  position: absolute;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 0;
  border-radius: 10px;
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
}

.pmac-detail-category-pill {
  top: 14px;
  left: 13px;
  min-height: 27px;
  padding: 0 13px;
  background: #fff;
  color: #0d1730;
  box-shadow: 0 6px 17px rgba(7, 23, 44, 0.16);
}

.pmac-detail-category-pill i {
  color: #071a3a;
  font-size: 12px;
}

.pmac-detail-photo-count {
  right: 11px;
  bottom: 11px;
  min-height: 28px;
  padding: 0 10px;
  background: rgba(5, 12, 22, 0.72);
  color: #fff;
  cursor: pointer;
}

.pmac-detail-title {
  margin: 13px 0 6px;
  color: #07122f;
  font-size: 20px;
  line-height: 1.12;
  font-weight: 800;
  letter-spacing: 0;
}

.pmac-detail-subline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 15px;
  margin-bottom: 7px;
  color: #4b5563;
  font-size: 11px;
  font-weight: 600;
}

.pmac-detail-subline span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.pmac-detail-subline .fa-star {
  color: #11812b;
}

.pmac-detail-description-main {
  max-width: 532px;
  margin: 0 0 11px;
  color: #243044;
  font-size: 11px;
  line-height: 1.58;
}

.pmac-detail-description-main button {
  border: 0;
  background: transparent;
  color: #004bc1;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.pmac-detail-features--mockup {
  gap: 10px;
  margin-bottom: 10px;
}

.pmac-detail-features--mockup span {
  min-width: 84px;
  min-height: 27px;
  justify-content: center;
  padding: 0 11px;
  border-color: #dfe7e3;
  border-radius: 7px;
  background: #f9fbfa;
  color: #1f2937;
  font-size: 10px;
}

.pmac-detail-features--mockup i,
.pmac-detail-verified-note--mockup i {
  color: #087a25;
  font-size: 13px;
}

.pmac-detail-verified-note--mockup {
  width: 100%;
  min-height: 34px;
  justify-content: flex-start;
  padding: 0 10px;
  margin-bottom: 10px;
  border-radius: 7px;
  font-size: 11px;
}

.pmac-detail-verified-note--mockup i:last-child {
  margin-left: auto;
  color: #0d1730;
}

.pmac-detail-social--mockup {
  min-height: 35px;
  padding: 0;
}

.pmac-detail-social--mockup button {
  min-height: 34px;
  font-size: 10px;
}

.pmac-detail-social--mockup i {
  font-size: 15px;
}

.pmac-detail-review--mockup {
  padding: 9px 0 8px;
  border-bottom: 1px solid #e5e7eb;
}

.pmac-detail-review--mockup img {
  width: 35px;
  height: 35px;
}

.pmac-detail-review--mockup p {
  margin: 4px 0 1px;
  font-size: 10px;
}

.pmac-detail-see-reviews {
  min-height: 29px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  border: 0;
  background: transparent;
  color: #004bc1;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}

.pmac-detail-overview__side {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.pmac-detail-practical-card {
  padding: 15px 13px 14px;
  border: 1px solid #dfe6ef;
  border-radius: 11px;
  background: #fff;
}

.pmac-detail-price {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 15px;
  color: #0c1220;
}

.pmac-detail-price i {
  align-self: center;
  color: #6b7280;
  font-size: 15px;
}

.pmac-detail-price strong {
  font-size: 18px;
  line-height: 1;
}

.pmac-detail-price span {
  color: #1f2937;
  font-size: 10px;
}

.pmac-detail-practical-list {
  display: grid;
  gap: 11px;
  padding-bottom: 15px;
  margin-bottom: 14px;
  border-bottom: 1px solid #e5e7eb;
}

.pmac-detail-practical-list div {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: start;
  color: #1f2937;
  font-size: 10px;
  line-height: 1.3;
}

.pmac-detail-practical-list i {
  color: #7a8392;
  font-size: 14px;
}

.pmac-detail-scores--mockup {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
  margin-bottom: 13px;
}

.pmac-detail-scores--mockup div {
  min-height: 73px;
  padding: 10px 6px 8px;
  border-radius: 8px;
}

.pmac-detail-scores--mockup i {
  font-size: 18px;
}

.pmac-detail-scores--mockup span {
  font-size: 9px;
}

.pmac-detail-scores--mockup strong {
  font-size: 17px;
}

/* Sécurité / Hygiène / Accueil : note pratique du créateur, affichée comme
   une icône colorée (pas une moyenne d'avis chiffrée) avec info-bulle au clic. */
.pmac-score-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

.pmac-score-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: none;
  background: transparent;
  padding: 0;
  cursor: pointer;
}

.pmac-score-icon--none i { color: #b0b8c1; }
.pmac-score-icon--good i { color: #05ad69; }
.pmac-score-icon--medium i { color: #ffb000; }
.pmac-score-icon--bad i { color: #ef3340; }

.pmac-score-tooltip {
  /* Au-dessus de .pmac-detail-overlay (z-index: 5000) : la bulle est
     rattachée à <body>, donc sœur de l'overlay et non son enfant — un
     z-index inférieur au sien la rendrait invisible derrière le fond
     sombre de la modale, même si sa position reste correcte. */
  position: fixed;
  background: #12203a;
  color: #fff;
  font-size: 11.5px;
  font-weight: 600;
  padding: 7px 11px;
  border-radius: 7px;
  box-shadow: 0 10px 24px rgba(3, 24, 47, 0.25);
  z-index: 5100;
  max-width: 200px;
  text-align: center;
  pointer-events: none;
}

.pmac-score-tooltip::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border: 5px solid transparent;
  border-top-color: #12203a;
  top: 100%;
}

.pmac-score-tooltip--below::after {
  top: auto;
  bottom: 100%;
  border-top-color: transparent;
  border-bottom-color: #12203a;
}

.pmac-detail-map--preview {
  height: 123px;
  margin-bottom: 8px;
  border-radius: 9px;
}

.pmac-detail-map--preview::after {
  width: 34px;
  height: 34px;
  transform: translate(-50%, -64%);
}

.pmac-detail-map-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #004bc1;
  font-size: 10px;
  font-weight: 700;
  text-decoration: none;
}

.pmac-detail-modal--mockup .pmac-detail-contact,
.pmac-detail-modal--mockup .pmac-detail-itinerary {
  min-height: 36px;
  justify-content: center;
  border-radius: 7px;
  font-size: 11px;
}

.pmac-detail-modal--mockup .pmac-detail-contact {
  background: #ffab00;
  color: #080c14;
}

.pmac-detail-modal--mockup .pmac-detail-itinerary {
  border: 1px solid #bdcadb;
  background: #fff;
  color: #003a9b;
}

.pmac-detail-modal--mockup .pmac-detail-report {
  min-height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #4b5563;
  font-size: 9px;
  justify-content: flex-start;
}

.pmac-detail-info-panel {
  max-width: 532px;
  padding: 15px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
}

.pmac-detail-info-panel h3 {
  margin: 0 0 7px;
  color: #07122f;
  font-size: 15px;
}

.pmac-detail-info-panel p {
  color: #253044;
  font-size: 11px;
  line-height: 1.58;
}

.pmac-detail-info-panel div {
  display: grid;
  grid-template-columns: 168px minmax(0, 1fr);
  gap: 11px;
  padding: 8px 0;
  border-top: 1px solid #eef1f5;
}

.pmac-detail-info-panel span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #4b5563;
}

.pmac-detail-review--standalone {
  max-width: 532px;
  padding: 13px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
}

@media (max-width: 980px) {
  .pmac-detail-dialog {
    width: min(100%, calc(100vw - 14px));
    height: calc(100vh - 14px);
  }

  .pmac-detail-modal--mockup {
    padding: 13px 10px;
  }

  .pmac-detail-tabs--mockup {
    justify-content: flex-start;
    overflow-x: auto;
    padding: 0 8px;
  }

  .pmac-detail-tabs--mockup button {
    min-width: max-content;
  }

  .pmac-detail-overview {
    grid-template-columns: 1fr;
    gap: 13px;
  }

  .pmac-detail-cover {
    height: 182px;
  }

  .pmac-detail-title {
    font-size: 16px;
  }

  .pmac-detail-overview__side {
    padding-bottom: 14px;
  }
}

@media (max-width: 640px) {
  .pmac-detail-overlay {
    padding: 7px;
  }

  .pmac-detail-modal--mockup .pmac-detail-modal__header {
    align-items: flex-start;
  }

  .pmac-detail-modal--mockup .pmac-detail-author__avatar {
    width: 34px;
    height: 34px;
  }

  .pmac-detail-modal--mockup .pmac-detail-author__line strong {
    font-size: 13px;
  }

  .pmac-detail-modal--mockup .pmac-detail-actions {
    gap: 6px;
  }

  .pmac-detail-modal--mockup .pmac-detail-actions span {
    display: none;
  }

  .pmac-detail-tabs--mockup {
    height: 38px;
    margin-bottom: 10px;
  }

  .pmac-detail-tabs--mockup button {
    font-size: 9px;
  }

  .pmac-detail-cover {
    height: 154px;
  }

  .pmac-detail-features--mockup span {
    min-width: calc(50% - 5px);
  }

  .pmac-detail-scores--mockup {
    grid-template-columns: 1fr;
  }

  .pmac-detail-info-panel div {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}

.card-location {
  display: block;
  margin-top: 2px;
  color: var(--text-muted);
  font-size: 10.5px;
  font-weight: 400;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.card-rating {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--text-secondary);
  font-size: 10px;
  font-weight: 500;
  flex: 0 0 auto;
  white-space: nowrap;
}

.card-rating svg {
  width: 13px;
  height: 13px;
  color: var(--yellow);
  fill: var(--yellow);
  stroke-width: 1.7;
}

.card-title {
  display: block;
  width: calc(100% - 22px);
  margin: 10px 11px 8px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: #24272b;
  font-size: 13.5px;
  line-height: 1.35;
  font-weight: 700;
  border: 0;
  padding: 0;
  background: transparent;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
}

.info-pills {
  min-height: 27px;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 0 11px 11px;
  overflow: hidden;
}

.info-pill {
  max-width: 48%;
  height: 25px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0 8px;
  border: 1px solid #edf0f2;
  border-radius: 6px;
  background: #f5f6f7;
  color: #69727d;
  font-size: 9.7px;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.info-pill svg {
  width: 11px;
  height: 11px;
  flex: 0 0 auto;
  stroke-width: 1.8;
}

.card-interactions {
  height: 42px;
  margin-top: auto;
  padding: 0 11px;
  border-top: 1px solid #eef0f2;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.interaction-left {
  display: flex;
  align-items: center;
  gap: 25px;
}

.interaction {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 0;
  background: transparent;
  color: #53606f;
  font-size: 10.5px;
  font-weight: 500;
  cursor: pointer;
  padding: 0;
}

.interaction svg {
  width: 18px;
  height: 18px;
  stroke-width: 1.8;
}

.interaction.like svg {
  color: #ff334b;
}

.interaction.like.is-liked svg {
  fill: #ff334b;
}

.interaction.bookmark {
  margin-left: auto;
}

.interaction.bookmark i {
  color: #53606f;
}

.interaction.bookmark.is-saved i {
  color: var(--yellow);
}

.skeleton-card {
  min-height: 190px;
  padding: 14px;
  border: 1px solid #edf0f2;
  border-radius: 10px;
  background: var(--white);
}

.skeleton-block,
.skeleton-line,
.skeleton-avatar {
  background: linear-gradient(90deg, #f0f2f4 25%, #f7f8f9 37%, #f0f2f4 63%);
  background-size: 400px 100%;
  animation: shimmer 1.45s ease-in-out infinite;
}

.skeleton-block {
  height: 86px;
  border-radius: 8px;
  margin-bottom: 13px;
}

.skeleton-avatar {
  width: 25px;
  height: 25px;
  border-radius: 7px;
  float: left;
  margin-right: 10px;
}

.skeleton-line {
  height: 11px;
  border-radius: 8px;
  margin: 9px 0;
}

.skeleton-line.short { width: 42%; }
.skeleton-line.medium { width: 72%; }
.skeleton-line.long { width: 94%; clear: both; }

@keyframes shimmer {
  0% { background-position: -400px 0; }
  100% { background-position: 400px 0; }
}

.publications-grid.is-loading .publication-card {
  opacity: 0.36;
  pointer-events: none;
}

.pmac-feed-empty {
  grid-column: 1 / -1;
  min-height: 220px;
  display: grid;
  place-items: center;
  padding: 36px 20px;
  border: 1px dashed rgba(7, 90, 168, 0.22);
  border-radius: 10px;
  background: var(--white);
  color: var(--text-secondary);
  font-size: 14px;
  font-weight: 500;
  text-align: center;
}

.infinite-loader {
  min-height: 310px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 12px;
  padding: 80px 0 24px;
  color: var(--navy);
  font-size: 13px;
  font-weight: 500;
}

.infinite-loader.is-hidden {
  display: none;
}

.infinite-loader.is-loading {
  color: var(--blue);
}

.loader-spinner {
  width: 18px;
  height: 18px;
  border: 2px solid rgba(7, 90, 168, 0.18);
  border-top-color: var(--blue);
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

.card-image-button {
  width: 100%;
  height: 100%;
  display: block;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.card-image-button img {
  pointer-events: none;
}

.pmac-detail-overlay {
  position: fixed;
  inset: 0;
  z-index: 5000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 15px;
  background: rgba(2, 18, 37, 0.78);
}

.pmac-detail-overlay.is-open {
  display: flex;
}

.pmac-detail-overlay.is-loading .pmac-detail-dialog {
  min-height: 252px;
}

.pmac-detail-dialog {
  width: min(896px, calc(100vw - 30px));
  height: min(455px, calc(100vh - 30px));
  overflow: hidden;
  border-radius: 11px;
  background: #fff;
  color: #111827;
  box-shadow: 0 21px 63px rgba(0, 0, 0, 0.36);
}

.pmac-detail-loading,
.pmac-detail-error {
  min-height: 252px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 22px;
  color: var(--navy);
  font-weight: 600;
}

.pmac-detail-modal {
  height: 100%;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  padding: 10px 13px 11px;
}

.pmac-detail-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 7px;
}

.pmac-detail-author {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

.pmac-detail-author__avatar {
  width: 31px;
  height: 31px;
  border-radius: 50%;
  object-fit: cover;
  flex: 0 0 auto;
}

.pmac-detail-author__line {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.pmac-detail-author__line strong {
  font-size: 13px;
  line-height: 1.1;
}

.pmac-detail-verified {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #4b5563;
  font-size: 9px;
  font-weight: 600;
}

.pmac-detail-verified svg {
  width: 11px;
  height: 11px;
  fill: currentColor;
  stroke: currentColor;
}

.pmac-detail-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
  color: #4b5563;
  font-size: 9px;
}

.pmac-detail-meta span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.pmac-detail-meta svg {
  width: 11px;
  height: 11px;
}

.pmac-detail-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #374151;
}

.pmac-detail-actions button {
  border: 0;
  background: transparent;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: inherit;
  font-size: 9px;
  cursor: pointer;
}

.pmac-detail-actions svg {
  width: 13px;
  height: 13px;
}

.pmac-detail-close {
  width: 22px;
  height: 22px;
  justify-content: center;
  padding: 0;
}

.pmac-detail-close svg {
  width: 18px;
  height: 18px;
}

.pmac-detail-hero {
  display: grid;
  grid-template-columns: 119px minmax(0, 1fr);
  gap: 8px;
  align-items: stretch;
  margin-bottom: 7px;
}

.pmac-detail-hero img {
  width: 100%;
  height: 84px;
  border-radius: 7px;
  object-fit: cover;
}

.pmac-detail-hero .category-badge {
  position: static;
  width: fit-content;
  margin-bottom: 4px;
}

.pmac-detail-hero h2 {
  margin: 0 0 4px;
  color: #0a0d12;
  font-size: 13px;
  line-height: 1.18;
}

.pmac-detail-hero p {
  margin: 0;
  color: #374151;
  font-size: 8px;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.pmac-detail-tabs {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  padding-bottom: 5px;
  margin-bottom: 6px;
  border-bottom: 1px solid #e5e7eb;
}

.pmac-detail-tabs button {
  height: 21px;
  padding: 0 8px;
  border: 1px solid #dfe4eb;
  border-radius: 999px;
  background: #fff;
  color: #374151;
  font-size: 8px;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
}

.pmac-detail-tabs button.is-active {
  border-color: var(--blue);
  background: rgba(7, 90, 168, 0.08);
  color: var(--blue-dark);
}

.pmac-detail-tab-panel {
  display: none;
  height: 100%;
  overflow: auto;
  scrollbar-gutter: stable;
}

.pmac-detail-tab-panel.is-active {
  display: block;
}

.pmac-detail-content {
  min-height: 0;
  height: 100%;
  overflow: hidden;
}

.pmac-detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 223px;
  gap: 8px;
  height: 100%;
  min-height: 0;
}

.pmac-detail-gallery {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 105px;
  gap: 6px;
  max-width: 672px;
}

.pmac-detail-gallery img,
.pmac-detail-more-photos {
  width: 100%;
  display: block;
  border: 0;
  background-color: #edf1f4;
  object-fit: cover;
}

.pmac-detail-gallery__main {
  height: 273px;
  border-radius: 6px;
}

.pmac-detail-gallery__side {
  display: grid;
  grid-template-rows: repeat(3, 1fr);
  gap: 6px;
}

.pmac-detail-gallery__side img,
.pmac-detail-more-photos {
  height: 87px;
  border-radius: 6px;
}

.pmac-detail-more-photos {
  position: relative;
  overflow: hidden;
  background-position: center;
  background-size: cover;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.pmac-detail-more-photos::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.46);
}

.pmac-detail-more-photos span {
  position: relative;
}

.pmac-detail-main h2 {
  margin: 11px 0 6px;
  color: #0a0d12;
  font-size: 15px;
  line-height: 1.15;
}

.pmac-detail-description {
  margin: 0 0 14px;
  color: #374151;
  font-size: 9px;
  line-height: 1.48;
}

.pmac-detail-features {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 6px;
}

.pmac-detail-features span {
  min-height: 21px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 0 7px;
  border: 1px solid #dfe7e2;
  border-radius: 6px;
  background: #f8faf9;
  color: #1f2937;
  font-size: 8px;
}

.pmac-detail-features svg,
.pmac-detail-verified-note svg {
  width: 12px;
  height: 12px;
  color: #087a25;
}

.pmac-detail-verified-note {
  width: fit-content;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 8px;
  margin-bottom: 6px;
  border: 1px solid #d7e5dc;
  border-radius: 6px;
  background: #f5faf6;
  color: #087a25;
  font-size: 8px;
}

.pmac-detail-social {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  padding: 4px 0;
  border-top: 1px solid #e5e7eb;
  border-bottom: 1px solid #e5e7eb;
}

.pmac-detail-social button {
  min-height: 21px;
  border: 0;
  background: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  color: #374151;
  font-size: 8px;
  cursor: pointer;
}

.pmac-detail-social svg {
  width: 13px;
  height: 13px;
}

.pmac-detail-like svg,
.pmac-detail-like strong {
  color: #ef233c;
}

.pmac-detail-like.is-active {
  color: #ef233c;
}

.pmac-detail-dislike.is-active {
  color: #374151;
  font-weight: 700;
}

.pmac-detail-dislike.is-active svg {
  fill: #374151;
}

.pmac-detail-review__note {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  color: #b8860b;
  font-size: 8px;
  font-weight: 700;
}

.pmac-detail-review__note svg {
  width: 10px;
  height: 10px;
}

.pmac-detail-review__subnotes {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 3px 0 0;
  color: #6b7280;
  font-size: 8px;
}

.pmac-detail-review {
  display: grid;
  grid-template-columns: 31px minmax(0, 1fr) auto;
  gap: 7px;
  align-items: start;
  padding-top: 10px;
}

.pmac-detail-review img {
  width: 31px;
  height: 31px;
  border-radius: 50%;
  object-fit: cover;
}

.pmac-detail-review__top {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.pmac-detail-review p {
  margin: 4px 0;
  color: #374151;
  font-size: 9px;
}

.pmac-detail-review a {
  color: #0048a8;
  font-weight: 700;
}

.pmac-detail-review__like {
  align-self: end;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #111827;
}

.pmac-detail-review__like svg {
  width: 14px;
  height: 14px;
  color: #ef233c;
  fill: #ef233c;
}

.pmac-detail-sidebar {
  display: flex;
  flex-direction: column;
  gap: 7px;
  min-height: 0;
}

.pmac-detail-info {
  padding: 9px 11px;
  border: 1px solid #e5e7eb;
  border-radius: 7px;
  background: #fff;
}

.pmac-detail-info h3 {
  margin: 0 0 6px;
  font-size: 10px;
}

.pmac-detail-info div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  align-items: start;
  padding: 4px 0;
  color: #374151;
}

.pmac-detail-info span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 8px;
}

.pmac-detail-info strong {
  font-weight: 500;
  text-align: right;
  font-size: 8px;
}

.pmac-detail-info svg {
  width: 12px;
  height: 12px;
}

.pmac-detail-scores {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
}

.pmac-detail-scores div {
  min-height: 50px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding: 6px;
  border: 1px solid #e5e7eb;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 4px 11px rgba(18, 38, 63, 0.08);
}

.pmac-detail-scores svg {
  width: 13px;
  height: 13px;
  color: #087a25;
}

.pmac-detail-scores span {
  color: #111827;
  font-size: 8px;
}

.pmac-detail-scores strong {
  font-size: 13px;
  line-height: 1;
}

.pmac-detail-scores small {
  font-size: 8px;
}

.pmac-detail-map {
  height: 105px;
  position: relative;
  overflow: hidden;
  border: 1px solid #d8dee6;
  border-radius: 7px;
  background:
    linear-gradient(35deg, transparent 46%, rgba(145, 163, 180, 0.34) 47%, transparent 50%) 0 0 / 49px 49px,
    linear-gradient(145deg, transparent 46%, rgba(145, 163, 180, 0.34) 47%, transparent 50%) 0 0 / 63px 63px,
    linear-gradient(0deg, rgba(34, 197, 94, 0.12), rgba(34, 197, 94, 0.12)),
    #f0f4f1;
}

.pmac-detail-report {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 8px;
  color: #374151;
  text-decoration: underline;
}

.pmac-detail-report svg {
  width: 12px;
  height: 12px;
  color: #ff2a2a;
}

.pmac-detail-contact,
.pmac-detail-itinerary {
  min-height: 27px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border-radius: 6px;
  font-size: 9px;
  font-weight: 800;
}

.pmac-detail-contact {
  background: var(--yellow);
  color: #0a0d12;
}

.pmac-detail-itinerary {
  border: 1px solid #c5ceda;
  color: #003e78;
  background: #fff;
}

.pmac-detail-contact svg,
.pmac-detail-itinerary svg {
  width: 13px;
  height: 13px;
}

.pmac-detail-map--large {
  height: 273px;
}

.pmac-detail-itinerary--inline {
  width: fit-content;
  min-width: 168px;
  margin-top: 7px;
}

.pmac-detail-empty {
  padding: 24px 13px;
  border: 1px dashed #d7dee8;
  border-radius: 7px;
  color: #6b7280;
  text-align: center;
  font-size: 9px;
}

.pmac-avis-form {
  padding: 18px 20px;
  margin-bottom: 16px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #f9fafb;
}

.pmac-avis-form h4 {
  margin: 0 0 14px;
  color: #0a0d12;
  font-size: 16px;
}

.pmac-avis-form__ratings {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 14px;
}

.pmac-avis-form__ratings label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  color: #374151;
  font-size: 12px;
  font-weight: 600;
}

.pmac-avis-form__ratings select {
  height: 38px;
  padding: 0 10px;
  border: 1px solid #d8dee6;
  border-radius: 8px;
  background: #fff;
  color: #111827;
  font-size: 14px;
}

.pmac-avis-form textarea {
  width: 100%;
  min-height: 78px;
  padding: 12px 14px;
  border: 1px solid #d8dee6;
  border-radius: 9px;
  background: #fff;
  color: #111827;
  font-size: 14px;
  font-family: inherit;
  resize: vertical;
  box-sizing: border-box;
}

.pmac-avis-form__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 14px;
}

.pmac-avis-form__error {
  color: #dc2626;
  font-size: 12px;
}

.pmac-avis-form__footer button {
  min-height: 40px;
  padding: 0 22px;
  border: 0;
  border-radius: 8px;
  background: var(--blue, #075aa8);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}

.pmac-avis-form__footer button:disabled {
  opacity: 0.6;
  cursor: default;
}

.pmac-avis-form--guest {
  text-align: center;
}

.pmac-avis-form--guest p {
  margin: 0;
  color: #4b5563;
  font-size: 14px;
}

.pmac-avis-form--guest a {
  color: #075aa8;
  font-weight: 700;
}

.pmac-detail-author-panel {
  display: grid;
  grid-template-columns: 45px minmax(0, 1fr);
  gap: 8px;
  max-width: 476px;
  padding: 10px;
  border: 1px solid #e5e7eb;
  border-radius: 7px;
  background: #fff;
}

.pmac-detail-author-panel img {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  object-fit: cover;
}

.pmac-detail-author-panel h3 {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 0 0 4px;
  font-size: 11px;
}

.pmac-detail-role {
  display: inline-flex;
  color: #4b5563;
  font-size: 8px;
  font-weight: 600;
}

.pmac-detail-author-panel p {
  margin: 6px 0 0;
  color: #4b5563;
  font-size: 9px;
  line-height: 1.45;
}

.pmac-detail-body-open {
  overflow: hidden;
}

@media (max-width: 1100px) {
  .pmac-detail-layout {
    grid-template-columns: 1fr;
  }

  .pmac-detail-sidebar {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: start;
  }

  .pmac-detail-contact,
  .pmac-detail-itinerary,
  .pmac-detail-report {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .pmac-detail-overlay {
    align-items: stretch;
    padding: 7px;
  }

  .pmac-detail-dialog {
    width: 100%;
    height: calc(100vh - 14px);
    max-height: none;
    border-radius: 10px;
  }

  .pmac-detail-modal {
    padding: 10px 8px 13px;
  }

  .pmac-detail-modal__header {
    align-items: flex-start;
  }

  .pmac-detail-author__avatar {
    width: 29px;
    height: 29px;
  }

  .pmac-detail-author__line strong {
    font-size: 12px;
  }

  .pmac-detail-meta {
    font-size: 9px;
    flex-wrap: wrap;
  }

  .pmac-detail-actions button:not(.pmac-detail-close) {
    display: none;
  }

  .pmac-detail-gallery {
    grid-template-columns: 1fr;
  }

  .pmac-detail-gallery__main {
    height: 154px;
  }

  .pmac-detail-gallery__side {
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: none;
  }

  .pmac-detail-gallery__side img,
  .pmac-detail-more-photos {
    height: 53px;
  }

  .pmac-detail-main h2 {
    font-size: 13px;
  }

  .pmac-detail-description {
    font-size: 9px;
  }

  .pmac-detail-social {
    grid-template-columns: 1fr;
  }

  .pmac-detail-review {
    grid-template-columns: 32px 1fr;
  }

  .pmac-detail-review__like {
    grid-column: 2;
  }

  .pmac-detail-sidebar {
    display: flex;
  }

  .pmac-detail-scores {
    gap: 6px;
  }

  .pmac-detail-info div {
    grid-template-columns: 1fr;
    gap: 3px;
  }

  .pmac-detail-info strong {
    text-align: left;
  }

  .pmac-detail-hero {
    grid-template-columns: 1fr;
  }

  .pmac-detail-hero img {
    height: 133px;
  }

  .pmac-detail-map--large {
    height: 182px;
  }
}

@media (max-width: 1200px) {
  .pmac-feed-brand {
    min-width: 284px;
  }

  .pmac-feed-nav {
    gap: 18px;
  }

  .pmac-shortcuts {
    gap: 20px;
  }
}

@media (max-width: 1100px) {
  .pmac-feed-header__inner {
    gap: 10px;
  }

  .pmac-feed-brand {
    min-width: 232px;
    gap: 7px;
  }

  .pmac-feed-brand__mark {
    width: 52px;
    height: 45px;
    margin-left: -7px;
  }

  .pmac-feed-brand__name {
    font-size: 27px;
  }

  .pmac-feed-brand__divider {
    height: 28px;
  }

  .pmac-feed-brand__tag,
  .pmac-feed-brand__tag strong {
    font-size: 8px;
  }

  body.pmac-feed-page .pmac-feed-nav a {
    font-size: 12px;
  }

  .pmac-feed-nav {
    gap: 12px;
  }

  .pmac-feed-actions {
    gap: 6px;
  }

  .pmac-publish-btn {
    height: 34px;
    padding: 0 9px;
    font-size: 12px;
  }

  .pmac-auth-btn {
    height: 34px;
    padding: 0 10px;
    font-size: 12px;
  }

  .pmac-icon-btn {
    width: 34px;
    height: 34px;
  }

  .pmac-avatar-link {
    width: 34px;
    height: 34px;
  }

  .pmac-feed-tabs__left,
  .pmac-feed-tabs__right {
    gap: 13px;
  }

  .pmac-feed-tab {
    gap: 5px;
    font-size: 11.8px;
  }

  .pmac-toolbar-btn {
    gap: 6px;
    padding: 0 10px;
    font-size: 11.8px;
  }
}

@media (max-width: 820px) {
  .publications-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pmac-feed-tabs {
    height: auto;
    align-items: flex-start;
    flex-direction: column;
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .pmac-feed-tabs__left {
    width: 100%;
    gap: 20px;
    overflow-x: auto;
    padding-bottom: 2px;
  }

  .pmac-feed-tab {
    height: 42px;
  }

  .pmac-feed-tab.is-active::after {
    bottom: -12px;
  }
}

@media (max-width: 760px) {
  .pmac-feed-header,
  .pmac-feed-header__inner,
  .pmac-hero-feed,
  .pmac-feed-main,
  .publications-grid,
  .publication-card {
    max-width: 100vw;
  }

  .pmac-feed-header__inner {
    min-height: 60px;
    gap: 10px;
    padding-left: 10px;
    padding-right: 10px;
  }

  .pmac-feed-brand {
    min-width: 0;
    flex: 1 1 auto;
    overflow: hidden;
  }

  .pmac-mobile-toggle {
    display: block;
    order: 3;
  }

  .pmac-feed-nav {
    position: absolute;
    left: 0;
    right: 0;
    top: 60px;
    display: none;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    padding: 12px 18px;
    background: var(--navy);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
  }

  .pmac-feed-nav.is-open {
    display: flex;
  }

  .pmac-feed-nav a {
    width: 100%;
    padding: 12px 0;
  }

  .pmac-feed-actions {
    margin-left: auto;
    min-width: 0;
    flex: 0 1 auto;
    gap: 6px;
  }

  .pmac-shortcuts {
    justify-content: flex-start;
    overflow-x: auto;
    max-width: calc(100vw - 28px);
    gap: 14px;
    padding: 0 2px 8px;
    margin: 0 auto;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
  }

  .pmac-shortcuts::-webkit-scrollbar {
    display: none;
  }

  body.pmac-feed-page .pmac-shortcut {
    width: 64px;
    min-width: 64px;
    font-size: 10px;
  }

  .pmac-shortcut__icon {
    width: 48px;
    height: 48px;
  }

  .pmac-shortcut__icon svg,
  .pmac-shortcut__icon i {
    width: 24px;
    height: 24px;
    font-size: 22px;
  }
}

@media (max-width: 720px) {
  .pmac-feed-brand {
    min-width: 218px;
  }

  .pmac-feed-brand__mark {
    width: 52px;
    height: 45px;
  }

  .pmac-feed-brand__name {
    font-size: 27px;
  }

  .pmac-feed-brand__divider {
    height: 28px;
  }

  .pmac-feed-brand__tag {
    font-size: 8.6px;
  }

  .pmac-feed-brand__tag strong {
    font-size: 8.8px;
  }

  .pmac-publish-btn span,
  .pmac-icon-btn {
    display: none;
  }

  .pmac-publish-btn {
    width: 38px;
    padding: 0;
  }

  .pmac-auth-btn {
    padding: 0 9px;
  }

  .pmac-auth-btn svg {
    display: none;
  }

  .pmac-hero-feed {
    min-height: 380px;
  }

  .pmac-hero-feed__content {
    padding-top: 58px;
  }

  .pmac-hero-feed h1 {
    font-size: 28px;
  }

  .pmac-search-pill {
    height: 50px;
    width: min(100%, calc(100vw - 28px));
    gap: 8px;
    padding-left: 14px;
  }

  .pmac-search-pill input {
    font-size: 12px;
  }

  .pmac-search-location {
    width: 24px;
    min-width: 24px;
  }

  .pmac-search-btn {
    width: 40px;
    height: 40px;
  }

  .pmac-feed-tabs__right {
    width: 100%;
    justify-content: space-between;
  }

  .pmac-toolbar-btn {
    flex: 1;
  }

  .pmac-categories-modal__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px 12px;
  }

  .pmac-categories-swal-popup {
    padding: 18px 10px !important;
  }
}

@media (max-width: 520px) {
  .pmac-feed-brand__divider,
  .pmac-feed-brand__tag {
    display: none;
  }

  .pmac-feed-brand {
    flex: 0 1 auto;
    max-width: 108px;
  }

  .pmac-feed-brand__mark {
    width: 44px;
    height: 40px;
    margin-left: -6px;
  }

  .pmac-feed-brand__name {
    font-size: 23px;
  }

  .pmac-mobile-toggle {
    width: 34px;
    height: 34px;
    padding: 6px;
  }

  .pmac-auth-btn {
    height: 32px;
    padding: 0 7px;
    font-size: 10.5px;
  }
}

@media (max-width: 390px) {
  .pmac-feed-header__inner {
    gap: 6px;
    padding-left: 8px;
    padding-right: 8px;
  }

  .pmac-feed-brand {
    max-width: 92px;
  }

  .pmac-feed-brand__mark {
    width: 38px;
    height: 36px;
  }

  .pmac-feed-brand__name {
    font-size: 20px;
  }

  .pmac-auth-btn {
    height: 30px;
    padding: 0 6px;
    font-size: 10px;
  }

  .pmac-hero-feed h1 {
    font-size: 24px;
  }
}

@media (max-width: 640px) {
  .publications-grid {
    grid-template-columns: 1fr;
  }

  .pmac-feed-main {
    padding-left: 12px;
    padding-right: 12px;
  }

  .pmac-feed-tabs {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-left: 12px;
    padding-right: 12px;
    overflow: hidden;
  }

  .pmac-feed-tabs__left,
  .pmac-feed-tabs__right {
    max-width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .pmac-feed-tabs__left::-webkit-scrollbar,
  .pmac-feed-tabs__right::-webkit-scrollbar {
    display: none;
  }

  .pmac-category-choice {
    width: 92px;
    min-height: 84px;
  }
}

/* ------------------------------------------------------------------
   Page Decouvrir
   ------------------------------------------------------------------ */
body.pmac-discover-page {
  background: #f7fafd;
}

.pmac-discover-page .pmac-feed-shell {
  background: #f7fafd;
}

.pmac-discover-hero {
  position: relative;
  min-height: 350px;
  display: flex;
  align-items: stretch;
  background:
    linear-gradient(90deg, rgba(2, 18, 37, 0.98) 0%, rgba(2, 18, 37, 0.78) 41%, rgba(2, 18, 37, 0.28) 74%, rgba(2, 18, 37, 0.52) 100%),
    url("../../images/pmac-feed/card-heritage.jpg") center 42% / cover no-repeat;
  color: var(--white);
  overflow: hidden;
}

.pmac-discover-hero__inner {
  width: min(100%, 1280px);
  margin: 0 auto;
  padding: 58px 24px 26px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 20px;
}

.pmac-discover-hero__copy {
  max-width: 560px;
}

.pmac-discover-hero h1 {
  margin: 0 0 8px;
  color: var(--white);
  font-size: 35px;
  line-height: 1.08;
  font-weight: 800;
  letter-spacing: 0;
}

.pmac-discover-hero p {
  max-width: 520px;
  margin: 0 0 16px;
  color: rgba(255, 255, 255, 0.94);
  font-size: 16px;
  line-height: 1.45;
  font-weight: 500;
}

.pmac-discover-week {
  height: 45px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0 18px;
  border-radius: 999px;
  background: var(--white);
  color: #0d2442;
  font-size: 13px;
  font-weight: 700;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.16);
}

.pmac-discover-search {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(280px, 1fr) 106px 142px 142px 54px;
  align-items: center;
  gap: 16px;
}

.pmac-discover-search__field {
  min-width: 0;
  height: 56px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 11px 0 18px;
  border-radius: 999px;
  background: var(--white);
  color: #10223c;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
}

.pmac-discover-search__field input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  color: #15243b;
  font-size: 13px;
  background: transparent;
}

.pmac-discover-search__field span {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-left: 1px solid #dce3ec;
  color: #0b2747;
}

.pmac-discover-search select,
.pmac-discover-search button {
  height: 56px;
  border: 0;
  border-radius: 18px;
  background: var(--white);
  color: #0e213d;
  font-size: 13px;
  font-weight: 700;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.15);
}

.pmac-discover-search select {
  min-width: 0;
  padding: 0 15px;
  outline: 0;
}

.pmac-discover-search button {
  width: 54px;
  display: grid;
  place-items: center;
  background: #08274d;
  color: var(--white);
  cursor: pointer;
}

.pmac-discover-shortcuts {
  justify-content: flex-start;
  margin-top: 2px;
}

.pmac-discover-main {
  width: min(100%, 1280px);
  margin: 0 auto;
  padding: 0 24px 34px;
}

.pmac-certified-strip {
  min-height: 84px;
  display: flex;
  align-items: center;
  gap: 18px;
  margin: -1px 0 28px;
  padding: 18px 22px;
  border: 1px solid #e3e9f0;
  border-radius: 13px;
  background: var(--white);
  box-shadow: 0 12px 30px rgba(13, 37, 68, 0.08);
}

.pmac-certified-strip > span {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #0b72dc;
  color: var(--white);
  font-size: 24px;
}

.pmac-certified-strip h2 {
  margin: 0 0 3px;
  color: #10223c;
  font-size: 20px;
  line-height: 1.1;
  font-weight: 800;
}

.pmac-certified-strip p {
  margin: 0;
  color: #5d6879;
  font-size: 13px;
  font-weight: 500;
}

.pmac-discover-top {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(280px, 0.94fr);
  gap: 20px;
  align-items: start;
}

.pmac-discover-feature,
.pmac-discover-side-card,
.pmac-discover-profile,
.pmac-discover-list-row {
  background: var(--white);
  border: 1px solid #e2e7ee;
  box-shadow: 0 8px 24px rgba(13, 37, 68, 0.07);
}

.pmac-discover-feature {
  overflow: hidden;
  border-radius: 13px;
}

.pmac-discover-feature__image {
  position: relative;
  min-height: 408px;
  overflow: hidden;
  background: #e8edf4;
}

.pmac-discover-feature__image img {
  width: 100%;
  height: 100%;
  min-height: 408px;
  display: block;
  object-fit: cover;
}

.pmac-discover-feature__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.05) 25%, rgba(0, 0, 0, 0.86) 100%);
}

.pmac-discover-feature__content {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 22px;
  z-index: 2;
  color: var(--white);
}

.pmac-discover-feature__content h2 {
  max-width: 720px;
  margin: 0 0 5px;
  color: var(--white);
  font-size: 33px;
  line-height: 1.08;
  font-weight: 800;
  letter-spacing: 0;
}

.pmac-discover-location {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0 0 9px;
  color: rgba(255, 255, 255, 0.92);
  font-size: 14px;
  font-weight: 700;
}

.pmac-discover-feature__content > p:not(.pmac-discover-location) {
  max-width: 760px;
  margin: 0 0 13px;
  color: rgba(255, 255, 255, 0.94);
  font-size: 14px;
  line-height: 1.45;
  font-weight: 500;
}

.pmac-discover-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.pmac-discover-pills span {
  height: 30px;
  display: inline-flex;
  align-items: center;
  padding: 0 11px;
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.18);
  color: var(--white);
  font-size: 12px;
  font-weight: 700;
  backdrop-filter: blur(6px);
}

.pmac-discover-feature__rating {
  position: absolute;
  right: 0;
  bottom: 48px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--white);
  font-size: 13px;
  font-weight: 800;
}

.pmac-discover-feature__rating i,
.pmac-discover-side-card__meta > span i,
.pmac-discover-list-row__rating i {
  color: #0c2442;
}

.pmac-discover-feature__footer {
  min-height: 86px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
}

.pmac-discover-author {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

.pmac-discover-author img {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  object-fit: cover;
  flex: 0 0 auto;
}

.pmac-discover-author strong {
  display: block;
  color: #14243d;
  font-size: 13px;
  line-height: 1.15;
  font-weight: 800;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pmac-discover-author span {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 3px;
  color: #0b72dc;
  font-size: 11px;
  font-weight: 700;
}

.pmac-discover-feature__actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.pmac-discover-primary,
.pmac-discover-bookmark {
  height: 49px;
  border-radius: 8px;
  border: 0;
  font-weight: 800;
  cursor: pointer;
}

.pmac-discover-primary {
  padding: 0 25px;
  background: var(--yellow);
  color: #071b32;
}

.pmac-discover-bookmark {
  width: 49px;
  display: grid;
  place-items: center;
  background: var(--white);
  color: #0b2442;
  border: 1px solid #d6dee8;
}

.pmac-discover-aside {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.pmac-discover-aside h2 {
  margin: 0;
  color: #10223c;
  font-size: 22px;
  line-height: 1.1;
  font-weight: 800;
}

.pmac-discover-side-card {
  overflow: hidden;
  border-radius: 12px;
}

.pmac-discover-side-card > button,
.pmac-discover-list-row__image,
.pmac-discover-side-card__body button {
  border: 0;
  padding: 0;
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.pmac-discover-side-card > button {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 8;
  display: block;
  overflow: hidden;
}

.pmac-discover-side-card img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.pmac-discover-side-card__body {
  padding: 11px 13px 12px;
}

.pmac-discover-side-card h3 {
  margin: 0 0 5px;
  color: #14243d;
  font-size: 15px;
  line-height: 1.22;
  font-weight: 800;
}

.pmac-discover-side-card p {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0 0 8px;
  color: #606a78;
  font-size: 12px;
  font-weight: 600;
}

.pmac-discover-side-card__meta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: end;
  gap: 10px;
}

.pmac-discover-side-card__meta .pmac-discover-author img {
  width: 28px;
  height: 28px;
}

.pmac-discover-side-card__meta .pmac-discover-author strong {
  display: none;
}

.pmac-discover-side-card__meta .pmac-discover-author span {
  font-size: 10px;
}

.pmac-discover-side-card__meta > span {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #0f2037;
  font-size: 12px;
  font-weight: 800;
}

.pmac-discover-side-card__meta > button {
  color: #0d2542;
}

.pmac-discover-section {
  margin-top: 32px;
}

.pmac-discover-section__heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

.pmac-discover-section__heading--center {
  justify-content: center;
  text-align: center;
}

.pmac-discover-section__heading h2 {
  margin: 0 0 3px;
  color: #10223c;
  font-size: 23px;
  line-height: 1.15;
  font-weight: 800;
}

.pmac-discover-section__heading p {
  margin: 0;
  color: #647084;
  font-size: 13px;
  font-weight: 500;
}

.pmac-discover-section__heading a,
.pmac-discover-more {
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 18px;
  border: 1px solid #b9c9dc;
  border-radius: 8px;
  color: #0b315d;
  background: var(--white);
  font-size: 13px;
  font-weight: 800;
}

.pmac-discover-card-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pmac-discover-contributors {
  width: calc(100% + 48px);
  margin: 34px -24px 0;
  padding: 22px 24px 24px;
  background: linear-gradient(180deg, #eaf5ff 0%, #f3f9ff 100%);
}

.pmac-discover-profiles {
  width: min(100%, 1280px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.pmac-discover-profile {
  min-width: 0;
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 14px;
  border-radius: 10px;
}

.pmac-discover-profile > img {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  object-fit: cover;
}

.pmac-discover-profile h3 {
  display: flex;
  align-items: center;
  gap: 5px;
  margin: 0 0 3px;
  color: #132642;
  font-size: 13px;
  font-weight: 800;
}

.pmac-discover-profile h3 i,
.pmac-discover-profile span i,
.pmac-discover-author span i {
  color: #0b72dc;
}

.pmac-discover-profile span,
.pmac-discover-profile p {
  display: flex;
  align-items: center;
  gap: 5px;
  margin: 2px 0;
  color: #0b72dc;
  font-size: 10.5px;
  line-height: 1.2;
  font-weight: 700;
}

.pmac-discover-profile p {
  color: #5d6879;
  font-weight: 600;
}

.pmac-discover-profile a {
  grid-column: 1 / -1;
  height: 31px;
  display: grid;
  place-items: center;
  border: 1px solid #9fb2cb;
  border-radius: 5px;
  color: #0c315d;
  font-size: 12px;
  font-weight: 800;
}

.pmac-discover-week-list {
  margin-top: 28px;
}

.pmac-discover-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.pmac-discover-list-row {
  min-width: 0;
  display: grid;
  grid-template-columns: 58px 144px minmax(0, 1fr) minmax(170px, 0.7fr) 92px 144px;
  align-items: center;
  gap: 14px;
  padding: 9px 12px;
  border-radius: 11px;
}

.pmac-discover-list-row__date {
  width: 50px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: #07366d;
  color: var(--white);
  text-align: center;
}

.pmac-discover-list-row__date span {
  display: block;
  font-size: 11px;
  line-height: 1;
  font-weight: 700;
}

.pmac-discover-list-row__date strong {
  display: block;
  font-size: 22px;
  line-height: 1;
  font-weight: 800;
}

.pmac-discover-list-row__image {
  width: 144px;
  height: 70px;
  display: block;
  overflow: hidden;
  border-radius: 6px;
}

.pmac-discover-list-row__image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.pmac-discover-list-row__main {
  min-width: 0;
}

.pmac-discover-inline-badge {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  height: 20px;
  margin-bottom: 5px;
  padding: 0 7px;
  border-radius: 4px;
  background: var(--badge-bg, #e9f2ff);
  color: var(--badge-fg, #0f315d);
  font-size: 9.5px;
  font-weight: 800;
}

.pmac-discover-list-row__main button {
  display: block;
  width: 100%;
  border: 0;
  padding: 0;
  background: transparent;
  color: #132642;
  font: inherit;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 800;
  text-align: left;
  cursor: pointer;
}

.pmac-discover-list-row__main p {
  display: flex;
  align-items: center;
  gap: 5px;
  margin: 5px 0 0;
  color: #647084;
  font-size: 11px;
  font-weight: 600;
}

.pmac-discover-list-row .pmac-discover-author img {
  width: 34px;
  height: 34px;
}

.pmac-discover-list-row .pmac-discover-author strong {
  font-size: 11.5px;
}

.pmac-discover-list-row .pmac-discover-author span {
  font-size: 9.5px;
}

.pmac-discover-list-row__rating {
  display: flex;
  align-items: center;
  gap: 5px;
  color: #132642;
  font-size: 12px;
  font-weight: 800;
}

.pmac-discover-list-row__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}

.pmac-discover-list-row__actions .interaction {
  color: #536176;
}

.pmac-discover-more {
  width: max-content;
  margin: 20px auto 0;
}

@media (max-width: 1100px) {
  .pmac-discover-search {
    grid-template-columns: minmax(260px, 1fr) repeat(3, minmax(110px, 0.34fr)) 54px;
    gap: 10px;
  }

  .pmac-discover-top {
    grid-template-columns: 1fr;
  }

  .pmac-discover-aside {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pmac-discover-aside h2 {
    grid-column: 1 / -1;
  }

  .pmac-discover-list-row {
    grid-template-columns: 54px 116px minmax(0, 1fr) 132px;
  }

  .pmac-discover-list-row__rating,
  .pmac-discover-list-row__actions {
    display: none;
  }
}

@media (max-width: 820px) {
  body.pmac-feed-page .pmac-feed-nav a.is-active::after {
    bottom: 5px;
    right: auto;
    width: 82px;
  }

  .pmac-discover-hero__inner {
    padding: 42px 16px 22px;
  }

  .pmac-discover-search {
    grid-template-columns: 1fr;
  }

  .pmac-discover-search__field,
  .pmac-discover-search select,
  .pmac-discover-search button {
    width: 100%;
    height: 50px;
  }

  .pmac-discover-main {
    padding-left: 14px;
    padding-right: 14px;
  }

  .pmac-discover-card-grid,
  .pmac-discover-profiles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pmac-discover-contributors {
    width: calc(100% + 28px);
    margin-left: -14px;
    margin-right: -14px;
    padding-left: 14px;
    padding-right: 14px;
  }

  .pmac-discover-list-row {
    grid-template-columns: 50px 96px minmax(0, 1fr);
  }

  .pmac-discover-list-row .pmac-discover-author {
    display: none;
  }
}

@media (max-width: 640px) {
  .pmac-discover-hero {
    min-height: auto;
  }

  .pmac-discover-hero h1 {
    font-size: 28px;
  }

  .pmac-discover-hero p {
    font-size: 13px;
  }

  .pmac-certified-strip {
    align-items: flex-start;
    margin-bottom: 20px;
  }

  .pmac-discover-feature__image,
  .pmac-discover-feature__image img {
    min-height: 330px;
  }

  .pmac-discover-feature__content {
    left: 16px;
    right: 16px;
    bottom: 16px;
  }

  .pmac-discover-feature__content h2 {
    font-size: 24px;
  }

  .pmac-discover-feature__rating {
    position: static;
    margin-top: 10px;
  }

  .pmac-discover-feature__footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .pmac-discover-feature__actions,
  .pmac-discover-primary {
    width: 100%;
  }

  .pmac-discover-aside,
  .pmac-discover-card-grid,
  .pmac-discover-profiles {
    grid-template-columns: 1fr;
  }

  .pmac-discover-section__heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .pmac-discover-list-row {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 10px;
  }

  .pmac-discover-list-row__image {
    display: none;
  }
}

/* ------------------------------------------------------------------
   Page abonnement Contributeur certifie
   ------------------------------------------------------------------ */
.pmac-subscription-page,
.pmac-subscription-page .pmac-feed-shell {
  background: #ffffff;
}

.pmac-sub-hero {
  min-height: 350px;
  display: flex;
  align-items: stretch;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(2, 18, 37, 0.98) 0%, rgba(2, 18, 37, 0.84) 45%, rgba(2, 18, 37, 0.38) 78%, rgba(2, 18, 37, 0.7) 100%),
    url("../../images/pmac-feed/card-heritage.jpg") center 44% / cover no-repeat;
}

.pmac-sub-hero__inner {
  width: min(100%, 1280px);
  margin: 0 auto;
  padding: 58px 24px 38px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  align-items: center;
  gap: 48px;
}

.pmac-sub-hero__copy h1 {
  margin: 0 0 16px;
  color: var(--white);
  font-size: 43px;
  line-height: 1.08;
  font-weight: 800;
  letter-spacing: 0;
}

.pmac-sub-hero__copy p {
  max-width: 610px;
  margin: 0;
  color: rgba(255, 255, 255, 0.94);
  font-size: 19px;
  line-height: 1.45;
  font-weight: 500;
}

.pmac-sub-hero__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 34px;
  margin-top: 36px;
}

.pmac-sub-hero__badges span {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #ffffff;
  font-size: 15px;
  font-weight: 600;
}

.pmac-sub-hero__badges i {
  color: #0b72dc;
  font-size: 25px;
}

.pmac-sub-hero__shield {
  width: 220px;
  height: 220px;
  justify-self: center;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--blue);
  box-shadow: 0 24px 58px rgba(7, 90, 168, 0.45);
}

.pmac-sub-hero__shield i {
  color: #ffffff;
  font-size: 92px;
}

.pmac-sub-main {
  width: min(100%, 1280px);
  margin: 0 auto;
  padding: 30px 24px 26px;
}

.pmac-sub-section {
  margin-top: 0;
}

.pmac-sub-section + .pmac-sub-section,
.pmac-sub-steps-section {
  margin-top: 36px;
}

.pmac-sub-title {
  margin: 0 0 24px;
  color: #091936;
  font-size: 34px;
  line-height: 1.15;
  font-weight: 800;
  text-align: center;
  letter-spacing: 0;
}

.pmac-sub-plans {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

.pmac-sub-plan {
  position: relative;
  min-width: 0;
  min-height: 620px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  padding: 34px 20px 28px;
  border: 1px solid #dce4ef;
  border-radius: 13px;
  background: #ffffff;
  box-shadow: 0 16px 36px rgba(10, 31, 61, 0.08);
}

.pmac-sub-plan.is-featured {
  border: 3px solid #061b42;
  box-shadow: 0 18px 42px rgba(4, 22, 56, 0.16);
}

.pmac-sub-plan__ribbon {
  position: absolute;
  top: -29px;
  left: 50%;
  transform: translateX(-50%);
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  padding: 0 22px;
  border-radius: 8px;
  background: var(--yellow);
  color: #041931;
  font-size: 15px;
  font-weight: 800;
  box-shadow: 0 8px 18px rgba(255, 176, 0, 0.28);
}

.pmac-sub-plan h3 {
  margin: 0 0 20px;
  color: #0d1d3c;
  font-size: 21px;
  line-height: 1.1;
  font-weight: 800;
  text-align: center;
}

.pmac-sub-plan__price {
  min-height: 74px;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  gap: 6px;
  color: #0758c8;
  text-align: center;
}

.pmac-sub-plan__price strong {
  font-size: 43px;
  line-height: 0.95;
  font-weight: 800;
  letter-spacing: 0;
}

.pmac-sub-plan__price span,
.pmac-sub-plan__price em {
  color: #0649a8;
  font-style: normal;
  font-size: 20px;
  font-weight: 800;
}

.pmac-sub-plan__price em {
  width: 100%;
  color: #0b1b37;
  font-size: 16px;
  font-weight: 600;
}

.pmac-sub-plan__summary {
  min-height: 78px;
  display: grid;
  place-items: center;
  margin: 12px 0 10px;
  padding: 12px 10px;
  border: 1px solid #d7e5f5;
  border-radius: 8px;
  background: #f0f7ff;
  text-align: center;
}

.pmac-sub-plan__summary strong {
  display: block;
  color: #0b1b37;
  font-size: 22px;
  line-height: 1;
  font-weight: 800;
}

.pmac-sub-plan__summary span {
  display: block;
  margin-top: 5px;
  color: #0b1b37;
  font-size: 15px;
  line-height: 1.1;
  font-weight: 600;
}

.pmac-sub-plan__saving {
  align-self: center;
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  border-radius: 5px;
  background: #0a65d9;
  color: #ffffff;
  font-size: 12px;
  font-weight: 800;
}

.pmac-sub-plan__duration {
  min-height: 128px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #3e4a5e;
  font-size: 14px;
  font-weight: 600;
}

.pmac-sub-plan ul {
  display: grid;
  gap: 15px;
  margin: 26px 0 28px;
  padding: 24px 0 0;
  border-top: 1px solid #dfe5ee;
  list-style: none;
}

.pmac-sub-plan li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #253149;
  font-size: 13px;
  line-height: 1.25;
  font-weight: 500;
}

.pmac-sub-plan li i {
  width: 17px;
  height: 17px;
  min-width: 17px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #0a65d9;
  font-size: 13px;
}

.pmac-sub-plan__button {
  height: 53px;
  display: grid;
  place-items: center;
  margin-top: auto;
  border: 2px solid #08285d;
  border-radius: 8px;
  color: #08285d;
  background: #ffffff;
  font-size: 15px;
  font-weight: 800;
}

.pmac-sub-plan.is-featured .pmac-sub-plan__button {
  border-color: var(--yellow);
  background: var(--yellow);
  color: #061b30;
}

.pmac-sub-benefits {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 28px;
}

.pmac-sub-benefits article {
  min-width: 0;
  text-align: center;
}

.pmac-sub-benefits article > span {
  width: 88px;
  height: 88px;
  display: grid;
  place-items: center;
  margin: 0 auto 16px;
  border-radius: 50%;
  background: #f1f7ff;
  border: 1px solid #dfeaf8;
  color: #0758c8;
  font-size: 42px;
}

.pmac-sub-benefits h3 {
  min-height: 45px;
  margin: 0 0 8px;
  color: #10203d;
  font-size: 17px;
  line-height: 1.15;
  font-weight: 800;
}

.pmac-sub-benefits p {
  margin: 0;
  color: #4d5b73;
  font-size: 12px;
  line-height: 1.55;
  font-weight: 500;
}

.pmac-sub-reassurance {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 34px;
  border: 1px solid #d9e2ee;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 12px 32px rgba(10, 31, 61, 0.06);
}

.pmac-sub-reassurance article {
  min-width: 0;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 14px;
  padding: 28px 25px;
  border-right: 1px solid #d9e2ee;
}

.pmac-sub-reassurance article:last-child {
  border-right: 0;
}

.pmac-sub-reassurance article > i {
  color: #0758c8;
  font-size: 38px;
}

.pmac-sub-reassurance h3 {
  margin: 0 0 7px;
  color: #0f2143;
  font-size: 15px;
  line-height: 1.2;
  font-weight: 800;
}

.pmac-sub-reassurance p {
  margin: 0;
  color: #4d5b73;
  font-size: 12px;
  line-height: 1.55;
  font-weight: 500;
}

.pmac-sub-steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 78px;
  width: min(100%, 880px);
  margin: 0 auto;
}

.pmac-sub-steps::before {
  content: "";
  position: absolute;
  left: 24%;
  right: 24%;
  top: 81px;
  border-top: 2px dashed #b7c6dd;
}

.pmac-sub-steps article {
  position: relative;
  z-index: 1;
  text-align: center;
}

.pmac-sub-step__number {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  margin: 0 auto 14px;
  border-radius: 50%;
  background: #0a65d9;
  color: #ffffff;
  font-size: 16px;
  font-weight: 800;
}

.pmac-sub-step__icon {
  width: 78px;
  height: 78px;
  display: grid;
  place-items: center;
  margin: 0 auto 18px;
  border: 1px solid #dfe8f4;
  border-radius: 11px;
  background: #f4f8fd;
  color: #08285d;
  font-size: 42px;
}

.pmac-sub-steps h3 {
  min-height: 40px;
  margin: 0 0 10px;
  color: #0f2143;
  font-size: 15px;
  line-height: 1.2;
  font-weight: 800;
}

.pmac-sub-steps p {
  margin: 0;
  color: #4d5b73;
  font-size: 12px;
  line-height: 1.55;
  font-weight: 500;
}

.pmac-sub-info {
  width: min(100%, 720px);
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin: 42px auto 0;
  padding: 14px 22px;
  border: 1px solid #bed2eb;
  border-radius: 9px;
  background: #eef7ff;
  color: #315b91;
}

.pmac-sub-info i {
  width: 44px;
  height: 44px;
  min-width: 44px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #0a65d9;
  color: #ffffff;
  font-size: 22px;
}

.pmac-sub-info p {
  margin: 0;
  font-size: 14px;
  line-height: 1.45;
  font-weight: 600;
}

.pmac-sub-faq {
  margin-bottom: 24px;
}

.pmac-sub-faq h2 {
  margin: 0 0 16px;
  color: #0f2143;
  font-size: 25px;
  line-height: 1.15;
  font-weight: 800;
}

.pmac-sub-faq__list {
  display: grid;
  gap: 5px;
}

.pmac-sub-faq details {
  border: 1px solid #dfe5ee;
  border-radius: 9px;
  background: #ffffff;
  overflow: hidden;
}

.pmac-sub-faq summary {
  min-height: 47px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 18px;
  color: #0f2143;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}

.pmac-sub-faq summary::-webkit-details-marker {
  display: none;
}

.pmac-sub-faq details[open] summary i {
  transform: rotate(180deg);
}

.pmac-sub-faq details p {
  margin: 0;
  padding: 0 18px 17px;
  color: #4d5b73;
  font-size: 13px;
  line-height: 1.55;
}

.pmac-site-footer {
  background:
    radial-gradient(circle at 18% 0%, rgba(9, 82, 154, 0.32), transparent 34%),
    linear-gradient(180deg, #031a34 0%, #021326 100%);
  color: #ffffff;
}

.pmac-site-footer__inner {
  width: min(100%, 1280px);
  margin: 0 auto;
  padding: 34px 24px 31px;
  display: grid;
  grid-template-columns: minmax(220px, 1.4fr) 0.7fr 0.78fr 0.86fr minmax(230px, 1.08fr);
  gap: 44px;
}

.pmac-site-footer__logo {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #ffffff;
}

.pmac-site-footer__logo img {
  width: 58px;
  height: 48px;
  object-fit: contain;
}

.pmac-site-footer__logo-main {
  color: #ffffff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 32px;
  line-height: 1;
}

.pmac-site-footer__divider {
  width: 1px;
  height: 31px;
  background: rgba(255, 255, 255, 0.48);
}

.pmac-site-footer__tag {
  display: grid;
  gap: 1px;
  color: #ffffff;
  font-size: 8px;
  line-height: 1.1;
  font-weight: 800;
}

.pmac-site-footer__tag strong {
  color: var(--yellow);
  font-size: 8.4px;
}

.pmac-site-footer__brand p,
.pmac-site-footer__newsletter p {
  margin: 18px 0 0;
  color: rgba(255, 255, 255, 0.76);
  font-size: 13px;
  line-height: 1.65;
  font-weight: 500;
}

.pmac-site-footer__socials {
  display: flex;
  gap: 10px;
  margin-top: 22px;
}

.pmac-site-footer__socials a {
  width: 31px;
  height: 31px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: 50%;
  color: #ffffff;
}

.pmac-site-footer h2 {
  margin: 0 0 18px;
  color: #ffffff;
  font-size: 15px;
  line-height: 1.1;
  font-weight: 800;
}

.pmac-site-footer__links {
  display: flex;
  flex-direction: column;
  gap: 11px;
}

.pmac-site-footer__links a {
  color: rgba(255, 255, 255, 0.74);
  font-size: 13px;
  line-height: 1.1;
  font-weight: 500;
}

.pmac-site-footer__links a:hover,
.pmac-site-footer__socials a:hover {
  color: var(--yellow);
}

.pmac-site-footer__links a.is-active {
  color: var(--yellow);
  font-weight: 800;
}

.pmac-site-footer__newsletter {
  padding-left: 24px;
  border-left: 1px solid rgba(255, 255, 255, 0.2);
}

.pmac-site-footer__newsletter form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 108px;
  margin-top: 18px;
  overflow: hidden;
  border-radius: 7px;
}

.pmac-site-footer__newsletter input,
.pmac-site-footer__newsletter button {
  height: 45px;
  border: 0;
  font: inherit;
}

.pmac-site-footer__newsletter input {
  min-width: 0;
  padding: 0 14px;
  color: #0d1d3c;
  font-size: 12px;
  outline: 0;
}

.pmac-site-footer__newsletter button {
  background: var(--yellow);
  color: #061b30;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.pmac-site-footer__bottom {
  min-height: 54px;
  display: grid;
  place-items: center;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  color: rgba(255, 255, 255, 0.72);
  font-size: 13px;
}

@media (max-width: 1100px) {
  .pmac-sub-hero__inner {
    grid-template-columns: minmax(0, 1fr) 260px;
  }

  .pmac-sub-hero__shield {
    width: 190px;
    height: 190px;
  }

  .pmac-sub-hero__shield i {
    font-size: 80px;
  }

  .pmac-sub-plans {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pmac-sub-benefits {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .pmac-sub-reassurance,
  .pmac-site-footer__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pmac-sub-reassurance article:nth-child(2) {
    border-right: 0;
  }

  .pmac-sub-reassurance article:nth-child(1),
  .pmac-sub-reassurance article:nth-child(2) {
    border-bottom: 1px solid #d9e2ee;
  }

  .pmac-site-footer__newsletter {
    grid-column: 1 / -1;
    padding-left: 0;
    border-left: 0;
  }
}

@media (max-width: 760px) {
  .pmac-sub-hero__inner {
    grid-template-columns: 1fr;
    gap: 26px;
    padding: 44px 16px 32px;
  }

  .pmac-sub-hero__copy h1 {
    font-size: 32px;
  }

  .pmac-sub-hero__copy p {
    font-size: 15px;
  }

  .pmac-sub-hero__badges {
    gap: 16px;
  }

  .pmac-sub-hero__badges span {
    font-size: 12px;
  }

  .pmac-sub-hero__shield {
    width: 150px;
    height: 150px;
  }

  .pmac-sub-hero__shield i {
    font-size: 72px;
  }

  .pmac-sub-main {
    padding-left: 14px;
    padding-right: 14px;
  }

  .pmac-sub-title {
    font-size: 26px;
  }

  .pmac-sub-plans,
  .pmac-sub-benefits,
  .pmac-sub-reassurance,
  .pmac-sub-steps,
  .pmac-site-footer__inner {
    grid-template-columns: 1fr;
  }

  .pmac-sub-plan {
    min-height: auto;
  }

  .pmac-sub-benefits h3 {
    min-height: 0;
  }

  .pmac-sub-reassurance article,
  .pmac-sub-reassurance article:nth-child(2) {
    border-right: 0;
    border-bottom: 1px solid #d9e2ee;
  }

  .pmac-sub-reassurance article:last-child {
    border-bottom: 0;
  }

  .pmac-sub-steps {
    gap: 30px;
  }

  .pmac-sub-steps::before {
    display: none;
  }

  .pmac-sub-info {
    align-items: flex-start;
  }

  .pmac-site-footer__inner {
    gap: 26px;
  }

  .pmac-site-footer__newsletter form {
    grid-template-columns: 1fr;
  }
}

/* Detail modal - final mockup layer */
.pmac-detail-overlay .pmac-detail-dialog {
  width: min(854px, calc(100vw - 34px));
  height: min(630px, calc(100vh - 31px));
  max-height: calc(100vh - 31px);
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 17px 56px rgba(6, 18, 34, 0.28);
}

.pmac-detail-modal--mockup {
  height: 100%;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  padding: 17px 20px 18px;
  background: #fff;
}

.pmac-detail-modal--mockup .pmac-detail-tabs--mockup {
  height: 45px;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 8px;
  padding: 0 21px;
  margin-bottom: 17px;
  overflow: hidden;
  border: 1px solid #dbe3ee;
  border-radius: 10px;
  background: #fff;
}

.pmac-detail-modal--mockup .pmac-detail-tabs--mockup button {
  position: relative;
  height: 100%;
  min-width: 91px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 7px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #0c1630;
  font-size: 10px;
  font-weight: 650;
}

.pmac-detail-modal--mockup .pmac-detail-tabs--mockup button.is-active {
  background: transparent;
  color: #0b1426;
}

.pmac-detail-modal--mockup .pmac-detail-tabs--mockup button::after {
  content: "";
  position: absolute;
  left: 6px;
  right: 6px;
  bottom: 0;
  height: 2px;
  border-radius: 999px 999px 0 0;
  background: transparent;
}

.pmac-detail-modal--mockup .pmac-detail-tabs--mockup button.is-active::after {
  background: #ffae00;
}

.pmac-detail-modal--mockup .pmac-detail-content {
  min-height: 0;
  height: 100%;
  overflow: hidden;
}

.pmac-detail-modal--mockup .pmac-detail-tab-panel {
  height: 100%;
  overflow: auto;
  scrollbar-gutter: stable;
}

.pmac-detail-modal--mockup .pmac-detail-overview {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 259px;
  gap: 20px;
  height: 100%;
  min-height: 0;
}

.pmac-detail-modal--mockup .pmac-detail-cover {
  position: relative;
  height: 263px;
  overflow: hidden;
  border-radius: 11px;
  background: #e8edf4;
}

.pmac-detail-modal--mockup .pmac-detail-cover img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.pmac-detail-modal--mockup .pmac-detail-title {
  margin: 13px 0 6px;
  color: #07122f;
  font-size: 20px;
  line-height: 1.12;
  font-weight: 800;
}

.pmac-detail-modal--mockup .pmac-detail-overview__side {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.pmac-detail-modal--mockup .pmac-detail-practical-card {
  padding: 15px 13px 14px;
  border: 1px solid #dfe6ef;
  border-radius: 11px;
  background: #fff;
}

.pmac-detail-modal--mockup .pmac-detail-scores--mockup {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
  margin-bottom: 13px;
}

.pmac-detail-modal--mockup .pmac-detail-map--preview {
  height: 123px;
  margin-bottom: 8px;
  border-radius: 9px;
}

@media (max-width: 980px) {
  .pmac-detail-overlay .pmac-detail-dialog {
    width: min(100%, calc(100vw - 14px));
    height: calc(100vh - 14px);
    max-height: calc(100vh - 14px);
  }

  .pmac-detail-modal--mockup {
    padding: 13px 10px;
  }

  .pmac-detail-modal--mockup .pmac-detail-tabs--mockup {
    justify-content: flex-start;
    overflow-x: auto;
    padding: 0 8px;
  }

  .pmac-detail-modal--mockup .pmac-detail-tabs--mockup button {
    min-width: max-content;
  }

  .pmac-detail-modal--mockup .pmac-detail-overview {
    grid-template-columns: 1fr;
    gap: 13px;
  }

  .pmac-detail-modal--mockup .pmac-detail-cover {
    height: 182px;
  }
}

@media (max-width: 640px) {
  .pmac-detail-modal--mockup .pmac-detail-cover {
    height: 154px;
  }

  .pmac-detail-modal--mockup .pmac-detail-title {
    font-size: 16px;
  }

  .pmac-detail-modal--mockup .pmac-detail-scores--mockup {
    grid-template-columns: 1fr;
  }
}

/* =====================================================================
   Refonte de la modale de détails — actions bien visibles sur une ligne,
   galerie/informations/carte/avis en pleine largeur, signalement.
   ===================================================================== */

/* --- Actions (j'aime / pas / commenter / signaler) sur une seule ligne,
   nettement plus visibles qu'un simple texte gris --- */
.pmac-detail-social {
  display: flex;
  align-items: stretch;
  gap: 6px;
  padding: 8px 0;
}

.pmac-detail-social button {
  flex: 1 1 0;
  min-width: 0;
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 8px;
  border: 1px solid #e2e6ec;
  border-radius: 9px;
  background: #f8f9fa;
  color: #374151;
  font-size: 10.5px;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.pmac-detail-social button i { font-size: 14px; }
.pmac-detail-social button:hover { background: #eef1f5; }

.pmac-detail-like.is-active { background: #fdecec; border-color: #ef233c; color: #ef233c; }
.pmac-detail-like.is-active i, .pmac-detail-like.is-active strong { color: #ef233c; }

.pmac-detail-dislike.is-active { background: #eef1f5; border-color: #374151; color: #111827; }

.pmac-detail-report-btn { color: #92400e; }
.pmac-detail-report-btn:hover { background: #fff7ed; border-color: #f59e0b; }
.pmac-detail-report-btn i { color: #f59e0b; }

@media (max-width: 460px) {
  .pmac-detail-social button span { display: none; }
}

/* --- Galerie : vraie grille de toutes les photos, ouverture Fancybox --- */
.pmac-detail-tab-panel[data-detail-panel="galerie"] { padding: 2px; }

.pmac-detail-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 6px;
}

.pmac-detail-gallery-grid__item {
  position: relative;
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 9px;
  background: #edf1f4;
}

.pmac-detail-gallery-grid__item img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform 0.2s ease;
}

.pmac-detail-gallery-grid__item:hover img { transform: scale(1.05); }

/* --- Informations : pleine largeur, marges réduites, 11px --- */
.pmac-detail-info-panel {
  max-width: none;
  width: 100%;
  padding: 12px 4px;
  border: 0;
  font-size: 11px;
}

.pmac-detail-info-panel h3 { margin: 0 0 8px; font-size: 14px; }
.pmac-detail-info-panel p { font-size: 11px; }

.pmac-detail-info-panel div {
  grid-template-columns: 130px minmax(0, 1fr);
  gap: 8px;
  padding: 7px 0;
  font-size: 11px;
}

.pmac-detail-info-panel span { font-size: 11px; }
.pmac-detail-info-panel strong { font-size: 11px; }

/* --- Carte & itinéraire : carte réelle en 100%, bouton fixé en bas --- */
.pmac-detail-modal--mockup [data-detail-panel="carte"].is-active {
  display: flex;
  flex-direction: column;
  padding: 0;
}

.pmac-detail-itinerary-text {
  padding: 12px 14px;
  border-top: 1px solid #e5e9ef;
  background: #fbfcfd;
}

.pmac-detail-itinerary-text h4 {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0 0 6px;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--navy);
}

.pmac-detail-itinerary-text h4 i {
  font-size: 13px;
  color: var(--blue);
}

.pmac-detail-itinerary-text p {
  margin: 0;
  font-size: 11.5px;
  line-height: 1.5;
  color: #4b5563;
  white-space: pre-line;
}

.pmac-detail-map--large {
  position: relative;
  flex: 1 1 auto;
  min-height: 260px;
  height: auto;
  border-radius: 0;
  background: #edf1f4;
}

.pmac-detail-map--large iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.pmac-detail-modal--mockup [data-detail-panel="carte"] .pmac-detail-itinerary--inline {
  position: sticky;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2;
  width: 100%;
  min-width: 0;
  margin: 0;
  border-radius: 0;
  justify-content: center;
  padding: 13px;
  font-size: 12px;
}

/* --- Avis : cartes plus compactes, pleine largeur, date réduite --- */
.pmac-detail-review--standalone {
  max-width: none;
  width: 100%;
  padding: 9px 11px;
  margin-bottom: 7px;
}

.pmac-detail-review--standalone:last-child { margin-bottom: 0; }

.pmac-detail-review__time { font-size: 10.5px; color: #6b7280; }

/* --- Fenêtre SweetAlert2 de signalement --- */
.pmac-report-swal { text-align: left; }

.pmac-report-swal label {
  display: block;
  margin-bottom: 12px;
  color: var(--text-secondary);
  font-size: 12.5px;
  font-weight: 700;
}

.pmac-report-swal select,
.pmac-report-swal textarea {
  display: block;
  width: 100%;
  margin-top: 6px;
  padding: 9px 11px;
  border: 1px solid var(--border);
  border-radius: 8px;
  font-family: inherit;
  font-size: 13px;
  color: var(--text-primary);
}

/* --- Onglet Avis : moyenne couleur des utilisateurs + formulaire compact --- */
.pmac-avis-summary-scores {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  padding: 8px 2px 12px;
  margin-bottom: 10px;
  border-bottom: 1px solid #e5e9ef;
}

.pmac-avis-summary-scores__label {
  font-size: 10.5px;
  font-weight: 700;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.pmac-avis-summary-scores .pmac-detail-scores {
  margin: 0;
}

.pmac-avis-form {
  width: 100%;
  box-sizing: border-box;
  padding: 12px 14px;
  margin-bottom: 10px;
}

.pmac-avis-form h4 {
  margin: 0 0 10px;
  font-size: 13.5px;
}

.pmac-avis-form__ratings {
  gap: 8px;
  margin-bottom: 10px;
}

.pmac-avis-form__ratings label {
  font-size: 11px;
  gap: 4px;
}

.pmac-avis-form__ratings select {
  height: 32px;
  padding: 0 8px;
  font-size: 12.5px;
}

.pmac-avis-form textarea {
  min-height: 56px;
  padding: 8px 10px;
  font-size: 12.5px;
}

.pmac-avis-form__footer {
  margin-top: 10px;
  justify-content: flex-end;
}

.pmac-avis-form__error {
  margin-right: auto;
}

.pmac-avis-form__footer button {
  min-height: 32px;
  padding: 0 16px;
  font-size: 12.5px;
}

.pmac-report-swal textarea { min-height: 70px; resize: vertical; }

/* About page */
body.pmac-about-page,
body.pmac-about-page .pmac-feed-shell {
  background: #ffffff;
}

.pmac-about-hero {
  position: relative;
  min-height: 230px;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(2, 18, 37, 0.96) 0%, rgba(2, 18, 37, 0.78) 34%, rgba(2, 18, 37, 0.15) 72%, rgba(2, 18, 37, 0.48) 100%),
    url("../../images/pmac-feed/hero-culture-panorama-4.jpg") center 42% / cover no-repeat;
  color: #ffffff;
}

.pmac-about-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 42%, rgba(255, 176, 0, 0.13), transparent 28%),
    linear-gradient(180deg, rgba(0, 0, 0, 0) 54%, rgba(2, 18, 37, 0.36) 100%);
  pointer-events: none;
}

.pmac-about-hero__inner {
  position: relative;
  z-index: 1;
  width: min(100%, 1280px);
  min-height: 230px;
  margin: 0 auto;
  padding: 62px 24px 44px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.pmac-about-hero h1 {
  margin: 0 0 10px;
  color: #ffffff;
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.05;
  font-weight: 900;
  letter-spacing: 0;
}

.pmac-about-hero p {
  margin: 0;
  max-width: 560px;
  color: rgba(255, 255, 255, 0.95);
  font-size: 18px;
  line-height: 1.5;
  font-weight: 600;
}

.pmac-about-tabs {
  background: #ffffff;
  border-bottom: 1px solid #dfe5ee;
  box-shadow: 0 3px 12px rgba(8, 24, 46, 0.04);
}

.pmac-about-tabs__inner {
  width: min(100%, 1280px);
  height: 58px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: stretch;
  gap: 46px;
  overflow-x: auto;
}

.pmac-about-tabs a {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  color: #0f2143;
  font-size: 14px;
  font-weight: 700;
}

.pmac-about-tabs a.is-active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 4px;
  border-radius: 999px 999px 0 0;
  background: var(--yellow);
}

.pmac-about-main {
  width: min(100%, 1280px);
  margin: 0 auto;
  padding: 32px 24px 28px;
}

.pmac-about-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.68fr) minmax(250px, 0.56fr);
  gap: 28px;
  align-items: start;
}

.pmac-about-copy h2,
.pmac-about-commitments h2,
.pmac-about-community h2 {
  margin: 0;
  color: #0c1e40;
  font-size: 31px;
  line-height: 1.14;
  font-weight: 900;
  letter-spacing: 0;
}

.pmac-about-copy p {
  margin: 17px 0 0;
  max-width: 600px;
  color: #3f4b63;
  font-size: 15px;
  line-height: 1.72;
  font-weight: 500;
}

.pmac-about-collage {
  display: grid;
  grid-template-columns: 1.7fr 1fr 1fr;
  grid-template-rows: 86px 86px;
  gap: 8px;
  min-width: 0;
}

.pmac-about-collage img {
  width: 100%;
  height: 100%;
  min-width: 0;
  display: block;
  object-fit: cover;
  border-radius: 11px;
}

.pmac-about-collage__large {
  grid-row: 1 / 3;
}

.pmac-about-side {
  display: grid;
  gap: 0;
  padding: 26px;
  border-radius: 15px;
  background: linear-gradient(135deg, #f6faff 0%, #eef6ff 100%);
}

.pmac-about-side article {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  padding: 0 0 27px;
}

.pmac-about-side article + article {
  padding-top: 27px;
  border-top: 1px solid #dce6f2;
}

.pmac-about-side article:last-child {
  padding-bottom: 0;
}

.pmac-about-side span,
.pmac-about-pillars span,
.pmac-about-commitment span {
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #1268d6;
  color: #ffffff;
}

.pmac-about-side span {
  width: 46px;
  height: 46px;
  background: #e2f0ff;
  color: #1268d6;
}

.pmac-about-side h3 {
  margin: 0;
  color: #0f2143;
  font-size: 17px;
  font-weight: 900;
}

.pmac-about-side p {
  margin: 12px 0 14px;
  color: #536178;
  font-size: 13px;
  line-height: 1.6;
  font-weight: 500;
}

.pmac-about-side a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #075fc4;
  font-size: 13px;
  font-weight: 800;
}

.pmac-about-pillars {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-top: 34px;
}

.pmac-about-pillars article {
  min-height: 128px;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  align-content: center;
  column-gap: 17px;
  padding: 20px;
  border: 1px solid #dde4ed;
  border-radius: 9px;
  background: #ffffff;
  box-shadow: 0 7px 22px rgba(12, 34, 64, 0.04);
}

.pmac-about-pillars span {
  grid-row: span 2;
  width: 54px;
  height: 54px;
  font-size: 22px;
}

.pmac-about-pillars h3 {
  margin: 0 0 7px;
  color: #0f2143;
  font-size: 15px;
  font-weight: 900;
}

.pmac-about-pillars p {
  margin: 0;
  color: #536178;
  font-size: 12px;
  line-height: 1.5;
  font-weight: 500;
}

.pmac-about-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: center;
  margin-top: 18px;
  border: 1px solid #dce4ee;
  border-radius: 9px;
  background: #ffffff;
  box-shadow: 0 8px 24px rgba(12, 34, 64, 0.04);
}

.pmac-about-stats article {
  min-height: 78px;
  display: grid;
  grid-template-columns: 50px auto;
  grid-template-rows: auto auto;
  align-content: center;
  column-gap: 16px;
  padding: 11px 28px;
}

.pmac-about-stats article + article {
  border-left: 1px solid #dce4ee;
}

.pmac-about-stats i {
  grid-row: span 2;
  align-self: center;
  color: var(--yellow);
  font-size: 37px;
}

.pmac-about-stats strong {
  color: #0c1e40;
  font-size: 30px;
  line-height: 1;
  font-weight: 900;
}

.pmac-about-stats span {
  color: #43506a;
  font-size: 13px;
  font-weight: 500;
}

.pmac-about-lower {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(310px, 360px);
  gap: 28px;
  align-items: end;
  margin-top: 22px;
}

.pmac-about-commitments h2 {
  margin-bottom: 12px;
  font-size: 25px;
}

.pmac-about-commitment-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.pmac-about-commitment {
  position: relative;
  min-height: 146px;
  overflow: hidden;
  padding: 24px 132px 18px 22px;
  border: 1px solid #dce4ee;
  border-radius: 9px;
  background: #ffffff;
}

.pmac-about-commitment::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, 0.96) 52%, rgba(255, 255, 255, 0.08) 100%);
  pointer-events: none;
}

.pmac-about-commitment img {
  position: absolute;
  top: 0;
  right: 0;
  width: 46%;
  height: 100%;
  object-fit: cover;
}

.pmac-about-commitment span,
.pmac-about-commitment h3,
.pmac-about-commitment p {
  position: relative;
  z-index: 1;
}

.pmac-about-commitment span {
  width: 48px;
  height: 48px;
  margin-bottom: 12px;
  font-size: 20px;
}

.pmac-about-commitment h3 {
  margin: 0 0 10px;
  color: #0f2143;
  font-size: 14px;
  line-height: 1.3;
  font-weight: 900;
}

.pmac-about-commitment p {
  margin: 0;
  color: #526076;
  font-size: 11.5px;
  line-height: 1.55;
  font-weight: 500;
}

.pmac-about-info-strip {
  min-height: 48px;
  display: grid;
  grid-template-columns: 34px 1fr 1fr;
  align-items: center;
  gap: 16px;
  margin-top: 13px;
  padding: 8px 14px;
  border: 1px solid #dce4ee;
  border-radius: 8px;
  background: #ffffff;
}

.pmac-about-info-strip span {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #1268d6;
  color: #ffffff;
}

.pmac-about-info-strip p {
  margin: 0;
  color: #42506a;
  font-size: 11.5px;
  line-height: 1.5;
  font-weight: 500;
}

.pmac-about-info-strip p + p {
  padding-left: 18px;
  border-left: 1px solid #dce4ee;
}

.pmac-about-info-strip a {
  color: #075fc4;
  font-weight: 800;
}

.pmac-about-community {
  padding: 25px 28px 26px;
  border: 1px solid #dce4ee;
  border-radius: 9px;
  background: #ffffff;
  box-shadow: 0 9px 26px rgba(12, 34, 64, 0.05);
}

.pmac-about-community h2 {
  font-size: 20px;
  line-height: 1.25;
}

.pmac-about-community p {
  margin: 14px 0 23px;
  color: #44536b;
  font-size: 13px;
  line-height: 1.6;
  font-weight: 500;
}

.pmac-about-avatars {
  display: flex;
  align-items: center;
  margin-bottom: 22px;
}

.pmac-about-avatars img,
.pmac-about-avatars span {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border: 3px solid #ffffff;
  border-radius: 50%;
  box-shadow: 0 4px 13px rgba(11, 31, 59, 0.12);
}

.pmac-about-avatars img {
  object-fit: cover;
}

.pmac-about-avatars img + img,
.pmac-about-avatars span {
  margin-left: -9px;
}

.pmac-about-avatars span {
  background: #edf4ff;
  color: #1268d6;
  font-size: 14px;
  font-weight: 900;
}

.pmac-about-community__button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  border-radius: 7px;
  background: var(--yellow);
  color: #061b30;
  font-size: 14px;
  font-weight: 900;
}

@media (max-width: 1180px) {
  .pmac-about-intro {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.8fr);
  }

  .pmac-about-side {
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pmac-about-side article {
    padding: 0 25px 0 0;
  }

  .pmac-about-side article + article {
    padding: 0 0 0 25px;
    border-top: 0;
    border-left: 1px solid #dce6f2;
  }

  .pmac-about-pillars,
  .pmac-about-commitment-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pmac-about-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pmac-about-stats article:nth-child(3) {
    border-left: 0;
  }

  .pmac-about-stats article:nth-child(n+3) {
    border-top: 1px solid #dce4ee;
  }

  .pmac-about-lower {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .pmac-about-hero,
  .pmac-about-hero__inner {
    min-height: 210px;
  }

  .pmac-about-hero__inner,
  .pmac-about-tabs__inner,
  .pmac-about-main {
    padding-left: 14px;
    padding-right: 14px;
  }

  .pmac-about-hero h1 {
    font-size: 34px;
  }

  .pmac-about-hero p {
    font-size: 15px;
  }

  .pmac-about-tabs__inner {
    gap: 26px;
  }

  .pmac-about-intro,
  .pmac-about-pillars,
  .pmac-about-stats,
  .pmac-about-commitment-grid {
    grid-template-columns: 1fr;
  }

  .pmac-about-copy h2 {
    font-size: 26px;
  }

  .pmac-about-collage {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: 150px 88px 88px;
  }

  .pmac-about-collage__large {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .pmac-about-side {
    grid-template-columns: 1fr;
    padding: 22px;
  }

  .pmac-about-side article,
  .pmac-about-side article + article {
    padding: 0 0 22px;
    border-left: 0;
    border-top: 0;
  }

  .pmac-about-side article + article {
    padding-top: 22px;
    border-top: 1px solid #dce6f2;
  }

  .pmac-about-side article:last-child {
    padding-bottom: 0;
  }

  .pmac-about-pillars article {
    min-height: auto;
  }

  .pmac-about-stats article,
  .pmac-about-stats article + article,
  .pmac-about-stats article:nth-child(3) {
    border-left: 0;
    border-top: 1px solid #dce4ee;
  }

  .pmac-about-stats article:first-child {
    border-top: 0;
  }

  .pmac-about-commitment {
    padding-right: 116px;
  }

  .pmac-about-info-strip {
    grid-template-columns: 34px 1fr;
  }

  .pmac-about-info-strip p + p {
    grid-column: 2;
    padding-left: 0;
    border-left: 0;
  }
}

@media (max-width: 520px) {
  .pmac-about-main {
    padding-top: 24px;
  }

  .pmac-about-copy p {
    font-size: 13.5px;
  }

  .pmac-about-pillars article {
    grid-template-columns: 48px minmax(0, 1fr);
    padding: 17px;
  }

  .pmac-about-pillars span {
    width: 48px;
    height: 48px;
  }

  .pmac-about-stats article {
    padding: 14px 18px;
  }

  .pmac-about-commitment {
    padding: 18px;
  }

  .pmac-about-commitment img,
  .pmac-about-commitment::after {
    display: none;
  }

  .pmac-about-community {
    padding: 22px 18px;
  }
}

/* Help page */
body.pmac-help-page,
body.pmac-help-page .pmac-feed-shell {
  background: #ffffff;
}

.pmac-help-hero {
  min-height: 220px;
  background:
    linear-gradient(90deg, rgba(2, 18, 37, 0.98) 0%, rgba(2, 18, 37, 0.86) 35%, rgba(2, 18, 37, 0.22) 70%, rgba(2, 18, 37, 0.45) 100%),
    url("../../images/pmac-feed/hero-culture-panorama-3.jpg") center 44% / cover no-repeat;
  color: #ffffff;
}

.pmac-help-hero__inner {
  width: min(100%, 1280px);
  margin: 0 auto;
  padding: 48px 24px 54px;
}

.pmac-help-hero h1 {
  margin: 0 0 8px;
  color: #ffffff;
  font-size: clamp(32px, 3.8vw, 44px);
  line-height: 1.05;
  font-weight: 900;
  letter-spacing: 0;
}

.pmac-help-hero p {
  margin: 0 0 20px;
  color: rgba(255, 255, 255, 0.96);
  font-size: 19px;
  line-height: 1.35;
  font-weight: 600;
}

.pmac-help-search {
  width: min(100%, 610px);
  height: 56px;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 0 20px;
  border: 1px solid rgba(255, 255, 255, 0.52);
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 12px 28px rgba(2, 18, 37, 0.18);
}

.pmac-help-search i {
  color: #132641;
  font-size: 20px;
}

.pmac-help-search input {
  min-width: 0;
  width: 100%;
  border: 0;
  outline: 0;
  color: #14243f;
  font-size: 15px;
  font-weight: 500;
}

.pmac-help-search input::placeholder {
  color: #8b94a5;
}

.pmac-help-main {
  width: min(100%, 1280px);
  margin: -52px auto 0;
  padding: 0 24px 18px;
  position: relative;
  z-index: 2;
}

.pmac-help-tabs {
  height: 60px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  border: 1px solid #dce4ee;
  border-bottom: 0;
  border-radius: 10px 10px 0 0;
  background: #ffffff;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(12, 34, 64, 0.08);
}

.pmac-help-tabs a {
  position: relative;
  display: grid;
  place-items: center;
  padding: 0 16px;
  color: #263650;
  font-size: 15px;
  font-weight: 700;
  text-align: center;
}

.pmac-help-tabs a.is-active {
  color: #075fc4;
}

.pmac-help-tabs a.is-active::after {
  content: "";
  position: absolute;
  left: 15%;
  right: 15%;
  bottom: 0;
  height: 4px;
  border-radius: 999px 999px 0 0;
  background: var(--yellow);
}

.pmac-help-panel {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 18px;
  padding: 18px;
  border: 1px solid #dce4ee;
  border-radius: 0 0 10px 10px;
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(12, 34, 64, 0.08);
}

.pmac-help-categories,
.pmac-help-faq {
  border: 1px solid #dfe6ef;
  border-radius: 10px;
  background: #ffffff;
}

.pmac-help-categories {
  padding: 18px 16px;
  box-shadow: 0 8px 20px rgba(12, 34, 64, 0.04);
}

.pmac-help-categories h2,
.pmac-help-faq h2 {
  margin: 0 0 14px;
  color: #0c1e40;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 900;
}

.pmac-help-categories a {
  min-height: 52px;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 14px;
  color: #0f2143;
  font-size: 15px;
  font-weight: 700;
}

.pmac-help-categories a + a {
  margin-top: 4px;
}

.pmac-help-categories a > i {
  color: #0f2143;
  font-size: 15px;
}

.pmac-help-icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-size: 18px;
}

.pmac-help-icon--blue {
  background: #dcedff;
  color: #0d73e6;
}

.pmac-help-icon--green {
  background: #dcf8df;
  color: #16a34a;
}

.pmac-help-icon--yellow {
  background: #fff0cf;
  color: #ff9d00;
}

.pmac-help-icon--purple {
  background: #eadcff;
  color: #7c3aed;
}

.pmac-help-icon--cyan {
  background: #def6ff;
  color: #0284c7;
}

.pmac-help-icon--red {
  background: #ffe2e6;
  color: #e11d48;
}

.pmac-help-faq {
  padding: 18px 18px 0;
}

.pmac-help-faq__list {
  display: grid;
  gap: 8px;
}

.pmac-help-faq details {
  border: 1px solid #dfe6ef;
  border-radius: 8px;
  background: #ffffff;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(12, 34, 64, 0.035);
}

.pmac-help-faq summary {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 18px;
  color: #0f2143;
  font-size: 14px;
  font-weight: 900;
  cursor: pointer;
  list-style: none;
}

.pmac-help-faq summary::-webkit-details-marker {
  display: none;
}

.pmac-help-faq summary i {
  flex: 0 0 auto;
  font-size: 17px;
}

.pmac-help-faq details[open] summary i {
  transform: rotate(45deg);
}

.pmac-help-faq details p {
  margin: 0;
  padding: 0 18px 14px;
  color: #526076;
  font-size: 13px;
  line-height: 1.55;
  font-weight: 500;
}

.pmac-help-resources {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 22px -18px 0;
  border-top: 1px solid #dfe6ef;
}

.pmac-help-resources article {
  min-height: 104px;
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  padding: 18px 22px;
}

.pmac-help-resources article + article {
  border-left: 1px solid #dfe6ef;
}

.pmac-help-resource-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #ffffff;
  font-size: 28px;
}

.pmac-help-resource-icon--blue {
  background: #1268d6;
}

.pmac-help-resource-icon--green {
  background: #4caf63;
}

.pmac-help-resource-icon--yellow {
  background: var(--yellow);
}

.pmac-help-resources h3 {
  margin: 0 0 5px;
  color: #0c1e40;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 900;
}

.pmac-help-resources p {
  margin: 0 0 9px;
  color: #536178;
  font-size: 12px;
  line-height: 1.45;
  font-weight: 500;
}

.pmac-help-resources a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #075fc4;
  font-size: 13px;
  font-weight: 900;
}

.pmac-help-contact {
  min-height: 78px;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) 190px;
  align-items: center;
  gap: 18px;
  margin-top: 18px;
  padding: 14px 22px;
  border: 1px solid #cfe0f4;
  border-radius: 9px;
  background: linear-gradient(90deg, #eef6ff 0%, #f5faff 100%);
}

.pmac-help-anchor {
  display: block;
  height: 1px;
  scroll-margin-top: 90px;
}

.pmac-help-contact > span {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #1268d6;
  color: #ffffff;
  font-size: 28px;
}

.pmac-help-contact h2 {
  margin: 0 0 3px;
  color: #0c1e40;
  font-size: 20px;
  line-height: 1.2;
  font-weight: 900;
}

.pmac-help-contact p {
  margin: 0;
  color: #536178;
  font-size: 14px;
  font-weight: 500;
}

.pmac-help-contact > a {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 7px;
  background: var(--yellow);
  color: #061b30;
  font-size: 14px;
  font-weight: 900;
}

@media (max-width: 1100px) {
  .pmac-help-panel {
    grid-template-columns: 1fr;
  }

  .pmac-help-categories {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px 16px;
  }

  .pmac-help-categories h2 {
    grid-column: 1 / -1;
  }

  .pmac-help-resources {
    grid-template-columns: 1fr;
  }

  .pmac-help-resources article + article {
    border-left: 0;
    border-top: 1px solid #dfe6ef;
  }
}

@media (max-width: 760px) {
  .pmac-help-hero__inner {
    padding: 40px 14px 68px;
  }

  .pmac-help-hero h1 {
    font-size: 34px;
  }

  .pmac-help-hero p {
    font-size: 16px;
  }

  .pmac-help-main {
    margin-top: -44px;
    padding-left: 14px;
    padding-right: 14px;
  }

  .pmac-help-tabs {
    height: auto;
    grid-template-columns: 1fr;
  }

  .pmac-help-tabs a {
    min-height: 48px;
  }

  .pmac-help-tabs a.is-active::after {
    left: 24px;
    right: 24px;
  }

  .pmac-help-panel {
    padding: 12px;
  }

  .pmac-help-categories {
    grid-template-columns: 1fr;
  }

  .pmac-help-faq {
    padding: 16px 12px 0;
  }

  .pmac-help-faq summary {
    padding: 0 12px;
    font-size: 13px;
  }

  .pmac-help-resources {
    margin-left: -12px;
    margin-right: -12px;
  }

  .pmac-help-resources article {
    grid-template-columns: 52px minmax(0, 1fr);
    padding: 16px 14px;
  }

  .pmac-help-resource-icon {
    width: 50px;
    height: 50px;
    font-size: 23px;
  }

  .pmac-help-contact {
    grid-template-columns: 52px minmax(0, 1fr);
    padding: 16px;
  }

  .pmac-help-contact > span {
    width: 50px;
    height: 50px;
    font-size: 24px;
  }

  .pmac-help-contact > a {
    grid-column: 1 / -1;
    width: 100%;
  }
}

@media (max-width: 480px) {
  .pmac-help-search {
    height: 52px;
    padding: 0 14px;
  }

  .pmac-help-search input {
    font-size: 13px;
  }

  .pmac-help-categories a {
    font-size: 13.5px;
  }
}

/* --- Loader plein ecran (logo + rayon lumineux tournant) --- */
.pmac-page-loader {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--navy);
  opacity: 1;
  transition: opacity 0.45s ease;
}

.pmac-page-loader.is-hidden {
  opacity: 0;
  pointer-events: none;
}

.pmac-page-loader__ring {
  position: relative;
  width: 168px;
  height: 168px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.pmac-page-loader__ring::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}

.pmac-page-loader__ring::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: conic-gradient(from 0deg, transparent 0deg, transparent 265deg, var(--yellow) 320deg, transparent 360deg);
  box-shadow: 0 0 24px 2px rgba(255, 176, 0, 0.55);
  animation: pmac-loader-spin 1.4s linear infinite;
}

.pmac-page-loader__frame {
  position: relative;
  z-index: 1;
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: var(--navy);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.1);
}

.pmac-page-loader__frame img {
  width: 62%;
  height: 62%;
  object-fit: contain;
}

@keyframes pmac-loader-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .pmac-page-loader__ring::after {
    animation: none;
  }
}

@media (max-width: 520px) {
  .pmac-page-loader__ring {
    width: 128px;
    height: 128px;
  }

  .pmac-page-loader__frame {
    width: 104px;
    height: 104px;
  }
}

/* --- Filtre catégorie actif (accueil + page recherche) --- */
.pmac-shortcut.is-active,
.pmac-category-choice.is-active {
  box-shadow: 0 0 0 2px var(--yellow);
}

/* --- Page recherche : resume, etat vide, resultats, pagination --- */
.pmac-search-main {
  padding-top: 26px;
}

.pmac-search-summary {
  margin-bottom: 16px;
  color: var(--text-secondary);
  font-size: 13px;
}

.pmac-search-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 60px 20px;
  border: 1px dashed rgba(7, 90, 168, 0.22);
  border-radius: 10px;
  background: var(--white);
  color: var(--text-secondary);
  text-align: center;
}

.pmac-search-empty i {
  font-size: 26px;
  color: rgba(7, 90, 168, 0.35);
}

.pmac-search-empty p {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
}

.pmac-search-results {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.pmac-search-result {
  border-radius: 10px;
}

.pmac-search-result__link {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  width: 100%;
  padding: 14px;
  border: 1px solid #edf0f2;
  border-radius: 10px;
  background: var(--white);
  text-align: left;
  font-family: inherit;
  cursor: pointer;
  transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

.pmac-search-result__link:hover {
  border-color: rgba(7, 90, 168, 0.28);
  box-shadow: 0 6px 20px rgba(7, 90, 168, 0.1);
}

.pmac-search-result__thumb {
  flex: 0 0 auto;
  width: 168px;
  height: 118px;
  border-radius: 8px;
  overflow: hidden;
  background: #edf1f4;
}

.pmac-search-result__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pmac-search-result__body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.pmac-search-result__breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.pmac-search-result__location {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--text-secondary);
  font-size: 11.5px;
}

.pmac-search-result__location i {
  font-size: 11px;
}

.pmac-search-result__title {
  margin: 0;
  color: var(--navy);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
}

.pmac-search-result__link:hover .pmac-search-result__title {
  color: var(--blue);
  text-decoration: underline;
}

.pmac-search-result__snippet {
  margin: 0;
  color: var(--text-secondary);
  font-size: 13px;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.pmac-search-result__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 2px;
}

.pmac-search-result__rating {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--text-secondary);
  font-size: 12px;
  font-weight: 600;
}

.pmac-search-result__rating i {
  color: var(--yellow);
  font-size: 12px;
}

.pmac-search-result__rating small {
  color: var(--text-secondary);
  font-weight: 400;
}

.pmac-search-result__pill {
  padding: 3px 9px;
  border: 1px solid #edf0f2;
  border-radius: 999px;
  background: #f5f6f7;
  color: #69727d;
  font-size: 11px;
  font-weight: 500;
}

.pmac-search-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-top: 32px;
  flex-wrap: wrap;
}

.pmac-search-pagination__nav {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--blue);
  font-size: 13px;
  font-weight: 600;
}

.pmac-search-pagination__nav.is-disabled {
  color: #c3c9d0;
  pointer-events: none;
}

.pmac-search-pagination__pages {
  display: flex;
  align-items: center;
  gap: 4px;
}

.pmac-search-pagination__page {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  height: 30px;
  padding: 0 6px;
  border-radius: 7px;
  color: var(--text-secondary);
  font-size: 13px;
  font-weight: 600;
}

.pmac-search-pagination__page:hover {
  background: #f1f4f8;
}

.pmac-search-pagination__page.is-current {
  background: var(--blue);
  color: var(--white);
}

.pmac-search-pagination__ellipsis {
  color: #c3c9d0;
  font-size: 13px;
  padding: 0 2px;
}

@media (max-width: 620px) {
  .pmac-search-result__link {
    flex-direction: column;
  }

  .pmac-search-result__thumb {
    width: 100%;
    height: 160px;
  }
}
