.elementor-281 .elementor-element.elementor-element-a752e8d{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-281 .elementor-element.elementor-element-d6f42fc{width:100%;max-width:100%;text-align:center;}.elementor-281 .elementor-element.elementor-element-d6f42fc .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:11px;font-weight:400;text-transform:uppercase;line-height:17.6px;letter-spacing:3.08px;}.elementor-281 .elementor-element.elementor-element-01e5c8a{width:var( --container-widget-width, 85% );max-width:85%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 180px 40px 180px;--container-widget-width:85%;--container-widget-flex-grow:0;}.elementor-281 .elementor-element.elementor-element-01e5c8a .elementor-image-box-wrapper{text-align:center;}.elementor-281 .elementor-element.elementor-element-01e5c8a .elementor-image-box-title{margin-bottom:20px;font-size:85px;font-weight:400;color:var( --e-global-color-secondary );}.elementor-281 .elementor-element.elementor-element-01e5c8a .elementor-image-box-description{font-family:"Playfair Display", Sans-serif;font-size:18px;font-weight:400;font-style:italic;line-height:26px;color:var( --e-global-color-text );}.elementor-281 .elementor-element.elementor-element-0f82cca .e-gallery-item:hover .elementor-gallery-item__overlay, .elementor-281 .elementor-element.elementor-element-0f82cca .e-gallery-item:focus .elementor-gallery-item__overlay{background-color:rgba(0,0,0,0.5);}.elementor-281 .elementor-element.elementor-element-0f82cca{--image-transition-duration:800ms;--overlay-transition-duration:800ms;--content-text-align:center;--content-padding:20px;--content-transition-duration:800ms;--content-transition-delay:800ms;--galleries-title-color-hover:var( --e-global-color-primary );--gallery-title-color-active:var( --e-global-color-primary );--galleries-pointer-bg-color-active:var( --e-global-color-accent );--galleries-pointer-border-width:0px;}.elementor-281 .elementor-element.elementor-element-0f82cca .elementor-gallery-title{font-family:"Inter", Sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:2.8px;--space-between:10px;}.elementor-281 .elementor-element.elementor-element-0f82cca .elementor-gallery__titles-container{margin-bottom:50px;}.elementor-281 .elementor-element.elementor-element-a720617{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--flex-wrap:wrap;border-style:solid;--border-style:solid;border-width:1px 0px 1px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:var( --e-global-color-8c2156a );--border-color:var( --e-global-color-8c2156a );}.elementor-281 .elementor-element.elementor-element-a720617:not(.elementor-motion-effects-element-type-background), .elementor-281 .elementor-element.elementor-element-a720617 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#1F1A15;}.elementor-281 .elementor-element.elementor-element-eb80da1 .elementor-counter{gap:10px;}.elementor-281 .elementor-element.elementor-element-eb80da1 .elementor-counter-number-wrapper{color:var( --e-global-color-primary );font-family:"Playfair Display", Sans-serif;font-size:48px;font-weight:400;font-style:italic;}.elementor-281 .elementor-element.elementor-element-eb80da1 .elementor-counter-title{color:var( --e-global-color-secondary );font-family:"Inter", Sans-serif;font-size:12px;font-weight:400;text-transform:uppercase;letter-spacing:2.7px;}.elementor-281 .elementor-element.elementor-element-beeee9d .elementor-counter{gap:10px;}.elementor-281 .elementor-element.elementor-element-beeee9d .elementor-counter-number-wrapper{color:var( --e-global-color-primary );font-family:"Playfair Display", Sans-serif;font-size:48px;font-weight:400;font-style:italic;}.elementor-281 .elementor-element.elementor-element-beeee9d .elementor-counter-title{color:var( --e-global-color-secondary );font-family:"Inter", Sans-serif;font-size:12px;font-weight:400;text-transform:uppercase;letter-spacing:2.7px;}.elementor-281 .elementor-element.elementor-element-69a2193 .elementor-counter{gap:10px;}.elementor-281 .elementor-element.elementor-element-69a2193 .elementor-counter-number-wrapper{color:var( --e-global-color-primary );font-family:"Playfair Display", Sans-serif;font-size:48px;font-weight:400;font-style:italic;}.elementor-281 .elementor-element.elementor-element-69a2193 .elementor-counter-title{color:var( --e-global-color-secondary );font-family:"Inter", Sans-serif;font-size:12px;font-weight:400;text-transform:uppercase;letter-spacing:2.7px;}.elementor-281 .elementor-element.elementor-element-cfe5a2d .elementor-counter{gap:10px;}.elementor-281 .elementor-element.elementor-element-cfe5a2d .elementor-counter-number-wrapper{color:var( --e-global-color-primary );font-family:"Playfair Display", Sans-serif;font-size:48px;font-weight:400;font-style:italic;}.elementor-281 .elementor-element.elementor-element-cfe5a2d .elementor-counter-title{color:var( --e-global-color-secondary );font-family:"Inter", Sans-serif;font-size:12px;font-weight:400;text-transform:uppercase;letter-spacing:2.7px;}.elementor-281 .elementor-element.elementor-element-9bfac7d{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-281 .elementor-element.elementor-element-b23f14f{width:var( --container-widget-width, 85% );max-width:85%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 180px 40px 180px;--container-widget-width:85%;--container-widget-flex-grow:0;}.elementor-281 .elementor-element.elementor-element-b23f14f .elementor-image-box-wrapper{text-align:center;}.elementor-281 .elementor-element.elementor-element-b23f14f .elementor-image-box-title{margin-bottom:20px;font-size:41px;font-weight:400;color:var( --e-global-color-secondary );}.elementor-281 .elementor-element.elementor-element-b23f14f .elementor-image-box-description{font-family:"Playfair Display", Sans-serif;font-size:18px;font-weight:400;font-style:italic;line-height:26px;color:var( --e-global-color-secondary );}.elementor-281 .elementor-element.elementor-element-beb3d91 .elementor-button{background-color:#02010100;fill:var( --e-global-color-secondary );color:var( --e-global-color-secondary );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-secondary );}.elementor-281 .elementor-element.elementor-element-beb3d91 .elementor-button:hover, .elementor-281 .elementor-element.elementor-element-beb3d91 .elementor-button:focus{background-color:var( --e-global-color-accent );color:var( --e-global-color-d7a9491 );}.elementor-281 .elementor-element.elementor-element-beb3d91 .elementor-button:hover svg, .elementor-281 .elementor-element.elementor-element-beb3d91 .elementor-button:focus svg{fill:var( --e-global-color-d7a9491 );}@media(max-width:767px){.elementor-281 .elementor-element.elementor-element-d6f42fc .elementor-heading-title{font-size:10px;}.elementor-281 .elementor-element.elementor-element-01e5c8a{margin:-10px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-281 .elementor-element.elementor-element-01e5c8a .elementor-image-box-title{margin-bottom:9px;font-size:30px;}.elementor-281 .elementor-element.elementor-element-01e5c8a .elementor-image-box-description{font-size:14px;}.elementor-281 .elementor-element.elementor-element-0f82cca .elementor-gallery-title{font-size:10px;}.elementor-281 .elementor-element.elementor-element-a720617{--justify-content:center;--gap:40px 40px;--row-gap:40px;--column-gap:40px;}.elementor-281 .elementor-element.elementor-element-eb80da1 .elementor-counter-number-wrapper{font-size:36px;}.elementor-281 .elementor-element.elementor-element-eb80da1 .elementor-counter-title{font-size:10px;}.elementor-281 .elementor-element.elementor-element-beeee9d .elementor-counter-number-wrapper{font-size:36px;}.elementor-281 .elementor-element.elementor-element-beeee9d .elementor-counter-title{font-size:10px;}.elementor-281 .elementor-element.elementor-element-69a2193 .elementor-counter-number-wrapper{font-size:36px;}.elementor-281 .elementor-element.elementor-element-69a2193 .elementor-counter-title{font-size:10px;}.elementor-281 .elementor-element.elementor-element-cfe5a2d .elementor-counter-number-wrapper{font-size:36px;}.elementor-281 .elementor-element.elementor-element-cfe5a2d .elementor-counter-title{font-size:10px;}.elementor-281 .elementor-element.elementor-element-b23f14f{margin:-10px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-281 .elementor-element.elementor-element-b23f14f .elementor-image-box-title{margin-bottom:9px;font-size:30px;}.elementor-281 .elementor-element.elementor-element-b23f14f .elementor-image-box-description{font-size:14px;}}/* Start custom CSS for gallery, class: .elementor-element-0f82cca *//* =========================================================
   JOSEPH GARCIA · GALLERY FILTER BAR
   Bordes a todo el ancho de la pantalla
   Scroll horizontal únicamente en móvil
   Sin scroll horizontal general
   ========================================================= */


/* =========================================================
   1. EVITAR DESBORDAMIENTO HORIZONTAL DE LA PÁGINA
   ========================================================= */

/*
 * Las líneas utilizan 100vw para atravesar toda la pantalla.
 * overflow-x: clip elimina los pocos píxeles adicionales
 * generados por la barra vertical del navegador.
 *
 * A diferencia de overflow: hidden, clip no crea un
 * contenedor de desplazamiento y no debería afectar sticky.
 */

html,
body {
  max-width: 100%;
  overflow-x: clip !important;
}


/* =========================================================
   2. CONTENEDOR EXTERIOR DE LA GALERÍA
   Clase: jg-gallery-section
   ========================================================= */

.jg-gallery-section {
  position: relative;

  width: 100%;
  max-width: 100%;
  min-width: 0;

  /*
   * No recortar aquí las líneas, porque este contenedor
   * puede estar limitado a 1140 px.
   */
  overflow: visible !important;
}


/* =========================================================
   3. CONFIGURACIÓN GENERAL DEL WIDGET
   Clase: jg-gallery-filter
   ========================================================= */

.jg-gallery-filter {
  /*
   * Altura del filter bar en escritorio.
   */
  --jg-filter-height: 88px;

  /*
   * Color de los bordes.
   */
  --jg-filter-line: #2f2722;

  position: relative;

  width: 100%;
  max-width: 100%;
  min-width: 0;

  overflow: visible !important;
}

.jg-gallery-filter > .elementor-widget-container {
  position: relative;

  width: 100%;
  max-width: 100%;
  min-width: 0;

  overflow: visible !important;
}


/* =========================================================
   4. BORDES SUPERIOR E INFERIOR FULL WIDTH
   ========================================================= */

/*
 * Las líneas parten desde el centro del widget y se
 * extienden al ancho completo de la ventana.
 *
 * No modifican el ancho del contenido de 1140 px.
 */

.jg-gallery-filter::before,
.jg-gallery-filter::after {
  content: "";

  position: absolute;
  left: 50%;

  width: 100vw;
  height: 1px;

  transform: translateX(-50%);

  background: var(--jg-filter-line);

  pointer-events: none;
  z-index: 2;
}


/* Línea superior */

.jg-gallery-filter::before {
  top: 0;
}


/* Línea inferior */

.jg-gallery-filter::after {
  top: calc(var(--jg-filter-height) - 1px);
}


/* =========================================================
   5. BARRA DE FILTROS · ESCRITORIO
   ========================================================= */

.jg-gallery-filter .elementor-gallery__titles-container {
  position: relative;
  z-index: 3;

  box-sizing: border-box;

  width: 100%;
  max-width: 100%;
  min-width: 0;

  /*
   * Esta altura determina la distancia entre los bordes.
   */
  height: var(--jg-filter-height);
  min-height: var(--jg-filter-height);

  /*
   * Los bordes se generan con pseudoelementos.
   */
  border-top: 0 !important;
  border-bottom: 0 !important;

  /*
   * Espaciado lateral interno.
   */
  padding: 0 24px;

  /*
   * Separación entre filtros y fotografías.
   */
  margin: 0 0 48px;

  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;

  align-items: center;
  justify-content: center;

  column-gap: clamp(24px, 2.8vw, 52px);
  row-gap: 0;

  /*
   * Evita que Elementor genere scroll interno en PC
   * después de seleccionar una categoría.
   */
  overflow-x: visible !important;
  overflow-y: visible !important;
}


/* =========================================================
   6. ELEMENTOS INDIVIDUALES DEL FILTRO
   ========================================================= */

.jg-gallery-filter .elementor-gallery-title {
  flex: 0 0 auto;

  margin: 0 !important;

  white-space: nowrap;
}


/* =========================================================
   7. CORRECCIÓN EXPLÍCITA PARA ESCRITORIO
   ========================================================= */

@media (min-width: 768px) {

  .jg-gallery-filter,
  .jg-gallery-filter > .elementor-widget-container,
  .jg-gallery-filter .elementor-gallery__titles-container {
    overflow-x: visible !important;
    overflow-y: visible !important;
  }

}


/* =========================================================
   8. VERSIÓN MÓVIL
   ========================================================= */

@media (max-width: 767px) {

  /* -------------------------------------------------------
     Widget
     ------------------------------------------------------- */

  .jg-gallery-filter {
    /*
     * Barra más compacta en móvil.
     */
    --jg-filter-height: 78px;

    width: 100%;
    max-width: 100%;
    min-width: 0;

    overflow: visible !important;
  }

  .jg-gallery-filter > .elementor-widget-container {
    width: 100%;
    max-width: 100%;
    min-width: 0;

    overflow: visible !important;
  }


  /* -------------------------------------------------------
     Filter bar horizontal con desplazamiento
     ------------------------------------------------------- */

  .jg-gallery-filter .elementor-gallery__titles-container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;

    justify-content: flex-start !important;
    align-items: center;

    box-sizing: border-box;

    width: 100%;
    max-width: 100%;
    min-width: 0;

    height: var(--jg-filter-height);
    min-height: var(--jg-filter-height);

    padding: 0 20px;

    margin: 0 0 28px;

    column-gap: 18px;
    row-gap: 0;

    /*
     * Scroll únicamente dentro de la barra.
     */
    overflow-x: auto !important;
    overflow-y: hidden !important;

    /*
     * Comportamiento táctil.
     */
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scroll-behavior: smooth;
    scroll-padding-inline: 20px;
    touch-action: pan-x;

    /*
     * Ocultar visualmente el scrollbar.
     */
    scrollbar-width: none;
    -ms-overflow-style: none;
  }


  /* Chrome, Safari y navegadores WebKit */

  .jg-gallery-filter
    .elementor-gallery__titles-container::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
  }


  /* -------------------------------------------------------
     Categorías individuales
     ------------------------------------------------------- */

  .jg-gallery-filter .elementor-gallery-title {
    flex: 0 0 auto !important;

    margin: 0 !important;

    white-space: nowrap;
  }

}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://josephgarciaph.com/wp-content/uploads/2026/07/Inter18pt-Regular.eot');
	src: url('https://josephgarciaph.com/wp-content/uploads/2026/07/Inter18pt-Regular.eot?#iefix') format('embedded-opentype'),
		url('https://josephgarciaph.com/wp-content/uploads/2026/07/Inter18pt-Regular.woff2') format('woff2'),
		url('https://josephgarciaph.com/wp-content/uploads/2026/07/Inter18pt-Regular.woff') format('woff'),
		url('https://josephgarciaph.com/wp-content/uploads/2026/07/Inter18pt-Regular.ttf') format('truetype'),
		url('https://josephgarciaph.com/wp-content/uploads/2026/07/Inter18pt-Regular.svg#Inter') format('svg');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Playfair Display';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://josephgarciaph.com/wp-content/uploads/2026/07/PlayfairDisplay-Regular.eot');
	src: url('https://josephgarciaph.com/wp-content/uploads/2026/07/PlayfairDisplay-Regular.eot?#iefix') format('embedded-opentype'),
		url('https://josephgarciaph.com/wp-content/uploads/2026/07/PlayfairDisplay-Regular.woff2') format('woff2'),
		url('https://josephgarciaph.com/wp-content/uploads/2026/07/PlayfairDisplay-Regular.woff') format('woff'),
		url('https://josephgarciaph.com/wp-content/uploads/2026/07/PlayfairDisplay-Regular.ttf') format('truetype'),
		url('https://josephgarciaph.com/wp-content/uploads/2026/07/PlayfairDisplay-Regular.svg#PlayfairDisplay') format('svg');
}
@font-face {
	font-family: 'Playfair Display';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://josephgarciaph.com/wp-content/uploads/2026/07/PlayfairDisplay-Medium.eot');
	src: url('https://josephgarciaph.com/wp-content/uploads/2026/07/PlayfairDisplay-Medium.eot?#iefix') format('embedded-opentype'),
		url('https://josephgarciaph.com/wp-content/uploads/2026/07/PlayfairDisplay-Medium.woff2') format('woff2'),
		url('https://josephgarciaph.com/wp-content/uploads/2026/07/PlayfairDisplay-Medium.woff') format('woff'),
		url('https://josephgarciaph.com/wp-content/uploads/2026/07/PlayfairDisplay-Medium.ttf') format('truetype'),
		url('https://josephgarciaph.com/wp-content/uploads/2026/07/PlayfairDisplay-Medium.svg#PlayfairDisplay') format('svg');
}
@font-face {
	font-family: 'Playfair Display';
	font-style: italic;
	font-weight: normal;
	font-display: auto;
	src: url('https://josephgarciaph.com/wp-content/uploads/2026/07/PlayfairDisplay-Italic.eot');
	src: url('https://josephgarciaph.com/wp-content/uploads/2026/07/PlayfairDisplay-Italic.eot?#iefix') format('embedded-opentype'),
		url('https://josephgarciaph.com/wp-content/uploads/2026/07/PlayfairDisplay-Italic.woff2') format('woff2'),
		url('https://josephgarciaph.com/wp-content/uploads/2026/07/PlayfairDisplay-Italic.woff') format('woff'),
		url('https://josephgarciaph.com/wp-content/uploads/2026/07/PlayfairDisplay-Italic.ttf') format('truetype'),
		url('https://josephgarciaph.com/wp-content/uploads/2026/07/PlayfairDisplay-Italic.svg#PlayfairDisplay') format('svg');
}
@font-face {
	font-family: 'Playfair Display';
	font-style: italic;
	font-weight: 500;
	font-display: auto;
	src: url('https://josephgarciaph.com/wp-content/uploads/2026/07/PlayfairDisplay-MediumItalic.eot');
	src: url('https://josephgarciaph.com/wp-content/uploads/2026/07/PlayfairDisplay-MediumItalic.eot?#iefix') format('embedded-opentype'),
		url('https://josephgarciaph.com/wp-content/uploads/2026/07/PlayfairDisplay-MediumItalic.woff2') format('woff2'),
		url('https://josephgarciaph.com/wp-content/uploads/2026/07/PlayfairDisplay-MediumItalic.woff') format('woff'),
		url('https://josephgarciaph.com/wp-content/uploads/2026/07/PlayfairDisplay-MediumItalic.ttf') format('truetype'),
		url('https://josephgarciaph.com/wp-content/uploads/2026/07/PlayfairDisplay-MediumItalic.svg#PlayfairDisplay') format('svg');
}
/* End Custom Fonts CSS */