.landing{position:relative;isolation:isolate;overflow:hidden;min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;gap:clamp(36px,7vh,96px);padding:clamp(28px,5vh,64px) clamp(24px,4vw,84px)}
.landing-photos,.landing-photos::after,.stadium-photo{position:absolute;inset:0;width:100%;height:100%}
.landing-photos{z-index:-1;background:#160824}
.stadium-photo{object-fit:cover;object-position:65% center;opacity:0;transition:opacity 1.1s ease}
.stadium-photo.is-current{opacity:1}
.landing-photos::after{content:"";background:radial-gradient(ellipse at 0 0,#5f0ab18c,transparent 43%),linear-gradient(90deg,#08020fee 0%,#0c0318f0 22%,#0b0319be 35%,#09021122 63%,transparent 100%),linear-gradient(0deg,#06010ee8,transparent 42%)}
.landing-header,.landing-footer{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.landing-wordmark{display:inline-flex;flex-direction:column;text-decoration:none;line-height:1}
.landing-wordmark strong{font-size:clamp(35px,4.2vw,82px);font-weight:950;font-style:italic;letter-spacing:-.065em}
.landing-wordmark span{display:flex;align-items:center;gap:14px;margin-top:7px;font-size:clamp(16px,1.7vw,31px);font-style:italic;font-weight:800}
.landing-wordmark i{width:clamp(32px,4.4vw,86px);height:clamp(5px,.55vw,11px);background:#af24ff;transform:skewX(-15deg)}
#landing-language{background:#100a19d9;color:#fff;border:1px solid #ffffff42;border-radius:9px;padding:8px 12px;cursor:pointer}
.landing-main{width:min(780px,59vw);margin-block:auto}
.landing h1{font-size:clamp(44px,4.5vw,90px);line-height:.99;letter-spacing:-.048em;margin:0 0 20px;text-wrap:balance}
.landing-intro{font-size:clamp(18px,1.75vw,32px);line-height:1.35;color:#ede5f3;margin:0 0 clamp(24px,5vh,58px);max-width:37ch}
.mcsport-signin{display:inline-flex;align-items:center;justify-content:center;gap:14px;text-decoration:none;color:#fff;border:1px solid #c76aff;border-radius:18px;background:linear-gradient(120deg,#6905eb,#a53afa 54%,#5900e5);box-shadow:0 0 26px #a82cff65,inset 0 0 12px #f7beff45;font-weight:850;transition:filter .2s}
.mcsport-signin{font-size:clamp(24px,2.4vw,46px);padding:12px clamp(26px,4vw,74px)}
.mcsport-signin img{width:clamp(44px,4.3vw,84px);height:auto}
.mcsport-signin:hover{filter:brightness(1.14)}
.landing-lock,.landing-message{line-height:1.4;color:#ede5f3}
.landing-lock{margin:17px 0 0;font-size:clamp(13px,1.25vw,22px)}
.landing-message{max-width:50ch;background:#24133b;border:1px solid #9759e1;border-radius:9px;padding:10px 14px}
.landing-footer{align-items:center}
.landing-links,.landing-controls:not([hidden]){display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px}
.landing-links{font-size:clamp(12px,1vw,17px)}
.landing-links a{text-decoration:underline;text-underline-offset:4px}
.landing-controls:not([hidden]){gap:4px;flex-wrap:nowrap}
.landing-controls button{color:#fff;background:#100a19b9;border:1px solid #ffffff45;border-radius:50%;width:34px;height:34px;display:grid;place-items:center}
.landing-dot::after{content:"";width:7px;height:7px;border-radius:50%;background:#ffffff75}
.landing-dot[aria-pressed="true"]::after{background:#e5aaff}
@media(max-width:700px){
  .landing{gap:45px}
  .landing-main{width:min(100%,510px)}
  .landing h1{font-size:clamp(38px,8.2vw,56px)}
  .landing-photos::after{background:radial-gradient(ellipse at 0 0,#6311a65e,transparent 65%),linear-gradient(0deg,#090211 0%,#0a0214e3 28%,#0a0214a3 68%,#08020f63)}
  .stadium-photo{object-position:56% center}
  .landing-footer{align-items:flex-end}
  .landing-links{gap:8px 14px}
}
@media(prefers-reduced-motion:reduce){.stadium-photo,.mcsport-signin{transition:none}}
.landing {
  color: #fff;
  background: #0c0416;
  color-scheme: dark;
}
.landing a { color: inherit; }
.landing button { cursor: pointer; }
.landing :is(a, button, select):focus-visible {
  outline: 3px solid #d5a5ff;
  outline-offset: 5px;
}
.landing .landing-wordmark {
  color: #fff;
  border: 0;
  padding: 0;
}
.landing #access-title {
  color: #fff;
  outline: none;
}
.landing .mcsport-signin { line-height: 1.15; }
.landing .mcsport-signin:disabled { opacity: .65; cursor: wait; }
.landing #login-error:empty { display: none; }
.landing .landing-intro { line-height: 1.35; }
.landing .landing-lock { color: #ede5f3; }
.landing .mcsport-signin {
  max-width: 100%;
  font-size: clamp(19px, 2.2vw, 38px);
  padding-inline: clamp(16px, 3vw, 56px);
}
.landing .mcsport-signin img { flex: none; }

.access-links-top { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; }
.landing .access-links-top a { background:#180d25df; border:1px solid #ffffff58; border-radius:9px; padding:9px 13px; font-weight:700; text-decoration:none; }
.public-access { min-height:100svh; background:#f5f3f8; color:#22192c; }
.public-access-header { padding:14px clamp(16px,5vw,64px); display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; background:#1a1027; color:white; }
.public-access-header a { color:inherit; text-decoration:none; font-weight:700; }
.public-access-header > a { display:flex; align-items:center; gap:10px; font-size:18px; }
.public-access-header nav { display:flex; flex-wrap:wrap; gap:16px; }
.public-access main { width:min(940px,100% - 32px); margin:auto; padding:clamp(24px,5vw,56px) 0; }
.public-access h1 { color:#22192c; font-size:clamp(27px,5vw,42px); margin-bottom:12px; }
.public-access main > p { color:#534c5d; }
.public-card { margin:20px 0; padding:clamp(16px,4vw,36px); border:1px solid #e1dbe9; border-radius:20px; background:#fff; }
.public-card h2 { margin-bottom:8px; }
.public-status { display:inline-block; padding:5px 12px; border-radius:99px; background:#fae6da; color:#81350d; font-weight:700; }
.public-status.open { background:#dcf4e5; color:#06552b; }
.public-deadline { border-top:1px solid #e9e4ee; padding:16px 0; display:flex; gap:10px; justify-content:space-between; flex-wrap:wrap; }
.public-access .public-button { display:block; width:100%; padding:12px 18px; color:white; background:#6320a7; border:0; border-radius:10px; text-align:center; text-decoration:none; font-weight:750; }
.public-access .public-button:hover { background:#4e1685; }
.public-access [hidden] { display:none!important; }
.public-confirmation { padding:16px; border-radius:12px; background:#dcf4e5; }
.public-muted { color:#5c5467; }
.dossier-title { display:flex; justify-content:space-between; flex-wrap:wrap; margin:8px 0; }
.dossier-title h2 { font-size:clamp(22px,5vw,36px); }
.dossier-card .public-deadline { margin-top:18px; }
.dossier-history { margin:0 0 18px; padding-left:22px; }
.dossier-history li { padding:5px 0 10px 4px; }
.dossier-history time { display:block; color:#5c5467; }
.match-poster { isolation:isolate; overflow:hidden; margin:20px 0; border-radius:22px; padding:clamp(20px,4vw,48px); color:white; text-align:center; background:radial-gradient(ellipse at 17% 45%,#b51446bd,transparent 56%),radial-gradient(ellipse at 86% 50%,#4f2bc6cf,transparent 55%),linear-gradient(#110a25a8,#110a25e8),url('/stade.webp') center/cover; }
.match-poster p { color:#fff; font-weight:650; }
.match-poster a { display:inline-block; color:#fff; margin-top:12px; padding:7px 12px; border:1px solid #fff8; border-radius:9px; }
.match-poster a span { font-size:.85em; }
.match-duel { display:grid; grid-template-columns:1fr auto 1fr; gap:clamp(8px,3vw,32px); align-items:center; margin:18px 0; }
.match-duel h2 { grid-column:1/-1; }
.match-duel b { font-style:italic; color:#f3ccff; font-size:clamp(18px,4vw,38px); }
.match-side { display:grid; justify-items:center; gap:5px; }
.match-side span { font-size:clamp(38px,10vw,90px); line-height:1.15; filter:drop-shadow(0 0 18px #ff7b95b5); }
.match-side.away span { filter:drop-shadow(0 0 18px #a49affc9); }
.match-side strong { font-size:clamp(18px,4vw,40px); line-height:1.05; }
.press-information { border-left:4px solid #6531a3; }
.press-information dl { display:grid; gap:10px; margin:14px 0; }
.press-information dd,.access-review dd { margin:0; overflow-wrap:anywhere; }
.press-information dt,.access-review dt { font-weight:750; }
.press-information p+p { margin-top:10px; }
.media-card-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,185px),1fr)); gap:12px; margin:8px 0; }
.media-choice { position:relative; display:flex; align-items:flex-end; min-height:96px; padding:36px 14px 14px; background:#2d6496; color:white; border:2px solid transparent; border-radius:13px; cursor:pointer; font-weight:750; }
.media-choice input { position:absolute; right:12px; top:10px; width:20px; height:20px; accent-color:#005cba; }
.media-choice:has(input:checked) { background:#194771; border-color:#70c3ff; }
.media-choice:focus-within,.media-upload:focus-within { outline:3px solid #7138ba; outline-offset:2px; }
.media-upload { display:grid; align-content:center; justify-items:center; gap:6px; min-height:125px; padding:12px; border:2px dashed #aaa4b2; border-radius:10px; text-align:center; cursor:pointer; position:relative; overflow-wrap:anywhere; }
.media-upload > span { color:#624480; font-size:28px; line-height:1; }
.media-upload input { position:absolute; inset:0; opacity:0; width:100%; cursor:pointer; }
#application-form textarea { min-height:130px; }
.access-review dl { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,195px),1fr)); gap:10px; margin:0; }

.request-photo-preview { width:80px; height:80px; object-fit:cover; border-radius:8px; }

.landing-wordmark span img { height:28px; width:auto; object-fit:contain; }

/* ACCREZ */
:root {
  --brand:#6e2a95;
  --brand-dark:#4c176b;
  --brand-soft:#f2e7f9;
  --action:#69328d;
  --action-dark:#4c176b;
  --canvas:#f2edf6;
  --wash:#f7f1fa;
  --accrez-mint:#63f5b1;
  --zellige:
    conic-gradient(from 45deg at 50% 50%, #af6ed214 25%, transparent 0 50%, #af6ed214 0 75%, transparent 0),
    conic-gradient(from 45deg at 50% 50%, #af6ed210 25%, transparent 0 50%, #af6ed210 0 75%, transparent 0);
  --zellige-size: 44px 44px;
  --zellige-position: 0 0, 22px 22px;
}
.landing { gap:clamp(16px,4vh,48px); }
.landing-header, .landing-footer { position:relative; z-index:1; }
.landing .landing-wordmark strong { font-style:normal; font-size:clamp(30px,3vw,58px); letter-spacing:.04em; }
.landing .landing-wordmark span { gap:6px; font:600 .85rem/1 Inter,sans-serif; }
.landing-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.78fr); align-items:center; flex:1; }
.landing-main { position:relative; z-index:1; width:auto; }
.landing .mcsport-signin {
  padding:16px clamp(16px,3vw,38px);
  background:linear-gradient(115deg,#5d167c,#8339a6 70%,#6a258a);
  border-color:#c786e5;
  box-shadow:0 0 28px #ac4ee16b;
}
.landing-badge { position:relative; isolation:isolate; display:grid; place-items:center; }
.landing-badge::before, .landing-badge::after { content:""; position:absolute; pointer-events:none; z-index:-1; }
.landing-badge::before {
  inset:1%;
  background:var(--zellige);
  background-size:var(--zellige-size);
  background-position:var(--zellige-position);
  mask-image:radial-gradient(ellipse,#000 12%,transparent 71%);
}
.landing-badge::after {
  inset:10% 8%;
  background:radial-gradient(ellipse at 48% 44%,#b54dfbbb,transparent 63%),
    radial-gradient(ellipse at 65% 65%,#63f5b144,transparent 46%);
  animation:accrez-halo 6s ease-in-out infinite alternate;
}
.landing-badge img {
  display:block;
  width:min(100%,560px,64svh);
  height:auto;
  filter:drop-shadow(0 10px 26px #0b0213bb);
  animation:accrez-float 6s ease-in-out infinite;
}
@keyframes accrez-halo { from { opacity:.65; transform:scale(.92) } to { opacity:1; transform:scale(1.13) } }
@keyframes accrez-float { 50% { transform:translateY(-10px) rotate(1.2deg) } }
.effects-paused .landing-badge img,.effects-paused .landing-badge::after { animation-play-state:paused; }
.public-access-header,.top {
  background:var(--zellige),linear-gradient(110deg,#231034,#4b1e62);
  background-size:var(--zellige-size),var(--zellige-size),auto;
  background-position:var(--zellige-position),0 0;
  color:white;
}
.top :is(.brand,.brand small,.nav button,.top-menu summary) { color:#fff; }
.top .top-menu summary { border-color:#ffffff4d; }
.top :is(.nav button:hover,.nav button[aria-current],.top-menu summary:hover,.top-menu[open] summary) { background:#ffffff24; }
.top .nav button[aria-current] { border-bottom-color:var(--accrez-mint); }
.brand-mark.brand-logo,.public-access-header img { object-fit:contain; width:38px; height:38px; padding:0; background:#fff1; }
.public-access,.shell {
  background-image:var(--zellige);
  background-size:var(--zellige-size);
  background-position:var(--zellige-position);
}
.shell .panel-header { background-color:#f4eaf9; }
.accreditation-registry { --registry-blue:#76559c; --registry-red:#5b2879; --registry-stripe:#f1e9f8; }
.public-card { border-color:#e5d4ee; box-shadow:0 8px 22px #3e0e5311; }
.match-poster { position:relative; }
.match-poster::after {
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:var(--zellige); background-size:var(--zellige-size); background-position:var(--zellige-position);
}
.media-choice {
  background:var(--zellige),linear-gradient(135deg,#542174,#743299);
  background-size:var(--zellige-size),var(--zellige-size),auto;
  background-position:var(--zellige-position),0 0;
}
.media-choice input { accent-color:#77f6bb; }
.media-choice:has(input:checked) { background:#492060; border-color:#64d7a4; }
.media-upload { border-color:#aa82bc; background:#fcf7ff; }
.media-upload:hover { background:#f2e6fa; }
@media(max-width:700px) {
  .landing-hero { grid-template-columns:1fr; gap:6px; }
  .landing-badge { order:-1; }
  .landing-badge img { width:min(74vw,31svh,270px); }
  .landing-main { margin:0; }
}
@media(prefers-reduced-motion:reduce) {
  .landing-badge img,.landing-badge::after { animation:none; }
}

.accrez-signature {
  --signature-logo: clamp(40px, 4vw, 64px);
  display:inline-flex; align-items:center; gap:clamp(6px,1vw,13px);
  white-space:nowrap; line-height:1; vertical-align:middle;
}
.accrez-signature strong { font-size:clamp(21px,2.1vw,34px); font-weight:900; letter-spacing:.055em; }
.accrez-signature .accrez-by {
  display:inline-flex; align-items:center; gap:5px; margin:0;
  font-size:clamp(11px,1vw,15px); font-style:normal; font-weight:600;
}
.accrez-signature .accrez-by img {
  width:var(--signature-logo); height:var(--signature-logo); object-fit:contain;
  background:none; padding:0; filter:drop-shadow(0 0 9px #ce83f9a6);
  transition:filter .2s ease,transform .2s ease;
}
a:is(:hover,:focus-visible) .accrez-by img { filter:drop-shadow(0 0 13px #e4adff); transform:scale(1.06); }
.landing-wordmark .accrez-signature { --signature-logo:clamp(52px,6vw,100px); margin:0; }
.landing .landing-wordmark strong { font-size:clamp(26px,4.2vw,70px); }
.landing .landing-wordmark .accrez-by { font-size:clamp(12px,1.35vw,20px); }
.top .brand { text-decoration:none; }
.top-inner { min-height:72px; }
.public-access main { width:min(940px,calc(100% - clamp(24px,7vw,72px))); }
.public-access :is(h1,h2,p),.match-side strong { overflow-wrap:anywhere; }
.public-access input:not([type=checkbox],[type=radio]),.public-access textarea,.public-access select { min-width:0; max-width:100%; font-size:16px; }
.landing #access-title { font-size:clamp(36px,5.5vw,92px); line-height:1.02; }
.landing .landing-intro { font-size:clamp(16px,1.8vw,28px); }
.landing .mcsport-signin { font-size:clamp(16px,2vw,30px); }
@media(max-width:700px) {
  .landing { padding:18px clamp(14px,4vw,28px); }
  .landing-header { flex-wrap:wrap; align-items:center; gap:8px 16px; }
  .access-links-top { justify-content:flex-start; gap:6px; }
  .landing .access-links-top a { font-size:13px; padding:8px 10px; }
  .landing #access-title { font-size:clamp(34px,8vw,56px); }
  .landing-badge img { width:min(66vw,30svh,265px); }
  .landing-intro { margin-bottom:20px; }
  .landing-footer { flex-wrap:wrap; gap:12px; }
  .public-access-header { padding:10px 14px; gap:8px 16px; }
  .public-access-header nav { font-size:13px; }
  .public-access .gridform { grid-template-columns:minmax(0,1fr); }
  .match-duel { grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); }
  .match-side strong { font-size:clamp(15px,4.5vw,24px); }
}
@media(prefers-reduced-motion:reduce) {
  .accrez-signature .accrez-by img { transition:none; transform:none; }
}

.accrez-signature .accrez-header-badge {
  width:auto;
  height:clamp(52px,5.5vw,76px);
  object-fit:contain;
  background:none;
  filter:drop-shadow(0 4px 6px #5b318742);
}

.public-access-header,.top {
  background:var(--zellige),linear-gradient(110deg,#eff9ff,#d7eeff);
  background-size:var(--zellige-size),var(--zellige-size),auto;
  background-position:var(--zellige-position),0 0;
  border-bottom:1px solid #bddcf1;
  color:#23204a;
}
.top :is(.brand,.nav button,.top-menu summary) { color:#23204a; }
.top .top-menu summary { border-color:#a8cce6; }
.top :is(.nav button:hover,.nav button[aria-current],.top-menu summary:hover,.top-menu[open] summary) {
  background:#fff9;
}
.top .nav button[aria-current] { border-bottom-color:#6e2a95; }
.public-access-header .accrez-signature strong,.top .accrez-signature strong {
  font-size:clamp(22px,3vw,36px);
  color:#401655;
}
.top-inner { min-height:88px; }
@media(max-width:520px) {
  .top-inner { min-height:72px; }
}

.centre-match-poster { margin:0; border-radius:0; padding:clamp(15px,2.8vw,36px); }
.centre-match-poster .event-switch { display:flex; justify-content:flex-end; margin:0 0 10px; padding:0; }
.centre-match-poster .event-switch .button { background:#1c1039bf; border-color:#ffffff6b; color:#fff; }
.match-emblems { display:flex; align-items:center; justify-content:center; gap:clamp(5px,1vw,14px); min-width:0; }
.match-emblems .match-crest {
  width:clamp(35px,6vw,76px); height:clamp(35px,6vw,76px); object-fit:contain;
  padding:4px; border-radius:12px; background:#fff; filter:drop-shadow(0 0 12px #ffffff6b);
}
.centre-match-poster .match-emblems span { font-size:clamp(28px,5vw,64px); }
.centre-match-poster::after { animation:centre-match-lights 7s ease-in-out infinite alternate; }
@keyframes centre-match-lights { from { opacity:.55 } to { opacity:1 } }
@media(prefers-reduced-motion:reduce) { .centre-match-poster::after { animation:none; } }

.country-picker { display:grid; gap:5px; }
.country-picker .field { min-width:0; }
.option-icon {
  display:grid; place-items:center; width:47px; height:47px;
  margin-bottom:4px; border-radius:14px; font-size:27px; line-height:1;
  background:linear-gradient(145deg,#fff5,#fff0);
  box-shadow:inset 0 1px 1px #fff8,0 4px 9px #21073566;
  text-shadow:0 2px 4px #21073580;
}
.media-choice:has(.option-icon) { display:grid; align-content:end; justify-items:start; gap:4px; padding-top:18px; }
.match-day-details { padding:16px; border:1px solid #dfcaee; background:#f8f0fc; border-radius:12px; }
.match-day-details p { white-space:pre-wrap; }
#match-day-form { border-top:1px solid var(--line); padding-top:16px; }

.country-picker { position:relative; }
.country-picker [role=listbox] {
  position:absolute; inset:100% 0 auto; z-index:4; max-height:230px;
  overflow:auto; overscroll-behavior:contain; margin:3px 0 0; padding:4px;
  background:#fff; border:1px solid var(--line-strong); border-radius:9px;
  list-style:none; box-shadow:0 8px 22px #35144933;
}
.country-picker [role=option] { padding:8px; border-radius:5px; cursor:pointer; }
.country-picker [role=option]:is(:hover,[aria-selected=true]) { background:var(--brand-soft); color:var(--brand-dark); }
.centre-match-poster .event-switch { flex-wrap:wrap; gap:8px; }
#settings-form .toolbar { align-items:end; flex-wrap:wrap; gap:8px; }

/* Photographies ACCREZ : profondeur, fondu et mouvement doux. */
.landing .stadium-photo {
  object-position:center; filter:brightness(.78) saturate(.85);
  transform:scale(1.025); transition:opacity 1.5s ease;
}
.landing .stadium-photo.is-current { animation:landing-photo-drift 9s ease-out both; }
.landing-photos::after {
  background:linear-gradient(90deg,#080a18e8 0%,#100b23bf 38%,#0c10203d 76%),
    linear-gradient(0deg,#070916ed 0%,transparent 40%,#080c186b 100%),
    radial-gradient(ellipse at 85% 35%,#61329222,transparent 65%);
}
.landing #access-title { text-shadow:0 3px 28px #0009; }
.landing .landing-intro { text-shadow:0 2px 12px #000b; }
@keyframes landing-photo-drift { from { transform:scale(1.025) } to { transform:scale(1.085) } }
.effects-paused .stadium-photo.is-current { animation-play-state:paused; }
@media(max-width:700px) {
  .landing-photos::after { background:linear-gradient(0deg,#070916f5 0%,#0d1023b8 48%,#0b0d1a85 100%); }
  .landing .stadium-photo { object-position:58% center; }
  .landing-controls button { width:36px; height:36px; }
}
@media(prefers-reduced-motion:reduce) {
  .landing .stadium-photo,.landing .stadium-photo.is-current { animation:none; transition:none; transform:none; }
}

.centre-match-poster .event-switch { justify-content:space-between; align-items:center; width:100%; }
.event-switch-left,.event-switch-right { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.event-switch-right { margin-left:auto; }

.required-mark { color:#d71936; font-weight:800; margin-left:3px; }
.required-help { font-size:14px; color:#554a60; }

.public-access .required-mark { display:inline-block; color:#d71936; animation:required-bounce 1.8s ease-in-out infinite; }
.public-access .field-label { display:block; }
.social-network { padding:14px 0; border-bottom:1px solid #e6e0eb; }
.social-network > label { display:flex; align-items:center; gap:8px; font-weight:700; }
.social-network .gridform { margin-top:12px; }
.public-button:disabled { opacity:.5; cursor:not-allowed; }
@keyframes required-bounce { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-2px); } }
@media(prefers-reduced-motion:reduce) { .public-access .required-mark { animation:none; } }
