/* Duanju Events — style.css */

:root{
  --djev-gold:#D4AF6A;
  --djev-ink:#4A4A4A;
  --djev-sub:#666666;
  --djev-bg:#F5F5F5;
  --djev-panel:#FFFFFF;
  --djev-border:#E2E2E2;
  --djev-max:960px;
}

*,*::before,*::after{ box-sizing:border-box; }

html,body{ margin:0; padding:0; }

body{
  font-family:'Gabarito',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  background:var(--djev-bg);
  color:var(--djev-ink);
  line-height:1.65;
  -webkit-text-size-adjust:none;
}

a{ color:var(--djev-gold); text-decoration:none; }
a:hover{ text-decoration:underline; }

img{ max-width:100%; display:block; }

/* ---------- Top bar (language switcher) ---------- */
.djev-topbar{
  background:var(--djev-gold);
  padding:2rem;
}
.djev-topbar-inner{
  max-width:var(--djev-max);
  margin:0 auto;
}
@media (max-width:360px){
  .djev-topbar{ padding:1.5rem; }
}

/* ---------- Desktop text justification ---------- */
@media (min-width:601px){
  .djev-article-inner p,
  .djev-card-body p,
  .djev-footer p{
    text-align:justify;
    text-justify:inter-word;
  }
}

/* ---------- Language switch (top-right pill) ---------- */
.djev-lang-switch{
  position:fixed;
  top:16px;
  right:16px;
  z-index:400;
  display:flex;
  align-items:center;
  gap:2px;
  background:#FFFFFF;
  border-radius:999px;
  padding:4px;
  box-shadow:0 6px 18px rgba(0,0,0,.18);
}
.djev-lang-switch a,
.djev-lang-switch span{
  display:inline-block;
  padding:7px 14px;
  border-radius:999px;
  font-family:inherit;
  font-weight:700;
  font-size:.8rem;
  letter-spacing:.02em;
  color:var(--djev-sub);
  text-decoration:none;
}
.djev-lang-switch a:hover{
  color:var(--djev-ink);
  text-decoration:none;
}
.djev-lang-switch .djev-lang-active{
  background:var(--djev-gold);
  color:#FFFFFF;
}
@media (max-width:480px){
  .djev-lang-switch{ top:10px; right:10px; }
  .djev-lang-switch a, .djev-lang-switch span{ padding:6px 11px; font-size:.75rem; }
}

/* ---------- Hero band ---------- */
.djev-hero-band{
  text-align:center;
  padding:26px 20px 34px;
}
.djev-topbar .djev-topbar-inner{
  text-align:center;
}
.djev-brand{
  display:inline-flex;
  align-items:baseline;
  gap:.35em;
  font-size:clamp(1.7rem,4.4vw,2.6rem);
  font-weight:500;
  letter-spacing:.14em;
  color:var(--djev-ink);
  cursor:default;
  position:relative;
  padding-bottom:18px;
}
.djev-brand::after{
  content:"";
  position:absolute;
  bottom:0;
  left:50%;
  transform:translateX(-50%);
  width:56px;
  height:2px;
  background:var(--djev-gold);
}
.djev-brand-accent{
  font-weight:700;
  color:var(--djev-gold);
}
.djev-topbar .djev-brand{
  color:#FFFFFF;
  padding-bottom:0;
}
.djev-topbar .djev-brand::after{
  display:none;
}
.djev-topbar .djev-brand-accent{
  color:#2E2A22;
}
.djev-tagline{
  margin:12px 0 0;
  color:var(--djev-sub);
  font-size:1rem;
}

/* ---------- Back button (event pages) ---------- */
.djev-back{
  margin:36px 0 0 !important;
  padding-top:24px;
  border-top:1px solid var(--djev-border);
}
.djev-back-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:.9rem;
  font-weight:700;
  letter-spacing:.02em;
  color:#FFFFFF;
  background:var(--djev-gold);
  padding:10px 20px;
  border-radius:999px;
}
.djev-back-btn:hover{
  background:#c39c55;
  text-decoration:none;
}

/* ---------- 404 page ---------- */
.djev-404{
  min-height:70vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:40px 20px;
}
.djev-404-inner{
  max-width:480px;
  text-align:center;
}
.djev-404-code{
  font-size:4rem;
  font-weight:700;
  color:var(--djev-gold);
  margin:0 0 6px;
  line-height:1;
}
.djev-404-inner h1{
  font-size:1.6rem;
  font-weight:700;
  color:var(--djev-ink);
  margin:0 0 14px;
}
.djev-404-inner p{
  color:var(--djev-sub);
  margin:0 0 26px;
  font-size:1rem;
}

/* ---------- Hero image ---------- */
.djev-hero-image{
  width:100%;
  aspect-ratio:21/9;
  overflow:hidden;
  background:#090704;
}
.djev-hero-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* ---------- Article ---------- */
.djev-article-inner{
  max-width:var(--djev-max);
  margin:0 auto;
  padding:40px 20px 60px;
}
.djev-article-inner h1{
  font-size:clamp(1.6rem,3.4vw,2.2rem);
  font-weight:700;
  color:var(--djev-ink);
  margin:0 0 22px;
  line-height:1.3;
}
.djev-article-inner p{
  margin:0 0 18px;
  font-size:1.02rem;
  color:var(--djev-ink);
}
.djev-article-inner strong{ color:var(--djev-ink); }

/* ---------- Homepage ---------- */
.djev-home-inner{
  max-width:var(--djev-max);
  margin:0 auto;
  padding:36px 20px 60px;
}
.djev-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.djev-card{
  display:flex;
  flex-direction:column;
  background:var(--djev-panel);
  border:1px solid var(--djev-border);
  border-radius:12px;
  overflow:hidden;
  color:inherit;
  transition:box-shadow .25s ease, transform .25s ease;
}
.djev-card:hover{
  box-shadow:0 10px 26px rgba(0,0,0,.10);
  transform:translateY(-2px);
  text-decoration:none;
}
.djev-card-thumb{
  width:100%;
  aspect-ratio:21/9;
  overflow:hidden;
  background:#090704;
}
.djev-card-thumb img{ width:100%; height:100%; object-fit:cover; }
.djev-card-thumb-plain{
  background:linear-gradient(135deg,#D4AF6A,#4A4A4A);
}
.djev-card-body{
  padding:16px 18px 20px;
  flex:1;
  display:flex;
  flex-direction:column;
}
.djev-card-body h3{
  margin:0 0 8px;
  font-size:1.08rem;
  font-weight:700;
  color:var(--djev-ink);
}
.djev-card-body p{
  margin:0 0 14px;
  font-size:.92rem;
  color:var(--djev-sub);
  flex:1;
}
.djev-card-link{
  font-size:.85rem;
  font-weight:700;
  color:var(--djev-gold);
}

/* ---------- Inline Dailymotion video player ---------- */
.dje-video-frame{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  border-radius:10px;
  overflow:hidden;
  background:#000;
  flex:1 1 auto;
  max-width:100%;
}
.dje-video-frame iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
@media (max-width:560px){
  .dje-video-frame{
    width:100vw;
    max-width:100vw;
    margin-left:calc(50% - 50vw);
    border-radius:0;
  }
}

/* ---------- Contact button + modal ---------- */
.djev-contact-section{
  text-align:center;
  padding:32px 20px 44px;
}
.djev-footer-actions{ margin-bottom:22px; }
.djev-actions-row{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:14px;
}
.djev-actions-row .djev-contact-inline-btn{
  min-width:200px;
  text-align:center;
}
.djev-contact-inline-btn{
  display:inline-block;
  background:var(--djev-gold);
  color:#FFFFFF;
  border:none;
  padding:13px 32px;
  border-radius:999px;
  font-family:inherit;
  font-weight:700;
  font-size:.88rem;
  letter-spacing:.04em;
  cursor:pointer;
}
.djev-contact-inline-btn:hover{ background:#c39c55; text-decoration:none; }

.djev-contact-overlay{
  position:fixed;
  inset:0;
  z-index:300;
  background:rgba(20,16,10,.55);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.djev-contact-overlay[hidden]{ display:none; }

.djev-contact-box{
  position:relative;
  background:#FFFFFF;
  border-radius:14px;
  max-width:380px;
  width:100%;
  padding:34px 28px 28px;
  text-align:center;
  box-shadow:0 20px 50px rgba(0,0,0,.25);
}
.djev-contact-box h2{
  margin:0 0 14px;
  font-size:1.2rem;
  font-weight:700;
  color:var(--djev-ink);
}
.djev-contact-email{
  margin:0 0 20px;
  font-size:1.05rem;
  font-weight:400;
  color:var(--djev-ink);
  background:var(--djev-bg);
  border:1px solid var(--djev-border);
  border-radius:8px;
  padding:12px 14px;
  word-break:break-all;
}
.djev-contact-copy-btn{
  border:none;
  background:var(--djev-gold);
  color:#FFFFFF;
  font-family:inherit;
  font-weight:700;
  font-size:.9rem;
  padding:11px 20px;
  border-radius:999px;
  cursor:pointer;
  min-width:170px;
}
.djev-contact-copy-btn:hover{ background:#c39c55; }
.djev-contact-close{
  position:absolute;
  top:10px;
  right:14px;
  border:none;
  background:transparent;
  font-size:1.5rem;
  line-height:1;
  color:var(--djev-sub);
  cursor:pointer;
  padding:6px;
}
.djev-contact-close:hover{ color:var(--djev-ink); }
.djev-footer{
  background:var(--djev-gold);
  padding:26px 20px 34px;
}
.djev-footer p{
  max-width:var(--djev-max);
  margin:0 auto;
  font-size:.82rem;
  color:#FFFFFF;
  text-align:center;
}

@media (max-width:860px){
  .djev-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:560px){
  .djev-grid{ grid-template-columns:1fr; }
  .djev-hero-image{ aspect-ratio:21/9; }
}

/* ---------- Event page sections (replaces accordions) ---------- */
.djev-section{ margin-top:52px; }
.djev-section-title{
  display:flex;
  align-items:center;
  gap:16px;
  margin:0 0 22px;
  font-size:.95rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--djev-gold);
}
.djev-section-title::after{
  content:"";
  flex:1;
  height:1px;
  background:var(--djev-border);
}
.djev-subtitle{
  margin:28px 0 14px;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--djev-sub);
}
.djev-panel{
  background:#FFFFFF;
  border:1px solid var(--djev-border);
  border-radius:14px;
  padding:28px 30px;
  margin:0 0 18px;
}
.djev-panel p:last-child{ margin-bottom:0; }
.djev-panel h3{
  margin:26px 0 10px;
  font-size:1.05rem;
  font-weight:700;
  color:var(--djev-ink);
}
.djev-panel h3:first-child{ margin-top:0; }
.djev-panel-accent{
  background:#FFFDF8;
  border-left:4px solid var(--djev-gold);
}
.djev-panel-flush{ padding:6px 30px; }

.djev-checklist{
  list-style:none;
  margin:14px 0 20px;
  padding:0;
  display:grid;
  gap:12px;
}
.djev-checklist li{
  position:relative;
  padding-left:34px;
  line-height:1.55;
  color:var(--djev-ink);
}
.djev-checklist li::before{
  content:"";
  position:absolute;
  left:0;
  top:.15em;
  width:22px;
  height:22px;
  border-radius:50%;
  background:var(--djev-gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/13px no-repeat;
}

.djev-callout{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin:20px 0 0;
  padding:16px 20px;
  background:var(--djev-bg);
  border:1px dashed var(--djev-gold);
  border-radius:10px;
}
.djev-callout-label{
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--djev-sub);
}
.djev-callout-value{
  font-size:1.12rem;
  color:var(--djev-ink);
  word-break:break-all;
  user-select:all;
}
.djev-callout-small{ font-size:.85rem; color:var(--djev-sub); }

.djev-tiles{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
  margin:0 0 18px;
}
.djev-tiles-3{ grid-template-columns:repeat(3,1fr); }
.djev-tile{
  background:#FFFFFF;
  border:1px solid var(--djev-border);
  border-radius:14px;
  padding:22px 24px;
}
.djev-tile-wide{ grid-column:1 / -1; }
.djev-tile h3{
  margin:0 0 8px;
  font-size:1.05rem;
  font-weight:700;
  color:var(--djev-ink);
}
.djev-article-inner .djev-tile p{
  margin:0;
  font-size:.94rem;
  line-height:1.65;
  color:var(--djev-sub);
  text-align:left;
}

.djev-person{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:18px 20px;
  background:#FFFFFF;
  border:1px solid var(--djev-border);
  border-radius:14px;
}
.djev-avatar{
  flex:0 0 46px;
  width:46px;
  height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:rgba(212,175,106,.2);
  color:#94722C;
  font-size:.9rem;
  font-weight:700;
  letter-spacing:.04em;
}
.djev-person h3{
  margin:2px 0 4px;
  font-size:1rem;
  font-weight:700;
  color:var(--djev-ink);
}
.djev-article-inner .djev-person p{
  margin:0;
  font-size:.9rem;
  line-height:1.55;
  color:var(--djev-sub);
  text-align:left;
}

.djev-timeline{ list-style:none; margin:0; padding:0; }
.djev-timeline li{
  display:grid;
  grid-template-columns:170px 1fr;
  gap:20px;
  align-items:baseline;
  padding:16px 0;
  border-bottom:1px solid var(--djev-border);
  color:var(--djev-ink);
}
.djev-timeline li:last-child{ border-bottom:none; }
.djev-date{
  font-weight:700;
  letter-spacing:.03em;
  color:var(--djev-gold);
}

.djev-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin:22px 0;
}
.djev-stat{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:18px 14px;
  text-align:center;
  background:var(--djev-bg);
  border-radius:12px;
}
.djev-stat-value{
  font-size:1.2rem;
  font-weight:700;
  color:var(--djev-ink);
}
.djev-stat-label{
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--djev-sub);
}
.djev-article-inner .djev-source{
  margin-top:6px;
  font-size:.82rem;
  color:var(--djev-sub);
  font-style:italic;
}

.djev-apps{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
}
.djev-app{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:26px 28px;
  background:#FFFFFF;
  border:1px solid var(--djev-border);
  border-radius:14px;
}
.djev-app h3{
  margin:0;
  font-size:1.2rem;
  font-weight:700;
  color:var(--djev-ink);
}
.djev-article-inner .djev-app p{
  flex:0 0 auto;
  margin:0;
  font-size:.94rem;
  line-height:1.65;
  color:var(--djev-sub);
  text-align:left;
}
.djev-app-links{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  margin-top:4px;
}
.djev-store-row{ display:flex; flex-wrap:wrap; gap:8px 22px; }
.djev-store-btn{
  display:inline-block;
  font-size:.92rem;
  font-weight:700;
  color:var(--djev-gold);
  text-decoration:none;
}
.djev-store-btn::after{ content:" \2192"; }
.djev-store-btn:hover{ text-decoration:underline; }
.djev-store-btn.is-disabled{
  font-weight:600;
  color:#8C8C8C;
  cursor:default;
}
.djev-store-btn.is-disabled::after{ content:none; }
.djev-store-btn.is-disabled:hover{ text-decoration:none; }

@media (max-width:700px){
  .djev-tiles, .djev-tiles-3, .djev-apps, .djev-stats{ grid-template-columns:1fr; }
  .djev-panel{ padding:22px 20px; }
  .djev-panel-flush{ padding:4px 20px; }
  .djev-timeline li{ grid-template-columns:1fr; gap:4px; }
}
@media (min-width:701px) and (max-width:960px){
  .djev-tiles-3{ grid-template-columns:repeat(2,1fr); }
}

/* ---------- Desktop justification: every text block on every page ---------- */
@media (min-width:601px){
  .djev-article-inner .djev-tile p,
  .djev-article-inner .djev-person p,
  .djev-article-inner .djev-app p,
  .djev-article-inner .djev-checklist li,
  .djev-article-inner .djev-timeline li > span:last-child{
    text-align:justify;
    text-justify:inter-word;
  }
  .dje-video .dje-text p{
    text-align:justify !important;
    text-justify:inter-word;
  }
  .djev-article-inner p,
  .djev-card-body p,
  .djev-footer p,
  .djev-article-inner .djev-tile p,
  .djev-article-inner .djev-person p,
  .djev-article-inner .djev-app p,
  .djev-article-inner .djev-checklist li,
  .dje-video .dje-text p{
    hyphens:auto;
    -webkit-hyphens:auto;
  }
}
@media (min-width:601px){
  .djev-footer p{ text-align:justify; text-justify:inter-word; }
}

/* ---------- Justification on all screen sizes (phone included) ---------- */
.djev-article-inner p,
.djev-card-body p,
.djev-footer p,
.djev-article-inner .djev-tile p,
.djev-article-inner .djev-person p,
.djev-article-inner .djev-app p,
.djev-article-inner .djev-checklist li,
.djev-article-inner .djev-timeline li > span:last-child{
  text-align:justify;
  text-justify:inter-word;
  hyphens:auto;
  -webkit-hyphens:auto;
}
.dje-video .dje-text p{
  text-align:justify !important;
  text-justify:inter-word;
  hyphens:auto;
  -webkit-hyphens:auto;
}

/* ---------- Festival email copy button ---------- */
.djev-callout-row{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}
.djev-callout-row .djev-callout-value{ margin:0; }
.djev-copy-btn{
  border:1px solid var(--djev-gold);
  background:transparent;
  color:var(--djev-gold);
  font-family:inherit;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.04em;
  padding:5px 13px;
  border-radius:999px;
  cursor:pointer;
}
.djev-copy-btn:hover{ background:var(--djev-gold); color:#FFFFFF; }

/* ---------- Footer social links ---------- */
.djev-social-row{
  display:flex;
  justify-content:center;
  gap:16px;
  margin:0 auto 14px;
  max-width:var(--djev-max);
}
.djev-social-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:50%;
  border:1px solid var(--djev-border);
  color:var(--djev-sub);
}
.djev-social-icon:hover{
  color:#FFFFFF;
  background:var(--djev-gold);
  border-color:var(--djev-gold);
}

/* ---------- Footer on gold background: contrast fixes ---------- */
.djev-footer p a{
  color:#FFFFFF;
  text-decoration:underline;
}
.djev-footer p a:hover{ opacity:.85; }
.djev-social-icon{
  border-color:rgba(255,255,255,.6);
  color:#FFFFFF;
}
.djev-social-icon:hover{
  background:rgba(255,255,255,.2);
  border-color:#FFFFFF;
  color:#FFFFFF;
}

/* ---------- Footer buttons: white outline on gold background ---------- */
.djev-footer-actions .djev-contact-inline-btn{
  background:transparent;
  border:1.5px solid #FFFFFF;
  color:#FFFFFF;
}
.djev-footer-actions .djev-contact-inline-btn:hover{
  background:rgba(255,255,255,.18);
}

/* ---------- Unified footer row: ecosystem + contact + social ---------- */
.djev-footer-row{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:14px;
  margin-bottom:22px;
}
.djev-footer-row .djev-contact-inline-btn{
  padding:10px 22px;
  font-size:.82rem;
}
.djev-footer-sep{
  width:1px;
  height:22px;
  background:rgba(255,255,255,.45);
}
.djev-footer-row .djev-social-row,
.djev-footer-row{ }
@media (max-width:480px){
  .djev-footer-sep{ display:none; }
}

/* ---------- Photo gallery (event pages) ---------- */
.djev-gallery{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.djev-figure{ margin:0; }
.djev-figure img{
  width:100%;
  aspect-ratio:3/2;
  object-fit:cover;
  border-radius:12px;
  display:block;
}
.djev-figure figcaption{
  margin-top:8px;
  font-size:.82rem;
  line-height:1.45;
  color:var(--djev-sub);
}
.djev-article-inner .djev-credit{
  margin:14px 0 0;
  font-size:.78rem;
  font-style:italic;
  color:var(--djev-sub);
  text-align:left;
}
@media (max-width:700px){
  .djev-gallery{ grid-template-columns:1fr; }
}

/* ---------- Dailymotion player: cover thumbnail + height safety ---------- */
.dje-video-cover{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:2;
  pointer-events:none;
  transition:opacity .45s ease;
}
.dje-video-cover.is-hidden{ opacity:0; }
/* if the createPlayer library is ever used: its root adds padding-bottom:56.25% */
.dje-video-frame .dailymotion-player-root{
  position:absolute !important;
  inset:0;
  width:100% !important;
  height:100% !important;
  padding:0 !important;
}

.djev-gallery-2{ grid-template-columns:repeat(2,1fr); }
@media (max-width:700px){ .djev-gallery-2{ grid-template-columns:1fr; } }

.djev-tile h3 a{ color:inherit; text-decoration:none; }
.djev-tile h3 a::after{ content:" \2192"; color:var(--djev-gold); }
.djev-tile h3 a:hover{ text-decoration:underline; }

/* ---------- AIME event highlight ---------- */
.djev-event{
  margin:34px 0 0;
  padding:32px 30px;
  background:#FFFDF8;
  border:1px solid var(--djev-border);
  border-top:4px solid var(--djev-gold);
  border-radius:14px;
}
.djev-article-inner .djev-event-eyebrow{
  margin:0 0 10px;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#94722C;
}
.djev-article-inner .djev-event p{ text-align:left; hyphens:manual; }
.djev-article-inner .djev-event-date{ font-size:1.8rem !important;
  margin:0 0 4px;
  font-size:1.7rem;
  line-height:1.25;
  font-weight:700;
  color:var(--djev-ink);
}
.djev-article-inner .djev-event-time{ margin:0 0 18px; font-size:1.1rem; color:var(--djev-ink); }
.djev-article-inner .djev-event-place{ margin:0; font-size:1rem; line-height:1.6; color:var(--djev-sub); }
.djev-event-place strong{ color:var(--djev-ink); }
.djev-prizes{ list-style:none; margin:0 0 6px; padding:0; display:flex; flex-wrap:wrap; gap:10px; }
.djev-prizes li{
  padding:10px 18px;
  background:#FFFFFF;
  border:1px solid var(--djev-border);
  border-radius:999px;
  font-size:.95rem;
  font-weight:600;
  color:var(--djev-ink);
}
.djev-prizes li.is-top{ background:var(--djev-gold); border-color:var(--djev-gold); color:#FFFFFF; }
.djev-article-inner .djev-note{ margin:14px 0 0; font-size:.9rem; color:var(--djev-sub); }
@media (max-width:700px){ .djev-event{ padding:24px 20px; } .djev-article-inner .djev-event-date{ font-size:1.4rem !important; } }

/* ---------- Clean variant: fewer boxes ---------- */
.djev-clean .djev-tiles{ display:block; margin:0 0 10px; }
.djev-clean .djev-tile,
.djev-clean .djev-person{
  background:none; border:0; border-radius:0;
  border-top:1px solid var(--djev-border);
  padding:20px 0;
}
.djev-clean .djev-tile:last-child,
.djev-clean .djev-person:last-child{ border-bottom:1px solid var(--djev-border); }
.djev-clean .djev-avatar{ display:none; }
.djev-clean .djev-prizes{ display:block; }
.djev-clean .djev-prizes li{
  display:inline; padding:0; background:none; border:0; border-radius:0;
  font-size:1.02rem; font-weight:600; color:var(--djev-ink);
}
.djev-clean .djev-prizes li + li::before{ content:"\00b7"; margin:0 12px; color:var(--djev-gold); font-weight:700; }
.djev-clean .djev-prizes li.is-top{ background:none; color:#94722C; }
.djev-clean .djev-panel-accent{ background:none; border:0; border-left:3px solid var(--djev-gold); border-radius:0; padding:4px 0 4px 20px; }

.djev-figure{ margin:18px 0 0; }
.djev-figure img{ display:block; width:100%; aspect-ratio:16/7; object-fit:cover; object-position:center 55%; border-radius:14px; }
.djev-article-inner .djev-figure .djev-credit{ margin:8px 0 0; text-align:left; }

/* ---------- Clean variant: no separator lines ---------- */
.djev-clean .djev-section-title::after{ content:none; }
.djev-clean .djev-tile,
.djev-clean .djev-person{ border:0 !important; padding:0 0 22px; }
.djev-clean .djev-tile h3,
.djev-clean .djev-person h3{ margin:0 0 6px; }
.djev-clean .djev-subtitle{ margin:30px 0 16px; }
.djev-clean .djev-subtitle + p{ margin-top:0; }
.djev-clean .djev-section{ margin-top:56px; }
.djev-clean .djev-back{ border-top:0; }
.djev-article-inner.djev-clean .dje-video + p{ margin-top:36px; }
.djev-article-inner p.djev-links-title{ margin-top:40px; }
.djev-clean .djev-timeline li{ border-bottom:0; padding:9px 0; }
.djev-clean .djev-timeline .djev-date{ color:#94722C; font-weight:700; }

.djev-article-inner p.djev-links-title{ margin-top:40px; }
.djev-timeline .djev-date{ color:#94722C; }
.djev-article-inner .djev-event + p{ margin-top:26px; }

/* ---------- Touch devices: no tap flash, no sticky hover ---------- */
a, button{ -webkit-tap-highlight-color:transparent; }
.djev-social-icon, .djev-contact-inline-btn, .djev-card, .djev-back-btn{ touch-action:manipulation; }
@media (hover:none){
  .djev-social-icon:hover{
    background:transparent;
    border-color:rgba(255,255,255,.6);
    color:#FFFFFF;
  }
  .djev-contact-inline-btn:hover{ background:var(--djev-gold); }
  .djev-card:hover{ transform:none; box-shadow:none; }
}

/* Tableaux auteurs / espace jury */
.djev-table-wrap{overflow-x:auto;margin:22px 0}
.djev-table{width:100%;border-collapse:collapse;font-size:1rem}
.djev-table th{text-align:left;font-weight:700;color:var(--djev-gold);letter-spacing:.06em;text-transform:uppercase;font-size:.8rem;padding:10px 14px;border-bottom:1px solid var(--djev-gold)}
.djev-table td{text-align:left;padding:14px;border-bottom:1px solid rgba(0,0,0,.12);vertical-align:top;line-height:1.5}
.djev-article-inner h2{margin-top:30px}
.djev-login{max-width:380px;margin:12vh auto 0;padding:0 16px}
.djev-login input{width:100%;box-sizing:border-box;padding:12px 14px;font:inherit;border-radius:8px;border:1px solid rgba(0,0,0,.3);background:transparent;color:inherit;margin:12px 0}
.djev-login button{padding:12px 22px;font:inherit;font-weight:700;border:0;border-radius:8px;background:var(--djev-gold);color:#000;cursor:pointer}
.djev-login .djev-err{color:#b3261e}

.djev-counter{display:flex;align-items:baseline;gap:10px;margin:22px 0 0;font-weight:600;color:var(--djev-ink)}
.djev-counter-n{font-size:2.4rem;font-weight:700;line-height:1;color:var(--djev-gold)}

/* Espace jury : bouton année */
.djev-year{display:flex;align-items:center;gap:14px;width:100%;margin:14px 0 0;padding:16px 20px;font:inherit;font-size:1.35rem;font-weight:700;color:var(--djev-ink);text-align:left;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:12px;cursor:pointer}
.djev-year:hover{border-color:var(--djev-gold)}
.djev-year-n{font-size:.9rem;font-weight:600;color:var(--djev-gold);margin-left:4px}
.djev-year-arrow{margin-left:auto;transition:transform .2s;color:var(--djev-gold)}
.djev-year[aria-expanded="true"]{border-color:var(--djev-gold)}
.djev-year[aria-expanded="true"] .djev-year-arrow{transform:rotate(180deg)}
.djev-year-panel[hidden]{display:none}

.djev-deposit{margin:1.5rem 0}
.djev-deposit h3{margin-bottom:.4rem}
.djev-deposit form{display:flex;flex-direction:column;gap:.9rem;margin-top:1rem}
.djev-deposit label{display:flex;flex-direction:column;gap:.3rem;font-size:.95rem}
.djev-deposit input[type=text],.djev-deposit input:not([type]),.djev-deposit input[type=email],.djev-deposit input[type=file]{font:inherit;padding:.6rem .7rem;border:1px solid rgba(128,128,128,.45);border-radius:6px;background:transparent;color:inherit;max-width:100%}
.djev-deposit .djev-dcheck{flex-direction:row;align-items:flex-start;gap:.6rem;font-size:.88rem}
.djev-deposit .djev-dcheck input{margin-top:.25rem}
.djev-deposit .djev-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.djev-dhint{font-size:.85rem;opacity:.8;margin:0}
.djev-deposit button{align-self:flex-start;cursor:pointer}
.djev-deposit button:disabled{opacity:.6;cursor:wait}
.djev-dmsg{margin:0;font-size:.95rem}
.djev-dmsg.ok{color:#2e7d32}
.djev-dmsg.err{color:#c62828}

.dje-spin{position:absolute;left:50%;top:50%;width:44px;height:44px;margin:-22px 0 0 -22px;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;z-index:3;animation:dje-spin .8s linear infinite;pointer-events:none}
@keyframes dje-spin{to{transform:rotate(360deg)}}

.djev-dmail{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin-top:.4rem}
.djev-dmail .djev-dhint{margin:0}
