/*
 Theme Name: GeneratePress Child
 Template: generatepress
 Version: 1.0
*/

/* =========================================================
   1) Base / shared
========================================================= */

.sp-ico-box{
  width:44px;
  height:44px;
  border-radius:14px;
  border:1px solid #e5e7eb;
  background:#fafafa;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#111827;
}

.sp-ico-svg{
  width:22px;
  height:22px;
}

.sp-bc{
  margin:0 0 12px !important;
  font-size:13px;
  color:#6b7280;
  display:flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  clear:both;
}

.sp-bc__link{
  color:inherit;
  text-decoration:none;
  font-weight:600;
}

.sp-bc__link:hover{
  text-decoration:underline;
}

.sp-bc__sep{
  color:#9ca3af;
}

.sp-bc__current{
  color:#111827;
  font-weight:700;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* =========================================================
   2) Shared buttons / pills
========================================================= */

.sp-btn,
.sp-btn:visited{
  color:inherit;
}

.sp-btn{
  padding:10px 14px;
  border-radius:12px;
  text-decoration:none;
  font-weight:600;
  border:1px solid #e5e7eb;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.sp-btn--primary{
  background:#111827;
  color:#fff !important;
  border-color:#111827;
  transition:all .15s ease;
}

.sp-btn--primary:hover,
.sp-btn--primary:focus{
  background:#1f2937;
  color:#fff !important;
  border-color:#1f2937;
  transform:translateY(-1px);
  box-shadow:0 4px 10px rgba(0,0,0,.15);
}

.sp-btn--ghost,
.sp-btn--ghost:visited{
  background:#fff;
  color:#111827 !important;
}

.sp-btn--ghost:hover,
.sp-btn--ghost:focus{
  background:#f3f4f6;
  color:#111827 !important;
}

.sp-pill{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
  border:1px solid #e5e7eb;
  background:#fff;
  color:#111827;
}

.sp-pill--trial{
  border-color:#c7f9e4;
  background:#f6fffa;
  color:#047857;
}

.sp-pill--hipaa{
  border-color:#dbeafe;
  background:#eff6ff;
  color:#1d4ed8;
}

/* =========================================================
   4) Single software
========================================================= */

.sp-wrap{
  max-width:1100px;
  margin:0 auto;
  padding:24px 16px;
}

.sp-card{
  border:1px solid #e5e7eb;
  border-radius:18px;
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}

.sp-hero{
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  gap:18px;
  align-items:start;
  padding:20px;
}

.sp-logo{
  width:92px;
  height:92px;
  border-radius:16px;
  border:1px solid #e5e7eb;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.sp-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.sp-hero-copy{
  min-width:0;
}

.sp-title{
  margin:0;
  font-size:28px;
  line-height:1.15;
  font-weight:800;
  color:#111827;
}

.sp-sub{
  margin:8px 0 0;
  color:#4b5563;
  font-size:15px;
  line-height:1.6;
  max-width:none;
}

.sp-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:12px;
}

.sp-badge{
  display:inline-flex;
  gap:6px;
  align-items:center;
  border:1px solid #e5e7eb;
  border-radius:999px;
  padding:6px 10px;
  font-size:13px;
  line-height:1.4;
  background:#fff;
  color:#111827;
}

.sp-badge--ok{
  border-color:#c7f9e4;
  background:#f6fffa;
  color:#047857;
}

.sp-badge--no{
  border-color:#ffd1d1;
  background:#fff7f7;
  color:#b91c1c;
}

.sp-badge--top{
  border-color:#fde68a;
  background:#fffbeb;
  color:#92400e;
  font-weight:700;
}

.sp-cta{
  display:flex;
  gap:10px;
  margin-top:16px;
  flex-wrap:wrap;
}

.sp-cta--bottom{
  margin-top:0;
}

.sp-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:11px 16px;
  border-radius:12px;
  text-decoration:none;
  font-weight:800;
  transition:all .15s ease;
}

.sp-btn--primary{
  background:#111827;
  color:#fff !important;
  border:1px solid #111827;
}

.sp-btn--primary:hover,
.sp-btn--primary:focus{
  background:#1f2937;
  border-color:#1f2937;
  transform:translateY(-1px);
  box-shadow:0 4px 10px rgba(0,0,0,.12);
  color:#fff !important;
}

.sp-btn--ghost{
  background:#fff;
  color:#111827 !important;
  border:1px solid #d1d5db;
}

.sp-btn--ghost:hover,
.sp-btn--ghost:focus{
  background:#f9fafb;
  border-color:#cbd5e1;
  color:#111827 !important;
}

.sp-btn--block{
  width:100%;
  margin-top:8px;
}

.sp-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:16px;
  padding:0 20px 20px;
  align-items:start;
}

.sp-section{
  padding:16px;
  border:1px solid #e5e7eb;
  border-radius:16px;
  background:#fff;
}

.sp-section--outer{
  margin:0 20px 20px;
}

.sp-section-h{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.sp-h{
  margin:0 0 10px;
  font-size:16px;
  line-height:1.25;
  font-weight:800;
  color:#111827;
}

.sp-h--no-margin{
  margin:0;
}

.sp-wysiwyg{
  color:#374151;
  font-size:15px;
  line-height:1.8;
}

.sp-wysiwyg p{
  margin:0 0 16px;
}

.sp-wysiwyg p:last-child{
  margin-bottom:0;
}

.sp-wysiwyg ul{
  padding-left:18px;
  margin:0;
}

.sp-wysiwyg li{
  margin-bottom:6px;
}

.sp-kv{
  display:grid;
  gap:10px;
}

.sp-kv-row{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  border-bottom:1px dashed #e5e7eb;
  padding:10px 0;
}

.sp-kv-row:last-child{
  border-bottom:0;
}

.sp-kv-row span{
  color:#374151;
  font-size:14px;
}

.sp-kv-row strong{
  color:#111827;
  font-size:14px;
  text-align:right;
}

.sp-disclosure{
  margin:8px 0 0;
  font-size:12px;
  color:#6b7280;
}

.sp-cols{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.sp-pros{
  background:#f6fffa;
  border-color:#c7f9e4;
}

.sp-cons{
  background:#fff7f7;
  border-color:#ffd1d1;
}

.sp-h--pros::before{
  content:"";
  display:inline-block;
  width:10px;
  height:10px;
  border-radius:999px;
  background:#10b981;
  margin-right:8px;
  vertical-align:middle;
}

.sp-h--cons::before{
  content:"";
  display:inline-block;
  width:10px;
  height:10px;
  border-radius:999px;
  background:#ef4444;
  margin-right:8px;
  vertical-align:middle;
}

/* Related software */
.sp-related-all{
  font-size:13px;
  color:#6b7280;
  text-decoration:none;
  font-weight:700;
}

.sp-related-all:hover{
  text-decoration:underline;
}

.sp-related-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
}

.sp-related-card{
  border:1px solid #e5e7eb;
  border-radius:14px;
  background:#fff;
  padding:12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.sp-related-main{
  display:flex;
  gap:10px;
  align-items:flex-start;
  min-width:0;
  text-decoration:none;
  color:#111827;
  flex:1 1 auto;
}

.sp-related-logo{
  width:44px;
  height:44px;
  border-radius:12px;
  border:1px solid #e5e7eb;
  background:#fafafa;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  overflow:hidden;
}

.sp-related-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.sp-related-logo--ph{
  width:100%;
  height:100%;
}

.sp-related-info{
  min-width:0;
  display:block;
}

.sp-related-title{
  display:block;
  font-weight:800;
  font-size:14px;
  line-height:1.15;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  margin-top:2px;
}

.sp-related-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin-top:6px;
  font-size:13px;
  color:#374151;
}

.sp-related-star{
  color:#f59e0b;
  margin-right:2px;
}

.sp-related-btn{
  flex:0 0 auto;
  padding:10px 12px;
  border-radius:12px;
  text-decoration:none;
  font-weight:800;
  border:1px solid #111827;
  background:#111827;
  color:#fff !important;
  transition:all .15s ease;
  white-space:nowrap;
}

.sp-related-btn:hover,
.sp-related-btn:focus{
  background:#1f2937;
  border-color:#1f2937;
  transform:translateY(-1px);
  box-shadow:0 4px 10px rgba(0,0,0,.12);
  color:#fff !important;
}

.sp-pill{
  display:inline-flex;
  align-items:center;
  padding:3px 8px;
  border-radius:999px;
  font-size:11px;
  line-height:1.5;
  border:1px solid #e5e7eb;
  background:#f9fafb;
  color:#374151;
}

.sp-pill--trial{
  border-color:#c7f9e4;
  background:#f6fffa;
  color:#047857;
}

.sp-pill--hipaa{
  border-color:#dbeafe;
  background:#eff6ff;
  color:#1d4ed8;
}

/* Sticky CTA mÃ³vil */
.sp-sticky-cta{
  display:none;
}

@media (min-width: 861px){
  .sp-grid{
    align-items:start;
  }

  .sp-grid > .sp-section{
    min-width:0;
  }

  .sp-grid > aside.sp-section{
    position:-webkit-sticky;
    position:sticky;
    top:24px;
    align-self:start;
    height:max-content;
  }
}

@media (max-width: 860px){
  .sp-hero{
    grid-template-columns:90px 1fr;
    gap:14px;
  }

  .sp-logo{
    width:90px;
    height:90px;
  }

  .sp-grid{
    grid-template-columns:1fr;
  }

  .sp-cols{
    grid-template-columns:1fr;
  }

  .sp-related-grid{
    grid-template-columns:1fr;
  }

  .sp-title{
    font-size:24px;
  }

  .sp-section--outer{
    margin:0 20px 20px;
  }

  body{
    padding-bottom:76px;
  }

  .sp-sticky-cta{
    display:block;
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:9999;
    background:rgba(255,255,255,.92);
    backdrop-filter:saturate(180%) blur(10px);
    border-top:1px solid #e5e7eb;
  }

  .sp-sticky-cta__inner{
    max-width:1100px;
    margin:0 auto;
    padding:10px 12px;
    display:flex;
    align-items:center;
    gap:10px;
  }

  .sp-sticky-cta__logo{
    width:34px;
    height:34px;
    border-radius:8px;
    border:1px solid #e5e7eb;
    background:#fff;
    object-fit:contain;
    flex:0 0 auto;
  }

  .sp-sticky-cta__text{
    min-width:0;
    flex:1 1 auto;
  }

  .sp-sticky-cta__title{
    font-weight:700;
    font-size:14px;
    line-height:1.1;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .sp-sticky-cta__meta{
    margin-top:2px;
    font-size:12px;
    color:#9ca3af;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .sp-stars-mini{
    color:#f59e0b;
    margin-right:4px;
    font-size:13px;
  }

  .sp-dot{
    margin:0 6px;
    color:#cbd5e1;
  }

  .sp-pill-mini{
    margin-left:8px;
    display:inline-flex;
    align-items:center;
    padding:2px 8px;
    border-radius:999px;
    font-size:11px;
    line-height:1.6;
    border:1px solid #e5e7eb;
    background:#f9fafb;
    color:#374151;
    white-space:nowrap;
  }

  .sp-pill-mini--trial{
    border-color:#c7f9e4;
    background:#f6fffa;
    color:#047857;
  }

  .sp-pill-mini--hipaa{
    border-color:#dbeafe;
    background:#eff6ff;
    color:#1d4ed8;
  }

  .sp-pill-mini--top{
    border-color:#fde68a;
    background:#fffbeb;
    color:#92400e;
    font-weight:800;
  }

  .sp-sticky-cta__btn{
    flex:0 0 auto;
    background:#111827;
    color:#fff !important;
    border:1px solid #111827;
    border-radius:12px;
    padding:12px 16px;
    min-height:44px;
    font-weight:700;
    text-decoration:none;
    transition:all .15s ease;
  }

  .sp-sticky-cta__btn:hover,
  .sp-sticky-cta__btn:focus{
    background:#1f2937;
    border-color:#1f2937;
    transform:translateY(-1px);
    box-shadow:0 4px 10px rgba(0,0,0,.15);
  }
}

@media (max-width: 620px){
  .sp-wrap{
    padding:20px 14px;
  }

  .sp-card{
    border-radius:16px;
  }

  .sp-hero{
    grid-template-columns:1fr;
    padding:18px;
  }

  .sp-logo{
    width:84px;
    height:84px;
  }

  .sp-grid{
    padding:0 18px 18px;
  }

  .sp-section--outer{
    margin:0 18px 18px;
  }

  .sp-title{
    font-size:26px;
  }

  .sp-sub{
    font-size:14px;
  }

  .sp-kv-row{
    padding:9px 0;
  }

  .sp-section-h{
    flex-direction:column;
    align-items:flex-start;
  }

  .sp-related-card{
    flex-direction:column;
    align-items:stretch;
  }

  .sp-related-btn{
    width:100%;
    text-align:center;
  }

  .sp-cta{
    flex-direction:column;
    align-items:stretch;
  }

  .sp-btn{
    width:100%;
  }
}

@media (max-width: 360px){
  .sp-pill-mini--hipaa{
    display:none;
  }
}

/* Sticky CTA mÃ³vil */
.sp-sticky-cta{
  display:none;
}

@media (max-width: 860px){
  body{
    padding-bottom:76px;
  }

  .sp-sticky-cta{
    display:block;
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:9999;
    background:rgba(255,255,255,.92);
    backdrop-filter:saturate(180%) blur(10px);
    border-top:1px solid #e5e7eb;
  }

  .sp-sticky-cta__inner{
    max-width:1100px;
    margin:0 auto;
    padding:10px 12px;
    display:flex;
    align-items:center;
    gap:10px;
  }

  .sp-sticky-cta__logo{
    width:34px;
    height:34px;
    border-radius:8px;
    border:1px solid #e5e7eb;
    background:#fff;
    object-fit:contain;
    flex:0 0 auto;
  }

  .sp-sticky-cta__text{
    min-width:0;
    flex:1 1 auto;
  }

  .sp-sticky-cta__title{
    font-weight:700;
    font-size:14px;
    line-height:1.1;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .sp-sticky-cta__meta{
    margin-top:2px;
    font-size:12px;
    color:#9ca3af;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .sp-stars-mini{
    color:#f59e0b;
    margin-right:4px;
    font-size:13px;
  }

  .sp-dot{
    margin:0 6px;
    color:#cbd5e1;
  }

  .sp-muted-mini{
    color:#9ca3af;
  }

  .sp-muted-mini__link{
    text-decoration:none;
    color:inherit;
    font-weight:600;
  }

  .sp-muted-mini__link:hover{
    text-decoration:underline;
  }

  .sp-pill-mini{
    margin-left:8px;
    display:inline-flex;
    align-items:center;
    padding:2px 8px;
    border-radius:999px;
    font-size:11px;
    line-height:1.6;
    border:1px solid #e5e7eb;
    background:#f9fafb;
    color:#374151;
    white-space:nowrap;
  }

  .sp-pill-mini--trial{
    border-color:#c7f9e4;
    background:#f6fffa;
    color:#047857;
  }

  .sp-pill-mini--hipaa{
    border-color:#dbeafe;
    background:#eff6ff;
    color:#1d4ed8;
  }

  .sp-pill-mini--top{
    border-color:#fde68a;
    background:#fffbeb;
    color:#92400e;
    font-weight:800;
  }

  .sp-sticky-cta__btn{
    flex:0 0 auto;
    background:#111827;
    color:#fff !important;
    border:1px solid #111827;
    border-radius:12px;
    padding:12px 16px;
    min-height:44px;
    font-weight:700;
    text-decoration:none;
    transition:all .15s ease;
  }

  .sp-sticky-cta__btn:hover,
  .sp-sticky-cta__btn:focus{
    background:#1f2937;
    border-color:#1f2937;
    transform:translateY(-1px);
    box-shadow:0 4px 10px rgba(0,0,0,.15);
  }
}

@media (max-width:360px){
  .sp-pill-mini--hipaa{
    display:none;
  }
}

/* Related software */
.sp-section-h{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.sp-related-all{
  font-size:13px;
  color:#6b7280;
  text-decoration:none;
  font-weight:700;
}

.sp-related-all:hover{
  text-decoration:underline;
}

.sp-related-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
}

.sp-related-card{
  border:1px solid #e5e7eb;
  border-radius:14px;
  background:#fff;
  padding:12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.sp-related-main{
  display:flex;
  gap:10px;
  align-items:flex-start;
  min-width:0;
  text-decoration:none;
  color:#111827;
  flex:1 1 auto;
}

.sp-related-logo{
  width:44px;
  height:44px;
  border-radius:12px;
  border:1px solid #e5e7eb;
  background:#fafafa;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  overflow:hidden;
}

.sp-related-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.sp-related-logo--ph{
  width:100%;
  height:100%;
}

.sp-related-info{
  min-width:0;
  display:block;
}

.sp-related-title{
  display:block;
  font-weight:900;
  font-size:14px;
  line-height:1.15;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  margin-top:2px;
}

.sp-related-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin-top:6px;
  font-size:13px;
  color:#374151;
}

.sp-related-star{
  color:#f59e0b;
  margin-right:2px;
}

.sp-related-btn{
  flex:0 0 auto;
  padding:10px 12px;
  border-radius:12px;
  text-decoration:none;
  font-weight:700;
  border:1px solid #111827;
  background:#111827;
  color:#fff !important;
  transition:all .15s ease;
  white-space:nowrap;
}

.sp-related-btn:hover{
  background:#0b1220;
  border-color:#0b1220;
  color:#fff !important;
  transform:translateY(-1px);
}

@media (max-width:860px){
  .sp-related-grid{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   4) Home / front-page
========================================================= */

.hp-wrap{
  max-width:1100px;
  margin:0 auto;
  padding:24px 16px;
}

.hp-hero{
  padding:28px 18px;
  border:1px solid #e5e7eb;
  border-radius:18px;
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}

.hp-kicker{
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:12px;
  color:#6b7280;
  margin:0 0 10px;
}

.hp-h1{
  font-size:42px;
  line-height:1.1;
  margin:0 0 10px;
}

.hp-sub{
  font-size:16px;
  color:#4b5563;
  margin:0 0 18px;
  max-width:70ch;
}

.hp-hero-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}

.hp-search{
  flex:1 1 340px;
  display:flex;
  gap:10px;
}

.hp-search input{
  width:100%;
  padding:12px 14px;
  border:1px solid #e5e7eb;
  border-radius:14px;
  font-size:14px;
  background:#fff;
}

.hp-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 14px;
  border-radius:14px;
  text-decoration:none;
  font-weight:700;
  border:1px solid #111827;
  background:#111827;
  color:#fff !important;
  transition:all .15s ease;
}

.hp-btn:hover,
.hp-btn:focus{
  background:#1f2937;
  border-color:#1f2937;
  transform:translateY(-1px);
  box-shadow:0 4px 10px rgba(0,0,0,.12);
  color:#fff !important;
}

.hp-btn--ghost{
  background:#fff;
  color:#111827 !important;
  border-color:#e5e7eb;
}

.hp-btn--ghost:hover,
.hp-btn--ghost:focus{
  background:#f3f4f6;
  border-color:#e5e7eb;
  color:#111827 !important;
}

.hp-section{
  margin-top:18px;
}

.hp-section-h{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin:22px 0 12px;
}

.hp-title{
  margin:0 !important;
  font-size:18px;
}

.hp-muted{
  color:#6b7280;
  font-size:13px;
  margin-left:auto !important;
  white-space:nowrap !important;
  flex:0 0 auto !important;
}

.hp-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}

.hp-cat{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:16px;
  padding:14px;
  text-decoration:none;
  color:#111827;
  display:flex;
  gap:10px;
  align-items:center;
  transition:all .15s ease;
}

.hp-cat:hover{
  transform:translateY(-1px);
  box-shadow:0 4px 14px rgba(0,0,0,.06);
}

.hp-cat-name{
  display:block;
  font-weight:800;
}

.hp-cat-meta{
  display:block;
  font-size:12px;
  color:#6b7280;
  margin-top:2px;
}

.hp-soft-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  align-items:stretch !important;
}

.hp-card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:16px;
  padding:14px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
}

.hp-card-top{
  display:flex;
  gap:10px;
  align-items:center;
}

.hp-card-top-content{
  min-width:0;
}

.hp-logo{
  width:44px;
  height:44px;
  border-radius:12px;
  border:1px solid #e5e7eb;
  background:#fafafa;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  flex:0 0 auto;
}

.hp-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.hp-card-title{
  margin:0;
  font-size:16px;
  font-weight:900;
}

.hp-desc{
  margin:8px 0 0;
  color:#4b5563;
  font-size:13px;
  line-height:1.45;
  display:-webkit-box !important;
  -webkit-line-clamp:3 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
  min-height:3.9em;
}

.hp-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:auto !important;
}

.hp-rating{
  font-size:13px;
  color:#111827;
  display:flex;
  gap:6px;
  align-items:center;
}

.hp-stars{
  color:#f59e0b;
  font-size:14px;
}

.hp-star{
  color:#f59e0b;
}

.hp-badges{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.hp-pill{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
  border:1px solid #e5e7eb;
  background:#fff;
  color:#111827;
}

.hp-pill--trial{
  border-color:#c7f9e4;
  background:#f6fffa;
  color:#047857;
}

.hp-pill--hipaa{
  border-color:#dbeafe;
  background:#eff6ff;
  color:#1d4ed8;
}

/* Featured */
.hp-featured{
  margin-top:14px;
  margin-bottom:14px;
}

.hp-featured-badge{
  font-size:12px;
  font-weight:900;
  color:#111827;
  margin:0 0 8px;
}

.hp-featured-card{
  border:1px solid #e5e7eb;
  border-radius:18px;
  background:#fff;
  padding:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}

.hp-featured-left{
  display:flex;
  gap:12px;
  align-items:flex-start;
  min-width:0;
}

.hp-featured-logo{
  width:56px;
  height:56px;
  border-radius:16px;
  border:1px solid #e5e7eb;
  background:#fafafa;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  flex:0 0 auto;
}

.hp-featured-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.hp-featured-main{
  min-width:0;
}

.hp-featured-title{
  margin:0;
  font-size:18px;
  font-weight:900;
}

.hp-featured-rating{
  margin-top:4px;
  font-size:13px;
  color:#111827;
}

.hp-featured-desc{
  margin:8px 0 0;
  color:#4b5563;
  font-size:13px;
  line-height:1.45;
  max-width:70ch;
}

.hp-featured-badges{
  margin-top:10px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.hp-featured-cta{
  flex:0 0 auto;
}

@media (max-width: 980px){
  .hp-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .hp-soft-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .hp-h1{
    font-size:34px;
  }
}

@media (max-width: 720px){
  .hp-featured-card{
    flex-direction:column;
    align-items:stretch;
  }

  .hp-featured-cta .hp-btn{
    width:100%;
  }
}

@media (max-width: 620px){
  .hp-grid{
    grid-template-columns:1fr;
  }

  .hp-soft-grid{
    grid-template-columns:1fr;
  }

  .hp-h1{
    font-size:28px;
  }

  .hp-sub{
    max-width:unset;
  }
}

/* =========================================================
   5) Taxonomy specialty
========================================================= */

.tx-wrap{
  max-width:1100px;
  margin:0 auto;
  padding:24px 16px;
}

.tx-hero{
  padding:22px 18px;
  border:1px solid #e5e7eb;
  border-radius:18px;
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}

.tx-kicker{
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:12px;
  color:#6b7280;
  margin:0 0 10px;
}

.tx-h1{
  font-size:34px;
  line-height:1.15;
  margin:0 0 8px;
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}

.tx-sub{
  color:#4b5563;
  margin:0;
  max-width:none;
  width:100%;
  font-size:16px;
  line-height:1.55;
}

.tx-term-description{
  margin-top:12px;
  color:#4b5563;
  font-size:14px;
  line-height:1.65;
}

.tx-term-description p:last-child{
  margin-bottom:0;
}

.tx-controls{
  margin-top:16px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}

.tx-search{
  flex:1 1 380px;
}

.tx-search input{
  width:100%;
  padding:12px 14px;
  border:1px solid #e5e7eb;
  border-radius:14px;
  font-size:14px;
  background:#fff;
}

.tx-select{
  padding:12px 14px;
  border:1px solid #e5e7eb;
  border-radius:14px;
  font-size:14px;
  background:#fff;
  color:#111827;
}

.tx-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 14px;
  border-radius:14px;
  text-decoration:none;
  font-weight:800;
  border:1px solid #111827;
  background:#111827;
  color:#fff !important;
  transition:all .15s ease;
}

.tx-btn:hover,
.tx-btn:focus{
  background:#1f2937;
  border-color:#1f2937;
  transform:translateY(-1px);
  box-shadow:0 4px 10px rgba(0,0,0,.12);
  color:#fff !important;
}

.tx-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid #e5e7eb;
  border-radius:999px;
  padding:8px 12px;
  background:#fff;
  font-size:13px;
  color:#111827;
}

.tx-pill input{
  margin:0;
}

.tx-meta{
  margin-left:auto;
  color:#6b7280;
  font-size:13px;
  white-space:nowrap;
}

.tx-section-title{
  margin:0 0 12px;
  font-size:24px;
  line-height:1.15;
}

/* Top picks */
.sp-top-rated{
  margin:20px 0 28px;
}

.sp-top-rated-title{
  font-size:24px;
  line-height:1.15;
  margin:0 0 12px;
}

.sp-top-rated-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
}

.sp-top-rated-card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:16px;
  padding:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}

.sp-top-rated-main{
  display:flex;
  gap:10px;
  align-items:flex-start;
  text-decoration:none;
  color:#111827;
  flex:1 1 auto;
  min-width:0;
}

.sp-top-rated-logo{
  width:46px;
  height:46px;
  border-radius:12px;
  border:1px solid #e5e7eb;
  background:#fafafa;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  flex:0 0 auto;
}

.sp-top-rated-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.sp-top-rated-content{
  display:block;
  min-width:0;
}

.sp-top-rated-tag{
  display:inline-flex;
  align-items:center;
  padding:3px 7px;
  border-radius:999px;
  font-size:10px;
  line-height:1.3;
  font-weight:800;
  border:1px solid #f6d77a;
  background:#fff8e1;
  color:#8a5a00;
  margin-bottom:6px;
}

.sp-top-rated-name{
  font-weight:900;
  font-size:15px;
  line-height:1.15;
  margin:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.sp-top-rated-meta{
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:6px;
  font-size:13px;
  color:#374151;
}

.sp-top-rated-star{
  color:#f59e0b;
}

.sp-top-rated-desc{
  margin:8px 0 0;
  color:#4b5563;
  font-size:13px;
  line-height:1.45;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.sp-top-rated-btn{
  padding:10px 12px;
  border-radius:12px;
  text-decoration:none;
  font-weight:800;
  border:1px solid #111827;
  background:#111827;
  color:#fff !important;
  white-space:nowrap;
  transition:all .15s ease;
}

.sp-top-rated-btn:hover{
  background:#0b1220;
  border-color:#0b1220;
  color:#fff !important;
  transform:translateY(-1px);
}

/* Comparison table */
.tx-compare{
  margin:0 0 28px;
}

.tx-compare h2{
  margin:0 0 12px;
  font-size:24px;
  line-height:1.15;
}

.tx-compare-table-wrap{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}

.tx-compare-table{
  width:100%;
  border-collapse:collapse;
  font-size:14px;
}

.tx-compare-table thead th{
  text-align:left;
  background:#f9fafb;
  color:#111827;
  font-weight:800;
  padding:16px 16px;
  border-bottom:1px solid #e5e7eb;
}

.tx-compare-table tbody td{
  padding:16px 16px;
  border-bottom:1px solid #f1f5f9;
  color:#374151;
  vertical-align:top;
  line-height:1.5;
}

.tx-compare-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 12px;
  border-radius:12px;
  border:1px solid #d1d5db;
  background:#fff;
  font-size:13px;
  font-weight:800;
  color:#111827 !important;
  min-width:52px;
}

/* Listing */
.tx-listing{
  margin-top:8px;
}

.tx-grid{
  margin-top:16px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}

.tx-card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:16px;
  padding:14px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
  display:flex;
  flex-direction:column;
  min-height:100%;
}

.tx-top{
  display:flex;
  gap:10px;
  align-items:center;
}

.tx-top-content{
  min-width:0;
}

.tx-logo{
  width:44px;
  height:44px;
  border-radius:12px;
  border:1px solid #e5e7eb;
  background:#fafafa;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  flex:0 0 auto;
}

.tx-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.tx-name{
  margin:0;
  font-size:16px;
  font-weight:900;
  line-height:1.2;
}

.tx-name a{
  color:inherit;
  text-decoration:none;
}

.tx-name a:hover{
  text-decoration:underline;
}

.tx-rating{
  font-size:13px;
  color:#111827;
  display:flex;
  gap:6px;
  align-items:center;
  margin-top:6px;
}

.tx-star{
  color:#f59e0b;
}

.tx-desc{
  margin:10px 0 0;
  color:#4b5563;
  font-size:13px;
  line-height:1.5;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:4.2em;
}

.tx-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:auto;
  padding-top:12px;
}

.tx-badges{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.tx-badge{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
  border:1px solid #e5e7eb;
  background:#fff;
  color:#111827;
}

.tx-badge--trial{
  border-color:#c7f9e4;
  background:#f6fffa;
  color:#047857;
}

.tx-badge--hipaa{
  border-color:#dbeafe;
  background:#eff6ff;
  color:#1d4ed8;
}

.tx-view{
  padding:9px 11px;
  border-radius:11px;
  font-weight:800;
  flex:0 0 auto;
}

/* Editorial block */
.sp-category-seo{
  margin-top:52px;
  margin-bottom:34px;
}

.sp-category-seo h2{
  font-size:30px;
  line-height:1.15;
  margin:0 0 16px;
}

.sp-category-seo h3{
  font-size:18px;
  line-height:1.2;
  margin:24px 0 8px;
}

.sp-category-seo p{
  color:#374151;
  line-height:1.75;
  margin:0 0 14px;
  max-width:78ch;
}

/* FAQ */
.tx-faq{
  margin:0 0 28px;
}

.tx-faq h2{
  margin:0 0 12px;
  font-size:24px;
  line-height:1.15;
}

.tx-faq-list{
  display:grid;
  gap:10px;
}

.tx-faq-item{
  border:1px solid #e5e7eb;
  border-radius:14px;
  background:#fff;
  padding:0;
  overflow:hidden;
}

.tx-faq-item summary{
  list-style:none;
  cursor:pointer;
  padding:18px 18px;
  font-weight:800;
  color:#111827;
  position:relative;
}

.tx-faq-item summary::-webkit-details-marker{
  display:none;
}

.tx-faq-item summary::after{
  content:"+";
  position:absolute;
  right:18px;
  top:50%;
  transform:translateY(-50%);
  color:#9ca3af;
  font-size:18px;
  line-height:1;
}

.tx-faq-item[open] summary::after{
  content:"â";
}

.tx-faq-item p{
  margin:0;
  padding:0 16px 16px;
  color:#4b5563;
  line-height:1.65;
}

/* Pagination */
.tx-pagination{
  margin-top:18px;
  display:flex;
  justify-content:center;
}

.tx-pagination .page-numbers{
  display:inline-flex;
  min-width:36px;
  height:36px;
  align-items:center;
  justify-content:center;
  border:1px solid #e5e7eb;
  border-radius:12px;
  text-decoration:none;
  margin:0 4px;
  color:#111827;
  background:#fff;
}

.tx-pagination .page-numbers.current{
  background:#111827;
  color:#fff;
  border-color:#111827;
}

/* Empty */
.tx-empty{
  margin-top:16px;
  padding:16px 18px;
  border:1px solid #e5e7eb;
  border-radius:14px;
  background:#fff;
  color:#6b7280;
}

/* Other specialties */
.tx-other{
  margin-top:18px;
  padding:16px;
  border:1px solid #e5e7eb;
  border-radius:16px;
  background:#fff;
}

.tx-other-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}

.tx-other-title{
  margin:0;
  font-size:16px;
}

.tx-other-link{
  font-size:13px;
  color:#111827;
  text-decoration:none;
  font-weight:800;
}

.tx-other-link:hover{
  text-decoration:underline;
}

.tx-other-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}

.tx-other-card{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:12px 12px;
  border:1px solid #e5e7eb;
  border-radius:14px;
  text-decoration:none;
  color:#111827;
  background:#fff;
  transition:all .15s ease;
}

.tx-other-card:hover{
  transform:translateY(-1px);
  box-shadow:0 4px 14px rgba(0,0,0,.06);
}

.tx-other-card span{
  font-size:12px;
  color:#6b7280;
}

/* Responsive */
@media (max-width:980px){
  .tx-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .tx-h1{
    font-size:28px;
  }

  .tx-other-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .tx-compare-table{
    font-size:13px;
  }

  .tx-compare-table thead th,
  .tx-compare-table tbody td{
    padding:12px 10px;
  }
}

@media (max-width:860px){
  .sp-top-rated-grid{
    grid-template-columns:1fr;
  }

  .tx-compare-table-wrap{
    overflow-x:auto;
  }

  .tx-compare-table{
    min-width:720px;
  }
}

@media (max-width:620px){
  .tx-grid{
    grid-template-columns:1fr;
  }

  .tx-meta{
    margin-left:0;
  }

  .tx-other-grid{
    grid-template-columns:1fr;
  }

  .tx-h1{
    font-size:26px;
  }

  .tx-sub{
    font-size:15px;
  }

  .sp-top-rated-card{
    flex-direction:column;
    align-items:stretch;
  }

  .sp-top-rated-btn{
    width:100%;
    text-align:center;
  }

  .tx-row{
    flex-direction:column;
    align-items:stretch;
  }

  .tx-view{
    width:100%;
    text-align:center;
  }

  .tx-badges{
    justify-content:flex-start;
  }

  .sp-category-seo h2{
    font-size:26px;
  }
}

/* =========================================================
   6) Categories page
========================================================= */

.cat-wrap{
  max-width:1100px;
  margin:0 auto;
  padding:24px 16px;
}

.cat-hero{
  padding:22px 18px;
  border:1px solid #e5e7eb;
  border-radius:18px;
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}

.cat-kicker{
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:12px;
  color:#6b7280;
  margin:0 0 10px;
}

.cat-h1{
  font-size:34px;
  line-height:1.15;
  margin:0 0 8px;
}

.cat-sub{
  color:#4b5563;
  margin:0;
  max-width:70ch;
}

.cat-controls{
  margin-top:14px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}

.cat-search{
  flex:1 1 360px;
  padding:12px 14px;
  border:1px solid #e5e7eb;
  border-radius:14px;
  font-size:14px;
  background:#fff;
}

.cat-meta{
  font-size:13px;
  color:#6b7280;
  display:flex;
  align-items:center;
}

.cat-grid{
  margin-top:16px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  align-items:start;
}

.cat-block{
  display:block;
}

.cat-card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:16px;
  padding:14px;
  text-decoration:none;
  color:#111827;
  display:flex;
  gap:10px;
  align-items:center;
  transition:all .15s ease;
}

.cat-card:hover{
  transform:translateY(-1px);
  box-shadow:0 4px 14px rgba(0,0,0,.06);
}

.cat-card::after{
  content:"â";
  margin-left:auto;
  color:#9ca3af;
  font-weight:700;
}

.cat-name{
  font-weight:900;
  margin:0;
}

.cat-count{
  font-size:12px;
  color:#6b7280;
  margin-top:2px;
}

.mini-grid{
  margin-top:10px;
  display:flex;
  flex-direction:column;
  gap:8px;
}

.mini-card{
  display:flex;
  gap:10px;
  align-items:flex-start;
  text-decoration:none;
  color:#111827;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:10px 12px;
  transition:all .15s ease;
}

.mini-card:hover{
  transform:translateY(-1px);
  box-shadow:0 4px 14px rgba(0,0,0,.06);
}

.mini-logo{
  width:34px;
  height:34px;
  border-radius:10px;
  border:1px solid #e5e7eb;
  background:#fafafa;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  flex:0 0 auto;
}

.mini-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.mini-main{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
  flex:1 1 auto;
}

.mini-title{
  font-weight:800;
  font-size:13px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.mini-meta{
  font-size:12px;
  color:#6b7280;
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:nowrap;
}

.mini-star{
  color:#f59e0b;
}

.mini-pill{
  display:inline-flex;
  align-items:center;
  padding:2px 8px;
  border-radius:999px;
  font-size:11px;
  line-height:1.5;
  border:1px solid #e5e7eb;
  background:#f9fafb;
  color:#374151;
}

.mini-pill--trial{
  border-color:#c7f9e4;
  background:#f6fffa;
  color:#047857;
}

.mini-pill--hipaa{
  border-color:#dbeafe;
  background:#eff6ff;
  color:#1d4ed8;
}

.mini-more{
  display:block;
  margin-top:10px;
  font-size:12px;
  color:#111827;
  text-decoration:none;
  font-weight:800;
  text-align:center;
}

.mini-more:hover{
  text-decoration:underline;
}

/* Overrides puntuales categorÃ­as */
#catGrid .mini-card{
  align-items:flex-start !important;
}

#catGrid .mini-logo{
  margin-top:2px;
}

#catGrid .mini-meta{
  flex-wrap:nowrap !important;
  white-space:nowrap !important;
}

@media (max-width:980px){
  .cat-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .cat-h1{
    font-size:28px;
  }
}

@media (max-width:620px){
  .cat-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:480px){
  #catGrid .mini-meta{
    flex-wrap:wrap !important;
    white-space:normal !important;
  }
}

/* =========================================================
   7) Programmatic landings
========================================================= */

.best-wrap{
  max-width:1100px;
  margin:0 auto;
  padding:24px 16px;
}

.best-hero{
  padding:22px 18px;
  border:1px solid #e5e7eb;
  border-radius:18px;
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}

.best-h1{
  max-width:90ch;
}

.best-kicker{
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:12px;
  color:#6b7280;
  margin:0 0 10px;
}

.best-h1{
  font-size:34px;
  line-height:1.12;
  margin:0 0 8px;
}

.best-sub{
  color:#4b5563;
  margin:0;
  max-width:90ch;
}

.best-grid{
  margin-top:16px;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
}

.best-card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:16px;
  padding:14px;
  display:flex;
  gap:12px;
  justify-content:space-between;
  align-items:center;
}

.best-main{
  display:flex;
  gap:10px;
  align-items:flex-start;
  min-width:0;
  text-decoration:none;
  color:#111827;
  flex:1;
}

.best-logo{
  width:46px;
  height:46px;
  border-radius:12px;
  border:1px solid #e5e7eb;
  background:#fafafa;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  overflow:hidden;
}

.best-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.best-title{
  font-weight:900;
  font-size:15px;
  line-height:1.15;
  margin:2px 0 0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.best-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin-top:6px;
  font-size:13px;
  color:#374151;
}

.best-star{
  color:#f59e0b;
}

.best-btn{
  padding:10px 12px;
  border-radius:12px;
  text-decoration:none;
  font-weight:800;
  border:1px solid #111827;
  background:#111827;
  color:#fff !important;
  white-space:nowrap;
}

.best-btn:hover{
  background:#0b1220;
  border-color:#0b1220;
  color:#fff !important;
}

.best-pill{
  display:inline-flex;
  align-items:center;
  border:1px solid #e5e7eb;
  border-radius:999px;
  padding:4px 8px;
  font-size:12px;
  background:#fff;
}

.best-pill--trial{
  border-color:#c7f9e4;
  background:#f6fffa;
  color:#047857;
}

.best-pill--hipaa{
  border-color:#bfdbfe;
  background:#eff6ff;
  color:#1d4ed8;
}

.best-empty{
  margin-top:16px;
  color:#6b7280;
}

.best-intent{
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 28px;
}

.best-seo{
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
}

.sp-category-seo__lead{
  max-width: 75ch;
}

@media (max-width:860px){
  .best-grid{
    grid-template-columns:1fr;
  }

  .best-h1{
    font-size:28px;
  }
}

.sp-section--outer{
  margin:0 20px 20px;
}

.sp-btn--block{
  width:100%;
  margin-top:12px;
}

.sp-h--no-margin{
  margin:0;
}

.tx-top-content{
  min-width:0;
}

.mini-main-wrap{
  min-width:0;
}

.cat-empty{
  margin-top:16px;
  color:#6b7280;
}

.best-main-content{
  min-width:0;
}

.best-hero{
  margin-bottom: 24px;
}

.best-intent{
  margin-bottom: 24px;
}

.best-seo{
  margin-top: 28px;
}

.best-intent{
  margin-bottom: 14px;
}

.best-internal-links{
  margin: 16px 0 26px;
}

.best-internal-links .sp-internal-links__title{
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 10px;
}


/* ===== CIERRE FINAL CATEGORÃA ===== */

/* Hero */
.tx-hero{
  padding:24px 20px;
}

.tx-h1{
  font-size:32px;
  line-height:1.18;
  margin:0 0 10px;
}

.tx-sub{
  color:#4b5563;
  margin:0;
  max-width:none;
  width:100%;
  font-size:16px;
  line-height:1.6;
}

.tx-controls{
  margin-top:18px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}

.tx-search{
  flex:1 1 380px;
}

/* TÃ­tulos de secciÃ³n */
.sp-top-rated-title,
.tx-compare h2,
.tx-section-title,
.tx-faq h2{
  font-size:18px;
  line-height:1.25;
  font-weight:700;
}

/* Top picks */
.sp-top-rated{
  margin:18px 0 26px;
}

.sp-top-rated-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}

.sp-top-rated-card{
  padding:12px;
  border-radius:15px;
}

.sp-top-rated-tag{
  display:inline-flex;
  align-items:center;
  padding:3px 7px;
  border-radius:999px;
  font-size:10px;
  line-height:1.3;
  font-weight:800;
  border:1px solid #f6d77a;
  background:#fff8e1;
  color:#8a5a00;
  margin-bottom:6px;
}

.sp-top-rated-name{
  font-weight:800;
  font-size:14px;
}

.sp-top-rated-desc{
  margin:7px 0 0;
  color:#4b5563;
  font-size:12.5px;
  line-height:1.45;
}

.sp-top-rated-btn{
  padding:9px 11px;
  border-radius:11px;
  font-size:13px;
}

/* Tabla */
.tx-compare{
  margin:0 0 26px;
}

.tx-compare-table thead th{
  text-align:left;
  background:#f9fafb;
  color:#111827;
  font-weight:800;
  padding:16px 16px;
  border-bottom:1px solid #e5e7eb;
}

.tx-compare-table tbody td{
  padding:16px 16px;
  border-bottom:1px solid #f1f5f9;
  color:#374151;
  vertical-align:top;
  line-height:1.5;
}

.tx-compare-table tbody td:first-child a{
  font-weight:700;
  line-height:1.45;
  display:inline-block;
}

.tx-compare-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 12px;
  border-radius:12px;
  border:1px solid #d1d5db;
  background:#fff;
  font-size:13px;
  font-weight:800;
  color:#111827 !important;
  min-width:52px;
}

/* Cards del listado */
.tx-grid{
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}

.tx-card{
  padding:12px;
  border-radius:15px;
}

.tx-name{
  font-size:14px;
  font-weight:800;
  line-height:1.2;
}

.tx-rating{
  font-size:12.5px;
  margin-top:5px;
}

.tx-desc{
  margin:8px 0 0;
  color:#4b5563;
  font-size:12.5px;
  line-height:1.5;
  min-height:3.9em;
}

.tx-row{
  gap:8px;
  margin-top:auto;
  padding-top:10px;
}

.tx-badge{
  font-size:11px;
  padding:4px 9px;
}

.tx-view{
  padding:9px 11px;
  border-radius:11px;
  font-weight:800;
  flex:0 0 auto;
  font-size:13px;
}

/* Bloque editorial */
.sp-category-seo{
  margin-top:52px;
  margin-bottom:34px;
}

.sp-category-seo h2{
  font-size:22px;
  line-height:1.2;
  margin:0 0 14px;
}

.sp-category-seo h3{
  font-size:16px;
  line-height:1.25;
  margin:22px 0 8px;
}

.sp-category-seo p{
  color:#374151;
  line-height:1.75;
  margin:0 0 14px;
  max-width:78ch;
  font-size:15px;
}

/* FAQ */
.tx-faq-item summary{
  list-style:none;
  cursor:pointer;
  padding:18px 18px;
  font-weight:800;
  color:#111827;
  position:relative;
}

.tx-faq-item summary::after{
  content:"+";
  position:absolute;
  right:18px;
  top:50%;
  transform:translateY(-50%);
  color:#9ca3af;
  font-size:18px;
  line-height:1;
}

/* Other specialties */
.tx-other{
  margin-top:22px;
  padding:16px;
  border:1px solid #e5e7eb;
  border-radius:16px;
  background:#fff;
}

/* Responsive */
@media (max-width:860px){
  .sp-top-rated-grid{
    grid-template-columns:1fr;
  }

  .tx-grid{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   8) Taxonomy specialty PRO overrides
========================================================= */

.tx-h1 .sp-ico-box{
  width:40px;
  height:40px;
  border-radius:12px;
  flex:0 0 auto;
}
/*
.tx-intent{
  margin:18px 0 24px;
}

.tx-intent-card{
  padding:16px 18px;
  border:1px solid #e5e7eb;
  border-radius:16px;
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}

.tx-intent-title{
  margin:0 0 10px;
  font-size:18px;
  line-height:1.25;
  font-weight:800;
  color:#111827;
}

.tx-intent-list{
  margin:0;
  padding-left:18px;
  color:#374151;
}

.tx-intent-list li{
  margin-bottom:6px;
}
*/

.tx-intent{
  margin: 14px 0 18px;
}

.tx-intent-card{
  padding: 12px 16px;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  background: #fff;
}

.tx-intent-title{
  margin: 0 0 8px;
  font-size: 15px;
  line-height: 1.25;
  font-weight: 700;
  color: #111827;
}

.tx-intent-list{
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tx-intent-list li{
  position: relative;
  margin: 0;
  padding-left: 14px;
  font-size: 13px;
  line-height: 1.45;
  color: #4b5563;
}

.tx-intent-list li::before{
  content: "";
  position: absolute;
  left: 0;
  top: .7em;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #111827;
  transform: translateY(-50%);
}

.tx-section-sub{
  margin:6px 0 14px;
  color:#6b7280;
  font-size:14px;
  line-height:1.5;
}

.tx-bestfor-cell{
  min-width:220px;
}

.tx-chip{
  display:inline-flex;
  align-items:center;
  padding:4px 8px;
  margin:2px 6px 2px 0;
  border-radius:999px;
  border:1px solid #e5e7eb;
  background:#f8fafc;
  color:#111827;
  font-size:12px;
  line-height:1.3;
  white-space:nowrap;
}

.tx-grid{
  grid-template-columns:repeat(2,1fr);
}

.tx-card{
  height:100%;
}

.tx-top{
  align-items:flex-start;
}

.tx-card-desc{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  min-height:42px;
}

.tx-row{
  margin-top:auto;
}

.sp-top-rated-content{
  min-width:0;
}

.sp-top-rated-desc{
  min-height:2.9em;
}

@media (max-width:980px){
  .tx-bestfor-cell{
    min-width:200px;
  }
}

@media (max-width:860px){
  .tx-intent{
    margin:16px 0 22px;
  }

  .tx-compare-table{
    min-width:760px;
  }
}

@media (max-width:620px){
  .tx-h1 .sp-ico-box{
    width:36px;
    height:36px;
  }

  .tx-intent-title{
    font-size:17px;
  }
}

.tx-intent{
  margin: 18px 0 22px;
}

.tx-intent-card{
  padding: 14px 18px;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  background: #fff;
}

.tx-intent-title{
  margin: 0 0 10px;
  font-size: 16px;
  line-height: 1.25;
  font-weight: 700;
  color: #111827;
}

.tx-intent-list{
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tx-intent-list li{
  position: relative;
  margin: 0;
  padding-left: 14px;
  font-size: 14px;
  line-height: 1.5;
  color: #374151;
}

.tx-intent-list li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #111827;
  transform: translateY(-50%);
}

@media (max-width: 768px){
  .tx-intent-card{
    padding: 14px 16px;
  }

  .tx-intent-list{
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }
}

/* =========================================================
   9) Taxonomy specialty UX refinements
========================================================= */

.tx-h1{
  display:block;
}

.tx-intent--compact{
  margin:14px 0 18px;
}

.tx-intent--compact .tx-intent-card{
  padding:12px 16px;
}

.tx-intent--compact .tx-intent-title{
  margin:0 0 8px;
  font-size:16px;
  line-height:1.25;
}

.tx-intent--compact .tx-intent-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px 18px;
  padding-left:18px;
}

.tx-intent--compact .tx-intent-list li{
  margin:0;
}

.tx-bestfor-cell{
  min-width:220px;
}

.tx-chip{
  display:inline-flex;
  align-items:center;
  padding:4px 8px;
  margin:2px 6px 2px 0;
  border-radius:999px;
  border:1px solid #e5e7eb;
  background:#f8fafc;
  color:#111827;
  font-size:12px;
  line-height:1.3;
  white-space:nowrap;
}

.tx-card{
  display:flex;
  flex-direction:column;
  height:100%;
}

.tx-card-desc{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  min-height:42px;
}

.tx-row{
  margin-top:auto;
}

.sp-category-seo{
  display:block;
}

.sp-category-seo__lead{
  max-width:none;
  margin:0 0 18px;
}

.sp-category-seo__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 28px;
  align-items:start;
}

.sp-category-seo__item{
  min-width:0;
}

.sp-category-seo__item h3{
  margin-top:0;
}

@media (max-width: 980px){
  .tx-intent--compact .tx-intent-list{
    grid-template-columns:1fr;
    gap:6px;
  }

  .tx-bestfor-cell{
    min-width:200px;
  }
}

@media (max-width: 860px){
  .tx-intent--compact{
    margin:12px 0 16px;
  }

  .tx-intent--compact .tx-intent-card{
    padding:12px 14px;
  }

  .sp-category-seo__grid{
    grid-template-columns:1fr;
    gap:12px;
  }
}


/* =========================================================
   V3 refinements: category + single best_for
========================================================= */

.tx-compare-table{
  table-layout:fixed;
}

.tx-compare-table th:nth-child(1),
.tx-compare-table td:nth-child(1){width:22%;}
.tx-compare-table th:nth-child(2),
.tx-compare-table td:nth-child(2){width:10%;}
.tx-compare-table th:nth-child(3),
.tx-compare-table td:nth-child(3){width:10%;}
.tx-compare-table th:nth-child(4),
.tx-compare-table td:nth-child(4){width:10%;}
.tx-compare-table th:nth-child(5),
.tx-compare-table td:nth-child(5){width:34%;}
.tx-compare-table th:nth-child(6),
.tx-compare-table td:nth-child(6){width:14%; text-align:right;}

.tx-bestfor-cell{
  min-width:0;
}

.tx-chip--solo{
  max-width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.sp-top-rated-desc,
.tx-card-desc{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.sp-top-rated-desc{
  -webkit-line-clamp:1;
}

.tx-card-desc{
  -webkit-line-clamp:2;
  min-height:40px;
}

.sp-category-seo__lead{
  grid-column:1 / -1;
  max-width:none;
  margin:0 0 6px;
}

@media (max-width: 980px){
  .tx-compare-table{
    table-layout:auto;
  }
}

/* Single: best_for chips */
.sp-best-for{
  border-left:4px solid #111827;
  background:#fff;
}

.sp-best-for-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  list-style:none;
  margin:12px 0 0;
  padding:0;
}

.sp-best-for-chip{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border:1px solid #e5e7eb;
  border-radius:999px;
  background:#f8fafc;
  color:#111827;
  font-size:13px;
  line-height:1.35;
  font-weight:600;
}

@media (max-width: 860px){
  .sp-best-for-chip{
    font-size:12px;
    padding:7px 10px;
  }
}


/* V4 fixes */
.sp-category-seo__grid > .sp-category-seo__lead{
  grid-column:1 / -1;
  max-width:none;
  margin:0 0 6px;
}

.sp-category-seo__item p{
  max-width:none;
}

.tx-compare-table th:nth-child(5),
.tx-compare-table td:nth-child(5){width:24%;}

.tx-chip--solo{
  max-width:220px;
}

@media (max-width: 980px){
  .tx-compare-table th:nth-child(5),
  .tx-compare-table td:nth-child(5){width:auto;}
}


/* =========================================================
   V5 fixes: category paging + bottom editorial layout
========================================================= */

.sp-category-seo{
  display:block !important;
}

.sp-category-seo__grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:18px 28px !important;
  align-items:start !important;
}

.sp-category-seo__grid > .sp-category-seo__lead{
  grid-column:1 / -1 !important;
  max-width:none !important;
  width:100% !important;
  margin:0 0 8px !important;
}

.sp-category-seo__item{
  min-width:0;
}

.sp-category-seo__item h3{
  margin:0 0 8px;
}

.sp-category-seo__item p{
  max-width:none !important;
  margin:0;
}

@media (max-width: 860px){
  .sp-category-seo__grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
}


/* =========================================================
   HOME + MENU + LEGAL FINAL OVERRIDES
========================================================= */

/* Footer */
.site-info a[href*="generatepress"]{display:none!important;}

/* Main navigation */
@media (min-width:1025px){
  .main-navigation{border-bottom:1px solid #f1f5f9;}
  .main-navigation .main-nav > ul > li > a{font-size:14px;font-weight:500;padding:18px 14px;color:#111827;}
  .main-navigation .main-nav > ul > li > a:hover{color:#2563eb;}
  .main-navigation .main-nav ul ul{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 16px 40px rgba(0,0,0,.08);padding:8px;}
  .main-navigation .main-nav ul ul li a{display:block;padding:9px 12px;border-radius:8px;font-size:14px;line-height:1.35;color:#111827;transition:all .15s ease;white-space:normal;}
  .main-navigation .main-nav ul ul li a:hover,.main-navigation .main-nav ul ul li a:focus{background:#f1f5f9;color:#111827;}
  .main-navigation .main-nav > ul > li:nth-child(2) > ul{width:600px;min-width:600px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;padding:18px;}
  .main-navigation .main-nav > ul > li:nth-child(4) > ul,
  .main-navigation .main-nav > ul > li:nth-child(3) > ul{width:auto;min-width:180px;max-width:260px;}
  .main-navigation .main-nav ul ul{opacity:0;transform:translateY(6px);transition:all .18s ease;pointer-events:none;}
  .main-navigation .main-nav li:hover > ul{opacity:1;transform:translateY(0);pointer-events:auto;}
}
@media (max-width:768px){
  .main-navigation .main-nav ul ul{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;}
  .main-navigation .main-nav ul ul li a{padding:10px 14px!important;border-radius:0!important;}
}

/* Home hero */
.hp-wrap{max-width:1100px;margin:0 auto;padding:24px 16px;}
.hp-hero{position:relative!important;overflow:hidden!important;padding:32px 20px!important;border:1px solid #e5e7eb!important;border-radius:18px!important;background:transparent!important;box-shadow:0 1px 2px rgba(0,0,0,.04)!important;text-align:center!important;}
.hp-hero::before{content:""!important;position:absolute!important;inset:0!important;background:linear-gradient(to right,rgba(255,255,255,.55),rgba(255,255,255,.40)),url('/wp-content/uploads/medical-hero-blur.jpg') center center/cover no-repeat!important;z-index:0!important;}
.hp-hero > *{position:relative!important;z-index:1!important;}
.hp-kicker,.hp-h1,.hp-sub{text-align:center!important;}
.hp-kicker{font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:12px;color:#6b7280;margin:0 0 10px;}
.hp-h1{max-width:900px!important;margin:0 auto 12px!important;font-size:46px!important;line-height:1.15!important;letter-spacing:-.01em!important;}
.hp-sub{max-width:720px!important;margin:0 auto 20px!important;font-size:16px!important;color:#4b5563!important;opacity:.9;}
.hp-hero-row{display:flex!important;justify-content:center!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important;}
.hp-search{display:flex!important;justify-content:center!important;align-items:center!important;gap:10px!important;width:100%!important;max-width:760px!important;margin:0 auto!important;flex:0 1 760px!important;}
.hp-search input{width:100%!important;padding:12px 14px!important;border:1px solid #e5e7eb!important;border-radius:14px!important;font-size:14px!important;background:#fff!important;}
.hp-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 14px;border-radius:14px;text-decoration:none;font-weight:700;border:1px solid #111827;background:#111827;color:#fff!important;transition:all .15s ease;}
.hp-btn:hover,.hp-btn:focus{background:#1f2937;border-color:#1f2937;transform:translateY(-1px);box-shadow:0 4px 10px rgba(0,0,0,.12);color:#fff!important;}
.hp-btn--ghost{background:#fff!important;color:#111827!important;border:1px solid #d1d5db!important;}
.hp-btn--ghost:hover,.hp-btn--ghost:focus{background:#f3f4f6!important;border-color:#e5e7eb!important;color:#111827!important;}

/* Home sections */
.hp-section{margin-top:18px;}
.hp-section-h{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important;margin:22px 0 12px!important;}
.hp-title{margin:0!important;font-size:18px!important;display:flex!important;align-items:center;justify-content:space-between;gap:20px;}
.hp-view-all{margin-left:20px;font-size:14px;color:#2563eb;text-decoration:none;white-space:nowrap;opacity:.85;}
.hp-view-all:hover{text-decoration:underline;opacity:1;}
.hp-meta{color:#6b7280;font-size:13px;margin-left:auto!important;white-space:nowrap!important;flex:0 0 auto!important;}
.hp-section-sub{font-size:14px;color:#6b7280;margin:4px 0 16px;}

/* Categories grid */
.hp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.hp-cat{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:14px;text-decoration:none;color:#111827;display:flex;gap:10px;align-items:flex-start;transition:all .15s ease;}
.hp-cat:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.06);}
.hp-cat-name{display:block;font-weight:800;line-height:1.2;}
.hp-cat-meta{display:block;font-size:12px;color:#6b7280;margin-top:2px;}

/* Featured */
.hp-featured{margin-top:24px;margin-bottom:14px;}
.hp-featured-badge{font-size:12px;font-weight:700;color:#111827;margin:0 0 8px;}
.hp-featured-card{border:1px solid #e5e7eb;border-radius:18px;background:#fff;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:14px;box-shadow:0 1px 2px rgba(0,0,0,.04);}
.hp-featured-left{display:flex;gap:12px;align-items:flex-start;min-width:0;}
.hp-featured-logo{width:56px;height:56px;border-radius:16px;border:1px solid #e5e7eb;background:#fafafa;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 auto;}
.hp-featured-logo img{width:100%;height:100%;object-fit:contain;}
.hp-featured-main{min-width:0;}
.hp-featured-title{margin:0;font-size:18px;font-weight:800;}
.hp-featured-rating{margin-top:4px;font-size:13px;color:#111827;}
.hp-featured-desc{margin:8px 0 0;color:#4b5563;font-size:13px;line-height:1.54;max-width:70ch;}
.hp-featured-cta{flex:0 0 auto;}

/* Top rated */
.hp-top-rated{margin:28px 0 16px;}
.hp-top-rated-title,.tx-compare h2,.tx-section-title,.tx-faq h2{font-size:18px;line-height:1.25;font-weight:700;}
.hp-top-rated-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.hp-top-rated-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:14px;box-shadow:0 1px 2px rgba(0,0,0,.04);display:flex!important;flex-direction:column!important;height:100%!important;}
.hp-card-top{display:flex;gap:10px;align-items:flex-start;}
.hp-card-top-content{min-width:0;}
.hp-top-rated-logo{width:46px;height:46px;border-radius:12px;border:1px solid #e5e7eb;background:#fafafa;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 auto;}
.hp-top-rated-logo img{width:100%;height:100%;object-fit:contain;}
.hp-top-rated-tag{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;font-size:10px;line-height:1.3;font-weight:700;border:1px solid #f6d67a;background:#fff8e1;color:#8a5a00;margin-bottom:6px;}
.hp-top-rated-name{font-weight:900;font-size:15px;line-height:1.25;margin:0;}
.hp-top-rated-meta{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:13px;color:#374151;}
.hp-top-rated-star{color:#f59e0b;}
.hp-top-rated-desc{margin:8px 0 0;color:#4b5563;font-size:13px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.9em;}
.hp-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto!important;padding-top:12px;}
.hp-view{padding:9px 11px;border-radius:11px;font-weight:800;flex:0 0 auto;font-size:13px;}

/* Explore by use case */
.hp-intent{margin-top:24px!important;}
.hp-intent-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;margin-top:12px!important;}
.hp-intent-card{display:flex!important;flex-direction:column!important;gap:6px!important;padding:16px 18px!important;border-radius:14px!important;background:#fff!important;border:1px solid #e5e7eb!important;text-decoration:none!important;color:#111827!important;transition:all .15s ease!important;}
.hp-intent-card strong{display:block!important;font-size:15px!important;line-height:1.3!important;font-weight:700!important;color:#111827!important;}
.hp-intent-card span{display:block!important;font-size:13px!important;line-height:1.5!important;color:#6b7280!important;}
.hp-intent-card:hover{background:#f8fafc!important;border-color:#cbd5e1!important;transform:translateY(-1px)!important;}
.hp-intent-card::after{content:"→"!important;display:block!important;font-size:14px!important;color:#9ca3af!important;margin-top:2px!important;}

/* Mini SEO */
.hp-seo{margin-top:28px!important;max-width:900px!important;}
.hp-seo-text{max-width:100%!important;color:#6b7280!important;font-size:15px!important;line-height:1.6!important;}

/* Cookie banner in case not inline-styled */
.cookie-banner{position:fixed;bottom:20px;left:20px;right:20px;max-width:480px;background:#111827;color:#fff;padding:16px;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.2);font-size:14px;z-index:9999;}
.cookie-banner a{color:#93c5fd;}
.cookie-actions{margin-top:10px;display:flex;gap:10px;}
.cookie-actions button{border:none;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:13px;}
#accept-cookies{background:#2563eb;color:#fff;} #reject-cookies{background:#374151;color:#fff;}

/* Responsive */
@media (max-width:980px){
  .hp-grid{grid-template-columns:repeat(2,1fr);} 
  .hp-top-rated-grid{grid-template-columns:repeat(2,1fr);} 
  .hp-h1{font-size:34px!important;}
}
@media (max-width:1024px){
  .hp-hero,.hp-kicker,.hp-h1,.hp-sub{text-align:center!important;}
  .hp-h1{max-width:760px!important;font-size:38px!important;margin-left:auto!important;margin-right:auto!important;}
  .hp-sub{max-width:640px!important;margin-left:auto!important;margin-right:auto!important;}
  .hp-search{max-width:100%!important;}
  .hp-hero-row{justify-content:center!important;}
  .hp-hero::before{background:linear-gradient(to right,rgba(255,255,255,.62),rgba(255,255,255,.48)),url('/wp-content/uploads/medical-hero-blur.jpg') center center/cover no-repeat!important;}
  .hp-intent-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width:768px){
  .main-navigation .main-nav ul ul{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;}
  .main-navigation .main-nav ul ul li a{padding:10px 14px!important;border-radius:0!important;}
  .hp-wrap{padding:20px 14px;}
  .hp-featured-card{flex-direction:column;align-items:stretch;}
  .hp-featured-cta .hp-btn{width:100%;}
  .hp-grid{grid-template-columns:1fr;}
  .hp-top-rated-grid{grid-template-columns:1fr;}
  .hp-h1{max-width:100%!important;font-size:34px!important;line-height:1.2!important;}
  .hp-sub{max-width:100%!important;font-size:15px!important;}
  .hp-hero-row{flex-direction:column!important;align-items:stretch!important;}
  .hp-search{flex-direction:column!important;align-items:stretch!important;gap:10px!important;}
  .hp-search input,.hp-search button,.hp-hero-row .hp-btn{width:100%!important;}
  .hp-hero::before{background:linear-gradient(to bottom,rgba(255,255,255,.72),rgba(255,255,255,.56)),url('/wp-content/uploads/medical-hero-blur.jpg') center center/cover no-repeat!important;}
  .hp-intent-grid{grid-template-columns:1fr!important;}
  .hp-intent-card{padding:14px 16px!important;}
  .hp-section-h{align-items:flex-start!important;}
  .hp-title{font-size:17px!important;}
  .hp-meta{margin-left:0!important;}
  .cookie-banner{left:10px;right:10px;}
}
/* =========================================================
   HOME FINAL PATCH
========================================================= */

/* 1) HERO: buscador + CTA en la misma fila en desktop/tablet */
.hp-hero-row{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  flex-wrap:nowrap !important;
}

.hp-search{
  flex:1 1 auto !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
}

.hp-search input{
  flex:1 1 auto !important;
  min-width:0 !important;
}

.hp-search button{
  flex:0 0 auto !important;
}

.hp-hero-row .hp-btn,
.hp-hero-row .hp-btn--ghost{
  flex:0 0 auto !important;
  white-space:nowrap !important;
  margin-top:0 !important;
}

/* 2) EXPLORE BY USE CASE: flecha alineada dentro de la card */
.hp-intent-card{
  position:relative !important;
  padding:16px 44px 16px 18px !important;
}

.hp-intent-card::after{
  content:"?" !important;
  position:absolute !important;
  right:16px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  margin-top:0 !important;
  display:block !important;
  color:#9ca3af !important;
  font-size:16px !important;
  line-height:1 !important;
}

/* 3) TABLET: mismo mega men que desktop */
@media (min-width: 769px){
  .main-navigation .main-nav > ul > li:nth-child(2) > ul{
    width:600px !important;
    min-width:600px !important;
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    gap:10px 18px !important;
    padding:18px !important;
    background:#fff !important;
    border:1px solid #e5e7eb !important;
    border-radius:16px !important;
    box-shadow:0 12px 30px rgba(0,0,0,.08) !important;
  }

  .main-navigation .main-nav > ul > li:nth-child(2) > ul > li > a{
    display:block !important;
    padding:10px 12px !important;
    border-radius:10px !important;
    white-space:normal !important;
    line-height:1.4 !important;
  }

  .main-navigation .main-nav > ul > li:nth-child(2) > ul > li > a:hover{
    background:#f8fafc !important;
  }
}

/* 4) TABLET: hero un poco ms compacto */
@media (max-width: 1024px){
  .hp-hero{
    padding:24px 18px !important;
  }

  .hp-h1{
    font-size:38px !important;
    line-height:1.15 !important;
    max-width:760px !important;
    margin:0 auto 12px !important;
  }

  .hp-sub{
    max-width:640px !important;
    margin:0 auto 18px !important;
  }
}

/* 5) MVIL: apilar bien y reducir altura del hero */
@media (max-width: 768px){
  .hp-hero{
    padding:18px 14px !important;
    min-height:auto !important;
  }

  .hp-hero::before{
    background-position:center center !important;
    background-size:cover !important;
  }

  .hp-h1{
    font-size:34px !important;
    line-height:1.18 !important;
    max-width:100% !important;
  }

  .hp-sub{
    max-width:100% !important;
    margin:0 auto 16px !important;
  }

  .hp-hero-row{
    flex-direction:column !important;
    align-items:stretch !important;
    gap:10px !important;
  }

  .hp-search{
    width:100% !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:10px !important;
  }

  .hp-search input,
  .hp-search button,
  .hp-hero-row .hp-btn,
  .hp-hero-row .hp-btn--ghost{
    width:100% !important;
  }

  .hp-intent-card{
    padding:14px 42px 14px 16px !important;
  }

  .hp-intent-card::after{
    right:14px !important;
  }
}

/* =========================================================
   FINAL MENU + INTENT FIX
========================================================= */

/* 1) Features + Best Software: mismo estilo limpio en tablet/desktop */
@media (min-width: 769px){
  .main-navigation .main-nav > ul > li:nth-child(3) > ul,
  .main-navigation .main-nav > ul > li:nth-child(4) > ul{
    background: #fff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 16px !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.08) !important;
    padding: 10px !important;
  }

  .main-navigation .main-nav > ul > li:nth-child(3) > ul{
    width: 200px !important;
    min-width: 200px !important;
  }

  .main-navigation .main-nav > ul > li:nth-child(4) > ul{
    width: 240px !important;
    min-width: 240px !important;
  }

  .main-navigation .main-nav > ul > li:nth-child(3) > ul > li > a,
  .main-navigation .main-nav > ul > li:nth-child(4) > ul > li > a{
    display: block !important;
    padding: 10px 12px !important;
    border-radius: 10px !important;
    white-space: normal !important;
    line-height: 1.4 !important;
    font-size: 14px !important;
    color: #111827 !important;
    background: transparent !important;
  }

  .main-navigation .main-nav > ul > li:nth-child(3) > ul > li > a:hover,
  .main-navigation .main-nav > ul > li:nth-child(4) > ul > li > a:hover{
    background: #f8fafc !important;
  }
}

/* 2) Explore by use case: quitar smbolo raro y meter flecha real */
.hp-intent-card::after{
  content: none !important;
}

.hp-intent-card{
  position: relative !important;
  padding-right: 44px !important;
}

.hp-intent-card::before{
  content: "\2192" !important; /* flecha ? */
  position: absolute !important;
  right: 16px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: #9ca3af !important;
  font-size: 18px !important;
  line-height: 1 !important;
  font-family: Arial, sans-serif !important;
}

/* mvil: flecha un poco ms pegada */
@media (max-width: 768px){
  .hp-intent-card{
    padding-right: 40px !important;
  }

  .hp-intent-card::before{
    right: 14px !important;
    font-size: 17px !important;
  }
}

/* =========================================================
   INTERNAL LINKS BLOCK
========================================================= */

.sp-internal-links,
.tx-internal-links,
.best-internal-links{
  margin: 24px 0 28px;
}

.sp-internal-links__title{
  margin: 0 0 14px;
  font-size: 18px;
  line-height: 1.25;
}

.sp-internal-links__grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.sp-internal-links__card{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  background: #fff;
  text-decoration: none;
  color: #111827;
  transition: all .15s ease;
}

.sp-internal-links__card:hover{
  background: #f8fafc;
  border-color: #cbd5e1;
  transform: translateY(-1px);
}

.sp-internal-links__label{
  display: block;
  font-size: 14px;
  line-height: 1.45;
  font-weight: 500;
}

.sp-internal-links__arrow{
  flex: 0 0 auto;
  color: #9ca3af;
  font-size: 16px;
  line-height: 1;
}

/* Single: un poco ms integrado con bloques */
.sp-internal-links--single{
  margin-top: 20px;
}

/* Landing: puede quedar algo ms compacto */
.best-internal-links .sp-internal-links__grid{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Mvil */
@media (max-width: 768px){
  .sp-internal-links__grid{
    grid-template-columns: 1fr;
  }
}

/* Single: mejorar visual del bloque */

.sp-internal-links--single .sp-internal-links__grid{
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 10px;
}

.sp-internal-links--single .sp-internal-links__card{
  background: #f9fafb;
  border-color: #e5e7eb;
}

.sp-internal-links--single .sp-internal-links__card:hover{
  background: #f1f5f9;
}

/* Programmatic landing refinements */
.best-intent{
  margin: 18px 0 24px;
}

.best-seo{
  margin-top: 28px;
  margin-bottom: 20px;
}

/* =========================================================
   PROGRAMMATIC RELATED LINKS (HIGH CTR VERSION)
========================================================= */

.best-internal-links{
  margin: 16px 0 28px;
}

/* ttulo */
.best-internal-links .sp-internal-links__title{
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 12px;
}

/* grid */
.best-internal-links .sp-internal-links__grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px;
}

/* cards */
.best-internal-links .sp-internal-links__card{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;

  padding: 14px 16px;

  background: #ffffff !important;
  border: 1px solid #d1d5db !important;
  border-radius: 14px !important;

  box-shadow: 0 1px 2px rgba(0,0,0,0.04);

  text-decoration: none;
  color: #111827;

  transition: all .18s ease;
}

.best-internal-links .sp-internal-links__card{
  background: #f8fafc !important;
  border: 1px solid #d1d5db !important;
}

/* hover potente */
.best-internal-links .sp-internal-links__card:hover{
  background: #e9eef5 !important;
  border-color: #9ca3af !important;
  transform: translateY(-2px);
}

/* texto */
.best-internal-links .sp-internal-links__label{
  font-size: 14px;
  line-height: 1.4;
  font-weight: 500;
}

/* flecha */
.best-internal-links .sp-internal-links__arrow{
  color: #6b7280;
  font-size: 16px;
}

/* mvil */
@media (max-width: 768px){
  .best-internal-links .sp-internal-links__grid{
    grid-template-columns: 1fr;
  }
}
/* =========================================================
   Leads / Get pricing
========================================================= */

.sp-lead-page .sp-grid{
	grid-template-columns: minmax(0,1.2fr) minmax(280px,.8fr);
}

.sp-lead-form{
	display:grid;
	gap:16px;
	margin-top:10px;
}

.sp-form-row{
	margin:0;
	display:grid;
	gap:6px;
}

.sp-form-row label{
	font-weight:600;
	font-size:14px;
	color:#111827;
}

.sp-form-row input,
.sp-form-row select,
.sp-form-row textarea{
	width:100%;
	border:1px solid #d1d5db;
	border-radius:12px;
	padding:12px 14px;
	background:#fff;
	font:inherit;
	color:#111827;
}

.sp-form-row textarea{
	resize:vertical;
	min-height:120px;
}

.sp-form-actions{
	margin:0;
}

.sp-form-alert{
	padding:12px 14px;
	border-radius:12px;
	margin-bottom:16px;
	font-size:14px;
}

.sp-form-alert--success{
	background:#f0fdf4;
	border:1px solid #bbf7d0;
	color:#166534;
}

.sp-form-alert--error{
	background:#fef2f2;
	border:1px solid #fecaca;
	color:#991b1b;
}

.sp-hp-field{
	position:absolute !important;
	left:-9999px !important;
	width:1px !important;
	height:1px !important;
	overflow:hidden !important;
}

@media (max-width: 860px){
	.sp-lead-page .sp-grid{
		grid-template-columns: 1fr;
	}
}

/* =========================================================
   Lead page
========================================================= */

.sp-lead-wrap{
	max-width: 980px;
}

.sp-lead-card{
	padding: 0;
	overflow: hidden;
}

.sp-lead-hero{
	display:grid;
	grid-template-columns:110px 1fr;
	gap:20px;
	padding:28px;
	border-bottom:1px solid #e5e7eb;
	align-items:start;
}

.sp-lead-logo{
	width:110px;
	height:110px;
	border:1px solid #e5e7eb;
	border-radius:16px;
	background:#fff;
	display:flex;
	align-items:center;
	justify-content:center;
	overflow:hidden;
}

.sp-lead-logo img{
	width:100%;
	height:100%;
	object-fit:contain;
}

.sp-lead-copy{
	min-width:0;
}

.sp-lead-subtle{
	margin-top:8px;
}

.sp-lead-benefits{
	margin:14px 0 0;
	padding-left:18px;
	color:#4b5563;
}

.sp-lead-formbox{
	padding:28px;
}

.sp-lead-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:16px;
}

.sp-lead-form{
	display:grid;
	gap:16px;
}

.sp-form-row{
	margin:0;
	display:grid;
	gap:6px;
}

.sp-form-row label{
	font-weight:600;
	font-size:14px;
	color:#111827;
}

.sp-form-row input,
.sp-form-row select,
.sp-form-row textarea{
	width:100%;
	border:1px solid #d1d5db;
	border-radius:12px;
	padding:12px 14px;
	background:#fff;
	font:inherit;
	color:#111827;
}

.sp-form-row textarea{
	resize:vertical;
	min-height:120px;
}

.sp-form-actions{
	margin:0;
}

.sp-form-alert{
	padding:12px 14px;
	border-radius:12px;
	margin-bottom:16px;
	font-size:14px;
}

.sp-form-alert--success{
	background:#f0fdf4;
	border:1px solid #bbf7d0;
	color:#166534;
}

.sp-form-alert--error{
	background:#fef2f2;
	border:1px solid #fecaca;
	color:#991b1b;
}

.sp-hp-field{
	position:absolute !important;
	left:-9999px !important;
	width:1px !important;
	height:1px !important;
	overflow:hidden !important;
}

.sp-lead-empty{
	padding:32px 28px;
}

@media (max-width: 860px){
	.sp-lead-hero{
		grid-template-columns:1fr;
	}

	.sp-lead-logo{
		width:88px;
		height:88px;
	}

	.sp-lead-grid{
		grid-template-columns:1fr;
	}
}

/* =========================================================
   SINGLE SOFTWARE  CTA CLEANUP & SPACING
========================================================= */

/* HERO CTA (solo botn Official site) */
.sp-cta {
  margin-top: 14px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

/* Ajuste de meta (rating + badges) */
.sp-meta {
  margin-top: 8px;
}

/* Evitar hueco raro si hay pocos elementos arriba */
.sp-hero-copy {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* KEY FACTS CTA (botn principal) */
.sp-kv .sp-btn {
  width: 100%;
  margin-top: 10px;
}

/* Separacin entre bloques principales */
.sp-section {
  margin-top: 24px;
}

/* BLOQUE FINAL (Ready to evaluate) */
.sp-section--outer {
  margin-top: 32px;
}

/* CTA inferior ms ligero (no agresivo) */
.sp-cta--bottom {
  margin-top: 12px;
}

/* Evitar que el botn fantasma quede muy flojo */
.sp-cta--bottom .sp-btn--ghost {
  border: 1px solid #e5e7eb;
}

/* Responsive pequeo ajuste */
@media (max-width: 768px) {
  .sp-section {
    margin-top: 20px;
  }

  .sp-section--outer {
    margin-top: 24px;
  }
}

/* =========================================================
   RATING / STARS  SINGLE SOFTWARE
========================================================= */

.sp-meta {
  margin-top: 10px;
}

.sp-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;

  padding: 6px 10px;

  background: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: 999px;

  font-size: 13px;
  line-height: 1;
}

/* estrellas */
.sp-stars {
  display: inline-flex;
  gap: 2px;
}

.sp-star {
  font-size: 14px;
  line-height: 1;
}

/* estrella llena */
.sp-star--full {
  color: #fbbf24; /* amarillo tipo SaaS */
}

/* media estrella */
.sp-star--half {
  color: #fbbf24;
  opacity: 0.6;
}

/* estrella vaca */
.sp-star--empty {
  color: #e5e7eb;
}

/* nmero (4.5/5) */
.sp-badge strong {
  font-weight: 600;
  color: #111827;
}
.sp-badge {
  box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}

/* Ready to evaluate: mejor equilibrado */
.sp-cta--bottom{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:12px;
}

.sp-cta--bottom .sp-btn{
  flex:0 0 auto;
}

@media (max-width: 768px){
  .sp-cta--bottom .sp-btn{
    width:100%;
  }
}

.sp-stars {
	display: inline-flex;
	gap: 2px;
	font-size: 16px;
	line-height: 1;
}

.sp-star--full {
	color: #f59e0b;
}

.sp-star--half {
	color: #f59e0b;
	opacity: 0.6;
}

.sp-star--empty {
	color: #d1d5db;
}

/* HIPAA pill en hero */
.sp-pill {
  display:inline-flex;
  align-items:center;
  padding:5px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:500;
  border:1px solid #e5e7eb;
  background:#f9fafb;
}

.sp-pill--hipaa{
  color:#065f46;
  background:#ecfdf5;
  border-color:#bbf7d0;
}

.sp-wysiwyg p{
  margin: 0 0 16px;
}
.sp-wysiwyg p:last-child{
  margin-bottom: 0;
}

.sp-wysiwyg p{
  margin-bottom: 18px;
  line-height: 1.65;
}

.sp-btn-primary{
  font-weight: 600;
  padding: 12px 18px;
}

.sp-explore-more {
  padding: 20px;
}

.sp-explore-more h3 {
  margin-bottom: 12px;
}

.sp-explore-more .sp-links-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.sp-explore-more a {
  display: block;
  background: #f9fafb;
  padding: 10px 12px;
  border-radius: 8px;
  text-decoration: none;
}

.sp-explore-more{
  padding: 20px;
  margin-top: 20px;
}

.sp-explore-more__grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.sp-explore-more__link{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #fff;
  text-decoration: none;
  color: inherit;
  transition: all .2s ease;
}

.sp-explore-more__link:hover{
  border-color: #cbd5e1;
  transform: translateY(-1px);
}

.sp-explore-more__text{
  font-weight: 500;
  line-height: 1.4;
}

.sp-explore-more__arrow{
  flex: 0 0 auto;
  opacity: .7;
}

@media (max-width: 768px){
  .sp-explore-more__grid{
    grid-template-columns: 1fr;
  }
}

/* ===== GET PRICING  MICRO UX IMPROVEMENTS ===== */

/* Ms aire en hero */
.sp-lead-hero {
	gap: 20px;
}

.sp-lead-copy .sp-title {
	margin-bottom: 8px;
}

.sp-lead-copy .sp-sub {
	max-width: 640px;
}

/* Beneficios ms compactos */
.sp-lead-benefits {
	margin-top: 12px;
	padding-left: 18px;
}

.sp-lead-benefits li {
	margin-bottom: 6px;
	line-height: 1.5;
}

/* Formulario ms limpio */
.sp-lead-formbox {
	margin-top: 18px;
}

.sp-form-row label {
	display: block;
	margin-bottom: 6px;
	font-weight: 600;
}

.sp-form-row input,
.sp-form-row select,
.sp-form-row textarea {
	width: 100%;
	border-radius: 10px;
	border: 1px solid #dbe3ee;
	padding: 10px 12px;
	font-size: 14px;
}

/* Mejor foco (UX importante) */
.sp-form-row input:focus,
.sp-form-row select:focus,
.sp-form-row textarea:focus {
	outline: none;
	border-color: #2563eb;
	box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.15);
}

/* CTA ms claro */
.sp-form-actions {
	margin-top: 10px;
}

.sp-form-actions .sp-btn {
	width: 100%;
	font-weight: 600;
	padding: 12px;
}

/* Microcopy ms suave */
.sp-lead-note {
	font-size: 13px;
	color: #64748b;
	margin-top: 8px;
}

/* Espaciado bloques inferiores */
.sp-section--outer {
	margin-top: 18px;
}

.sp-form-row textarea {
	min-height: 110px;
}

/* =========================================================
   SINGLE SOFTWARE  fix explore more + overview spacing
========================================================= */

/* Ms aire entre prrafos de Overview */
.sp-wysiwyg p{
  margin: 0 0 18px;
  line-height: 1.7;
}

.sp-wysiwyg p:last-child{
  margin-bottom: 0;
}

/* El bloque Explore more debe respirar igual que el resto */
.sp-internal-links--single{
  margin: 0 20px 20px;
}

.sp-internal-links--single .sp-internal-links__title{
  margin: 0 0 14px;
  font-size: 16px;
  line-height: 1.25;
}

@media (max-width: 620px){
  .sp-internal-links--single{
    margin: 0 18px 18px;
  }
}

/* Overview: ms espacio entre prrafos */
.sp-overview-copy p {
  margin: 0 0 22px !important;
  line-height: 1.75;
}

.sp-overview-copy p:last-child {
  margin-bottom: 0 !important;
}

.sp-overview-copy p{
  margin: 0 0 24px !important;
  line-height: 1.75 !important;
}

.sp-overview-copy p:last-child{
  margin-bottom: 0 !important;
}

.sp-overview-copy br + br{
  display:block;
  margin-bottom:18px;
}

/* =========================================================
   SINGLE SOFTWARE  Overview card + SaaS spacing
========================================================= */

.sp-overview-card{
  align-self: stretch;
}

.sp-overview-copy{
  color:#374151;
  font-size:15px;
  line-height:1.72;
}

.sp-overview-copy p{
  margin:0 0 18px !important;
}

.sp-overview-copy p:last-child{
  margin-bottom:0 !important;
}

/* Si el contenido viene con saltos dobles en vez de <p> */
.sp-overview-copy br + br{
  display:block;
  content:"";
  margin-bottom:14px;
}

/* Un poco ms compacto y limpio para que se parezca a Key facts */
.sp-overview-card .sp-h{
  margin-bottom:12px;
}

/* Evita que el bloque de texto se vea demasiado ancho visualmente */
.sp-overview-card .sp-overview-copy{
  max-width:72ch;
}

/* Tooltip rating */
.sp-rating-badge {
  position: relative;
  gap: 6px;
}

.sp-tooltip {
  position: relative;
  display: inline-flex;
  align-items: center;
  font-size: 12px;
  color: #9ca3af;
  cursor: help;
}

.sp-tooltip-text {
  position: absolute;
  bottom: 130%;
  left: 50%;
  transform: translateX(-50%);

  background: #111827;
  color: #fff;
  padding: 6px 8px;
  border-radius: 6px;

  font-size: 11px;
  white-space: nowrap;

  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s ease;
  z-index: 10;
}

.sp-tooltip:hover .sp-tooltip-text {
  opacity: 1;
}

.sp-tooltip-icon {
  width: 14px;
  height: 14px;
  color: #9ca3af;
}

/* Single  Ready to evaluate: mantener CTAs mejor en una fila */
.sp-cta--bottom-tight{
  display:flex;
  flex-wrap:nowrap;
  gap:10px;
}

.sp-cta--bottom-tight .sp-btn--compact{
  flex:1 1 0;
  min-width:0;
  font-size:13px;
  padding:10px 12px;
  text-align:center;
  white-space:normal;
  line-height:1.25;
}

@media (max-width: 768px){
  .sp-cta--bottom-tight{
    flex-wrap:wrap;
  }

  .sp-cta--bottom-tight .sp-btn--compact{
    width:100%;
  }
}
/* Rating tooltip */
.sp-rating-badge{
  position:relative;
  gap:6px;
}

.sp-tooltip{
  position:relative;
  display:inline-flex;
  align-items:center;
  font-size:12px;
  color:#9ca3af;
  cursor:help;
}

.sp-tooltip-icon{
  width:14px;
  height:14px;
  color:#9ca3af;
}

.sp-tooltip-text{
  position:absolute;
  bottom:130%;
  left:50%;
  transform:translateX(-50%);
  background:#111827;
  color:#fff;
  padding:6px 8px;
  border-radius:6px;
  font-size:11px;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transition:opacity .15s ease;
  z-index:10;
}

.sp-tooltip:hover .sp-tooltip-text{
  opacity:1;
}

/* Ready to evaluate: dos botones mejor resueltos */
.sp-cta--bottom-tight{
  display:flex;
  flex-wrap:nowrap;
  gap:10px;
}

.sp-cta--bottom-tight .sp-btn--compact{
  flex:1 1 0;
  min-width:0;
  font-size:13px;
  padding:10px 12px;
  text-align:center;
  white-space:normal;
  line-height:1.25;
}

@media (max-width:768px){
  .sp-cta--bottom-tight{
    flex-wrap:wrap;
  }

  .sp-cta--bottom-tight .sp-btn--compact{
    width:100%;
  }
}

/* Single software - overview readability */
.sp-overview-copy p {
	margin-bottom: 14px;
}

.sp-overview-copy p:last-child {
	margin-bottom: 0;
}

.sp-data-note {
	margin-top: 18px;
	padding-top: 14px;
	border-top: 1px solid #e5e7eb;
	font-size: 13px;
	line-height: 1.6;
	color: #64748b;
}


/* Single software - improve Overview paragraph spacing */
.sp-card .sp-overview-card .sp-overview-copy p {
	margin-top: 0;
	margin-bottom: 18px;
	line-height: 1.75;
}

.sp-card .sp-overview-card .sp-overview-copy p:last-child {
	margin-bottom: 0;
}

.sp-card .sp-overview-card .sp-overview-copy .sp-data-note {
	margin-top: 22px;
	margin-bottom: 0;
	padding-top: 14px;
	border-top: 1px solid #e5e7eb;
	font-size: 13px;
	line-height: 1.6;
	color: #64748b;
}

/* Taxonomy FAQ - fix corrupted open/close marker */
.tx-faq-item summary {
	position: relative;
	list-style: none;
	cursor: pointer;
	padding-right: 34px;
}

.tx-faq-item summary::-webkit-details-marker {
	display: none;
}

.tx-faq-item summary::marker {
	content: "";
}

.tx-faq-item summary::after {
	content: "+" !important;
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	color: #64748b;
}

.tx-faq-item[open] summary::after {
	content: "-" !important;
}

/* Taxonomy methodology block */
.sp-category-methodology {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 18px;
	padding: 20px;
	margin: 28px 0;
}

.sp-category-methodology h2 {
	margin: 0 0 10px;
	font-size: 20px;
	line-height: 1.3;
}

.sp-category-methodology .sp-category-seo__lead {
	max-width: none;
	margin: 0;
	font-size: 14px;
	line-height: 1.7;
	color: #475569;
}

/* Taxonomy pagination directly after software grid */
.tx-listing .tx-pagination {
	margin: 22px 0 0;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
}

/* Get Pricing - consent checkbox inline alignment */
.sp-lead-form .sp-consent-row {
	display: grid;
	grid-template-columns: 16px 1fr;
	column-gap: 8px;
	align-items: start;
	margin: 14px 0 16px;
}

.sp-lead-form .sp-consent-checkbox {
	width: 14px !important;
	height: 14px !important;
	min-width: 14px !important;
	margin: 3px 0 0 0 !important;
	padding: 0 !important;
	display: block;
}

.sp-lead-form .sp-consent-text {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 12px;
	line-height: 1.45;
	font-weight: 600;
	color: #334155;
}

.sp-lead-form .sp-consent-text a {
	font-weight: 700;
	text-decoration: underline;
}

/* Programmatic software pages - corrected width */
.best-wrap {
	max-width: 900px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
	overflow-x: visible;
}

.best-wrap,
.best-wrap * {
	box-sizing: border-box;
}

/* Keep the software grid inside the page width */
.best-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	width: 100%;
	max-width: 100%;
}

.best-card {
	min-width: 0;
	width: 100%;
}

.best-main {
	min-width: 0;
}

.best-main-content {
	min-width: 0;
}

.best-title {
	overflow-wrap: anywhere;
}

/* Prevent CTA buttons from being clipped */
.best-btn {
	flex: 0 0 auto;
	white-space: nowrap;
}

/* Methodology block */
.best-methodology {
	width: 100%;
	max-width: 100%;
	margin: 28px 0 26px;
	padding: 20px;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 18px;
}

.best-methodology h2 {
	margin: 0 0 10px;
	font-size: 20px;
	line-height: 1.3;
}

.best-methodology .sp-category-seo__lead {
	max-width: none !important;
	margin: 0;
	font-size: 14px;
	line-height: 1.7;
	color: #475569;
}

/* Bottom SEO block */
.best-seo {
	width: 100%;
	max-width: 100%;
	margin: 0 0 24px !important;
	padding: 0 !important;
}

.best-seo h2 {
	margin: 0 0 10px;
	font-size: 20px;
	line-height: 1.3;
}

.best-seo .sp-category-seo__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 28px;
	width: 100%;
	max-width: 100%;
	margin: 0;
}

.best-seo .sp-category-seo__lead {
	grid-column: 1 / -1;
	max-width: none !important;
	margin: 0;
	font-size: 14px;
	line-height: 1.7;
	color: #475569;
}

.best-seo .sp-category-seo__item {
	min-width: 0;
}

.best-seo .sp-category-seo__item h3 {
	margin: 0 0 8px;
	font-size: 15px;
	line-height: 1.3;
}

.best-seo .sp-category-seo__item p {
	margin: 0;
	font-size: 14px;
	line-height: 1.7;
	color: #475569;
}

@media (max-width: 680px) {
	.best-wrap {
		padding-left: 16px;
		padding-right: 16px;
	}

	.best-grid,
	.best-seo .sp-category-seo__grid {
		grid-template-columns: 1fr;
	}
}

/* Categories page - align hero with taxonomy/programmatic pages */
.pgcat-title {
	margin: 0 0 10px;
	font-size: 30px;
	line-height: 1.2;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: #0f172a;
}

@media (max-width: 680px) {
	.pgcat-title {
		font-size: 28px;
	}
}

.pgcat-intro {
	margin: 0;
	font-size: 15px;
	line-height: 1.65;
	color: #475569;
	max-width: none;
	width: 100%;
}

.pgcat-seo-card p,
.pgcat-context p,
.pgcat-methodology p {
	max-width: none;
	width: 100%;
}

.pgcat-context{
	background:#fff;
	border:1px solid #e5e7eb;
	border-radius:18px;
	padding:20px;
	margin-top:24px;
}

.pgcat-context h2{
	margin:0 0 10px;
	font-size:20px;
	line-height:1.3;
	font-weight:700;
	color:#0f172a;
}

.pgcat-context p{
	margin:0;
	max-width:none;
	width:100%;
	font-size:14px;
	line-height:1.7;
	color:#475569;
}

/* Categories page - final hero alignment override */
body .pgcat-wrap .pgcat-hero .pgcat-title {
	margin: 0 0 10px !important;
	font-size: 30px !important;
	line-height: 1.2 !important;
	font-weight: 700 !important;
	letter-spacing: -0.02em !important;
	color: #0f172a !important;
}

body .pgcat-wrap .pgcat-hero .pgcat-intro {
	margin: 0 !important;
	font-size: 15px !important;
	line-height: 1.65 !important;
	color: #475569 !important;
	max-width: none !important;
	width: 100% !important;
}

body .pgcat-wrap .pgcat-context {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 18px;
	padding: 20px;
	margin-top: 24px;
}

body .pgcat-wrap .pgcat-context h2 {
	margin: 0 0 10px;
	font-size: 20px;
	line-height: 1.3;
	font-weight: 700;
	color: #0f172a;
}

body .pgcat-wrap .pgcat-context p {
	margin: 0 !important;
	max-width: none !important;
	width: 100% !important;
	font-size: 14px;
	line-height: 1.7;
	color: #475569;
}

@media (max-width: 680px) {
	body .pgcat-wrap .pgcat-hero .pgcat-title {
		font-size: 28px !important;
	}
}

/* Categories page - align hero with taxonomy pages */
.pgcat-hero.tx-hero {
	margin-bottom: 22px;
}

.pgcat-hero .tx-h1 {
	margin-bottom: 10px;
}

.pgcat-hero .tx-sub.pgcat-intro {
	max-width: none;
	width: 100%;
	margin-bottom: 0;
}

.pgcat-toolbar {
	margin-top: 18px;
}

/* Home - featured software card layout */
.hp-featured-card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 18px;
}

.hp-featured-left {
	min-width: 0;
	width: 100%;
}

.hp-featured-main {
	min-width: 0;
	width: 100%;
}

.hp-featured-desc {
	max-width: none;
}

.hp-featured-cta {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.hp-featured-cta .hp-btn {
	white-space: nowrap;
}

/* Home - top-rated cards button alignment */
.hp-soft-grid {
	align-items: stretch;
}

.hp-card {
	display: flex;
	flex-direction: column;
}

.hp-card .hp-desc {
	margin-bottom: 14px;
}

.hp-card .hp-row {
	margin-top: auto;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px;
}

.hp-card .hp-badges {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	min-width: 0;
}

.hp-card .hp-row .hp-btn {
	flex: 0 0 auto;
	white-space: nowrap;
	min-width: 92px;
	text-align: center;
}

/* Mobile */
@media (max-width: 680px) {
	.hp-featured-card {
		grid-template-columns: 1fr;
	}

	.hp-featured-cta {
		justify-content: flex-start;
	}

	.hp-card .hp-row {
		align-items: flex-start;
	}

	.hp-card .hp-row .hp-btn {
		min-width: auto;
	}
}

/* Home mobile - section headers */
@media (max-width: 680px) {
	.hp-section-h {
		display: block;
	}

	.hp-section-h .hp-title {
		margin-bottom: 6px;
		font-size: 24px;
		line-height: 1.25;
	}

	.hp-section-h .hp-muted {
		display: block;
		margin-top: 4px;
		font-size: 14px;
		line-height: 1.5;
	}
}

/* Single software - linked feature chips */
.sp-best-for-chip .sp-feature-chip-link {
	color: inherit;
	text-decoration: none;
}

.sp-best-for-chip .sp-feature-chip-link:hover {
	text-decoration: underline;
}

/* Best / Feature / Global landing pages - align desktop width with main templates */
@media (min-width: 769px) {
	.best-wrap {
		max-width: 1040px;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
		padding-left: 20px;
		padding-right: 20px;
	}

	.best-hero,
	.best-intent,
	.best-internal-links,
	.best-grid,
	.best-methodology,
	.best-seo,
	.hp-related-global {
		width: 100%;
		max-width: 100%;
	}

	.best-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Taxonomy specialty - mobile layout fixes */
@media (max-width: 768px) {

	.tx-wrap {
		padding-left: 16px;
		padding-right: 16px;
	}

	.tx-hero {
		padding: 22px 18px;
	}

	.tx-h1 {
		font-size: 30px;
		line-height: 1.18;
	}

	.tx-sub {
		font-size: 15px;
		line-height: 1.65;
	}

	.tx-controls {
		display: grid;
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.tx-search,
	.tx-search input,
	.tx-select,
	.tx-btn {
		width: 100%;
	}

	.tx-meta {
		margin-top: 0;
	}

	.sp-top-rated-grid {
		grid-template-columns: 1fr;
	}

	.sp-top-rated-card {
		padding: 16px;
	}

	.sp-top-rated-main {
		display: flex;
		align-items: flex-start;
		gap: 14px;
	}

	.sp-top-rated-btn {
		width: 100%;
		margin-top: 14px;
		text-align: center;
	}

	.tx-compare-table-wrap {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.tx-compare-table {
		min-width: 760px;
	}

	.tx-compare-table th,
	.tx-compare-table td {
		white-space: normal;
	}

	.tx-compare-link {
		white-space: nowrap;
	}

	.tx-grid {
		grid-template-columns: 1fr;
	}

	.tx-card {
		padding: 16px;
	}

	.tx-row {
		align-items: flex-start;
		gap: 12px;
	}

	.tx-view {
		width: 100%;
		text-align: center;
	}

	.sp-category-seo__grid {
		grid-template-columns: 1fr;
	}

	.sp-internal-links__grid,
	.tx-other-grid {
		grid-template-columns: 1fr;
	}
}

/* Taxonomy specialty - stronger mobile overflow fix */
@media (max-width: 768px) {

	html,
	body {
		max-width: 100%;
		overflow-x: hidden;
	}

	.tx-wrap,
	.tx-wrap *,
	.tx-hero,
	.tx-intent,
	.sp-top-rated,
	.tx-compare,
	.tx-listing,
	.sp-category-seo,
	.tx-faq,
	.tx-other {
		box-sizing: border-box;
	}

	.tx-wrap {
		width: 100%;
		max-width: 100%;
		padding-left: 14px;
		padding-right: 14px;
		overflow-x: hidden;
	}

	.tx-hero,
	.tx-intent,
	.sp-top-rated,
	.tx-compare,
	.tx-listing,
	.sp-category-seo,
	.tx-faq,
	.tx-other,
	.sp-internal-links {
		width: 100%;
		max-width: 100%;
		overflow: hidden;
	}

	.tx-h1 {
		max-width: 100%;
		font-size: 28px;
		line-height: 1.18;
		letter-spacing: -0.02em;
		overflow-wrap: break-word;
		word-break: normal;
	}

	.tx-sub {
		max-width: 100%;
		overflow-wrap: break-word;
	}

	.tx-controls {
		width: 100%;
		max-width: 100%;
		display: grid;
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.tx-controls > * {
		width: 100%;
		max-width: 100%;
	}

	.tx-search input,
	.tx-select,
	.tx-btn {
		width: 100%;
		max-width: 100%;
	}

	/* Top-rated cards */
	.sp-top-rated-grid {
		display: grid;
		grid-template-columns: 1fr;
		gap: 14px;
		width: 100%;
		max-width: 100%;
	}

	.sp-top-rated-card {
		width: 100%;
		max-width: 100%;
		overflow: hidden;
	}

	.sp-top-rated-main {
		width: 100%;
		max-width: 100%;
	}

	.sp-top-rated-content {
		min-width: 0;
		max-width: 100%;
	}

	.sp-top-rated-name,
	.sp-top-rated-desc {
		overflow-wrap: break-word;
	}

	.sp-top-rated-btn {
		display: block;
		width: 100%;
		max-width: 100%;
		margin-top: 14px;
		text-align: center;
		white-space: nowrap;
	}

	/* Comparison table: keep scroll inside the table wrapper */
	.tx-compare {
		overflow: visible;
	}

	.tx-compare-table-wrap {
		display: block;
		width: 100%;
		max-width: 100%;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		border-radius: 16px;
	}

	.tx-compare-table {
		width: 760px;
		min-width: 760px;
		max-width: none;
	}

	.tx-compare-table th,
	.tx-compare-table td {
		white-space: normal;
	}

	.tx-compare-link {
		white-space: nowrap;
	}

	/* Main listing cards */
	.tx-grid {
		display: grid;
		grid-template-columns: 1fr;
		width: 100%;
		max-width: 100%;
		gap: 14px;
	}

	.tx-card {
		width: 100%;
		max-width: 100%;
		overflow: hidden;
	}

	.tx-row {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}

	.tx-badges {
		width: 100%;
	}

	.tx-view {
		display: block;
		width: 100%;
		max-width: 100%;
		text-align: center;
	}

	.sp-category-seo__grid,
	.sp-internal-links__grid,
	.tx-other-grid {
		display: grid;
		grid-template-columns: 1fr;
	}
}

/* Features hub page */
.pgfeat-wrap {
	max-width: 1040px;
	margin: 0 auto;
	padding: 32px 20px 56px;
}

.pgfeat-hero {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 20px;
	padding: 28px;
	margin-bottom: 22px;
}

.pgfeat-kicker {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #64748b;
	margin-bottom: 8px;
}

.pgfeat-title {
	margin: 0 0 10px;
	font-size: 32px;
	line-height: 1.15;
	font-weight: 700;
	color: #0f172a;
	letter-spacing: -0.02em;
}

.pgfeat-intro {
	margin: 0;
	font-size: 15px;
	line-height: 1.7;
	color: #475569;
	max-width: 820px;
}

.pgfeat-toolbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	margin-top: 18px;
	flex-wrap: wrap;
}

.pgfeat-search {
	flex: 1 1 420px;
}

.pgfeat-search input {
	width: 100%;
	height: 48px;
	border: 1px solid #dbe3ee;
	border-radius: 14px;
	padding: 0 16px;
	font-size: 15px;
}

.pgfeat-count {
	font-size: 14px;
	color: #64748b;
	white-space: nowrap;
}

.pgfeat-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.pgfeat-card {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 18px;
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	transition: .2s ease;
}

.pgfeat-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(15, 23, 42, .06);
}

.pgfeat-head {
	display: flex;
	align-items: flex-start;
	gap: 14px;
}

.pgfeat-icon {
	width: 52px;
	height: 52px;
	border-radius: 14px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: 800;
	color: #0f172a;
	flex: 0 0 52px;
	text-align: center;
}

.pgfeat-name {
	margin: 0;
	font-size: 21px;
	line-height: 1.25;
	font-weight: 800;
	color: #0f172a;
}

.pgfeat-meta {
	margin-top: 4px;
	font-size: 13px;
	color: #64748b;
}

.pgfeat-desc {
	margin: 0;
	font-size: 14px;
	line-height: 1.7;
	color: #475569;
	min-height: 72px;
}

.pgfeat-actions {
	margin-top: auto;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.pgfeat-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 14px;
	border-radius: 12px;
	background: #0f172a;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.pgfeat-link:hover {
	color: #fff;
	opacity: .92;
}

.pgfeat-context {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 18px;
	padding: 22px;
	margin-top: 24px;
}

.pgfeat-context h2 {
	margin: 0 0 10px;
	font-size: 20px;
	line-height: 1.3;
	font-weight: 700;
	color: #0f172a;
}

.pgfeat-context p {
	margin: 0;
	font-size: 14px;
	line-height: 1.7;
	color: #475569;
}

.pgfeat-no-results {
	display: none;
	background: #fff;
	border: 1px dashed #cbd5e1;
	border-radius: 18px;
	padding: 18px;
	margin-top: 18px;
	color: #64748b;
}

@media (max-width: 768px) {
	.pgfeat-wrap {
		padding: 24px 16px 48px;
	}

	.pgfeat-hero {
		padding: 22px 18px;
	}

	.pgfeat-title {
		font-size: 30px;
		line-height: 1.18;
	}

	.pgfeat-intro {
		font-size: 15px;
		line-height: 1.65;
	}

	.pgfeat-toolbar {
		display: grid;
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.pgfeat-search,
	.pgfeat-search input {
		width: 100%;
	}

	.pgfeat-grid {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.pgfeat-card {
		padding: 18px;
	}

	.pgfeat-desc {
		min-height: 0;
	}

	.pgfeat-link {
		width: 100%;
	}
}

/* Features hub - match categories card styling */
@media (min-width: 769px) {
	.pgfeat-wrap .pgfeat-grid {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 18px;
	}
}

.pgfeat-wrap .pgfeat-card {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 18px;
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	transition: .2s ease;
}

.pgfeat-wrap .pgfeat-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(15, 23, 42, .06);
}

.pgfeat-wrap .pgcat-head {
	display: flex;
	align-items: flex-start;
	gap: 14px;
}

.pgfeat-wrap .pgcat-icon {
	width: 48px;
	height: 48px;
	border-radius: 14px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	font-weight: 800;
	color: #0f172a;
	flex: 0 0 48px;
	text-align: center;
}

.pgfeat-wrap .pgcat-name {
	margin: 0;
	font-size: 20px;
	line-height: 1.2;
	font-weight: 800;
	color: #0f172a;
}

.pgfeat-wrap .pgcat-meta {
	margin-top: 4px;
	font-size: 13px;
	color: #64748b;
}

.pgfeat-wrap .pgcat-desc {
	margin: 0;
	font-size: 14px;
	line-height: 1.7;
	color: #475569;
	min-height: 72px;
}

.pgfeat-wrap .pgcat-actions {
	margin-top: auto;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.pgfeat-wrap .pgcat-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 14px;
	border-radius: 12px;
	background: #0f172a;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.pgfeat-wrap .pgcat-link:hover {
	color: #fff;
	opacity: .92;
	text-decoration: none;
}

@media (max-width: 768px) {
	.pgfeat-wrap .pgfeat-grid {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.pgfeat-wrap .pgcat-link {
		width: 100%;
	}
}

/* Features hub - align search toolbar with categories page */
.pgfeat-wrap .pgfeat-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: 18px;
	width: 100%;
}

.pgfeat-wrap .pgfeat-search {
	flex: 1 1 auto;
	min-width: 0;
}

.pgfeat-wrap .pgfeat-search input {
	width: 100%;
	max-width: none;
	height: 48px;
	border: 1px solid #dbe3ee;
	border-radius: 14px;
	padding: 0 16px;
	font-size: 15px;
}

.pgfeat-wrap .pgfeat-count {
	flex: 0 0 auto;
	white-space: nowrap;
	font-size: 14px;
	color: #64748b;
}

/* Mobile: stack like categories */
@media (max-width: 680px) {
	.pgfeat-wrap .pgfeat-toolbar {
		display: grid;
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.pgfeat-wrap .pgfeat-count {
		white-space: normal;
	}
}

/* Software Finder page */
.sf-wrap {
	max-width: 1040px;
	margin: 0 auto;
	padding: 32px 20px 56px;
}

.sf-hero {
	margin-bottom: 22px;
}

.sf-hero-sub {
	max-width: 820px;
}

.sf-note {
	margin: 12px 0 0;
	font-size: 13px;
	line-height: 1.6;
	color: #64748b;
	max-width: 820px;
}

.sf-card {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 20px;
	padding: 24px;
	margin-bottom: 22px;
}

.sf-questions {
	display: grid;
	gap: 22px;
}

.sf-question {
	border: 0;
	padding: 0;
	margin: 0;
}

.sf-question legend {
	display: block;
	margin: 0 0 12px;
	font-size: 16px;
	line-height: 1.35;
	font-weight: 800;
	color: #0f172a;
}

.sf-options {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.sf-option {
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 46px;
	padding: 11px 12px;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	background: #f8fafc;
	cursor: pointer;
	font-size: 14px;
	line-height: 1.35;
	color: #334155;
}

.sf-option:hover {
	background: #fff;
	border-color: #cbd5e1;
}

.sf-option input {
	flex: 0 0 auto;
	margin: 0;
}

.sf-option:has(input:checked) {
	background: #eef6ff;
	border-color: #93c5fd;
	color: #0f172a;
	font-weight: 700;
}

.sf-actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 22px;
}

.sf-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 16px;
	border: 1px solid #0f172a;
	border-radius: 12px;
	background: #0f172a;
	color: #fff;
	font-size: 14px;
	font-weight: 800;
	cursor: pointer;
}

.sf-btn:hover {
	opacity: .92;
}

.sf-btn--ghost {
	background: #fff;
	color: #0f172a;
	border-color: #dbe3ee;
}

.sf-results-section {
	margin-bottom: 22px;
}

.sf-section-h {
	margin-bottom: 16px;
}

.sf-section-h h2 {
	margin: 0 0 8px;
	font-size: 26px;
	line-height: 1.25;
	font-weight: 800;
	color: #0f172a;
}

.sf-section-h p {
	margin: 0;
	font-size: 14px;
	line-height: 1.7;
	color: #64748b;
	max-width: 820px;
}

.sf-results {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.sf-result-card {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 18px;
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	transition: .2s ease;
}

.sf-result-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(15, 23, 42, .06);
}

.sf-result-card h3 {
	margin: 0;
	font-size: 20px;
	line-height: 1.25;
	font-weight: 800;
	color: #0f172a;
}

.sf-result-card h3 a {
	color: inherit;
	text-decoration: none;
}

.sf-result-card h3 a:hover {
	text-decoration: underline;
}

.sf-result-card p {
	margin: 0;
	font-size: 14px;
	line-height: 1.7;
	color: #475569;
}

.sf-result-link {
	margin-top: auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	padding: 10px 14px;
	border-radius: 12px;
	background: #0f172a;
	color: #fff;
	font-size: 14px;
	font-weight: 800;
	text-decoration: none;
}

.sf-result-link:hover {
	color: #fff;
	opacity: .92;
	text-decoration: none;
}

.sf-methodology h2 {
	margin: 0 0 10px;
	font-size: 22px;
	line-height: 1.3;
	font-weight: 800;
	color: #0f172a;
}

.sf-methodology p {
	margin: 0;
	font-size: 14px;
	line-height: 1.7;
	color: #475569;
	max-width: 880px;
}

@media (max-width: 900px) {
	.sf-options {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 680px) {
	.sf-wrap {
		padding: 24px 16px 48px;
	}

	.sf-card {
		padding: 20px 18px;
	}

	.sf-options {
		grid-template-columns: 1fr;
	}

	.sf-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.sf-btn,
	.sf-result-link {
		width: 100%;
	}

	.sf-results {
		grid-template-columns: 1fr;
	}

	.sf-section-h h2 {
		font-size: 24px;
	}
}

/* Home - compact Software Finder card */
.hp-intent-grid .hp-intent-card.hp-intent-card--finder {
	grid-column: 1 / -1;
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 28px;
	min-height: 58px;
	padding: 16px 20px;
	text-align: left !important;
}

.hp-intent-grid .hp-intent-card.hp-intent-card--finder strong {
	display: inline-block;
	flex: 0 0 auto;
	margin: 0;
	font-size: 15px;
	line-height: 1.3;
	font-weight: 800;
	white-space: nowrap;
}

.hp-intent-grid .hp-intent-card.hp-intent-card--finder span {
	display: block;
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	font-size: 14px;
	line-height: 1.4;
	color: #64748b;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.hp-intent-grid .hp-intent-card.hp-intent-card--finder::after {
	margin-left: auto;
	flex: 0 0 auto;
}

@media (max-width: 680px) {
	.hp-intent-grid .hp-intent-card.hp-intent-card--finder {
		grid-column: auto;
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 6px;
		min-height: 0;
		padding: 14px 16px;
	}

	.hp-intent-grid .hp-intent-card.hp-intent-card--finder strong,
	.hp-intent-grid .hp-intent-card.hp-intent-card--finder span {
		white-space: normal;
		overflow: visible;
		text-overflow: unset;
	}
}
.hp-intent-grid .hp-intent-card.hp-intent-card--finder {
	gap: 34px;
}

/* Get Pricing - generic page hero fix */
.sp-lead-hero--generic {
	display: block;
}

.sp-lead-hero--generic .sp-lead-copy {
	width: 100%;
	max-width: 820px;
}

.sp-lead-hero--generic .sp-title {
	max-width: 100%;
	overflow-wrap: normal;
	word-break: normal;
}

@media (max-width: 768px) {
	.sp-lead-hero--generic .sp-lead-copy {
		max-width: 100%;
	}
}

/* Get Pricing - generic hero layout fix */
.sp-lead-card .sp-lead-hero.sp-lead-hero--generic {
	display: grid !important;
	grid-template-columns: 1fr !important;
}

.sp-lead-card .sp-lead-hero.sp-lead-hero--generic .sp-lead-copy {
	width: 100%;
	max-width: 820px;
}

.sp-lead-card .sp-lead-hero.sp-lead-hero--generic .sp-title {
	max-width: 100%;
	word-break: normal;
	overflow-wrap: normal;
}

/* HOME - final responsive fix for top-rated software cards */
@media (max-width: 980px) {
	.hp-soft-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 680px) {
	/* Section title + helper text should stack */
	.hp-section-h {
		display: block !important;
		align-items: initial !important;
		justify-content: initial !important;
	}

	.hp-section-h .hp-title {
		display: block !important;
		width: 100% !important;
		margin: 0 0 6px !important;
		font-size: 22px !important;
		line-height: 1.25 !important;
	}

	.hp-section-h .hp-muted {
		display: block !important;
		width: 100% !important;
		margin: 0 !important;
		white-space: normal !important;
		line-height: 1.5 !important;
	}

	/* Top-rated software grid */
	.hp-soft-grid {
		grid-template-columns: 1fr !important;
		gap: 14px !important;
	}

	.hp-card {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		overflow: hidden !important;
	}

	.hp-card .hp-row {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		gap: 12px !important;
		width: 100% !important;
	}

	.hp-card .hp-badges {
		width: 100% !important;
		max-width: 100% !important;
	}

	.hp-card .hp-row .hp-btn {
		display: flex !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		justify-content: center !important;
		text-align: center !important;
		box-sizing: border-box !important;
		white-space: nowrap !important;
	}
}

/* Taxonomy comparison table - mobile card layout */
@media (max-width: 680px) {
	.tx-compare-table-wrap {
		overflow: visible !important;
		border-radius: 0;
	}

	.tx-compare-table {
		width: 100% !important;
		min-width: 0 !important;
		border-collapse: separate !important;
		border-spacing: 0 12px !important;
	}

	.tx-compare-table caption {
		display: none;
	}

	.tx-compare-table thead {
		display: none;
	}

	.tx-compare-table tbody {
		display: block;
	}

	.tx-compare-table tr {
		display: block;
		background: #fff;
		border: 1px solid #e5e7eb;
		border-radius: 16px;
		padding: 14px;
		margin-bottom: 12px;
	}

	.tx-compare-table td {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 14px;
		border: 0 !important;
		padding: 7px 0 !important;
		font-size: 14px;
		line-height: 1.4;
		text-align: right;
	}

	.tx-compare-table td::before {
		flex: 0 0 auto;
		font-weight: 700;
		color: #0f172a;
		text-align: left;
	}

	.tx-compare-table td:nth-child(1) {
		display: block;
		padding-bottom: 10px !important;
		text-align: left;
		font-size: 16px;
		font-weight: 800;
	}

	.tx-compare-table td:nth-child(1)::before {
		content: "";
		display: none;
	}

	.tx-compare-table td:nth-child(2)::before {
		content: "Rating";
	}

	.tx-compare-table td:nth-child(3)::before {
		content: "Free trial";
	}

	.tx-compare-table td:nth-child(4)::before {
		content: "HIPAA-related";
	}

	.tx-compare-table td:nth-child(5)::before {
		content: "Best for";
	}

	.tx-compare-table td:nth-child(6)::before {
		content: "";
		display: none;
	}

	.tx-compare-table .tx-chip {
		max-width: 60%;
		text-align: right;
		white-space: normal;
	}

	.tx-compare-table td:last-child {
		display: block;
		padding-top: 12px !important;
	}

	.tx-compare-link {
		display: flex;
		width: 100%;
		justify-content: center;
		text-align: center;
		white-space: nowrap;
	}
}

/* Taxonomy comparison mobile cards - button fix */
@media (max-width: 680px) {
	.tx-compare-table td:last-child {
		display: block !important;
		width: 100% !important;
		padding-top: 14px !important;
		margin-top: 6px !important;
		border-top: 1px solid #eef2f7 !important;
		text-align: left !important;
	}

	.tx-compare-table td:last-child::before {
		display: none !important;
		content: "" !important;
	}

	.tx-compare-table td:last-child .tx-compare-link,
	.tx-compare-table .tx-compare-link {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		min-height: 44px !important;
		padding: 11px 14px !important;
		border-radius: 12px !important;
		background: #0f172a !important;
		color: #fff !important;
		font-size: 14px !important;
		font-weight: 800 !important;
		line-height: 1.2 !important;
		text-decoration: none !important;
		text-align: center !important;
		white-space: nowrap !important;
		box-sizing: border-box !important;
	}

	.tx-compare-table td:last-child .tx-compare-link:hover,
	.tx-compare-table .tx-compare-link:hover {
		color: #fff !important;
		text-decoration: none !important;
		opacity: .92;
	}
}

/* Single software - mobile responsive final fixes */
@media (max-width: 680px) {
	.sp-wrap,
	.sp-wrap * {
		box-sizing: border-box;
	}

	.sp-wrap {
		width: 100%;
		max-width: 100%;
		overflow-x: hidden;
	}

	.sp-section,
	.sp-card,
	.sp-kv,
	.sp-related,
	.sp-alternatives,
	.sp-internal-links,
	.sp-overview-card {
		width: 100%;
		max-width: 100%;
		overflow: hidden;
	}

	/* Internal links / related page grids */
	.sp-related-grid,
	.sp-internal-links__grid,
	.sp-links-grid {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 12px !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.sp-related-card,
	.sp-internal-links__item,
	.sp-link-card {
		width: 100% !important;
		max-width: 100% !important;
	}

	/* Buttons inside cards */
	.sp-btn,
	.sp-related-btn,
	.sp-cta-btn,
	.sp-kv .sp-btn,
	.sp-card .sp-btn {
		width: 100%;
		max-width: 100%;
		justify-content: center;
		text-align: center;
		box-sizing: border-box;
		white-space: normal;
	}

	/* Alternatives cards */
	.sp-related-card,
	.sp-alternative-card {
		overflow: hidden;
	}

	.sp-alternative-card .sp-btn,
	.sp-related-card .sp-btn {
		display: flex;
		width: 100%;
		margin-top: 12px;
	}

	/* Avoid sticky CTA covering the last content */
	body {
		padding-bottom: 86px;
	}
}

/* Feature/global/programmatic cards - long software title fix */
.best-card,
.best-main {
	min-width: 0;
	max-width: 100%;
	overflow: hidden;
}

.best-main-content {
	min-width: 0;
	max-width: 100%;
	overflow: hidden;
}

.best-title {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: normal;
	overflow-wrap: anywhere;
	line-height: 1.25;
}

@media (max-width: 680px) {
	.best-title {
		-webkit-line-clamp: 2;
	}
}