/* ============================================
   Composants réutilisables
   ============================================ */

/* --- Bouton pilule (Figma : pl 2 / pr 29 / py 2, radius 90) --- */
.btn-pill {
  position: relative;
  display: inline-flex;
  align-items: stretch;
  padding: 2px 29px 2px 2px;
  border-radius: var(--r-pill);
  background: var(--c-black);
  overflow: hidden;
}

.btn-pill__face {
  display: flex;
  align-items: center;
  padding: 10px 20px;
  border-radius: var(--r-pill);
  background: var(--c-white);
  font-family: var(--f-ui);
  font-size: var(--fs-ui);
  font-weight: 600;
  line-height: var(--lh-ui);
  letter-spacing: 0;
  color: var(--c-black);
  white-space: nowrap;
}

.btn-pill__arc {
  position: absolute;
  top: 2px;
  right: 2px;
  bottom: 2px;
  width: 29px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-white);
}

.btn-pill__arc svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn-pill:hover .btn-pill__arc svg { transform: translateX(3px); }

/* Variante or (hero) : anneau or, face noire, texte blanc */
.btn-pill--gold { background: var(--c-gold); }
.btn-pill--gold .btn-pill__face {
  background: var(--c-black);
  color: var(--c-white);
}

/* --- Logo texte TMT Design (en attendant le fichier logo client) ---
       « TMT » gras + « Design » or, hérite du contexte clair/sombre --- */
.logo-text {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  font-family: var(--f-ui);
  font-size: 21px;
  font-weight: 700;
  letter-spacing: 0.5px;
  line-height: 1;
  color: var(--c-white);
  white-space: nowrap;
}
.logo-text__accent {
  font-weight: 500;
  color: var(--c-orange); /* or TMT */
}
.logo-text--lg { font-size: 26px; }

/* --- Logo SVG TMT Design (swoosh + dégradés, thème via currentColor) --- */
.logo-svg {
  display: block;
  height: 38px;
  width: auto;
  color: var(--c-white); /* pilote « TMT » + la fin du swoosh */
}
.logo-svg text { font-family: var(--f-ui); }
.logo-svg__tmt {
  font-size: 27px;
  font-weight: 800;
  letter-spacing: 0.5px;
  fill: currentColor;
}
.logo-svg__design {
  font-size: 27px;
  font-weight: 500;
}
.logo-svg--lg { height: 44px; }

/* --- Badge de section (icône + label, ex. « About Us ») --- */
.badge {
  display: inline-flex;
  align-items: center;
  gap: 5px; /* valeur Figma confirmée (About + Contact) */
  font-family: var(--f-ui);
  font-size: var(--fs-ui);
  font-weight: 600;
  line-height: var(--lh-ui);
  letter-spacing: 0;
  color: var(--c-black);
}
.badge__icon { display: flex; width: 17px; height: 17px; }
.badge__icon img, .badge__icon svg { width: 100%; height: 100%; }
.badge--light { color: var(--c-white); }

/* --- Bloc titre de section (badge + H2 + sous-texte) --- */
.section-head {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.section-head--center { align-items: center; text-align: center; }

.section-head__title {
  font-family: var(--f-heading);
  font-size: var(--fs-h2);
  font-weight: 400;
  line-height: var(--lh-h2);
  letter-spacing: normal;
  color: var(--c-black);
}

.section-head__sub {
  font-family: var(--f-body);
  font-size: var(--fs-body);
  font-weight: 500;
  line-height: var(--lh-body);
  letter-spacing: var(--ls-body);
  color: var(--c-text);
}

.section-head--light .section-head__title { color: var(--c-white); }
.section-head--light .section-head__sub { color: var(--c-white); }

/* --- Bannière CTA « Planning a Home Remodel? » (1272×140, radius 25, pad 48) --- */
.cta-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 140px;
  padding: 48px;
  border-radius: 25px;
  background: var(--c-lilac);
}

.cta-banner__title {
  font-family: var(--f-heading);
  font-size: var(--fs-h3);
  font-weight: 400;
  line-height: 36px;
  color: var(--c-black);
}

.cta-banner--dark { background: var(--c-cod); }
.cta-banner--dark .cta-banner__title { color: var(--c-white); }

@media (max-width: 809px) {
  .cta-banner {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    padding: 24px 16px;
    border-radius: 20px; /* Figma mobile */
  }
}
