/* ============================================================
   FAQ
   ============================================================ */
.section-faq{
  position: relative;
  background:
    linear-gradient(rgba(202,240,248,0.55), rgba(202,240,248,0.55)),
    url('../img/fondo-logo.webp');
  background-size: cover;
  background-position: center;
}

.faq-accordion{ max-width: 820px; margin: 0 auto; }
.faq-item{ border-bottom: 1px solid rgba(10,17,40,0.15); }
.faq-question{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: var(--space-md);
  background:none;
  border:none;
  text-align:left;
  padding: 20px 0;
  font-size: 1rem;
  font-weight:600;
  color: var(--navy-900);
}
.faq-icon{
  position:relative;
  flex-shrink:0;
  width: 16px; height:16px;
}
.faq-icon::before,
.faq-icon::after{
  content:"";
  position:absolute;
  top:50%; left:50%;
  background: var(--navy-900);
  transform: translate(-50%,-50%);
  transition: transform var(--dur-fast) var(--ease), opacity var(--dur-fast) var(--ease);
}
.faq-icon::before{ width:16px; height:2px; }
.faq-icon::after{ width:2px; height:16px; }
.faq-question[aria-expanded="true"] .faq-icon::after{ transform: translate(-50%,-50%) rotate(90deg); opacity:0; }

.faq-answer{
  max-height:0;
  overflow:hidden;
  transition: max-height var(--dur-med) var(--ease);
}
.faq-answer p{
  padding-bottom: 20px;
  color: rgba(10,17,40,0.75);
  max-width: 680px;
}

/* --- Página dedicada de FAQ --- */
.section-faq--page{ min-height:auto; }
.faq-page-lead{
  max-width: 700px;
  color: rgba(10,17,40,0.75);
  font-size: 1rem;
  margin-bottom: var(--space-lg);
}
.faq-search{
  max-width: 820px;
  margin: 0 auto var(--space-md);
}
.faq-search input{
  width:100%;
  padding: 12px 16px;
  border: 1px solid rgba(10,17,40,0.2);
  border-radius: var(--radius-sm);
  font-family: var(--font-body);
  font-size: 0.95rem;
  color: var(--navy-900);
  background: var(--white);
}
.faq-search input:focus{
  outline: 2px solid var(--blue-300);
  outline-offset: 1px;
}
.faq-no-results{
  max-width: 820px;
  margin: 0 auto var(--space-md);
  color: rgba(10,17,40,0.7);
}
.faq-no-results a{ color: var(--blue-700); font-weight:600; }

.faq-page-cta{
  max-width: 820px;
  margin: var(--space-lg) auto 0;
  padding-top: var(--space-lg);
  border-top: 1px solid rgba(10,17,40,0.15);
  text-align:center;
}
.faq-page-cta p{
  font-weight:700;
  color: var(--navy-900);
  margin-bottom: var(--space-sm);
}

/* ============================================================
   CONTACTO
   ============================================================ */
.section-contacto{
  position:relative;
  background: var(--navy-900);
  overflow:hidden;
}
.section-contacto .section-inner{
  padding-top: var(--space-lg);
  padding-bottom: var(--space-lg);
  max-width: 1680px;
}
.contacto-watermark{
  position:absolute;
  inset:0;
  background-image: url('../icons/Logos/isopanel-wings.svg');
  background-repeat:no-repeat;
  background-position: center;
  background-size: 480px;
  opacity: 0.05;
}
.contacto-title{
  position:relative;
  text-align:center;
  margin-bottom: var(--space-sm);
}
.contacto-grid{
  position:relative;
  display:grid;
  grid-template-columns: 0.8fr 1.3fr 1fr;
  gap: var(--space-md);
  align-items:stretch;
}
.contacto-info{
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:center;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(202,240,248,0.2);
  padding: var(--space-sm);
}
.contacto-lead{ color: var(--blue-100); margin-bottom: var(--space-md); font-size: 1.1rem; }

.contacto-links{
  display:flex;
  flex-direction:column;
  gap: 14px;
  align-items:center;
  max-width: 400px;
  width: 100%;
  margin: 0 auto;
}
.contacto-link{
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 12px;
  width:100%;
  color: var(--white);
  border: 1px solid var(--blue-400);
  padding: 16px 24px;
  font-size: 1.05rem;
  font-weight:600;
  transition: background var(--dur-fast) var(--ease);
}
.contacto-link:hover{ background: rgba(255,255,255,0.08); }
.contacto-link img{ height:22px; width:22px; filter: invert(1); }

.contacto-map{
  border: 1px solid rgba(202,240,248,0.25);
  min-height: 280px;
}
.contacto-map iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
  filter: grayscale(0.15) contrast(1.05);
}

/* --- Formulario de cotización --- */
.contacto-form{
  display:flex;
  flex-wrap:wrap;
  align-content:flex-start;
  gap: 10px 14px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(202,240,248,0.2);
  padding: var(--space-sm);
}
.contacto-form-full{ flex-basis: 100%; width:100%; }
.contacto-form-title{
  color: var(--white);
  font-size: 1.2rem;
  margin-bottom: -6px;
}
.contacto-form-hint{
  color: var(--blue-100);
  font-size: 0.78rem;
  margin-top: -6px;
}
.contacto-form label{
  flex: 1 1 calc(50% - 7px);
  display:flex;
  flex-direction:column;
  gap: 4px;
  color: var(--blue-100);
  font-size: 0.78rem;
  font-weight:600;
}
.contacto-form input,
.contacto-form select,
.contacto-form textarea{
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(202,240,248,0.3);
  border-radius: var(--radius-sm);
  padding: 9px 10px;
  color: var(--white);
  font-family: var(--font-body);
  font-size: 0.85rem;
  font-weight:400;
  width:100%;
}
.contacto-form input::placeholder,
.contacto-form textarea::placeholder{ color: rgba(202,240,248,0.55); }
.contacto-form input:focus,
.contacto-form select:focus,
.contacto-form textarea:focus{
  outline: 2px solid var(--blue-300);
  outline-offset: 2px;
}
.contacto-form select option{ color: var(--ink); }
.contacto-form textarea{ resize: vertical; }
.contacto-form .btn{
  margin-top: 2px;
  align-self: flex-start;
  padding: 10px 22px;
  font-size: 0.85rem;
}
.contacto-form-actions{
  display:flex;
  flex-wrap:wrap;
  gap: 12px;
}
.contacto-form-actions .btn{ margin-top: 0; }

@media (max-width: 1024px){
  .contacto-grid{ grid-template-columns: 1fr 1fr; }
  .contacto-map{ grid-column: 1 / -1; min-height: 220px; }
}
@media (max-width: 720px){
  .contacto-grid{ grid-template-columns: 1fr; }
  .contacto-map{ grid-column: auto; aspect-ratio: 4/3; min-height: 0; }
  .contacto-form label{ flex-basis: 100%; }
}

.site-footer{
  background: var(--ink);
  padding: var(--space-md) 0;
}
.footer-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap: 8px;
  padding-top: var(--space-md);
  padding-bottom: var(--space-md);
}
.footer-inner p{
  font-size: 0.8rem;
  color: rgba(202,240,248,0.6);
}

.footer-social{
  display:flex;
  align-items:center;
  justify-content:center;
  width: 32px;
  height: 32px;
  border: 1px solid rgba(202,240,248,0.3);
  border-radius: 50%;
  transition: border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);
}
.footer-social:hover{
  border-color: var(--blue-400);
  background: rgba(255,255,255,0.06);
}
.footer-social img{
  width: 16px;
  height: 16px;
  filter: invert(1);
}

@media (max-width: 500px){
  .footer-inner{ flex-direction:column; text-align:center; }
}
