/* PRATINIUM v146 — Page Contact premium
 * Objectif : moderniser /nous-contacter sans toucher aux liens header, devise ou panier.
 */

/* Scope strict page contact PrestaShop */
body#contact,
body.page-contact {
  background: #f4f8fc !important;
}

body#contact #wrapper,
body.page-contact #wrapper {
  background:
    radial-gradient(circle at 16% 0%, rgba(41, 182, 211, .10), transparent 28%),
    linear-gradient(180deg, #f6faff 0%, #eef5fb 100%) !important;
  box-shadow: none !important;
  padding-top: 0 !important;
}

/* Bandeau titre inspiré du style institutionnel Pratinium */
body#contact #main .page-header,
body.page-contact #main .page-header {
  position: relative;
  width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  margin-top: 0 !important;
  margin-bottom: 32px !important;
  padding: 36px 20px 34px !important;
  text-align: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 18%, rgba(42, 188, 220, .18), transparent 20%),
    radial-gradient(circle at 82% 10%, rgba(251, 190, 70, .15), transparent 22%),
    linear-gradient(135deg, #021b34 0%, #06365d 52%, #082642 100%) !important;
  border: 0 !important;
  box-shadow: inset 0 -1px 0 rgba(255,255,255,.08);
}

body#contact #main .page-header::before,
body.page-contact #main .page-header::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .40;
  background:
    linear-gradient(115deg, transparent 0 54%, rgba(47, 193, 224, .18) 55%, transparent 72%),
    repeating-radial-gradient(circle at 20% 22%, rgba(255,255,255,.58) 0 1px, transparent 2px 42px);
  pointer-events: none;
}

body#contact #main .page-header h1,
body.page-contact #main .page-header h1 {
  position: relative;
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(28px, 3vw, 42px) !important;
  line-height: 1.12 !important;
  font-weight: 800 !important;
  letter-spacing: -.03em;
  text-transform: none !important;
  text-shadow: 0 12px 34px rgba(0,0,0,.22);
}

body#contact #main .page-header h1::after,
body.page-contact #main .page-header h1::after {
  content: "Notre équipe est à votre écoute. Nous vous répondrons dans les meilleurs délais.";
  display: block;
  margin: 14px auto 0;
  max-width: 720px;
  color: rgba(255,255,255,.88);
  font-size: 15px;
  line-height: 1.55;
  font-weight: 500;
  letter-spacing: 0;
}

/* Mise en page en cartes */
body#contact #main,
body.page-contact #main {
  max-width: 1180px;
  margin: 0 auto;
}

body#contact #content,
body.page-contact #content,
body#contact .page-content,
body.page-contact .page-content {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body#contact #left-column,
body.page-contact #left-column,
body#contact #content-wrapper,
body.page-contact #content-wrapper {
  padding-top: 0 !important;
}

body#contact .contact-rich,
body.page-contact .contact-rich,
body#contact .contact-form,
body.page-contact .contact-form {
  background: rgba(255,255,255,.94) !important;
  border: 1px solid rgba(7, 37, 68, .08) !important;
  border-radius: 22px !important;
  box-shadow: 0 18px 54px rgba(2, 27, 52, .08) !important;
}

body#contact .contact-rich,
body.page-contact .contact-rich {
  padding: 28px 28px 26px !important;
  color: #17324d !important;
}

body#contact .contact-rich h4,
body.page-contact .contact-rich h4,
body#contact .contact-form h3,
body.page-contact .contact-form h3 {
  position: relative;
  margin: 0 0 24px !important;
  padding-bottom: 14px;
  color: #071f3a !important;
  font-size: 21px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  text-transform: none !important;
  letter-spacing: -.02em;
}

body#contact .contact-rich h4::after,
body.page-contact .contact-rich h4::after,
body#contact .contact-form h3::after,
body.page-contact .contact-form h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 44px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, #f7b93f, #2bb9d6);
}

body#contact .contact-rich .block,
body.page-contact .contact-rich .block {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin: 0 !important;
  padding: 18px 0 !important;
  border-bottom: 1px solid rgba(7,31,58,.08) !important;
}

body#contact .contact-rich .block:last-child,
body.page-contact .contact-rich .block:last-child {
  border-bottom: 0 !important;
}

body#contact .contact-rich .material-icons,
body.page-contact .contact-rich .material-icons {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #071f3a !important;
  color: #fff !important;
  font-size: 20px !important;
  box-shadow: 0 12px 26px rgba(7,31,58,.18);
}

body#contact .contact-rich a,
body.page-contact .contact-rich a {
  color: #1aa9c8 !important;
  font-weight: 700;
}

body#contact .contact-form,
body.page-contact .contact-form {
  padding: 30px 32px 32px !important;
}

body#contact .contact-form .form-group,
body.page-contact .contact-form .form-group {
  margin-bottom: 20px !important;
}

body#contact .contact-form label,
body.page-contact .contact-form label {
  color: #071f3a !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-transform: none !important;
}

body#contact .contact-form .form-control,
body.page-contact .contact-form .form-control,
body#contact .contact-form select,
body.page-contact .contact-form select,
body#contact .contact-form textarea,
body.page-contact .contact-form textarea {
  min-height: 46px !important;
  border: 1px solid rgba(7,31,58,.12) !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #17324d !important;
  font-size: 14px !important;
  box-shadow: none !important;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

body#contact .contact-form textarea,
body.page-contact .contact-form textarea {
  min-height: 128px !important;
  resize: vertical;
}

body#contact .contact-form .form-control:focus,
body.page-contact .contact-form .form-control:focus,
body#contact .contact-form select:focus,
body.page-contact .contact-form select:focus,
body#contact .contact-form textarea:focus,
body.page-contact .contact-form textarea:focus {
  border-color: rgba(43,185,214,.70) !important;
  box-shadow: 0 0 0 4px rgba(43,185,214,.12) !important;
}

body#contact .contact-form .btn,
body.page-contact .contact-form .btn,
body#contact .contact-form .btn-primary,
body.page-contact .contact-form .btn-primary,
body#contact .contact-form input[type="submit"],
body.page-contact .contact-form input[type="submit"] {
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(135deg, #071f3a 0%, #06365d 100%) !important;
  color: #fff !important;
  padding: 15px 26px !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .02em;
  text-transform: uppercase;
  box-shadow: 0 16px 34px rgba(7,31,58,.22) !important;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

body#contact .contact-form .btn:hover,
body.page-contact .contact-form .btn:hover,
body#contact .contact-form input[type="submit"]:hover,
body.page-contact .contact-form input[type="submit"]:hover {
  transform: translateY(-1px);
  filter: brightness(1.06);
  box-shadow: 0 20px 44px rgba(7,31,58,.28) !important;
}

body#contact .contact-form .custom-file-button,
body.page-contact .contact-form .custom-file-button,
body#contact .contact-form .input-group .btn,
body.page-contact .contact-form .input-group .btn {
  background: #08345a !important;
  box-shadow: none !important;
}

/* Desktop : espacement et proportions proches de la capture 2 */
@media (min-width: 768px) {
  body#contact #main .row,
  body.page-contact #main .row {
    display: flex;
    align-items: flex-start;
  }

  body#contact #left-column,
  body.page-contact #left-column {
    width: 31% !important;
    max-width: 31% !important;
    flex: 0 0 31% !important;
  }

  body#contact #content-wrapper,
  body.page-contact #content-wrapper {
    width: 69% !important;
    max-width: 69% !important;
    flex: 0 0 69% !important;
  }

  body#contact .contact-rich,
  body.page-contact .contact-rich,
  body#contact .contact-form,
  body.page-contact .contact-form {
    min-height: 100%;
  }
}

@media (max-width: 767px) {
  body#contact #main .page-header,
  body.page-contact #main .page-header {
    padding: 30px 18px 28px !important;
    margin-bottom: 22px !important;
  }

  body#contact #main .page-header h1,
  body.page-contact #main .page-header h1 {
    font-size: 30px !important;
  }

  body#contact #main .page-header h1::after,
  body.page-contact #main .page-header h1::after {
    font-size: 14px;
  }

  body#contact .contact-rich,
  body.page-contact .contact-rich,
  body#contact .contact-form,
  body.page-contact .contact-form {
    border-radius: 18px !important;
    padding: 22px 18px !important;
    margin-bottom: 18px !important;
  }

  body#contact .contact-form .form-footer,
  body.page-contact .contact-form .form-footer {
    text-align: center !important;
  }

  body#contact .contact-form .btn,
  body.page-contact .contact-form .btn,
  body#contact .contact-form input[type="submit"],
  body.page-contact .contact-form input[type="submit"] {
    width: 100% !important;
  }
}
