﻿/* ========================================================================== 
   Ils ont voyagé avec nous
   ========================================================================== */
.testimonials { padding: 60px 0; background: #fff; }
.testimonials .container { max-width: clamp(1280px, 80%, 1440px); margin: 0 auto; padding: 0 16px; }
.testimonials h2 { text-align: center; margin-bottom: 30px; }
.testimonials-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 30px; }
.testimonial { background: #fff; border-radius: 14px; padding: 30px 25px; text-align: left; box-shadow: 0 6px 18px rgba(0,0,0,.06); transition: transform .25s ease, box-shadow .25s ease; }
.testimonial:hover { transform: translateY(-6px); box-shadow: 0 12px 28px rgba(0,0,0,.12); }
.testimonial blockquote { font-size: clamp(0.76rem,0.96vw,0.84rem); font-style: italic; line-height: 1.6; color: #444; }
.testimonial footer { margin-top: 10px; font-weight: bold; color: #790078; }
.testimonial h3 {margin:0 0 10px;color:#790078;font-size:clamp(1rem,2vw,1.5rem);font-weight:600;line-height:1.3}
@media (max-width: 768px) {
.testimonial blockquote { font-size: clamp(1.2rem,2.4vw,1.44rem); line-height: 1.5; }
.testimonial h3 { font-size: clamp(1.344rem, 5.04vw, 2.016rem); }}
@media (min-width: 1025px) {
  .testimonial blockquote { font-size: clamp(0.76rem,0.96vw,0.84rem); }
  .testimonial h3 { font-size: clamp(0.80rem,2vw,0.96rem); } /* large desktop */
}

/* ========================================================================== 
   FAQ
   ========================================================================== */
.quick-faq {padding:60px 0;background:#fff;}
.quick-faq .container {max-width:1280px;margin: 0 auto;padding:0 16px;}
.quick-faq h2 {text-align:center;margin-bottom:30px}
.faq-list {max-width:1280px;margin:0 auto}
.faq-list details {background:#f8f8f8;padding:15px 20px;margin-bottom:15px;border-radius:8px;cursor:pointer}
.faq-list summary {font-weight:bold;color:#333}
.faq-list p {margin-top:10px;color:#555}
.tile {background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 6px 16px rgba(0,0,0,.08);transition:transform .25s ease,box-shadow .25s ease;display:flex;flex-direction:column}
.tile:hover {transform:translateY(-4px);box-shadow:0 10px 22px rgba(0,0,0,.12)}
.tile-img {display:block;width:100%;height:auto}
.tile-body {padding:18px;display:flex;flex-direction:column;flex-grow:1}
.tile-body h3 {margin:0 0 8px;color:#790078}
.tile-body p {font-size:.95rem;color:#555}
.tile-body .btn,
.tile-body .btn-new-style{margin-top:auto}

/* ========================================================================== 
   Titre des pages h2
   ========================================================================== */
.quote-form {padding:30px;background:#f9f9ff;border-radius:20px;max-width:1280px;margin:0 auto;}
.quote-form h2 {text-align:center;margin-bottom:10px;}
input,select,textarea {width:100%;}
@media (max-width:768px) {
.quote-form {padding:20px;border-radius:0;max-width:100%;}
.quote-form h2 {font-size:clamp(1.344rem,5.04vw,2.016rem);}
}

.form-intro {max-width:1280px;margin:0 auto 1rem;line-height:1.6;color:#555;}
.form-grid {display:grid;grid-template-columns:1fr;gap:2rem;}
@media (min-width:768px) {
.form-grid {grid-template-columns:repeat(2,1fr);}
}

fieldset {border:1px solid #e0e0e0;border-radius:6px;padding:1.5rem;background:#fff;}
legend {font-weight:bold;color:#790078;margin-bottom:1rem;}
label {display:block;margin-bottom:0.8rem;font-weight:500;color:#333;}
input,select,textarea {width:100%;padding:0.7rem;border:1px solid #ccc;border-radius:4px;font-size:1rem;}
input:focus,select:focus,textarea:focus {border-color:#790078;outline:none;box-shadow:0 0 4px rgba(121,0,120,0.2);}
button.btn-primary {display:block;margin:2rem auto 0;padding:1rem 2rem;background:#790078;color:#fff;font-size:1.1rem;font-weight:bold;border:none;border-radius:6px;cursor:pointer;transition:background 0.3s;}
button.btn-primary:hover {background:#a000a0;}

label.checkbox-inline {display:flex;align-items:center;gap:0.5rem;padding:0.5rem 0;}
label.checkbox-inline input[type="checkbox"] {width:24px;height:24px;}
input[type="number"] {min-height:44px;padding:0.8rem;margin-bottom:1rem;}






/* ------------------------------ INCLUDED / EXCLUDED SECTION ------------------------------ */ 
.included-excluded { background: #fafafa; border-top: 1px solid #eee; padding-top: 30px; padding-bottom: 30px;} 
.included-excluded .included, .included-excluded .excluded { background: #fff; border: 1px solid #e6e6e6; border-radius: 8px; padding: 25px; margin-bottom: 25px; } 
.included-excluded ul { padding-left: 20px; } .included-excluded li { margin-bottom: 8px; font-size: 0.95rem; }







/* === SECTION === */
.seo-text {
  padding: 60px 0;
  background: #fff;
}

.seo-text .container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 16px;
}

.seo-text h2 {text-align: center;margin-bottom: 40px;font-size: clamp(1.344rem,5.04vw,2.016rem);color: #0A0F2B;}

/* === TABLE WRAPPER === */
.masterclass-table {
  overflow-x: auto;
}

/* === TABLE === */
.masterclass1 {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 8px 22px rgba(0,0,0,0.06);
}

/* FORCE ALIGNEMENT */
.masterclass1 thead,
.masterclass1 tbody {
  width: 100%;
}

.masterclass1 th,
.masterclass1 td {
  box-sizing: border-box;
}

/* === HEADER === */
.masterclass1 thead th {
  background: #f6f7fb;
  padding: 18px 20px;
  text-align: left;
  font-weight: 600;
  color: #0A0F2B;
  border-bottom: 2px solid #e6e6ef;
}

/* === COLONNES === */
.masterclass1 th:nth-child(1),
.masterclass1 td:nth-child(1) {
  width: 20%;
}

.masterclass1 th:nth-child(2),
.masterclass1 td:nth-child(2) {
  width: 45%;
}

.masterclass1 th:nth-child(3),
.masterclass1 td:nth-child(3) {
  width: 20%;
  text-align: center;
}

.masterclass1 th:nth-child(4),
.masterclass1 td:nth-child(4) {
  width: 15%;
  text-align: center;
}

/* === BODY === */
.masterclass1 tbody tr {
  border-bottom: 1px solid #eee;
  transition: background 0.2s ease;
}

.masterclass1 tbody tr:hover {
  background: #fafbff;
}

.masterclass1 td {
  padding: 16px 20px;
  color: #333;
  font-size: 0.95rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* === ARRIVÉE === */
.masterclass1 tr.arrival {
  background: #f3f4ff;
}

.masterclass1 tr.arrival td {
  font-weight: 600;
}

/* === ICÔNES MAP === */
.masterclass1 td a {
  font-size: 1.6rem;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s ease;
}

.masterclass1 td a:hover {
  transform: scale(1.25);
}

/* === RESPONSIVE === */
@media (max-width: 768px) {

  .masterclass1 td,
  .masterclass1 th {
    padding: 14px 12px;
    font-size: 0.95rem;
    white-space: normal;
  }

  .masterclass1 td a {
    font-size: 1.4rem;
  }
}
