
.wgg-wrap{max-width:1200px;margin:0 auto;padding:20px 0;font-family:inherit}
.wgg-event-title{text-align:center;font-size:clamp(28px,5vw,54px);font-weight:700;line-height:1.1;margin:0 0 24px}
.wgg-upload-card{max-width:720px;margin:0 auto 42px;padding:clamp(24px,5vw,48px);background:#fff;border-radius:24px;box-shadow:0 10px 40px rgba(0,0,0,.08);text-align:center}
.wgg-camera{font-size:46px;line-height:1;margin-bottom:10px}
.wgg-upload-card h2{font-size:clamp(26px,4vw,40px);margin:0 0 10px}
.wgg-subtitle{font-size:16px;opacity:.7;margin:0 0 24px}
.wgg-form{margin:0}
.wgg-file-label{display:block;border:2px dashed rgba(0,0,0,.18);border-radius:18px;padding:26px 18px;cursor:pointer}
.wgg-file-input{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}
.wgg-file-button{display:inline-block;padding:14px 24px;border-radius:999px;background:#111;color:#fff;font-weight:700}
.wgg-file-text{display:block;margin-top:12px;font-size:14px;opacity:.65}
.wgg-selected{margin:12px 0 0;font-size:14px;font-weight:600}
.wgg-submit{width:100%;border:0;border-radius:999px;padding:17px 24px;margin-top:18px;background:#111;color:#fff;font-weight:800;font-size:16px;cursor:pointer}
.wgg-submit:disabled{opacity:.55;cursor:wait}
.wgg-small{font-size:12px;opacity:.55;margin-top:12px}
.wgg-hp{position:absolute!important;left:-9999px!important;opacity:0!important;height:1px!important;width:1px!important}
.wgg-notice{padding:14px 16px;border-radius:12px;margin:0 0 18px;font-size:14px;text-align:left}
.wgg-success{background:#ecfdf3;color:#176b3a}
.wgg-error{background:#fff1f1;color:#8f1d1d}
.wgg-gallery-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:0 0 18px}
.wgg-gallery-head h3{font-size:clamp(24px,4vw,36px);margin:0}
.wgg-gallery-head span{font-size:14px;opacity:.6}
.wgg-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.wgg-item{display:block;overflow:hidden;border-radius:14px;aspect-ratio:1/1;background:#eee}
.wgg-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}
.wgg-item:hover img{transform:scale(1.03)}
.wgg-empty{text-align:center;padding:34px;border:1px dashed rgba(0,0,0,.15);border-radius:18px;opacity:.7}
.wgg-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:999999;display:flex;align-items:center;justify-content:center;padding:24px}
.wgg-lightbox[hidden]{display:none}
.wgg-lightbox img{max-width:96vw;max-height:92vh;object-fit:contain}
.wgg-lightbox-close{position:absolute;top:16px;right:18px;width:46px;height:46px;border:0;border-radius:50%;font-size:34px;line-height:1;background:rgba(255,255,255,.14);color:#fff;cursor:pointer}
@media(max-width:900px){.wgg-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){
  .wgg-wrap{padding:10px 0}
  .wgg-upload-card{border-radius:18px;padding:24px 18px;margin-bottom:28px}
  .wgg-grid{grid-template-columns:repeat(2,1fr);gap:6px}
  .wgg-item{border-radius:10px}
}

.wgg-previews{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:14px}
.wgg-preview{position:relative;aspect-ratio:1/1;border-radius:10px;overflow:hidden;background:#eee}
.wgg-preview img{width:100%;height:100%;object-fit:cover;display:block}
.wgg-preview-meta{position:absolute;left:5px;bottom:5px;background:rgba(0,0,0,.62);color:#fff;font-size:10px;padding:3px 5px;border-radius:5px}
.wgg-preview-remove{position:absolute;right:5px;top:5px;width:25px;height:25px;border:0;border-radius:50%;background:rgba(0,0,0,.72);color:#fff;font-size:19px;line-height:20px;cursor:pointer}
.wgg-progress{margin-top:12px}
.wgg-progress-track{height:10px;background:rgba(0,0,0,.09);border-radius:999px;overflow:hidden}
.wgg-progress-bar{height:100%;width:0;background:#111;border-radius:999px;transition:width .12s linear}
.wgg-progress-text{font-size:12px;opacity:.65;margin-top:6px}
@media(max-width:600px){.wgg-previews{grid-template-columns:repeat(4,1fr)}}

.wgg-cover{max-width:900px;margin:0 auto 22px;border-radius:24px;overflow:hidden;max-height:420px}
.wgg-cover img{width:100%;height:100%;max-height:420px;object-fit:cover;display:block}
.wgg-event-date{text-align:center;margin:-12px 0 26px;font-size:15px;letter-spacing:.18em;opacity:.55}
.wgg-closed{max-width:720px;margin:0 auto 40px;padding:18px 20px;border-radius:16px;background:#f5f5f5;text-align:center}

/* v1.3 gallery */
.wgg-gallery-head{max-width:1180px;margin-left:auto;margin-right:auto}
.wgg-grid{display:block!important;columns:4 240px;column-gap:12px;max-width:1180px;margin:0 auto}
.wgg-item{display:block!important;break-inside:avoid;margin:0 0 12px;border-radius:14px;overflow:hidden;background:#f2f2f2;position:relative}
.wgg-item img{display:block;width:100%;height:auto!important;aspect-ratio:auto!important;object-fit:cover;transition:transform .25s ease}
.wgg-item:hover img{transform:scale(1.025)}
.wgg-lightbox[hidden]{display:none!important}
.wgg-lightbox{position:fixed;z-index:999999;inset:0;background:rgba(8,8,8,.96);display:flex;align-items:center;justify-content:center;padding:70px 70px 30px}
.wgg-lightbox img{max-width:min(92vw,1500px);max-height:calc(100vh - 105px);width:auto;height:auto;object-fit:contain;border-radius:6px}
.wgg-lightbox-top{position:absolute;left:0;right:0;top:0;height:58px;display:flex;align-items:center;gap:18px;padding:0 18px;color:#fff;background:linear-gradient(rgba(0,0,0,.55),transparent)}
.wgg-lightbox-counter{font-size:14px;opacity:.8;margin-right:auto}
.wgg-lightbox-download{color:#fff!important;text-decoration:none!important;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:8px 14px;font-size:13px}
.wgg-lightbox-close{position:static!important;background:transparent!important;color:#fff!important;border:0!important;font-size:34px!important;line-height:1!important;cursor:pointer}
.wgg-lightbox-prev,.wgg-lightbox-next{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:64px;border:0;border-radius:12px;background:rgba(255,255,255,.10);color:#fff;font-size:44px;line-height:1;cursor:pointer}
.wgg-lightbox-prev{left:14px}.wgg-lightbox-next{right:14px}
.wgg-lightbox-prev:hover,.wgg-lightbox-next:hover{background:rgba(255,255,255,.18)}
@media(max-width:767px){
 .wgg-grid{columns:2;column-gap:6px;padding:0 6px}
 .wgg-item{margin-bottom:6px;border-radius:8px}
 .wgg-lightbox{padding:58px 8px 12px}
 .wgg-lightbox img{max-width:100%;max-height:calc(100vh - 75px)}
 .wgg-lightbox-prev,.wgg-lightbox-next{display:none}
 .wgg-lightbox-top{height:54px;padding:0 10px}
 .wgg-lightbox-download{padding:7px 10px}
}

/* v1.3.1 — preserve original photo proportions in masonry */
.wgg-grid .wgg-item{
  aspect-ratio:auto!important;
  height:auto!important;
}
.wgg-grid .wgg-item img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
}

/* v1.4.1 — desktop lightbox control visibility */
.wgg-lightbox{z-index:2147483000!important}
.wgg-lightbox-top{z-index:12!important;pointer-events:auto!important}
.wgg-lightbox-close,
.wgg-lightbox-download{display:flex!important;visibility:visible!important;opacity:1!important;position:relative!important;z-index:15!important;align-items:center;justify-content:center}
.wgg-lightbox-close{width:44px!important;height:44px!important;padding:0!important;flex:0 0 44px}
.wgg-lightbox-download{min-height:38px!important}
.wgg-lightbox-prev,.wgg-lightbox-next{z-index:10!important}
@media(min-width:768px){
 .wgg-lightbox-top{height:64px!important;padding:0 22px!important}
 .wgg-lightbox-download{background:rgba(255,255,255,.10)!important}
 .wgg-lightbox-close{font-size:38px!important}
}

/* v1.4.2 — lightbox controls always above Divi fixed headers */
body > .wgg-lightbox{
  position:fixed!important;
  inset:0!important;
  z-index:2147483646!important;
}
body > .wgg-lightbox .wgg-lightbox-top{
  position:absolute!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:2147483647!important;
  background:rgba(0,0,0,.72)!important;
  min-height:64px!important;
}
body > .wgg-lightbox .wgg-lightbox-download{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  background:rgba(255,255,255,.14)!important;
  border:1px solid rgba(255,255,255,.35)!important;
  color:#fff!important;
  padding:9px 14px!important;
  border-radius:999px!important;
}
body > .wgg-lightbox .wgg-lightbox-close{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  color:#fff!important;
  background:rgba(255,255,255,.14)!important;
  border-radius:50%!important;
  width:44px!important;
  height:44px!important;
}

/* v1.9.0 — Personalización por evento */
.wgg-event .wgg-upload-btn,
.wgg-event .wgg-submit,
.wgg-event button[type="submit"]{
  background:var(--wgg-button,#111)!important;
  border-color:var(--wgg-button,#111)!important;
}
.wgg-event .wgg-event-title,
.wgg-event .wgg-gallery-head h2,
.wgg-event .wgg-upload-card h2{
  color:var(--wgg-accent,#111);
}

/* v1.9.2 — Typography controls per event */
.wgg-event{
  font-family:var(--wgg-font, inherit);
  color:var(--wgg-body-color,#444);
  font-size:var(--wgg-body-size,16px);
}
.wgg-event .wgg-upload-card h2{
  color:var(--wgg-title-color,#111)!important;
  font-size:var(--wgg-title-size,32px)!important;
}
.wgg-event .wgg-upload-card p,
.wgg-event .wgg-subtitle,
.wgg-event .wgg-helper{
  color:var(--wgg-body-color,#444)!important;
  font-size:var(--wgg-body-size,16px)!important;
}
.wgg-event .wgg-gallery-head h2{
  color:var(--wgg-title-color,#111)!important;
  font-size:var(--wgg-gallery-size,30px)!important;
}

/* v1.10.0 — Advanced visual personalization */
.wgg-event{
  background:var(--wgg-page-bg,#f6f4f1);
  text-align:var(--wgg-text-align,center);
}
.wgg-event .wgg-upload-card{
  background:var(--wgg-card-bg,#fff)!important;
  border-radius:var(--wgg-card-radius,16px)!important;
}
.wgg-event .wgg-upload-btn,
.wgg-event .wgg-submit,
.wgg-event button[type="submit"]{
  color:var(--wgg-button-text,#fff)!important;
  border-radius:var(--wgg-button-radius,8px)!important;
}


/* v1.11.0 — Gallery Designer */
.wgg-event.wgg-wrap{
  font-family:var(--wgg-font,inherit);
  color:var(--wgg-body-color,#444);
  background:var(--wgg-page-bg,#f6f4f1);
  text-align:var(--wgg-text-align,center);
}
.wgg-event .wgg-gallery-head h3{
  color:var(--wgg-title-color,#111)!important;
  font-size:var(--wgg-gallery-size,30px)!important;
}
.wgg-event .wgg-grid{
  column-count:var(--wgg-gallery-cols,4)!important;
  column-width:auto!important;
  column-gap:var(--wgg-gallery-gap,12px)!important;
}
.wgg-event .wgg-item{
  border-radius:var(--wgg-gallery-radius,14px)!important;
  margin-bottom:var(--wgg-gallery-gap,12px)!important;
  transition:transform .22s ease,box-shadow .22s ease;
}
.wgg-event.wgg-hover-none .wgg-item img{transform:none!important}
.wgg-event.wgg-hover-zoom .wgg-item:hover img{transform:scale(1.035)!important}
.wgg-event.wgg-hover-lift .wgg-item:hover{transform:translateY(-5px);box-shadow:0 12px 26px rgba(0,0,0,.14)}
.wgg-event.wgg-hover-lift .wgg-item:hover img{transform:none!important}
.wgg-event.wgg-gallery-square .wgg-grid{
  display:grid!important;
  grid-template-columns:repeat(var(--wgg-gallery-cols,4),minmax(0,1fr))!important;
  gap:var(--wgg-gallery-gap,12px)!important;
  columns:auto!important;
}
.wgg-event.wgg-gallery-square .wgg-item{
  margin:0!important;
  aspect-ratio:1/1!important;
  height:auto!important;
}
.wgg-event.wgg-gallery-square .wgg-item img{
  width:100%!important;height:100%!important;aspect-ratio:1/1!important;object-fit:cover!important;
}
@media(max-width:767px){
  .wgg-event .wgg-grid{column-count:var(--wgg-gallery-mobile-cols,2)!important}
  .wgg-event.wgg-gallery-square .wgg-grid{
    grid-template-columns:repeat(var(--wgg-gallery-mobile-cols,2),minmax(0,1fr))!important;
  }
}

/* v1.12.0 — Portada avanzada */
.wgg-event .wgg-cover{position:relative!important;height:var(--wgg-cover-height,420px)!important;overflow:hidden!important}
.wgg-event .wgg-cover>img:first-child{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center var(--wgg-cover-position,center)!important}
.wgg-event .wgg-cover-shade{position:absolute;inset:0;background:#000;opacity:var(--wgg-cover-overlay,0);pointer-events:none}
.wgg-event .wgg-cover-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;color:var(--wgg-cover-names-color,#fff)}
.wgg-event .wgg-cover-logo{width:auto!important;height:auto!important;max-width:160px!important;max-height:110px!important;object-fit:contain!important;margin:0 0 16px!important}
.wgg-event .wgg-cover-names{font-size:var(--wgg-cover-names-size,48px);font-weight:700;line-height:1.05;text-shadow:0 2px 18px rgba(0,0,0,.28)}
.wgg-event .wgg-cover-date{margin-top:12px;font-size:14px;letter-spacing:4px;text-shadow:0 2px 12px rgba(0,0,0,.35)}
@media(max-width:767px){.wgg-event .wgg-cover-names{font-size:clamp(28px,10vw,var(--wgg-cover-names-size,48px))}.wgg-event .wgg-cover-logo{max-width:120px!important;max-height:85px!important}}


/* v1.13.0 — Acabado premium */
.wgg-event .wgg-card{margin-top:var(--wgg-section-spacing,28px)!important;margin-bottom:var(--wgg-section-spacing,28px)!important}
.wgg-event.wgg-shadow-none .wgg-card{box-shadow:none!important}
.wgg-event.wgg-shadow-soft .wgg-card{box-shadow:0 10px 28px rgba(0,0,0,.08)!important}
.wgg-event.wgg-shadow-medium .wgg-card{box-shadow:0 14px 34px rgba(0,0,0,.14)!important}
.wgg-event.wgg-shadow-strong .wgg-card{box-shadow:0 18px 44px rgba(0,0,0,.22)!important}

.wgg-event.wgg-btn-outline .wgg-submit{
  background:transparent!important;
  color:var(--wgg-button,#111)!important;
  border:2px solid var(--wgg-button,#111)!important;
}
.wgg-event.wgg-btn-soft .wgg-submit{
  background:color-mix(in srgb,var(--wgg-button,#111) 12%, transparent)!important;
  color:var(--wgg-button,#111)!important;
  border:1px solid color-mix(in srgb,var(--wgg-button,#111) 35%, transparent)!important;
}
.wgg-event.wgg-upload-border-solid .wgg-drop{border-style:solid!important}
.wgg-event.wgg-upload-border-none .wgg-drop{border-color:transparent!important}

@keyframes wggFade{from{opacity:0}to{opacity:1}}
@keyframes wggRise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes wggZoom{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}
.wgg-event.wgg-anim-fade .wgg-cover,
.wgg-event.wgg-anim-fade .wgg-card,
.wgg-event.wgg-anim-fade .wgg-gallery-head,
.wgg-event.wgg-anim-fade .wgg-grid{animation:wggFade .55s ease both}
.wgg-event.wgg-anim-rise .wgg-cover,
.wgg-event.wgg-anim-rise .wgg-card,
.wgg-event.wgg-anim-rise .wgg-gallery-head,
.wgg-event.wgg-anim-rise .wgg-grid{animation:wggRise .6s ease both}
.wgg-event.wgg-anim-zoom .wgg-cover,
.wgg-event.wgg-anim-zoom .wgg-card,
.wgg-event.wgg-anim-zoom .wgg-gallery-head,
.wgg-event.wgg-anim-zoom .wgg-grid{animation:wggZoom .5s ease both}

.wgg-event .wgg-submit,
.wgg-event .wgg-item,
.wgg-event .wgg-card{transition:all .22s ease}
.wgg-event .wgg-submit:hover{transform:translateY(-1px)}
.wgg-event .wgg-submit:active{transform:translateY(0) scale(.99)}
