/* ===================================================================
   فارم أكاونت — Premium v4
   Egypt map · Savings counter · Section dividers · Testimonial slider · PWA prompt
   =================================================================== */

/* ===== INTERACTIVE EGYPT MAP ===== */
.pl-map {
  padding: 80px 0;
  background: white;
  position: relative;
  overflow: hidden;
}
.pl-map-wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px;
}
.pl-map-header { text-align: center; margin-bottom: 48px; }
.pl-map-header h2 {
  font-family: 'Cairo', sans-serif;
  font-weight: 900;
  color: #3A4A2B;
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.2;
  margin-bottom: 14px;
}
.pl-map-header h2 .gold { color: #B8862F; }
.pl-map-header p {
  color: rgba(26,26,26,0.7);
  font-family: 'Cairo', sans-serif;
  max-width: 640px;
  margin: 0 auto;
  font-size: 16px;
  line-height: 1.7;
}
.pl-map-content {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 48px;
  align-items: center;
}
@media (max-width: 1024px) { .pl-map-content { grid-template-columns: 1fr; } }
.pl-map-svg {
  background: linear-gradient(135deg, #FAF6EC, #F5F0E3);
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 8px 32px rgba(58,74,43,0.08);
  border: 1px solid rgba(184,134,47,0.15);
}
.pl-map-svg svg { width: 100%; height: auto; max-height: 500px; }
.pl-map-region {
  fill: rgba(184,134,47,0.15);
  stroke: rgba(184,134,47,0.4);
  stroke-width: 1;
  transition: all 0.3s ease;
  cursor: pointer;
}
.pl-map-region.active {
  fill: #B8862F;
  stroke: #8E6722;
}
.pl-map-region:hover {
  fill: #D4A248;
  stroke: #B8862F;
}
.pl-map-dot {
  fill: #3A4A2B;
  cursor: pointer;
  transition: r 0.2s ease, fill 0.2s ease;
}
.pl-map-dot.pulse {
  animation: pl-map-pulse 2s ease-out infinite;
}
@keyframes pl-map-pulse {
  0% { r: 5; opacity: 1; }
  100% { r: 14; opacity: 0; }
}
.pl-map-label {
  font-family: 'Cairo', sans-serif;
  font-size: 11px;
  font-weight: 700;
  fill: #3A4A2B;
  pointer-events: none;
}
.pl-map-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.pl-map-list-item {
  background: linear-gradient(135deg, #FAF6EC, white);
  border-radius: 10px;
  padding: 14px 18px;
  border-right: 3px solid #B8862F;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  transition: all 0.3s ease;
}
.pl-map-list-item:hover {
  transform: translateX(-4px);
  box-shadow: 0 8px 24px rgba(58,74,43,0.1);
  border-right-color: #D4A248;
}
.pl-map-list-name {
  font-family: 'Cairo', sans-serif;
  font-weight: 700;
  color: #3A4A2B;
  font-size: 15px;
}
.pl-map-list-count {
  font-family: 'Inter', sans-serif;
  font-weight: 800;
  color: #B8862F;
  font-size: 14px;
  background: rgba(184,134,47,0.1);
  padding: 3px 10px;
  border-radius: 12px;
}
.pl-map-total {
  background: linear-gradient(135deg, #3A4A2B, #2A3621);
  color: #EFE7D6;
  border-radius: 12px;
  padding: 20px;
  margin-top: 12px;
  text-align: center;
  font-family: 'Cairo', sans-serif;
  border: 1px solid rgba(184,134,47,0.3);
}
.pl-map-total-num {
  font-family: 'Inter', sans-serif;
  font-weight: 900;
  color: #D4A248;
  font-size: 36px;
  line-height: 1;
  margin-bottom: 4px;
}
.pl-map-total-label {
  font-size: 13px;
  color: rgba(239,231,214,0.85);
}

/* ===== LIVE SAVINGS COUNTER ===== */
.pl-savings {
  background: linear-gradient(135deg, #2A3621, #3A4A2B);
  color: #EFE7D6;
  padding: 60px 24px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.pl-savings::before, .pl-savings::after {
  content: '';
  position: absolute;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  filter: blur(100px);
  opacity: 0.15;
}
.pl-savings::before { background: #B8862F; top: -100px; right: -100px; }
.pl-savings::after { background: #D4A248; bottom: -100px; left: -100px; }
.pl-savings-wrap { position: relative; z-index: 1; max-width: 900px; margin: 0 auto; }
.pl-savings-label {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  color: #B8862F;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.pl-savings-title {
  font-family: 'Cairo', sans-serif;
  font-weight: 900;
  font-size: clamp(20px, 3vw, 28px);
  color: rgba(239,231,214,0.95);
  margin-bottom: 28px;
  line-height: 1.4;
}
.pl-savings-counter {
  font-family: 'Inter', sans-serif;
  font-weight: 900;
  font-size: clamp(48px, 9vw, 96px);
  color: #D4A248;
  line-height: 1;
  margin-bottom: 16px;
  text-shadow: 0 4px 20px rgba(212,162,72,0.3);
  letter-spacing: -0.02em;
}
.pl-savings-counter::before { content: '+'; font-size: 60%; vertical-align: top; }
.pl-savings-counter::after { content: ' ج'; font-size: 50%; color: rgba(212,162,72,0.7); margin-right: 8px; }
.pl-savings-sub {
  font-family: 'Cairo', sans-serif;
  color: rgba(239,231,214,0.7);
  font-size: 15px;
  margin-bottom: 32px;
}
.pl-savings-stats {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  flex-wrap: wrap;
  padding-top: 24px;
  border-top: 1px solid rgba(184,134,47,0.2);
}
.pl-savings-stat-num {
  font-family: 'Inter', sans-serif;
  font-weight: 900;
  font-size: 24px;
  color: #D4A248;
  display: block;
}
.pl-savings-stat-label {
  font-family: 'Cairo', sans-serif;
  font-size: 12px;
  color: rgba(239,231,214,0.7);
}

/* ===== SECTION DIVIDERS (animated wave) ===== */
.pl-divider {
  display: block;
  width: 100%;
  height: 60px;
  position: relative;
}
.pl-divider svg {
  width: 100%;
  height: 100%;
  display: block;
}
.pl-divider-wave path {
  animation: pl-wave-flow 8s ease-in-out infinite alternate;
}
@keyframes pl-wave-flow {
  0% { d: path('M0,30 Q300,10 600,30 T1200,30 V60 H0 Z'); }
  100% { d: path('M0,30 Q300,50 600,30 T1200,30 V60 H0 Z'); }
}

/* ===== TESTIMONIAL SLIDER ===== */
.pl-slider-container {
  position: relative;
  margin-top: 32px;
}
.pl-slider {
  display: flex;
  gap: 24px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 8px 4px 24px;
  -webkit-overflow-scrolling: touch;
}
.pl-slider::-webkit-scrollbar { display: none; }
.pl-slider { -ms-overflow-style: none; scrollbar-width: none; }
.pl-slide {
  flex: 0 0 calc(33.333% - 16px);
  scroll-snap-align: start;
}
@media (max-width: 1024px) {
  .pl-slide { flex: 0 0 calc(50% - 12px); }
}
@media (max-width: 640px) {
  .pl-slide { flex: 0 0 calc(100% - 16px); }
}
.pl-slider-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 16px;
}
.pl-slider-btn {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(184,134,47,0.15);
  color: #D4A248;
  border: 1px solid rgba(184,134,47,0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
}
.pl-slider-btn:hover { background: #B8862F; color: white; transform: scale(1.05); }
.pl-slider-dots { display: flex; gap: 8px; }
.pl-slider-dots .pl-slider-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(212,162,72,0.3);
  cursor: pointer;
  transition: all 0.3s ease;
}
.pl-slider-dots .pl-slider-dot.active {
  background: #D4A248;
  width: 24px;
  border-radius: 4px;
}

/* ===== CALCULATOR V2 BEFORE/AFTER ===== */
.pl-calc-comparison {
  margin-top: 24px;
  background: rgba(58,74,43,0.05);
  border-radius: 12px;
  padding: 16px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 16px;
  align-items: center;
}
@media (max-width: 640px) {
  .pl-calc-comparison { grid-template-columns: 1fr; }
}
.pl-calc-side {
  text-align: center;
  padding: 16px;
  border-radius: 8px;
}
.pl-calc-side.before {
  background: rgba(220,38,38,0.06);
  border: 1px solid rgba(220,38,38,0.2);
}
.pl-calc-side.after {
  background: rgba(34,197,94,0.06);
  border: 1px solid rgba(34,197,94,0.2);
}
.pl-calc-side-label {
  font-family: 'Cairo', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 6px;
}
.before .pl-calc-side-label { color: #dc2626; }
.after .pl-calc-side-label { color: #16a34a; }
.pl-calc-side-value {
  font-family: 'Inter', sans-serif;
  font-weight: 900;
  font-size: 28px;
  line-height: 1;
}
.before .pl-calc-side-value { color: #991b1b; }
.after .pl-calc-side-value { color: #15803d; }
.pl-calc-side-unit {
  font-family: 'Cairo', sans-serif;
  font-size: 11px;
  color: rgba(26,26,26,0.5);
  margin-top: 4px;
}
.pl-calc-arrow {
  font-size: 24px;
  color: #B8862F;
  font-weight: 900;
}
@media (max-width: 640px) {
  .pl-calc-arrow { transform: rotate(90deg); }
}

/* ===== PWA INSTALL PROMPT ===== */
.pl-pwa-prompt {
  position: fixed;
  bottom: 88px;
  left: 16px;
  right: 16px;
  max-width: 380px;
  margin: 0 auto;
  z-index: 92;
  background: linear-gradient(135deg, #FAF6EC, white);
  border: 2px solid #B8862F;
  border-radius: 16px;
  padding: 16px 18px;
  box-shadow: 0 16px 48px rgba(58,74,43,0.2);
  transform: translateY(150%);
  transition: transform 0.5s cubic-bezier(0.65, 0, 0.35, 1);
  font-family: 'Cairo', sans-serif;
  display: flex;
  gap: 12px;
  align-items: center;
}
.pl-pwa-prompt.pl-visible { transform: translateY(0); }
.pl-pwa-icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  background: linear-gradient(135deg, #B8862F, #D4A248);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 22px;
}
.pl-pwa-body { flex: 1; min-width: 0; }
.pl-pwa-title {
  font-weight: 800;
  color: #3A4A2B;
  font-size: 14px;
  margin-bottom: 2px;
}
.pl-pwa-sub {
  font-size: 12px;
  color: rgba(26,26,26,0.6);
  line-height: 1.4;
}
.pl-pwa-actions {
  display: flex;
  gap: 6px;
}
.pl-pwa-install {
  background: #3A4A2B;
  color: #D4A248;
  border: none;
  padding: 8px 14px;
  border-radius: 6px;
  font-family: inherit;
  font-weight: 700;
  font-size: 12px;
  cursor: pointer;
  transition: background 0.2s ease;
}
.pl-pwa-install:hover { background: #2A3621; }
.pl-pwa-close {
  background: transparent;
  border: none;
  color: rgba(26,26,26,0.4);
  cursor: pointer;
  padding: 4px 8px;
  font-size: 18px;
}
.pl-pwa-close:hover { color: #3A4A2B; }
