/*
 * Règles publiques communes : l'accueil sert de référence.
 * Les pages gardent leur contenu, mais utilisent les mêmes lignes, espaces
 * et contrôles plutôt que des cartes et pastilles propres à chaque gabarit.
 */

/* Les actions et filtres restent nets, sans forme capsule. */
:where(.btn, .guide-hero__button, .guide-summary__cta, .site-header__cta,
  .site-footer__cta, .about-contact__cta, .pf-chip, .radar-chip,
  .radar-reset, .catalog-section__more, .ne-pill, .pill, .ne-badge,
  .app-platform-pill, .os-badge, .os-pill, .cmp-chip, .guide-hero__chip) {
  border-radius: 0 !important;
  box-shadow: none !important;
}

:where(.ne-pill-row, .guide-hero__chips) { gap: .55rem !important; }

:where(.ne-pill, .guide-hero__chip) {
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--ne-ink-2) !important;
  font-size: var(--ne-fs-small) !important;
}

:where(.ne-pill)::after {
  content: "·";
  margin-left: .55rem;
  color: var(--ne-line-2);
}
:where(.ne-pill):last-child::after { content: none; margin: 0; }

/* Les libellés restent éditoriaux ; lorsqu'ils sont cliquables, la zone tactile reste confortable. */
:where(a.ne-pill, button.ne-pill) {
  display: inline-flex;
  align-items: center;
  min-inline-size: 44px;
  min-height: 44px !important;
  padding-inline: .15rem !important;
}

/* L'image explique la page : elle ne vit pas dans une carte dans une carte. */
:where(.guide-hero__visual-standard, .article-illustration, .ne-editorial-figure) {
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

:where(.guide-hero__visual-standard) img {
  width: 100% !important;
  border-radius: 0 !important;
  background: transparent !important;
}

:where(.guide-hero__visual-standard) figcaption,
:where(.article-illustration) figcaption {
  padding: .65rem 0 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--ne-ink-2) !important;
  font-size: var(--ne-fs-small) !important;
}

/* Guides : colonnes et FAQ ouvertes sur la largeur de la page. */
.guide-page .guide-faq,
.guide-page .guide-sources,
.guide-page .guide-related,
.guide-page .guide-related-extras {
  width: 100% !important;
  max-width: none !important;
}

.guide-page .guide-faq {
  margin-top: clamp(2.5rem, 5vw, 4.5rem) !important;
  padding-top: 1rem;
  border-top: 2px solid var(--ne-ink);
}

.guide-page .guide-faq__list {
  border-bottom: 1px solid var(--ne-line);
}

.guide-page .guide-faq__item {
  margin: 0 !important;
  padding: 1.1rem 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--ne-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.guide-page .guide-faq__item:first-child { border-top: 0 !important; }
.guide-page .guide-faq__answer { padding: .7rem 0 0 !important; }

/* Le guide NAS ou cloud passe de panneaux décoratifs à des sections éditoriales. */
.cloud-premium-blocks {
  display: grid;
  gap: clamp(2.5rem, 5vw, 4.5rem);
  width: 100%;
  margin-top: clamp(2.5rem, 5vw, 4.5rem);
}

.cloud-premium-blocks :is(.cloud-intro-card, .cloud-table-card, .cloud-warning) {
  padding: 1.4rem 0 0 !important;
  border: 0 !important;
  border-top: 2px solid var(--ne-ink) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.cloud-premium-blocks h2,
.cloud-premium-blocks h3 { margin: 0; }
.cloud-premium-blocks h2 + p,
.cloud-premium-blocks h3 + p { margin-top: .9rem; }

.cloud-table {
  margin-top: 1.4rem;
  border-top: 1px solid var(--ne-ink);
  border-bottom: 1px solid var(--ne-line);
  border-radius: 0 !important;
  background: transparent !important;
}
.cloud-row {
  display: grid;
  grid-template-columns: minmax(11rem, .65fr) minmax(13rem, 1fr) minmax(13rem, 1fr);
  gap: 1.25rem;
  padding: 1rem 0;
  border-top: 1px solid var(--ne-line);
}
.cloud-row:first-child { border-top: 0; }
.cloud-row > div { min-width: 0; }
.cloud-row > div > span { display: block; margin-top: .3rem; color: var(--ne-ink-2); }
.cloud-head { color: var(--ne-ink-2); font-size: var(--ne-fs-small); font-weight: 700; }

.cloud-split,
.cloud-profile-grid {
  display: grid;
  gap: 0;
  border-top: 2px solid var(--ne-ink);
  border-bottom: 1px solid var(--ne-line);
}
.cloud-split { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cloud-profile-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cloud-split article,
.cloud-profile-grid article {
  min-width: 0;
  padding: 1.4rem 1.5rem 1.6rem 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.cloud-split article + article,
.cloud-profile-grid article + article {
  padding-left: 1.5rem !important;
  border-left: 1px solid var(--ne-line) !important;
}
.cloud-split ul { margin: 1rem 0 0; padding-left: 1.15rem; list-style: disc; }
.cloud-split li + li { margin-top: .55rem; }
.cloud-profile-grid article > span {
  display: block;
  margin-bottom: .65rem;
  color: var(--ne-action);
  font-family: var(--ne-font-mono);
  font-size: var(--ne-fs-caption);
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.cloud-warning strong { display: block; color: var(--ne-ink); }
.cloud-warning p { margin-top: .75rem; max-width: 75ch; }

/* Même règle pour tous les modules détaillés des guides : la structure porte
   l'information, pas une accumulation de tuiles. */
[class$="-premium-blocks"] {
  display: grid !important;
  gap: clamp(2.5rem, 5vw, 4.5rem) !important;
  width: 100% !important;
}

[class$="-premium-blocks"] :is([class$="-intro-card"], [class$="-table-card"], [class$="-warning"], [class$="-callout"]) {
  padding: 1.4rem 0 0 !important;
  border: 0 !important;
  border-top: 2px solid var(--ne-ink) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

[class$="-premium-blocks"] :is([class$="-split"], [class$="-profile-grid"], [class$="-choices"], [class$="-tiers"]) {
  display: grid !important;
  gap: 0 !important;
  border-top: 2px solid var(--ne-ink) !important;
  border-bottom: 1px solid var(--ne-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
}

[class$="-premium-blocks"] :is([class$="-split"], [class$="-profile-grid"], [class$="-choices"], [class$="-tiers"]) > article,
[class$="-premium-blocks"] :is([class$="-split"], [class$="-profile-grid"], [class$="-choices"], [class$="-tiers"]) > div {
  padding: 1.3rem 1.5rem 1.5rem 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

[class$="-premium-blocks"] :is([class$="-split"], [class$="-profile-grid"], [class$="-choices"], [class$="-tiers"]) > :not(:first-child) {
  padding-left: 1.5rem !important;
  border-left: 1px solid var(--ne-line) !important;
}

[class$="-premium-blocks"] :is([class$="-table"], [class$="-matrix"]) {
  overflow: visible !important;
  border: 0 !important;
  border-top: 1px solid var(--ne-ink) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

[class$="-premium-blocks"] :is([class$="-row"], [class$="-matrix"] > *) {
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Les cartes génériques gardent une frontière, jamais une bulle ni une ombre. */
:where(.ne-card, .ne-card-standard, .ne-card-decision, .ne-card-technical,
  .guide-answer, .guide-answer__points, .guide-hero__panel, .guide-hero__outline,
  .mnas-cta-band, .baro-cta, .ne-notice, .ne-callout) {
  border-radius: 0 !important;
  box-shadow: none !important;
}

@media (max-width: 720px) {
  .cloud-row { grid-template-columns: 1fr; gap: .45rem; }
  .cloud-head { display: none; }
  .cloud-row > div::before { display: block; margin-bottom: .2rem; color: var(--ne-ink-2); font-size: var(--ne-fs-small); font-weight: 700; }
  .cloud-row > div:nth-child(1)::before { content: "Solution"; }
  .cloud-row > div:nth-child(2)::before { content: "Avantage"; }
  .cloud-row > div:nth-child(3)::before { content: "Limite"; }
  .cloud-split,
  .cloud-profile-grid { grid-template-columns: 1fr; }
  .cloud-split article,
  .cloud-profile-grid article { padding: 1.2rem 0 !important; border-top: 1px solid var(--ne-line) !important; }
  .cloud-split article:first-child,
  .cloud-profile-grid article:first-child { border-top: 0 !important; }
  .cloud-split article + article,
  .cloud-profile-grid article + article { padding-left: 0 !important; border-left: 0 !important; }

  [class$="-premium-blocks"] :is([class$="-split"], [class$="-profile-grid"], [class$="-choices"], [class$="-tiers"]) > :not(:first-child) {
    padding-left: 0 !important;
    border-left: 0 !important;
  }
}
