/* ==========================================================================
   NATUR'O — certification marks
   The CE / IEC / RoHS / FCC artwork is white-on-transparent, so it must sit
   directly on the dark card. Rendering it inside a white tile made the logos
   invisible. Loaded after naturo.css so these rules win.
   ========================================================================== */

.cert-card__badge {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: auto;
  height: 54px;
  padding: 0 0 24px;
  margin-bottom: 24px;
  background: none;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, .14);
  border-radius: 0;
  box-sizing: content-box;
}

.cert-card__badge img {
  max-height: 100%;
  max-width: 152px;
  width: auto;
  object-fit: contain;
  object-position: left center;
}

@media (max-width: 620px) {
  .cert-card__badge { height: 46px; }
}

/* ==========================================================================
   Contact & boutique (adresse + carte)
   ========================================================================== */

.contact {
  min-height: 600px;
  padding-block: 0;
  display: flex;
  align-items: stretch;
  background:
    linear-gradient(110deg, #fff 0%, #fff 44%, var(--soft) 44%, var(--soft) 100%);
}

.contact > .shell { display: flex; width: 100%; }

.contact__grid {
  display: grid;
  grid-template-columns: minmax(340px, .78fr) minmax(0, 1.22fr);
  gap: clamp(22px, 3vw, 42px);
  align-items: center;
  width: 100%;
}

.contact__panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 600px;
  padding-block: clamp(40px, 5vw, 64px);
  padding-right: clamp(10px, 2vw, 28px);
}

.contact__panel .section-head { max-width: 440px; }
.contact__panel .section-title { font-size: clamp(1.9rem, 1.35rem + 1.6vw, 2.8rem); }
.contact__panel .lead { max-width: 40ch; font-size: clamp(.98rem, .92rem + .18vw, 1.08rem); }

.contact-list {
  display: grid;
  gap: 0;
  margin-top: clamp(20px, 2.5vw, 28px);
  max-width: 520px;
  border-top: 1px solid var(--line-soft);
}

.contact-item {
  display: flex;
  align-items: flex-start;
  gap: var(--s-3);
  padding: 13px 0;
  border: 0;
  border-bottom: 1px solid var(--line-soft);
  background: transparent;
  transition: transform .28s var(--ease), color .22s ease;
}

.contact-item:hover {
  transform: translateX(4px);
}

.contact-item:last-of-type { border-bottom: 1px solid var(--line-soft); }
.contact-item .ico { width: 20px; height: 20px; flex: none; margin-top: 3px; color: var(--cyan); }

.contact-item dt {
  font-size: var(--fs-xs);
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 5px;
}

.contact-item dd {
  margin: 0;
  font-size: .88rem;
  line-height: 1.48;
  font-weight: 600;
  color: var(--deep);
}

.contact-item dd a { transition: color .2s ease; }
.contact-item dd a:hover { color: var(--cyan-700); }
.contact-item dd small { display: block; margin-top: 3px; font-size: var(--fs-xs); font-weight: 500; color: var(--muted); }

.contact__actions { display: flex; flex-wrap: wrap; gap: var(--s-3); margin-top: clamp(20px, 2.5vw, 28px); }

/* --- Map --- */

.contact__map {
  position: relative;
  height: min(600px, calc(100vh - 78px));
  min-height: 420px;
  border: 1px solid var(--line-soft);
  border-radius: var(--r-sm);
  overflow: hidden;
  box-shadow: var(--sh-lg);
  background: var(--soft-2);
}

.contact__map iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

@media (max-width: 900px) {
  .contact {
    min-height: 0;
    padding-block: clamp(44px, 8vw, 70px);
    background: linear-gradient(180deg, #fff 0%, var(--soft) 100%);
  }

  .contact > .shell { display: block; }
  .contact__grid { grid-template-columns: 1fr; }
  .contact__panel { min-height: 0; padding: 0; }
  .contact__map { height: 360px; min-height: 300px; }
}

@media (max-width: 620px) {
  .contact__actions .btn { width: 100%; }
}
