/* PRATINIUM v355 — page Informations personnelles : intro allégée et alignement strict sur le bandeau.
   Portée volontairement limitée à body#identity / page-identity. */

/* 1) La barre Contact / Devise / Panier et le fil d'Ariane disparaissent uniquement ici. */
body#identity #header .header-nav,
body.page-identity #header .header-nav,
body.pratinium-identity-page-v355 #header .header-nav {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
}

body#identity .breadcrumb,
body#identity nav.breadcrumb,
body#identity .breadcrumb-wrapper,
body#identity #wrapper > .breadcrumb,
body.page-identity .breadcrumb,
body.page-identity nav.breadcrumb,
body.pratinium-identity-page-v355 .breadcrumb,
body.pratinium-identity-page-v355 nav.breadcrumb {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
}

/* 2) Fond de page et largeur utile. */
body#identity #wrapper,
body.page-identity #wrapper,
body.pratinium-identity-page-v355 #wrapper {
  position: relative !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 5% 9%, rgba(24, 181, 244, .10), transparent 23%),
    radial-gradient(circle at 96% 14%, rgba(255, 194, 65, .10), transparent 22%),
    linear-gradient(180deg, #f4f8fc 0%, #ffffff 48%, #f7f9fc 100%) !important;
}

body#identity #wrapper::before,
body.page-identity #wrapper::before,
body.pratinium-identity-page-v355 #wrapper::before {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  top: 110px !important;
  left: -150px !important;
  width: 420px !important;
  height: 420px !important;
  border-radius: 999px !important;
  background: radial-gradient(circle, rgba(14,165,233,.09), rgba(14,165,233,0) 68%) !important;
  pointer-events: none !important;
}

body#identity #wrapper > .container,
body.page-identity #wrapper > .container,
body.pratinium-identity-page-v355 #wrapper > .container {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

body#identity #content-wrapper,
body.page-identity #content-wrapper,
body.pratinium-identity-page-v355 #content-wrapper {
  float: none !important;
  width: 100% !important;
  max-width: 1440px !important;
  margin: 0 auto !important;
  padding: 0 24px 34px !important;
  box-sizing: border-box !important;
}

body#identity #main,
body.page-identity #main,
body.pratinium-identity-page-v355 #main {
  width: 100% !important;
}

body#identity .page-header,
body.page-identity .page-header,
body.pratinium-identity-page-v355 .page-header {
  display: none !important;
}

body#identity #content.page-content,
body#identity #content,
body.page-identity #content.page-content,
body.pratinium-identity-page-v355 #content.page-content {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* 3) Bandeau de navigation : intégration premium sur la page identité. */
body#identity .pratinium-account-shortcuts-v353,
body.page-identity .pratinium-account-shortcuts-v353,
body.pratinium-identity-page-v355 .pratinium-account-shortcuts-v353 {
  max-width: 1440px !important;
  margin: 18px auto 22px !important;
  padding: 0 24px !important;
}

body#identity .pratinium-account-shortcuts-v353 .pas-v353-card,
body.page-identity .pratinium-account-shortcuts-v353 .pas-v353-card,
body.pratinium-identity-page-v355 .pratinium-account-shortcuts-v353 .pas-v353-card {
  border: 1px solid rgba(119, 175, 226, .18) !important;
  background:
    linear-gradient(132deg, rgba(5, 18, 39, .995) 0%, rgba(13, 30, 54, .99) 55%, rgba(34, 40, 49, .99) 100%) !important;
  box-shadow: 0 24px 60px rgba(15, 23, 42, .22), inset 0 1px 0 rgba(255,255,255,.045) !important;
}

body#identity .pratinium-account-shortcuts-v353 .pas-v353-btn,
body.page-identity .pratinium-account-shortcuts-v353 .pas-v353-btn,
body.pratinium-identity-page-v355 .pratinium-account-shortcuts-v353 .pas-v353-btn {
  min-height: 52px !important;
  border-radius: 12px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035)) !important;
}

body#identity .pratinium-account-shortcuts-v353 .pas-v353-btn.is-active,
body#identity .pratinium-account-shortcuts-v353 .pas-v353-btn[aria-current="page"],
body.page-identity .pratinium-account-shortcuts-v353 .pas-v353-btn.is-active,
body.pratinium-identity-page-v355 .pratinium-account-shortcuts-v353 .pas-v353-btn.is-active {
  border-color: rgba(255, 205, 89, .94) !important;
  background: linear-gradient(135deg, rgba(255, 213, 106, .31), rgba(255, 181, 35, .15)) !important;
  box-shadow: 0 12px 30px rgba(255, 186, 45, .11), inset 0 1px 0 rgba(255,255,255,.13) !important;
}

/* 4) Carte profil. */
body#identity #customer-form,
body#identity form.js-customer-form,
body.page-identity #customer-form,
body.pratinium-identity-page-v355 #customer-form {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 26px !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(148, 163, 184, .24) !important;
  border-radius: 24px !important;
  background: linear-gradient(145deg, rgba(255,255,255,.995), rgba(248,251,255,.985)) !important;
  box-shadow: 0 22px 58px rgba(15, 23, 42, .10), inset 0 1px 0 rgba(255,255,255,.9) !important;
}

body#identity #customer-form::after,
body#identity form.js-customer-form::after,
body.page-identity #customer-form::after,
body.pratinium-identity-page-v355 #customer-form::after {
  content: "" !important;
  position: absolute !important;
  z-index: -1 !important;
  top: -190px !important;
  right: -110px !important;
  width: 400px !important;
  height: 400px !important;
  border-radius: 999px !important;
  background: radial-gradient(circle, rgba(14,165,233,.12), rgba(14,165,233,0) 69%) !important;
  pointer-events: none !important;
}

body#identity .pratinium-identity-intro-v355,
body.page-identity .pratinium-identity-intro-v355,
body.pratinium-identity-page-v355 .pratinium-identity-intro-v355 {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  grid-template-columns: 56px minmax(0, 1fr) !important;
  gap: 17px !important;
  align-items: center !important;
  margin: 0 0 20px !important;
  padding: 18px 20px !important;
  border: 1px solid rgba(14, 165, 233, .17) !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, rgba(241,249,255,.96), rgba(255,255,255,.96)) !important;
  box-shadow: 0 10px 30px rgba(15,23,42,.055) !important;
}

body#identity .pratinium-identity-intro-v355__icon,
body.page-identity .pratinium-identity-intro-v355__icon,
body.pratinium-identity-page-v355 .pratinium-identity-intro-v355__icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 16px !important;
  color: #fff !important;
  background: linear-gradient(145deg, #0b2442, #11aee9) !important;
  box-shadow: 0 12px 26px rgba(14,165,233,.24), inset 0 1px 0 rgba(255,255,255,.25) !important;
}

body#identity .pratinium-identity-intro-v355__icon svg,
body.page-identity .pratinium-identity-intro-v355__icon svg,
body.pratinium-identity-page-v355 .pratinium-identity-intro-v355__icon svg {
  width: 27px !important;
  height: 27px !important;
  stroke: currentColor !important;
}

/* Grille des champs : deux colonnes sur desktop, comportement intact pour les champs masqués. */
body#identity #customer-form > section,
body#identity form.js-customer-form > section,
body.page-identity #customer-form > section,
body.pratinium-identity-page-v355 #customer-form > section {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
}

body#identity #customer-form .form-group.row,
body#identity form.js-customer-form .form-group.row,
body.page-identity #customer-form .form-group.row,
body.pratinium-identity-page-v355 #customer-form .form-group.row {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 17px 18px !important;
  border: 1px solid rgba(203, 213, 225, .72) !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.91) !important;
  box-shadow: 0 8px 24px rgba(15,23,42,.045), inset 0 1px 0 rgba(255,255,255,.8) !important;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

body#identity #customer-form .form-group.row:focus-within,
body#identity form.js-customer-form .form-group.row:focus-within,
body.page-identity #customer-form .form-group.row:focus-within,
body.pratinium-identity-page-v355 #customer-form .form-group.row:focus-within {
  transform: translateY(-1px) !important;
  border-color: rgba(14,165,233,.52) !important;
  box-shadow: 0 12px 30px rgba(14,165,233,.09), 0 0 0 3px rgba(14,165,233,.07) !important;
}

/* Les blocs civilité, cases à cocher et consentements restent pleine largeur. */
body#identity #customer-form .form-group.row:first-child,
body#identity #customer-form .form-group.row:has(input[type="checkbox"]),
body#identity #customer-form .form-group.row:has(.custom-checkbox),
body#identity form.js-customer-form .form-group.row:first-child,
body#identity form.js-customer-form .form-group.row:has(input[type="checkbox"]),
body.page-identity #customer-form .form-group.row:first-child,
body.pratinium-identity-page-v355 #customer-form .form-group.row:first-child {
  grid-column: 1 / -1 !important;
}

/* Respect absolu des champs dynamiquement masqués (B2B, options conditionnelles). */
body#identity #customer-form .form-group.row.d-none,
body#identity #customer-form .form-group.row.hidden,
body#identity #customer-form .form-group.row[hidden],
body#identity #customer-form .form-group.row[style*="display: none"],
body#identity form.js-customer-form .form-group.row.d-none,
body#identity form.js-customer-form .form-group.row.hidden,
body#identity form.js-customer-form .form-group.row[hidden],
body#identity form.js-customer-form .form-group.row[style*="display: none"] {
  display: none !important;
}

body#identity #customer-form .form-control-label,
body#identity #customer-form .col-form-label,
body#identity form.js-customer-form .form-control-label,
body.page-identity #customer-form .form-control-label,
body.pratinium-identity-page-v355 #customer-form .form-control-label {
  flex: 0 0 132px !important;
  max-width: 132px !important;
  padding: 10px 14px 0 0 !important;
  color: #172033 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  text-align: left !important;
}

body#identity #customer-form .form-group.row > div[class*="col-"],
body#identity form.js-customer-form .form-group.row > div[class*="col-"],
body.page-identity #customer-form .form-group.row > div[class*="col-"],
body.pratinium-identity-page-v355 #customer-form .form-group.row > div[class*="col-"] {
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

body#identity #customer-form input.form-control,
body#identity #customer-form select.form-control,
body#identity #customer-form textarea.form-control,
body#identity form.js-customer-form input.form-control,
body#identity form.js-customer-form select.form-control,
body#identity form.js-customer-form textarea.form-control,
body.page-identity #customer-form input.form-control,
body.pratinium-identity-page-v355 #customer-form input.form-control {
  width: 100% !important;
  min-height: 50px !important;
  padding: 11px 15px !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 12px !important;
  background: linear-gradient(180deg, #fbfdff, #f7fafc) !important;
  color: #0f172a !important;
  font-size: 14px !important;
  box-shadow: inset 0 1px 2px rgba(15,23,42,.035) !important;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease !important;
}

body#identity #customer-form input.form-control:focus,
body#identity #customer-form select.form-control:focus,
body#identity #customer-form textarea.form-control:focus,
body#identity form.js-customer-form input.form-control:focus,
body#identity form.js-customer-form select.form-control:focus,
body#identity form.js-customer-form textarea.form-control:focus {
  border-color: #0ea5e9 !important;
  background: #fff !important;
  box-shadow: 0 0 0 4px rgba(14,165,233,.11), inset 0 1px 2px rgba(15,23,42,.025) !important;
  outline: none !important;
}

body#identity #customer-form input[type="radio"],
body#identity #customer-form input[type="checkbox"],
body#identity form.js-customer-form input[type="radio"],
body#identity form.js-customer-form input[type="checkbox"] {
  accent-color: #0ea5e9 !important;
}

body#identity #customer-form .form-control-comment,
body#identity #customer-form .form-text,
body#identity #customer-form small,
body#identity form.js-customer-form .form-control-comment,
body#identity form.js-customer-form .form-text,
body#identity form.js-customer-form small {
  display: block !important;
  margin-top: 5px !important;
  color: #7c8798 !important;
  font-size: 11.5px !important;
  line-height: 1.42 !important;
}

body#identity #customer-form .custom-radio,
body#identity #customer-form .custom-checkbox,
body#identity form.js-customer-form .custom-radio,
body#identity form.js-customer-form .custom-checkbox {
  color: #334155 !important;
  font-size: 13px !important;
}

body#identity #customer-form footer.form-footer,
body#identity form.js-customer-form footer.form-footer,
body.page-identity #customer-form footer.form-footer,
body.pratinium-identity-page-v355 #customer-form footer.form-footer {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  margin: 20px 0 0 !important;
  padding: 20px 0 0 !important;
  border-top: 1px solid rgba(203,213,225,.72) !important;
}

body#identity #customer-form .form-control-submit,
body#identity #customer-form button[type="submit"],
body#identity form.js-customer-form .form-control-submit,
body#identity form.js-customer-form button[type="submit"],
body.page-identity #customer-form .form-control-submit,
body.pratinium-identity-page-v355 #customer-form .form-control-submit {
  min-width: 210px !important;
  min-height: 50px !important;
  padding: 12px 24px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, #0c2648 0%, #0ea5e9 100%) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  letter-spacing: .035em !important;
  text-transform: uppercase !important;
  box-shadow: 0 14px 30px rgba(14,165,233,.24), inset 0 1px 0 rgba(255,255,255,.22) !important;
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease !important;
}

body#identity #customer-form .form-control-submit:hover,
body#identity #customer-form button[type="submit"]:hover,
body#identity form.js-customer-form .form-control-submit:hover,
body#identity form.js-customer-form button[type="submit"]:hover {
  transform: translateY(-1px) !important;
  filter: saturate(1.08) brightness(1.02) !important;
  box-shadow: 0 17px 34px rgba(14,165,233,.30), inset 0 1px 0 rgba(255,255,255,.25) !important;
}

/* 5) Navigation basse harmonisée. */
body#identity .page-footer,
body.page-identity .page-footer,
body.pratinium-identity-page-v355 .page-footer {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 18px 0 0 !important;
  padding: 17px 20px !important;
  border: 1px solid rgba(203,213,225,.72) !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.88) !important;
  box-shadow: 0 10px 28px rgba(15,23,42,.05) !important;
}

body#identity .page-footer a,
body.page-identity .page-footer a,
body.pratinium-identity-page-v355 .page-footer a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 9px 15px !important;
  border: 1px solid rgba(14,165,233,.54) !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #0284c7 !important;
  font-size: 12.5px !important;
  font-weight: 750 !important;
  text-decoration: none !important;
  box-shadow: 0 5px 16px rgba(14,165,233,.06) !important;
}

body#identity .page-footer a:hover,
body.page-identity .page-footer a:hover,
body.pratinium-identity-page-v355 .page-footer a:hover {
  border-color: #0ea5e9 !important;
  background: #f0f9ff !important;
  color: #0369a1 !important;
}

@media (max-width: 991px) {
  body#identity #customer-form > section,
  body#identity form.js-customer-form > section,
  body.page-identity #customer-form > section,
  body.pratinium-identity-page-v355 #customer-form > section {
    grid-template-columns: 1fr !important;
  }

  body#identity #customer-form .form-group.row,
  body#identity form.js-customer-form .form-group.row {
    grid-column: 1 / -1 !important;
  }

  body#identity .pratinium-identity-intro-v355,
  body.page-identity .pratinium-identity-intro-v355,
  body.pratinium-identity-page-v355 .pratinium-identity-intro-v355 {
    grid-template-columns: 52px minmax(0, 1fr) !important;
  }

}

@media (max-width: 767px) {
  body#identity #content-wrapper,
  body.page-identity #content-wrapper,
  body.pratinium-identity-page-v355 #content-wrapper {
    padding: 0 12px 24px !important;
  }

  body#identity .pratinium-account-shortcuts-v353,
  body.page-identity .pratinium-account-shortcuts-v353,
  body.pratinium-identity-page-v355 .pratinium-account-shortcuts-v353 {
    margin: 12px auto 16px !important;
    padding: 0 12px !important;
  }

  body#identity #customer-form,
  body#identity form.js-customer-form,
  body.page-identity #customer-form,
  body.pratinium-identity-page-v355 #customer-form {
    padding: 16px !important;
    border-radius: 19px !important;
  }

  body#identity .pratinium-identity-intro-v355,
  body.page-identity .pratinium-identity-intro-v355,
  body.pratinium-identity-page-v355 .pratinium-identity-intro-v355 {
    grid-template-columns: 46px minmax(0, 1fr) !important;
    gap: 13px !important;
    padding: 15px !important;
    border-radius: 15px !important;
  }

  body#identity .pratinium-identity-intro-v355__icon,
  body.page-identity .pratinium-identity-intro-v355__icon,
  body.pratinium-identity-page-v355 .pratinium-identity-intro-v355__icon {
    width: 46px !important;
    height: 46px !important;
    border-radius: 13px !important;
  }

  body#identity .pratinium-identity-intro-v355__icon svg,
  body.page-identity .pratinium-identity-intro-v355__icon svg,
  body.pratinium-identity-page-v355 .pratinium-identity-intro-v355__icon svg {
    width: 23px !important;
    height: 23px !important;
  }

  body#identity .pratinium-identity-intro-v355 h1,
  body.page-identity .pratinium-identity-intro-v355 h1,
  body.pratinium-identity-page-v355 .pratinium-identity-intro-v355 h1 {
    font-size: 20px !important;
  }


  body#identity #customer-form .form-group.row,
  body#identity form.js-customer-form .form-group.row {
    display: block !important;
    padding: 15px !important;
    border-radius: 14px !important;
  }

  body#identity #customer-form .form-group.row.d-none,
  body#identity #customer-form .form-group.row.hidden,
  body#identity #customer-form .form-group.row[hidden],
  body#identity #customer-form .form-group.row[style*="display: none"],
  body#identity form.js-customer-form .form-group.row.d-none,
  body#identity form.js-customer-form .form-group.row.hidden,
  body#identity form.js-customer-form .form-group.row[hidden],
  body#identity form.js-customer-form .form-group.row[style*="display: none"] {
    display: none !important;
  }

  body#identity #customer-form .form-control-label,
  body#identity form.js-customer-form .form-control-label {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    padding: 0 0 8px !important;
  }

  body#identity #customer-form footer.form-footer,
  body#identity form.js-customer-form footer.form-footer {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  body#identity #customer-form .form-control-submit,
  body#identity #customer-form button[type="submit"],
  body#identity form.js-customer-form .form-control-submit,
  body#identity form.js-customer-form button[type="submit"] {
    width: 100% !important;
    min-width: 0 !important;
  }
}
