/*
 * Corrections visuelles newstv.fr, retour Marc du 19 septembre 21h36.
 * Surcharge locale du theme, enqueuee par inc-identity.php. Palette et
 * variables du theme uniquement, aucun logo redessine.
 *
 * P1 home header : bandeau "Nos autres medias" 110 px et bloc logo/nav 220 px.
 * P1 home carte Annonceurs : dode bleu isole, forme hors systeme.
 * P1 footer/signature : rythme et libelles harmonises avec le masthead.
 * P1 A propos : colonnes 227-257 px avec titres 42 px.
 * P1 Nous contacter : bloc RankSource 728x798, contenu tasse dans 210 px.
 */

/* ---------- Masthead compact ---------- */
.smart-head-top {
  height: 40px !important;
  min-height: 40px !important;
}
.smart-head-top .inner,
.smart-head-top .smart-head-row-full {
  height: 40px !important;
  min-height: 40px !important;
  align-items: center;
}
.smart-head-top .navigation-small .menu > li > a,
.smart-head-top .spc-social,
.smart-head-top .search-icon {
  line-height: 40px;
}
.smart-head-main {
  height: auto !important;
}
.smart-head-main .smart-head-mid {
  height: 64px !important;
  min-height: 64px !important;
  align-items: center;
}
.smart-head-main .smart-head-mid.is-light {
  height: 72px !important;
  min-height: 72px !important;
  align-items: center !important;
}
.smart-head-main .smart-head-row-3 {
  height: 46px !important;
  min-height: 46px !important;
}
.smart-head-main img {
  max-height: 42px !important;
  width: auto !important;
  height: auto !important;
}
.smart-head-main .smart-head-mid {
  height: 72px !important;
  min-height: 72px !important;
  align-items: center !important;
}
.smart-head-main .smart-head-mid .items-left {
  height: 72px !important;
  align-items: center !important;
}
.smart-head-main .logo-link,
.smart-head-main .logo-link > span {
  display: flex !important;
  align-items: center !important;
  height: 44px !important;
  line-height: 0 !important;
  overflow: hidden !important;
}
.smart-head-main .logo-link img,
.smart-head-main .logo-image,
.smart-head-main .logo-link picture img {
  height: 44px !important;
  max-height: 44px !important;
  width: auto !important;
  object-fit: contain !important;
}
.navigation-main .menu > li > a {
  line-height: 46px;
}
.navigation-main {
  height: 46px !important;
  min-height: 46px !important;
}
.navigation-main .menu,
.navigation-main .menu > li {
  height: 46px !important;
}
/* hover/focus de charte, sans deplacement de mise en page */
.navigation-main .menu > li > a:hover,
.navigation-main .menu > li > a:focus-visible,
.navigation-small .menu > li > a:hover,
.navigation-small .menu > li > a:focus-visible {
  color: var(--dn-accent) !important;
  text-decoration: underline !important;
  text-underline-offset: 4px;
}
.smart-head :is(a, button):focus-visible {
  outline: 2px solid var(--dn-accent);
  outline-offset: 2px;
}

/* ---------- Carte Annonceurs du footer ---------- */
.dn-fleet-footer--5 .dn-fleet-footer__commercial {
  border-radius: var(--dn-radius) !important;
  padding: 24px !important;
  background: color-mix(in srgb, var(--dn-accent) 10%, var(--dn-paper)) !important;
  border: 1px solid var(--dn-accent) !important;
}
.dn-fleet-footer__commercial h2 {
  max-width: 24ch;
  font-size: clamp(21px, 1.7vw, 27px) !important;
  letter-spacing: -.03em !important;
  line-height: 1.06 !important;
}
.dn-fleet-footer__commercial > p:not(.dn-fleet-footer__label) {
  max-width: 34ch;
  font-size: 13.5px !important;
}
.dn-fleet-footer__commercial > a {
  min-height: 42px !important;
  margin-top: 16px !important;
  padding: 11px 14px !important;
}
.dn-fleet-footer__commercial > a:hover,
.dn-fleet-footer__commercial > a:focus-visible {
  color: var(--dn-paper) !important;
  background: var(--dn-accent) !important;
  text-decoration: none !important;
}
.dn-fleet-footer__base a:hover,
.dn-fleet-footer__base a:focus-visible,
.dn-fleet-footer__links a:hover,
.dn-fleet-footer__links a:focus-visible {
  text-decoration: underline !important;
  text-underline-offset: 3px;
}
.dn-fleet-footer :is(a, button):focus-visible {
  outline: 2px solid var(--dn-accent);
  outline-offset: 2px;
}

/* ---------- Pages de confiance : largeur et grilles ---------- */
.dn-page--v4 .dn-page-layout {
  grid-template-columns: minmax(0, 940px) !important;
}
.dn-trust__hero {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 22px !important;
  align-items: start !important;
  padding: clamp(28px, 4vw, 52px) !important;
}
.dn-trust__hero h2 {
  font-size: clamp(28px, 3.4vw, 46px) !important;
  max-width: 30ch;
}
.dn-trust__lede {
  max-width: 62ch;
}
.dn-trust__story {
  grid-template-columns: minmax(300px, .85fr) minmax(0, 1.15fr) !important;
  gap: clamp(24px, 4vw, 56px) !important;
  padding: 0 !important;
}
.dn-trust__story h2 {
  font-size: clamp(26px, 2.6vw, 36px) !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}
.dn-trust__story p {
  font-size: 17.5px !important;
}
.dn-trust__pillars,
.dn-trust__formats {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
}
.dn-trust__pillar {
  min-height: 0 !important;
}

/* ---------- Bloc RankSource de Nous contacter ---------- */
.dn-trust__contact-commercial {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: start !important;
  margin: 44px 0 0 !important;
  padding: clamp(24px, 3vw, 36px) !important;
}
.dn-trust__contact-commercial > .dn-trust__marketplace-logo {
  display: flex;
  align-items: center;
  min-height: 0;
}
.dn-trust__contact-commercial > .dn-trust__marketplace-logo img {
  width: min(190px, 60%) !important;
}
.dn-trust__contact-commercial > div {
  max-width: 64ch;
}
.dn-trust__contact-commercial h2 {
  font-size: clamp(26px, 3vw, 40px) !important;
  max-width: 26ch;
}
.dn-trust__contact-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 20px !important;
}
.dn-trust__contact-actions .dn-trust__button {
  max-width: none !important;
  width: auto !important;
}
.dn-trust__button:hover,
.dn-trust__button:focus-visible {
  color: var(--dn-paper) !important;
  background: var(--dn-accent) !important;
  border-color: var(--dn-accent) !important;
  text-decoration: none !important;
}

/* ---------- Mobile : garder une lecture naturelle ---------- */
@media (max-width: 620px) {
  .dn-trust__story {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
  }
  .dn-trust__hero {
    padding: 24px !important;
  }
  .dn-trust__contact-commercial h2 {
    font-size: clamp(24px, 7vw, 32px) !important;
  }
}

/* Correctif final masthead : hauteur pilotee par le logo, sans rognage. */
.smart-head-main { overflow: visible !important; }
.smart-head-main .smart-head-mid,
.smart-head-main .smart-head-mid.is-light {
  height: auto !important;
  min-height: 60px !important;
  padding-block: 9px !important;
  align-items: center !important;
  overflow: visible !important;
}
.smart-head-main .smart-head-mid .items-left,
.smart-head-main .smart-head-mid .inner {
  height: auto !important;
  align-items: center !important;
  overflow: visible !important;
}
.smart-head-main .logo-link,
.smart-head-main .logo-link > span {
  height: auto !important;
  overflow: visible !important;
  align-items: center !important;
}
.smart-head-main .logo-link img,
.smart-head-main .logo-image {
  height: auto !important;
  max-height: 46px !important;
  width: auto !important;
}

/* Masthead compact definitif : 40 + 80, logo officiel complet non rogne. */
.smart-head-main .smart-head-mid,
.smart-head-main .smart-head-mid.is-light {
  height: 80px !important;
  min-height: 80px !important;
  padding-block: 0 !important;
  align-items: center !important;
  overflow: visible !important;
}
.smart-head-main .smart-head-mid .items-left {
  height: 80px !important;
  align-items: center !important;
  overflow: visible !important;
}
.smart-head-main .logo-link,
.smart-head-main .logo-link > span {
  height: 44px !important;
  display: flex !important;
  align-items: center !important;
  overflow: visible !important;
}
.smart-head-main .logo-link img,
.smart-head-main .logo-image {
  height: 44px !important;
  max-height: 44px !important;
  width: auto !important;
  display: inline-block !important;
}

/* Gate forms_layout : formulaire pleine largeur du conteneur editorial. */
.dn-page-content > .dn-contact,
.dn-page-content .dn-contact,
.dn-contact {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
}
.dn-contact-form {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
}

/* Gate commercial_layout : blocs marketplace en une colonne equilibree. */
.dn-trust__marketplace,
.dn-trust__commercial-grid {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: start !important;
}
.dn-trust__marketplace > .dn-trust__marketplace-logo img,
.dn-trust__marketplace img {
  width: min(190px, 60%) !important;
  margin-inline: 0 !important;
}

/* Gate commercial_cta : contraste >= 4.5 sur tous les etats des CTA. */
.dn-trust .dn-trust__button,
.dn-trust .dn-trust__button--secondary {
  color: var(--dn-paper) !important;
  background: var(--dn-ink) !important;
  border-color: var(--dn-ink) !important;
}
.dn-trust .dn-trust__button:hover,
.dn-trust .dn-trust__button:focus-visible,
.dn-trust .dn-trust__button--secondary:hover,
.dn-trust .dn-trust__button--secondary:focus-visible {
  color: var(--dn-paper) !important;
  background: var(--dn-accent) !important;
  border-color: var(--dn-accent) !important;
}
