/* Packers & Movers Module Styles */

/* City Page Slider Hero */
.pm-city-slider-hero {
  position: relative;
  background-image: var(--hero-bg, url('../images/slider/banner.jpg'));
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  min-height: 480px;
  display: flex;
  align-items: center;
}

.pm-city-slider-hero::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.40) 0%, rgba(15, 23, 42, 0.60) 100%);
  z-index: 1;
}

.pm-city-slider-hero .container {
  position: relative;
  z-index: 2;
}

.pm-city-slider-hero h1,
.pm-city-slider-hero p {
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);
}

.pm-city-slider-hero a {
  color: #ffffff;
  text-decoration: none !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

.pm-city-slider-hero a:hover {
  color: #dc2626;
  text-decoration: none !important;
}

.pm-city-slider-hero .breadcrumb-item {
  display: inline-flex !important;
  align-items: center !important;
}

.pm-city-slider-hero .breadcrumb-item + .breadcrumb-item {
  padding-left: 6px !important;
}

.pm-city-slider-hero .breadcrumb-item + .breadcrumb-item::before {
  color: rgba(255, 255, 255, 0.75) !important;
  content: "/" !important;
  padding-right: 8px !important;
  padding-left: 2px !important;
  float: none !important;
}

/* Responsive Button Font Helper */
.fs-mobile-small {
  font-size: 11px !important;
  font-weight: 700 !important;
}
@media (min-width: 768px) {
  .fs-mobile-small {
    font-size: 13px !important;
    font-weight: 800 !important;
  }
}

/* City Shifting Services */
.city-service-featured-card {
  border-radius: 20px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.city-service-featured-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 30px rgba(220, 38, 38, 0.15) !important;
}

.city-service-icon-box {
  width: 64px;
  height: 64px;
  border-radius: 16px;
  background: rgba(220, 38, 38, 0.1);
  color: #dc2626;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  transition: all 0.3s ease;
}

.city-service-featured-card:hover .city-service-icon-box {
  background: #dc2626;
  color: #ffffff;
}

/* ==============================================================
   CLEAN BUTTON & UNIVERSAL ICON PULSE ANIMATIONS (COLOR PRESERVED)
   ============================================================== */

/* 1. Universal Button Pulse Animation (Excluding Close, Toggle & Form Controls) */
@keyframes dramaticBtnPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.6);
  }
  50% {
    box-shadow: 0 0 0 10px rgba(220, 38, 38, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(220, 38, 38, 0);
  }
}

.btn-danger,
.btn-primary,
.btn-success,
.btn-pulse-quote,
.btn-quote-top,
.float-circle-btn,
.ajax-submit,
.btn-quote-submit,
.gallery-nav-btn,
button[type="submit"],
input[type="submit"] {
  animation: dramaticBtnPulse 2s infinite ease-in-out;
}

/* Explicitly DISABLE pulse from Close Cross Button [X], Mobile Hamburger Toggle, Form Inputs & Clear Buttons */
.btn-close,
.no-pulse-toggle,
.no-pulse-close,
.navbar-toggler,
.btn-outline-secondary,
.btn-secondary,
.form-control,
.form-select,
.form-label,
.modal-content,
.modal-body,
.card-header,
.card-body,
form,
i.bi-x,
i.bi-x-lg,
i.bi-list {
  animation: none;
  transform: none;
  box-shadow: none;
}

/* 2. Incoming Phone Call Ringing Animation (ONLY Phone Icons, NOT Text Numbers) */
@keyframes incomingCallRing {
  0% { transform: scale(1) rotate(0deg); }
  5% { transform: scale(1.22) rotate(-16deg); filter: drop-shadow(0 0 4px rgba(220, 38, 38, 0.6)); }
  10% { transform: scale(1.22) rotate(16deg); filter: drop-shadow(0 0 4px rgba(220, 38, 38, 0.6)); }
  15% { transform: scale(1.22) rotate(-16deg); filter: drop-shadow(0 0 4px rgba(220, 38, 38, 0.6)); }
  20% { transform: scale(1.22) rotate(16deg); filter: drop-shadow(0 0 4px rgba(220, 38, 38, 0.6)); }
  25% { transform: scale(1.22) rotate(-10deg); }
  30% { transform: scale(1.22) rotate(10deg); }
  35% { transform: scale(1) rotate(0deg); }
  100% { transform: scale(1) rotate(0deg); }
}

/* 3. Universal Icon Pulse Animation (Scale & Soft Glow preserving icon color) */
@keyframes iconPulseGlow {
  0% { transform: scale(1); }
  50% { transform: scale(1.18); filter: drop-shadow(0 0 5px rgba(220, 38, 38, 0.6)); }
  100% { transform: scale(1); }
}

/* Base icon styling to ensure visibility */
i,
.bi,
[class^="bi-"],
[class*=" bi-"] {
  display: inline-block;
}

/* Phone icons call ring animation */
i.bi-telephone,
i.bi-telephone-fill,
i.bi-telephone-outbound,
i.bi-phone,
.float-circle-btn.bg-float-call i,
.header-phone-btn i {
  animation: incomingCallRing 1.8s infinite ease-in-out;
}

/* ALL other icons pulse smoothly across entire website (EXCEPT stars, cross X & hamburger list) */
i:not(.bi-telephone):not(.bi-telephone-fill):not(.bi-telephone-outbound):not(.bi-phone):not(.bi-star):not(.bi-star-fill):not(.bi-star-half):not(.bi-x):not(.bi-x-lg):not(.bi-list),
.bi:not(.bi-telephone):not(.bi-telephone-fill):not(.bi-telephone-outbound):not(.bi-phone):not(.bi-star):not(.bi-star-fill):not(.bi-star-half):not(.bi-x):not(.bi-x-lg):not(.bi-list) {
  animation: iconPulseGlow 2s infinite ease-in-out;
}

/* Explicitly disable pulse animation for star rating icons, close X & toggle icons */
.bi-star,
.bi-star-fill,
.bi-star-half,
i.bi-star,
i.bi-star-fill,
i.bi-star-half,
i.bi-x,
i.bi-x-lg,
i.bi-list {
  animation: none;
  transform: none;
  filter: none;
}

/* Absolutely Freeze & Stabilize Offcanvas Drawer Header (Zero Shaking / Motionless) */
.offcanvas,
.offcanvas-header,
.offcanvas-header *,
.offcanvas-title,
.offcanvas-header img,
.offcanvas-header a,
.offcanvas-header button {
  animation: none;
  transform: none;
  filter: none;
  box-shadow: none;
}

/* 4. Round Trust Badges (No Auto Rotation; 3D Flip on Hover) */
.partner-badge-item img {
  border-radius: 50%;
  box-shadow: none;
  filter: none;
  outline: none;
  border: none;
  transform-origin: center center;
  animation: none !important;
  transition: transform 0.6s ease-in-out;
  transform-style: preserve-3d;
  backface-visibility: visible;
}

.partner-badge-item,
.partner-badge-item * {
  box-shadow: none;
}

.partner-badge-item::before,
.partner-badge-item::after {
  display: none;
  content: none;
}

.partner-badge-item:hover img {
  transform: rotateY(360deg);
}
