:root{--ink:#251a15;--brown:#5a2e20;--brown2:#7b452e;--cream:#fffaf1;--paper:#fffdf8;--gold:#e7a935;--gold2:#f4ca72;--red:#b33e35;--green:#32755d;--line:#eadfce;--muted:#756a63;--shadow:0 18px 45px rgba(66,38,23,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f2ea;color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif;line-height:1.55}.container{width:min(1180px,calc(100% - 32px));margin:auto}.narrow{width:min(660px,calc(100% - 32px))}.narrow-wide{width:min(940px,calc(100% - 32px))}a{color:#70442b;text-decoration:none}a:hover{text-decoration:underline}.hero{background:radial-gradient(circle at 15% 30%,#8b5035 0,#583020 34%,#251914 78%);color:white;overflow:hidden;position:relative}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.06),transparent 35%),repeating-linear-gradient(90deg,rgba(255,255,255,.012) 0 2px,transparent 2px 12px);pointer-events:none}.topbar{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid rgba(255,255,255,.13);position:relative;z-index:2}.topbar>div{display:flex;gap:10px;flex-wrap:wrap}.brand{font-family:Georgia,serif;font-size:25px;font-weight:800;color:#fff}.brand:hover{text-decoration:none}.hero-content{min-height:520px;display:flex;align-items:center;justify-content:space-between;gap:35px;position:relative;z-index:1;padding:48px 0}.hero-copy{max-width:620px}.eyebrow{display:inline-block;font-size:12px;letter-spacing:3px;font-weight:900;color:var(--gold2);margin-bottom:10px}.eyebrow.dark{color:#8d542e}.hero h1{font-family:Georgia,serif;font-size:clamp(48px,6vw,78px);line-height:.98;margin:0 0 22px}.hero h1 span{color:var(--gold2)}.hero p{font-size:19px;max-width:620px;color:#f8e9d5}.hero-art{width:min(430px,42vw);filter:drop-shadow(0 22px 24px rgba(0,0,0,.3));border-radius:28px;transform:rotate(1.5deg)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:0;border-radius:10px;padding:11px 16px;font-weight:800;cursor:pointer;text-decoration:none!important;font-size:14px}.btn.primary{background:var(--brown);color:white}.btn.gold{background:var(--gold);color:#2c1e16}.btn.ghost{background:transparent;color:white;border:1px solid rgba(255,255,255,.3)}.btn.light{background:#eee6da;color:#4b3327}.btn.success{background:var(--green);color:white}.btn.danger{background:var(--red);color:white}.btn.dark{background:#332821;color:white}.btn.big{padding:14px 20px;font-size:16px}.search-panel{background:white;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow);margin-top:-34px;position:relative;z-index:5}.filters{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr auto auto;gap:10px}.filters input,.filters select,.form-grid input,.form-grid select,.form-grid textarea,.mod-actions input{width:100%;border:1px solid #d9ccbc;background:#fff;border-radius:9px;padding:12px;color:var(--ink);font:inherit}.filters input:focus,.filters select:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.mod-actions input:focus{outline:3px solid rgba(231,169,53,.2);border-color:#c28a2a}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:48px 0 20px}.section-head h1,.section-head h2{font-family:Georgia,serif;font-size:38px;margin:0}.count{background:#ede3d7;padding:7px 12px;border-radius:999px;font-weight:800;font-size:13px}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding-bottom:60px}.event-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 12px 30px rgba(70,42,26,.07);transition:.2s}.event-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.event-card.featured{outline:3px solid rgba(231,169,53,.35)}.poster-button{display:block;border:0;padding:0;width:100%;height:270px;overflow:hidden;background:#dccfbe;position:relative;cursor:zoom-in}.poster-button img{width:100%;height:100%;object-fit:cover;display:block;transition:.3s}.poster-button:hover img{transform:scale(1.035)}.poster-button span{position:absolute;left:12px;bottom:12px;background:rgba(26,18,14,.86);color:white;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:800}.event-body{padding:19px}.event-body h3{font-family:Georgia,serif;font-size:25px;line-height:1.1;margin:9px 0 13px}.chips{display:flex;gap:7px;flex-wrap:wrap}.chip{background:#eee3d5;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.7px}.gold-chip{background:#f6d887}.danger-chip{background:#f4c5c2;color:#7b1811}.meta{font-size:14px;color:#584b43;margin:7px 0}.meta.strong{font-weight:900;color:#36241c}.desc{color:#6e625b}.price{font-weight:900;color:#7c4728;margin:9px 0}details{border-top:1px solid var(--line);margin-top:13px;padding-top:13px}summary{cursor:pointer;font-weight:900;color:#694029}.details-box{padding:8px 0 0}.details-box p{margin:8px 0}.full-desc{border-top:1px dashed #dfcfbc;padding-top:12px}.empty{background:#fff;border:1px dashed #cebda8;border-radius:15px;padding:40px;text-align:center;margin-bottom:60px}.image-modal{position:fixed;inset:0;background:rgba(18,12,9,.93);z-index:1000;display:none;align-items:center;justify-content:center;padding:28px}.image-modal.open{display:flex}.image-modal figure{margin:0;max-width:min(1000px,94vw);max-height:94vh;text-align:center}.image-modal img{max-width:100%;max-height:85vh;object-fit:contain;border-radius:10px;box-shadow:0 25px 70px #000}.image-modal figcaption{color:#fff;margin-top:10px;font-weight:800}.modal-close{position:fixed;right:22px;top:16px;border:0;background:transparent;color:white;font-size:45px;cursor:pointer}.no-scroll{overflow:hidden}footer{background:#2b1c16;color:#eadccf;margin-top:30px}.footer-inner{min-height:130px;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-inner a:not(.btn){color:#fff}.mini-hero{background:linear-gradient(120deg,#2b1c16,#6d3b28);color:#fff;padding:26px 0 40px}.mini-hero h1{font-family:Georgia,serif;font-size:44px;margin:24px 0 4px}.mini-hero p{margin:0;color:#efddcb}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:var(--shadow);margin:34px 0}.panel h1,.panel h2{font-family:Georgia,serif}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-grid.one{grid-template-columns:1fr}.form-grid label{font-weight:800;font-size:14px}.form-grid input,.form-grid select,.form-grid textarea{margin-top:7px}.form-grid .full{grid-column:1/-1}.form-grid h2.full{margin:18px 0 0;border-bottom:1px solid var(--line);padding-bottom:9px}.consent{background:#fff7e7;border:1px solid #f0d6a6;padding:13px;border-radius:10px;font-size:13px}.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.notice{padding:14px 16px;border-radius:11px;margin-bottom:18px}.notice.success{background:#e4f3ea;color:#255b43;border:1px solid #b9ddc8}.notice.danger{background:#fbe6e4;color:#7c2923;border:1px solid #efc0bc}.muted{color:var(--muted);font-size:13px}.login-wrap{padding-top:8vh}.login-logo{font-size:58px;color:var(--gold);text-align:center}.login-wrap h1{text-align:center}.adminbar{background:#2d1d16;color:#fff}.adminbar-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:15px}.adminbar-inner>div{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.adminbar span{color:#d8c6b6;font-size:13px}.admin-main{padding-top:26px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;align-items:center;gap:12px;box-shadow:0 8px 20px rgba(50,30,20,.06)}.stat b{font-size:28px;color:#7b432a}.stat span{font-weight:800;color:#56463e}.moderation-list{display:grid;gap:16px;padding-bottom:50px}.moderation-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;display:grid;grid-template-columns:210px 1fr;gap:20px}.moderation-card.duplicate{border:2px solid #c9675f}.mod-poster{height:240px;border-radius:11px;overflow:hidden;background:#e8dfd4}.mod-poster img{width:100%;height:100%;object-fit:cover}.mod-content h2{font-family:Georgia,serif;margin:9px 0}.contact-box{background:#f4eee6;border-radius:10px;padding:11px;margin:12px 0}.mod-actions{display:grid;grid-template-columns:1fr auto auto auto auto;gap:8px;align-items:center}.check{white-space:nowrap;font-size:13px;font-weight:800}.check input{width:auto}.moderation-card p{margin:7px 0}@media(max-width:980px){.event-grid{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:1fr 1fr 1fr}.hero-content{min-height:450px}.hero-art{width:36vw}.mod-actions{grid-template-columns:1fr 1fr 1fr}.mod-actions input{grid-column:1/-1}.moderation-card{grid-template-columns:160px 1fr}}@media(max-width:700px){.topbar{align-items:flex-start;padding:18px 0;flex-direction:column}.hero-content{padding:42px 0 72px;min-height:auto}.hero-art{display:none}.hero h1{font-size:48px}.filters{grid-template-columns:1fr}.event-grid{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.stats{grid-template-columns:1fr 1fr}.moderation-card{grid-template-columns:1fr}.mod-poster{height:300px}.mod-actions{grid-template-columns:1fr}.mod-actions input{grid-column:auto}.adminbar-inner{padding:15px 0;align-items:flex-start;flex-direction:column}.footer-inner{padding:25px 0;align-items:flex-start;flex-direction:column}.mini-hero h1{font-size:36px}}

/* Comptes annonceurs + envoi multiple */
.welcome-countrysoir{display:block;width:max-content;max-width:100%;background:rgba(255,250,241,.96);color:#5a2e20;border:2px solid #e7a935;border-radius:999px;padding:9px 16px;margin:0 0 18px;font-family:Georgia,serif;font-size:clamp(17px,2vw,24px);font-weight:900;box-shadow:0 9px 25px rgba(0,0,0,.18)}
.accountbar{background:linear-gradient(120deg,#2b1c16,#6d3b28);color:#fff}.account-summary{background:#f8efe2;border:1px solid #e6d0b3;border-radius:12px;padding:13px 15px;margin-bottom:20px}.account-summary a{float:right;font-weight:800}.bulk-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:18px 0}.submit-batch{width:100%;margin-top:8px}.event-form-card{border:2px solid #ead6bc;background:#fffdf8;border-radius:16px;padding:20px;margin-bottom:22px;box-shadow:0 10px 25px rgba(70,42,26,.06)}.event-form-head{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid #eadfce;margin-bottom:18px;padding-bottom:11px}.event-form-head h2{margin:0;font-family:Georgia,serif}.account-events{display:grid;gap:15px;padding-bottom:50px}.account-event{display:grid;grid-template-columns:150px 1fr;gap:18px;background:#fff;border:1px solid #eadfce;border-radius:15px;padding:14px;box-shadow:0 8px 20px rgba(50,30,20,.06)}.account-event>img{width:150px;height:170px;object-fit:cover;border-radius:10px;background:#e8dfd4}.account-event h2{font-family:Georgia,serif;margin:8px 0}.status-approved{background:#cce8d8;color:#24573f}.status-pending{background:#f6d887;color:#654712}.status-rejected{background:#f4c5c2;color:#7b1811}.notice.info{background:#e9f1f8;color:#31536a;border:1px solid #c7dce9}.centered{text-align:center}
@media(max-width:700px){.account-summary a{float:none;display:block;margin-top:6px}.account-event{grid-template-columns:1fr}.account-event>img{width:100%;height:260px}.event-form-head{align-items:flex-start;flex-direction:column}}

/* V3 - annonce simple + sécurité annonceurs */
.submission-help{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 24px}.submission-help>div{background:#fff8ea;border:1px solid #edd5a9;border-radius:13px;padding:15px}.submission-help strong{display:block;font-family:Georgia,serif;font-size:18px;color:#5a2e20}.submission-help span{display:block;color:#756a63;font-size:13px;margin-top:4px}.mode-picker{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:18px;align-items:end;background:#f7efe4;border:1px solid #e7d2b8;border-radius:12px;padding:14px;margin-bottom:18px}.mode-picker label{font-weight:900}.mode-picker select{width:100%;margin-top:7px;border:1px solid #d9ccbc;border-radius:9px;padding:11px;background:#fff;font:inherit}.mode-picker p{margin:0;color:#6a5c52;font-weight:700}.full-fields-separator{border-top:2px dashed #ddc7a8;padding-top:16px;margin-top:4px;color:#6d3b28}.simple-mode{border-color:#e7a935;box-shadow:0 12px 30px rgba(231,169,53,.12)}.edit-mode-badge{background:#f5e4bd;border:1px solid #dfbd6c;border-radius:999px;padding:8px 13px;width:max-content;font-weight:900}.current-poster{display:flex;align-items:center;gap:14px;background:#f7f2ea;border-radius:12px;padding:10px}.current-poster img{width:110px;height:130px;object-fit:cover;border-radius:8px}.current-poster span{font-weight:900}.simple-poster-card .poster-button{height:390px}.simple-poster-card .poster-button img{object-fit:contain;background:#efe6da}.simple-comment{font-size:15px;color:#4f433c}.notice.warning{background:#fff1c9;color:#654712;border:1px solid #e8c565}.banned-chip{background:#312724;color:#fff}.advertiser-admin-list{display:grid;gap:18px;padding-bottom:50px}.advertiser-admin-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 8px 20px rgba(50,30,20,.06)}.advertiser-admin-card.is-banned{border:2px solid #b33e35;background:#fffafa}.advertiser-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.advertiser-head h2{font-family:Georgia,serif;font-size:28px;margin:8px 0 2px}.advertiser-head p{margin:0}.advertiser-security-form{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.advertiser-security-form label{font-weight:900}.advertiser-security-form textarea{width:100%;margin-top:7px;border:1px solid #d9ccbc;border-radius:9px;padding:11px;font:inherit;resize:vertical}.security-buttons{display:flex;gap:8px;flex-wrap:wrap}.warning-btn{background:#e7a935;color:#2c1e16}.warning-history{margin-top:14px;background:#f8f2e9;border-radius:10px;padding:10px 12px}.warning-history summary{border:0;margin:0;padding:0}.warning-history p{margin:8px 0;padding-top:8px;border-top:1px dashed #dbcbb8}
@media(max-width:700px){.submission-help{grid-template-columns:1fr}.mode-picker{grid-template-columns:1fr}.simple-poster-card .poster-button{height:330px}.advertiser-head{flex-direction:column}.advertiser-security-form{grid-template-columns:1fr}.security-buttons{flex-direction:column}.security-buttons .btn{width:100%}}

/* V4 - accueil public plus confortable et optimisé téléphone */
.public-index .poster-button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.public-index .poster-button:focus-visible{outline:4px solid var(--gold);outline-offset:-4px}
.public-index .poster-button span{display:flex;align-items:center;gap:5px;min-height:38px;padding:9px 13px;box-shadow:0 4px 16px rgba(0,0,0,.22)}
.public-index .event-card{isolation:isolate}
.public-index .event-body{font-size:15px}
.public-index .meta{line-height:1.45}
.public-index details summary{min-height:44px;display:flex;align-items:center;border-radius:9px;padding:3px 4px}
.public-index details summary:focus-visible{outline:3px solid rgba(231,169,53,.35)}

.image-modal{overscroll-behavior:contain}
.image-modal.open{display:flex;flex-direction:column}
.image-modal .modal-topbar{position:fixed;z-index:1002;left:0;right:0;top:0;min-height:64px;padding:10px max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;gap:16px;color:#fff;background:linear-gradient(to bottom,rgba(8,5,4,.95),rgba(8,5,4,.72),transparent)}
.image-modal .modal-topbar>span{font-weight:900;font-size:15px}
.image-modal .modal-close{position:static;min-width:110px;min-height:46px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font:inherit;font-weight:900;font-size:15px;padding:7px 14px;display:inline-flex;align-items:center;justify-content:center;gap:7px}
.image-modal .modal-close span{font-size:28px;line-height:.7;font-weight:400}
.image-modal figure{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0}
.image-modal img{user-select:none;-webkit-user-drag:none}
.image-modal .modal-hint{color:#e8ddd6;font-size:12px;margin-top:8px;text-align:center}

@media(max-width:700px){
  .public-index .container{width:min(100% - 20px,1180px)}
  .public-index .topbar{padding:12px 0 14px;gap:12px;min-height:auto}
  .public-index .brand{font-size:22px}
  .public-index .public-nav-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .public-index .public-nav-actions .btn{min-height:48px;padding:10px 9px;font-size:13px}
  .public-index .public-nav-actions .admin-access{grid-column:1/-1;background:rgba(255,255,255,.07)}
  .public-index .hero-content{padding:26px 0 54px}
  .public-index .welcome-countrysoir{font-size:17px;line-height:1.25;padding:8px 13px;margin-bottom:14px}
  .public-index .eyebrow{font-size:10px;letter-spacing:2px;margin-bottom:7px}
  .public-index .hero h1{font-size:clamp(34px,10vw,44px);line-height:1.02;margin-bottom:14px}
  .public-index .hero p{font-size:16px;line-height:1.5;margin-bottom:0}
  .public-index .search-panel{margin-top:-27px;border-radius:16px;padding:12px;box-shadow:0 14px 32px rgba(66,38,23,.14)}
  .public-index .filters{gap:9px}
  .public-index .filters input,.public-index .filters select{min-height:49px;font-size:16px;padding:12px 13px}
  .public-index .filters .btn{min-height:49px;font-size:15px}
  .public-index .section-head{margin:30px 0 14px;gap:9px}
  .public-index .section-head h2{font-size:30px;line-height:1.05}
  .public-index .count{font-size:12px;padding:6px 10px}
  .public-index .event-grid{gap:18px;padding-bottom:35px}
  .public-index .event-card{border-radius:18px;box-shadow:0 10px 25px rgba(70,42,26,.10)}
  .public-index .event-card:hover{transform:none}
  .public-index .poster-button{height:min(62vh,430px);min-height:320px;background:#e8ded0}
  .public-index .poster-button img{object-fit:contain;background:#f0e8dd}
  .public-index .simple-poster-card .poster-button{height:min(68vh,500px);min-height:360px}
  .public-index .poster-button span{left:10px;right:10px;bottom:10px;justify-content:center;font-size:13px;background:rgba(35,23,17,.90)}
  .public-index .event-body{padding:16px}
  .public-index .event-body h3{font-size:24px}
  .public-index .meta{font-size:15px;margin:8px 0}
  .public-index .desc{font-size:15px;line-height:1.55}
  .public-index details{margin-top:15px;padding-top:10px}
  .public-index details summary{min-height:50px;background:#f3eadf;padding:0 13px;border-radius:11px}
  .public-index .details-box{font-size:15px;padding-top:10px}
  .public-index footer{margin-top:10px}
  .public-index .footer-inner{padding:22px 0;gap:14px}
  .public-index .footer-inner .btn{width:100%;min-height:49px}

  .image-modal{padding:72px 6px max(12px,env(safe-area-inset-bottom));background:rgba(10,7,5,.985);justify-content:center}
  .image-modal figure{width:100%;height:calc(100dvh - 120px);max-width:none;max-height:none;justify-content:center}
  .image-modal img{max-width:100%;max-height:calc(100dvh - 165px);border-radius:6px;box-shadow:0 15px 45px #000}
  .image-modal figcaption{font-size:13px;line-height:1.3;margin:8px 8px 0}
  .image-modal .modal-hint{display:none}
  .image-modal .modal-topbar{padding-top:max(8px,env(safe-area-inset-top));min-height:62px}
}

@media(max-width:390px){
  .public-index .public-nav-actions{grid-template-columns:1fr}
  .public-index .public-nav-actions .admin-access{grid-column:auto}
  .public-index .poster-button{min-height:300px}
  .public-index .simple-poster-card .poster-button{min-height:330px}
}

.playlist-field{font-size:14px}.playlist-picker{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px}.playlist-upload-btn{position:relative;overflow:hidden}.playlist-upload-btn input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;margin:0}.current-playlist{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
