.elementor-1630 .elementor-element.elementor-element-6da9dac{--display:flex;--min-height:78vh;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:flex-end;--gap:0px 60px;--row-gap:0px;--column-gap:60px;--padding-top:0px;--padding-bottom:90px;--padding-left:0px;--padding-right:0px;}.elementor-1630 .elementor-element.elementor-element-6da9dac:not(.elementor-motion-effects-element-type-background), .elementor-1630 .elementor-element.elementor-element-6da9dac > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-1630 .elementor-element.elementor-element-62a460e{width:var( --container-widget-width, 45% );max-width:45%;--container-widget-width:45%;--container-widget-flex-grow:0;}.elementor-1630 .elementor-element.elementor-element-62a460e .elementor-heading-title{font-family:"Philosopher", Sans-serif;font-size:30px;font-weight:500;line-height:1.3em;color:#FFFFFF;}.elementor-1630 .elementor-element.elementor-element-9c343c0{width:var( --container-widget-width, 45% );max-width:45%;--container-widget-width:45%;--container-widget-flex-grow:0;text-align:end;}.elementor-1630 .elementor-element.elementor-element-9c343c0 .elementor-heading-title{font-family:"Philosopher", Sans-serif;font-size:20px;font-weight:500;line-height:1.3em;color:#FFFFFF;}.elementor-1630 .elementor-element.elementor-element-c1b3380{--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;--padding-top:90px;--padding-bottom:90px;--padding-left:0px;--padding-right:0px;}.elementor-widget-theme-post-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-1630 .elementor-element.elementor-element-97aa93d{text-align:justify;font-family:"Overpass", Sans-serif;font-size:14px;font-weight:300;line-height:1.6em;}@media(min-width:768px){.elementor-1630 .elementor-element.elementor-element-6da9dac{--content-width:90%;}.elementor-1630 .elementor-element.elementor-element-c1b3380{--content-width:800px;}}@media(max-width:1024px) and (min-width:768px){.elementor-1630 .elementor-element.elementor-element-c1b3380{--content-width:90%;}}@media(max-width:1024px){.elementor-1630 .elementor-element.elementor-element-6da9dac{--padding-top:0px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-1630 .elementor-element.elementor-element-62a460e{--container-widget-width:80%;--container-widget-flex-grow:0;width:var( --container-widget-width, 80% );max-width:80%;}.elementor-1630 .elementor-element.elementor-element-c1b3380{--padding-top:70px;--padding-bottom:70px;--padding-left:0px;--padding-right:0px;}}@media(max-width:767px){.elementor-1630 .elementor-element.elementor-element-6da9dac{--content-width:90%;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-1630 .elementor-element.elementor-element-62a460e{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-1630 .elementor-element.elementor-element-62a460e.elementor-element{--align-self:flex-end;}.elementor-1630 .elementor-element.elementor-element-62a460e .elementor-heading-title{font-size:27px;}.elementor-1630 .elementor-element.elementor-element-9c343c0{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;text-align:start;}.elementor-1630 .elementor-element.elementor-element-9c343c0.elementor-element{--align-self:flex-end;}.elementor-1630 .elementor-element.elementor-element-c1b3380{--content-width:90%;--padding-top:40px;--padding-bottom:70px;--padding-left:0px;--padding-right:0px;}.elementor-1630 .elementor-element.elementor-element-97aa93d{font-size:14px;}}/* Start custom CSS for theme-post-content, class: .elementor-element-97aa93d */.blog-cnt a{
        font-family: "Overpass", Sans-serif;

}
.gallery{
        width: 90vw;
    max-width: 90vw;

    position: relative;
    left: 50%;

    transform: translateX(-50%);
}
.post-template-post-style1 .gallery {
    gap: 15px;
}
.post-template-post-style2 .gallery {
    gap: 0px;
}
.post-template-post-style1 .gallery dl.gallery-item:nth-of-type(7n + 4),
.post-template-post-style2 .gallery dl.gallery-item:nth-of-type(7n + 4) {
    margin-top: 0px !important;
}
.post-template-post-style1 .gallery .gallery-item {
    height: 492px !important;
}
.post-template-post-style2 .gallery .gallery-item {
    height: 500px !important;
}
.post-template-post-style1 .gallery dl.gallery-item:nth-of-type(7n + 1), .post-template-post-style1 .gallery dl.gallery-item:nth-of-type(7n + 4), .post-template-post-style1 .gallery dl.gallery-item:nth-of-type(7n + 5), .post-template-post-style1 .gallery dl.gallery-item:nth-of-type(7n + 6), .post-template-post-style1 .gallery dl.gallery-item:nth-of-type(7n + 7) {
    margin-bottom: 0px !important;
}
.post-template-post-style2 .gallery dl.gallery-item:nth-of-type(7n + 1), .post-template-post-style2 .gallery dl.gallery-item:nth-of-type(7n + 4), .post-template-post-style2 .gallery dl.gallery-item:nth-of-type(7n + 5), .post-template-post-style2 .gallery dl.gallery-item:nth-of-type(7n + 6), .post-template-post-style2 .gallery dl.gallery-item:nth-of-type(7n + 7) {
    margin-bottom: 0px !important;
}
.gallery {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 30px;
    /* grid-auto-rows dihapus agar tinggi row bisa diatur oleh item */
  }

  /* Bersihkan elemen bawaan gallery WP */
  .gallery br,
  .gallery::before,
  .gallery::after {
    display: none !important;
  }

  .gallery .gallery-item {
    float: none !important;
    width: 100% !important;
    height: 465px !important;
    /* Tinggi fix untuk item kecil (1x1) */
    margin: 0 !important;
    display: block;
  }

  .gallery .gallery-item dt,
  .gallery .gallery-item a {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
  }

  .gallery .gallery-item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    display: block;
    border: none !important;
    padding: 0 !important;
  }

  /* --- POLA GRID BERDASARKAN GAMBAR REFERENSI --- */

  /* Item 1: Kiri atas (Besar, 2x2) */
  .gallery dl.gallery-item:nth-of-type(7n + 1) {
    grid-column: span 2;
    grid-row: span 2;
    height: 1000px !important;
    /* (250px * 2 baris) + 20px gap = 520px */
  }

  /* Item 2 & 3: Kanan atas (Potret kecil, 1x1) */
  .gallery dl.gallery-item:nth-of-type(7n + 2),
  .gallery dl.gallery-item:nth-of-type(7n + 3) {
    grid-column: span 1;
    grid-row: span 1;
  }

  /* Item 4: Kanan tengah (Landscape, di bawah item 2 & 3) */
  .gallery dl.gallery-item:nth-of-type(7n + 4) {
    grid-column: span 2;
    grid-row: span 1;
  }

  /* Item 5: Kiri bawah (Landscape lebar) */
  .gallery dl.gallery-item:nth-of-type(7n + 5) {
    grid-column: span 2;
    grid-row: span 1;
  }

  /* Item 6 & 7: Kanan bawah (Potret kecil) */
  .gallery dl.gallery-item:nth-of-type(7n + 6),
  .gallery dl.gallery-item:nth-of-type(7n + 7) {
    grid-column: span 1;
    grid-row: span 1;
  }

  /* --- SPACER 60px --- */
  /* Kita menambahkan margin-bottom: 40px pada item yang berada di akhir blok. 
     40px margin + 20px bawaan grid gap = 60px space persis seperti garis merah! */
  .gallery dl.gallery-item:nth-of-type(7n + 1),
  /* Akhir blok kiri atas */
  .gallery dl.gallery-item:nth-of-type(7n + 4),
  /* Akhir blok kanan tengah */
  .gallery dl.gallery-item:nth-of-type(7n + 5),
  /* Akhir blok kiri bawah */
  .gallery dl.gallery-item:nth-of-type(7n + 6),
  /* Akhir blok kanan bawah */
  .gallery dl.gallery-item:nth-of-type(7n + 7) {
    margin-bottom: 40px !important;
  }

  .gallery dl.gallery-item:nth-of-type(7n + 4) {
    margin-top: 40px !important;
  }

  /* Sembunyikan caption agar tidak merusak grid yang proporsional */
  .gallery .gallery-caption {
    display: none !important;
  }

  /* Responsive (opsional, jika dibuka di HP) */
  @media (max-width: 560px) {
        .gallery dl.gallery-item:nth-of-type(7n + 1),
  /* Akhir blok kiri atas */
  .gallery dl.gallery-item:nth-of-type(7n + 4),
  /* Akhir blok kanan tengah */
  .gallery dl.gallery-item:nth-of-type(7n + 5),
  /* Akhir blok kiri bawah */
  .gallery dl.gallery-item:nth-of-type(7n + 6),
  /* Akhir blok kanan bawah */
  .gallery dl.gallery-item:nth-of-type(7n + 7) {
    margin-bottom: 0px !important;
  }
    .gallery {
      grid-template-columns: repeat(2, 1fr) !important;
    }

    .gallery .gallery-item,
    .post-template-post-style1 .gallery .gallery-item,
    .post-template-post-style2 .gallery .gallery-item{
      height: 200px !important;
      margin-bottom: 0px !important;
      /* kurangi space di mobile agar tidak terlalu jauh */
    }

    .gallery dl.gallery-item:nth-of-type(n) {
      grid-column: span 1;
      grid-row: span 1;
    }

    /* Buat item pertama tetap besar di HP */
    .gallery dl.gallery-item:nth-of-type(7n + 1) {
      grid-column: span 2;
      grid-row: span 2;
      height: 420px !important;
      /* 200 * 2 + 20 */
    }
      .gallery dl.gallery-item:nth-of-type(7n + 4) {
      margin-top: 0px !important;
    }
 
  }/* End custom CSS */