@charset "UTF-8";
/* FITEAM-COMMENT: Styles globaux Fiteam. */
@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;600;700;800&display=swap");
:root {
  --ft-cream: #f7f1e3;
  --ft-cream-soft: #fffaf0;
  --ft-orange: #e4a920;
  --ft-orange-dark: #c58d12;
  --ft-blue: #cfeaf6;
  --ft-blue-strong: #9fd3eb;
  --ft-green: #1c6f21;
  --ft-green-dark: #175b1b;
  --ft-text: #2f2a20;
  --ft-card: #ffffff;
}

html,
body {
  min-height: 100%;
  background: radial-gradient(circle at 12% 4%, var(--ft-cream-soft), var(--ft-cream));
  color: var(--ft-text);
  font-family: "Manrope", "Segoe UI", sans-serif;
}

main#main-page {
  min-height: 70vh;
}

.navbar.bg-primary {
  background: linear-gradient(90deg, var(--ft-orange), #edba44) !important;
  border-bottom: 2px solid rgba(47, 42, 32, 0.1);
}

.navbar .nav-link,
.navbar .navbar-brand {
  color: #2e250f !important;
  font-weight: 700;
}

.navbar .nav-link:hover {
  color: #ffffff !important;
}

.section-orange {
  background: linear-gradient(135deg, var(--ft-orange), #edc15c);
  color: #2f260f;
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(114, 82, 12, 0.18);
}

.section-blue {
  background: linear-gradient(145deg, var(--ft-blue), var(--ft-blue-strong));
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(80, 120, 140, 0.15);
}

.card {
  border: none;
  border-radius: 18px;
  background: var(--ft-card);
  box-shadow: 0 10px 24px rgba(60, 50, 25, 0.12);
}

.btn {
  border-radius: 999px;
  border: none;
  font-weight: 700;
  transition: transform 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

.btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 16px rgba(20, 20, 20, 0.15);
}

.btn-success {
  background: var(--ft-green) !important;
}

.btn-success:hover {
  background: var(--ft-green-dark) !important;
}

.btn-primary {
  background: var(--ft-orange) !important;
  color: #2b210d !important;
}

.btn-primary:hover {
  background: var(--ft-orange-dark) !important;
  color: #ffffff !important;
}

.btn-forgot {
  color: #000000;
  background: #f4c7c7 !important;
  border: 1px solid #e4a9a9 !important;
  text-decoration: none;
}

.btn-forgot:hover,
.btn-forgot:focus {
  color: #000000;
  background: #efb3b3 !important;
  border-color: #d99999 !important;
  text-decoration: none;
}

.form-control,
.form-select {
  border-radius: 999px;
  border: 1px solid #e1d2ae;
  background: #fffdf8;
}

.table-dark th {
  background: var(--ft-orange) !important;
  color: #2e250f;
}

.table-striped > tbody > tr:nth-child(odd) > td,
.table-striped > tbody > tr:nth-child(odd) > th {
  background-color: #fffaf0 !important;
}

.table-striped > tbody > tr:nth-child(even) > td,
.table-striped > tbody > tr:nth-child(even) > th {
  background-color: #f7f0de !important;
}

.footer {
  background: linear-gradient(90deg, #f1c55b, var(--ft-orange));
  border-top: 2px solid rgba(47, 42, 32, 0.1);
}

.ft-reveal {
  animation: ftRevealUp 450ms ease both;
}

@keyframes ftRevealUp {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Planning */
.planning-page-image {
  width: 100%;
  max-width: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  overflow: hidden;
}

.planning-page-image img {
  display: block;
  max-width: 100%;
  max-height: calc(100vh - 180px);
  width: auto;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  margin: 0 auto;
}

#planning-list {
  width: 100%;
  max-width: 100%;
}

#planning-list .table-responsive {
  width: 100%;
  max-width: 100%;
}

#planning-list table {
  width: 100%;
}

/* Cases à cocher inscription */
#accept-terms,
#marketing-opt-in {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  width: 1.15rem;
  height: 1.15rem;
  border: 2px solid var(--ft-orange);
  border-radius: 5px;
  background: #fffaf0;
  cursor: pointer;
  position: relative;
  flex-shrink: 0;
  margin-top: 0.2rem;
}

/* Case cochée */
#accept-terms:checked,
#marketing-opt-in:checked {
  background: var(--ft-green);
  border-color: var(--ft-green);
}

/* Crochet blanc */
#accept-terms:checked::after,
#marketing-opt-in:checked::after {
  content: "";
  position: absolute;
  left: 0.3rem;
  top: 0.08rem;
  width: 0.3rem;
  height: 0.62rem;
  border: solid #ffffff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* Différence visuelle entre obligatoire et facultatif */
#accept-terms {
  border-color: var(--ft-orange);
}

#marketing-opt-in {
  border-color: var(--ft-orange);
}

/* Focus clavier */
#accept-terms:focus-visible,
#marketing-opt-in:focus-visible {
  outline: 2px solid var(--ft-orange-dark);
  outline-offset: 2px;
}

/* Collections grid */
.collections-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 1.5rem;
  justify-items: start;
}

.collection-card {
  text-decoration: none;
  color: inherit;
}

.collection-card-inner {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  width: 320px;
  background: #fdf7e7;
  box-shadow: 0 12px 24px rgba(60, 50, 25, 0.15);
  transition: transform 180ms ease, box-shadow 180ms ease;
  cursor: pointer;
  border: 4px solid #9fd3eb;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0.75rem;
}

.collection-card:hover .collection-card-inner {
  transform: translateY(-3px);
  box-shadow: 0 16px 32px rgba(60, 50, 25, 0.22);
}

.collection-image {
  width: 100%;
  height: 320px;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  border-radius: 12px;
}

.collection-meta-top {
  color: #2f2a20;
}

.collection-meta-top h2,
.collection-meta-top p {
  margin: 0;
}

.collection-meta-top p {
  font-size: 0.85rem;
  opacity: 0.85;
}

/* Collection detail */
.collection-hero {
  display: flex;
  gap: 2rem;
  align-items: center;
  background: #fff7e7;
  border-radius: 18px;
  padding: 1.5rem;
  box-shadow: 0 10px 22px rgba(60, 50, 25, 0.1);
}

.collection-hero-image img {
  width: 240px;
  height: 240px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 16px;
  display: block;
}

.subcat-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.subcat-chip {
  border: 1px solid #e1d2ae;
  background: #fffdf8;
  border-radius: 999px;
  padding: 0.4rem 1rem;
  font-weight: 600;
  cursor: pointer;
}

.subcat-chip.active {
  background: var(--ft-orange);
  color: #2b210d;
  border-color: var(--ft-orange);
}

.videos-grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1rem;
}

@media (min-width: 992px) {
  .videos-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.video-card {
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(60, 50, 25, 0.1);
  padding: 1rem;
}

.video-meta {
  font-size: 0.85rem;
  color: #5a4a2c;
}

.video-desc {
  margin: 0.35rem 0 0.4rem;
  font-size: 0.9rem;
  color: #3b2f1a;
}

.video-frame {
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 12px;
  overflow: hidden;
  background: #111;
  margin-bottom: 0.75rem;
}

.video-frame iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.video-link {
  margin-bottom: 0.75rem;
  font-weight: 600;
}

.video-thumb {
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 12px;
  overflow: hidden;
  background: #111;
  margin-bottom: 0.6rem;
}

.video-thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.video-modal {
  position: fixed;
  inset: 0;
  background: rgba(18, 14, 8, 0.75);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: 1rem;
}

.video-modal-content {
  background: #fff;
  border-radius: 16px;
  padding: 1rem;
  width: min(960px, 100%);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
}

.video-modal-close {
  border: none;
  background: #2f2a20;
  color: #fff;
  border-radius: 999px;
  padding: 0.4rem 1rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
}

.video-modal-frame {
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 12px;
  overflow: hidden;
  background: #000;
}

.video-modal-frame iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.video-modal-progress {
  margin-top: 0.75rem;
  font-weight: 600;
}

/* Crop preview */
.collection-crop-preview {
  width: 320px;
  height: 320px;
  border-radius: 16px;
  overflow: hidden;
  border: 1px dashed #d7c7a3;
  background: #f7f1e3;
}

.collection-crop-preview canvas {
  width: 100%;
  height: 100%;
  display: block;
}

@media (max-width: 991.98px) {
  .navbar-collapse {
    text-align: right;
  }
  .navbar-collapse ul {
    flex-direction: column;
    align-items: flex-end;
  }
  .container {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .card {
    border-radius: 14px;
  }
  .collection-hero {
    flex-direction: column;
    align-items: flex-start;
  }
  .collection-hero-image img {
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
  }
  .collection-card-inner {
    width: 100%;
  }
  .collection-image {
    height: 240px;
  }
}/*# sourceMappingURL=app.css.map */