/*------------------------------------------------------------------------
# TheSaaS Drupal - Modificado para Mi Abotgado
# ------------------------------------------------------------------------
# 00. Fuentes Corporativas y Variables Bootstrap
# 01. Custom CSS
# 02. Menu
# 03. Section
# 04. Forms
# 05. Blog & Portfolio
# 06. Edit form
# 07. Swiper slider
# 08. Identidad Mi Abotgado (Logo y Botones)
# 09. Ajuste Exclusivo Contraste Página Contacto y Formularios
# 10. Corrección de Contraste en Secciones Oscuras
# 11. Estilos Globales para Formularios (Básico y Webform)
--------------------------------------------------------------------------------*/

/* 00. Fuentes Corporativas y Variables Bootstrap
--------------------------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&family=Montserrat:wght@700&display=swap');

:root {
    --bs-primary: #191970; /* Dark Blue */
    --bs-info: #40E0D0; /* Turquoise */
    --bs-warning: #D4AF37; /* Gold */
    --bs-body-bg: #FFFFFF; /* White */
    --bs-body-color: #333333; 
    --bs-font-sans-serif: 'Lato', sans-serif !important;
    --bs-body-font-family: 'Lato', sans-serif !important;
}

/* 01. Custom CSS
--------------------------------------------------------------------------------*/
html { font-size: 100%;}
body { 
 font-family: "Lato", sans-serif !important; 
 font-size: .9375rem;
 font-weight: 400; 
 line-height: 1.9;
 color: #333333; 
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .navbar-brand {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
}

.partner-sm img { width: auto; }

@media screen and (min-width: 768px) {
  body { margin-top: 0; }
}
.form-group:last-child, .panel:last-child, .popover ol:last-child, .popover ul:last-child, p:last-child {
  margin-bottom: 1rem;
}
.row:before, .row:after { display: block; }
a { text-decoration: none; }
hr { margin: 2rem auto; opacity: 0.1; }
.text-white hr { border-top-color: rgba(255, 255, 255, 0.15); }
.w-50 { width: 50px !important; }
.card-body { padding: 1.5rem; }
.text-light { color: #999 !important; }

/* Regions */
.footer { padding: 0; }

/* Buttons */
.btn {
    font-size: 11px;
    padding: 8px 26px 6px;
    letter-spacing: 1.7px;
    text-transform: uppercase;
    border-radius: 2px;
    outline: none;
    transition: 0.15s linear;
    font-family: 'Montserrat', sans-serif !important;
}
.btn-round { border-radius: 10rem; }
.btn-success { color: #fff; background-color: #3cd458; border-color: #3cd458; }
.btn-info { color: #fff; background-color: #926dde; border-color: #926dde; }
.btn-light { color: #757575; background-color: #f8f9fa; border-color: #f8f9fa; }
.btn-xs { padding: 4px 12px 3px; font-size: 10px; }
.btn-lg { padding: 7px 32px 6px; font-size: 12px; }
.btn-xl { padding: 10px 38px 10px; font-size: 13px; }
.btn-circle { padding: 0; border-radius: 10rem; display: inline-flex; }
.btn-white { color: #757575; background-color: #fff; border-color: #fff; }

/* Backgrounds */
.bg-primary { background-color: #191970 !important; } 
.bg-info { background-color: #40E0D0 !important; } 
.bg-warning { background-color: #D4AF37 !important; } 
.bg-purple { background-color: #7a54d8; color: #fff; }
.bg-purple-light { background-color: #b9a0c9; color: #fff; }
.bg-blue-light { background-color: #8ea6e6; color: #fff; }
.bg-pink { background-color: #f64d62; color: #fff; }
.bg-skype { background-color: #00aff0; color: #fff; }
.bg-project { background-color: #7a54d8; color: #fff; }
.bg-job { background-color: #c2b2cd; color: #fff; }
.bg-metal { background-color: #262A37; }
.bg-iceberg { background-color: #65b7cc; }
.bg-red { background-color: #f64d62; }

/* Card */
.card { border: 0; transition: .5s; }
.accordion-connected .card { padding: 0; }
.accordion-header { cursor: pointer; }
.card.shadow-1 { border: none; }
.form-control { border: 1px solid #eaeff4; }
div.hr { border-top: 1px solid rgba(117, 117, 117, 0.09); height: 0; overflow: visible; margin: 2rem auto; }

/* Pagination */
ul.pagination { justify-content: center; gap: 10px; margin-top: 2rem; }
.border { border: 1px solid #f1f2f3 !important; }

/* 02. Menu
--------------------------------------------------------------------------------*/
.nav-item, .nav-link { cursor: pointer; }
.nav-link { color: #757575; font-weight: 400; font-family: 'Montserrat', sans-serif !important; }
.navbar { position: absolute; }
.navbar .navbar-mobile { width: auto; }
.navbar-toggler { border: none; }
@media (max-width: 991.98px) { .navbar .navbar-mobile { width: 300px; } }
.body-scrolled .navbar.navbar-sticky {
  position: fixed; top: 0; transition: margin-left .5s, background-color .5s;
  background-color: rgba(255, 255, 255, 0.99); box-shadow: 0 1px 9px rgba(0, 0, 0, 0.05);
}
.body-scrolled .navbar.navbar-sticky .btn-white.btn-outline { border-color: #f1f2f3; color: #b5b9bf; }
.body-scrolled .navbar.navbar-light.navbar-sticky { color: #535353; }
.body-scrolled .navbar.navbar-light.navbar-sticky .logo-dark { display: inline-block; }
.body-scrolled .navbar.navbar-light.navbar-sticky .logo-light { display: none; }
.body-scrolled .navbar.navbar-light.navbar-sticky .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(117,117,117,0.8)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.navbar-dark .nav-navbar>.nav-item>.nav-link, .navbar-dark .nav-navbar>.nav-link, 
.navbar-stick-dark.stick .nav-navbar>.nav-item>.nav-link, .navbar-stick-dark.stick .nav-navbar>.nav-link { color: rgba(117, 117, 117, 0.8); }
.body-scrolled .navbar.navbar-light.navbar-sticky .nav-navbar > .nav-item > .nav-link,
.body-scrolled .navbar.navbar-light.navbar-sticky .topbar-toggler,
.body-scrolled .navbar.navbar-light.navbar-sticky .drawer-toggler { color: rgba(117, 117, 117, 0.8); }
.body-scrolled .scroll-top { opacity: 0.6; }
.navbar-dark .navbar-toggler, .navbar-stick-dark.stick .navbar-toggler { color: rgba(117, 117, 117, 0.8); }

/* 08. Identidad Mi Abotgado (Logo y Botones)
--------------------------------------------------------------------------------*/
.navbar-brand img, .header .navbar-brand img {
    max-height: 70px !important; 
    width: auto !important;
    display: block !important;
}

@media (max-width: 991px) {
    .navbar-brand img { max-height: 45px !important; }
}

.btn-success, .navbar .btn-success {
    background-color: #40E0D0 !important; 
    border-color: #40E0D0 !important;
    color: #191970 !important; 
    font-weight: 700;
}

.btn-success:hover, .navbar .btn-success:hover {
    background-color: #191970 !important; 
    border-color: #191970 !important;
    color: #FFFFFF !important; 
}

.btn-outline-success { color: #40E0D0 !important; border-color: #40E0D0 !important; }
.btn-outline-success:hover { background-color: #40E0D0 !important; color: #191970 !important; }

.nav-link {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 13px;
}

/* 09. Ajuste Exclusivo Contraste Página Contacto y Formularios B2B
--------------------------------------------------------------------------------*/
body.path-contact:not(.body-scrolled) .navbar,
body.path-webform:not(.body-scrolled) .navbar {
    background-color: var(--bs-primary) !important; 
    position: absolute !important; 
}

body.path-contact:not(.body-scrolled) .nav-link,
body.path-webform:not(.body-scrolled) .nav-link {
    color: var(--bs-body-bg) !important; 
}

body.path-contact:not(.body-scrolled) .navbar-brand img,
body.path-webform:not(.body-scrolled) .navbar-brand img {
    filter: brightness(0) invert(1) !important; 
}

body.path-contact main.main-content,
body.path-webform main.main-content {
    padding-top: 140px !important;
}

/* 10. Corrección Quirúrgica de Contraste (Secciones Oscuras)
   SOLO cambia el texto que está DENTRO de secciones con fondo azul.
--------------------------------------------------------------------------------*/
.bg-primary h1, .bg-primary h2, .bg-primary h3, .bg-primary h4,
section.bg-primary h2, 
.bg-primary .text-primary {
    color: var(--bs-info) !important; /* Forza el Turquesa para que resalte */
}

.bg-primary p, .bg-primary .lead {
    color: rgba(255, 255, 255, 0.9) !important; /* Blanco suave */
}

.bg-primary .display-4 {
    color: #ffffff !important;
    opacity: 0.2 !important;
}

/* 11. Estilo Exclusivo para TODOS los Formularios (Básico y Webform)
--------------------------------------------------------------------------------*/

/* Ocultar el texto "CAPTCHA *" y descripciones del sistema */
.captcha .control-label,
.captcha .description,
#edit-captcha--description,
.captcha .help-block,
.captcha fieldset legend {
    display: none !important;
}

/* Alinear y dar espacio al cuadro de "No soy un robot" */
.captcha {
    margin-top: 20px !important;
    margin-bottom: 25px !important;
    display: block !important;
}

/* Estilo del botón "Enviar Mensaje" (Turquesa, estilo píldora) */
.contact-message-feedback-form .form-submit,
.webform-submission-form .button,
.webform-submission-form .form-submit {
    background-color: #40E0D0 !important; /* Turquesa */
    color: #191970 !important; /* Azul Oscuro */
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    padding: 12px 35px !important;
    border-radius: 50px !important; 
    border: none !important;
    cursor: pointer !important;
    transition: background-color 0.3s ease, color 0.3s ease !important;
    width: auto !important;
}

/* Efecto al pasar el mouse sobre el botón */
.contact-message-feedback-form .form-submit:hover,
.webform-submission-form .button:hover,
.webform-submission-form .form-submit:hover {
    background-color: #191970 !important; /* Azul Oscuro */
    color: #ffffff !important; /* Letras Blancas */
}