/* ═══════════════════════════════════════
   Fotografos-Tinos Custom Overrides
   WISO Theme Customizations
   ═══════════════════════════════════════ */

/* Logo sizing */
.logo img {
    max-height: 55px;
    width: auto;
}

.logo-mobile .logo img {
    max-height: 40px;
}

.header_top_bg.only_logo .logo img {
    max-height: 60px;
}

.wiso-widget-copyright .img-wrap img {
    max-height: 50px;
    width: auto;
}

/* Z-index */
.z-index-1 {
  z-index: 1;
}

/* Active nav item styling */
.menu > .menu-item.current-menu-ancestor > a {
    opacity: 1;
}

/* Portfolio dropdown items */
.menu > .menu-item.current-menu-ancestor .sub-menu .current-menu-ancestor > a {
    opacity: 1;
    font-weight: 600;
}

/* Contact page info */
.contacts-info-wrap .content-item {
    margin-bottom: 15px;
}

.contacts-info-wrap .content-item .title {
    margin-bottom: 5px;
}

/* About page text */
.about-section-simple .description p {
    margin-bottom: 15px;
}

.about-section-simple .description blockquote {
    margin: 20px 0;
    font-style: italic;
}

/* Error pages */
.error404 .hero-inner {
    position: relative;
}

.error404 .hero-inner::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.28);
    pointer-events: none;
}

.error404 .vertical-align {
    position: relative;
    z-index: 1;
}

.error404 .bigtext {
    font-size: 120px;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 20px;
}

@media (max-width: 768px) {
    .error404 .bigtext {
        font-size: 80px;
    }
}

/* Portfolio headings below slider */
.portfolio-single-content .headings-wrap {
    text-align: center;
}


/* Ensure footer bottom bar flex alignment */
#footer .footer-bottom-wrap .flex-wrap {
    display: flex;
    align-items: center;
}

/* Fix preloader for Greek text */
.preloader-text span {
    text-transform: none;
}

/* Slider */
body .slick-slide {
    min-height: 250px;
}

body h1, body h2, body h3, body h4, body h5, body h6 {
  font-family: 'Playpen Sans', cursive;
}

/*---------------------- 19. PORTFOLIO MASONRY ----------------------*/
.grid,
.masonry {
  .social-list {
    margin-top: 20px;
    margin-bottom: 20px;
    text-align: right;

    li {
      &:last-of-type {
        margin-right: 0;
      }
    }
  }

  .col-4 {
    width: calc(25% - 90px / 4);
  }

  .col-3 {
    width: calc(100% / 3 - 20px);
  }

  .col-6 {
    width: calc(50% - 15px);
  }

  .caption {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(19, 19, 19, 0.3);
    color: #ffffff;
    font-family: "Playfair Display", sans-serif;
    font-size: 30px;
    letter-spacing: 1px;
  }

  .single-pagination {
    margin-bottom: 0;
  }
}

.masonry {
  .gallery-item {
    overflow: hidden;
    text-decoration: none;
    margin-bottom: 30px;

    &.default {
      &:hover {
        .caption {
          top: 0;
        }
      }

      .caption {
        top: 100%;
        transition: top .35s ease;
      }
    }
  }
}

.grid {
  .caption {
    pointer-events: none;
  }

  .gallery-item-wrap {
    overflow: hidden;
    text-decoration: none;
    margin-bottom: 30px;

    a {
      position: relative;
      display: block;
      margin-bottom: 0;
    }

    &.default {
      &:hover {
        .caption {
          top: 0;
        }
      }

      .caption {
        top: 100%;
        transition: top .35s ease;
      }
    }
  }

  .s-back-switch {
    -webkit-background-size: cover;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }

  .col-6 {
    .gallery-item {
      min-height: 500px;
    }
  }

  .col-3,
  .col-4 {
    .gallery-item {
      min-height: 300px;
    }
  }
}

@media only screen and (max-width: 991px) {
  .grid,
  .masonry {
    .col-4 {
      width: calc(50% - 15px);
    }
  }
}

@media only screen and (max-width: 768px) {
  .grid,
  .masonry {
    .gallery-item {
      margin-bottom: 15px;
    }

    .col-6,
    .col-4,
    .col-3 {
      width: 100%;
    }

    .caption {
      font-size: 24px;
    }

    .social-list {
      text-align: center;
    }
  }
  .grid {
    .col-6 {
      .gallery-item {
        min-height: 300px;
      }
    }
  }
}

/*Hover 1 - Zoom out*/
.masonry .light-gallery .gallery-item.hover1 img,
.grid .light-gallery .gallery-item.hover1 img {
  -webkit-filter: grayscale(0%);
  filter: grayscale(0%);
  width: 120%;
  height: 100%;
  -webkit-transform: scale(1.3);
  -ms-transform: scale(1.3);
  transform: scale(1.3);
  left: -10%;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

.grid .light-gallery .gallery-item.hover1:hover img,
.masonry .light-gallery .gallery-item.hover1:hover img {
  -webkit-filter: grayscale(0%);
  filter: grayscale(0%);
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

/*Hover 2 - Slide*/
.masonry .light-gallery .gallery-item.hover2 img {
  position: relative;
  -webkit-filter: grayscale(0%);
  filter: grayscale(0%);
  max-width: none;
  width: 120% !important;
  left: -20%;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

.masonry .light-gallery .gallery-item.hover2:hover img {
  -webkit-filter: grayscale(0%);
  filter: grayscale(0%);
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  left: 0%;
  width: 120%;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

.masonry .light-gallery .gallery-item.hover2 img {
  left: -7%;
}

/*Hover 3 - Rotate (+ zoom out)*/
.masonry .light-gallery .gallery-item.hover3 img {
  -webkit-filter: grayscale(0%);
  filter: grayscale(0%);
  -webkit-transform: rotate(15deg) scale(1.4);
  -ms-transform: rotate(15deg) scale(1.4);
  transform: rotate(15deg) scale(1.4);
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

.masonry .light-gallery .gallery-item.hover3:hover img {
  -webkit-filter: grayscale(0%);
  filter: grayscale(0%);
  -webkit-transform: rotate(0deg) scale(1);
  -ms-transform: rotate(0deg) scale(1);
  transform: rotate(0deg) scale(1);
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}


/*Hover 4 - Blur*/
.masonry .light-gallery .gallery-item.hover4 img {
  -webkit-filter: grayscale(0%) blur(3px);
  filter: grayscale(0%) blur(3px);
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

.masonry .light-gallery .gallery-item.hover4:hover img {
  -webkit-filter: grayscale(0%) blur(0px);
  filter: grayscale(0%) blur(0px);
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}


/*Hover 5 - Greyscale*/
.masonry .light-gallery .gallery-item.hover5 img {
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

.masonry .light-gallery .gallery-item.hover5:hover img {
  -webkit-filter: grayscale(0%);
  filter: grayscale(0%);
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

/*Hover 6 - Sepia*/
.masonry .light-gallery .gallery-item.hover6 img {
  -webkit-filter: sepia(100%) grayscale(0%);
  filter: sepia(100%) grayscale(0%);
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

.masonry .light-gallery .gallery-item.hover6:hover img {
  -webkit-filter: sepia(0%) grayscale(0%);
  filter: sepia(0%) grayscale(0%);
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}


/*Hover 7 - Blur + Greyscale*/
.masonry .light-gallery .gallery-item.hover7 img {
  -webkit-filter: blur(0px) grayscale(0%);
  filter: blur(0px) grayscale(0%);
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

.masonry .light-gallery .gallery-item.hover7:hover img {
  -webkit-filter: blur(3px) grayscale(100%);
  filter: blur(3px) grayscale(100%);
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}


/*Hover 8 - Opacity*/
.masonry .light-gallery .gallery-item.hover8 img {
  -webkit-filter: grayscale(0%);
  filter: grayscale(0%);
  opacity: 1;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

.masonry .light-gallery .gallery-item.hover8:hover img {
  -webkit-filter: grayscale(0%);
  filter: grayscale(0%);
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  opacity: 0.7;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

/*Hover 9 - Shine*/
@-webkit-keyframes shine {
  100% {
    left: 125%;
  }
}

@keyframes shine {
  100% {
    left: 125%;
  }
}

.masonry .light-gallery .gallery-item.hover9 img {
  -webkit-filter: grayscale(0%);
  filter: grayscale(0%);
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

.masonry .light-gallery .gallery-item.hover9::before {
  position: absolute;
  top: 0;
  left: -75%;
  z-index: 2;
  display: block;
  content: '';
  width: 50%;
  height: 100%;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 100%);
  -webkit-transform: skewX(-25deg);
  -ms-transform: skewX(-25deg);
  transform: skewX(-25deg);
}

.masonry .light-gallery .gallery-item.hover9 img:hover {
  -webkit-filter: grayscale(0%);
  filter: grayscale(0%);
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

.masonry .light-gallery .gallery-item.hover9:hover::before {
  -webkit-animation: shine .75s;
  animation: shine .75s;
}

/*Hover 1 - Zoom out*/
.grid .light-gallery .gallery-item-wrap.hover1 .gallery-item {
  -webkit-filter: grayscale(0%);
  filter: grayscale(0%);
  width: 120%;
  height: 100%;
  -webkit-transform: scale(1.3);
  -ms-transform: scale(1.3);
  transform: scale(1.3);
  left: -10%;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

.grid .light-gallery .gallery-item-wrap.hover1:hover .gallery-item {
  -webkit-filter: grayscale(0%);
  filter: grayscale(0%);
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

/*Hover 2 - Slide*/
.grid .light-gallery .gallery-item-wrap.hover2 .gallery-item {
  position: relative;
  -webkit-filter: grayscale(0%);
  filter: grayscale(0%);
  max-width: none;
  width: 120% !important;
  left: -20%;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

.grid .light-gallery .gallery-item-wrap.hover2:hover .gallery-item {
  -webkit-filter: grayscale(0%);
  filter: grayscale(0%);
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  left: 0%;
  width: 120%;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

.grid .light-gallery .gallery-item-wrap.hover2 .gallery-item {
  left: -7%;
}

/*Hover 3 - Rotate (+ zoom out)*/
.grid .light-gallery .gallery-item-wrap.hover3 .gallery-item {
  -webkit-filter: grayscale(0%);
  filter: grayscale(0%);
  -webkit-transform: rotate(15deg) scale(1.4);
  -ms-transform: rotate(15deg) scale(1.4);
  transform: rotate(15deg) scale(1.4);
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

.grid .light-gallery .gallery-item-wrap.hover3:hover .gallery-item {
  -webkit-filter: grayscale(0%);
  filter: grayscale(0%);
  -webkit-transform: rotate(0deg) scale(1);
  -ms-transform: rotate(0deg) scale(1);
  transform: rotate(0deg) scale(1);
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}


/*Hover 4 - Blur*/
.grid .light-gallery .gallery-item-wrap.hover4 .gallery-item {
  -webkit-filter: grayscale(0%) blur(3px);
  filter: grayscale(0%) blur(3px);
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

.grid .light-gallery .gallery-item-wrap.hover4:hover .gallery-item {
  -webkit-filter: grayscale(0%) blur(0px);
  filter: grayscale(0%) blur(0px);
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}


/*Hover 5 - Greyscale*/
.grid .light-gallery .gallery-item-wrap.hover5 .gallery-item {
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

.grid .light-gallery .gallery-item-wrap.hover5:hover .gallery-item {
  -webkit-filter: grayscale(0%);
  filter: grayscale(0%);
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

/*Hover 6 - Sepia*/
.grid .light-gallery .gallery-item-wrap.hover6 .gallery-item {
  -webkit-filter: sepia(100%) grayscale(0%);
  filter: sepia(100%) grayscale(0%);
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

.grid .light-gallery .gallery-item-wrap.hover6:hover .gallery-item {
  -webkit-filter: sepia(0%) grayscale(0%);
  filter: sepia(0%) grayscale(0%);
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}


/*Hover 7 - Blur + Greyscale*/
.grid .light-gallery .gallery-item-wrap.hover7 .gallery-item {
  -webkit-filter: blur(0px) grayscale(0%);
  filter: blur(0px) grayscale(0%);
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

.grid .light-gallery .gallery-item-wrap.hover7:hover .gallery-item {
  -webkit-filter: blur(3px) grayscale(100%);
  filter: blur(3px) grayscale(100%);
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}


/*Hover 8 - Opacity*/
.grid .light-gallery .gallery-item-wrap.hover8 .gallery-item {
  -webkit-filter: grayscale(0%);
  filter: grayscale(0%);
  opacity: 1;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

.grid .light-gallery .gallery-item-wrap.hover8:hover .gallery-item {
  -webkit-filter: grayscale(0%);
  filter: grayscale(0%);
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  opacity: 0.7;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

/*Hover 9 - Shine*/
@-webkit-keyframes shine {
  100% {
    left: 125%;
  }
}

@keyframes shine {
  100% {
    left: 125%;
  }
}

.grid .light-gallery .gallery-item-wrap.hover9 .gallery-item {
  -webkit-filter: grayscale(0%);
  filter: grayscale(0%);
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

.grid .light-gallery .gallery-item-wrap.hover9::before {
  position: absolute;
  top: 0;
  left: -75%;
  z-index: 2;
  display: block;
  content: '';
  width: 50%;
  height: 100%;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 100%);
  -webkit-transform: skewX(-25deg);
  -ms-transform: skewX(-25deg);
  transform: skewX(-25deg);
}

.grid .light-gallery .gallery-item-wrap.hover9 img:hover {
  -webkit-filter: grayscale(0%);
  filter: grayscale(0%);
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

body .preloader-text .text-wrap
{
    text-transform: none;
}

/* Fonts */
body {
  font-family: "Playpen Sans", cursive;
  font-optical-sizing: auto;
  font-style: normal;
}

body .headings.simple .title {
  font-family: "Playpen Sans", cursive;
}

body .headings.simple .subtitle {
  font-family: "Playpen Sans", cursive;
  font-weight: 400;
  font-style: normal;
}

body .headings.text_link .title,
body .headings.text_link .subtitle {
  font-family: "Playpen Sans", cursive;
}

body p {
  font-family: "Playpen Sans", cursive;
}

/* Nav */
body nav .socials {
  order: 3; 
}

body nav .socials  a {
  font-size: 28px;
  text-decoration: none;
}

@media (max-width: 991px) {
  body nav .socials {
    text-align: start;
    padding: 10px 45px;
  }
}

/* About us */
body .top-banner .content .title {
  font-family: "Playpen Sans", cursive;
}

body .top-banner {
  height: 750px;
}

body .about-section-simple .subtitle,
body .about-section-simple .title,
body .about-section-simple .description blockquote p {
  font-family: "Playpen Sans", cursive;
}

/* Services */
body .services.tile .item .text-wrap .title,
body .services.tile .item .text-wrap .text,
body .services-content .headings.classic_text .title,
body .services-content .headings.classic_text .subtitle {
  font-family: "Playpen Sans", cursive;
}

/* Footer */
body #footer {
  color: #ffffff;
}

#footer .wiso-widget-social-link a {
  margin-right: 10px;
  font-size: 18px;
}

body #footer .sidebar-item .item-wrap h3 {
  font-family: 'Playpen Sans', cursive !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  margin-bottom: 1.5rem;
}

body #footer .widget_text h5 {
  font-family: 'Playpen Sans', cursive;
  padding-bottom: 0;
  margin-bottom: 10px;
}

body #footer .content-item {
  margin-bottom: 20px;
}

body #footer .sidebar-item[class*="widget_"] a,
body #footer .sidebar-item[class*="widget_"] label,
body #footer .sidebar-item[class*="widget_"] p,
body #footer .sidebar-item[class*="widget_"] strong,
body #footer .sidebar-item[class*="widget_"] span,
body #footer .sidebar-item[class*="widget_"] caption {
  opacity: 1;
}
body #footer .footer-bottom-wrap {
  margin-top: 0;
}

body #footer .widg {
  padding-top: 80px;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
}

@media (max-width: 1024px) {
  body #footer .widg {
    padding-top: 40px;
  }
  body #topmenu .menu li.menu-item-has-children i.ion-ios-arrow-down {
    top: 0px;
    right: 20px;
    cursor: pointer;
    padding: 15px;
  }
}

body #footer .wiso-widget-copyright .img-wrap {
  margin-bottom: 0;
}

body #footer .wiso-widget-copyright .img-wrap img {
  width: 120px;
  height: auto;
  max-height: unset;
}

@media screen and (max-width: 1024px) {
  body #footer p.intro {
    padding-right: 2rem;
  }
  body #footer .footer-bottom-wrap .flex-wrap .copyright {
    order: 2;
  } 
  body #footer .footer-menu-wrap.text-right ul {
    margin-bottom: 30px;
    justify-content: center;
    display: flex;
    gap: 15px;
  }
  body #footer .footer-menu-wrap.text-right ul li:not(:first-of-type) {
    margin-left: 0;
  }
}

body #footer .footer-bottom-wrap .flex-wrap {
  max-width: unset;
}

body #footer .wiso-widget-copyright .socials a {
  font-size: 32px;
}

body #footer .footer-bottom-wrap .flex-wrap .copyright {
  font-size: 12px;
}

/* Contact page */

.contacts-info-wrap.parallax_info .text {
  font-family: 'Playpen Sans', cursive;
}

body .contacts-info-wrap .email-wrap a,
body .contacts-info-wrap .email-wrap .fa {
  text-decoration: none;
  font-size: 21px;
}

/* Contact form feedback */
.contact-feedback {
  margin-bottom: 30px;
  padding: 20px 25px;
  border-radius: 4px;
  background: #424242;
  border: 1px solid #2f2f2f;
  color: #fff;
  font-size: 15px;
  line-height: 1.6;
}

.contact-feedback--success {
  background: #2e7d32;
  border: 1px solid #1b5e20;
}

.contact-feedback--error {
  background: #c62828;
  border: 1px solid #8e0000;
}

.contact-alt a {
  color: #fff;
  text-decoration: underline;
}

.contact-alt-socials a {
  font-size: 20px;
  margin-right: 15px;
  color: #fff;
  text-decoration: none;
}

.contact-alt-socials a:hover {
  opacity: 0.7;
}

/* Home portfolio */
.tg-item .tg-light div,
.tg-item .tg-light h1,
.tg-item .tg-light h1 a,
.tg-item .tg-light h2,
.tg-item .tg-light h2 a,
.tg-item .tg-light h3,
.tg-item .tg-light h3 a,
.tg-item .tg-light h4,
.tg-item .tg-light h4 a,
.tg-item .tg-light h5,
.tg-item .tg-light h5 a,
.tg-item .tg-light h6,
.tg-item .tg-light h6 a,
.tg-item .tg-light a,
.tg-item .tg-light a.tg-link-url,
.tg-item .tg-light i,
.tg-item .tg-light .tg-media-button,
.tg-item .tg-light .tg-item-price span {
  color: #ffffff !important;
}
body #grid-3158 .tg-item-media-content:hover .tg-item-overlay {
  background-color: rgba(22,22,22,0.65) !important;
}
body #grid-3158 .tg-item-media-content .tg-element-3 {
  visibility: hidden;
  opacity: 0;
  transform: translateY(10px) scale(0.98);
  transition: opacity 260ms ease, transform 320ms cubic-bezier(0.22, 1, 0.36, 1), visibility 0s linear 320ms;
}
body #grid-3158 .tg-item-media-content:hover .tg-element-3 {
  visibility: visible;
  opacity: 1;
  transform: translateY(0) scale(1);
  transition: opacity 260ms ease, transform 320ms cubic-bezier(0.22, 1, 0.36, 1), visibility 0s linear 0s;
}
body .headings.classic_text .title,
body .headings.classic_text .subtitle,
body .tg-iso-2 .tg-element-1,
body .tg-iso-2 .tg-element-2 {
  font-family: "Playpen Sans", cursive;
}
body #grid-3158 .tg-item .tg-center-holder {
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: none;
}
body #grid-3158 .tg-item .tg-center-inner {
  width: 100%;
  height: 100%;
}
body #grid-3158 .tg-item .tg-element-3 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 0;
  line-height: 1;
}

/* Wedding album header */
.wedding-album .wedding-album-meta {
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 600;
  line-height: 2em;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #999999;
}
.wedding-album .wedding-album-projects {
  clear: both;
  padding-top: 40px;
  padding-bottom: 70px;
}
.wedding-album .wedding-album-projects .a-btn-3 {
  font-family: "Playpen Sans", cursive;
}

/* Make the whole previous/next block the link, not only its label */
.single-pagination > div.pag-prev,
.single-pagination > div.pag-next {
  position: relative;
  cursor: pointer;
}
body .single-pagination > div.pag-prev a.content,
body .single-pagination > div.pag-next a.content {
  position: static;
}
body .single-pagination > div.pag-prev a.content::after,
body .single-pagination > div.pag-next a.content::after,
body .single-pagination > div.pag-prev a.content:hover::after,
body .single-pagination > div.pag-next a.content:hover::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}

/* Spacing — BS4/5-style utilities in rem (theme Bootstrap 3 has none) */
:root {
  --sp-0: 0;
  --sp-1: 0.25rem;
  --sp-2: 0.5rem;
  --sp-3: 1rem;
  --sp-4: 1.5rem;
  --sp-5: 3rem;
}

.m-0 { margin: var(--sp-0) !important; }
.m-1 { margin: var(--sp-1) !important; }
.m-2 { margin: var(--sp-2) !important; }
.m-3 { margin: var(--sp-3) !important; }
.m-4 { margin: var(--sp-4) !important; }
.m-5 { margin: var(--sp-5) !important; }

.mt-0 { margin-top: var(--sp-0) !important; }
.mt-1 { margin-top: var(--sp-1) !important; }
.mt-2 { margin-top: var(--sp-2) !important; }
.mt-3 { margin-top: var(--sp-3) !important; }
.mt-4 { margin-top: var(--sp-4) !important; }
.mt-5 { margin-top: var(--sp-5) !important; }

.mr-0 { margin-right: var(--sp-0) !important; }
.mr-1 { margin-right: var(--sp-1) !important; }
.mr-2 { margin-right: var(--sp-2) !important; }
.mr-3 { margin-right: var(--sp-3) !important; }
.mr-4 { margin-right: var(--sp-4) !important; }
.mr-5 { margin-right: var(--sp-5) !important; }

.mb-0 { margin-bottom: var(--sp-0) !important; }
.mb-1 { margin-bottom: var(--sp-1) !important; }
.mb-2 { margin-bottom: var(--sp-2) !important; }
.mb-3 { margin-bottom: var(--sp-3) !important; }
.mb-4 { margin-bottom: var(--sp-4) !important; }
.mb-5 { margin-bottom: var(--sp-5) !important; }

.ml-0 { margin-left: var(--sp-0) !important; }
.ml-1 { margin-left: var(--sp-1) !important; }
.ml-2 { margin-left: var(--sp-2) !important; }
.ml-3 { margin-left: var(--sp-3) !important; }
.ml-4 { margin-left: var(--sp-4) !important; }
.ml-5 { margin-left: var(--sp-5) !important; }

.p-0 { padding: var(--sp-0) !important; }
.p-1 { padding: var(--sp-1) !important; }
.p-2 { padding: var(--sp-2) !important; }
.p-3 { padding: var(--sp-3) !important; }
.p-4 { padding: var(--sp-4) !important; }
.p-5 { padding: var(--sp-5) !important; }

.pt-0 { padding-top: var(--sp-0) !important; }
.pt-1 { padding-top: var(--sp-1) !important; }
.pt-2 { padding-top: var(--sp-2) !important; }
.pt-3 { padding-top: var(--sp-3) !important; }
.pt-4 { padding-top: var(--sp-4) !important; }
.pt-5 { padding-top: var(--sp-5) !important; }

.pr-0 { padding-right: var(--sp-0) !important; }
.pr-1 { padding-right: var(--sp-1) !important; }
.pr-2 { padding-right: var(--sp-2) !important; }
.pr-3 { padding-right: var(--sp-3) !important; }
.pr-4 { padding-right: var(--sp-4) !important; }
.pr-5 { padding-right: var(--sp-5) !important; }

.pb-0 { padding-bottom: var(--sp-0) !important; }
.pb-1 { padding-bottom: var(--sp-1) !important; }
.pb-2 { padding-bottom: var(--sp-2) !important; }
.pb-3 { padding-bottom: var(--sp-3) !important; }
.pb-4 { padding-bottom: var(--sp-4) !important; }
.pb-5 { padding-bottom: var(--sp-5) !important; }

.pl-0 { padding-left: var(--sp-0) !important; }
.pl-1 { padding-left: var(--sp-1) !important; }
.pl-2 { padding-left: var(--sp-2) !important; }
.pl-3 { padding-left: var(--sp-3) !important; }
.pl-4 { padding-left: var(--sp-4) !important; }
.pl-5 { padding-left: var(--sp-5) !important; }

.ml-auto { margin-left: auto !important; }
.mr-auto { margin-right: auto !important; }

/* Display / visibility utilities (Bootstrap-like) */
.d-none { display: none !important; }
.d-inline { display: inline !important; }
.d-inline-block { display: inline-block !important; }
.d-block { display: block !important; }
.d-flex { display: flex !important; }
.d-inline-flex { display: inline-flex !important; }

.visible { visibility: visible !important; }
.invisible { visibility: hidden !important; }

@media (min-width: 576px) {
  .d-sm-none { display: none !important; }
  .d-sm-inline { display: inline !important; }
  .d-sm-inline-block { display: inline-block !important; }
  .d-sm-block { display: block !important; }
  .d-sm-flex { display: flex !important; }
  .d-sm-inline-flex { display: inline-flex !important; }
}

@media (min-width: 768px) {
  .d-md-none { display: none !important; }
  .d-md-inline { display: inline !important; }
  .d-md-inline-block { display: inline-block !important; }
  .d-md-block { display: block !important; }
  .d-md-flex { display: flex !important; }
  .d-md-inline-flex { display: inline-flex !important; }
}

@media (min-width: 992px) {
  .d-lg-none { display: none !important; }
  .d-lg-inline { display: inline !important; }
  .d-lg-inline-block { display: inline-block !important; }
  .d-lg-block { display: block !important; }
  .d-lg-flex { display: flex !important; }
  .d-lg-inline-flex { display: inline-flex !important; }
}

@media (min-width: 1200px) {
  .d-xl-none { display: none !important; }
  .d-xl-inline { display: inline !important; }
  .d-xl-inline-block { display: inline-block !important; }
  .d-xl-block { display: block !important; }
  .d-xl-flex { display: flex !important; }
  .d-xl-inline-flex { display: inline-flex !important; }
}

/* ═══════════════════════════════════════
   Styleguide Page
   ═══════════════════════════════════════ */
.styleguide-page {
  padding-bottom: 40px;
}

.styleguide-section {
  margin-bottom: 60px;
  padding-top: 30px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.styleguide-section__title {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 30px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.styleguide-swatch {
  width: 100%;
  height: 80px;
  border-radius: 6px;
  margin-bottom: 8px;
}

.styleguide-swatch__label {
  font-size: 13px;
  line-height: 1.4;
}

.styleguide-info-box {
  background: #f8f8f8;
  border: 1px solid #eee;
  border-radius: 6px;
  padding: 20px;
}

.styleguide-info-box h5 {
  font-weight: 700;
  margin-bottom: 6px;
}

.styleguide-grid-col {
  background: #f0f0f0;
  border: 1px solid #ddd;
  padding: 12px;
  text-align: center;
  font-size: 13px;
  border-radius: 4px;
  margin-bottom: 8px;
}

.styleguide-icon-list {
  list-style: none;
  padding-left: 0;
}

.styleguide-icon-list li {
  padding: 6px 0;
}

.styleguide-icon-list li i {
  width: 24px;
  text-align: center;
  margin-right: 8px;
}

.styleguide-icon-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.styleguide-icon-grid span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #f8f8f8;
  border: 1px solid #eee;
  border-radius: 4px;
  padding: 8px 14px;
  font-size: 13px;
}

.styleguide-icon-grid span i {
  font-size: 18px;
  width: 22px;
  text-align: center;
}

.styleguide-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.styleguide-table th,
.styleguide-table td {
  padding: 10px 14px;
  text-align: left;
  border-bottom: 1px solid #eee;
}

.styleguide-table th {
  font-weight: 700;
  background: #f8f8f8;
}

.styleguide-page .lead {
  font-size: 18px;
  line-height: 1.7;
  margin-bottom: 20px;
}

.styleguide-page hr {
  border: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  margin: 30px 0;
}

.styleguide-page blockquote {
  border-left: 3px solid #131313;
  padding-left: 20px;
  margin: 20px 0;
  font-style: italic;
}

.styleguide-page code {
  background: #f0f0f0;
  padding: 2px 6px;
  border-radius: 3px;
  font-size: 13px;
}

/* ═══════════════════════════════════════
   Sitemap Page
   ═══════════════════════════════════════ */
.sitemap-page {
  padding-bottom: 40px;
}

.sitemap-heading {
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 12px;
}

.sitemap-list {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}

.sitemap-list li {
  padding: 5px 0;
  font-size: 14px;
}

.sitemap-list li a {
  text-decoration: none;
  color: inherit;
  transition: opacity 0.2s ease;
}

.sitemap-list li a:hover {
  opacity: 0.6;
}

.sitemap-list li i {
  width: 20px;
  text-align: center;
  margin-right: 6px;
  font-size: 13px;
  opacity: 0.5;
}