/* ============================================================
   PAGINA DE CONTACTO — DISENO PREMIUM
   Se aplica a: .page-id-435, .elementor-page-435
   ============================================================ */

/* ===== RESET Y BASE ===== */
.page-id-435 .elementor-section,
.elementor-page-435 .elementor-section {
  position: relative;
  overflow: hidden;
}

/* ===== SECCION 1: HERO PREMIUM ===== */
.page-id-435 .elementor-section:first-child,
.elementor-page-435 .elementor-section:first-child {
  background: linear-gradient(135deg, rgba(4, 47, 61, 0.92) 0%, rgba(11, 97, 126, 0.88) 50%, rgba(4, 47, 61, 0.95) 100%) !important;
  position: relative;
  min-height: 85vh;
  display: flex;
  align-items: center;
}

.page-id-435 .elementor-section:first-child::before,
.elementor-page-435 .elementor-section:first-child::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: 
    radial-gradient(ellipse at 20% 50%, rgba(165, 200, 63, 0.15) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 50%, rgba(11, 97, 126, 0.2) 0%, transparent 50%);
  pointer-events: none;
  z-index: 1;
}

.page-id-435 .elementor-section:first-child .elementor-container,
.elementor-page-435 .elementor-section:first-child .elementor-container {
  position: relative;
  z-index: 2;
}

/* Animacion de entrada */
.page-id-435 .elementor-section:first-child .elementor-widget,
.elementor-page-435 .elementor-section:first-child .elementor-widget {
  opacity: 0;
  transform: translateY(40px);
  animation: ptFadeUp 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.page-id-435 .elementor-section:first-child .elementor-widget:nth-child(1) { animation-delay: 0.1s; }
.page-id-435 .elementor-section:first-child .elementor-widget:nth-child(2) { animation-delay: 0.2s; }
.page-id-435 .elementor-section:first-child .elementor-widget:nth-child(3) { animation-delay: 0.3s; }
.page-id-435 .elementor-section:first-child .elementor-widget:nth-child(4) { animation-delay: 0.4s; }
.page-id-435 .elementor-section:first-child .elementor-widget:nth-child(5) { animation-delay: 0.5s; }
.page-id-435 .elementor-section:first-child .elementor-widget:nth-child(6) { animation-delay: 0.6s; }

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

/* Eyebrow premium */
.page-id-435 .elementor-section:first-child h3,
.elementor-page-435 .elementor-section:first-child h3 {
  display: inline-block !important;
  background: rgba(165, 200, 63, 0.15) !important;
  border: 1px solid rgba(165, 200, 63, 0.3) !important;
  border-radius: 50px !important;
  padding: 8px 24px !important;
  font-size: 12px !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
  color: #a5c83f !important;
  margin-bottom: 32px !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}

/* H1 Hero */
.page-id-435 .elementor-section:first-child h1,
.elementor-page-435 .elementor-section:first-child h1 {
  font-size: clamp(36px, 5vw, 64px) !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  color: #FFFFFF !important;
  text-shadow: 0 2px 40px rgba(0, 0, 0, 0.3) !important;
  max-width: 800px !important;
  margin: 0 auto 24px !important;
}

/* Subtitulo hero */
.page-id-435 .elementor-section:first-child .elementor-text-editor,
.elementor-page-435 .elementor-section:first-child .elementor-text-editor {
  font-size: clamp(16px, 2vw, 20px) !important;
  line-height: 1.7 !important;
  color: rgba(255, 255, 255, 0.85) !important;
  max-width: 600px !important;
  margin: 0 auto 40px !important;
}

/* Botones premium */
.page-id-435 .elementor-section:first-child .elementor-button,
.elementor-page-435 .elementor-section:first-child .elementor-button {
  border-radius: 50px !important;
  padding: 16px 40px !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  letter-spacing: 0.5px !important;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
  position: relative !important;
  overflow: hidden !important;
  border: none !important;
}

.page-id-435 .elementor-section:first-child .elementor-button::before,
.elementor-page-435 .elementor-section:first-child .elementor-button::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  transition: left 0.6s ease;
}

.page-id-435 .elementor-section:first-child .elementor-button:hover::before,
.elementor-page-435 .elementor-section:first-child .elementor-button:hover::before {
  left: 100%;
}

/* Boton WhatsApp */
.page-id-435 .elementor-section:first-child .elementor-button-wrapper .elementor-button:first-of-type,
.elementor-page-435 .elementor-section:first-child .elementor-button-wrapper .elementor-button:first-of-type {
  background: linear-gradient(135deg, #25D366 0%, #128C7E 100%) !important;
  box-shadow: 0 8px 32px rgba(37, 211, 102, 0.4) !important;
}

.page-id-435 .elementor-section:first-child .elementor-button-wrapper .elementor-button:first-of-type:hover,
.elementor-page-435 .elementor-section:first-child .elementor-button-wrapper .elementor-button:first-of-type:hover {
  transform: translateY(-3px) scale(1.02) !important;
  box-shadow: 0 12px 40px rgba(37, 211, 102, 0.5) !important;
}

/* Boton secundario */
.page-id-435 .elementor-section:first-child .elementor-button-wrapper .elementor-button:last-of-type,
.elementor-page-435 .elementor-section:first-child .elementor-button-wrapper .elementor-button:last-of-type {
  background: transparent !important;
  border: 2px solid rgba(255, 255, 255, 0.5) !important;
  color: #FFFFFF !important;
}

.page-id-435 .elementor-section:first-child .elementor-button-wrapper .elementor-button:last-of-type:hover,
.elementor-page-435 .elementor-section:first-child .elementor-button-wrapper .elementor-button:last-of-type:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  border-color: #FFFFFF !important;
  transform: translateY(-3px) !important;
}

/* Trust bar */
.page-id-435 .elementor-section:first-child .elementor-text-editor:last-child,
.elementor-page-435 .elementor-section:first-child .elementor-text-editor:last-child {
  margin-top: 48px !important;
  padding-top: 32px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.15) !important;
  font-size: 13px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.6) !important;
}

/* ===== SECCION 2: TRUST SIGNALS ===== */
.page-id-435 .elementor-section:nth-child(2),
.elementor-page-435 .elementor-section:nth-child(2) {
  background: #F5F8EE !important;
  padding: 100px 0 !important;
  position: relative;
}

.page-id-435 .elementor-section:nth-child(2)::before,
.elementor-page-435 .elementor-section:nth-child(2)::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, #a5c83f, transparent);
  opacity: 0.3;
}

/* Stats cards */
.page-id-435 .elementor-section:nth-child(2) .elementor-text-editor div > div,
.elementor-page-435 .elementor-section:nth-child(2) .elementor-text-editor div > div {
  background: white !important;
  border-radius: 20px !important;
  padding: 40px 24px !important;
  box-shadow: 0 4px 24px rgba(4, 47, 61, 0.06) !important;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
  border: 1px solid rgba(226, 232, 224, 0.5) !important;
}

.page-id-435 .elementor-section:nth-child(2) .elementor-text-editor div > div:hover,
.elementor-page-435 .elementor-section:nth-child(2) .elementor-text-editor div > div:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 12px 40px rgba(4, 47, 61, 0.12) !important;
  border-color: rgba(165, 200, 63, 0.3) !important;
}

/* Numeros grandes */
.page-id-435 .elementor-section:nth-child(2) .elementor-text-editor div > div > div:first-child,
.elementor-page-435 .elementor-section:nth-child(2) .elementor-text-editor div > div > div:first-child {
  font-size: 56px !important;
  font-weight: 700 !important;
  background: linear-gradient(135deg, #a5c83f 0%, #8ab030 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  line-height: 1 !important;
  margin-bottom: 12px !important;
}

/* ===== SECCION 3: CONTACT SPLIT ===== */
.page-id-435 .elementor-section:nth-child(3),
.elementor-page-435 .elementor-section:nth-child(3) {
  background: white !important;
  padding: 120px 0 !important;
}

/* Info cards con glassmorphism */
.page-id-435 .elementor-section:nth-child(3) .elementor-column:first-child .elementor-text-editor,
.elementor-page-435 .elementor-section:nth-child(3) .elementor-column:first-child .elementor-text-editor {
  background: rgba(245, 248, 238, 0.8) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border-radius: 20px !important;
  padding: 48px !important;
  border: 1px solid rgba(226, 232, 224, 0.5) !important;
}

/* Iconos */
.page-id-435 .elementor-section:nth-child(3) .elementor-column:first-child svg,
.elementor-page-435 .elementor-section:nth-child(3) .elementor-column:first-child svg {
  width: 24px !important;
  height: 24px !important;
  filter: drop-shadow(0 2px 4px rgba(165, 200, 63, 0.3)) !important;
}

/* Formulario premium */
.page-id-435 .elementor-section:nth-child(3) .elementor-form,
.elementor-page-435 .elementor-section:nth-child(3) .elementor-form {
  background: white !important;
  border-radius: 24px !important;
  padding: 48px !important;
  box-shadow: 0 8px 48px rgba(4, 47, 61, 0.08) !important;
  border: 1px solid rgba(226, 232, 224, 0.6) !important;
}

.page-id-435 .elementor-section:nth-child(3) .elementor-field,
.elementor-page-435 .elementor-section:nth-child(3) .elementor-field {
  background: #F5F8EE !important;
  border: 2px solid transparent !important;
  border-radius: 12px !important;
  padding: 16px 20px !important;
  font-size: 15px !important;
  transition: all 0.3s ease !important;
}

.page-id-435 .elementor-section:nth-child(3) .elementor-field:focus,
.elementor-page-435 .elementor-section:nth-child(3) .elementor-field:focus {
  border-color: #a5c83f !important;
  box-shadow: 0 0 0 4px rgba(165, 200, 63, 0.1) !important;
  outline: none !important;
}

.page-id-435 .elementor-section:nth-child(3) .elementor-field-label,
.elementor-page-435 .elementor-section:nth-child(3) .elementor-field-label {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  color: #042f3d !important;
  margin-bottom: 8px !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
}

/* Boton enviar */
.page-id-435 .elementor-section:nth-child(3) .elementor-button,
.elementor-page-435 .elementor-section:nth-child(3) .elementor-button {
  background: linear-gradient(135deg, #a5c83f 0%, #8ab030 100%) !important;
  border-radius: 50px !important;
  padding: 18px 48px !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  letter-spacing: 0.5px !important;
  box-shadow: 0 8px 32px rgba(165, 200, 63, 0.4) !important;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
  width: 100% !important;
}

.page-id-435 .elementor-section:nth-child(3) .elementor-button:hover,
.elementor-page-435 .elementor-section:nth-child(3) .elementor-button:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 12px 40px rgba(165, 200, 63, 0.5) !important;
}

/* ===== SECCION 4: MAPA ===== */
.page-id-435 .elementor-section:nth-child(4),
.elementor-page-435 .elementor-section:nth-child(4) {
  position: relative !important;
  padding: 0 !important;
}

.page-id-435 .elementor-section:nth-child(4) iframe,
.elementor-page-435 .elementor-section:nth-child(4) iframe {
  filter: grayscale(30%) contrast(1.1) !important;
  transition: filter 0.5s ease !important;
}

.page-id-435 .elementor-section:nth-child(4):hover iframe,
.elementor-page-435 .elementor-section:nth-child(4):hover iframe {
  filter: grayscale(0%) contrast(1) !important;
}

/* Card flotante */
.page-id-435 .elementor-section:nth-child(4) .elementor-text-editor > div:last-child,
.elementor-page-435 .elementor-section:nth-child(4) .elementor-text-editor > div:last-child {
  background: rgba(255, 255, 255, 0.95) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border-radius: 20px !important;
  box-shadow: 0 8px 32px rgba(4, 47, 61, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
}

/* ===== SECCION 5: FAQ ===== */
.page-id-435 .elementor-section:nth-child(5),
.elementor-page-435 .elementor-section:nth-child(5) {
  background: linear-gradient(180deg, #FFFFFF 0%, #F5F8EE 100%) !important;
  padding: 120px 0 !important;
}

/* Acordeon premium */
.page-id-435 .elementor-section:nth-child(5) .elementor-accordion-item,
.elementor-page-435 .elementor-section:nth-child(5) .elementor-accordion-item {
  background: white !important;
  border-radius: 16px !important;
  margin-bottom: 16px !important;
  box-shadow: 0 2px 12px rgba(4, 47, 61, 0.04) !important;
  border: 1px solid rgba(226, 232, 224, 0.5) !important;
  overflow: hidden !important;
  transition: all 0.3s ease !important;
}

.page-id-435 .elementor-section:nth-child(5) .elementor-accordion-item:hover,
.elementor-page-435 .elementor-section:nth-child(5) .elementor-accordion-item:hover {
  box-shadow: 0 4px 20px rgba(4, 47, 61, 0.08) !important;
  transform: translateX(4px) !important;
}

.page-id-435 .elementor-section:nth-child(5) .elementor-tab-title,
.elementor-page-435 .elementor-section:nth-child(5) .elementor-tab-title {
  padding: 24px 32px !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 500 !important;
  font-size: 16px !important;
  color: #042f3d !important;
}

.page-id-435 .elementor-section:nth-child(5) .elementor-tab-content,
.elementor-page-435 .elementor-section:nth-child(5) .elementor-tab-content {
  padding: 0 32px 24px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: #64748B !important;
}

/* ===== SECCION 6: CTA BANNER ===== */
.page-id-435 .elementor-section:last-child,
.elementor-page-435 .elementor-section:last-child {
  background: linear-gradient(135deg, #a5c83f 0%, #8ab030 50%, #7a9c2a 100%) !important;
  padding: 100px 0 !important;
  position: relative;
  overflow: hidden;
}

.page-id-435 .elementor-section:last-child::before,
.elementor-page-435 .elementor-section:last-child::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: 
    radial-gradient(circle at 30% 50%, rgba(255, 255, 255, 0.1) 0%, transparent 50%),
    radial-gradient(circle at 70% 50%, rgba(255, 255, 255, 0.08) 0%, transparent 40%);
  animation: ptRotate 20s linear infinite;
}

@keyframes ptRotate {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.page-id-435 .elementor-section:last-child .elementor-container,
.elementor-page-435 .elementor-section:last-child .elementor-container {
  position: relative;
  z-index: 2;
}

.page-id-435 .elementor-section:last-child h2,
.elementor-page-435 .elementor-section:last-child h2 {
  color: #042f3d !important;
  font-size: clamp(28px, 4vw, 42px) !important;
  text-shadow: none !important;
}

.page-id-435 .elementor-section:last-child .elementor-text-editor,
.elementor-page-435 .elementor-section:last-child .elementor-text-editor {
  color: rgba(4, 47, 61, 0.8) !important;
}

.page-id-435 .elementor-section:last-child .elementor-button,
.elementor-page-435 .elementor-section:last-child .elementor-button {
  background: #042f3d !important;
  color: white !important;
  border-radius: 50px !important;
  padding: 18px 48px !important;
  font-weight: 600 !important;
  box-shadow: 0 8px 32px rgba(4, 47, 61, 0.3) !important;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.page-id-435 .elementor-section:last-child .elementor-button:hover,
.elementor-page-435 .elementor-section:last-child .elementor-button:hover {
  transform: translateY(-3px) scale(1.02) !important;
  box-shadow: 0 12px 40px rgba(4, 47, 61, 0.4) !important;
  background: #08394A !important;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
  .page-id-435 .elementor-section:first-child,
  .elementor-page-435 .elementor-section:first-child {
    min-height: auto !important;
    padding: 80px 20px !important;
  }
  
  .page-id-435 .elementor-section:nth-child(2) .elementor-text-editor div,
  .elementor-page-435 .elementor-section:nth-child(2) .elementor-text-editor div {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  
  .page-id-435 .elementor-section:nth-child(3),
  .elementor-page-435 .elementor-section:nth-child(3) {
    padding: 60px 20px !important;
  }
  
  .page-id-435 .elementor-section:nth-child(3) .elementor-form,
  .elementor-page-435 .elementor-section:nth-child(3) .elementor-form {
    padding: 32px 24px !important;
  }
}

/* ===== SCROLLBAR PERSONALIZADA ===== */
.page-id-435::-webkit-scrollbar,
.elementor-page-435::-webkit-scrollbar {
  width: 8px;
}

.page-id-435::-webkit-scrollbar-track,
.elementor-page-435::-webkit-scrollbar-track {
  background: #F5F8EE;
}

.page-id-435::-webkit-scrollbar-thumb,
.elementor-page-435::-webkit-scrollbar-thumb {
  background: #a5c83f;
  border-radius: 4px;
}

.page-id-435::-webkit-scrollbar-thumb:hover,
.elementor-page-435::-webkit-scrollbar-thumb:hover {
  background: #8ab030;
}
/* Forzar colores de botones con maxima especificidad */
.page-id-435 .elementor-section:first-child .elementor-button-wrapper a[href*='wa.me'],
.elementor-page-435 .elementor-section:first-child .elementor-button-wrapper a[href*='wa.me'] {
  background: linear-gradient(135deg, #25D366 0%, #128C7E 100%) !important;
  background-color: #25D366 !important;
  color: #FFFFFF !important;
  border-color: transparent !important;
  box-shadow: 0 8px 32px rgba(37, 211, 102, 0.4) !important;
}

.page-id-435 .elementor-section:first-child .elementor-button-wrapper a[href*='tel:'],
.elementor-page-435 .elementor-section:first-child .elementor-button-wrapper a[href*='tel:'] {
  background: transparent !important;
  background-color: transparent !important;
  color: #FFFFFF !important;
  border: 2px solid rgba(255, 255, 255, 0.5) !important;
}
