/* ================================================
   COLEGIO MARISTA - SANTA CRUZ
   CSS LIMPIO FINAL (SIN ICONOS)
   ================================================ */

:root {
  --marista-azul:          #133b64;
  --marista-naranja:       #f39200;
  --marista-blanco:        #ffffff;
  --marista-azul-claro:    #6a8cc0;
  --marista-naranja-claro: #fecb8b;
  --marista-rojo:          #99161b;
  --marista-gris-claro:    #e6e7e9;
  --marista-gris-medio:    #939598;
  --marista-gris-oscuro:   #4b4c4d;
  --marista-azul-oscuro:   #074067;
  --marista-crema:         #fef2e3;
}

/* --- HEADER --- */
header.header,
header.header.container-header,
.container-header,
body .header {
  background: #ffffff !important;
  padding: 16px 24px !important;
}

/* --- LOGO --- */
.navbar-brand img,
.brand-logo img {
  max-height: 100px !important;
  width: auto !important;
}

/* --- DESCRIPCIÓN --- */
.site-description {
  color: var(--marista-gris-medio) !important;
  font-size: 0.82rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  margin-top: 4px !important;
}

/* --- MENÚ PRINCIPAL --- */
ul.mod-menu.nav {
  background-color: var(--marista-azul) !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  list-style: none !important;
}

ul.mod-menu.nav li a,
ul.mod-menu.nav li span {
  color: var(--marista-blanco) !important;
  font-size: 0.93rem !important;
  font-weight: 500 !important;
  padding: 12px 16px !important;
  display: block !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

ul.mod-menu.nav li a:hover,
ul.mod-menu.nav li.active a {
  color: var(--marista-naranja) !important;
  background-color: rgba(255,255,255,0.05) !important;
}

/* --- SUBMENÚ --- */
ul.mod-menu.nav ul {
  background-color: var(--marista-azul-oscuro) !important;
  border-top: 3px solid var(--marista-naranja) !important;
  border-radius: 0 0 6px 6px !important;
  padding: 6px 0 !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
  min-width: 200px !important;
}

ul.mod-menu.nav ul li a {
  font-size: 0.88rem !important;
  padding: 9px 20px !important;
  border-left: 3px solid transparent !important;
}

ul.mod-menu.nav ul li a:hover {
  background-color: rgba(243,146,0,0.15) !important;
  border-left: 3px solid var(--marista-naranja) !important;
  color: var(--marista-naranja-claro) !important;
}

/* --- BOTÓN SUBMENÚ (SIN ICONOS) --- */
button.mod-menu__toggle-sub {
  background: transparent !important;
  border: none !important;
  padding: 0 6px !important;
  margin-left: 4px !important;
  cursor: pointer !important;
  vertical-align: middle !important;
  font-size: 0 !important; /* oculta contenido interno si existe */
}

/* --- INDICADOR v / ^ --- */
button.mod-menu__toggle-sub::after {
  content: "v";
  font-size: 12px;
  color: var(--marista-naranja);
  display: inline-block;
  transition: transform 0.2s ease;
}

button.mod-menu__toggle-sub[aria-expanded="true"]::after {
  content: "^";
}

/* --- BREADCRUMB --- */
.mod-breadcrumbs__wrapper {
  background-color: var(--marista-gris-claro) !important;
  padding: 8px 16px !important;
  font-size: 0.88rem !important;
}

.mod-breadcrumbs__wrapper a {
  color: var(--marista-azul) !important;
}

/* --- CONTENIDO --- */
.container-component {
  padding: 30px 15px !important;
  background-color: var(--marista-blanco) !important;
}

/* --- TÍTULOS --- */
h1, h2, h3 {
  color: var(--marista-azul) !important;
  font-weight: 700 !important;
}

h4, h5, h6 {
  color: var(--marista-azul-oscuro) !important;
  font-weight: 600 !important;
}

/* --- LINKS --- */
a {
  color: var(--marista-azul) !important;
  transition: color 0.2s ease !important;
}

a:hover {
  color: var(--marista-naranja) !important;
  text-decoration: none !important;
}

/* --- ARTÍCULOS --- */
.com-content-article__header {
  border-left: 4px solid var(--marista-naranja) !important;
  padding-left: 12px !important;
}

.article-info {
  background-color: var(--marista-gris-claro) !important;
  padding: 8px 12px !important;
  border-radius: 4px !important;
  font-size: 0.85rem !important;
}

/* --- SIDEBAR --- */
.container-sidebar-right .card,
.grid-child .card {
  border: 1px solid var(--marista-gris-claro) !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 8px rgba(19,59,100,0.07) !important;
  margin-bottom: 20px !important;
  overflow: hidden !important;
}

.container-sidebar-right .card-header,
.grid-child .card-header {
  background-color: var(--marista-azul) !important;
  color: var(--marista-blanco) !important;
  padding: 10px 16px !important;
  border-bottom: 3px solid var(--marista-naranja) !important;
}

/* --- BOTONES --- */
.btn-primary {
  background-color: var(--marista-naranja) !important;
  border-color: var(--marista-naranja) !important;
  color: var(--marista-blanco) !important;
}

.btn-primary:hover {
  background-color: var(--marista-azul) !important;
  border-color: var(--marista-azul) !important;
}

/* --- PAGINACIÓN --- */
.pagination .page-link {
  color: var(--marista-azul) !important;
}

.pagination .page-item.active .page-link {
  background-color: var(--marista-azul) !important;
  color: var(--marista-blanco) !important;
}

/* --- FOOTER --- */
footer,
.container-footer {
  background-color: var(--marista-azul-oscuro) !important;
  color: var(--marista-gris-claro) !important;
  padding: 36px 0 20px !important;
  border-top: 4px solid var(--marista-naranja) !important;
  margin-top: 40px !important;
}

footer a {
  color: var(--marista-naranja-claro) !important;
}

footer a:hover {
  color: var(--marista-naranja) !important;
}

/* --- OCULTAR LOGIN --- */
.container-sidebar-right .mod-login {
  display: none !important;
}

/* --- RESPONSIVE --- */
@media (max-width: 768px) {
  .brand-logo img {
    max-height: 48px !important;
  }

  header.header {
    padding: 8px 0 !important;
  }

  ul.mod-menu.nav {
    flex-direction: column !important;
  }

  ul.mod-menu.nav li a {
    padding: 10px 14px !important;
  }
}