/* =========================
   OASIS COYOACÁN — SEO/AEO/GEO v3 PATCH
   Agregar al FINAL de /assets/css/styles.css
========================= */

/* ----- HERO SPECS LIST ----- */
/* (ya incluido inline en hero-form.php como <style>) */

/* ----- FAQ siempre visible — reemplaza el accordion ----- */
.faq-list{
  display:flex;
  flex-direction:column;
  gap:16px;
  margin-top:24px;
}
.faq-item{
  background:#ffffff;
  border:1px solid #e8edf3;
  border-radius:16px;
  padding:24px 28px;
  box-shadow:0 4px 16px rgba(15,47,87,.04);
  transition:box-shadow .2s, transform .2s;
}
.faq-item:hover{
  box-shadow:0 8px 24px rgba(15,47,87,.08);
  transform:translateY(-1px);
}
.faq-item__question{
  margin:0 0 12px;
  font-size:18px;
  font-weight:700;
  color:#0B5AA4;
  line-height:1.4;
}
.faq-item__answer{
  color:#14263f;
  line-height:1.7;
}
.faq-item__answer p{
  margin:0 0 12px;
  font-size:15px;
}
.faq-item__answer p:last-child{margin-bottom:0;}
.faq-item__answer strong{color:#14263f;font-weight:700;}
.faq-author-byline{margin-top:24px;color:#64748b;text-align:center;}

@media(max-width:767.98px){
  .faq-item{padding:20px 22px;}
  .faq-item__question{font-size:16px;}
  .faq-item__answer p{font-size:14px;}
}

/* ----- TABLA COMPARATIVA — con !important contra Bootstrap ----- */
section.comparativa-section{
  padding:80px 0 !important;
  background:#ffffff !important;
}
.comparativa-section__heading{
  text-align:center;
  max-width:860px;
  margin:0 auto 40px;
}
.comparativa-section__heading .section-kicker{display:inline-block;margin-bottom:12px;}
.comparativa-section__heading .section-title-premium{margin-bottom:16px;}
.comparativa-section__heading .section-support{color:#64748b;line-height:1.7;font-size:16px;}

.comparativa-table-wrap{
  border-radius:24px !important;
  box-shadow:0 18px 50px rgba(15,47,87,0.08) !important;
  overflow:hidden !important;
  background:#ffffff !important;
  border:1px solid #e8edf3 !important;
  margin:0 auto;
  max-width:100%;
  -webkit-overflow-scrolling:touch;
}

table.comparativa-table{
  width:100% !important;
  margin:0 !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  background:transparent !important;
  color:inherit !important;
}

table.comparativa-table > thead > tr > th{
  background:linear-gradient(135deg, #0B5AA4, #153d6e) !important;
  color:#ffffff !important;
  font-weight:700 !important;
  padding:20px 16px !important;
  border:none !important;
  text-align:left !important;
  font-size:14px !important;
  letter-spacing:0.2px;
  vertical-align:middle !important;
}
table.comparativa-table > thead > tr > th:first-child{
  background:linear-gradient(135deg, #153d6e, #0B5AA4) !important;
}

table.comparativa-table > tbody > tr > th{
  background:#f8fafc !important;
  font-weight:700 !important;
  color:#14263f !important;
  padding:16px !important;
  border:none !important;
  border-bottom:1px solid #e8edf3 !important;
  width:180px !important;
  font-size:14px !important;
  text-align:left !important;
  vertical-align:top !important;
}

table.comparativa-table > tbody > tr > td{
  padding:16px !important;
  border:none !important;
  border-bottom:1px solid #e8edf3 !important;
  color:#14263f !important;
  background:#ffffff !important;
  font-size:13.5px !important;
  line-height:1.55 !important;
  vertical-align:top !important;
}

table.comparativa-table > tbody > tr:last-child > th,
table.comparativa-table > tbody > tr:last-child > td{
  border-bottom:none !important;
}

table.comparativa-table > tbody > tr:hover > th{background:#eef4fb !important;}
table.comparativa-table > tbody > tr:hover > td{background:rgba(11,90,164,0.03) !important;}

.comparativa-cta{max-width:700px;margin:32px auto 0;text-align:center;}
.comparativa-cta__text{color:#64748b;margin-bottom:20px;line-height:1.6;font-size:15px;}

/* Responsive — tabla a cards en móvil */
@media(max-width:767.98px){
  section.comparativa-section{padding:56px 0 !important;}
  .comparativa-table-wrap{border-radius:16px !important;overflow:hidden !important;}
  table.comparativa-table{display:block !important;}
  table.comparativa-table > thead{display:none !important;}
  table.comparativa-table > tbody{display:block !important;}
  table.comparativa-table > tbody > tr{
    display:block !important;
    padding:16px !important;
    border-bottom:8px solid #f3f5f7 !important;
  }
  table.comparativa-table > tbody > tr:last-child{border-bottom:none !important;}
  table.comparativa-table > tbody > tr > th{
    display:block !important;
    width:100% !important;
    background:transparent !important;
    padding:0 0 10px !important;
    border:none !important;
    color:#0B5AA4 !important;
    text-transform:uppercase !important;
    letter-spacing:0.5px;
    font-size:11px !important;
  }
  table.comparativa-table > tbody > tr > td{
    display:block !important;
    padding:6px 0 !important;
    border:none !important;
    border-bottom:1px dashed #e8edf3 !important;
    font-size:13px !important;
  }
  table.comparativa-table > tbody > tr > td:last-child{border-bottom:none !important;}
  table.comparativa-table > tbody > tr > td::before{
    content:attr(data-label);
    display:block;
    font-weight:700;
    color:#64748b;
    font-size:11px;
    text-transform:uppercase;
    margin-bottom:2px;
  }
}

/* Visually hidden */
.visually-hidden{
  position:absolute;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

/* Schedule row open (domingos) */
.schedule-row--open .schedule-time{color:#047860;font-weight:600;}
.schedule-row--closed .schedule-time{color:#94a3b8;}
.schedule-note{margin-top:12px;padding:10px 12px;background:#f0f7ff;border-radius:8px;color:#64748b;}
.schedule-note strong{color:#0B5AA4;}
