/* ============ Adira base — calco de estilo global ============ */
:root {
  --adira-dark: #111;
  --adira-text: #777;
  --adira-accent: #e41919;
  --adira-gray: #f4f4f4;
  --adira-gray-lighter: #f8f8f8;
}
html { -webkit-font-smoothing: antialiased; }
/* Sin margen fantasma sobre el hero/cabecera: WP mete block-gap entre header/main/footer y en .entry-content */
body { margin: 0; }
.wp-site-blocks > header,
.wp-site-blocks > main,
.wp-site-blocks > footer,
.wp-site-blocks .entry-content { margin-block-start: 0 !important; }
body {
  color: var(--adira-dark);
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 14px;
  line-height: 1.8;
}
/* Contenedor 1170 como el .container original */
.adira-container { max-width: 1170px; margin: 0 auto; padding: 0 15px; }
.adira-full-wrapper { padding: 0 20px; }

/* Secciones (calco .page-section / .small-section) */
.adira-section { padding: 140px 0; position: relative; }
.adira-section--sm { padding: 70px 0; }
.adira-section--gray-lighter { background: var(--adira-gray-lighter); }
.adira-section--dark { background: var(--adira-dark); color: #fff; }
@media (max-width: 767px) {
  .adira-section { padding: 80px 0; }
  .adira-section--sm { padding: 50px 0; }
}

/* Título de sección (calco .section-title) */
.adira-title {
  margin: 0 0 70px;
  font-family: Dosis, Arial, sans-serif;
  font-size: 18px;
  font-weight: 400;
  text-transform: uppercase;
  text-align: center;
  letter-spacing: .5em;
  color: var(--adira-dark);
}
.adira-title--left { text-align: left; }
.adira-title .adira-title__more {
  float: right;
  margin-top: 7px;
  font-size: 11px;
  letter-spacing: .4em;
  text-decoration: none;
  color: #555;
  transition: color .2s;
}
.adira-title .adira-title__more:hover { color: #000; }
@media (max-width: 767px) { .adira-title { margin-bottom: 40px; } }

/* Botones (calco .btn-mod .btn-gray .btn-round) */
.adira-btn {
  display: inline-block;
  padding: 8px 37px;
  font-family: Dosis, Arial, sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .2em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--adira-dark);
  background: #e5e5e5;
  border: none;
  cursor: pointer;
  transition: background .2s, color .2s;
}
.adira-btn:hover { background: var(--adira-dark); color: #fff; }
.adira-btn:active { transform: scale(.96); }
.adira-btn { transition: background .2s, color .2s, transform .12s; }
.adira-btn--round { border-radius: 30px; }
.adira-btn--white { background: transparent; color: #fff; border: 2px solid rgba(255,255,255,.75); }
.adira-btn--white:hover { background: #fff; color: var(--adira-dark); }

/* Grid de cards (calco .multi-columns-row + .post-prev-*) */
.adira-grid { display: grid; gap: 30px; }
.adira-grid--3 { grid-template-columns: repeat(3, 1fr); }
.adira-grid--4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 991px) { .adira-grid--3, .adira-grid--4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px) { .adira-grid--3, .adira-grid--4 { grid-template-columns: 1fr; } }

.adira-card__img img { display: block; width: 100%; height: auto; transition: transform .45s cubic-bezier(.2,0,0,1); }
.adira-card__img a { display: block; overflow: hidden; }
.adira-card:hover .adira-card__img img { transform: scale(1.06); }
.adira-card__title {
  margin-top: 20px;
  font-family: Dosis, Arial, sans-serif;
  font-size: 16px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .1em;
}
.adira-card__title a { color: var(--adira-dark); text-decoration: none; }
.adira-card__title a:hover { color: var(--adira-accent); }
.adira-card__info {
  margin-top: 3px;
  font-family: Dosis, Arial, sans-serif;
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #999;
}
.adira-card__text { margin-top: 12px; color: var(--adira-text); text-align: justify; }
.adira-card__more { margin-top: 16px; }

/* ============ Cabecera de navegación (calco .main-nav.dark original: naranja #FF8F00, 75px→55px) ============ */
:root { --adira-nav-h: 75px; --adira-naranja: #FF8F00; }
.adira-nav {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1030;
  width: 100%;
  height: var(--adira-nav-h);
  background: var(--adira-naranja);
  transition: height .27s cubic-bezier(0, 0, .58, 1), background .27s cubic-bezier(0, 0, .58, 1);
}
.adira-nav--small { --adira-nav-h: 55px; }
.adira-nav--transparent { background: transparent; }
.adira-nav__inner { display: flex; align-items: center; justify-content: space-between; height: 100%; padding: 0 20px; }
.adira-nav__logo { display: flex; align-items: center; height: 100%; max-width: 118px; }
.adira-nav__logo img { display: block; max-height: 44px; width: auto; transition: max-height .27s; }
.adira-nav--small .adira-nav__logo img { max-height: 36px; }
.adira-nav__menu { display: flex; align-items: center; height: 100%; list-style: none; margin: 0; padding: 0; }
.adira-nav__menu > li { position: relative; margin-left: 30px; height: 100%; display: flex; align-items: center; }
.adira-nav__menu > li > a {
  display: flex;
  align-items: center;
  height: 100%;
  font-family: "Open Sans", Arial, sans-serif; /* el menú original NO usa font-alt: va en Open Sans */
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255,255,255,.7);
  text-decoration: none;
  transition: color .27s;
}
.adira-nav__menu > li > a:hover { color: #fff; }
/* CTA "Acceso a cursos" (calco .btn-mod.btn-circle.btn-w: fondo blanco, texto oscuro) */
.adira-nav__menu .adira-nav__cta {
  border: 0;
  border-radius: 30px;
  padding: 8px 17px;
  height: auto;
  color: #111;
  background: rgba(255,255,255,.8);
  transition: background .27s, color .27s;
}
.adira-nav__menu .adira-nav__cta:hover { background: #fff; color: #111; }
/* Submenús (calco .mn-sub) */
.adira-nav__menu li ul {
  position: absolute; top: 100%; left: 0; width: 200px;
  background: rgba(30,30,30,.97); list-style: none; margin: 0; padding: 0;
  opacity: 0; visibility: hidden; transform: translateY(8px);
  transition: opacity .25s, visibility .25s, transform .25s;
}
.adira-nav__menu li:hover > ul { opacity: 1; visibility: visible; transform: none; }
.adira-nav__menu li ul li { margin: 0; width: 100%; }
.adira-nav__menu li ul a { display: block; padding: 9px 18px; font-family: "Open Sans", Arial, sans-serif; font-size: 11px; letter-spacing: 2px; line-height: 1.3; text-transform: uppercase; color: rgba(255,255,255,.7); text-decoration: none; }
.adira-nav__menu li ul a:hover { background: rgba(255,255,255,.09); color: #f5f5f5; }
/* Compensación del nav fijo en páginas interiores (la home lleva el hero a pantalla completa detrás) */
body:not(.home) .wp-site-blocks { padding-top: 75px; }
/* Móvil */
.adira-nav__toggle { display: none; background: none; border: 0; color: rgba(255,255,255,.9); font-size: 20px; padding: 10px; cursor: pointer; }
@media (max-width: 991px) {
  .adira-nav__toggle { display: block; }
  .adira-nav__menu { display: none; position: absolute; top: 100%; left: 0; right: 0; height: auto; flex-direction: column; align-items: stretch; background: rgba(30,30,30,.97); padding: 10px 0; }
  .adira-nav--open .adira-nav__menu { display: flex; }
  .adira-nav__menu > li { margin-left: 0; height: auto; display: block; }
  .adira-nav__menu > li > a { height: auto; padding: 10px 20px; }
  .adira-nav__menu li ul { position: static; width: auto; opacity: 1; visibility: visible; transform: none; padding-left: 20px; }
}

/* ============ Footer (calco .footer bg-gray-lighter) ============ */
.adira-footer { background: var(--adira-gray-lighter); padding: 70px 0 60px; text-align: center; }
/* Widgets del footer (solo home, calco del original) */
.adira-footer__widgets { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; text-align: left; margin-bottom: 60px; }
.adira-footer__widget h5 { margin: 0 0 15px; font-family: Dosis, Arial, sans-serif; font-size: 14px; font-weight: 500; text-transform: uppercase; letter-spacing: .1em; color: var(--adira-dark); }
.adira-footer__widget p { margin: 0; font-size: 13px; color: var(--adira-text); text-align: justify; }
.adira-footer__widget ul { list-style: none; margin: 0; padding: 0; }
.adira-footer__widget li { padding: 6px 0; border-bottom: 1px solid #eaeaea; }
.adira-footer__widget a { color: var(--adira-text); text-decoration: none; font-size: 13px; }
.adira-footer__widget a:hover { color: var(--adira-dark); }
.adira-footer__divider { border: 0; border-top: 1px solid #eaeaea; margin: 0 0 60px; }
@media (max-width: 991px) { .adira-footer__widgets { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px) { .adira-footer__widgets { grid-template-columns: 1fr; } }
.adira-footer__logo img { height: 36px; width: auto; margin: 0 auto 30px; }
.adira-footer__social { margin-bottom: 60px; }
.adira-footer__social a {
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; margin: 0 4px; border-radius: 50%;
  background: #e9e9e9; color: var(--adira-dark); text-decoration: none; transition: background .2s, color .2s;
}
.adira-footer__social a:hover { background: var(--adira-dark); color: #fff; }
.adira-footer__legal { font-family: Dosis, Arial, sans-serif; font-size: 12px; letter-spacing: .2em; text-transform: uppercase; }
.adira-footer__legal a { color: var(--adira-dark); text-decoration: none; }
.adira-footer__credit { margin-top: 10px; font-size: 12px; color: #999; }
.adira-footer__credit a { color: #777; }

/* ============ Font Awesome 6 (subset local, sin CDN) ============ */
@font-face {
  font-family: "Font Awesome 6 Free";
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url("../fonts/fa-solid-900.woff2") format("woff2");
}
.fa-solid {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-style: normal;
  display: inline-block;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
}
.fa-phone::before { content: "\f095"; }
.fa-envelope::before { content: "\f0e0"; }
.fa-location-dot::before { content: "\f3c5"; }
.fa-angle-down::before { content: "\f107"; }
.fa-angle-up::before { content: "\f106"; }
.fa-file-pdf::before { content: "\f1c1"; }
.fa-download::before { content: "\f019"; }

/* Compatibilidad con los iconos FA4 del contenido migrado (.fa fa-*) */
@font-face {
  font-family: "Font Awesome 6 Brands";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("../fonts/fa-brands-400.woff2") format("woff2");
}
.fa { display: inline-block; font-style: normal; line-height: 1; -webkit-font-smoothing: antialiased; }
.fa.fa-facebook::before { font-family: "Font Awesome 6 Brands"; font-weight: 400; content: "\f09a"; }
.fa.fa-twitter::before { font-family: "Font Awesome 6 Brands"; font-weight: 400; content: "\f099"; }
.fa.fa-instagram::before { font-family: "Font Awesome 6 Brands"; font-weight: 400; content: "\f16d"; }
.fa.fa-angle-right::before { font-family: "Font Awesome 6 Free"; font-weight: 900; content: "\f105"; }
.fa.fa-angle-down::before { font-family: "Font Awesome 6 Free"; font-weight: 900; content: "\f107"; }
.fa.fa-angle-up::before { font-family: "Font Awesome 6 Free"; font-weight: 900; content: "\f106"; }
.fa.fa-caret-right::before { font-family: "Font Awesome 6 Free"; font-weight: 900; content: "\f0da"; }
.fa.fa-caret-up::before { font-family: "Font Awesome 6 Free"; font-weight: 900; content: "\f0d8"; }
.fa.fa-map-marker::before { font-family: "Font Awesome 6 Free"; font-weight: 900; content: "\f3c5"; }
.fa.fa-envelope::before { font-family: "Font Awesome 6 Free"; font-weight: 900; content: "\f0e0"; }
.fa.fa-phone::before { font-family: "Font Awesome 6 Free"; font-weight: 900; content: "\f095"; }
.fa.fa-info-circle::before { font-family: "Font Awesome 6 Free"; font-weight: 900; content: "\f05a"; }
.fa.fa-x-twitter::before { font-family: "Font Awesome 6 Brands"; font-weight: 400; content: "\e61b"; }
.fa.fa-linkedin::before { font-family: "Font Awesome 6 Brands"; font-weight: 400; content: "\f08c"; }
.fa.fa-youtube::before { font-family: "Font Awesome 6 Brands"; font-weight: 400; content: "\f167"; }
.fa.fa-tiktok::before { font-family: "Font Awesome 6 Brands"; font-weight: 400; content: "\e07b"; }
.fa.fa-whatsapp::before { font-family: "Font Awesome 6 Brands"; font-weight: 400; content: "\f232"; }

/* Anclas bajo el nav fijo: que el destino no quede tapado (caso sin smoother) */
.wp-site-blocks [id] { scroll-margin-top: 90px; }

/* Utilidades usadas por bloques */
.adira-divider { border: 0; border-top: 1px solid #eaeaea; margin: 0 0 80px; }
.adira-breadcrumbs { font-family: Dosis, Arial, sans-serif; font-size: 12px; letter-spacing: .15em; text-transform: uppercase; text-align: right; }
.adira-breadcrumbs a { color: var(--adira-text); text-decoration: none; }
.adira-breadcrumbs a:hover { color: var(--adira-dark); }
[data-adira-reveal] { opacity: 0; }
/* Sin gate de prefers-reduced-motion: por decisión del proyecto la animación siempre corre
   (se controla solo desde Ajustes Adira). Si JS falla, el fallback pone opacity 1. */
html.no-js [data-adira-reveal] { opacity: 1; }
