/* Custom styles */

/* Flag icon used for language switch */
.flag-icon { width: 1.2rem; height: auto; vertical-align: middle; display: inline-block; }

/* Logo used in headers */
.logo { height: 40px; width: auto; vertical-align: middle; display: inline-block; }

/* Four columns helper for 'Nosotros' section */
.row.four-cols > * {
  width: 25%;
}

@media screen and (max-width: 980px) {
  .row.four-cols > * {
    width: 50%;
  }
}

@media screen and (max-width: 480px) {
  .row.four-cols > * {
    width: 100%;
  }
}

/* -----------------------------
   Cookie consent banner styles
   ----------------------------- */
#cookie-consent {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  bottom: 1rem; /* leave space from page bottom */
  width: calc(100% - 2rem); /* leave horizontal gutters */
  max-width: 1100px;
  background: rgba(36,36,36,0.98);
  color: #fff;
  z-index: 9999;
  padding: 1rem;
  border-radius: 8px;
  -webkit-font-smoothing: antialiased;
}
#cookie-consent .cookie-inner {
  max-width: 100%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 1rem;
  justify-content: space-between;
}
#cookie-consent p {
  margin: 0;
  font-size: 0.95rem;
  flex: 1 1 auto;
}
#cookie-consent a { color: #8cd3ff; text-decoration: underline; }
#cookie-consent .cookie-buttons { display:flex; gap:0.5rem; margin-left: 1rem; flex-shrink: 0; }
#cookie-consent .button { padding: 0.5rem 0.8rem; border-radius: 4px; border: none; cursor: pointer; }
#cookie-consent .button.primary { background: #00aaff; color: #fff; }

#cookie-preferences {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  color: #000;
  z-index: 10000;
  padding: 1.2rem;
  border-radius: 6px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.3);
  display: none;
  max-width: 480px;
  width: 90%;
}
#cookie-preferences h3 { margin-top: 0; }
#cookie-preferences .cookie-categories { margin: 1rem 0; }

#open-cookie-prefs { position: fixed; right: 1rem; bottom: 1rem; z-index: 9999; background: #333; color: #fff; border: none; border-radius: 50px; padding: 0.6rem 0.9rem; cursor: pointer; box-shadow: 0 4px 12px rgba(0,0,0,0.2); }

/* Page-specific spacing for the cookie policy page */
.cookie-page #page-wrapper { padding-top: 2rem; padding-bottom: 2rem; }

@media (max-width: 600px) {
  #cookie-consent { padding: 0.8rem; width: calc(100% - 1.5rem); }
  #cookie-consent .cookie-inner { flex-direction: column; align-items: flex-start; }
  #cookie-consent .cookie-buttons { width: 100%; justify-content: space-between; margin-left: 0; margin-top: 0.5rem; }
}
