@charset "UTF-8";
/**
 * @file
 * Global layout styles for Velantis theme — mobile-first.
 */
html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}

nav.tabs {
  margin-top: 1rem;
}
nav.tabs ul.nav.primary.nav-tabs {
  display: flex;
  gap: 15px;
  padding: 0 var(--vel-space-md);
}
@media (min-width: 992px) {
  nav.tabs ul.nav.primary.nav-tabs {
    padding: 0 var(--vel-space-lg);
  }
}

/* ==========================================================================
   Admin & Layout Builder — Status messages override
   ========================================================================== */
/* Apply only in Layout Builder context - targeting actual HTML structure */
#layout-builder .alert-wrapper,
.vel-highlighted .alert-wrapper,
.layout-builder__message .alert-wrapper {
  position: relative !important; /* Override Bootstrap Barrio fixed positioning */
  z-index: auto;
  width: auto;
  margin: var(--vel-space-md);
}
@media (min-width: 992px) {
  #layout-builder .alert-wrapper,
  .vel-highlighted .alert-wrapper,
  .layout-builder__message .alert-wrapper {
    margin: var(--vel-space-lg);
  }
}

.node-page-layout-builder-form [aria-label="Herramientas de Layout Builder"],
.node-page-layout-builder-form .vertical-tabs {
  margin: var(--vel-space-md);
}
@media (min-width: 992px) {
  .node-page-layout-builder-form [aria-label="Herramientas de Layout Builder"],
  .node-page-layout-builder-form .vertical-tabs {
    margin: var(--vel-space-lg);
  }
}

#layout-builder .alert,
.vel-highlighted .alert,
.layout-builder__message .alert {
  display: flex;
  align-items: flex-start;
  gap: var(--vel-space-md);
}
@media (min-width: 992px) {
  #layout-builder .alert,
  .vel-highlighted .alert,
  .layout-builder__message .alert {
    gap: var(--vel-space-lg);
  }
}
#layout-builder .alert,
.vel-highlighted .alert,
.layout-builder__message .alert {
  padding: var(--vel-space-lg) var(--vel-space-md);
  border-radius: var(--vel-card-radius);
  border-width: 2px;
  border-style: solid;
  font-family: var(--vel-font-body);
  font-size: var(--vel-text-base);
  line-height: var(--vel-leading-relaxed);
  box-shadow: var(--vel-shadow-sm);
}
#layout-builder .alert svg,
.vel-highlighted .alert svg,
.layout-builder__message .alert svg {
  max-width: 24px;
  min-width: 24px;
  height: 24px;
  flex-shrink: 0;
}
#layout-builder .alert .alert__content,
#layout-builder .alert > div,
.vel-highlighted .alert .alert__content,
.vel-highlighted .alert > div,
.layout-builder__message .alert .alert__content,
.layout-builder__message .alert > div {
  flex: 1;
}
#layout-builder .alert .alert__content .alert-heading,
#layout-builder .alert > div .alert-heading,
.vel-highlighted .alert .alert__content .alert-heading,
.vel-highlighted .alert > div .alert-heading,
.layout-builder__message .alert .alert__content .alert-heading,
.layout-builder__message .alert > div .alert-heading {
  font-family: var(--vel-font-heading);
  font-size: var(--vel-text-lg);
  font-weight: 700;
  margin-bottom: var(--vel-space-xs);
  line-height: var(--vel-leading-snug);
}
#layout-builder .alert .btn-close,
.vel-highlighted .alert .btn-close,
.layout-builder__message .alert .btn-close {
  position: absolute;
  top: var(--vel-space-md);
  right: var(--vel-space-md);
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  opacity: 0.6;
  cursor: pointer;
  transition: opacity 0.15s ease;
}
#layout-builder .alert .btn-close::before, #layout-builder .alert .btn-close::after,
.vel-highlighted .alert .btn-close::before,
.vel-highlighted .alert .btn-close::after,
.layout-builder__message .alert .btn-close::before,
.layout-builder__message .alert .btn-close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 2px;
  background-color: currentColor;
}
#layout-builder .alert .btn-close::before,
.vel-highlighted .alert .btn-close::before,
.layout-builder__message .alert .btn-close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
#layout-builder .alert .btn-close::after,
.vel-highlighted .alert .btn-close::after,
.layout-builder__message .alert .btn-close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
#layout-builder .alert .btn-close:hover,
.vel-highlighted .alert .btn-close:hover,
.layout-builder__message .alert .btn-close:hover {
  opacity: 1;
}
#layout-builder .alert .btn-close:focus,
.vel-highlighted .alert .btn-close:focus,
.layout-builder__message .alert .btn-close:focus {
  outline: 2px solid var(--vel-accent);
  outline-offset: 2px;
}
#layout-builder .alert,
.vel-highlighted .alert,
.layout-builder__message .alert {
  /* Fade-out animation for dismissing */
  transition: opacity 0.15s linear;
}
#layout-builder .alert.fade-out,
.vel-highlighted .alert.fade-out,
.layout-builder__message .alert.fade-out {
  opacity: 0;
}
#layout-builder .alert,
.vel-highlighted .alert,
.layout-builder__message .alert {
  /* Status variants with Velantis colors */
}
#layout-builder .alert.alert-success,
.vel-highlighted .alert.alert-success,
.layout-builder__message .alert.alert-success {
  background-color: rgba(232, 245, 233, 0.3);
  border-color: var(--vel-secondary);
  color: var(--vel-text-dark);
}
#layout-builder .alert.alert-success svg,
.vel-highlighted .alert.alert-success svg,
.layout-builder__message .alert.alert-success svg {
  color: var(--vel-secondary);
}
#layout-builder .alert.alert-warning,
.vel-highlighted .alert.alert-warning,
.layout-builder__message .alert.alert-warning {
  background-color: rgba(255, 249, 230, 0.4);
  border-color: #ffa726;
  color: var(--vel-text-dark);
}
#layout-builder .alert.alert-warning svg,
.vel-highlighted .alert.alert-warning svg,
.layout-builder__message .alert.alert-warning svg {
  color: #f57c00;
}
#layout-builder .alert.alert-danger, #layout-builder .alert.alert-error,
.vel-highlighted .alert.alert-danger,
.vel-highlighted .alert.alert-error,
.layout-builder__message .alert.alert-danger,
.layout-builder__message .alert.alert-error {
  background-color: rgba(255, 235, 238, 0.3);
  border-color: #ef5350;
  color: var(--vel-text-dark);
}
#layout-builder .alert.alert-danger svg, #layout-builder .alert.alert-error svg,
.vel-highlighted .alert.alert-danger svg,
.vel-highlighted .alert.alert-error svg,
.layout-builder__message .alert.alert-danger svg,
.layout-builder__message .alert.alert-error svg {
  color: #d32f2f;
}
#layout-builder .alert.alert-info, #layout-builder .alert.alert-status,
.vel-highlighted .alert.alert-info,
.vel-highlighted .alert.alert-status,
.layout-builder__message .alert.alert-info,
.layout-builder__message .alert.alert-status {
  background-color: rgba(227, 242, 253, 0.3);
  border-color: var(--vel-accent);
  color: var(--vel-text-dark);
}
#layout-builder .alert.alert-info svg, #layout-builder .alert.alert-status svg,
.vel-highlighted .alert.alert-info svg,
.vel-highlighted .alert.alert-status svg,
.layout-builder__message .alert.alert-info svg,
.layout-builder__message .alert.alert-status svg {
  color: var(--vel-accent);
}

/* ==========================================================================
   Container — Mobile base (xs)
   ========================================================================== */
.vel-container {
  max-width: var(--vel-max-width);
  margin: 0 auto;
  padding-inline: var(--vel-space-md); /* 16px */
}

.vel-section {
  padding-block: var(--vel-space-2xl); /* 48px */
}

/* Full-width layout — no sidebars */
.layout-content {
  width: 100%;
  max-width: 100%;
}

/* Hide sidebars globally */
.layout-sidebar-first,
.layout-sidebar-second {
  display: none;
}

/* Hide breadcrumbs on frontpage */
.path-frontpage .vel-breadcrumb-wrapper {
  display: none;
}

/* Mobile reorder: swap Resources (before Cyber) on frontpage */
.path-frontpage .vel-main .layout__region {
  display: flex;
  flex-direction: column;
}

.path-frontpage .vel-resources {
  order: -1;
}

/* Utility: visually hidden */
.vel-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ==========================================================================
   sm (576px)
   ========================================================================== */
@media (min-width: 576px) {
  .vel-container {
    padding-inline: var(--vel-space-lg); /* 24px */
  }
}
/* ==========================================================================
   md (768px)
   ========================================================================== */
@media (min-width: 768px) {
  .vel-container {
    padding-inline: 40px;
  }
  .vel-section {
    padding-block: var(--vel-space-3xl); /* 64px */
  }
}
/* ==========================================================================
   lg (992px) — Desktop layout switch
   ========================================================================== */
@media (min-width: 992px) {
  .vel-container {
    padding-inline: 60px;
  }
  .vel-section {
    padding-block: var(--vel-section-padding);
  }
  /* Remove mobile reordering */
  .path-frontpage .vel-main .layout__region {
    display: block;
  }
  .path-frontpage .vel-resources {
    order: 0;
  }
}
/* ==========================================================================
   xl (1200px)
   ========================================================================== */
@media (min-width: 1200px) {
  .vel-container {
    padding-inline: var(--vel-content-padding); /* 80px */
  }
}
/* ==========================================================================
   Responsive display utilities (mobile-first)
   ========================================================================== */
.vel-d-none {
  display: none !important;
}

.vel-d-block {
  display: block !important;
}

.vel-d-flex {
  display: flex !important;
}

@media (min-width: 992px) {
  .vel-d-lg-none {
    display: none !important;
  }
  .vel-d-lg-block {
    display: block !important;
  }
  .vel-d-lg-flex {
    display: flex !important;
  }
}
/* ==========================================================================
   Layout Builder — contextual links visible above SDC components
   ========================================================================== */
.layout-builder__region .contextual {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1000;
}
/*# sourceMappingURL=layout.css.map */
