/* Galerías de Congresos – sitio público */
body.dvg-page{
  --dvg-axa:#00008F; --dvg-axa-dk:#00005B; --dvg-red:#FF1721; --dvg-ink:#1B1B2B; --dvg-muted:#5B5B6E;
  --dvg-line:#DEDEE8; --dvg-bg:#F4F4F8; --dvg-card:#FFFFFF;
  margin:0; background:var(--dvg-bg); color:var(--dvg-ink);
  font-family:"Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif; font-size:16px; line-height:1.5;
  -webkit-font-smoothing:antialiased; min-height:100vh; display:flex; flex-direction:column;
}
.dvg-page *,.dvg-page *::before,.dvg-page *::after{box-sizing:border-box}
.dvg-page button{font:inherit;color:inherit;cursor:pointer}
.dvg-page img{max-width:100%}
.dvg-page [hidden]{display:none!important}
.dvg-wrap{max-width:1200px;margin:0 auto;padding:0 24px;width:100%}

/* Encabezado */
.dvg-header{background:#fff;border-bottom:1px solid var(--dvg-line);position:sticky;top:0;z-index:50}
.admin-bar .dvg-header{top:32px}
.dvg-header-in{height:76px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.dvg-brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit}
.dvg-brand img{width:48px;height:48px;display:block;object-fit:contain}
.dvg-brand b{display:block;font-size:19px;font-weight:800;color:var(--dvg-axa);line-height:1.1}
.dvg-brand small{display:block;font-size:14px;color:var(--dvg-muted)}
.dvg-navlink{font-weight:700;color:var(--dvg-axa);text-decoration:none;padding:10px 0}

.dvg-main{flex:1;padding:40px 0 64px}
.dvg-kicker{font-size:13px;font-weight:800;letter-spacing:.14em;color:var(--dvg-red);text-transform:uppercase}
.dvg-h1{margin:8px 0 10px;font-size:clamp(32px,5vw,54px);line-height:1.05;font-weight:800;color:var(--dvg-axa);letter-spacing:-.01em}
.dvg-lead{margin:0;font-size:18px;color:var(--dvg-muted);max-width:720px}
.dvg-back{display:inline-block;padding:10px 0;margin-bottom:12px;font-weight:700;color:var(--dvg-axa);text-decoration:none}
.dvg-back:hover,.dvg-navlink:hover{text-decoration:underline}
.dvg-empty{margin-top:32px;padding:28px;border:1px dashed #B9B9CC;border-radius:14px;color:var(--dvg-muted);font-size:17px;background:#fff}

/* Tarjetas de congresos */
.dvg-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:32px}
.dvg-card{display:flex;flex-direction:column;border:1px solid var(--dvg-line);border-radius:14px;overflow:hidden;background:var(--dvg-card);text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s}
.dvg-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,0,80,.12)}
.dvg-card-top{position:relative;height:180px;padding:24px 26px;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;background:var(--dvg-axa) center/cover no-repeat;color:#fff;overflow:hidden}
.dvg-card-top.has-img::before{content:"";position:absolute;inset:0;background:rgba(0,0,100,.58)}
.dvg-card-top::after{content:"";position:absolute;right:38px;top:-20px;width:10px;height:150px;background:var(--dvg-red);transform:skewX(-38deg)}
.dvg-card-top>*{position:relative;z-index:1}
.dvg-card-top small{font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;opacity:.9}
.dvg-card-top strong{font-size:30px;line-height:1.08;font-weight:800;max-width:85%}
.dvg-card-bot{padding:16px 26px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:15px}
.dvg-card-bot em{font-style:normal;font-weight:700;color:var(--dvg-axa);white-space:nowrap}

/* Años */
.dvg-years{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:32px}
.dvg-year{min-height:200px;padding:26px;border-radius:14px;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;border:1px solid var(--dvg-axa);background:#fff;color:var(--dvg-ink);text-decoration:none;transition:transform .15s,box-shadow .15s}
a.dvg-year:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,0,80,.12)}
.dvg-year b{font-size:64px;line-height:1;font-weight:800;color:var(--dvg-axa)}
.dvg-year span{font-weight:700}
.dvg-year small{font-size:14px;color:var(--dvg-muted)}
.dvg-year.is-off{border:1px dashed #B9B9CC;background:transparent}
.dvg-year.is-off b{color:#9A9AB0}

/* Edición */
.dvg-edhead{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.dvg-tabs{display:flex;gap:6px;padding:4px;border-radius:999px;background:#E4E4EF}
.dvg-tabs button{border:0;border-radius:999px;padding:10px 18px;font-weight:700;background:transparent;font-size:15px;min-height:44px}
.dvg-tabs button.is-on{background:var(--dvg-axa);color:#fff}
.dvg-gallery{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:26px}
.dvg-ph{display:block;aspect-ratio:3/2;border-radius:8px;overflow:hidden;background:#D9D9E6}
.dvg-ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}
.dvg-ph:hover img{transform:scale(1.04)}
.dvg-ph:focus-visible{outline:3px solid var(--dvg-red);outline-offset:2px}
.dvg-more{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:24px;flex-wrap:wrap;color:var(--dvg-muted);font-size:15px}
.dvg-btn{display:inline-flex;align-items:center;min-height:46px;padding:0 22px;border-radius:999px;border:1px solid var(--dvg-axa);background:#fff;color:var(--dvg-axa)!important;font-weight:700;font-size:15px;text-decoration:none}
.dvg-btn:disabled{opacity:.6;cursor:wait}

.dvg-videos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:26px}
.dvg-vthumb{position:relative;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:16/9;border:0;padding:0;border-radius:12px;background:var(--dvg-axa-dk) center/cover no-repeat;overflow:hidden}
.dvg-vthumb i{width:62px;height:62px;border-radius:999px;background:#fff;display:flex;align-items:center;justify-content:center;color:var(--dvg-axa)}
.dvg-vthumb small{position:absolute;top:10px;left:10px;background:#fff;color:var(--dvg-ink);padding:3px 10px;border-radius:999px;font-weight:700;font-size:12px}
.dvg-vthumb iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.dvg-vtitle{display:block;font-weight:700;font-size:17px;margin-top:10px}
.dvg-vlink{font-size:14px;color:var(--dvg-axa)}

/* Pie */
.dvg-footer{border-top:1px solid var(--dvg-line);background:#fff}
.dvg-footer-in{padding:22px 24px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px;color:var(--dvg-muted)}
.dvg-footer-links{display:flex;gap:18px;flex-wrap:wrap}
.dvg-footer a{color:var(--dvg-axa)}

/* Visor */
.dvg-viewer{position:fixed;inset:0;background:#0A0A1F;color:#fff;display:flex;flex-direction:column;z-index:100000}
.dvg-viewer[hidden]{display:none}
.dvg-vbar{height:64px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:15px;color:#C8C8DA;flex-shrink:0}
.dvg-icon{width:46px;height:46px;border-radius:999px;border:1px solid #34345A;background:none;color:#fff!important;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.dvg-icon:hover{background:#1A1A3A}
.dvg-stage{flex:1;display:flex;align-items:center;justify-content:center;gap:18px;padding:0 16px;min-height:0;touch-action:pan-y}
.dvg-stage img{max-width:min(1200px,100%);max-height:100%;object-fit:contain;border-radius:6px;display:block;user-select:none;-webkit-user-drag:none}
.dvg-actions{padding:16px 16px 24px;display:flex;flex-direction:column;align-items:center;gap:10px;flex-shrink:0}
.dvg-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.dvg-act{min-height:48px;padding:0 20px;border-radius:999px;border:1px solid #3F3F6A;background:none;color:#fff!important;font-weight:700;font-size:15px;display:flex;align-items:center;gap:9px}
.dvg-act:hover{background:#1A1A3A}
.dvg-act.is-primary{background:#fff;color:var(--dvg-axa)!important;border-color:#fff}
.dvg-toast{min-height:20px;font-size:14px;color:#FFB3B6;text-align:center;max-width:640px}
body.dvg-lock{overflow:hidden}

@media (max-width:900px){
  .dvg-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}
  .dvg-videos,.dvg-years{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:782px){ .admin-bar .dvg-header{top:46px} }
@media (max-width:640px){
  .dvg-wrap{padding:0 16px}
  .dvg-main{padding-top:28px}
  .dvg-cards,.dvg-videos,.dvg-years{grid-template-columns:1fr}
  .dvg-year{min-height:150px}
  .dvg-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .dvg-ph{border-radius:6px}
  .dvg-brand small{display:none}
  .dvg-nav{display:none}
  .dvg-stage{padding:0}
  .dvg-stage img{border-radius:0}
  .dvg-row .dvg-act{flex:1 1 40%;justify-content:center;padding:0 12px}
  .dvg-row .dvg-act.is-primary{flex:1 1 100%}
}

/* Logo de la edición */
.dvg-year.has-logo{padding:0;overflow:hidden;justify-content:stretch;min-height:280px;background:var(--dvg-card-bg);border-color:var(--dvg-card-bg);color:var(--dvg-card-fg)}
.dvg-year.has-logo.is-light{border-color:var(--dvg-line)}
.dvg-year-logo{flex:1;display:flex;align-items:center;justify-content:center;padding:26px 26px 10px;min-height:0}
.dvg-year-logo img{max-width:100%;max-height:160px;object-fit:contain;display:block;transition:transform .25s}
a.dvg-year.has-logo:hover .dvg-year-logo img{transform:scale(1.03)}
.dvg-year-foot{display:flex;align-items:flex-end;gap:14px;padding:16px 24px 20px;border-top:1px solid rgba(255,255,255,.14)}
.dvg-year.is-light .dvg-year-foot{border-top-color:rgba(0,0,80,.12)}
.dvg-year.has-logo b{font-size:40px;color:var(--dvg-card-fg)}
.dvg-year-info{display:flex;flex-direction:column;gap:0;line-height:1.3}
.dvg-year-info span{font-weight:700}
.dvg-year.has-logo small{color:var(--dvg-card-fg);opacity:.75}
.dvg-year.has-logo.is-off{border-style:solid}
.dvg-year.has-logo.is-off .dvg-year-logo img{opacity:.55}
.dvg-edtop{display:flex;align-items:center;justify-content:space-between;gap:28px}
.dvg-edlogo{flex-shrink:0;width:320px;height:170px;border-radius:14px;display:flex;align-items:center;justify-content:center;padding:18px}
.dvg-edlogo img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.dvg-edhead{justify-content:flex-end;margin-top:8px}
@media (max-width:760px){
  .dvg-edtop{flex-direction:column-reverse;align-items:stretch;gap:18px}
  .dvg-edlogo{width:100%;height:150px}
  .dvg-edhead{justify-content:flex-start}
}
