.elementor-2506 .elementor-element.elementor-element-7c3dd1a{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2506 .elementor-element.elementor-element-ba13252{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:150px 0px 0px 0px;}.elementor-2506 .elementor-element.elementor-element-49849a2{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-2506 .elementor-element.elementor-element-92d11b2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2506 .elementor-element.elementor-element-92d11b2:not(.elementor-motion-effects-element-type-background), .elementor-2506 .elementor-element.elementor-element-92d11b2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F4F4F5;}.elementor-2506 .elementor-element.elementor-element-ff058e8{margin:-6% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;padding:0px 0px 0px 0px;}@media(min-width:768px){.elementor-2506 .elementor-element.elementor-element-7c3dd1a{--content-width:1200px;}.elementor-2506 .elementor-element.elementor-element-92d11b2{--content-width:1200px;}}/* Start custom CSS for html, class: .elementor-element-49849a2 *//* ============================================================
   PAGINA -- Galeria
   Archivo: swm-galeria.css (version corregida y consolidada)
   ============================================================ */

/* --- Seccion --- */
.swm-galeria-section {
  width: 100%;
  background-color: #ff;
  padding: 40px 20px;
  position: relative;
}

.swm-galeria-wrapper {
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
}

/* --- Header --- */
.swm-galeria-header {
  text-align: center;
  margin-bottom: 48px;
}

.swm-galeria-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--swm-accent);
  border-radius: 9999px;
  padding: 6px 18px;
  margin-bottom: 28px;
  background: transparent;
}

.swm-galeria-badge__text {
  font-family: var(--swm-font-body) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--swm-accent) !important;
}

.swm-galeria-title {
  font-family: var(--swm-font-title) !important;
  font-size: clamp(2.75rem, 6vw, 4.5rem) !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  color: var(--swm-slate) !important;
  line-height: 1.0 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 20px !important;
}

.swm-galeria-intro {
  font-family: var(--swm-font-body) !important;
  font-size: clamp(1rem, 1.6vw, 1.125rem) !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  color: var(--swm-slate-muted) !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  max-width: 600px;
  margin: 0 auto !important;
}

/* --- Filtros --- */
.swm-galeria-filters {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 56px;
}

.swm-galeria-filter {
  font-family: var(--swm-font-body) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.03em !important;
  color: var(--swm-slate-muted) !important;
  background: var(--swm-paper) !important;
  border: 1px solid transparent !important;
  border-radius: 9999px;
  padding: 10px 22px !important;
  cursor: pointer;
  transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.swm-galeria-filter:hover {
  color: var(--swm-slate) !important;
}

.swm-galeria-filter.is-active {
  background: var(--swm-accent) !important;
  color: var(--swm-white) !important;
}

/* --- Masonry Grid --- */
.swm-galeria-grid {
  column-count: 4;
  column-gap: 20px;
}

.swm-galeria-item {
  break-inside: avoid;
  margin-bottom: 20px;
  border-radius: var(--swm-radius-card);
  overflow: hidden;
  box-shadow: var(--swm-shadow-card);
  transition: box-shadow 0.4s var(--swm-ease), opacity 0.3s ease, transform 0.3s ease;
}

.swm-galeria-item:hover {
  box-shadow: var(--swm-shadow-hover);
}

.swm-galeria-item.is-filtered-out {
  display: none;
}

/* --- Boton / imagen --- */
.swm-galeria-item__btn {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  position: relative !important;
  border: none !important;
  border-radius: 0 !important;
  border-color: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  background: none !important;
  background-color: transparent !important;
  box-shadow: none !important;
  cursor: pointer !important;
  line-height: 0 !important;
  font-size: 0 !important;
  color: transparent !important;
  text-align: left !important;
}

.swm-galeria-item__btn:hover,
.swm-galeria-item__btn:focus,
.swm-galeria-item__btn:active {
  border: none !important;
  background: none !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

.swm-galeria-item__img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  margin: 0 !important;
  filter: grayscale(100%);
  transform-origin: center center;
  transition: filter 0.6s ease, transform 0.7s var(--swm-ease);
}

.swm-galeria-item:hover .swm-galeria-item__img {
  filter: grayscale(0%);
  transform: scale(1.05);
}

/* Icono de lupa */
.swm-galeria-item__icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.7);
  width: 44px;
  height: 44px;
  background: rgba(71, 85, 105, 0.85);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease, transform 0.3s ease;
  pointer-events: none;
}

.swm-galeria-item:hover .swm-galeria-item__icon {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

.swm-galeria-item__icon svg {
  width: 18px;
  height: 18px;
  stroke: var(--swm-white);
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* --- Lightbox --- */
.swm-galeria-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(9, 9, 11, 0.92);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.swm-galeria-lightbox.is-open {
  opacity: 1;
  visibility: visible;
}

.swm-galeria-lightbox__figure {
  max-width: 88vw;
  max-height: 86vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.swm-galeria-lightbox__img {
  max-width: 88vw;
  max-height: 78vh;
  width: auto;
  height: auto;
  border-radius: 16px;
  box-shadow: 0 30px 60px rgba(0,0,0,0.40);
  display: block;
}

.swm-galeria-lightbox__counter {
  font-family: var(--swm-font-body);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: rgba(255,255,255,0.55);
}

/* Boton cerrar -- blindado contra el Kit de Elementor */
.swm-galeria-lightbox__close {
  position: absolute !important;
  top: 24px !important;
  right: 24px !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  color: transparent !important;
  transition: background 0.25s ease;
}

.swm-galeria-lightbox__close:hover,
.swm-galeria-lightbox__close:focus {
  background: rgba(255,255,255,0.18) !important;
  border-color: rgba(255,255,255,0.15) !important;
}

.swm-galeria-lightbox__close svg {
  width: 18px;
  height: 18px;
  stroke: var(--swm-white);
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
}

/* Botones de navegacion -- chevron sin fondo ovalado (version final) */
.swm-galeria-lightbox__nav {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 8px !important;
  margin: 0 !important;
  color: transparent !important;
  width: 64px !important;
  height: 64px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
}

.swm-galeria-lightbox__nav:hover,
.swm-galeria-lightbox__nav:focus {
  background: none !important;
  background-color: transparent !important;
  border: none !important;
}

.swm-galeria-lightbox__nav--prev { left: 24px !important; }
.swm-galeria-lightbox__nav--next { right: 24px !important; }

.swm-galeria-lightbox__nav svg {
  width: 36px;
  height: 36px;
  stroke: rgba(255, 255, 255, 0.55);
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: stroke 0.25s ease, transform 0.25s ease;
}

.swm-galeria-lightbox__nav--prev:hover svg {
  stroke: var(--swm-white);
  transform: translateX(-4px);
}

.swm-galeria-lightbox__nav--next:hover svg {
  stroke: var(--swm-white);
  transform: translateX(4px);
}

/* --- Responsive: Tablet --- */
@media (max-width: 960px) {
  .swm-galeria-section { padding: 80px 28px; }
  .swm-galeria-grid    { column-count: 3; column-gap: 16px; }
  .swm-galeria-item    { margin-bottom: 16px; }
  .swm-galeria-lightbox__nav { width: 52px !important; height: 52px !important; }
  .swm-galeria-lightbox__nav svg { width: 28px; height: 28px; }
}

/* --- Responsive: Mobile --- */
@media (max-width: 640px) {
  .swm-galeria-section  { padding: 64px 16px; }
  .swm-galeria-header   { margin-bottom: 36px; }
  .swm-galeria-filters  { margin-bottom: 40px; gap: 8px; }
  .swm-galeria-filter   { padding: 8px 16px !important; font-size: 12px !important; }
  .swm-galeria-grid     { column-count: 2; column-gap: 12px; }
  .swm-galeria-item     { margin-bottom: 12px; }
  .swm-galeria-lightbox__nav--prev { left: 8px !important; }
  .swm-galeria-lightbox__nav--next { right: 8px !important; }
  .swm-galeria-lightbox__nav { width: 44px !important; height: 44px !important; }
  .swm-galeria-lightbox__nav svg { width: 24px; height: 24px; }
  .swm-galeria-lightbox__close { top: 14px !important; right: 14px !important; }
}


/* Agregar al swm-galeria.css existente */

.swm-galeria-loadmore-wrap {
  text-align: center;
  margin-top: 48px;
}

.swm-galeria-loadmore {
  /* hereda .swm-btn-mint del design system */
  min-width: 180px;
}/* End custom CSS */