/* Contenu fourni, adapte au theme JEFIE et confine a cette page. */
.jf-menu-faq { color-scheme: light;
      --ink: var(--jf-ink);
      --ink-soft: var(--jf-muted);
      --muted: var(--jf-muted);
      --paper: var(--jf-canvas);
      --surface: #fff;
      --surface-soft: var(--jf-sky-soft);
      --line: var(--jf-line);
      --navy: var(--jf-navy);
      --navy-2: #174a65;
      --accent: var(--jf-blue);
      --accent-light: var(--jf-sky-soft);
      --green: #356b55;
      --green-light: #eaf2ed;
      --shadow: 0 12px 36px rgba(23, 38, 59, .07);
      --radius: 18px;
      --content: 1160px; }
.jf-menu-faq * { box-sizing: border-box; }
.jf-menu-faq { margin: 0; color: var(--ink); background: var(--paper); font-family: inherit; font-size: 16px; line-height: 1.55; }
.jf-menu-faq a { color: inherit; }
.jf-menu-faq button, .jf-menu-faq input { font: inherit; }
.jf-menu-faq button:focus-visible, .jf-menu-faq a:focus-visible, .jf-menu-faq input:focus-visible, .jf-menu-faq summary:focus-visible { outline: 3px solid var(--jf-sky); outline-offset: 3px; }
.jf-menu-faq .shell { width: min(var(--content), calc(100% - 48px)); margin-inline: auto; }
.jf-menu-faq .button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 44px; padding: 11px 17px; border: 1px solid transparent; border-radius: 9px; font-size: 13px; font-weight: 700; text-align: center; text-decoration: none; transition: transform .18s ease, background .18s ease, border-color .18s ease; cursor: pointer; }
.jf-menu-faq .button:hover { transform: translateY(-1px); }
.jf-menu-faq .button-primary { color: #fff; background: var(--accent); }
.jf-menu-faq .button-primary:hover { background: #a95632; }
.jf-menu-faq .button-outline { color: var(--ink); border-color: var(--line); background: transparent; }
.jf-menu-faq .button-light { color: var(--navy); background: #fff; }
.jf-menu-faq .hero { padding: 56px 0 32px; }
.jf-menu-faq .breadcrumb { display: flex; align-items: center; gap: 9px; margin-bottom: 28px; color: var(--muted); font-size: 12px; }
.jf-menu-faq .breadcrumb a { text-decoration: none; }
.jf-menu-faq .breadcrumb span:last-child { color: var(--ink); font-weight: 650; }
.jf-menu-faq .hero-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr); gap: 52px; align-items: stretch; }
.jf-menu-faq .eyebrow { display: inline-flex; align-items: center; gap: 8px; color: var(--accent); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.jf-menu-faq h1 { max-width: 700px; margin: 15px 0 14px; font-size: clamp(42px, 5.7vw, 68px); line-height: .99; letter-spacing: -.058em; font-weight: 760; }
.jf-menu-faq h1 em { color: var(--accent); font-style: normal; }
.jf-menu-faq .hero-copy { max-width: 620px; margin: 0; color: var(--ink-soft); font-size: 17px; line-height: 1.65; }
.jf-menu-faq .search-form { display: flex; gap: 10px; margin-top: 27px; max-width: 640px; }
.jf-menu-faq .search-box { display: flex; flex: 1; align-items: center; gap: 10px; min-width: 0; padding: 0 14px; border: 1px solid #dcdad3; border-radius: 10px; background: var(--surface); box-shadow: 0 3px 12px rgba(23,38,59,.035); }
.jf-menu-faq .search-box svg { width: 19px; height: 19px; flex: 0 0 auto; color: var(--muted); }
.jf-menu-faq .search-box input { width: 100%; min-width: 0; height: 48px; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 14px; }
.jf-menu-faq .search-box input::placeholder { color: #8992a0; }
.jf-menu-faq .search-button { min-width: 108px; }
.jf-menu-faq .search-hint { margin: 10px 0 0 2px; color: var(--muted); font-size: 12px; }
.jf-menu-faq .event-card { position: relative; display: flex; flex-direction: column; justify-content: space-between; min-height: 300px; padding: 28px; overflow: hidden; border-radius: 20px; color: #fff; background: var(--navy); box-shadow: var(--shadow); }
.jf-menu-faq .event-card::after { position: absolute; right: 0; bottom: 0; width: min(260px, 60%); height: min(260px, 70%); border: 1px solid rgba(255,255,255,.17); border-radius: 50%; box-shadow: 0 0 0 18px rgba(255,255,255,.035), 0 0 0 36px rgba(255,255,255,.025); content: ""; pointer-events: none; }
.jf-menu-faq .event-top { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; }
.jf-menu-faq .event-label { color: rgba(255,255,255,.68); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.jf-menu-faq .event-mark { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; color: var(--jf-sky); font-size: 17px; }
.jf-menu-faq .event-date { position: relative; z-index: 1; margin: 30px 0 4px; color: var(--jf-sky); font-size: clamp(43px, 5vw, 59px); line-height: 1; letter-spacing: -.06em; font-weight: 760; }
.jf-menu-faq .event-year { position: relative; z-index: 1; margin: 0 0 22px; color: rgba(255,255,255,.72); font-size: 13px; letter-spacing: .12em; }
.jf-menu-faq .event-place { position: relative; z-index: 1; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.17); }
.jf-menu-faq .event-place strong { display: block; font-size: 15px; }
.jf-menu-faq .event-place span { display: block; margin-top: 3px; color: rgba(255,255,255,.7); font-size: 12px; }
.jf-menu-faq .stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; margin: 32px 0 0; padding: 18px 0; border-block: 1px solid var(--line); }
.jf-menu-faq .stat { padding: 4px 22px; border-right: 1px solid var(--line); }
.jf-menu-faq .stat:first-child { padding-left: 0; }
.jf-menu-faq .stat:last-child { border-right: 0; }
.jf-menu-faq .stat strong { display: block; color: var(--navy); font-size: 21px; line-height: 1.25; letter-spacing: -.03em; }
.jf-menu-faq .stat span { color: var(--muted); font-size: 11px; }
.jf-menu-faq .faq-section { padding:32px 0 72px; }
.jf-menu-faq .faq-panel { padding:clamp(30px,5vw,64px); border:1px solid var(--line); border-radius:32px; background:linear-gradient(180deg,#fff 0%,var(--jf-sky-soft) 100%); }
.jf-menu-faq .section-heading { margin:0 auto 32px; text-align:center; }
.jf-menu-faq .section-heading .eyebrow { padding:6px 12px; border-radius:999px; background:var(--jf-sky-soft); font-size:10px; }
.jf-menu-faq .section-heading h2 { margin:16px 0 12px; font-size:clamp(30px,4vw,48px); line-height:1.12; letter-spacing:-.045em; }
.jf-menu-faq .section-heading p { margin:0; color:var(--muted); font-size:14px; }
.jf-menu-faq .category-list { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; max-width:840px; margin:0 auto 28px; }
.jf-menu-faq .category-button { display:inline-flex; align-items:center; gap:8px; min-height:38px; padding:8px 13px; border:1px solid var(--line); border-radius:999px; background:rgba(255,255,255,.7); color:var(--ink-soft); font-size:12px; cursor:pointer; }
.jf-menu-faq .category-button:hover { border-color:var(--jf-sky); }
.jf-menu-faq .category-count { font-size:10px; opacity:.75; }
.jf-menu-faq .faq-layout { display:block; max-width:840px; margin:auto; }
.jf-menu-faq .faq-main { min-width:0; }
.jf-menu-faq .active-filter { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:0 8px 18px; color:var(--muted); font-size:12px; }
.jf-menu-faq .reset-link { min-height:32px; padding:5px 0; border:0; color:var(--accent); background:transparent; font-weight:700; cursor:pointer; }
.jf-menu-faq .faq-group { margin:0; scroll-margin-top:100px; }
.jf-menu-faq .group-title { position:absolute; width:1px; height:1px; margin:-1px; padding:0; border:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.jf-menu-faq .faq-item { margin:0 0 10px; border:1px solid transparent; border-radius:22px; background:rgba(255,255,255,.68); transition:border-color .18s ease,box-shadow .18s ease,background .18s ease; }
.jf-menu-faq .faq-item:hover { background:#fff; }
.jf-menu-faq .faq-item summary { display:flex; align-items:center; gap:14px; min-height:70px; padding:16px 18px; list-style:none; cursor:pointer; border-radius:22px; }
.jf-menu-faq .faq-item summary::-webkit-details-marker { display:none; }
.jf-menu-faq .q-mark { display:grid; place-items:center; width:26px; height:26px; flex:0 0 auto; border-radius:8px; background:var(--jf-canvas); color:var(--ink-soft); font-size:11px; font-weight:600; }
.jf-menu-faq .q-text { flex:1; font-size:15px; font-weight:600; line-height:1.45; }
.jf-menu-faq .faq-toggle { position:relative; display:block; width:34px; height:34px; flex:0 0 auto; border:1px solid var(--navy); border-radius:50%; background:var(--navy); color:#fff; transition:transform .18s ease,background .18s ease,color .18s ease; }
.jf-menu-faq .faq-toggle::before,.jf-menu-faq .faq-toggle::after { content:""; position:absolute; left:50%; top:50%; width:12px; height:1px; background:currentColor; transform:translate(-50%,-50%); }
.jf-menu-faq .faq-toggle::after { transform:translate(-50%,-50%) rotate(90deg); }
.jf-menu-faq .faq-item[open] { background:#fff; border-color:var(--jf-sky); box-shadow:0 4px 20px rgba(7,26,44,.05); }
.jf-menu-faq .faq-item[open] .faq-toggle { transform:rotate(45deg); background:#fff; color:var(--navy); border-color:var(--jf-sky); }
.jf-menu-faq .answer { padding:0 68px 24px 58px; color:var(--ink-soft); font-size:14px; line-height:1.8; }
.jf-menu-faq .answer p { margin:0; }
.jf-menu-faq .no-results { display:none; padding:32px 20px; border:1px dashed var(--line); border-radius:22px; background:rgba(255,255,255,.7); color:var(--muted); text-align:center; }
.jf-menu-faq .no-results strong { display:block; margin-bottom:6px; color:var(--ink); }
.jf-menu-faq .faq-contact { margin:30px 0 0; text-align:center; color:var(--muted); font-size:12px; line-height:1.9; }
.jf-menu-faq .faq-contact a { display:inline-flex; align-items:center; gap:6px; min-height:36px; color:var(--navy); font-weight:600; text-underline-offset:4px; }
.jf-menu-faq .contact-section { padding: 0 0 38px; }
.jf-menu-faq .contact-wrap { display: grid; grid-template-columns: .9fr 1.1fr; gap: 35px; padding: 30px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); }
.jf-menu-faq .contact-intro h2 { margin: 7px 0 9px; font-size: 25px; line-height: 1.12; letter-spacing: -.04em; }
.jf-menu-faq .contact-intro p { margin: 0; color: var(--muted); font-size: 13px; }
.jf-menu-faq .contact-options { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.jf-menu-faq .contact-option { display: flex; flex-direction: column; align-items: flex-start; padding: 14px; border: 1px solid var(--line); border-radius: 11px; text-decoration: none; transition: border-color .18s ease, transform .18s ease; }
.jf-menu-faq .contact-option:hover { transform: translateY(-2px); border-color: #c4b29f; }
.jf-menu-faq .contact-option span { margin-bottom: 9px; color: var(--accent); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.jf-menu-faq .contact-option strong { font-size: 12px; line-height: 1.4; }
.jf-menu-faq .contact-option small { margin-top: 7px; color: var(--muted); font-size: 10px; line-height: 1.4; }
.jf-menu-faq .final-cta { position: relative; display: flex; justify-content: space-between; align-items: center; gap: 28px; margin: 0 auto 64px; padding: 31px 34px; overflow: hidden; border-radius: 18px; color: #fff; background: var(--navy); }
.jf-menu-faq .final-cta::after { display: none; }
.jf-menu-faq .final-cta-copy, .jf-menu-faq .final-cta-actions { position: relative; z-index: 1; }
.jf-menu-faq .final-cta-copy span { color: var(--jf-sky); font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.jf-menu-faq .final-cta h2 { margin: 5px 0 0; font-size: clamp(21px, 2.4vw, 29px); line-height: 1.15; letter-spacing: -.04em; }
.jf-menu-faq .final-cta-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.jf-menu-faq .final-cta-actions .button-outline { color: #fff; border-color: rgba(255,255,255,.35); }
@media (max-width: 980px) {
.jf-menu-faq .hero-grid { gap: 30px; }
.jf-menu-faq .contact-wrap { gap: 22px; }
.jf-menu-faq .contact-options { grid-template-columns: 1fr; }
.jf-menu-faq .contact-option { min-height: 83px; }
}
@media (max-width: 760px) {
.jf-menu-faq .shell { width: min(100% - 36px, var(--content)); }
.jf-menu-faq .hero { padding-top: 34px; }
.jf-menu-faq .breadcrumb { margin-bottom: 21px; }
.jf-menu-faq .hero-grid { grid-template-columns: 1fr; gap: 25px; }
.jf-menu-faq h1 { max-width: 540px; font-size: clamp(43px, 10vw, 60px); }
.jf-menu-faq .hero-copy { font-size: 15px; }
.jf-menu-faq .event-card { min-height: 225px; padding: 23px; }
.jf-menu-faq .event-date { margin-top: 21px; font-size: 49px; }
.jf-menu-faq .stats { grid-template-columns: repeat(2,1fr); row-gap: 14px; margin-top: 23px; }
.jf-menu-faq .stat { padding: 4px 14px; }
.jf-menu-faq .stat:nth-child(2) { border-right: 0; }
.jf-menu-faq .stat:nth-child(3) { padding-left: 0; }
.jf-menu-faq .contact-wrap { grid-template-columns: 1fr; padding: 23px; }
.jf-menu-faq .contact-options { grid-template-columns: repeat(3,1fr); }
.jf-menu-faq .contact-option { min-height: 120px; }
.jf-menu-faq .final-cta { align-items: flex-start; flex-direction: column; margin-bottom: 42px; padding: 26px 23px; }
}
@media (max-width: 480px) {
.jf-menu-faq .shell { width: calc(100% - 32px); }
.jf-menu-faq .search-form { flex-direction: column; }
.jf-menu-faq .search-button { width: 100%; }
.jf-menu-faq .search-box { min-height: 49px; }
.jf-menu-faq .stats { padding: 14px 0; }
.jf-menu-faq .stat strong { font-size: 19px; }
.jf-menu-faq .stat span { font-size: 10px; }
.jf-menu-faq .tier-head { align-items: flex-start; flex-direction: column; gap: 3px; }
.jf-menu-faq .contact-options { grid-template-columns: 1fr; }
.jf-menu-faq .contact-option { min-height: 0; }
.jf-menu-faq .final-cta-actions { width: 100%; }
.jf-menu-faq .final-cta-actions .button { flex: 1; }
}
@media (prefers-reduced-motion: reduce) {
.jf-menu-faq *, .jf-menu-faq *::before, .jf-menu-faq *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

@media(max-width:760px) {
.jf-menu-faq .faq-section { padding:24px 0 48px; }
.jf-menu-faq .faq-panel { padding:30px 16px; border-radius:26px; }
.jf-menu-faq .section-heading { margin-bottom:24px; }
.jf-menu-faq .category-list { flex-wrap:nowrap; justify-content:flex-start; overflow-x:auto; padding:2px 1px 8px; margin-bottom:16px; scrollbar-width:thin; }
.jf-menu-faq .category-button { flex:0 0 auto; }
.jf-menu-faq .active-filter { margin-inline:3px; font-size:11px; }
.jf-menu-faq .faq-item { border-radius:18px; }
.jf-menu-faq .faq-item summary { gap:10px; min-height:70px; padding:14px 12px; border-radius:18px; }
.jf-menu-faq .q-mark { width:23px; height:23px; }
.jf-menu-faq .q-text { font-size:13px; }
.jf-menu-faq .faq-toggle { width:30px; height:30px; }
.jf-menu-faq .answer { padding:0 18px 22px 45px; font-size:13px; }
}
