:root {
  --tri-primary: #2D2B74;
  --tri-secondary: #00B1EC;
  --tri-accent: #EB028B;
  --tri-bg: #f5f7fb;
  --tri-surface: #ffffff;
  --tri-text: #111827;
  --tri-muted: #6b7280;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background-color: var(--tri-bg);
  color: var(--tri-text);
}

.navbar {
  position: relative;
  z-index: 10;
  background-color: #ffffff;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}

.navbar {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.navbar-brand {
  display: flex;
  align-items: center;
  height: 56px;
  overflow: visible;
}

.navbar-brand {
  position: relative;
  z-index: 20;
}

.navbar-brand img {
  height: 160px;
  transform: translateY(40px);
}

@media (max-width: 576px) {
  .navbar-brand img {
    height: 110px;
    transform: translateY(24px);
  }
}

.nav-link.active {
  font-weight: 600;
  color: var(--tri-primary) !important;
}

.hero-tri {
  position: relative;
  overflow: hidden;
  background: radial-gradient(circle at top left, var(--tri-secondary), var(--tri-primary));
  color: #ffffff;
  padding: 5.5rem 0 4.5rem;
}

.hero-tri h1 span {
  color: var(--tri-accent);
}

.hero-tri .lead {
  color: rgba(255, 255, 255, 0.92);
}

.hero-badges .badge {
  border-radius: 999px;
  background-color: rgba(255, 255, 255, 0.16);
  color: #f9fafb;
  font-size: 0.75rem;
  font-weight: 500;
}

.hero-photos {
  max-width: 420px;
  margin-left: auto;
}

.hero-main-photo {
  border-radius: 1.5rem;
  width: 100%;
  height: 260px;
  object-fit: cover;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.45);
}

.hero-thumbs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  margin-top: 0.75rem;
}

.hero-thumbs img {
  width: 100%;
  height: 115px;
  border-radius: 1.1rem;
  object-fit: cover;
}

.card-tri {
  border-radius: 1.5rem;
  border: none;
  background: linear-gradient(135deg, rgba(235, 2, 139, 0.16), rgba(0, 177, 236, 0.20));
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.06);
}

.section-title {
  border-left: 5px solid var(--tri-accent);
  padding-left: 0.75rem;
  margin-bottom: 0.25rem;
}

.section-subtitle {
  color: var(--tri-muted);
}

.stats-strip {
  border-radius: 1.25rem;
  background-color: var(--tri-surface);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.04);
}

.discipline-icon {
  width: 64px;
  height: 64px;
  border-radius: 999px;
  overflow: hidden;
  flex-shrink: 0;
}

.discipline-icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.footer-tri {
  background-color: #0b1120;
  color: rgba(241, 245, 249, 0.9);
  font-size: 0.85rem;
}

.footer-tri a {
  color: #e0f2fe;
  text-decoration: none;
}

.footer-tri a:hover {
  color: #ffffff;
  text-decoration: underline;
}

.footer-tri i {
  color: var(--tri-accent);
}

/* Slider "Une année avec Tri4Phil" */
.year-carousel {
  max-width: 420px;
  margin-left: auto;
}

.year-carousel .carousel-inner img {
  height: 260px;
  width: 100%;
  object-fit: cover;
}

@media (min-width: 992px) {
  .year-carousel .carousel-inner img {
    height: 320px;
  }
}

.year-carousel .carousel-indicators [data-bs-target] {
  background-color: #ffffff;
}


/* Buttons custom states */

.btn-primary {
  background-color: var(--tri-primary);
  border-color: var(--tri-primary);
}

.btn-primary:hover,
.btn-primary:focus-visible {
  background-color: var(--tri-accent);
  border-color: var(--tri-accent);
}

.btn-outline-primary {
  color: var(--tri-primary);
  border-color: var(--tri-primary);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus-visible {
  color: #ffffff;
  background-color: var(--tri-primary);
  border-color: var(--tri-primary);
  box-shadow: 0 0 0 0.18rem rgba(45, 43, 116, 0.35);
}

.btn-light {
  background-color: #ffffff;
  color: var(--tri-primary);
  border-color: transparent;
}

.btn-light:hover,
.btn-light:focus-visible {
  background: linear-gradient(135deg, var(--tri-secondary), var(--tri-accent));
  color: #ffffff;
  box-shadow: 0 0 0 0.18rem rgba(255, 255, 255, 0.3);
}

.btn-outline-light {
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.85);
}

.btn-outline-light:hover,
.btn-outline-light:focus-visible {
  background-color: #ffffff;
  color: var(--tri-primary);
}


/* Unified button look based on hero CTA */
.btn {
  border-radius: 999px;
  padding: 0.55rem 1.4rem;
  font-weight: 600;
  letter-spacing: 0.01em;
}

.btn-primary,
.btn-outline-primary,
.btn-light,
.btn-outline-light {
  border-radius: 999px;
  padding: 0.55rem 1.4rem;
  font-weight: 600;
}

/* Default states */
.btn-light,
.btn-primary,
.btn-outline-primary {
  background-color: #ffffff;
  color: var(--tri-primary);
  border-color: var(--tri-primary);
}

/* Hero secondary button */
.btn-outline-light {
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.85);
}

/* Hover / focus: gradient club colors */
.btn-primary:hover,
.btn-primary:focus-visible,
.btn-outline-primary:hover,
.btn-outline-primary:focus-visible,
.btn-light:hover,
.btn-light:focus-visible {
  background: linear-gradient(135deg, var(--tri-secondary), var(--tri-accent));
  color: #ffffff;
  border-color: transparent;
}

/* Hero outline-light on hover */
.btn-outline-light:hover,
.btn-outline-light:focus-visible {
  background-color: #ffffff;
  color: var(--tri-primary);
}

/* Navbar contact links */
.nav-contact a {
  color: var(--tri-primary);
  font-weight: 500;
}

.nav-contact a i {
  color: var(--tri-accent);
}

.nav-contact a:hover {
  color: var(--tri-accent);
}


/* Page hero & breadcrumb */

.page-hero {
  position: relative;
  padding: 6rem 0 2.5rem;
  background: radial-gradient(circle at top left, var(--tri-secondary), var(--tri-primary));
  color: #ffffff;
  margin-bottom: 0;
}

.page-hero .section-title {
  border-left-color: rgba(255, 255, 255, 0.9);
  color: #ffffff;
}

.page-hero .section-subtitle {
  color: rgba(241, 245, 249, 0.9);
}

.breadcrumb-tri {
  --bs-breadcrumb-divider: "/";
  margin-bottom: 0.25rem;
}

.breadcrumb-tri .breadcrumb-item + .breadcrumb-item::before {
  color: rgba(248, 250, 252, 0.7);
}

.breadcrumb-tri .breadcrumb-item a {
  color: rgba(248, 250, 252, 0.85);
  text-decoration: none;
}

.breadcrumb-tri .breadcrumb-item a:hover {
  text-decoration: underline;
}

.breadcrumb-tri .breadcrumb-item.active {
  color: #ffffff;
}


/* Cartes agenda type */
.schedule-day {
  border: 1px solid rgba(148, 163, 184, 0.25);
  background: linear-gradient(135deg, rgba(235, 2, 139, 0.06), rgba(0, 177, 236, 0.08));
}


/* Plugin Facebook pleine largeur dans sa carte */
.fb-page-full {
  width: 100% !important;
  max-width: 100% !important;
}

.fb-page-full span,
.fb-page-full iframe {
  width: 100% !important;
}
