@import url("/assets/i18n-a11y.css?v=2-dead-css");
/* Account-level accessibility preferences. Loaded after every screen stylesheet. */
.platform.a11y-text-large{font-size:17px}.platform.a11y-text-xlarge{font-size:19px}
.platform.a11y-text-large :is(.pcontent,.pfull,.pworkspace,.filmmaker-dashboard) :is(p,a,button,input,select,textarea,label,td,th,li,small),
.platform.a11y-text-large :is(.pcard,.pbox,.ptable,.dash-panel) :is(p,a,button,input,select,textarea,label,td,th,li,small){font-size:max(1em,15px)!important;line-height:max(1.45em,22px)!important}
.platform.a11y-text-xlarge :is(.pcontent,.pfull,.pworkspace,.filmmaker-dashboard) :is(p,a,button,input,select,textarea,label,td,th,li,small),
.platform.a11y-text-xlarge :is(.pcard,.pbox,.ptable,.dash-panel) :is(p,a,button,input,select,textarea,label,td,th,li,small){font-size:max(1em,17px)!important;line-height:max(1.5em,25px)!important}
.platform.a11y-text-large .filmmaker-dashboard{--dash-copy:16px;--dash-meta:14px;--dash-heading:20px}.platform.a11y-text-xlarge .filmmaker-dashboard{--dash-copy:18px;--dash-meta:16px;--dash-heading:22px}
.platform.a11y-text-large .filmmaker-dashboard :is(.dash-sidebar nav>a,.dash-profile p,.dash-notification>a,.dash-recent td,.dash-quick strong),
.platform.a11y-text-xlarge .filmmaker-dashboard :is(.dash-sidebar nav>a,.dash-profile p,.dash-notification>a,.dash-recent td,.dash-quick strong){font-size:var(--dash-copy)!important;line-height:1.5!important}
/* The shared Home navigation keeps exactly the same 80px geometry on every preference. */
.platform[class].a11y-text-large .pheader,.platform[class].a11y-text-xlarge .pheader,.platform[class].a11y-density-compact .pheader,.platform[class].a11y-density-spacious .pheader,
.platform[class].a11y-text-large .pheader>div,.platform[class].a11y-text-xlarge .pheader>div,.platform[class].a11y-density-compact .pheader>div,.platform[class].a11y-density-spacious .pheader>div{height:80px!important;min-height:80px!important}
.platform[class].a11y-text-large .pheader-nav>a,.platform[class].a11y-text-xlarge .pheader-nav>a{height:80px!important;min-height:80px!important;font-size:var(--font-size-sm)!important;line-height:1!important}
.platform[class].a11y-text-large .pheader .puser>span:last-child,.platform[class].a11y-text-xlarge .pheader .puser>span:last-child{font-size:var(--font-size-sm)!important;line-height:1!important}
.platform[class] .pheader :is(input,select,button,.pbtn){min-height:unset}.platform[class] .pheader .locale-form select{height:34px!important;min-height:34px!important;font-size:var(--font-size-2xs)!important}.platform[class] .pheader .icon-button,.platform[class] .pheader .pmenu{height:38px!important;min-height:38px!important}
.platform.a11y-contrast-high{--ink:#020718;--muted:#344464;--line:#66738f;--purple:#5a14e8;--bg:var(--color-white);background:var(--color-white);color:#020718}
.platform.a11y-contrast-high :is(a,button,input,select,textarea):focus-visible{outline:4px solid #ffb800!important;outline-offset:3px!important}.platform.a11y-contrast-high .pbox{border-color:#66738f;box-shadow:0 1px 0 #66738f}.platform.a11y-contrast-high .pbtn{border-width:2px}.platform.a11y-contrast-high .ptag{font-weight:800}
.platform.a11y-motion-reduced,.platform.a11y-motion-reduced *,.platform.a11y-motion-reduced *::before,.platform.a11y-motion-reduced *::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
.platform.a11y-density-compact :is(.pcontent,.pfull,.pworkspace) :is(input,select,textarea,.pbtn){min-height:32px!important;padding-block:5px!important}.platform.a11y-density-compact :is(.pcontent,.pfull,.pworkspace) .pfield{margin-bottom:var(--space-2)!important}.platform.a11y-density-compact :is(.pcontent,.pfull,.pworkspace) .pbox{padding:var(--space-3)!important}.platform.a11y-density-compact :is(.dashboard-columns,.project-columns,.pkpis){gap:10px!important}
.platform.a11y-density-comfortable :is(.pcontent,.pfull,.pworkspace) :is(input,select,textarea,.pbtn){min-height:44px}.platform.a11y-density-spacious :is(.pcontent,.pfull,.pworkspace) :is(input,select,textarea,.pbtn){min-height:52px}.platform.a11y-density-comfortable .pfield{margin-bottom:var(--space-4)}.platform.a11y-density-spacious .pfield{margin-bottom:22px}.platform.a11y-density-spacious :is(.pcontent,.pfull,.pworkspace) .pbox{padding:clamp(22px,2vw,32px)}
.accessibility-settings{max-width:960px}.accessibility-settings fieldset{border:0;border-top:1px solid var(--line);padding:var(--space-5) 0;margin:0}.accessibility-settings legend{font-size:var(--font-size-xl);font-weight:800;padding:var(--space-5) 0 0}.accessibility-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.accessibility-options label{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:var(--space-4);cursor:pointer}.accessibility-options label:has(input:checked){border:2px solid var(--purple);background:var(--color-brand-soft)}.accessibility-options input{accent-color:var(--purple);min-width:20px;min-height:20px}.accessibility-preview{padding:var(--space-5);margin:var(--space-2) 0 var(--space-5);border-radius:var(--radius-md);background:#f7f4ff}.accessibility-note{color:var(--muted)}
@media(prefers-reduced-motion:reduce){.platform,.platform *,.platform *::before,.platform *::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
@media(max-width:1200px){.platform[class].a11y-text-large .pheader-nav>a,.platform[class].a11y-text-xlarge .pheader-nav>a{font-size:var(--font-size-xs)!important}}
@media(max-width:700px){.accessibility-options{grid-template-columns:1fr}.platform.a11y-text-large,.platform.a11y-text-xlarge{font-size:var(--font-size-lg)}.platform.a11y-text-xlarge :is(.pcontent,.pfull,.pworkspace,.filmmaker-dashboard) :is(p,a,button,input,select,textarea,label,td,th,li,small){font-size:max(1em,16px)!important}}
@media(max-width:600px){.platform[class].a11y-text-large .pheader,.platform[class].a11y-text-xlarge .pheader,.platform[class].a11y-density-compact .pheader,.platform[class].a11y-density-spacious .pheader,.platform[class].a11y-text-large .pheader>div,.platform[class].a11y-text-xlarge .pheader>div,.platform[class].a11y-density-compact .pheader>div,.platform[class].a11y-density-spacious .pheader>div{height:68px!important;min-height:68px!important}}
/* Organizer workspace opened on "My Projects": the light project-sidebar surface must not replace the dark festival sidebar,
   whose labels are light (1.4.3 — they fell to 1.1:1). Same navy as the film page sidebar. */
.platform.screen-projects .psidebar.dark-sidebar{background:var(--color-navy-950)}
/* 2.4.11: the workspace sidebar scrolls on its own (sticky, full height); with the fixed demonstration bar its last
   entries ("Account & Billing") were focused under the bar. Same reserve as the page (html scroll-padding-bottom). */
html:has(.platform .demo-bar) .platform .psidebar{scroll-padding-bottom:88px;padding-bottom:88px}
html:has(.platform .workspace-demo) .platform .psidebar{scroll-padding-bottom:64px;padding-bottom:64px}
/* 1.4.11 / 2.4.7: dark workspace surfaces (festival and project sidebars, filmmaker dashboard rail and stream, film hero,
   MAX/Festime+ plan cards) use the on-dark focus ring already used by the header, demo bar and footer: the violet ring was
   2.0–2.4:1 against their navy backgrounds, the amber one is above 10:1. */
.platform :is(.dark-sidebar,.dash-sidebar,.dash-stream,.project-detail-hero,.film15-main,.pplan.max,.plus-plan) :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible,.platform.screen-project .psidebar :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline-color:var(--color-focus-on-dark)!important;box-shadow:none!important}
/* 2.5.8 target size: legal links of the footer wrap on several rows on phones; 8 px between rows keeps 24 px around each
   16.5 px-high link (6 px left the targets of two rows overlapping). */
.platform .pfooter-legal{row-gap:8px}
/* WCAG 1.4.12 combined with 320 px reflow: with the enlarged letter/word spacing, the longest word of a cell can exceed its column.
   Tracks may shrink below the content (minmax(0,1fr) / min-width:0) and long labels wrap inside their box; without the
   enlarged spacing every label fits, so the rendering is unchanged. */
@media(max-width:600px){
 .platform .phome-content .pcategories>a{min-width:0}
 .platform .phome-content .pcategories>a>span{max-width:100%;overflow-wrap:anywhere;text-align:center}
 .platform .festival-page .festival-hero-actions{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
 .platform .festival-page .festival-hero-actions .pbtn{white-space:normal;overflow-wrap:anywhere;text-align:center}
 .platform .project-detail-toolbar>div{flex-wrap:wrap}
 .platform .saved-search-bar>a{flex:0 1 auto;min-width:0}
 .platform .saved-search-bar>a>span{min-width:0;overflow-wrap:anywhere}
}
/* Plan cards at 640 px (200 % zoom) in French: "Commencer gratuitement" kept on one line widened the card by 29 px. */
@media(max-width:900px){.platform .pricing-full .pplan .pbtn{white-space:normal;text-align:center}}
/* Visitor header at 320 px in French/Arabic: logo + "Connexion"/"تسجيل الدخول" + menu exceed the width. The bell (sign-in
   required anyway) gives way to the sign-in button, whose label may wrap on two lines. */
@media(max-width:360px){
 .platform .pheader-tools:has(>.pbtn)>a.icon-button[href$="screen=notifications"]{display:none}
 .platform .pheader-tools>.pbtn{white-space:normal;min-width:0;text-align:center;line-height:1.2}
}
