:root{--gold:#b9821f;--gold2:#e3ad45;--red:#bd2730;--ink:#22272e;--muted:#66707a;--cream:#f5f0e7;--white:#fff;--line:#dfd7ca;--green:#159947;--shadow:0 12px 32px rgba(49,40,28,.10);--max:1460px;--radius:20px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#fbfaf7,#f2ede4);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);box-shadow:0 4px 18px rgba(0,0,0,.05)}.header-in{max-width:var(--max);margin:auto;min-height:80px;padding:0 22px;display:flex;align-items:center;gap:24px}.logo{width:72px;height:78px;border:2px solid #d88e94;border-radius:17px 17px 24px 24px;display:grid;place-items:center;font-weight:900;text-align:center;line-height:1.05;background:#fff}.logo .star{display:block;color:var(--gold);font-size:22px}.nav{display:flex;gap:21px;align-items:center;flex:1}.nav a{font-size:13px;font-weight:900;text-transform:uppercase;color:#775317;position:relative;padding:27px 0 19px;white-space:nowrap}.nav a.active:after,.nav a:hover:after{content:"";position:absolute;left:0;right:0;bottom:9px;height:3px;background:var(--red)}.staff-link{margin-left:auto!important;border:1px solid #dfc17e;border-radius:999px;padding:11px 16px!important;background:#fff5df}.burger{display:none;margin-left:auto;border:1px solid #dfd2bd;background:#fff7e8;width:48px;height:48px;border-radius:13px;font-size:25px}.hero{position:relative;height:560px;overflow:hidden}.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:68% 18%}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.76),rgba(0,0,0,.45) 36%,rgba(0,0,0,.08) 76%),linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.18))}.hero-in{position:relative;z-index:2;max-width:var(--max);height:100%;margin:auto;padding:58px 22px;display:flex;align-items:center}.hero-copy{max-width:760px;color:#fff}.hero-kicker{color:#f0c366;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.2em}.hero h1{margin:13px 0 15px;text-transform:uppercase;font-size:clamp(3.2rem,7vw,6.4rem);line-height:.92;max-width:9ch;text-shadow:0 8px 28px rgba(0,0,0,.32)}.hero h1 .gold{color:#d69a2f}.hero-sub{text-transform:uppercase;letter-spacing:.15em;font-size:1.05rem}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 17px;border:0;border-radius:12px;font-weight:900;cursor:pointer}.btn-gold{background:#e0a638;color:#231b0c}.btn-dark{background:#ede8df;color:#2c3138;border:1px solid #d9d1c5}.btn-red{background:var(--red);color:#fff}.btn-green{background:var(--green);color:#fff}.btn-small{min-height:36px;padding:8px 11px;font-size:12px}.main{max-width:var(--max);margin:auto;padding:32px 22px 70px}.section-head small{color:#956616;text-transform:uppercase;letter-spacing:.15em;font-weight:900}.section-head h2{font-size:clamp(1.9rem,3vw,2.5rem);margin:4px 0 8px}.intro{color:var(--muted);max-width:980px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.pad{padding:22px}.stat{padding:22px}.stat small{color:#956616;text-transform:uppercase;font-weight:900}.stat strong{display:block;font-size:1.9rem;margin-top:8px}.muted{color:var(--muted)}.notice{padding:14px 16px;border:1px solid #e6c77e;border-radius:13px;background:#fff7e1;color:#6b521b}.players{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.player{overflow:hidden}.player-photo{aspect-ratio:1/1;background:#ede8df center/cover no-repeat;display:grid;place-items:center;color:#8d8274;font-weight:900}.player-body{padding:17px}.player-body h3{margin:0 0 6px}.player-meta{font-size:.9rem;color:var(--muted)}.player-strong{margin-top:10px;padding:8px 10px;background:#fff5dc;border:1px solid #e4c77c;border-radius:10px;color:#735314}.list{display:grid;gap:13px}.match{display:grid;grid-template-columns:145px 1fr auto;gap:17px;align-items:center;padding:19px}.datebox{text-align:center;background:#fff7e7;border:1px solid #e4c789;border-radius:14px;padding:12px}.datebox strong{display:block;color:#9a690f}.score{font-weight:900;font-size:1.8rem;color:#a66e0c}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900}.win{background:#dcf5e5;color:#15713a}.draw{background:#fff1c9;color:#83610b}.loss{background:#ffe3e3;color:#a42626}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:16px}table{width:100%;border-collapse:collapse;min-width:780px}th,td{padding:13px;border-bottom:1px solid #ece5da;text-align:left}th{background:#faf4e9;color:#875c12;text-transform:uppercase;font-size:11px}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.contact{text-align:center;padding:24px}.contact h3{font-size:1.7rem;margin:6px 0}.contact p{font-size:1.25rem;font-weight:900}.club-info{display:grid;gap:10px}.club-row{display:grid;grid-template-columns:140px 1fr;gap:12px;padding:12px 14px;border-radius:12px;background:#faf7f1;border:1px solid #e5ded2}.club-row span{color:#956616;font-size:12px;text-transform:uppercase;font-weight:900}.conv-card{padding:20px}.conv-meta{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.conv-meta span{padding:6px 9px;background:#f7f3ec;border:1px solid #e4ddd2;border-radius:999px;font-size:12px}.conv-players{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.conv-player{display:flex;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid #eae3d8;border-radius:10px}.status{padding:4px 7px;border-radius:999px;font-size:10px;font-weight:900}.s-convoque{background:#dcf5e5;color:#15713a}.s-attente{background:#fff1c9;color:#83610b}.s-non_convoque{background:#edf0f2;color:#606a75}.s-absent{background:#ffe3e3;color:#a42626}.s-blesse{background:#ffe9d2;color:#98500c}.s-suspendu{background:#f2dfff;color:#71389a}.login{max-width:520px;margin:auto;padding:24px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.field{display:grid;gap:5px}.field label{font-size:12px;font-weight:900;color:#454b53}.field input,.field select,.field textarea{width:100%;padding:11px 12px;border:1px solid #d9d2c7;border-radius:10px;background:#fff;color:#222}.field textarea{min-height:88px;resize:vertical}.full{grid-column:1/-1}.toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.tab{display:none}.tab.active{display:block}.admin-row{display:grid;grid-template-columns:1.5fr .8fr auto;gap:10px;align-items:center;padding:12px;border:1px solid #e5ded2;border-radius:12px;background:#fff}.admin-actions{display:flex;gap:6px;flex-wrap:wrap}.conv-edit-player{display:grid;grid-template-columns:1fr 200px;gap:10px;align-items:center;padding:9px;border:1px solid #e5ded2;border-radius:10px}.footer{background:#eee8de;border-top:1px solid #d9d0c2;padding:25px 22px}.footer-in{max-width:var(--max);margin:auto;display:flex;justify-content:space-between;gap:20px}.footer-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}.footer-links a{color:#7d5918;font-size:13px}.legal{max-width:920px}.legal h3{color:#875c12}.danger-note{font-size:12px;color:#8a5d08;background:#fff3cd;border:1px solid #e2c16b;border-radius:11px;padding:10px;margin-top:10px}@media(max-width:1100px){.nav{gap:12px}.nav a{font-size:11px}.players,.grid4{grid-template-columns:repeat(2,1fr)}}@media(max-width:820px){.burger{display:block}.nav{display:none;position:absolute;top:80px;left:10px;right:10px;flex-direction:column;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:15px;padding:9px 13px;box-shadow:var(--shadow)}.nav.open{display:flex}.nav a{padding:11px 8px;border-bottom:1px solid #eee8df}.nav a:after{display:none!important}.staff-link{margin-left:0!important;text-align:center}.hero{height:620px}.hero img{object-position:76% 10%}.hero-in{padding:44px 14px 48px;align-items:flex-start}.hero h1{font-size:clamp(2.8rem,15vw,4.4rem)}.hero-actions{display:grid;width:100%}.hero-actions .btn{width:100%;min-height:58px}.main{padding:25px 14px 55px}.grid4,.grid3,.grid2,.players,.contact-grid{grid-template-columns:1fr}.match{grid-template-columns:1fr}.conv-players{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.admin-row{grid-template-columns:1fr}.conv-edit-player{grid-template-columns:1fr}.footer-in{flex-direction:column}.club-row{grid-template-columns:1fr}}

.header-logo-img{width:100%;height:100%;object-fit:contain;border-radius:14px;padding:4px}
.footer{position:relative;overflow:hidden}
.footer-bg{position:absolute;inset:0;background-position:center;background-size:cover;opacity:.25}
.footer-has-image:after{content:"";position:absolute;inset:0;background:rgba(238,232,222,.82)}
.footer-in{position:relative;z-index:2}
.footer-brand{display:flex;align-items:center;gap:14px}
.footer-logo-img{width:66px;height:66px;object-fit:contain;border-radius:12px;background:rgba(255,255,255,.72);padding:4px}
.visual-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}
.visual-card{border:1px solid #e5ded2;border-radius:15px;background:#fff;overflow:hidden;box-shadow:0 8px 22px rgba(49,40,28,.07)}
.visual-preview{height:155px;background:#ece6dd;display:grid;place-items:center;overflow:hidden}
.visual-preview img{width:100%;height:100%;object-fit:cover}
.visual-preview-logo img{object-fit:contain;padding:14px}
.visual-empty{padding:16px;color:#817768;text-align:center;font-size:12px;font-weight:800}
.visual-card-body{padding:14px;display:grid;gap:8px}
.visual-card-body>strong{color:#765216}
.visual-card-body>span{font-size:13px;color:#4f5761}
.visual-card-body>small{font-size:11px;color:#817768}
.visual-card-body input[type=file]{width:100%;font-size:12px}
.visual-actions{display:flex;gap:7px;flex-wrap:wrap}
@media(max-width:1100px){.visual-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.visual-grid{grid-template-columns:1fr}.footer-brand{align-items:flex-start}.footer-logo-img{width:56px;height:56px}}

/* V3.7.2b - calendrier entraînements + photos administrables */
.event-kind{display:inline-flex;align-items:center;width:max-content;margin-bottom:5px;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.08em}.event-match{background:#fff1c9;color:#83610b}.event-training{background:#e2eefc;color:#245d9b}.training-card{border-left:5px solid #4b82bd}.training-card .datebox{background:#eef5fd;border-color:#bdd2eb}.training-card .datebox strong{color:#245d9b}.training-card .score{color:#245d9b;font-size:1.15rem}.event-note{margin-top:8px;font-size:13px;color:#4f5761}.match-only[hidden]{display:none!important}

/* V3.7.2 REV2 - planning hebdomadaire des entraînements */
.training-only[hidden]{display:none!important}
.calendar-group-title{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:14px 2px 4px;padding:8px 2px;color:#4f5761}
.calendar-group-title strong{font-size:1.05rem;color:#765216;text-transform:uppercase;letter-spacing:.04em}
.calendar-group-title span{font-size:.85rem;color:var(--muted)}
@media(max-width:820px){.calendar-group-title{align-items:flex-start;flex-direction:column;gap:2px}}
