/* =========================
   ANIMATIONS (Fade Up)
========================= */

.fade-up {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade-up.show {
  opacity: 1;
  transform: translateY(0);
}

/* Delays */
.delay-1 { transition-delay: 0.12s; }
.delay-2 { transition-delay: 0.24s; }
.delay-3 { transition-delay: 0.36s; }
/* =========================
   WORK CARDS HOVER
========================= */

.work-card {
  transition: transform 0.28s ease, box-shadow 0.28s ease, background-color 0.28s ease;
  background-color: #ffffff;
}

.work-card:hover {
  transform: translateY(-4px) scale(1.015);
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.06);
  background-color: #ecf2f3; /* subtle change */
}
/* Fade Up Animation */
.fade-up {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.55s ease, transform 0.55s ease;
}

.fade-up.show {
  opacity: 1;
  transform: translateY(0);
}

/* Delays */
.delay-1 { transition-delay: 0.1s; }
.delay-2 { transition-delay: 0.2s; }
.delay-3 { transition-delay: 0.3s; }
.cta-link {
  position: relative;
  transition: color 0.25s ease;
}

.cta-link {
  position: relative;
  display: inline-block;
  font-weight: 500;
  color: #1f2937; /* base color (dark) */
  transition: color 0.25s ease;
}

/* Arrow */
.cta-link::after {
  content: "→";
  display: inline-block;
  margin-left: 6px;
  transition: transform 0.25s ease;
}

/* Hover */
.cta-link:hover {
  color: #2563eb !important; /* force override */
}

.cta-link:hover::after {
  transform: translateX(4px);
}
.cta-button:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.15);
  filter: brightness(1.05);
}
/* Testimonial wrappers */
.testimonial-item {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
  margin-bottom: 40px;
}

/* Quote */
.testimonial {
  font-size: 18px;
  line-height: 1.65;
  color: #111827;
}

/* Author */
.testimonial-author {
  margin-top: 12px;
  font-size: 14px;
  line-height: 1.5;
  color: #6b7280;
}

/* Optional proof link */
.testimonial-link {
  display: inline-block;
  margin-top: 10px;
  font-size: 14px;
  font-weight: 500;
  color: #2563eb;
  text-decoration: none;
  transition: color 0.25s ease;
}

.testimonial-link:hover {
  color: #1d4ed8;
}
/* =========================
   /* =========================================
   WORK PAGE — SCROLL ANIMATION (FRONT-END ONLY)
========================================= */

/* Hide + prepare animation (front-end only) */
body:not(.wp-admin) .fade-up {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.55s ease, transform 0.55s ease;
  will-change: opacity, transform;
}

/* When visible */
body:not(.wp-admin) .fade-up.show {
  opacity: 1;
  transform: translateY(0);
}

/* Stagger delays */
body:not(.wp-admin) .delay-1 { transition-delay: 0.10s; }
body:not(.wp-admin) .delay-2 { transition-delay: 0.20s; }
body:not(.wp-admin) .delay-3 { transition-delay: 0.30s; }


/* =========================================
   WORK PAGE — PROJECT CARD (CLEAN HOVER)
========================================= */

.work-card {
	display: flex;
  flex-direction: column;
  justify-content: flex-start;
  background-color: #ffffff;
  transition:
    transform 0.28s ease,
    box-shadow 0.28s ease,
    background-color 0.28s ease;
  will-change: transform, box-shadow;
}

/* Hover effect */
.work-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.06);
  background-color: #f9fafb;
}
.fade-up {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.55s ease, transform 0.55s ease;
}

.fade-up.show {
  opacity: 1;
  transform: translateY(0);
}

/* Force visible in editor */
.interface-interface-skeleton__content .fade-up,
.editor-styles-wrapper .fade-up,
.block-editor-page .fade-up,
.is-root-container .fade-up {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}
/* Parent */
.mockup-wrapper {
  position: relative;
  overflow: visible;
  padding-bottom: 50px;
}

/* Cover image */
.mockup-wrapper .cover-img img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  border-radius: 18px;
  display: block;
}

/* Slideshow */
.mockup-slider {
  position: absolute;
  left: 20%;
  bottom: -50px; /* slight overlap */
  transform: translateX(-50%);
  
  width: 58%; /* 👈 smaller = less intrusive */
  max-width: 280px;

  z-index: 10;
  border-radius: 14px;
  overflow: hidden;

  box-shadow: 0 14px 35px rgba(0,0,0,0.18);
}
/* =========================
   MOBILE FIX
========================= */

@media (max-width: 768px) {

  /* Cover image */
  .mockup-wrapper .cover-img img {
    height: 220px; /* smaller for mobile */
    border-radius: 14px;
  }

  /* Slider */
  .mockup-slider {
    left: 50%;
    bottom: -25px; /* reduce overlap */
    transform: translateX(-50%);

    width: 80%;
    max-width: 240px;

    border-radius: 12px;
  }
}
@media (max-width: 768px) {
  .mockup-slider {
    left: 50%;
    bottom: -25px; /* less overlap for mobile */
    transform: translateX(-50%);
    
    width: 80%; /* bigger relative, better visibility */
    max-width: 240px;

    border-radius: 12px;
  }
}
/* Campagin Slideshow */
/* Slideshow overlay */
.mockup-Campaign-slider {
  position: absolute;
  left: 20%;
  bottom: -35px;
  transform: translateX(-50%);
  width: 50%;
  max-width: 350px;
  z-index: 10;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 14px 35px rgba(0,0,0,0.18);
}
.mockup-slider:hover {
  transform: translateX(-50%) translateY(-4px);
  transition: 0.3s ease;
}
/* Kill ALL pagination for that slider */
.mockup-Campaign-slider .swiper-pagination {
  display: none !important;
}
@media (max-width: 768px) {
  .hero-header {
    font-size: 24px;
  }
}
/* Fix service cards typography + spacing */
@media (max-width: 1024px) {
  .wp-block-column h2,
  .wp-block-column h3 {
    font-size: 30px !important;
    line-height: 1.12 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  .wp-block-columns {
    gap: 24px !important;
  }
}

@media (max-width: 768px) {
  .wp-block-columns {
    flex-direction: column !important;
    gap: 24px !important;
  }

  .wp-block-column {
    flex-basis: 100% !important;
    width: 100% !important;
    padding: 24px !important;
  }

  .wp-block-column h2,
  .wp-block-column h3 {
    font-size: 26px !important;
    line-height: 1.15 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  .wp-block-column p {
    font-size: 16px !important;
    line-height: 1.6 !important;
  }
}
/* Smooth Scrolling */
html {
  scroll-behavior: smooth;
}
/* =========================================
   HEADER NAVIGATION — HOVER + ACTIVE STATE
========================================= */

.wp-block-navigation a {
  transition: color 0.25s ease;
}

/* Hover */
.wp-block-navigation a:hover {
  color: #b8955a !important;
}

/* Current page */
.wp-block-navigation .current-menu-item > a,
.wp-block-navigation .current-menu-ancestor > a,
.wp-block-navigation-item.current-menu-item > a {
  color: #b8955a !important;
}

/* Keyboard accessibility */
.wp-block-navigation a:focus-visible {
  color: #b8955a !important;
  outline: 2px solid #b8955a;
  outline-offset: 4px;
}
-------------------------------------
/* Testimonial Fade Slider — Stable Gutenberg Version */

.gita-testimonials-slider {
  width: 100%;
  max-width: 820px;
  margin: 40px auto 20px;
  padding: 20px 24px;
  text-align: center;
}

/* Slides occupy the same grid space without escaping the section */
.gita-testimonials-slider {
  display: grid;
  grid-template-columns: 1fr;
}

.gita-testimonial {
  grid-column: 1;
  grid-row: 1;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(8px);

  transition:
    opacity 0.8s ease,
    transform 0.8s ease,
    visibility 0.8s ease;
}

.gita-testimonial.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.gita-testimonial-stars {
	 color: #B8955A;
  margin-bottom: 22px;
  font-size: 17px;
  line-height: 1;
  letter-spacing: 4px;
}

.gita-testimonial-quote {
  width: 100%;
  max-width: 640px;
  margin: 0 auto 28px;
  padding: 0;
  border: 0;

  font-size: clamp(18px, 1.8vw, 24px);
  line-height: 1.55;
  font-weight: 400;
  text-align: center;
}

.gita-testimonial-photo {
  display: block;
  width: 76px;
  height: 76px;
  margin: 0 auto 14px;
  border-radius: 50%;
  object-fit: cover;
}

.gita-testimonial-details {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}

.gita-testimonial-details strong {
  font-size: 20px;
  line-height: 1.3;
  font-weight: 700;
}

.gita-testimonial-details span {
  font-size: 16px;
  line-height: 1.5;
  opacity: 0.68;
}

/* Dots stay below the testimonial */
.gita-testimonial-dots {
  grid-column: 1;
  grid-row: 2;

  display: flex;
  justify-content: center;
  align-items: center;
  gap: 9px;

  margin-top: 28px;
}

.gita-testimonial-dot {
  width: 8px;
  height: 8px;
  min-width: 8px;
  padding: 0;
  border: 0;
  border-radius: 50%;

  background: currentColor;
  opacity: 0.25;
  cursor: pointer;

  transition:
    width 0.3s ease,
    opacity 0.3s ease;
}

.gita-testimonial-dot.is-active {
  width: 24px;
  border-radius: 20px;
  opacity: 0.85;
}

@media (max-width: 767px) {
  .gita-testimonials-slider {
    margin-top: 25px;
    padding: 15px 18px;
  }

  .gita-testimonial-quote {
    font-size: 19px;
    line-height: 1.55;
  }

  .gita-testimonial-photo {
    width: 68px;
    height: 68px;
  }

  .gita-testimonial-details strong {
    font-size: 18px;
  }

  .gita-testimonial-details span {
    font-size: 14px;
  }
}
---------------------------------------
/* About Page — Refined Capability Grid */

.gm-capabilities {
    box-sizing: border-box;
    width: 100%;
    max-width: 1120px;
    margin: 46px auto 80px;
    padding: 0 24px;

    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px;
}

.gm-capabilities *,
.gm-capabilities *::before,
.gm-capabilities *::after {
    box-sizing: border-box;
}

.gm-capability-card {
    position: relative;
    min-width: 0;
    min-height: 190px;
    margin: 0 !important;
    padding: 30px 32px 32px;

    background: #ffffff;
    border: 1px solid rgba(8, 17, 31, 0.09);
    border-radius: 2px;
    box-shadow: 0 12px 32px rgba(8, 17, 31, 0.045);

    overflow: hidden;
    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease,
        border-color 0.35s ease;
}

.gm-capability-card::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 2px;

    background: #b8955a;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s ease;
}

.gm-capability-card:hover {
    transform: translateY(-4px);
    border-color: rgba(184, 149, 90, 0.32);
    box-shadow: 0 18px 42px rgba(8, 17, 31, 0.085);
}

.gm-capability-card:hover::after {
    transform: scaleX(1);
}

.gm-capability-top {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 24px;
}

.gm-capability-number {
    flex: 0 0 auto;

    color: #b8955a;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.14em;
}

.gm-capability-line {
    width: 42px;
    height: 1px;
    background: rgba(184, 149, 90, 0.55);
}

.gm-capability-card h3 {
    margin: 0 0 13px !important;

    color: #08111f;
    font-size: clamp(22px, 2vw, 28px);
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: -0.02em;
}

.gm-capability-card p {
    max-width: 440px;
    margin: 0 !important;

    color: #59616d;
    font-size: 16px;
    line-height: 1.7;
}

/* Tablet */

@media (max-width: 700px) {
    .gm-capabilities {
        max-width: 720px;
        grid-template-columns: 1fr !important;
    }

    .gm-capability-card {
        min-height: auto;
    }
}

/* Mobile */

@media (max-width: 560px) {
    .gm-capabilities {
        margin: 34px auto 58px;
        padding: 0 16px;
        gap: 16px;
    }

    .gm-capability-card {
        padding: 26px 24px 27px;
    }

    .gm-capability-top {
        margin-bottom: 20px;
    }

    .gm-capability-card h3 {
        font-size: 23px;
    }

    .gm-capability-card p {
        font-size: 15.5px;
        line-height: 1.65;
    }
}
/* About Capabilities — Force Two Columns */

.gm-capabilities {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: 22px !important;

    width: 100% !important;
    max-width: 1120px !important;
    margin: 46px auto 80px !important;
    padding: 0 24px !important;
}

.gm-capabilities > .gm-capability-card {
    display: block !important;

    width: calc(50% - 11px) !important;
    max-width: calc(50% - 11px) !important;
    min-width: 0 !important;

    flex: 0 0 calc(50% - 11px) !important;

    grid-column: auto !important;
    grid-row: auto !important;

    margin: 0 !important;
}

/* Mobile */

@media (max-width: 700px) {
    .gm-capabilities {
        padding: 0 16px !important;
        gap: 16px !important;
    }

    .gm-capabilities > .gm-capability-card {
        width: 100% !important;
        max-width: 100% !important;
        flex-basis: 100% !important;
    }
}
/* About Capabilities — Final Compact Polish */

.gm-capability-card {
    min-height: 0 !important;
    padding: 26px 28px 28px !important;
}

.gm-capability-top {
    margin-bottom: 18px !important;
}

.gm-capability-card h3 {
    margin-bottom: 10px !important;
}

.gm-capability-card p {
    line-height: 1.6 !important;
}

.gm-capabilities {
    gap: 18px !important;
}
----------------------------------------
/* About Page — First cards group */
.what-i-bring-card {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, 0.08);
    transition:
        transform 0.35s ease,
        border-color 0.35s ease,
        box-shadow 0.35s ease;
}

/* خط طلایی پایین کارت */
.what-i-bring-card::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 3px;
    background: #B8955A;
    transition: width 0.4s ease;
}

/* Hover */
.what-i-bring-card:hover {
    transform: translateY(-4px);
    border-color: rgba(184, 149, 90, 0.55);
    box-shadow: 0 12px 28px rgba(20, 27, 45, 0.10);
}

.what-i-bring-card:hover::after {
    width: 100%;
}
------------------------------------
/* Hero motions */
.hero-eyebrow,
.hero-heading,
.hero-text,
.hero-actions,
.hero-image {
    opacity: 0;
    transform: translateY(20px);
    animation: heroReveal 0.7s ease-out forwards;
}

.hero-eyebrow {
    animation-delay: 0.10s;
}

.hero-heading {
    animation-delay: 0.22s;
}

.hero-text {
    animation-delay: 0.34s;
}

.hero-actions {
    animation-delay: 0.46s;
}

.hero-image {
    animation-delay: 0.58s;
}

@keyframes heroReveal {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .hero-eyebrow,
    .hero-heading,
    .hero-text,
    .hero-actions,
    .hero-image {
        opacity: 1;
        transform: none;
        animation: none;
    }
}