/* ===== MEIG palette overrides (non-destructive) ===== */
:root{
  --color-dark-blue:#2C3E50;   /* headers / navbar / footer */
  --color-light-blue:#3498DB;  /* primary: buttons, links, hovers */
  --color-orange:#192065;      /* accents / secondary buttons */
  --color-light-gray:#ECF0F1;  /* light backgrounds */
  --color-dark-gray:#34495E;   /* main text */
  --color-medium-gray:#7F8C8D; /* secondary text */
  --color-orange-2: #E67E22;
}
body{ color:var(--color-dark-gray); }
a{ color:var(--color-light-blue); }
a:hover, a:focus{ color:#217dbb; }
.advs-box-top-icon .icon{
  color: var(--color-orange-2) !important;
}
.icon-box-cell i{
  color: var(--color-orange-2) !important;
}
.bg-dark-container{
  background-color: var(--color-dark-blue) !important;
}
.bg-light-container{
  background-color: var(--color-light-gray) !important;
}
.bg-medium-container{
  background-color: var(--color-medium-gray) !important;
  color: #fff !important;
}
/* Common components */
.btn, .button, input[type="submit"], .submit {
  background: var(--color-orange) !important;
  border-color: var(--color-orange) !important;
  color:#fff !important;
}
.btn-secondary, .btn-accent, .badge, .label-accent {
  background: var(--color-orange) !important;
  border-color: var(--color-orange) !important;
  color:#fff !important;
}
/* Headers / nav / footer */
header, .header, .site-header, nav.navbar, .navbar {
  background-color: var(--color-dark-blue) !important;
  color:#fff !important;
  border:none !important;
}
header a:not(.btn):not(.badge):hover, .header a:not(.btn):not(.badge):hover, .site-header a:not(.btn):not(.badge):hover, nav.navbar a:not(.btn):not(.badge):hover, .navbar a:not(.btn):not(.badge):hover, header nav.navbar a:not(.btn):not(.badge):hover, .header nav.navbar a:not(.btn):not(.badge):hover {
  color: var(--color-orange-2) !important;
}
#menu .active a{ color:#E67E22 !important; }

/* Sobrescribir estilos específicos de Bootstrap para navbar-toggle */
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
  background-color: transparent !important;
}

.navbar-default .navbar-toggle {
  background-color: transparent !important;
  border-color: #fff !important;
}

.navbar-default .navbar-toggle i {
  color: #fff !important;
}

.navbar-toggle:hover i,.navbar-toggle:focus i {
  color: var(--color-orange-2) !important;
}

/* Text utility remaps (if they exist in the theme) */
.text-primary, .link-primary { color: var(--color-light-blue) !important; }
.bg-primary { background-color: var(--color-light-blue) !important; }
.text-secondary { color: var(--color-medium-gray) !important; }
.text-dark { color: var(--color-dark-gray) !important; }
.bg-light, .background-light { background-color: var(--color-light-gray) !important; }
.text-muted { color: var(--color-medium-gray) !important; }

.title-orange {
  color: var(--color-orange) !important;
}
/* Cards / blocks subtle elevation */
.card, .box, .feature, .service, .panel, .tile{
  border-radius: 10px; border:1px solid #e6e9ec;
  box-shadow: 0 6px 18px rgba(44,62,80,.06);
}

.bg-overlay {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.45);
  z-index: 1;
  pointer-events: none;
}
.section-bg-image, .parallax-window {
  position: relative;
}
.section-bg-image > .container,
.parallax-window > .container {
  position: relative;
  z-index: 2;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{ animation: none !important; transition: none !important; }
}

.flexslider.carousel .slides li {
  justify-content: center !important;
  text-align: center !important;
  display: flex !important;
}

.flexslider.carousel .slides li img {
  width: 200px !important;
  height: auto !important;
  object-fit: contain !important;
  max-height: 80px !important;
}
.flexslider.carousel {
  overflow: visible !important;
}

.flexslider.carousel .flex-control-nav,
.flexslider.carousel .flex-control-paging {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: absolute !important;
  width: 100% !important;
  text-align: center !important;
  z-index: 10 !important;
}

.flexslider.carousel .flex-control-paging li {
  display: inline-block !important;
  visibility: visible !important;
  margin: 0 6px !important;
}

.flexslider.carousel .flex-control-paging li a {
  display: block !important;
  visibility: visible !important;
  width: 11px !important;
  height: 11px !important;
}

/* Ocultar mensajes de formulario por defecto */
#contact-form .success-box,
#contact-form .error-box {
  display: none;
}

/* Cookie Consent Modal */
.cookie-consent-container {
  position: fixed;
  bottom: -300px;
  left: 20px;
  max-width: 400px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 10px 40px rgba(44, 62, 80, 0.2);
  padding: 25px;
  z-index: 9999;
  transition: bottom 0.5s ease-in-out;
  border: 2px solid var(--color-dark-blue);
}

.cookie-consent-container.show {
  bottom: 20px;
}

.cookie-consent-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 15px;
}

.cookie-consent-header i {
  font-size: 28px;
  color: var(--color-orange);
}

.cookie-consent-header h4 {
  margin: 0;
  color: var(--color-dark-blue);
  font-size: 18px;
  font-weight: 600;
}

.cookie-consent-text {
  color: var(--color-dark-gray);
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 20px;
}

.cookie-consent-buttons {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}

.cookie-consent-buttons .btn {
  padding: 10px 20px;
  font-size: 14px;
  border-radius: 5px;
  font-weight: 500;
  transition: all 0.3s ease;
  cursor: pointer;
  border: none;
}

.cookie-btn-accept {
  background: var(--color-orange) !important;
  color: #fff !important;
}

.cookie-btn-accept:hover {
  opacity: 0.9;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(25, 32, 101, 0.3);
}

.cookie-btn-reject {
  background: var(--color-medium-gray) !important;
  color: #fff !important;
}

.cookie-btn-reject:hover {
  opacity: 0.9;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(127, 140, 141, 0.3);
}

/* Responsive */
@media (max-width: 768px) {
  .cookie-consent-container {
    left: 10px;
    right: 10px;
    max-width: calc(100% - 20px);
  }

  .cookie-consent-container.show {
    bottom: 10px;
  }

  .cookie-consent-buttons {
    flex-direction: column;
  }

  .cookie-consent-buttons .btn {
    width: 100%;
  }
}
