/*
==============================================
  Henry Cerda Asesores Legales Estratégicos — Brand Style Override
  Paleta: #003366 | #b4b4b4 | #ffffff
  Tipografia: Open Sans (cuerpo) | Times New Roman (titulos)
==============================================
*/


/* =============================================
   1. TIPOGRAFIA
   ============================================= */

/* Quitar capitalize global de encabezados */
h1, h2, h3, h4, h5, h6 { text-transform: none !important; }

body,
p, li, span, td, label, input, textarea,
select, .form-control, small, .small,
.single_content p, .blog_date a,
.top_head_left ul li a,
.top_head_right ul li,
.footer_bottom_widget span,
.single_footer_widget p,
.content_top p, .right_button .content_top p {
  font-family: "Open Sans", sans-serif !important;
}

h1, h2, h3, h4, h5, h6,
.section-title h2,
.section-title h3,
.section-title h6,
.hero-contents h1,
.hero-contents h6,
.single_service_card h4,
.single_team_item .content h4,
.single_blog_widget .content h4,
.single_funfact_items h3,
.single_funfact_items h4,
.single_funfact_items h6,
.single_footer_widget h4,
.right_button h5,
.content_top h5,
.about_funfact h4,
.about_funfact h2,
.single_support .content h5,
.single_our_item_2 .content h4,
.single_our_item .section-title h2 {
  font-family: "Times New Roman", Times, serif !important;
}

/* =============================================
   2. COLORES PRIMARIOS — Azul marino #003366
      Reemplaza: #B69D74 (dorado), #C8242F (rojo)
      #033A5B (azul oscuro), #2C3B65 (azul)
   ============================================= */

/* --- Preloader --- */
.letters-loading::before { color: #003366 !important; }
.spinner { border-top-color: #003366 !important; }
.loader-section .bg { background-color: #003366 !important; }

/* --- Barra superior del header --- */
.header-wrap.header_1 {
  border-bottom: none !important;
}
.top_head_left ul li i { color: #ffffff !important; }
.top_head_left ul li a { color: #ffffff !important; }
.top_head_right ul li a { color: #ffffff !important; }
.top_head_right ul li i { color: #ffffff !important; }

/* Paginas, Contactos y textos del botón de teléfono */
header.header_1 .main-menu_2 ul > li > a { color: #ffffff !important; }
header.header_1 .right_button .content_top p { color: #ffffff !important; }
header.header_1 .right_button .content_top h5 { color: #ffffff !important; }

/* --- Navegacion --- */
.main-menu > ul > li > a:hover,
.main-menu > ul > li.active > a,
.secend_menu > ul > li > a:hover {
  color: #003366 !important;
}
.main-menu > ul > li > a::before,
.secend_menu > ul > li > a::before {
  background: linear-gradient(90deg, #003366 0%, rgba(255,255,255,0) 100%) !important;
}
.sub-menu li a:hover { color: #003366 !important; }
.main_menu_widget { background-color: #0A2E5D !important; }
.main-menu > ul > li > a,
.secend_menu > ul > li > a { color: #ffffff !important; }
.main-menu > ul > li > a:hover,
.secend_menu > ul > li > a:hover { color: #b4b4b4 !important; }

/* Boton derecho del header (telefono) */
.right_button { background-color: transparent !important; }
.right_button:hover { background-color: rgba(255,255,255,0.08) !important; }
.right_button .right_icon { background-color: rgba(255,255,255,0.15) !important; }
.right_button .right_icon i { color: #ffffff !important; }

/* Mobile nav */
.mobile-nav { background-color: #003366 !important; }

/* --- Botones principales .theme-btn --- */
.theme-btn {
  background-color: #003366 !important;
  background-image: none !important;
  border-color: #003366 !important;
  color: #ffffff !important;
}
.theme-btn:hover {
  background-color: #004080 !important;
  border-color: #004080 !important;
  color: #ffffff !important;
}
.theme-btn.theme-border {
  background-color: transparent !important;
  border: 2px solid #003366 !important;
  color: #003366 !important;
}
.theme-btn.theme-border:hover {
  background-color: #003366 !important;
  color: #ffffff !important;
}

/* --- Boton texto .btnd --- */
a.btnd, .btnd {
  color: #003366 !important;
  font-family: "Open Sans", sans-serif !important;
}
a.btnd::before,
a.btnd i { color: #003366 !important; }
a.btnd:hover { color: #004080 !important; }

/* --- Secciones de titulos --- */
.section-title h6 {
  color: #003366 !important;
  font-size: 18px !important;
  font-weight: 600 !important;
}
.section-title h6::before,
.section-title h6::after {
  background: linear-gradient(90deg, #003366 0%, rgba(255,255,255,0) 100%) !important;
}

/* Secciones con fondo oscuro/azul: restaurar texto blanco */
.section-title.section_2 h6,
.cta_wrapper .section-title h6,
.team_wrapper_2 .section-title h6,
.testimonial_wrapper .section-title h6 {
  color: #ffffff !important;
}
.section-title.section_2 h6::after,
.cta_wrapper .section-title h6::after,
.team_wrapper_2 .section-title h6::after,
.testimonial_wrapper .section-title h6::after {
  background: linear-gradient(90deg, rgba(255,255,255,0.55) 0%, rgba(255,255,255,0) 100%) !important;
}

/* --- Hero banner --- */
.hero_wrapper .hero-contents h6 { color: #b4b4b4 !important; }
.hero_wrapper .number { color: #b4b4b4 !important; }

/* --- Feature items (3 tarjetas debajo del hero) --- */
.single_feature_item { border-top: 3px solid #0A2E5D !important; height: 100%; }
.single_feature_item .single_feature_widget {
  background-color: #0A2E5D !important;
  border-color: #0A2E5D !important;
  height: 100%;
}
.single_feature_item .single_feature_widget .single_icon {
  background-color: rgba(255,255,255,0.1) !important;
}
.single_feature_item h4 { color: #ffffff !important; }
.feature_wrapper .row { align-items: stretch; }

/* --- Funfact / contadores --- */
.funfact_wrapper { background-color: #003366 !important; }
.single_funfact_items h3,
.single_funfact_items h4,
.single_funfact_items h6 { color: #ffffff !important; }
.single_funfact_items h3 .counter { color: #ffffff !important; }

/* --- Seccion About --- */
.about_wrapper .modal_funfact {
  background-color: #003366 !important;
}
.about_funfact h2, .about_funfact h4 { color: #ffffff !important; }
.about_content ul li::before { background-color: transparent !important; }
.about_content ul li::after  { background-color: transparent !important; }

/* --- Servicios --- */
.single_service_card {
  border-bottom: 3px solid #003366 !important;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.single_service_card h4 { color: #003366 !important; }
.single_service_card p { flex: 1; }
.single_service_card:hover { background-color: #003366 !important; }
.single_service_card:hover h4 { color: #ffffff !important; }
.single_service_card:hover p  { color: #e0e0e0 !important; }
.single_service_card:hover .btnd { color: #b4b4b4 !important; }
.service_wrapper .row { align-items: stretch; }

/* --- Por que elegirnos --- */
.single_support .icon { background-color: #003366 !important; }
.single_support .icon img { filter: brightness(0) invert(1) !important; }
.single_funfact.single_funfact_items { background-color: #003366 !important; }
.single_funfact .single_funfact_items h1,
.single_funfact .single_funfact_items h3 { color: #ffffff !important; }

/* --- Testimoniales --- */
.left_button { background-color: #0A2E5D !important; }
.left_button:hover { background-color: #0d3870 !important; }
.left_button p { color: #c8d8f0 !important; }
.left_button h4 { color: #ffffff !important; }
.left_button .icon { background-color: rgba(255,255,255,0.12) !important; }
.left_button .icon i { color: #ffffff !important; background-color: transparent !important; }

/* Borde de tarjetas de testimonios alineado a línea gráfica */
.single_testimonial_right .single_testimonial_item .single_content {
  border-color: rgba(10, 46, 93, 0.2) !important;
}

/* --- Equipo / Abogados --- */
/* Boton "Realice una cita" sobre el fondo oscuro de la seccion de equipo (about.html) */
.team_wrapper.team_wrapper_2 .theme-btn {
  background-color: #ffffff !important;
  border-color: #ffffff !important;
  color: #003366 !important;
}
.team_wrapper.team_wrapper_2 .theme-btn:hover {
  background-color: #b4b4b4 !important;
  border-color: #b4b4b4 !important;
  color: #003366 !important;
}
.single_team_item .content {
  border-top: 3px solid #003366 !important;
}
.single_team_item:hover .content {
  background-color: #003366 !important;
}
.single_team_item:hover .content h4 { color: #ffffff !important; }
.single_team_item:hover .content p  { color: #e0e0e0 !important; }
.single_team_item:hover .btnd       { color: #b4b4b4 !important; }

/* --- Sección "Nuestra distinción" — textos y botón sobre fondo oscuro --- */
.our_project_wrapper .section-title h6 { color: #ffffff !important; }
.our_project_wrapper .section-title h6::before,
.our_project_wrapper .section-title h6::after { background: rgba(255,255,255,0.4) !important; }
.our_project_wrapper .theme-btn.theme-border {
  border-color: #ffffff !important;
  color: #ffffff !important;
}
.our_project_wrapper .theme-btn.theme-border:hover {
  background-color: #ffffff !important;
  color: #0A2E5D !important;
}

/* --- CTA Section --- */
.cta_wrapper { position: relative; }
.cta_wrapper::before {
  content: '';
  position: absolute;
  inset: 0;
  background-color: rgba(0, 51, 102, 0.75) !important;
}
.cta_wrapper .row { position: relative; z-index: 2; }

/* --- Blog --- */
.blog_date a { color: #003366 !important; }
.single_blog_widget .content h4:hover { color: #003366 !important; }

.single_blog_widget .single_blog_img .author_info {
  top: auto !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 40px 16px 14px !important;
  gap: 12px !important;
  background: linear-gradient(to top, rgba(0,0,0,0.70) 0%, transparent 100%) !important;
}

/* --- Contacto --- */
.contact_form .section-title h6 { color: #003366 !important; }
.contact_form input:focus,
.contact_form textarea:focus {
  border-color: #003366 !important;
  box-shadow: 0 0 0 2px rgba(0,51,102,0.15) !important;
}

/* --- Casos / Proyectos --- */
.single_our_item_2 .items_img span {
  background-color: #003366 !important;
}

/* --- Página hero-3 (sub-páginas) --- */
.hero_wrapper.hero-3 { background-color: #002244 !important; }
.hero_wrapper.hero-3 .hero-contents h1 { color: #ffffff !important; }
.hero_wrapper.hero-3 .hero-contents span a { color: #b4b4b4 !important; }
.hero_wrapper.hero-3 .hero-contents span a:hover { color: #ffffff !important; }

/* --- Barra lateral de detalles de abogados --- */
.single_service_details_right.single_service-1 {
  border: 2px solid #003366 !important;
}
.single_service_details_right.single_service-2 ul li a:hover {
  color: #003366 !important;
}
.single_service_details_right.single_service-2 ul li a::before {
  background-color: #003366 !important;
}

/* Progress bars */
.single_progress_bar span {
  background-color: #003366 !important;
}

/* Social links */
.social_link a {
  background-color: #003366 !important;
  color: #ffffff !important;
}
.social_link a:hover {
  background-color: #004080 !important;
}

/* --- Footer --- */
.footer_wrapper { background-color: #001a3a !important; }
.single_footer_widget h4 {
  color: #ffffff !important;
  border-bottom: 2px solid #003366 !important;
}
.single_footer_link ul li a:hover { color: #b4b4b4 !important; }
.single_footer_link ul li a::before { background-color: #b4b4b4 !important; }
.single_address a:hover { color: #b4b4b4 !important; }
.footer_wrapper hr { border-color: #003366 !important; }
.newsletter_box button.theme-btn {
  background-color: #003366 !important;
}

/* --- Scroll up button --- */
#scrollUp {
  background-color: #003366 !important;
  color: #ffffff !important;
}
#scrollUp:hover { background-color: #004080 !important; }

/* --- Team page button --- */
.single_team_btn {
  background-color: #003366 !important;
}
.single_team_btn span a { color: #ffffff !important; }

/* =============================================
   3. COLORES SECUNDARIOS — Gris #b4b4b4
   ============================================= */

/* Bordes sutiles y elementos neutros */
.single_damages_content.attomeys_content ul li { border-bottom-color: #b4b4b4 !important; }
.attomeys_content ul li strong { color: #003366 !important; }

/* =============================================
   4. TARJETAS DE EQUIPO — tamaño y proporcion
   ============================================= */

.team_wrapper .single_team_item .team_img {
  overflow: hidden;
  height: 340px;
}
.team_wrapper .single_team_item .team_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  transition: transform 0.4s ease;
}
.team_wrapper .single_team_item:hover .team_img img {
  transform: scale(1.04);
}

/* =============================================
   5. FOTO DE ABOGADO en paginas de detalle
   ============================================= */

.single_attomeys_img {
  width: 180px;
  height: 180px;
  border-radius: 50%;
  overflow: hidden;
  margin: 0 auto 16px;
  border: 4px solid #003366;
}
.single_attomeys_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}

/* =============================================
   6. MISCELANIA
   ============================================= */

/* Separador de titulos de seccion */
.section-title h6 img { filter: hue-rotate(200deg) saturate(2) brightness(0.6) !important; }

/* Badge blanco para secciones de fondo oscuro */
.section-title.section_2 h6 img,
.cta_wrapper .section-title h6 img,
.team_wrapper_2 .section-title h6 img,
.testimonial_wrapper .section-title h6 img {
  filter: brightness(0) invert(1) !important;
  opacity: 0.9;
}

/* Quitar el fondo del widget de logo en la parte superior */
.logo_widget {
  background-color: transparent !important;
}

/* Nav compacto — reducir padding del main_menu_widget */
.main_menu_widget {
  padding-top: 4px !important;
  padding-bottom: 4px !important;
  min-height: 0 !important;
}
.main-menu > ul > li > a,
.secend_menu > ul > li > a,
.secend_menu > li > a {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}
.logo.d-none.d-xl-flex img {
  max-height: 64px !important;
}
.logo.d-block.d-xl-none img {
  max-height: 40px !important;
}



/* Hover en enlaces generales */
a:hover { color: #003366; }

/* Badges SVG — mantener neutrales */
.section-title h6 img,
.about_element img,
.feature_element img {
  opacity: 0.85;
}

/* Form placeholders */
::placeholder { color: #b4b4b4 !important; opacity: 1 !important; }

/* =============================================
   8. BOTÓN FLOTANTE WHATSAPP
   ============================================= */

.whatsapp-float {
  position: fixed;
  bottom: 90px;
  right: 30px;
  width: 56px;
  height: 56px;
  background-color: #25D366;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 28px;
  z-index: 9999;
  box-shadow: 0 4px 16px rgba(37, 211, 102, 0.45);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.whatsapp-float:hover {
  transform: scale(1.1);
  box-shadow: 0 6px 24px rgba(37, 211, 102, 0.6);
  color: #ffffff;
}

/* =============================================
   7. ÁREAS DE PRÁCTICA LEGAL
   ============================================= */

.practice-areas-section {
  background-color: #0A2E5D;
  padding: 70px 0 60px;
}

.practice-areas-header {
  padding: 0 20px 48px;
}

.practice-areas-label {
  font-family: "Open Sans", sans-serif !important;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #b4b4b4;
  margin-bottom: 12px;
}

.practice-areas-title {
  font-family: "Times New Roman", Times, serif !important;
  font-size: 28px;
  font-weight: 700;
  color: #ffffff;
  margin: 0;
  line-height: 1.3;
}

.practice-area-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 36px 20px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  cursor: default;
  transition: background-color 0.25s ease;
}

.practice-area-item:hover {
  background-color: rgba(255, 255, 255, 0.07);
}

.practice-area-item i {
  font-size: 32px;
  color: #b4b4b4;
  margin-bottom: 14px;
  transition: color 0.25s ease;
}

.practice-area-item:hover i {
  color: #ffffff;
}

.practice-area-item span {
  font-family: "Open Sans", sans-serif !important;
  font-size: 14px;
  font-weight: 600;
  color: #ffffff;
  text-align: center;
  line-height: 1.4;
}

/* =============================================
   9. TARJETAS DE SERVICIO — imagen 260px
   ============================================= */

.single_service_card .single_img {
  height: 260px !important;
}

/* =============================================
   10. POR QUÉ ELEGIRNOS — sección prominente
   ============================================= */

.why_chose_wrapper {
  padding: 110px 0 !important;
  background-color: #f5f7fa;
}

.why_chose_wrapper .section-title h2 {
  font-size: 40px !important;
  line-height: 1.2 !important;
  color: #0A2E5D !important;
  margin-bottom: 10px !important;
}

.why_chose_wrapper .single_chose_us > p {
  font-size: 16px !important;
  color: #444 !important;
  line-height: 1.75 !important;
  margin: 24px 0 32px !important;
}

.single_chose_us .single_support {
  margin: 20px 0 !important;
  padding: 22px 24px !important;
  background: rgba(255, 255, 255, 0.55) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  border-left: 4px solid #003366 !important;
  border-radius: 6px !important;
  box-shadow: 0 3px 14px rgba(0, 51, 102, 0.08) !important;
  transition: box-shadow 0.25s ease, transform 0.25s ease !important;
}

.single_chose_us .single_support:hover {
  background: rgba(255, 255, 255, 0.7) !important;
  box-shadow: 0 6px 24px rgba(0, 51, 102, 0.14) !important;
  transform: translateY(-2px) !important;
}

.single_chose_us .single_support .content h5 {
  font-family: "Times New Roman", Times, serif !important;
  font-size: 21px !important;
  font-weight: 700 !important;
  color: #003366 !important;
  margin-bottom: 6px !important;
  line-height: 1.2 !important;
}

.single_chose_us .single_support .content p {
  font-size: 15px !important;
  color: #555 !important;
  margin: 0 !important;
  line-height: 1.65 !important;
}

.single_chose_us .single_right {
  height: 620px !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.18) !important;
}

.single_chose_us .single_funfact {
  width: 220px !important;
  height: 200px !important;
  background-color: #003366 !important;
  background-image: none !important;
}

/* =============================================
   TRAYECTORIA PROFESIONAL (perfiles de abogados)
   ============================================= */

.trayectoria { margin-top: 26px; }

.trayectoria_group + .trayectoria_group { margin-top: 34px; }

.trayectoria_group > h5 {
  font-family: "Times New Roman", Times, serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #003366 !important;
  margin: 0 0 14px 0 !important;
  padding-bottom: 10px;
  border-bottom: 2px solid #b69d74;
  display: inline-block;
}

.trayectoria_item {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 4px 20px;
  padding: 14px 0;
  border-bottom: 1px solid #e6e6e6;
}

.trayectoria_item:last-child { border-bottom: 0; }

.trayectoria_year {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #b69d74;
  padding-top: 2px;
}

.trayectoria_role { font-size: 15px; line-height: 1.6; color: #555; }

.trayectoria_role strong { color: #003366; font-weight: 700; }

.trayectoria_place {
  display: block;
  font-size: 13px;
  color: #888;
  margin-top: 2px;
}

@media (max-width: 575px) {
  .trayectoria_item { grid-template-columns: 1fr; gap: 2px; padding: 12px 0; }
}

/* Libros publicados */
.libros_list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 24px;
  margin: 18px 0 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.libros_list li {
  list-style: none !important;
  position: relative;
  padding-left: 26px !important;
  font-size: 15px;
  line-height: 1.55;
  color: #444;
}

.libros_list li::before {
  content: "\f02d";
  font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 1px;
  color: #b69d74;
  font-size: 14px;
}

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

/* =============================================
   TESTIMONIOS DE CLIENTES (envío desde la web)
   ============================================= */

/* Avatar con iniciales para quien no envía foto */
.author_img .avatar_iniciales {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: #003366;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Times New Roman", Times, serif;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.03em;
}

/* Red de seguridad: el comentario nunca desborda la caja */
.single_testimonial_item .testimonio_texto {
  display: -webkit-box;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.testimonio_nuevo { animation: testimonio_entra .6s ease-out; }

@keyframes testimonio_entra {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: none; }
}

/* --- Formulario --- */

.testimonio_form_card {
  background: #fff;
  border: 1px solid #e8ebef;
  border-radius: 10px;
  padding: 44px 40px;
  box-shadow: 0 14px 50px rgba(0, 51, 102, 0.07);
}

.campo_label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #003366;
  margin-bottom: 8px;
}

.campo {
  width: 100%;
  border: 1px solid #d9dee5;
  border-radius: 6px;
  padding: 13px 16px;
  font-size: 15px;
  color: #333;
  background: #fbfcfd;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.campo:focus {
  outline: none;
  border-color: #b69d74;
  box-shadow: 0 0 0 3px rgba(182, 157, 116, 0.18);
  background: #fff;
}

.campo::placeholder { color: #a6aeb8; }

textarea.campo { resize: vertical; min-height: 120px; }

/* Campos con error (validación del formulario de testimonios) */
.campo.invalido { border-color: #c0392b; box-shadow: 0 0 0 3px rgba(192, 57, 43, .12); }
.calificacion.invalido,
.consentimiento.invalido { outline: 2px solid #c0392b; outline-offset: 4px; border-radius: 6px; }

.contador {
  text-align: right;
  font-size: 13px;
  color: #98a1ab;
  margin-top: 6px;
}

.contador.cerca_del_limite { color: #b3261e; }

/* Estrellas: se pintan de derecha a izquierda para el efecto de relleno */
.calificacion {
  display: inline-flex;
  flex-direction: row-reverse;
  gap: 6px;
}

.calificacion input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}

.calificacion label {
  cursor: pointer;
  font-size: 26px;
  color: #dfe3e8;
  line-height: 1;
  transition: color .15s ease, transform .15s ease;
  margin: 0;
}

.calificacion label:hover,
.calificacion label:hover ~ label,
.calificacion input:checked ~ label { color: #b69d74; }

.calificacion label:hover { transform: scale(1.12); }

.calificacion input:focus-visible + label {
  outline: 2px solid #003366;
  outline-offset: 3px;
  border-radius: 4px;
}

.consentimiento {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  color: #626c77;
  line-height: 1.55;
  cursor: pointer;
}

/* El template fuerza input{height:50px;width:100%}: el checkbox necesita su propio tamaño */
.consentimiento input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px;
  margin: 2px 0 0 0;
  padding: 0;
  flex: 0 0 auto;
  accent-color: #003366;
  cursor: pointer;
}

.consentimiento span { flex: 1 1 auto; }

.consentimiento a { color: #003366; text-decoration: underline; }

.testimonio_estado {
  margin: 16px 0 0;
  font-size: 14px;
  min-height: 20px;
}

.testimonio_estado.exito { color: #1c5b32; font-weight: 600; }
.testimonio_estado.error { color: #b3261e; font-weight: 600; }

/* Campo trampa para robots: fuera de la vista, sin display:none */
.campo_trampa {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

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

@media (max-width: 575px) {
  .testimonio_form_card { padding: 30px 22px; }
}

/* --- Foto del testimonio --- */

.campo_foto {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}

.foto_previa {
  width: 74px;
  height: 74px;
  border-radius: 50%;
  object-fit: cover;
  background: #eef1f5 url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a9b3bf' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/><circle cx='12' cy='7' r='4'/></svg>") center/30px no-repeat;
  border: 2px dashed #d5dbe2;
  flex-shrink: 0;
}

.foto_previa.con_foto { border-style: solid; border-color: #b69d74; background-image: none; }

.foto_acciones { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }

#tst_foto {
  position: absolute;
  width: 1px !important;
  height: 1px !important;
  opacity: 0;
  overflow: hidden;
}

.foto_boton {
  display: inline-block;
  margin: 0;
  padding: 10px 20px;
  border: 1px solid #003366;
  border-radius: 6px;
  color: #003366;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease;
}

.foto_boton:hover { background-color: #003366; color: #fff; }

#tst_foto:focus-visible + .foto_boton,
.foto_boton:focus-visible { outline: 2px solid #b69d74; outline-offset: 2px; }

.foto_quitar {
  background: none;
  border: 0;
  color: #b3261e;
  font-size: 14px;
  text-decoration: underline;
  cursor: pointer;
  padding: 0;
}

.foto_ayuda { display: block; width: 100%; font-size: 13px; color: #98a1ab; }

.campo_label .opcional { font-weight: 400; font-style: normal; color: #98a1ab; }

/* Foto dentro de la tarjeta publicada */
.single_testimonial_item .author_img img {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  object-fit: cover;
}

/* --- Paginación real de testimonios --- */

.pronation_widget ul > li.paso.inactivo { opacity: .35; pointer-events: none; }

.paginacion_resumen {
  margin: 14px 0 0;
  font-size: 14px;
  color: #5f6b76;   /* contraste 5,3:1 sobre blanco */
}

/* =============================================
   BLOG — TARJETAS Y ARTÍCULO
   ============================================= */

.single_blog_widget .content h4 a { color: inherit; }
.single_blog_widget .content h4 a:hover { color: #b69d74; }

.single_blog_widget .blog_resumen {
  font-size: 15px;
  line-height: 1.6;
  color: #626c77;
  margin: 10px 0 14px;
}

.single_blog_widget a.single_blog_img { display: block; }

/* Artículo completo */

.entrada_blog { padding-top: 10px; }

.entrada_meta {
  display: flex;
  align-items: center;
  gap: 22px;
  flex-wrap: wrap;
  padding-bottom: 18px;
  margin-bottom: 30px;
  border-bottom: 1px solid #e6e6e6;
  font-size: 14px;
  color: #7d8791;
}

.entrada_meta i { color: #b69d74; margin-right: 6px; }

.entrada_autor {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
  color: #003366;
}

.entrada_autor img { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; }

.entrada_contenido { font-size: 17px; line-height: 1.85; color: #4a545e; }

.entrada_contenido p { margin: 0 0 20px; }

.entrada_contenido h2,
.entrada_contenido h3,
.entrada_contenido h4 {
  font-family: "Times New Roman", Times, serif !important;
  color: #003366 !important;
  margin: 34px 0 14px;
  line-height: 1.3;
}

.entrada_contenido h2 { font-size: 28px !important; }
.entrada_contenido h3 { font-size: 23px !important; }
.entrada_contenido h4 { font-size: 20px !important; }

.entrada_contenido ul,
.entrada_contenido ol { margin: 0 0 20px; padding-left: 26px; }

.entrada_contenido li { margin-bottom: 8px; list-style: inherit; }
.entrada_contenido ul { list-style: disc; }
.entrada_contenido ol { list-style: decimal; }

.entrada_contenido blockquote {
  margin: 26px 0;
  padding: 18px 26px;
  border-left: 3px solid #b69d74;
  background: #f8f9fb;
  font-style: italic;
  color: #3d4750;
}

.entrada_contenido a { color: #003366; text-decoration: underline; }
.entrada_contenido a:hover { color: #b69d74; }

.entrada_contenido strong { color: #33414f; }

/* Alineación que produce el editor */
.entrada_contenido .ql-align-center { text-align: center; }
.entrada_contenido .ql-align-right { text-align: right; }
.entrada_contenido .ql-align-justify { text-align: justify; }
.entrada_contenido .ql-indent-1 { padding-left: 3em; }
.entrada_contenido .ql-indent-2 { padding-left: 6em; }
.entrada_contenido .ql-indent-3 { padding-left: 9em; }

.entrada_pie { margin-top: 40px; padding-top: 26px; border-top: 1px solid #e6e6e6; }

.sin_testimonios {
  text-align: center;
  color: #98a1ab;
  font-size: 16px;
  padding: 30px 0;
  margin: 0;
}

/* =============================================
   CONTADOR DEL CARRUSEL DE TESTIMONIOS
   ============================================= */

/* La plantilla traía «/ 5» escrito a mano en el CSS, así que el carrusel
   anunciaba cinco páginas hubiera las que hubiera. El total lo pone ahora
   testimonios.js según los testimonios realmente publicados. */
.testimonial_wrapper .slick-dots > li.slick-active button::before {
  content: "/ " var(--testimonios-paginas, "1") !important;
}

/* =============================================
   BOTÓN «CONSULTA CON UNO DE NUESTROS EXPERTOS»
   ============================================= */

/* La plantilla usaba de fondo home_01/bg_01.png, que es un marcador gris con
   «1920 x 530» escrito: asomaba por detrás del texto. Se sustituye por la
   banda navy de la marca, que ya forma parte del sitio. */
.team_wrapper .single_team_btn {
  background-color: #003366 !important;
  background-image: url("./assets/img/about/bg_05.png") !important;
  background-size: cover !important;
  background-position: center center !important;
}

/* --- Cifras destacadas (30+) ---
   Antes eran <h1>; una página debe tener un solo h1 para Google. Este
   bloque reproduce el aspecto que les daba el estilo de los títulos. */
.single_funfact .single_funfact_items .cifra {
  font-family: "Crimson Pro", serif;
  font-weight: 700;
  font-size: 60px;
  line-height: 75px;
  margin: 0 0 10px;
  color: #ffffff;
}
.single_chose_us .single_funfact .single_funfact_items .cifra {
  font-size: 90px;
  line-height: 50px;
}
.single_chose_us .single_funfact .single_funfact_items .cifra sub { font-size: 30px; }
@media (max-width: 768px) {
  .single_chose_us .single_funfact .single_funfact_items .cifra { font-size: 60px; }
  .single_chose_us .single_funfact .single_funfact_items .cifra sub { font-size: 25px; }
}

/* --- Pantalla de carga ---
   Con la fuente web, las letras cambiaban de tamaño al llegar la fuente y
   movían el contenido (CLS). Una fuente del sistema está lista al instante. */
.preloader .animation-preloader .txt-loading .letters-loading,
.preloader .animation-preloader .txt-loading .letters-loading::before {
  font-family: Georgia, "Times New Roman", serif !important;
}

/* --- Aviso de cookies (assets/js/consentimiento.js) --- */
.aviso_cookies {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 9999;
  max-width: 720px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 20px;
  padding: 16px 20px;
  background: #003366;
  color: #ffffff;
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
  font-size: 14px;
  line-height: 1.5;
}
.aviso_cookies p { margin: 0; flex: 1 1 320px; color: #ffffff; }
.aviso_cookies a { color: #ffffff; text-decoration: underline; }
.aviso_cookies_botones { display: flex; gap: 10px; }
.aviso_cookies button {
  border: 1px solid #ffffff;
  border-radius: 6px;
  padding: 8px 18px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  background: transparent;
  color: #ffffff;
}
.aviso_cookies button[data-decision="aceptadas"] { background: #ffffff; color: #003366; }
.aviso_cookies button:focus-visible { outline: 2px solid #b69d74; outline-offset: 2px; }

/* Botón «Configurar cookies» dentro del texto de la Política de Privacidad */
.enlace_cookies {
  background: none;
  border: 0;
  padding: 0;
  color: #003366;
  font: inherit;
  text-decoration: underline;
  cursor: pointer;
}
