/* ========================================================================
   NOVTINIS — COUVERTURE DESKTOP PREMIUM
   ------------------------------------------------------------------------
   Ajustements de composition par famille d'écrans. Ils partagent tous le
   même rail d'alignement, sans étirer les formulaires et sans modifier mobile.
   ======================================================================== */

@media (min-width: 981px) {
  /* Le footer historique n'est pas au niveau du système de navigation.
     Il est masqué sur desktop pendant la consolidation afin d'éviter que des
     colonnes Astra réapparaissent à droite des parcours métier. */
  body.nt-premium-shared-public-nav .site-footer {
    display: none !important;
  }

  /* ------------------- Compte / dashboard ------------------- */
  body.nt-premium-route-account .seva-account-shell {
    width: min(calc(100% - (var(--nt-page-gutter) * 2)), var(--nt-site-max)) !important;
    margin: 0 auto !important;
  }

  body.nt-premium-route-merchant .merchant-page {
    width: min(calc(100% - (var(--nt-page-gutter) * 2)), var(--nt-site-max)) !important;
    margin: 0 auto !important;
  }

  /* ------------------- Formulaires métier : contenu utile, pas de vide ------------------- */
  body.nt-premium-route-add-commerce .seva-add-commerce-page,
  body.nt-premium-route-edit-commerce .nt-edit-page,
  body.nt-premium-route-advanced-listing .nt-fiche-pro-page {
    width: min(calc(100% - (var(--nt-page-gutter) * 2)), var(--nt-site-max)) !important;
    min-height: calc(100vh - var(--nt-nav-height)) !important;
    margin: 0 auto !important;
    padding: 32px 42px 72px !important;
    border-radius: 0 0 32px 32px !important;
    box-sizing: border-box !important;
  }

  body.nt-premium-route-add-commerce .seva-add-commerce-card {
    width: min(100%, 1180px) !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 28px 30px 38px !important;
    border-radius: 30px !important;
  }

  body.nt-premium-route-edit-commerce .nt-edit-card {
    width: min(100%, 980px) !important;
    max-width: 980px !important;
    margin: 0 auto !important;
    padding: 28px 30px 36px !important;
    border-radius: 30px !important;
  }

  body.nt-premium-route-edit-commerce .nt-edit-header h1,
  body.nt-premium-route-add-commerce .seva-add-commerce-heading h1 {
    font-size: 36px !important;
  }

  body.nt-premium-route-edit-commerce .nt-edit-header p,
  body.nt-premium-route-add-commerce .seva-add-commerce-heading p {
    max-width: 620px !important;
  }

  /* 2 colonnes seulement pour les sections prévues par le formulaire ; les
     champs de texte restent volontairement lisibles dans une colonne centrale. */
  body.nt-premium-route-edit-commerce .nt-edit-grid-2,
  body.nt-premium-route-edit-commerce .nt-edit-categories {
    max-width: 980px !important;
  }

  body.nt-premium-route-advanced-listing .nt-fiche-pro-card {
    width: min(100%, 860px) !important;
    max-width: 860px !important;
    margin: 0 auto !important;
    padding: 28px !important;
    border-radius: 30px !important;
  }

  body.nt-premium-route-advanced-listing .nt-fiche-pro-hero h1 {
    font-size: 38px !important;
  }

  /* ------------------- Revendication : colonne de décision, pas mobile agrandi ------------------- */
  body.nt-premium-route-claim .nt-claim-page,
  body.nt-premium-route-claim .seva-claim-page,
  body.nt-premium-route-claim .claim-commerce-page {
    min-height: calc(100vh - var(--nt-nav-height)) !important;
    padding: 34px 0 72px !important;
  }

  body.nt-premium-route-claim .nt-claim-shell,
  body.nt-premium-route-claim .seva-claim-shell,
  body.nt-premium-route-claim .claim-commerce-shell {
    width: min(calc(100% - (var(--nt-page-gutter) * 2)), 960px) !important;
    max-width: 960px !important;
    margin: 0 auto !important;
  }

  /* ------------------- Abonnement : un vrai shell business sous la nav ------------------- */
  body.nt-premium-route-subscription {
    background: var(--nt-page-surface) !important;
  }

  body.nt-premium-route-subscription .nt-subscription-page {
    width: min(calc(100% - (var(--nt-page-gutter) * 2)), var(--nt-site-max)) !important;
    min-height: calc(100vh - var(--nt-nav-height) - 28px) !important;
    margin: 28px auto 64px !important;
    padding: 32px !important;
    border-radius: 34px !important;
    background:
      radial-gradient(circle at 9% 0%, rgba(40, 120, 255, .30), transparent 31%),
      radial-gradient(circle at 94% 5%, rgba(255, 122, 0, .16), transparent 28%),
      linear-gradient(180deg, #071120 0%, #08172a 50%, #06101f 100%) !important;
    box-shadow: 0 26px 70px rgba(15, 23, 42, .18) !important;
    box-sizing: border-box !important;
  }

  body.nt-premium-route-subscription .nt-v442-header,
  body.nt-premium-route-subscription .nt-v456e-header,
  body.nt-premium-route-subscription .nt-abonnement-hero-modern {
    border-radius: 26px !important;
  }

  /* ------------------- Authentification : composant central, aucune moitié vide ------------------- */
  body.nt-premium-route-auth .seva-login-page,
  body.nt-premium-route-auth .seva-register-page,
  body.nt-premium-route-auth .seva-reset-page {
    width: min(calc(100% - (var(--nt-page-gutter) * 2)), var(--nt-site-max)) !important;
    min-height: calc(100vh - var(--nt-nav-height)) !important;
    display: grid !important;
    place-items: center !important;
    margin: 0 auto !important;
    padding: 48px 0 72px !important;
    box-sizing: border-box !important;
  }

  body.nt-premium-route-auth .seva-reset-card {
    width: min(100%, 520px) !important;
    margin: 0 auto !important;
  }

  body.nt-premium-route-auth .seva-login-shell,
  body.nt-premium-route-auth .seva-register-shell {
    width: min(100%, 960px) !important;
    max-width: 960px !important;
    margin: 0 auto !important;
  }

  /* ------------------- Novtiniseur / gamification / favoris ------------------- */
  body.nt-premium-route-novtiniseur .nt-ambassador-public-page,
  body.nt-premium-route-gamification .nt-gamification-page {
    width: min(calc(100% - (var(--nt-page-gutter) * 2)), var(--nt-site-max)) !important;
    min-height: calc(100vh - var(--nt-nav-height)) !important;
    margin: 0 auto !important;
    padding: 32px 36px 72px !important;
    border-radius: 0 0 32px 32px !important;
    box-sizing: border-box !important;
  }

  body.nt-premium-route-novtiniseur .nt-ambassador-public-shell {
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  /* ------------------- Fiche commerce ------------------- */
  body.nt-premium-route-listing .listing-single-pro {
    padding-top: 0 !important;
  }

  /* Le hero reste immersif, mais la navigation ne fait plus partie de lui. */
  body.nt-premium-route-listing .listing-hero,
  body.nt-premium-route-listing .seva-listing-hero,
  body.nt-premium-route-listing .nt-listing-hero {
    margin-top: 0 !important;
  }

  /* Aucun écran ne repart sur une marge ou une largeur spéciale héritée. */
  body.nt-premium-shared-public-nav .entry-content > :first-child {
    margin-top: 0 !important;
  }
}
