/* Navigation et choix des produits partagés. Les dimensions des logos produit restent dans leurs styles existants. */
.unified-header { background: #fff; border-bottom: 1px solid #dce6eb; backdrop-filter: none; -webkit-backdrop-filter: none; }
.unified-header .header-shell { min-height: 5.1rem; gap: 1.6rem; }
.unified-header .desktop-nav { gap: 0.25rem; margin-left: auto; }
.unified-header .desktop-nav > a, .unified-header .product-menu__toggle, .unified-header .login-link { min-height: 2.75rem; padding: 0.65rem 0.7rem; color: #405e70; font-size: 0.88rem; font-weight: 550; line-height: 1.4; }
.unified-header .desktop-nav > a:hover, .unified-header .product-menu__toggle:hover { color: #075d7a; background: #f0f6f7; }
.unified-header .desktop-nav > a[aria-current="page"], .unified-header .product-menu__toggle.is-active { color: #075e76; background: #edf5f6; }
.unified-header .header-actions { display: flex; align-items: center; gap: 0.65rem; }
.unified-header .button--header { display: inline-flex; align-items: center; gap: 0.6rem; min-height: 2.85rem; padding: 0.7rem 1rem; color: white; font-size: 0.84rem; font-weight: 650; background: #062b52; border: 1px solid #062b52; border-radius: 0.45rem; }
.unified-header .button--header:hover { background: #16496e; }
.unified-header .button--header .icon { width: 1rem; height: 1rem; }
.unified-header .product-menu__popover { width: 24rem; padding: 0.65rem; border: 1px solid #d5e3e8; border-radius: 0.8rem; box-shadow: 0 18px 48px #13354b1f; }
.unified-header .product-menu__item { padding: 0.9rem; border-radius: 0.45rem; }
.unified-header .product-menu__item:hover { background: #f0f6f7; }
.unified-header .product-menu__item strong { color: #24485e; font-size: 0.92rem; font-weight: 650; }
.unified-header .product-menu__item small { font-size: 0.78rem; }
.unified-header .product-menu__all { margin-top: 0.35rem; padding: 1rem 0.9rem 0.6rem; font-size: 0.83rem; }
.unified-header :focus-visible, .pricing-product-choice:focus-visible { outline: 3px solid #1a789b; outline-offset: 3px; }
.product-subnav { border-top: 1px solid #e1e9ec; background: #f8fafb; }
.product-subnav__inner { display: flex; align-items: center; gap: 1.2rem; min-height: 3.1rem; }
.product-return { display: inline-flex; flex-shrink: 0; align-items: center; gap: 0.45rem; padding: 0.65rem 1.1rem 0.65rem 0; color: #45677a; font-size: 0.76rem; font-weight: 600; text-decoration: none; border-right: 1px solid #d8e3e8; }
.product-return:hover { color: #075e76; text-decoration: underline; }
.product-return__icon { width: 0.95rem; height: 0.95rem; transform: rotate(180deg); }
.product-subnav nav { display: flex; align-items: stretch; gap: 1.2rem; min-width: 0; align-self: stretch; }
.product-subnav nav a { display: inline-flex; flex-shrink: 0; align-items: center; min-height: 3.1rem; padding: 0.4rem 0.1rem; color: #5c7383; font-size: 0.79rem; font-weight: 500; text-decoration: none; white-space: nowrap; border-bottom: 2px solid transparent; }
.product-subnav nav a:hover, .product-subnav nav a[aria-current="location"] { color: #09657c; border-bottom-color: #167b88; }
.tax-product:has(.product-subnav) main [id] { scroll-margin-top: 9rem; }
.unified-header .mobile-nav { position: absolute; top: 100%; right: 0; left: 0; max-height: calc(100dvh - 5.1rem); overflow-y: auto; color: #24485e; background: #fff; border-bottom: 1px solid #d5e3e8; box-shadow: 0 18px 30px #13354b1f; }
.unified-header--product .mobile-nav { max-height: calc(100dvh - 8.2rem); }
.unified-header .mobile-nav__inner { display: grid; gap: 0; padding-block: 0.6rem 1.3rem; }
.unified-header .mobile-nav__links { display: grid; gap: 0; padding-block: 0.25rem; }
.unified-header .mobile-nav__links a, .unified-header .mobile-home { display: block; padding-block: 0.85rem; color: #365a70; font-size: 0.93rem; font-weight: 550; text-decoration: none; border-bottom: 1px solid #e5ecef; }
.unified-header .mobile-nav__links a[aria-current="page"], .unified-header .mobile-home[aria-current="page"] { color: #08738a; }
.unified-header .mobile-nav__label { margin: 1.1rem 0 0.35rem; color: #78909e; font-size: 0.68rem; font-weight: 650; letter-spacing: 0.08em; text-transform: uppercase; }
.unified-header .mobile-product-link { padding: 0.8rem; margin-inline: -0.8rem; color: #294c60; border-radius: 0.4rem; }
.unified-header .mobile-product-link > span { font-size: 0.9rem; font-weight: 600; }
.unified-header .mobile-product-link > small { color: #6a8090; font-size: 0.75rem; }
.unified-header .mobile-product-link[aria-current="page"] { background: #edf6f5; }
.unified-header .mobile-product-link--all { padding-top: 0.6rem; padding-bottom: 0.9rem; }
.unified-header .login-link--mobile { justify-self: start; padding-left: 0; }
.unified-header .mobile-nav__cta { min-height: 3rem; margin-top: 0.5rem; color: #fff; font-size: 0.88rem; font-weight: 650; background: #062b52; border-radius: 0.45rem; }
.navigation-fallback { display: flex; flex-wrap: wrap; gap: 1rem; padding: 0.75rem 1.5rem; font-size: 0.85rem; }
.navigation-fallback a { color: #315d77; }
.solution-stack--branded { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.3rem; }
.solution-card--branded { display: flex; flex-direction: column; align-items: stretch; gap: 0; min-width: 0; padding: 1.75rem; background: #fff; border: 1px solid #d7e5eb; border-radius: 0.9rem; box-shadow: 0 8px 24px #143c5608; }
.solution-card--branded .solution-card__brand { display: flex; align-items: center; justify-content: flex-start; min-height: 5.8rem; padding-bottom: 1.5rem; margin-bottom: 1.6rem; border-bottom: 1px solid #e0e9ee; }
.solution-card__brand img { width: auto; height: 2.7rem; max-width: 100%; object-fit: contain; }
.solution-card--branded .eyebrow { margin-bottom: 0.8rem; font-size: 0.66rem; }
.solution-card--branded .solution-card__content h2 { min-height: 5.7rem; margin-bottom: 1rem; color: #173b55; font-size: clamp(1.4rem, 1.7vw, 1.6rem); font-weight: 600; letter-spacing: -0.04em; line-height: 1.2; }
.solution-card--branded .solution-card__content > p:not(.eyebrow) { min-height: 5rem; color: #5e788a; font-size: 0.9rem; line-height: 1.7; }
.solution-card--branded ul { gap: 0.7rem; margin-block: 1.3rem 1.8rem; }
.solution-card--branded li { align-items: flex-start; font-size: 0.83rem; line-height: 1.5; }
.solution-card--branded li .icon { width: 1rem; height: 1rem; margin-top: 0.1rem; color: #0b8a88; }
.solution-card__actions { display: grid; gap: 1rem; padding-top: 0.7rem; margin-top: auto; }
.solution-card__actions .button { min-height: 3rem; color: white; font-size: 0.88rem; font-weight: 650; background: #062b52; border-radius: 0.45rem; }
.solution-card__actions .text-link { justify-content: center; font-size: 0.81rem; }
.solutions-independent { display: flex; justify-content: space-between; gap: 1rem; padding-top: 1.7rem; color: #647e8b; font-size: 0.8rem; }
.solutions-independent p { margin: 0; }
.solutions-independent a { flex-shrink: 0; font-size: 0.8rem; }
.solutions-guidance { padding-block: 3.5rem; background: #f4f8fa; }
.solutions-guidance > .shell { display: flex; justify-content: space-between; align-items: center; gap: 3rem; }
.solutions-guidance h2 { max-width: 30rem; font-size: clamp(1.6rem, 2.6vw, 2.4rem); }
.solutions-guidance p:not(.eyebrow) { max-width: 40rem; margin-bottom: 0; color: #5e788a; font-size: 0.95rem; }
.solutions-guidance .button { flex-shrink: 0; font-size: 0.85rem; }
.tariffs-hero { padding-block: 2.1rem 2.6rem; background: #fff; }
.tariffs-hero .breadcrumb { margin-bottom: 1.8rem; }
.tariffs-hero .eyebrow { margin-bottom: 0.8rem; }
.tariffs-hero h1 { max-width: 24ch; margin-bottom: 1rem; color: #133751; font-size: clamp(2.5rem, 4vw, 3.7rem); font-weight: 600; line-height: 1.08; letter-spacing: -0.05em; }
.tariffs-hero > .shell > p:last-child { max-width: 43rem; margin-bottom: 0; color: #597385; font-size: 1rem; line-height: 1.7; }
.tariffs-selection { padding-top: 0; padding-bottom: 4rem; background: #fff; }
.pricing-product-choices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; overflow: visible; margin-bottom: 1.2rem; padding: 0; }
.pricing-product-choice { display: flex; flex-direction: column; align-items: flex-start; gap: 0.55rem; min-width: 0; padding: 1.45rem; color: #365a70; text-decoration: none; white-space: normal; background: #fff; border: 2px solid #dfe8ed; border-radius: 0.7rem; transition: border-color 150ms ease, background 150ms ease; }
.pricing-product-choice:hover { border-color: #80b2c0; }
.pricing-product-choice[aria-selected="true"] { background: #f2f9f8; border-color: #227b83; }
.pricing-product-choice > img { display: block; width: auto; height: 2.35rem; max-width: 100%; margin-bottom: 0.7rem; object-fit: contain; }
.pricing-product-choice__description { color: #5e7a8b; font-size: 0.8rem; line-height: 1.4; }
.pricing-product-choice > strong { margin-top: 0.35rem; color: #193f58; font-size: 1rem; font-weight: 650; line-height: 1.4; letter-spacing: -0.02em; }
.pricing-product-choice > small { color: #718794; font-size: 0.71rem; }
.pricing-product-choice__action { display: flex; justify-content: space-between; align-items: center; gap: 0.8rem; width: 100%; padding-top: 0.8rem; margin-top: auto; color: #277187; font-size: 0.76rem; font-weight: 600; }
.pricing-product-choice__action .icon { width: 1rem; height: 1rem; }
.tariffs-independent { margin: 0 0 1.8rem; color: #6b8291; font-size: 0.77rem; }
.page-pricing .tariffs-panel { padding: 2rem 0 0; background: #fff; border: 0; border-top: 1px solid #d9e5e9; border-radius: 0; }
.tariffs-panel__heading { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.7rem; }
.tariffs-panel__heading p { margin-bottom: 0.3rem; color: #67818e; font-size: 0.72rem; }
.tariffs-panel__heading h2 { margin: 0; color: #1b4059; font-size: 1.7rem; font-weight: 600; letter-spacing: -0.04em; }
.tariffs-panel__heading .text-link { font-size: 0.81rem; }
.tariffs-help { padding-block: 3.7rem; background: #f5f8fa; }
.tariffs-help__grid { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 5rem; }
.tariffs-help h2 { font-size: 2.2rem; font-weight: 600; line-height: 1.15; letter-spacing: -0.04em; }
.tariffs-help__grid > div > p:not(.eyebrow) { max-width: 28rem; color: #607b8e; font-size: 0.95rem; }
.tariffs-help .button { margin-top: 0.75rem; font-size: 0.85rem; }
@media (max-width: 1080px) {
  .unified-header .desktop-nav, .unified-header .header-actions { display: none; }
  .unified-header .menu-button { display: grid; place-items: center; flex-shrink: 0; width: 2.8rem; height: 2.8rem; padding: 0.65rem; margin-left: auto; color: #264f6a; background: white; border: 1px solid #d0dfe7; border-radius: 0.45rem; }
}
@media (max-width: 980px) {
  .solution-stack--branded { grid-template-columns: 1fr; max-width: 46rem; }
  .solution-card--branded { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 0 2rem; }
  .solution-card--branded .solution-card__brand { grid-column: 1 / -1; }
  .solution-card--branded .solution-card__content h2, .solution-card--branded .solution-card__content > p:not(.eyebrow) { min-height: 0; }
  .solution-card__actions { align-self: end; margin-bottom: 1.8rem; }
  .pricing-product-choice { padding: 1.1rem; }
  .pricing-product-choice > img { height: 1.9rem; }
  .pricing-product-choice > strong { font-size: 0.9rem; }
  .tariffs-help__grid { gap: 2.5rem; }
}
@media (max-width: 680px) {
  .unified-header .header-shell { min-height: 4.6rem; gap: 0.75rem; }
  .product-subnav__inner { gap: 0.65rem; }
  .product-return { gap: 0.25rem; padding-right: 0.65rem; font-size: 0.67rem; }
  .product-return__icon { width: 0.85rem; height: 0.85rem; }
  .product-subnav nav { flex: 1; gap: 0.75rem; overflow-x: auto; scrollbar-width: thin; }
  .product-subnav nav a { font-size: 0.73rem; }
  .unified-header .mobile-nav { max-height: calc(100dvh - 4.6rem); }
  .unified-header--product .mobile-nav { max-height: calc(100dvh - 7.7rem); }
  .tax-product:has(.product-subnav) main [id] { scroll-margin-top: 8.5rem; }
  .pricing-product-choices { grid-template-columns: 1fr; gap: 0.7rem; }
  .pricing-product-choice { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); align-items: center; gap: 0.35rem 1rem; padding: 1rem; }
  .pricing-product-choice > img { grid-column: 1; grid-row: 1 / 3; width: 100%; height: auto; max-height: 2.8rem; margin: 0; }
  .pricing-product-choice__description { grid-column: 2; font-size: 0.74rem; }
  .pricing-product-choice > strong { grid-column: 2; margin-top: 0; font-size: 0.86rem; }
  .pricing-product-choice > small, .pricing-product-choice__action { display: none; }
  .tariffs-hero { padding-block: 1.7rem 2rem; }
  .tariffs-hero .breadcrumb { margin-bottom: 1.4rem; }
  .tariffs-hero h1 { font-size: 2.55rem; }
  .tariffs-hero > .shell > p:last-child { font-size: 0.92rem; }
  .tariffs-panel__heading { align-items: flex-start; gap: 1rem; }
  .tariffs-panel__heading h2 { font-size: 1.4rem; }
  .tariffs-panel__heading .text-link { max-width: 9rem; font-size: 0.73rem; }
  .tariffs-help__grid { grid-template-columns: 1fr; gap: 2rem; }
  .solutions-guidance > .shell, .solutions-independent { flex-direction: column; align-items: flex-start; gap: 1.5rem; }
}
@media (max-width: 560px) {
  .solution-card--branded { display: flex; padding: 1.5rem; }
  .solution-card--branded .solution-card__brand { min-height: 5.1rem; margin-bottom: 1.3rem; }
  .solution-card__brand img { height: 2.4rem; }
  .solution-card--branded .solution-card__content h2 { font-size: 1.6rem; }
  .solution-card__actions { align-self: stretch; margin-bottom: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .unified-header *, .pricing-product-choice { transition: none; }
}

/* Même engagement sur les trois produits, près du choix de formule. */
.data-freedom {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 1.75rem 0 0;
  padding: 1.25rem 1.4rem;
  border: 1px solid #d5e6e7;
  border-radius: 1rem;
  background: #f1f8f7;
  color: #112d42;
  text-align: left;
}
.data-freedom > .icon {
  flex: 0 0 auto;
  width: 2.65rem;
  height: 2.65rem;
  padding: 0.6rem;
  border-radius: 50%;
  background: #e0f0ed;
  color: #23777b;
}
.data-freedom strong { display: block; font-size: 1rem; line-height: 1.5; }
.data-freedom p { margin: 0.2rem 0 0; color: #466171; font-size: 0.9rem; line-height: 1.65; }
.page-products .data-freedom { margin-top: 2rem; }
@media (max-width: 560px) {
  .data-freedom { align-items: flex-start; gap: 0.8rem; padding: 1rem; }
  .data-freedom > .icon { width: 2.25rem; height: 2.25rem; padding: 0.5rem; }
  .data-freedom strong { font-size: 0.93rem; }
  .data-freedom p { font-size: 0.84rem; }
}
