/**
 * EasyPrint branding overrides
 * Include this after style.css to apply EasyPrint colours if the main stylesheet was compiled with old variables.
 * Primary: #1a365d, Accent: #c2410c, Gradient: #1a365d -> #2c5282
 */
:root {
  --ep-primary: #1a365d;
  --ep-primary-rgb: 26, 54, 93;
  --ep-accent: #c2410c;
  --ep-gradient: linear-gradient(90deg, #1a365d, #2c5282);
}
.bgc-gradient { background: linear-gradient(90deg, #1a365d, #2c5282) !important; }
.bgc-primary { background-color: #1a365d !important; }
.color-primary { color: #1a365d !important; }
.theme-btn:not(.style-three):not(.hover-two),
a.theme-btn:not(.style-three):not(.hover-two) { background-color: #1a365d; border-color: #1a365d; }
.theme-btn:hover { background-color: #2c5282; border-color: #2c5282; }
.navbar-top .topbar-right a:hover { color: #c2410c !important; }
.footer-area a:hover { color: #c2410c !important; }

/* === Service details – sidebar buttons === */
.service-category-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.service-category-list li + li {
  margin-top: 8px;
}

.service-category-list .service-link {
  width: 100%;
  text-align: left;
  border: 1px solid rgba(0, 0, 0, 0.08);
  background: #ffffff;
  color: #1a365d;
  font-weight: 500;
  padding: 10px 14px;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.service-category-list .service-link:hover,
.service-category-list .service-link:focus-visible {
  outline: none;
  background: rgba(26, 54, 93, 0.08);
  border-color: #1a365d;
}

.service-category-list .service-link.active {
  background: #1a365d;
  border-color: #1a365d;
  color: #ffffff;
}

.service-content-wrap {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.service-content-wrap.is-changing {
  opacity: 0;
  transform: translateY(10px);
}

/* === Project modal === */
.ep-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  padding: 20px;
}

.ep-modal-overlay.is-open {
  display: flex;
  animation: ep-fade-in 0.25s ease-out forwards;
}

.ep-modal {
  background: #ffffff;
  border-radius: 8px;
  max-width: 900px;
  width: 100%;
  max-height: 90vh;
  overflow: auto;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
  transform: translateY(10px);
  opacity: 0;
  animation: ep-slide-up 0.25s ease-out forwards;
}

.ep-modal-inner {
  display: flex;
  flex-wrap: wrap;
}

.ep-modal-image {
  width: 100%;
  max-width: 420px;
  object-fit: cover;
}

.ep-modal-content {
  flex: 1 1 260px;
  padding: 24px 28px;
}

.ep-modal-title {
  margin-bottom: 12px;
  font-size: 24px;
}

.ep-modal-text {
  margin: 0;
  color: #5a6c7d;
}

.ep-modal-close {
  position: absolute;
  top: 10px;
  right: 12px;
  background: transparent;
  border: none;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
  color: #1a365d;
}

@media (max-width: 767.98px) {
  .ep-modal {
    max-width: 100%;
  }
  .ep-modal-content {
    padding: 18px 20px;
  }
}

body.modal-open {
  overflow: hidden;
}

@keyframes ep-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes ep-slide-up {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}

/* === WhatsApp floating button === */
.ep-whatsapp-fab {
  position: fixed;
  right: 22px;
  bottom: 22px;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #25d366;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99999;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.22);
  text-decoration: none;
}

.ep-whatsapp-fab i {
  font-size: 26px;
  line-height: 1;
}

@media (max-width: 767.98px) {
  .ep-whatsapp-fab {
    right: 16px;
    bottom: 16px;
    width: 52px;
    height: 52px;
  }
}
