/* Finition premium du site public GO! Je Dépose. */

:root {
  --go-premium-green: #0d3f22;
  --go-premium-green-2: #1f6037;
  --go-premium-cream: #fbfaf4;
  --go-premium-gold: #d8b44a;
  --go-premium-ink: #102b1a;
}

/* Le recrutement devient une action secondaire, hors du parcours client. */
.section-recruitment {
  display: none !important;
}

.go-driver-links {
  display: flex;
  justify-content: center;
  gap: 10px;
  padding: 18px 16px 6px;
  background: #f7f8f3;
}

.go-driver-links + div[style*="justify-content:center"] {
  padding-top: 6px !important;
}

.go-driver-join,
.go-driver-links + div[style*="justify-content:center"] a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 9px 15px !important;
  border: 1px solid rgba(13, 63, 34, .16) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .78) !important;
  box-shadow: none !important;
  color: #315840 !important;
  font: 650 .74rem/1.2 "DM Sans", sans-serif !important;
  text-decoration: none;
}

.go-driver-join:hover,
.go-driver-links + div[style*="justify-content:center"] a:hover {
  border-color: rgba(13, 63, 34, .34) !important;
  background: #fff !important;
}

/* Bloc de confiance : image nette, texte plus lisible, sans simuler un portrait réel. */
.section-about {
  background:
    radial-gradient(circle at 88% 10%, rgba(216, 180, 74, .14), transparent 34%),
    linear-gradient(145deg, #235c36 0%, #0d3f22 72%, #092f19 100%) !important;
}

.section-about .ph {
  border-color: rgba(255, 255, 255, .25) !important;
  box-shadow: 0 18px 42px rgba(4, 32, 16, .28) !important;
  background: #f5f1e8;
}

.section-about .ph img {
  opacity: 1 !important;
  filter: saturate(1.05) contrast(1.08) brightness(1.02) !important;
  transform: scale(1.008);
}

.section-about .sl {
  max-width: 610px;
  margin-inline: auto;
  color: #fff !important;
  font-family: "DM Sans", sans-serif !important;
  font-style: normal !important;
  font-weight: 750 !important;
  letter-spacing: -.035em;
}

.section-about .sl span {
  color: #f2d36d !important;
}

.section-about .desc {
  max-width: 680px;
  margin-inline: auto;
  color: rgba(255, 255, 255, .87) !important;
}

.section-about .tags,
.section-about .about-trust-strip {
  justify-content: center;
}

.section-about .tg,
.section-about .about-trust-strip > * {
  border-color: rgba(255, 255, 255, .2) !important;
  background: rgba(255, 255, 255, .09) !important;
  color: #fff !important;
}

/* Promesse tarifaire commune aux services variables. */
.go-price-promise {
  display: block;
  margin-top: 5px;
  color: #55705f;
  font-size: .66rem;
  font-weight: 650;
  line-height: 1.35;
}

.section-tarifs .tr[data-kind="service"] .go-price-promise,
.section-tarifs .pasino-card .go-price-promise {
  color: #58705f;
}

/* L'espace médicaments reprend strictement la palette GO, sans emojis système. */
.pharmacy-enhanced .ph-stg,
.ph-stg {
  position: relative;
  padding-left: 28px !important;
  color: #315f43 !important;
  background: #eef6f0 !important;
}

.pharmacy-enhanced .ph-stg::before,
.ph-stg::before {
  content: "";
  position: absolute;
  left: 13px;
  top: 50%;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #1f7a43;
  transform: translateY(-50%);
  box-shadow: 0 0 0 4px rgba(31, 122, 67, .12);
}

.pharmacy-enhanced .ph-tabs,
.ph-tabs {
  gap: 6px !important;
  padding: 5px !important;
  border: 1px solid rgba(13, 63, 34, .12) !important;
  border-radius: 15px !important;
  background: #f6f8f4 !important;
}

.pharmacy-enhanced .ph-tab,
.ph-tab {
  min-height: 45px;
  border: 0 !important;
  border-radius: 11px !important;
  background: transparent !important;
  color: #52685a !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}

.pharmacy-enhanced .ph-tab.active,
.ph-tab.active {
  background: var(--go-premium-green-2) !important;
  color: #fff !important;
  box-shadow: 0 6px 16px rgba(13, 63, 34, .2), 0 0 0 2px #fff, 0 0 0 4px rgba(216, 180, 74, .8) !important;
}

.ph-badge-b2c,
.ph-badge-b2b {
  border: 1px solid rgba(13, 63, 34, .16) !important;
  background: #eef6f0 !important;
  color: #1d6040 !important;
  box-shadow: none !important;
}

.ph-card-title {
  color: var(--go-premium-green) !important;
}

.ph-avantage .go-step-index {
  display: inline-grid;
  place-items: center;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #e7f2ea;
  color: #175a34;
  font-size: .7rem;
  font-weight: 800;
}

/* Actions mobiles simples : elles n'apparaissent qu'après le premier écran. */
.go-mobile-actions {
  display: none;
}

@media (max-width: 720px) {
  body {
    padding-bottom: 74px;
  }

  .go-mobile-actions {
    position: fixed;
    z-index: 980;
    top: auto;
    right: 10px;
    bottom: 10px;
    left: 10px;
    height: auto;
    min-height: 0;
    display: grid;
    grid-template-columns: 1.35fr 1fr;
    gap: 8px;
    padding: 7px;
    border: 1px solid rgba(13, 63, 34, .13);
    border-radius: 19px;
    background: rgba(251, 250, 244, .94);
    box-shadow: 0 16px 38px rgba(7, 42, 20, .2);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    opacity: 0;
    transform: translateY(120%);
    transition: opacity .24s ease, transform .24s ease;
    pointer-events: none;
  }

  .go-mobile-actions.is-visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }

  .go-mobile-actions button,
  .go-mobile-actions a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 47px;
    border: 0;
    border-radius: 13px;
    font: 750 .88rem/1 "DM Sans", sans-serif;
    text-decoration: none;
  }

  .go-mobile-actions button {
    background: linear-gradient(135deg, #0d3f22, #1f6037);
    color: #fff;
    box-shadow: 0 8px 20px rgba(13, 63, 34, .2);
  }

  .go-mobile-actions a {
    border: 1px solid rgba(13, 63, 34, .15);
    background: #fff;
    color: var(--go-premium-green);
  }

  body:has(.ov.open) .go-mobile-actions,
  body:has(.ph-sh.open) .go-mobile-actions {
    opacity: 0;
    transform: translateY(120%);
    pointer-events: none;
  }

  .section-about {
    padding-top: 38px !important;
    padding-bottom: 38px !important;
  }

  .section-about .sl {
    font-size: 2rem !important;
    line-height: 1.08 !important;
  }

  .go-driver-links {
    flex-direction: column;
    align-items: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .go-mobile-actions {
    transition: none;
  }
}

/* Ouverture des formulaires : mouvement court, droit et fluide dès le premier clic. */
.ov {
  transition: background .2s ease, opacity .18s ease, visibility 0s linear .2s !important;
}

.ov.open {
  transition-delay: 0s !important;
}

.ov .sh {
  opacity: .985;
  transform: translate3d(0, 16px, 0) !important;
  transform-origin: 50% 100%;
  transition: transform .24s cubic-bezier(.22, .78, .24, 1), opacity .16s ease !important;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  will-change: transform, opacity;
}

.ov.open .sh {
  opacity: 1;
  transform: translate3d(0, 0, 0) !important;
}

.ph-ov {
  transition: opacity .2s ease !important;
}

.ph-sh {
  transition: transform .24s cubic-bezier(.22, .78, .24, 1) !important;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  will-change: transform;
}

@media (min-width: 821px) {
  .ph-sh {
    transform: translate3d(-50%, calc(-50% + 16px), 0) !important;
    transition: transform .24s cubic-bezier(.22, .78, .24, 1), opacity .16s ease, visibility 0s linear .24s !important;
  }

  .ph-sh.open {
    transform: translate3d(-50%, -50%, 0) !important;
    transition-delay: 0s !important;
  }
}

@media (max-width: 720px) {
  .ov .sh {
    transform: translate3d(0, 24px, 0) !important;
  }

  .ov.open .sh {
    transform: translate3d(0, 0, 0) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ov,
  .ov .sh,
  .ph-ov,
  .ph-sh {
    transition: none !important;
  }
}
