.festival-directory-v2{color:#003a70;max-width:1216px;margin:0 auto;padding:8px 0 64px}.festival-directory-v2 .fd-heading h1{font-family:var(--font-display),sans-serif;margin:0 0 16px;font-size:64px;font-weight:700;line-height:1.03}.fd-heading>p{color:#687074;max-width:768px;margin:0;font-size:15px;line-height:1.7}.fd-toolbar{flex-wrap:wrap;align-items:center;gap:16px;margin-top:28px;display:flex}.fd-search{background:#fff;border:1px solid #e7e3dc;border-radius:999px;flex-shrink:0;align-items:center;gap:10px;width:320px;min-height:44px;padding:0 14px;display:flex}.fd-search:focus-within{outline-offset:2px;outline:2px solid #003a70}.fd-search input{width:100%;min-width:0;font:inherit;color:inherit;background:0 0;border:0;padding:10px 0;font-size:14px;box-shadow:none!important;outline:none!important}.fd-search input::-webkit-search-cancel-button{-webkit-appearance:none}.fd-search>svg{flex-shrink:0}.fd-search button{background:0 0;border:0;place-items:center;min-width:28px;min-height:32px;padding:0;display:grid}.fd-status-wrap{min-width:0}.fd-statuses{gap:8px;display:flex}.fd-statuses button{white-space:nowrap;color:#003a70;background:#003a7009;border:1px solid #e7e3dc;border-radius:999px;align-items:center;gap:6px;min-height:44px;padding:10px 14px;font-size:14px;font-weight:600;display:flex}.fd-statuses button span{font-size:12px;font-weight:400}.fd-statuses button[aria-pressed=true]{color:#fff;background:#b6412f;border-color:#b6412f}.fd-view{background:#eeede7;border:1px solid #e7e3dc;border-radius:999px;align-items:center;gap:4px;margin-left:auto;padding:4px;display:flex}.fd-view button{color:#003a70;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;min-height:36px;padding:8px 12px;font-size:12px;font-weight:600;display:flex}.fd-view button[aria-pressed=true]{background:#fff}.festival-directory-v2 .fd-group h2{font-family:var(--font-body),sans-serif;margin:0 0 20px;font-size:22px;font-weight:600;line-height:1.4}.fd-group h2>span{color:#687074;margin-left:8px;font-size:14px;font-weight:400}.fd-group{margin-top:48px}.fd-group:first-child{margin-top:40px}.fd-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.fd-group-en-cours .fd-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fd-card{color:#003a70;background:#fff;border:1px solid #e7e3dc;border-radius:16px;min-width:0;transition:transform .2s,border-color .2s;display:block;position:relative;overflow:hidden;text-decoration:none!important}.fd-art{aspect-ratio:5/2;isolation:isolate;background:#e8e5dc;position:relative;overflow:hidden}.fd-art:before{content:"";background-image:var(--fd-artwork);filter:blur(14px)brightness(.78);z-index:-1;background-position:50%;background-size:cover;position:absolute;inset:-20px}.fd-art img{object-fit:contain;transition:transform .2s}.fd-art.is-wide img{object-fit:cover}.fd-card-en-cours .fd-art{aspect-ratio:3}.fd-badge{color:#003a70;background:#f7f5f0;border-radius:999px;align-items:center;gap:6px;min-height:28px;padding:5px 10px;font-size:12px;font-weight:700;display:inline-flex;position:absolute;top:14px;left:14px}.fd-live-dot{background:#c8503a;border-radius:50%;width:6px;height:6px}.fd-card-body{padding:20px}.fd-date-row{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.fd-date{color:#b6412f;margin:0;font-size:14px;font-weight:600}.fd-date-row>span{color:#687074;white-space:nowrap;font-size:13px}.fd-card h3{font-family:var(--font-body),sans-serif;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 10px;font-size:22.4px;font-weight:700;line-height:1.4;display:-webkit-box;overflow:hidden}.fd-counts{color:#082f55;flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:14px;display:flex}.fd-counts svg{flex-shrink:0}.fd-progress{margin-top:18px}.fd-progress-track{background:#ede8dc;border-radius:99px;height:6px;overflow:hidden}.fd-progress-track>span{border-radius:inherit;transform-origin:0;background:#c8503a;height:100%;animation:.6s ease-out fd-progress-in;display:block}.fd-progress>p{color:#687074;margin:8px 0 0;font-size:12px;line-height:1.5}.fd-card-passes{align-items:center;gap:12px;min-height:90px;padding:12px;display:flex}.fd-card-passes .fd-art{aspect-ratio:auto;border-radius:10px;flex-shrink:0;width:148px;height:64px}.fd-card-passes .fd-card-body{flex:1;min-width:0;padding:0}.fd-card-passes h3{margin:0 0 4px;font-size:15px;line-height:1.4}.fd-archive-meta{color:#687074;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.fd-archive-meta p{margin:0}.fd-archive-meta>span{color:#565b60;background:#ede8dc;border-radius:999px;padding:2px 7px;font-size:10.4px}.fd-group-passes .fd-grid{row-gap:16px}.fd-archives-toggle{display:none}.fd-empty{text-align:center;background:#fff;border:1px solid #e7e3dc;border-radius:16px;margin-top:40px;padding:48px 24px}.fd-empty p{color:#687074;margin:16px 0}.fd-empty>div{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.fd-empty button,.fd-empty a,.fd-timeline-controls button{color:#003a70;background:#fff;border:1px solid #e7e3dc;border-radius:999px;min-height:44px;padding:10px 16px;font-size:13px}.fd-skeleton-grid{margin-top:40px}.fd-skeleton{background:#fff;border:1px solid #e7e3dc;border-radius:16px;padding-bottom:20px;overflow:hidden}.fd-skeleton>div{aspect-ratio:5/2;background:#e8e5dc}.fd-skeleton>span{background:#eeede7;border-radius:4px;width:65%;height:16px;margin:20px 20px 0;display:block}.fd-skeleton>span:last-child{width:40%;height:12px}.fd-desktop-hidden{display:none}.fd-timeline{background:#fff;border:1px solid #e7e3dc;border-radius:16px;margin-top:40px;padding:24px}.fd-timeline-controls{justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px;display:flex}.festival-directory-v2 .fd-timeline-controls h2{text-transform:capitalize;margin:0;font-size:18px}.fd-timeline-controls>div{gap:6px;display:flex}.fd-timeline-controls button{justify-content:center;align-items:center;padding:8px 12px;display:flex}.fd-months,.fd-timeline-row{grid-template-columns:230px minmax(0,1fr);display:grid}.fd-months{color:#687074;padding-bottom:24px;font-size:12px}.fd-months>div{height:20px;position:relative}.fd-months>div>span{text-transform:capitalize;border-left:1px solid #e7e3dc;padding-left:8px;position:absolute}.fd-timeline-rows{min-height:48px;position:relative}.fd-timeline-guides{pointer-events:none;position:absolute;inset:0 0 0 230px}.fd-timeline-guides>i{background:#eeeae3;width:1px;position:absolute;top:0;bottom:0}.fd-timeline-guides>b{z-index:1;background:#b6412f;width:2px;position:absolute;top:-8px;bottom:0}.fd-timeline-guides>b>span{white-space:nowrap;color:#b6412f;background:#fff;padding:2px 4px;font-size:11px;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.fd-timeline-row{align-items:center;min-height:40px;position:relative}.fd-timeline-name{white-space:nowrap;text-overflow:ellipsis;padding-right:18px;font-size:13px;font-weight:600;overflow:hidden}.fd-timeline-lane{min-width:0;height:40px;position:relative}.fd-timeline-bar{color:#fff;z-index:2;border-radius:6px;align-items:center;min-width:12px;height:24px;transition:filter .2s;display:flex;position:absolute;top:8px}.fd-bar-en-cours{background:#c8503a}.fd-bar-a-venir{background:#0b3b73}.fd-bar-passes{color:#374151;background:#d9d2c3}.fd-timeline-bar.continues-before{border-top-left-radius:0;border-bottom-left-radius:0}.fd-timeline-bar.continues-after{border-top-right-radius:0;border-bottom-right-radius:0}.fd-bar-date{white-space:nowrap;text-overflow:ellipsis;padding:0 8px;font-size:11px;overflow:hidden}.fd-timeline-bar.is-short .fd-bar-date{color:#565b60;padding:0;position:absolute;left:calc(100% + 8px);overflow:visible}.fd-timeline-tooltip{z-index:5;pointer-events:none;background:#fff;border:1px solid #e7e3dc;border-radius:12px;width:286px;padding:16px;font-size:13px;position:absolute;bottom:36px;box-shadow:0 8px 24px #082f5526}.fd-timeline-tooltip>strong{margin:6px 0;display:block}.fd-timeline-tooltip>p{margin:6px 0}.fd-timeline-tooltip>span{color:#b6412f;font-size:11px}.fd-timeline-tooltip .fd-counts{font-size:12px}.fd-legend{color:#687074;gap:20px;margin-top:24px;font-size:12px;display:flex}.fd-legend>span{align-items:center;gap:6px;display:flex}.fd-legend i{border-radius:2px;width:12px;height:8px;display:block}.fd-timeline-empty{padding:24px 0;font-size:14px}.fd-undated{border-top:1px solid #e7e3dc;margin-top:24px;padding-top:16px}.fd-undated a{margin-top:8px;text-decoration:underline;display:block}.festival-directory-v2 button{cursor:pointer;transition:background .2s,transform .15s}.festival-directory-v2 button:active{transform:scale(.97)}.festival-directory-v2 :is(a,button):focus-visible{outline-offset:3px;outline:2px solid #003a70}@media (hover:hover){.fd-card:hover{border-color:#003a70;transform:translateY(-2px)}.fd-card:hover .fd-art img{transform:scale(1.04)}.fd-statuses button:not([aria-pressed=true]):hover,.fd-view button:hover{background:#fff}.fd-timeline-bar:hover{filter:brightness(1.12)}}@keyframes fd-progress-in{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (max-width:899px){.festival-directory-v2{padding-top:0;padding-bottom:40px}.festival-directory-v2 .fd-heading h1{margin-bottom:12px;font-size:41.6px;line-height:1.03}.fd-heading>p{font-size:14px;line-height:1.7}.fd-toolbar{margin-top:16px;display:block}.fd-search{width:100%}.fd-status-wrap{margin-top:16px;position:relative}.fd-status-wrap:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#f7f5f0);width:24px;position:absolute;top:0;bottom:0;right:0}.fd-statuses{scrollbar-width:none;gap:8px;margin-left:-3px;padding:3px 24px 3px 3px;overflow-x:auto}.fd-statuses::-webkit-scrollbar{display:none}.fd-statuses button{flex-shrink:0;padding:10px 14px}.fd-view,.fd-desktop-timeline{display:none}.fd-desktop-hidden{display:block}.fd-grid,.fd-group-en-cours .fd-grid{grid-template-columns:minmax(0,1fr);gap:24px}.fd-card-en-cours .fd-art{aspect-ratio:5/2}.festival-directory-v2 .fd-group h2{margin-bottom:16px;font-size:20px}.fd-group h2>span{font-size:13px}.fd-group,.fd-group:first-child{margin-top:32px}.fd-card h3{font-size:21px;line-height:1.4}.fd-date-row{flex-wrap:wrap;gap:4px 12px}.fd-card-passes{gap:12px;min-height:82px;padding:12px}.fd-card-passes .fd-art{width:104px;height:56px}.fd-card-passes h3{font-size:15px}.fd-archives-toggle{color:#003a70;text-align:left;background:#fff;border:1px solid #e7e3dc;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:48px;margin-bottom:16px;padding:12px 16px;font-size:13px;display:flex}.fd-archives-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.fd-archives-collapsed{display:none}}@media (prefers-reduced-motion:reduce){.festival-directory-v2 *,.festival-directory-v2 :before{scroll-behavior:auto!important;transition:none!important;animation:none!important}.fd-card:hover,.fd-card:hover .fd-art img,.festival-directory-v2 button:active{transform:none}}
