/* 00b_overrides.css — extracted from 01/02/03 to preserve cross-page cascade */

/* Anchor scroll offset so hash-jumps to in-page forms land at the form header,
   not behind the fixed nav (nav: top:16 + height:65 = ~81px) */
#cotizar-form,
#cotizar,
#formulario {
  scroll-margin-top: 100px;
}


/* --- from 01_sumate-page --- */

#heroBg {
  position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(circle 300px at 70% 40%, rgba(var(--blue-rgb), 0.22) 0%, transparent 70%);
  transition: background 0.05s;
}
  .hero-tag { display: inline-flex; align-items: center; gap: 8px; background: rgba(var(--blue-rgb), 0.2); border: 1px solid rgba(var(--blue-rgb), 0.4); color: var(--blue-pale); font-size: 12px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; padding: 6px 14px; border-radius: 99px; margin-bottom: 24px; }
  .hero-tag::before { content: ''; width: 6px; height: 6px; background: var(--blue-light); border-radius: 50%; animation: pulse 2s infinite; }
  .hero-btns { display: flex; gap: 12px; flex-wrap: wrap; }
  .hero-card-title { font-family: 'Syne', 'Syne Fallback', sans-serif; font-size: 13px; font-weight: 700; color: rgba(var(--white-rgb), 0.4); letter-spacing: .1em; text-transform: uppercase; margin-bottom: 20px; }
  .form-card h3 { font-family: 'Syne', 'Syne Fallback', sans-serif; font-size: 18px; font-weight: 800; color: var(--navy); margin-bottom: 24px; }

  .form-submit { width: 100%; padding: 14px; background: var(--navy); color: var(--white); border: none; border-radius: 8px; font-size: 15px; font-weight: 600; cursor: pointer; font-family: 'Syne', 'Syne Fallback', sans-serif; transition: background .2s; margin-top: 8px; }
  .form-submit:hover { background: var(--blue); }
  .form-note { font-size: 11px; color: var(--gray); text-align: center; margin-top: 10px; }/* --- from 02_quienes-somos-page --- */

.hero-tag{ display:inline-flex;align-items:center;gap:8px;background:rgba(var(--blue-rgb), 0.2);border:1px solid rgba(var(--blue-rgb), 0.4);color:var(--blue-pale);font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:6px 14px;border-radius:99px;margin-bottom:24px; }
.hero-tag::before{ content:'';width:6px;height:6px;background:var(--blue-light);border-radius:50%;animation:pulse 2s infinite; }
  .section-tag { font-family: 'DM Sans', 'DM Sans Fallback', sans-serif; font-size: 14px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; color: var(--blue); margin-bottom: 12px; text-align: center; }
  .section-title { font-family: 'DM Sans', 'DM Sans Fallback', sans-serif !important; font-size: clamp(2rem, 3vw, 2.8rem); font-weight: 800; color: var(--navy); line-height: 1.2; margin-bottom: 16px; letter-spacing: -.02em; }

/* SUCURSALES */
  #sucursales-section{ padding:80px 5%;background:var(--off-white); }
  .sucursales-inner{ max-width:1100px;margin:0 auto; }
  .sucursales-inner .section-tag{ text-align:center; }
  .sucursales-inner .section-title{ text-align:center;margin-bottom:8px; }
  .sucursales-inner .section-sub{ margin-bottom:0; }
  .sucursales-grid{ display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px; }
  .sucursal-card{ background:var(--white);border:1px solid var(--gray-light);border-radius:14px;padding:28px;transition:all .25s;display:flex;flex-direction:column;width:100%; }
  .sucursal-card:hover{ border-color:var(--blue);box-shadow:0 8px 24px rgba(var(--blue-rgb), 0.1); }
  .sucursal-name{ font-family:'Syne',sans-serif;font-size:18px;font-weight:800;color:var(--navy);margin-bottom:6px; }
  .sucursal-rating{ display:flex;align-items:center;gap:5px;margin-bottom:12px; }
  .sucursal-rating-stars{ color:var(--warning);font-size:12px;letter-spacing:1px; }
  .sucursal-rating-score{ font-family:'Syne',sans-serif;font-size:12px;font-weight:800;color:var(--navy); }
  .sucursal-rating-count{ font-size:11px;color:var(--gray); }
  .sucursal-info{ display:flex;flex-direction:column;gap:10px;flex:1; }
  .sucursal-row{ display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--blue); }
  .sucursal-row svg{ flex-shrink:0;margin-top:2px;color:var(--blue); }
  .sucursal-row a{ color:var(--blue);text-decoration:none; }
  .sucursal-row a:hover{ text-decoration:underline; }
  .sucursal-wa{ display:inline-flex;align-items:center;gap:6px;background:var(--navy);color:var(--white);padding:10px 18px;border-radius:8px;font-size:13px;font-weight:500;text-decoration:none;margin-top:20px;transition:background .2s; }
  .sucursal-wa:hover{ background:var(--blue); }
  .resenas-sub{ text-align:center;font-size:15px;color:var(--gray);font-weight:300;margin-bottom:48px; }
  .slider-dot{ width:8px;height:8px;border-radius:50%;background:var(--gray-light);cursor:pointer;transition:background .2s,transform .2s; }
  .slider-dot.active{ background:var(--navy);transform:scale(1.3); }
  .cta-btns{ display:flex;justify-content:center;gap:14px;flex-wrap:wrap; }
  .btn-primary{ background:var(--blue);color:var(--white);padding:12px 26px;border-radius:8px;font-size:14px;font-weight:600;text-decoration:none;border:none;cursor:pointer;transition:background .2s;font-family:'Syne',sans-serif;white-space:nowrap; }
  .btn-primary:hover{ background:var(--blue-light); }
  .btn-outline{ background:transparent;color:var(--white);padding:12px 26px;border-radius:8px;font-size:14px;font-weight:600;text-decoration:none;border:1px solid rgba(var(--white-rgb), 0.25);transition:all .2s;font-family:'Syne',sans-serif;white-space:nowrap; }
  .btn-outline:hover{ border-color:rgba(var(--white-rgb), 0.5);background:rgba(var(--white-rgb), 0.06); }/* --- from 03_datos-utiles-page --- */

.cat-badge{ font-size:11px;font-weight:600;background:var(--blue-pale);color:var(--blue);padding:3px 10px;border-radius:99px;white-space:nowrap;transition:background .2s,color .2s; }

/* FAQ dentro de categoria */
.faq-item{ border:1px solid var(--gray-light);border-radius:10px;margin-bottom:8px;overflow:hidden;transition:box-shadow .2s; }
.faq-item:last-child{ margin-bottom:0; }
.faq-item:hover{ box-shadow:0 3px 12px rgba(var(--blue-rgb), 0.08); }
.faq-icon{ width:24px;height:24px;border-radius:50%;background:var(--blue-pale);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s,transform .3s; }
.faq-icon svg{ width:10px;height:10px;stroke:var(--blue);transition:transform .3s; }
.faq-item.open .faq-icon{ background:var(--blue); }
.faq-item.open .faq-icon svg{ stroke:white; }