/* ==========================================================================
   Mural de Eventos — estilos (paleta CZD: gold #C5A059, brown #2C2725,
   cream #FDFBF7, gold-light #D4AF37)
   ========================================================================== */

/* ---- Grid do mural (masonry via columns) ---- */
.ev-grid{columns:2 160px;column-gap:12px}
@media(min-width:768px){.ev-grid{columns:3 220px;column-gap:16px}}
@media(min-width:1200px){.ev-grid{columns:4 240px}}
.ev-card{position:relative;break-inside:avoid;margin:0 0 12px;border-radius:3px;overflow:hidden;background:#fff;
  box-shadow:0 2px 14px rgba(44,39,37,.08);border:1px solid rgba(197,160,89,.14)}
@media(min-width:768px){.ev-card{margin-bottom:16px}}
.ev-card img{display:block;width:100%;height:auto;cursor:zoom-in;transition:transform .5s ease}
.ev-card:hover img{transform:scale(1.03)}
.ev-card--new{animation:evPop .6s cubic-bezier(.22,.61,.36,1)}
@keyframes evPop{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
.ev-cap{padding:.65rem .8rem .8rem;background:#fff}
.ev-cap__msg{font-family:'Playfair Display',serif;font-style:italic;font-size:.85rem;color:#2C2725;line-height:1.45;margin:0 0 .25rem}
.ev-cap__name{font-family:'Jost',sans-serif;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#C5A059;margin:0}

/* ==========================================================================
   Galeria imersiva do projeto (carrossel tela cheia no mobile,
   palco contido com fundo desfocado no desktop)
   Acentos por evento: --ev-accent / --ev-accent-2 (fallback gold-light)
   ========================================================================== */
.ev-proj{position:relative;background:#241A10;color:#FDFBF7;overflow:hidden}
.ev-proj::before{content:'';position:absolute;top:-30%;left:50%;transform:translateX(-50%);
  width:120%;height:70%;background:radial-gradient(ellipse at center,
  color-mix(in srgb,var(--ev-accent,#D4AF37) 22%,transparent),transparent 70%);pointer-events:none}
.ev-proj__intro{position:relative;max-width:720px;margin:0 auto;padding:4.5rem 1.5rem 2.5rem;text-align:center}
.ev-proj__script{font-family:'Great Vibes',cursive;font-size:clamp(2rem,5vw,2.7rem);color:var(--ev-accent,#D4AF37);line-height:1.1}
.ev-proj__title{font-family:'Playfair Display',serif;font-weight:400;font-size:clamp(1.8rem,4.6vw,2.9rem);
  color:#FDFBF7;line-height:1.15;margin:.15rem 0 1.1rem;text-wrap:balance}
.ev-proj__line{width:44px;height:1px;background:var(--ev-accent,#D4AF37);margin:0 auto 1.4rem}
.ev-proj__text p{color:rgba(253,251,247,.74);font-family:'Jost',sans-serif;font-weight:300;
  font-size:1rem;line-height:1.7;margin:0 auto .8rem;max-width:60ch}
.ev-proj__hint{margin-top:1.3rem;font-family:'Jost',sans-serif;font-size:.72rem;letter-spacing:.2em;
  text-transform:uppercase;color:rgba(253,251,247,.5);display:inline-flex;align-items:center;gap:.5rem}
.ev-proj__hint svg{animation:evSwipe 1.8s ease-in-out infinite}
@keyframes evSwipe{0%,100%{transform:translateX(-3px)}50%{transform:translateX(3px)}}

.ev-proj__stage{position:relative;height:100svh;min-height:540px}
.ev-proj__track{display:flex;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;
  scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.ev-proj__track::-webkit-scrollbar{display:none}
.ev-proj__slide{position:relative;flex:0 0 100%;width:100%;height:100%;scroll-snap-align:center;overflow:hidden}
.ev-proj__bg{position:absolute;inset:-10%;background-size:cover;background-position:center;
  filter:blur(28px) brightness(.45) saturate(1.1);transform:scale(1.15);display:none}
.ev-proj__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.ev-proj__cap{position:absolute;left:0;right:0;bottom:0;padding:18vh 1.5rem 3rem;text-align:center;pointer-events:none;
  background:linear-gradient(to top,rgba(20,14,10,.9),rgba(20,14,10,.35) 42%,transparent)}
.ev-proj__cap-idx{display:block;font-family:'Jost',sans-serif;font-size:.68rem;letter-spacing:.35em;
  color:var(--ev-accent,#D4AF37);margin-bottom:.5rem}
.ev-proj__cap-title{display:block;font-family:'Playfair Display',serif;font-size:clamp(1.5rem,6vw,2.3rem);
  color:#fff;line-height:1.12;text-wrap:balance}
.ev-proj__cap-sub{display:block;margin:.55rem auto 0;font-family:'Jost',sans-serif;font-weight:300;
  font-size:.92rem;color:rgba(255,255,255,.82);max-width:34ch;line-height:1.5}

.ev-proj__nav{display:none}
.ev-proj__dots{position:absolute;left:0;right:0;bottom:1.1rem;z-index:3;display:flex;gap:.42rem;justify-content:center}
.ev-proj__dot{width:7px;height:7px;padding:0;border:none;border-radius:50%;background:rgba(253,251,247,.35);
  cursor:pointer;transition:width .3s ease,background .3s ease}
.ev-proj__dot.is-on{background:var(--ev-accent,#D4AF37);width:22px;border-radius:4px}

@media(min-width:768px){
  .ev-proj__stage{height:min(88vh,880px)}
  .ev-proj__bg{display:block}
  .ev-proj__img{object-fit:contain;padding:2.5rem}
  .ev-proj__cap{padding:7rem 2rem 3rem;background:linear-gradient(to top,rgba(20,14,10,.82),transparent 62%)}
  .ev-proj__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;display:flex;align-items:center;
    justify-content:center;width:54px;height:54px;border-radius:50%;border:1px solid rgba(253,251,247,.28);
    background:rgba(20,14,10,.4);backdrop-filter:blur(4px);color:#fff;font-size:26px;line-height:1;cursor:pointer;
    transition:background .25s,color .25s,border-color .25s}
  .ev-proj__nav:hover{background:var(--ev-accent,#D4AF37);color:#241A10;border-color:transparent}
  .ev-proj__nav:disabled{opacity:.25;cursor:default}
  .ev-proj__nav--prev{left:1.6rem}
  .ev-proj__nav--next{right:1.6rem}
  .ev-proj__hint{display:none}
}

/* ---- Selo "ao vivo" do mural ---- */
.ev-live{display:inline-flex;align-items:center;gap:.5rem;font-family:'Jost',sans-serif;font-size:.7rem;
  letter-spacing:.22em;text-transform:uppercase;color:#B3261E;font-weight:600}
.ev-live__dot{width:8px;height:8px;border-radius:50%;background:#E0454A}
.ev-live.is-live .ev-live__dot{animation:evLive 1.8s ease-out infinite}
@keyframes evLive{0%{box-shadow:0 0 0 0 rgba(224,69,74,.55)}70%{box-shadow:0 0 0 9px rgba(224,69,74,0)}100%{box-shadow:0 0 0 0 rgba(224,69,74,0)}}

/* ---- Estado vazio ---- */
.ev-empty{border:1px dashed rgba(197,160,89,.4);border-radius:3px;padding:3rem 1.5rem;text-align:center;
  font-family:'Jost',sans-serif;color:rgba(44,39,37,.55);font-weight:300}

/* ---- Modal de upload ---- */
.ev-modal{position:fixed;inset:0;z-index:90;display:none}
.ev-modal.is-open{display:block}
.ev-modal__backdrop{position:absolute;inset:0;background:rgba(44,39,37,.72);backdrop-filter:blur(3px)}
.ev-modal__panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(480px,calc(100vw - 32px));
  max-height:min(92vh,760px);overflow:auto;background:#FDFBF7;border-radius:4px;padding:1.75rem;
  box-shadow:0 24px 80px rgba(0,0,0,.35)}
.ev-modal__close{position:absolute;top:.75rem;right:.75rem;width:34px;height:34px;border:none;border-radius:50%;
  background:transparent;color:#8A7565;font-size:22px;cursor:pointer}
.ev-modal__close:hover{background:rgba(197,160,89,.1)}

.ev-picker{display:flex;align-items:center;justify-content:center;min-height:180px;border:2px dashed rgba(197,160,89,.4);
  border-radius:4px;cursor:pointer;overflow:hidden;background:#F6EEE7;text-align:center;
  font-family:'Jost',sans-serif;font-size:.85rem;color:#8A7565;padding:.5rem;transition:border-color .2s}
.ev-picker:hover{border-color:#C5A059}
.ev-picker.has-img{padding:0;border-style:solid;min-height:0}
.ev-picker img{display:block;width:100%;max-height:320px;object-fit:contain;background:#2C2725}

.ev-pick-btns{display:flex;gap:.6rem;margin-top:.7rem}
.ev-pick-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;
  border:1px solid rgba(197,160,89,.5);color:#C5A059;background:transparent;border-radius:2px;cursor:pointer;
  font-family:'Jost',sans-serif;font-weight:600;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;
  padding:.75rem .5rem;text-align:center;transition:all .2s ease}
.ev-pick-btn:hover{border-color:#C5A059;background:rgba(197,160,89,.06)}

.ev-field{display:block;width:100%;margin-top:.9rem;padding:.8rem .9rem;border:1px solid rgba(197,160,89,.35);
  border-radius:3px;background:#fff;font-family:'Jost',sans-serif;font-size:.9rem;color:#2C2725}
.ev-field:focus{outline:2px solid #D4AF37;outline-offset:1px;border-color:#C5A059}
textarea.ev-field{resize:vertical;min-height:74px}

.ev-consent{display:flex;gap:.6rem;align-items:flex-start;margin-top:1rem;font-family:'Jost',sans-serif;
  font-size:.74rem;font-weight:300;color:rgba(44,39,37,.65);line-height:1.5;cursor:pointer}
.ev-consent input{margin-top:2px;accent-color:#C5A059;width:16px;height:16px;flex:none;cursor:pointer}
.ev-consent a{color:#C5A059;text-decoration:underline}

.ev-send{width:100%;margin-top:1.1rem;justify-content:center}
.ev-send:disabled{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important}
.ev-spin{display:inline-block;width:14px;height:14px;border:2px solid rgba(44,39,37,.35);border-top-color:#2C2725;
  border-radius:50%;animation:evSpin .8s linear infinite;vertical-align:-2px;margin-right:6px}
@keyframes evSpin{to{transform:rotate(360deg)}}

/* ---- Toast ---- */
.ev-toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,16px);z-index:120;opacity:0;
  background:#2C2725;color:#FDFBF7;font-family:'Jost',sans-serif;font-size:.85rem;padding:.8rem 1.4rem;
  border-radius:3px;box-shadow:0 10px 40px rgba(0,0,0,.3);transition:all .3s ease;max-width:calc(100vw - 40px);text-align:center}
.ev-toast.is-on{opacity:1;transform:translate(-50%,0)}
.ev-toast--ok{border-left:3px solid #D4AF37}
.ev-toast--err{border-left:3px solid #B3261E}

/* ---- Lightbox ---- */
.ev-lb{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;
  background:rgba(20,14,10,.92);padding:2rem}
.ev-lb.is-open{display:flex}
.ev-lb__img{max-width:min(1100px,92vw);max-height:74vh;border-radius:3px;box-shadow:0 20px 80px rgba(0,0,0,.5)}
.ev-lb__cap{margin-top:1rem;text-align:center}
.ev-lb__cap .ev-cap__msg{color:#FDFBF7;font-size:1rem}
.ev-lb__cap .ev-cap__name{color:#D4AF37}
.ev-lb__close{position:absolute;top:1rem;right:1rem;width:42px;height:42px;border:none;border-radius:50%;
  background:rgba(253,251,247,.12);color:#FDFBF7;font-size:24px;cursor:pointer}
.ev-lb__close:hover{background:rgba(253,251,247,.25)}
.ev-lb__dl{margin-top:.6rem;display:inline-flex;align-items:center;gap:.4rem;font-family:'Jost',sans-serif;
  font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:#D4AF37;text-decoration:none}
.ev-lb__dl:hover{color:#FDFBF7}

/* ---- Modo TV ---- */
.ev-tv{position:fixed;inset:0;z-index:110;display:none;background:#140E0A;color:#FDFBF7}
.ev-tv.is-on{display:block}
body.ev-tv-on{overflow:hidden}
.ev-tv__img{position:absolute;inset:0;background-size:contain;background-position:center;background-repeat:no-repeat}
.ev-tv__img.ev-kb{animation:evKb 6.2s ease-in-out both}
@keyframes evKb{from{transform:scale(1);opacity:0}8%{opacity:1}to{transform:scale(1.045);opacity:1}}
.ev-tv__scrim{position:absolute;inset:auto 0 0 0;height:38%;background:linear-gradient(to top,rgba(20,14,10,.88),transparent)}
.ev-tv__cap{position:absolute;left:0;right:0;bottom:8%;text-align:center;padding:0 6vw}
.ev-tv__msg{font-family:'Playfair Display',serif;font-style:italic;font-size:clamp(1.2rem,3vw,2.2rem);line-height:1.4;margin:0 0 .5rem;text-shadow:0 2px 18px rgba(0,0,0,.6)}
.ev-tv__name{font-family:'Jost',sans-serif;font-size:clamp(.8rem,1.6vw,1.1rem);letter-spacing:.25em;text-transform:uppercase;color:#D4AF37;margin:0}
.ev-tv__wait{font-family:'Jost',sans-serif;font-weight:300;font-size:clamp(1rem,2.4vw,1.6rem);color:rgba(253,251,247,.85)}
.ev-tv__brand{position:absolute;top:4%;left:0;right:0;text-align:center;pointer-events:none}
.ev-tv__brand .b1{font-family:'Great Vibes',cursive;font-size:clamp(1.6rem,3.4vw,2.6rem);color:rgba(212,175,55,.9);display:block;line-height:1.1}
.ev-tv__brand .b2{font-family:'Jost',sans-serif;font-size:clamp(.55rem,1vw,.7rem);letter-spacing:.4em;text-transform:uppercase;color:rgba(212,175,55,.75)}
.ev-tv__hash{position:absolute;bottom:3%;left:0;right:0;text-align:center;font-family:'Jost',sans-serif;
  font-size:clamp(.7rem,1.4vw,1rem);letter-spacing:.18em;color:rgba(253,251,247,.55)}
.ev-tv__exit{position:absolute;top:1rem;right:1rem;z-index:2;width:42px;height:42px;border:none;border-radius:50%;
  background:rgba(253,251,247,.1);color:#FDFBF7;font-size:22px;cursor:pointer;opacity:.35;transition:opacity .2s}
.ev-tv__exit:hover{opacity:1}

/* ---- Portão de evento privado ---- */
.ev-gate{position:fixed;inset:0;z-index:130;display:none;align-items:center;justify-content:center;background:#2C2725;padding:1.5rem}
.ev-gate__box{width:min(420px,100%);background:#FDFBF7;border-radius:4px;padding:2.2rem;text-align:center}

@media(prefers-reduced-motion:reduce){
  .ev-card--new,.ev-tv__img.ev-kb,.ev-live.is-live .ev-live__dot,.ev-proj__hint svg{animation:none}
  .ev-proj__track{scroll-behavior:auto}
}
