/* Identidad visual: logo dorado sin fondo y logos de patrocinadores integrados.
   Se carga al final para tener prioridad sobre las capas anteriores. */

/* El logo del encabezado es el círculo oficial (bsfe-logo-primary.jpeg); no se modifica aquí. */

/* Tarjeta central. */
.bsfe-center-card .bsfe-center-mark {
  display: block !important;
  flex: 0 0 auto !important;
  padding: 0 !important;
  overflow: visible !important;
  width: auto !important;
  height: 46px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
}
.bsfe-center-card .bsfe-center-mark img {
  width: auto !important;
  height: 46px !important;
  max-width: none !important;
  object-fit: contain !important;
  border-radius: 0 !important;
  filter: drop-shadow(0 0 8px rgba(216, 182, 93, .3)) !important;
}
.bsfe-crest {
  position: relative;
  width: 100%;
  align-self: stretch;
  justify-self: stretch;
  box-sizing: border-box;
  display: grid;
  place-items: center;
  height: 205px;
  margin: 0 0 10px;
  border: 1px solid rgba(212, 175, 55, .2);
  border-radius: 8px;
  background:
    radial-gradient(circle at 50% 46%, rgba(217, 182, 79, .2), transparent 58%),
    radial-gradient(circle at 50% 120%, rgba(217, 182, 79, .12), transparent 55%),
    #050607;
  overflow: hidden;
}
.bsfe-crest img {
  width: auto;
  height: 186px;
  max-width: 92%;
  object-fit: contain;
  filter: drop-shadow(0 0 22px rgba(217, 182, 79, .22));
}

/* Franja de patrocinadores: cada logo sobre una versión difuminada de sí mismo,
   así el fondo propio de cada imagen deja de verse como un recorte pegado. */
.sponsor-logo.has-logo-image {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: 12px 16px !important;
  background: #0b0d10 !important;
}
.sponsor-logo.has-logo-image::before {
  content: "";
  position: absolute;
  inset: -20%;
  z-index: -2;
  background: var(--sponsor-bg) center / cover no-repeat;
  filter: blur(18px) saturate(1.2) brightness(.55);
  transform: scale(1.1);
}
.sponsor-logo.has-logo-image::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: radial-gradient(circle at 50% 50%, transparent 30%, rgba(5, 6, 7, .55));
}
.sponsor-logo.has-logo-image img {
  position: relative;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  border-radius: 6px;
  filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .45)) !important;
}
.sponsor-logo.has-logo-image:hover { border-color: var(--premium-gold, #d8b65d) !important; }

/* Tarjetas grandes: el logo completo arriba y el texto abajo, sin encimarse. */
.sponsor-ad.has-media {
  justify-content: flex-end !important;
  background: #0b0d10 !important;
  isolation: isolate;
}
.sponsor-ad.has-media::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 0 auto 0 !important;
  height: 62% !important;
  z-index: -1 !important;
  background: var(--sponsor-bg) center / cover no-repeat !important;
  filter: blur(22px) saturate(1.15) brightness(.5) !important;
  transform: scale(1.15) !important;
  opacity: 1 !important;
}
.sponsor-ad.has-media .sponsor-ad-image {
  position: absolute !important;
  inset: 0 0 auto 0 !important;
  width: 100% !important;
  height: 62% !important;
  padding: 18px 20px 8px !important;
  object-fit: contain !important;
  background: none !important;
  filter: drop-shadow(0 8px 18px rgba(0, 0, 0, .5)) !important;
  transform: none !important;
}
.sponsor-ad.has-media::after {
  content: "" !important;
  position: absolute !important;
  inset: 52% 0 0 0 !important;
  background: linear-gradient(180deg, rgba(11, 13, 16, 0), #0b0d10 32%) !important;
  pointer-events: none;
}
.sponsor-ad.has-media .sponsor-ad-content {
  position: relative !important;
  z-index: 1 !important;
  margin-top: auto;
  padding: 14px 17px 17px !important;
  background: none !important;
}
.sponsor-ad.has-media h3 { font-size: 18px !important; line-height: 1.25 !important; }

/* Portada: imagen completa del evento principal (banner con artista y marca), según data-evento-id
   que pone app.js. Los textos encimados se ocultan porque el banner ya los trae. */
body .premium-hero .hero-content {
  background:
    url("assets/events/pega-pega-banner-1280.jpg?v=2") center / contain no-repeat,
    radial-gradient(ellipse at center, #3a0a12 0%, #12060a 70%) !important;
  background-color: #0a0505 !important;
}
body .premium-hero .hero-content[data-evento-id="7"] {
  background:
    url("assets/events/zagar-paparazzi-banner.webp?v=2") center / contain no-repeat,
    url("assets/events/zagar-paparazzi-fondo.webp?v=2") center / cover no-repeat !important;
  background-color: #0a0505 !important;
}
body .premium-hero .hero-content > :is(#hero-kicker, #hero-title, #hero-koketas, #hero-description, #hero-facts) {
  display: none !important;
}
body .premium-hero .hero-content::before,
body .premium-hero .hero-content::after { display: none !important; }
body .premium-hero #hero-action { position: relative; z-index: 1; align-self: center; }
body .premium-hero #hero-action:disabled { display: none !important; }
/* Escritorio: el banner (3:1) se ve completo al centro y el mismo arte, desenfocado, llena todo el recuadro. */
@media (min-width: 981px) {
  body .premium-hero .hero-content {
    position: relative; overflow: hidden; background-image: none !important; background-color: #0a0505 !important;
    --banner-evento: url("assets/events/pega-pega-banner-1280.jpg?v=2");
  }
  body .premium-hero .hero-content[data-evento-id="7"] { --banner-evento: url("assets/events/zagar-paparazzi-banner.webp?v=2"); }
  body .premium-hero .hero-content::before {
    display: block !important; content: ""; position: absolute; inset: -40px; z-index: 0;
    background: var(--banner-evento) center / cover no-repeat; filter: blur(14px) brightness(.8) saturate(1.3);
  }
  body .premium-hero .hero-content::after {
    display: block !important; content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
    background: var(--banner-evento) center / contain no-repeat;
  }
  body .premium-hero .hero-content #hero-action { z-index: 2; }
}
/* Escritorio: cada evento tiene su propio botón de compra (el del evento principal bajo su banner). */
@media (min-width: 981px) {
  body .premium-hero .hero-content #hero-action:not(:disabled) {
    display: inline-flex !important; position: absolute !important; left: 0; right: 0; bottom: 34px; margin: 0 auto !important; width: fit-content; transform: none !important;
  }
}
@media (max-width: 980px) {
  /* Celular: el flyer completo arriba y el botón debajo, sin taparlo. */
  body .premium-hero .hero-content {
    min-height: 0 !important;
    aspect-ratio: auto;
    padding: calc(33.36% + 14px) 0 18px !important; /* alto del banner Pega Pega (427/1280) */
    justify-content: flex-start !important;
    background:
      url("assets/events/pega-pega-banner-1280.jpg?v=2") top center / 100% auto no-repeat !important;
  }
  body .premium-hero .hero-content[data-evento-id="7"] {
    padding: calc(38.07% + 14px) 0 18px !important; /* alto del banner Zagar (761/1999) */
    background:
      url("assets/events/zagar-paparazzi-banner.webp?v=2") top center / 100% auto no-repeat !important;
  }
}

/* =====================================================
   Más vida: dorados brillantes, fondos menos planos,
   líneas visibles y textos legibles. No toca .brand-logo.
   ===================================================== */
:root {
  --premium-gold: #ecc24f;
  --premium-gold-light: #ffe08a;
  --premium-ivory: #fbf7ee;
  --premium-panel: #12161b;
  --premium-line: rgba(236, 194, 79, .48);
  --premium-muted: #cfc8b9;
  --vida-gold-grad: linear-gradient(135deg, #fff1b8 0%, #f3cd5c 35%, #c8922b 70%, #f7d978 100%);
}
body {
  background:
    radial-gradient(1200px 600px at 85% -10%, rgba(236, 160, 60, .16), transparent 60%),
    radial-gradient(900px 500px at 0% 30%, rgba(236, 194, 79, .08), transparent 60%),
    radial-gradient(1000px 700px at 100% 75%, rgba(180, 40, 40, .08), transparent 60%),
    linear-gradient(180deg, #0c0e12 0%, #090a0d 50%, #0b0c10 100%) !important;
  background-color: #0b0c10 !important;
  color: var(--premium-ivory);
}

/* Encabezado con línea dorada que brilla */
.premium-header {
  background: linear-gradient(180deg, rgba(14, 16, 20, .96), rgba(10, 11, 14, .9)) !important;
  border-bottom: 1px solid transparent !important;
  border-image: linear-gradient(90deg, transparent, rgba(255, 214, 110, .75), transparent) 1 !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, .45);
}
.premium-header nav a { color: #f4efe3 !important; transition: color .2s, text-shadow .2s; }
.premium-header nav a:hover { color: #ffe08a !important; text-shadow: 0 0 12px rgba(255, 210, 100, .55); }
.header-ticket-cta {
  background: var(--vida-gold-grad) !important;
  color: #1a1206 !important;
  border: 0 !important;
  box-shadow: 0 0 22px rgba(240, 190, 70, .45), inset 0 1px 0 rgba(255, 255, 255, .6) !important;
}
.header-ticket-cta strong { color: #1a1206 !important; }
.header-ticket-cta .gold-ticket-icon { filter: brightness(.2) contrast(1.4); }

/* Tarjetas de portada con borde dorado vivo y resplandor */
.premium-hero .hero-content,
.premium-hero > .bsfe-center-card,
.premium-hero > #sponsor-oficial-evento .presenting-sponsor {
  border: 1px solid rgba(255, 210, 100, .7) !important;
  box-shadow: 0 0 0 1px rgba(255, 210, 100, .08), 0 0 28px rgba(236, 180, 60, .22), 0 24px 60px rgba(0, 0, 0, .55) !important;
}
.bsfe-center-card { background: linear-gradient(180deg, #15181d 0%, #0d0f12 100%) !important; }
.bsfe-center-card h2, .bsfe-center-card > p { color: #ffd76a !important; text-shadow: 0 0 14px rgba(255, 200, 80, .35) !important; }
.bsfe-benefits span { border-color: rgba(255, 210, 100, .45) !important; background: rgba(255, 210, 100, .05) !important; }
.bsfe-benefits small { color: #fbf7ee !important; }
.bsfe-benefits svg { stroke: #ffd76a !important; filter: drop-shadow(0 0 6px rgba(255, 200, 80, .45)); }

/* Títulos de sección en dorado brillante con líneas visibles */
.carousel-heading, .carousel-heading h2, .carousel-heading span {
  color: #ffd76a !important;
  text-shadow: 0 0 16px rgba(255, 200, 80, .35);
}
.carousel-heading::before, .carousel-heading::after {
  background: linear-gradient(90deg, transparent, rgba(255, 214, 110, .8), transparent) !important;
  height: 1px !important; opacity: 1 !important;
}
#eventos h2 { color: #fffaf0 !important; }
#eventos h2::after, #eventos > h2 + * ::before { background: var(--vida-gold-grad) !important; }

/* Tarjetas de evento, patrocinadores y beneficios */
.card, .bsfe-event-card {
  background: linear-gradient(180deg, #161a20 0%, #0f1216 100%) !important;
  border: 1px solid rgba(255, 210, 100, .45) !important;
  box-shadow: 0 0 24px rgba(236, 180, 60, .12), 0 20px 50px rgba(0, 0, 0, .45) !important;
}
.card .date, .bsfe-event-card .date, .card .date *, .bsfe-event-card .date * {
  color: #1a1206 !important; -webkit-text-fill-color: #1a1206 !important; font-weight: 900 !important;
}
.card .date, .bsfe-event-card .date { background: var(--vida-gold-grad) !important; border: 0 !important; }
.card h3, .bsfe-event-card h3 { color: #fffaf0 !important; }
.card p, .bsfe-event-card p { color: #d9d3c6 !important; }
.sponsor-logo, .sponsor-ad { border-color: rgba(255, 210, 100, .42) !important; transition: transform .2s, box-shadow .2s, border-color .2s; }
.sponsor-logo:hover, .sponsor-ad:hover {
  border-color: #ffd76a !important; transform: translateY(-3px);
  box-shadow: 0 0 22px rgba(255, 200, 80, .3), 0 14px 30px rgba(0, 0, 0, .5) !important;
}
.sponsor-ad-kicker { color: #ffd76a !important; }
.sponsor-ad p { color: #ddd7ca !important; }
.sponsor-ad a { color: #1a1206 !important; background: var(--vida-gold-grad) !important; border: 0 !important; }

.purchase-trust-strip {
  background: linear-gradient(90deg, rgba(236, 194, 79, .1), rgba(236, 194, 79, .03), rgba(236, 194, 79, .1)) !important;
  border-color: rgba(255, 210, 100, .45) !important;
}
.purchase-trust-item { color: #fbf7ee !important; border-color: rgba(255, 210, 100, .28) !important; }
.purchase-trust-item svg, .purchase-trust-item i, .purchase-trust-item span:first-child { color: #ffd76a !important; border-color: #ffd76a !important; }
.attendee-benefits { border-color: rgba(255, 210, 100, .45) !important; background: linear-gradient(180deg, #14181d, #0e1115) !important; }
.attendee-benefits strong, .attendee-benefits h3 { color: #fffaf0 !important; }
.attendee-benefits small, .attendee-benefits p { color: #cfc8b9 !important; }

/* Botones principales con brillo */
.btn, button.btn, #hero-action {
  background: var(--vida-gold-grad) !important; color: #1a1206 !important; border: 0 !important;
  box-shadow: 0 0 20px rgba(240, 190, 70, .35), inset 0 1px 0 rgba(255, 255, 255, .55) !important;
}
.is-event-closed button:disabled {
  background: linear-gradient(135deg, #3a3326, #2a251c) !important; color: #d9cfb5 !important; box-shadow: none !important;
}

/* Pie de página */
.public-footer { border-top: 1px solid rgba(255, 210, 100, .35) !important; background: linear-gradient(180deg, transparent, rgba(236, 194, 79, .05)) !important; }
.public-footer, .public-footer p { color: #d9d3c6 !important; }
.public-footer a { color: #ffe08a !important; border-color: rgba(255, 210, 100, .6) !important; }

/* Galería de eventos */
.event-gallery { width: min(1180px, 92%); margin: 70px auto 60px; }
.gallery-head { text-align: center; margin-bottom: 26px; }
.gallery-kicker { margin: 0 0 8px; color: #ffd76a; font-size: 12px; font-weight: 900; letter-spacing: 4px; text-shadow: 0 0 14px rgba(255, 200, 80, .4); }
.gallery-head h2 { margin: 0; color: #fffaf0; font-family: Georgia, serif; font-size: clamp(28px, 3.4vw, 42px); font-weight: 500; }
.gallery-meta { margin: 10px 0 0; color: #cfc8b9; font-size: 14px; letter-spacing: .5px; }
.gallery-head::after { content: ""; display: block; width: 90px; height: 3px; margin: 18px auto 0; border-radius: 3px; background: var(--vida-gold-grad); }
.gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 210px; grid-auto-flow: dense; gap: 12px; }
.gallery-item { position: relative; display: block; overflow: hidden; border-radius: 12px; border: 1px solid rgba(255, 210, 100, .4); background: #0c0e12; box-shadow: 0 10px 26px rgba(0, 0, 0, .45); }
.gallery-item.wide { grid-column: span 2; }
.gallery-item.tall { grid-row: span 2; }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .45s ease, filter .3s; filter: saturate(1.08); }
.gallery-item::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 60%, rgba(0, 0, 0, .35)); pointer-events: none; }
.gallery-item:hover { border-color: #ffd76a; box-shadow: 0 0 24px rgba(255, 200, 80, .35), 0 14px 30px rgba(0, 0, 0, .5); }
.gallery-item:hover img { transform: scale(1.06); filter: saturate(1.2) brightness(1.06); }
.gallery-item:focus-visible { outline: 3px solid #ffd76a; outline-offset: 3px; }
.gallery-cta { display: table; margin: 30px auto 0; padding: 14px 30px; border-radius: 999px; background: var(--vida-gold-grad); color: #1a1206 !important; font-weight: 900; letter-spacing: 2px; font-size: 13px; text-decoration: none; text-transform: uppercase; box-shadow: 0 0 22px rgba(240, 190, 70, .4); }
.gallery-lightbox { position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center; background: rgba(4, 4, 6, .94); padding: 20px; }
.gallery-lightbox[hidden] { display: none; }
.gallery-lightbox img { max-width: min(1200px, 92vw); max-height: 86vh; border-radius: 10px; border: 1px solid rgba(255, 210, 100, .5); box-shadow: 0 0 40px rgba(255, 200, 80, .2); }
.gallery-lightbox button { position: absolute; width: 52px; height: 52px; border-radius: 50%; border: 1px solid rgba(255, 210, 100, .7); background: rgba(10, 10, 12, .8); color: #ffd76a; font-size: 30px; line-height: 1; cursor: pointer; }
.gallery-lightbox .lb-close { top: 18px; right: 18px; }
.gallery-lightbox .lb-prev { left: 18px; top: 50%; transform: translateY(-50%); }
.gallery-lightbox .lb-next { right: 18px; top: 50%; transform: translateY(-50%); }
@media (max-width: 760px) {
  .event-gallery { margin: 46px auto 40px; }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 150px; gap: 8px; }
  .gallery-item.wide { grid-column: span 2; }
  .gallery-lightbox .lb-prev, .gallery-lightbox .lb-next { top: auto; bottom: 22px; transform: none; }
}
.event-gallery-link { display: block; margin-top: 12px; padding: 14px; border-radius: 8px; text-align: center; background: var(--vida-gold-grad); color: #1a1206 !important; font-size: 12px; font-weight: 900; letter-spacing: 2px; text-decoration: none; box-shadow: 0 0 18px rgba(240, 190, 70, .35); }
.event-presenters { display: block; color: #ecc24f; font-size: 11px; font-weight: 800; letter-spacing: 1.5px; margin-bottom: 6px; }
/* Fotos del evento pasado dentro de su propia tarjeta */
.event-gallery.in-event-card { width: 100%; margin: 18px 0 0; grid-column: 1 / -1; }
.event-gallery.in-event-card .gallery-head { margin-bottom: 14px; }
.event-gallery.in-event-card .gallery-head h2 { font-size: clamp(20px, 2.2vw, 26px); }
.event-gallery.in-event-card .gallery-head::after { margin-top: 10px; }
.event-gallery.in-event-card .gallery-grid { grid-auto-rows: 150px; gap: 8px; }
@media (max-width: 760px) { .event-gallery.in-event-card .gallery-grid { grid-auto-rows: 110px; gap: 6px; } }
/* Dentro de la tarjeta: cuadrícula pareja, 8 fotos y botón para ver todas */
.event-gallery.in-event-card .gallery-grid { grid-template-columns: repeat(4, 1fr); grid-auto-rows: 130px; }
.event-gallery.in-event-card .gallery-item.wide, .event-gallery.in-event-card .gallery-item.tall { grid-column: auto; grid-row: auto; }
.event-gallery.in-event-card:not(.show-all) .gallery-item:nth-child(n+9) { display: none; }
.event-gallery.in-event-card .gallery-cta { display: none; }
.gallery-more { display: table; margin: 14px auto 0; padding: 11px 22px; border-radius: 999px; border: 1px solid rgba(255, 210, 100, .6); background: rgba(255, 210, 100, .1); color: #ffd76a; font: 800 12px/1 Arial, sans-serif; letter-spacing: 1.5px; cursor: pointer; }
@media (max-width: 760px) {
  .event-gallery.in-event-card .gallery-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 120px; }
  .event-gallery.in-event-card:not(.show-all) .gallery-item:nth-child(n+7) { display: none; }
}
/* Evento pasado: álbum que abre las fotos (la cuadrícula queda oculta) */
.event-gallery.in-event-card { display: none !important; }
.event-album { display: flex; align-items: center; gap: 14px; width: 100%; margin-top: 16px; padding: 10px; border-radius: 12px;
  border: 1px solid rgba(255, 210, 100, .55); background: linear-gradient(135deg, rgba(255, 210, 100, .14), rgba(12, 12, 14, .9));
  color: #fffaf0; cursor: pointer; text-align: left; box-shadow: 0 0 18px rgba(240, 190, 70, .18); }
.event-album img { width: 86px; height: 64px; object-fit: cover; border-radius: 8px; border: 1px solid rgba(255, 210, 100, .5); flex: none; }
.event-album b { display: block; color: #ffd76a; font-size: 14px; letter-spacing: 1.5px; }
.event-album small { display: block; margin-top: 4px; color: #cfc8b9; font-size: 12px; }
.event-album:hover { border-color: #ffd76a; box-shadow: 0 0 24px rgba(255, 200, 80, .35); }
#eventos-lista .event-album img, .event-album img { width: 86px !important; height: 64px !important; max-width: 86px !important; margin: 0 !important; aspect-ratio: auto !important; }
.event-album span { min-width: 0; flex: 1; }
.gallery-lightbox { z-index: 100001 !important; }

/* Tableta acostada (981–1280 px): los tres recuadros de la portada se encogen
   en proporción para caber completos (antes pedían 1,100 px mínimo y se cortaban). */
@media (min-width: 981px) and (max-width: 1280px) {
  body .premium-hero {
    grid-template-columns: minmax(0, 25fr) minmax(0, 25fr) minmax(0, 50fr) !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden;
  }
  body .premium-hero > * { min-width: 0 !important; }
  body .premium-hero > #sponsor-oficial-evento .presenting-sponsor { padding-left: 12px !important; padding-right: 12px !important; }
  body .premium-hero > #sponsor-oficial-evento .presenting-sponsor :is(h2, h3, strong) { font-size: clamp(16px, 1.8vw, 22px) !important; overflow-wrap: anywhere; }
  body .premium-hero .bsfe-benefits small { font-size: 7px !important; }
}

/* Galería (visor de fotos): botones fijos y centrados. Antes el estilo general de botones
   (button:hover → translateY) los movía y descentraba la flecha; aquí nada se transforma. */
.gallery-lightbox { display: flex; align-items: center; justify-content: center; }
.gallery-lightbox[hidden] { display: none !important; }
.gallery-lightbox img { max-width: min(1200px, 88vw); max-height: 86vh; width: auto; height: auto; object-fit: contain; }
.gallery-lightbox button,
.gallery-lightbox button:hover,
.gallery-lightbox button:active,
.gallery-lightbox button:focus-visible {
  position: fixed !important; transform: none !important; filter: none !important;
  display: flex !important; align-items: center; justify-content: center;
  width: 52px; height: 52px; padding: 0 !important; margin: 0 !important; box-sizing: border-box;
  font-family: Arial, sans-serif; font-size: 32px; line-height: 1 !important; text-indent: 0;
  transition: background .2s, border-color .2s;
}
.gallery-lightbox button:hover { background: rgba(236, 194, 79, .22) !important; border-color: #ffd76a; box-shadow: 0 0 16px rgba(255, 200, 80, .35); }
.gallery-lightbox .lb-close { top: 18px !important; right: 18px !important; left: auto !important; bottom: auto !important; }
.gallery-lightbox .lb-prev { left: 18px !important; right: auto !important; top: calc(50% - 26px) !important; bottom: auto !important; }
.gallery-lightbox .lb-next { right: 18px !important; left: auto !important; top: calc(50% - 26px) !important; bottom: auto !important; }
/* Los símbolos × ‹ › quedan más arriba de su caja: se ajustan para verse al centro del círculo. */
.gallery-lightbox .lb-close > *, .gallery-lightbox .lb-prev > *, .gallery-lightbox .lb-next > * { margin: 0; }
.gallery-lightbox .lb-prev, .gallery-lightbox .lb-next { padding-bottom: 5px !important; }
.gallery-lightbox .lb-close { padding-bottom: 3px !important; font-size: 36px; }
@media (max-width: 760px) {
  .gallery-lightbox img { max-width: 94vw; max-height: 72vh; }
  .gallery-lightbox .lb-close { top: 12px !important; right: 12px !important; }
  .gallery-lightbox .lb-prev { left: calc(50% - 64px) !important; top: auto !important; bottom: 22px !important; }
  .gallery-lightbox .lb-next { right: calc(50% - 64px) !important; top: auto !important; bottom: 22px !important; }
}
