/**
 * Folies Secrètes — Contact premium (Lot C)
 * Scope strict : body#contact uniquement
 * Chargé via theme.yml (controller contact, priority 515)
 * Styles migrés depuis contactform.tpl (inline) — sans impact fonctionnel formulaire
 */

@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Manrope:wght@300;400;500;600&display=swap");

/* FS Contact premium — Lot C */
   FS CONTACT PREMIUM — Tranche 1A (thème enfant)
   CSS consolidé : un seul système de centrage, sans translateX
   ========================================================= */

body#contact,
body#contact #wrapper,
body#contact #content-wrapper,
body#contact #main,
body#contact #content,
body#contact .page-content {
  background: linear-gradient(180deg, #f5f0ea 0%, #fdfcfa 55%, #faf8f5 100%) !important;
}

body#contact #main,
body#contact #content,
body#contact .page-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  float: none !important;
  overflow: visible !important;
}

/* Sortir du cadre col-md-6 Panda (contact.tpl) — centrage réel sans translateX */
body#contact #content .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body#contact #content .row > .col-md-6:first-child {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body#contact #content .row > .col-md-6:last-child {
  display: none !important;
}

body#contact #main::before,
body#contact #main::after,
body#contact #content::before,
body#contact #content::after,
body#contact .page-content::before,
body#contact .page-content::after,
body#contact .contact-form::before,
body#contact .contact-form::after,
body#contact .contact-form h1::before,
body#contact .contact-form h2::before,
body#contact .contact-form h3::before,
body#contact .contact-form .h3::before,
body#contact .contact-form form::before {
  content: none !important;
  display: none !important;
}

body#contact .fs-contact-premium,
body#contact .fs-contact-premium * {
  box-sizing: border-box !important;
}

/* Conteneur principal — centrage unique via margin auto */
body#contact .fs-contact-premium {
  width: min(1040px, calc(100vw - 48px)) !important;
  max-width: 1040px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 44px 0 72px !important;
  color: #2c2823 !important;
}

body#contact .fs-contact-hero {
  max-width: 760px !important;
  margin: 0 auto 36px auto !important;
  text-align: center !important;
}

body#contact .fs-contact-kicker {
  margin: 0 0 9px !important;
  color: #b8956b !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

body#contact .fs-contact-hero h1 {
  margin: 0 0 14px !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 39px !important;
  font-weight: 500 !important;
  line-height: 1.15 !important;
  color: #28251f !important;
}

body#contact .fs-contact-hero p {
  max-width: 690px !important;
  margin: 0 auto !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
  color: #6f675d !important;
}

body#contact .fs-contact-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 600px) minmax(320px, 390px) !important;
  gap: 36px !important;
  align-items: start !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 1040px !important;
  margin: 0 auto !important;
}

/* Carte formulaire */
body#contact .fs-contact-form-card {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 44px 46px 42px !important;
  background: #fffdfa !important;
  border: 1px solid rgba(186,157,95,.38) !important;
  border-radius: 28px !important;
  box-shadow: 0 30px 85px rgba(37,31,24,.10) !important;
  overflow: visible !important;
}

body#contact .fs-contact-form-card form {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body#contact .fs-contact-form-card header {
  margin: 0 0 30px !important;
  padding: 0 !important;
}

body#contact .fs-contact-form-card h2,
body#contact .fs-contact-form-card .h3 {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  margin: 0 0 16px !important;
  padding: 0 0 16px !important;
  text-align: left !important;
  font-family: "Manrope", system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: #39332c !important;
}

body#contact .fs-contact-form-card h2::after,
body#contact .fs-contact-form-card .h3::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 70px !important;
  height: 2px !important;
  background: #b8956b !important;
  border-radius: 30px !important;
}

body#contact .fs-contact-form-intro {
  max-width: 500px !important;
  margin: 0 !important;
  font-size: 13px !important;
  line-height: 1.75 !important;
  color: #6f675d !important;
}

/* Notifications premium */
body#contact .fs-contact-form-card .fs-contact-notification {
  margin: 0 0 24px !important;
  padding: 16px 20px !important;
  border-radius: 16px !important;
  border: 1px solid transparent !important;
  box-shadow: 0 10px 28px rgba(37,31,24,.06) !important;
}

body#contact .fs-contact-form-card .fs-contact-notification ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body#contact .fs-contact-form-card .fs-contact-notification li {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
}

body#contact .fs-contact-form-card .fs-contact-notification li + li {
  margin-top: 6px !important;
}

body#contact .fs-contact-form-card .fs-contact-notification-success {
  background: rgba(184,154,79,.12) !important;
  border-color: rgba(184,154,79,.38) !important;
  color: #3a332b !important;
}

body#contact .fs-contact-form-card .fs-contact-notification-error {
  background: rgba(231,71,114,.08) !important;
  border-color: rgba(231,71,114,.28) !important;
  color: #5c2a38 !important;
}

body#contact .fs-contact-form-card .form-fields > label {
  display: block !important;
  width: 100% !important;
  margin: 0 0 21px !important;
  padding: 0 !important;
}

body#contact .fs-contact-form-card label > span,
body#contact .fs-contact-form-card .form-control-label {
  display: block !important;
  margin: 0 0 8px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #39332c !important;
}

body#contact .fs-contact-form-card input[type="text"],
body#contact .fs-contact-form-card input[type="email"],
body#contact .fs-contact-form-card input[type="password"],
body#contact .fs-contact-form-card select,
body#contact .fs-contact-form-card textarea,
body#contact .fs-contact-form-card .form-control {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 50px !important;
  padding: 0 17px !important;
  background: #fffefa !important;
  border: 1px solid rgba(176,157,128,.58) !important;
  border-radius: 15px !important;
  box-shadow: none !important;
  color: #2c2823 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  transition: all .25s ease !important;
}

body#contact .fs-contact-form-card textarea {
  min-height: 145px !important;
  height: 145px !important;
  padding: 15px 17px !important;
  resize: vertical !important;
}

body#contact .fs-contact-form-card input::placeholder,
body#contact .fs-contact-form-card textarea::placeholder {
  color: #bfb7ab !important;
  opacity: 1 !important;
}

body#contact .fs-contact-form-card input:focus,
body#contact .fs-contact-form-card select:focus,
body#contact .fs-contact-form-card textarea:focus {
  border-color: #c6a45a !important;
  background: #fff !important;
  box-shadow: 0 0 0 4px rgba(198,164,90,.14) !important;
  outline: none !important;
}

/* Document joint — rendu premium */
body#contact .fs-contact-file-wrap > span:first-child {
  display: block !important;
  margin: 0 0 8px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #39332c !important;
}

body#contact .fs-contact-file-control {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  min-height: 50px !important;
  padding: 0 16px !important;
  background: #fffefa !important;
  border: 1px solid rgba(176,157,128,.58) !important;
  border-radius: 15px !important;
  transition: all .25s ease !important;
}

body#contact .fs-contact-file-control-flow {
  display: block !important;
}

body#contact .fs-contact-file-control-flow:focus-within .fs-contact-file-control {
  border-color: #c6a45a !important;
  background: #fff !important;
  box-shadow: 0 0 0 4px rgba(198,164,90,.14) !important;
}

body#contact .fs-contact-file-control input[type="file"] {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  cursor: pointer !important;
  border: 0 !important;
  background: transparent !important;
}

body#contact .fs-contact-file-ui {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  width: 100% !important;
  pointer-events: none !important;
}

body#contact .fs-contact-file-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  min-height: 34px !important;
  padding: 0 16px !important;
  background: #fff !important;
  border: 1px solid #b8956b !important;
  border-radius: 999px !important;
  color: #3a332b !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

body#contact .fs-contact-file-hint {
  font-size: 12px !important;
  line-height: 1.45 !important;
  color: #8a8175 !important;
}

body#contact .fs-contact-file-note {
  display: block !important;
  margin: 8px 0 0 !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  color: #8a8175 !important;
}

/* Consentement */
body#contact .fs-contact-consent {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 6px 0 24px !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
  color: #4d463d !important;
}

body#contact .fs-contact-consent input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  margin: 1px 0 0 !important;
  flex: 0 0 auto !important;
  accent-color: #b8956b !important;
  cursor: pointer !important;
}

body#contact .fs-contact-consent span {
  margin: 0 !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
  color: #4d463d !important;
}

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

/* Bouton Envoyer — présence renforcée au repos */
body#contact .fs-contact-form-card button[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 180px !important;
  height: 50px !important;
  margin: 6px auto 0 !important;
  padding: 0 34px !important;
  background: linear-gradient(135deg, #4a2f3a 0%, #2a1720 100%) !important;
  border: 1px solid #2c2823 !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
  box-shadow: 0 18px 38px rgba(37,31,24,.20) !important;
  transition: all .25s ease !important;
  cursor: pointer !important;
}

body#contact .fs-contact-form-card button[type="submit"]:hover {
  background: linear-gradient(135deg, #4a2f3a 0%, #5a3d48 100%) !important;
  border-color: rgba(184, 149, 107, 0.45) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 20px 40px rgba(42, 23, 32, 0.22) !important;
}

/* Colonne droite */
body#contact .fs-contact-aside {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 18px !important;
  width: 100% !important;
}

body#contact .fs-contact-aside-card {
  position: relative !important;
  display: block !important;
  padding: 28px 28px 26px !important;
  background: #fffdfa !important;
  border: 1px solid rgba(186,157,95,.32) !important;
  border-radius: 24px !important;
  box-shadow: 0 22px 58px rgba(37,31,24,.07) !important;
  overflow: hidden !important;
}

body#contact .fs-contact-aside-card::before {
  content: "" !important;
  position: absolute !important;
  top: -42px !important;
  right: -42px !important;
  width: 120px !important;
  height: 120px !important;
  background: rgba(184,154,79,.10) !important;
  border-radius: 50% !important;
}

body#contact .fs-contact-aside-main {
  background: linear-gradient(135deg, #2a1720 0%, #452536 100%) !important;
  border-color: rgba(184,154,79,.48) !important;
  color: #fff !important;
}

body#contact .fs-contact-aside-icon {
  position: relative !important;
  z-index: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  margin-bottom: 18px !important;
  border: 1px solid #b8956b !important;
  border-radius: 999px !important;
  color: #b8956b !important;
  font-size: 16px !important;
}

body#contact .fs-contact-aside-card h2,
body#contact .fs-contact-aside-card h3 {
  position: relative !important;
  z-index: 2 !important;
  margin: 0 0 12px !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  color: #2c2823 !important;
}

body#contact .fs-contact-aside-main h2,
body#contact .fs-contact-aside-main h3 {
  color: #fff !important;
}

body#contact .fs-contact-aside-card p,
body#contact .fs-contact-aside-card a {
  position: relative !important;
  z-index: 2 !important;
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
  color: #6f675d !important;
}

body#contact .fs-contact-aside-main p {
  color: rgba(255,255,255,.82) !important;
}

body#contact .fs-contact-aside-main a {
  display: inline-block !important;
  margin-top: 16px !important;
  color: #d8bd75 !important;
  text-decoration: none !important;
}

/* Blocs bas */
body#contact .fs-contact-reassurance {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: 1040px !important;
  margin: 28px auto 0 !important;
}

body#contact .fs-contact-reassurance > div {
  padding: 24px 22px !important;
  background: #fffdfa !important;
  border: 1px solid rgba(186,157,95,.32) !important;
  border-radius: 20px !important;
  box-shadow: 0 18px 46px rgba(37,31,24,.06) !important;
}

body#contact .fs-contact-reassurance span {
  display: block !important;
  margin-bottom: 10px !important;
  color: #b8956b !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
}

body#contact .fs-contact-reassurance strong {
  display: block !important;
  margin-bottom: 8px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: #2c2823 !important;
}

body#contact .fs-contact-reassurance p {
  margin: 0 !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
  color: #6f675d !important;
}

/* Masque anti-spam PrestaShop */
body#contact .fs-contact-form-card input[name="url"],
body#contact .fs-contact-form-card input[name=url],
body#contact input[name="url"],
body#contact input[name=url] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  position: absolute !important;
  left: -9999px !important;
}

@media (max-width: 991px) {
  body#contact .fs-contact-premium {
    width: min(720px, calc(100vw - 36px)) !important;
    padding: 38px 0 64px !important;
  }

  body#contact .fs-contact-layout {
    grid-template-columns: 1fr !important;
    max-width: 680px !important;
  }

  body#contact .fs-contact-reassurance {
    grid-template-columns: 1fr !important;
    max-width: 680px !important;
  }
}

@media (max-width: 767px) {
  body#contact .fs-contact-premium {
    width: calc(100vw - 28px) !important;
    padding: 30px 0 52px !important;
  }

  body#contact .fs-contact-hero h1 {
    font-size: 29px !important;
  }

  body#contact .fs-contact-hero p {
    font-size: 14px !important;
  }

  body#contact .fs-contact-form-card {
    padding: 30px 22px !important;
    border-radius: 22px !important;
  }

  body#contact .fs-contact-aside-card {
    padding: 24px 22px !important;
    border-radius: 22px !important;
  }

  body#contact .fs-contact-file-ui {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }

  body#contact .fs-contact-form-card button[type="submit"] {
    width: 100% !important;
  }
