/* =============================================================
   Estilos del sitio (consolidados desde la plantilla original)
   Paleta:  azul #005e85 · celeste #7aa5ba · verde #c2d500 / #93c01f
   ============================================================= */

:root{
  --azul:#005e85;
  --celeste:#7aa5ba;
  --verde:#c2d500;
  --verde-2:#93c01f;
  --verde-btn:#80bc00;
  --gris-texto:#575756;
}

html{ scroll-behavior:smooth; }
body{
  font-family:"Montserrat", sans-serif;
  overflow-x:hidden;
  color:var(--gris-texto);
}
a:hover{ text-decoration:none; }

/* ---- Helpers de color ---- */
.text-primary{ color:var(--azul) !important; }
.bg-primary{ background-color:var(--azul) !important; }
.bg-success{ background-color:var(--verde) !important; }
.bg-success-2{ background-color:var(--verde-2); }
.bg-info{ background-color:var(--celeste) !important; }
.bg-info-2{ background-color:#dee8ed; }
.bg-light{ background-color:#efefef !important; }
.bg-light-2{ background-color:#f0f3f5; }
.text-secondary{ color:var(--gris-texto) !important; }

.btn-success{ background-color:var(--verde-btn) !important; border-color:var(--verde-btn) !important; color:#fff; }
.btn-info{ background-color:var(--celeste) !important; border-color:var(--celeste) !important; color:#fff; }
.btn:hover,.btn:active,.btn:focus,.btn.active{ outline:none !important; box-shadow:none !important; }

/* ---- Tipografía utilitaria ---- */
.fw500{ font-weight:500; } .fw600{ font-weight:600; } .fw700{ font-weight:700; }
.lh-120{ line-height:120%; }
.br10px{ border-radius:10px; }
.fs13px{font-size:13px;} .fs14px{font-size:14px;} .fs16px{font-size:16px;}
.fs18px{font-size:18px;} .fs20px{font-size:20px;} .fs22px{font-size:22px;}
.fs24px{font-size:24px;} .fs26px{font-size:26px;} .fs28px{font-size:28px;} .fs30px{font-size:30px;}

.centro-abs{ display:flex; justify-content:center; align-items:center; flex-direction:column; }

/* col de 20% para la fila de accesos rápidos */
@media (min-width:992px){
  .col-lg-2sp{ flex:0 0 20%; max-width:20%; }
}

/* ============ HEADER ============ */
header{ transition:.3s; padding:3px; }
#logo_principal{ width:170px; transition:.3s; }
header.miniatura #logo_principal{ width:130px; }
#logo_acredita{ width:60px; }
header.miniatura #logo_acredita{ width:45px; }
header.miniatura{
  position:fixed; top:0; left:0; width:100%; z-index:100;
  background:#fff; box-shadow:2px 2px 4px 0 rgba(42,67,113,.15);
}
.navbar-light .navbar-nav .nav-link{
  text-transform:uppercase; font-size:13px; margin:0 5px;
  color:rgba(0,0,0,.55); font-weight:600;
}
.btn_header{ width:40px; height:40px; }
.btn_header img{ width:25px; }
.btn_header_verde{ background-color:var(--verde-2); }
.btn_header_verde:hover{ background-color:#7b9e1b; }

/* menú desplegable indicaciones */
.navbar-nav .dropdown-menu{ background-color:rgba(199,213,31,.95); border-radius:0; border:none; }
.dropdown-item{ color:#fff; transition:.3s; text-transform:uppercase; font-size:14px; }
.dropdown-item:hover,.dropdown-item:focus{ background-color:rgba(0,0,0,.22); color:#fff; }

/* ============ BARRA SUPERIOR DE BOTONES ============ */
.mainboxtopheader{ border-bottom:1px solid lightgrey; }
.btn_th img{ width:30px; }
.btn_th{ transition:.2s; }
.btn_th_0{ background:#c6d41f; } .btn_th_0:hover{ background:#adba1e; }
.btn_th_1{ background:#9db2c0; } .btn_th_1:hover{ background:#889aa6; }
.btn_th_2{ background:#7aa5ba; } .btn_th_2:hover{ background:#6b90a3; }
.btn_th_3{ background:#5b7e96; } .btn_th_3:hover{ background:#527085; }
@media (min-width:990px){ .btn_th{ min-width:20%; } }
@media (max-width:990px){
  .btn_th{ width:100%; }
  .mainboxtopheader .container-fluid{ padding-left:0; padding-right:0; }
}

/* ============ BOTONES FLOTANTES (lateral derecho) ============ */
.boton_flotante{ position:fixed; z-index:200; right:0; cursor:pointer; }
.boton_flotante img{ width:80px; }
.bf-1{ top:25%; } .bf-2{ top:40%; } .bf-3{ top:55%; } .bf-wa{ top:70%; }
@media (max-width:990px){
  .boton_flotante img{ width:61.6px; }
  .bf-1{ top:25%; } .bf-2{ top:40%; } .bf-3{ top:55%; } .bf-wa{ top:37%; }
}

/* ============ HERO / SLIDER ============ */
.franja-verde{ background:var(--verde); color:#fff; font-weight:700; line-height:120%; }
@media (max-width:990px){ .mainbox_slider .fs30px{ font-size:20px; } }

/* ============ FORMULARIOS ============ */
.form-eco input[type=text],
.form-eco input[type=email],
.form-eco input[type=tel],
.form-eco input[type=number],
.form-eco input[type=date],
.form-eco select{
  width:100%; border:1.5px solid #c7d51f; background:#fff;
  padding:6px 8px; margin-bottom:10px; color:#414141; border-radius:0;
}
.form-eco input:focus,.form-eco select:focus{ outline:none; border-color:var(--azul); }
.icono_circle_form{ width:10px; margin-top:-2px; margin-right:6px; }
.field-label{ font-size:14px; }
.input-error{ border-color:#e3342f !important; }
.msg-error{ color:#e3342f; font-size:12px; margin-top:-8px; margin-bottom:8px; display:none; }
.input-error + .msg-error{ display:block; }

/* buscador de exámenes (presupuesto) */
.examen-item{ cursor:pointer; padding:8px 4px; border-bottom:1px solid #eee; }
.examen-item:hover{ background:#f4f8e0; }
.examen-item.sel{ background:#eef6d0; }

/* ============ ACCESOS RÁPIDOS (círculos) ============ */
.circle_item{
  width:140px; height:140px; transition:.3s; border-radius:100%;
  display:flex; justify-content:center; align-items:center;
}
.circle_interior{
  width:120px; height:120px; border:1px solid #fff; border-radius:100%;
  display:flex; justify-content:center; align-items:center;
}
.circle_item img{ width:70px; }
.ci_0{ background:#62a7bc; } .ci_0:hover{ background:#4d8194; }
.ci_1{ background:#467f98; } .ci_1:hover{ background:#3a657a; }
.ci_2{ background:#c1d500; } .ci_2:hover{ background:#acc204; }
.link_item_home,.link_item_home:hover{ color:var(--gris-texto); text-decoration:none; }
@media (max-width:990px){
  .circle_item{ width:100%; border-radius:0; height:auto; }
  .circle_interior{ width:100%; border-radius:0; border:none; height:auto; padding:10px 0; justify-content:flex-start; }
  .circle_item img{ width:50px; }
  .link_item_home,.link_item_home:hover{ color:#fff !important; }
}

/* ============ POPUP "QUIERO QUE ME LLAMEN" ============ */
.title_popup_form{ line-height:120%; }
.input_telefono_wrap{ display:flex; align-items:center; justify-content:center; }
.input_telefono_wrap input{
  border:none; background:transparent; font-size:30px; letter-spacing:8px;
  text-align:center; width:260px; border-bottom:2px solid var(--celeste);
}
.input_telefono_wrap input:focus{ outline:none; }
.btn_cerrar{
  width:28px; height:28px; top:8px; right:8px; cursor:pointer; transition:.3s;
  background:#f5f5f5; display:flex; align-items:center; justify-content:center;
}
.btn_cerrar:hover{ background:#fff; }

/* ============ OVERLAY DE CARGA / GRACIAS ============ */
.overlay_cargando{
  position:fixed; inset:0; width:100vw; height:100vh;
  background:rgba(0,0,0,.7); transition:.3s; z-index:9999;
  display:none; align-items:center; justify-content:center;
}
.overlay_cargando.mostrar,
.overlay_cargando.open{ display:flex; }
.overlay_cargando .contenido{
  flex-direction:column; background:#fff; width:350px; min-height:220px;
  padding:24px; text-align:center; font-size:20px; font-weight:bold; border-radius:6px;
  display:flex; align-items:center; justify-content:center;
}
.spinner{
  width:44px; height:44px; border:5px solid #e6eef2; border-top-color:var(--azul);
  border-radius:50%; animation:spin 1s linear infinite; margin-bottom:14px;
}
@keyframes spin{ to{ transform:rotate(360deg); } }
.check-ok{
  width:48px; height:48px; border-radius:50%; background:var(--verde-2); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:26px; margin-bottom:12px;
}

/* ============ FOOTER ============ */
.acredita_footer{ max-width:220px; }
@media (max-width:990px){ .acredita_footer{ width:50%; } }

/* ============ BLOG ============ */
.item_articulo{ background:#fff; border-radius:8px; box-shadow:0 2px 5px rgba(0,0,0,.12); transition:.3s; }
.item_articulo:hover{ box-shadow:0 6px 16px rgba(0,0,0,.18); transform:translateY(-3px); }
.img_articulo{ border-radius:6px; aspect-ratio:16/10; object-fit:cover; }
.contenido_articulo h2{ color:var(--azul); font-size:20px; font-weight:700; margin-top:20px; margin-bottom:8px; }
.contenido_articulo img{ border-radius:8px; }
.contenido_articulo p{ margin-bottom:12px; }
.contenido_articulo ul{ margin-bottom:12px; }

/* campo trampa anti-spam (honeypot): invisible para personas */
.hp-field{
  position:absolute !important; left:-6000px !important; top:auto;
  width:1px; height:1px; opacity:0; overflow:hidden; pointer-events:none;
}

/* animaciones suaves de entrada */
.fade-up{ opacity:0; transform:translateY(18px); transition:.6s ease; }
.fade-up.in{ opacity:1; transform:none; }
