.avante-agenda { --aa-ink:#0c2347; --aa-blue:#2463eb; --aa-lime:#c7ff38; --aa-soft:#64738c; --aa-line:#dbe3ef; --aa-paper:#f4f7fb; color:var(--aa-ink); background:var(--aa-paper); font:16px/1.5 "DM Sans",Arial,sans-serif; }
.avante-agenda * { box-sizing:border-box; }
.avante-agenda h1,.avante-agenda h2,.avante-agenda h3 { font-family:"Manrope",Arial,sans-serif; line-height:1.05; letter-spacing:-.045em; }
.aa-hero { min-height:600px; position:relative; overflow:hidden; display:grid; grid-template-columns:1fr 1fr; padding:5.5rem max(2rem,calc((100vw - 1180px)/2)); color:white; background:radial-gradient(circle at 90% 90%,#332887 0,transparent 30%),#0c2347; }
.aa-hero-copy { align-self:center; position:relative; z-index:2; }
.aa-eyebrow,.aa-heading>div>p { margin:0 0 1rem; color:var(--aa-lime); text-transform:uppercase; letter-spacing:.15em; font-weight:800; font-size:.74rem; }
.aa-eyebrow { display:flex; align-items:center; gap:.7rem; }
.aa-eyebrow span { width:8px; height:8px; border-radius:50%; background:var(--aa-lime); box-shadow:0 0 0 7px rgba(199,255,56,.14); }
.aa-hero h1 { margin:0; font-size:clamp(3.8rem,6.2vw,6.5rem); }
.aa-hero h1 em,.aa-heading h2 em { color:var(--aa-lime); font-style:normal; }
.aa-intro { max-width:540px; margin:1.7rem 0 2rem; color:#c7d4e8; font-size:1.15rem; }
.aa-primary { display:inline-flex; align-items:center; gap:1.3rem; padding:1rem 1.25rem; border-radius:.75rem; background:var(--aa-lime); color:var(--aa-ink)!important; font-weight:800; text-decoration:none!important; transition:transform .2s; }
.aa-primary:hover { transform:translateY(-3px); }
.aa-visual { min-height:420px; position:relative; align-self:center; }
.aa-orbit { position:absolute; right:10%; top:2%; width:400px; height:400px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.2); border-radius:50%; }
.aa-orbit::before { content:""; position:absolute; inset:36px; border:1px solid rgba(255,255,255,.12); border-radius:50%; }
.aa-orbit>div { width:270px; height:270px; display:grid; place-content:center; text-align:center; border-radius:50%; background:linear-gradient(145deg,#2368ed,#6839df); box-shadow:0 30px 80px rgba(20,73,191,.42); }
.aa-orbit span { font-size:.65rem; font-weight:800; letter-spacing:.13em; }
.aa-orbit strong { font-size:7rem; line-height:.85; letter-spacing:-.08em; }
.aa-orbit small { color:var(--aa-lime); font-weight:800; letter-spacing:.2em; }
.aa-tag { position:absolute; z-index:2; padding:.8rem 1rem; border-radius:.85rem; color:var(--aa-ink); font-size:.72rem; font-style:normal; font-weight:800; box-shadow:0 15px 35px rgba(0,0,0,.18); animation:aa-float 4s ease-in-out infinite; }
.aa-tag-1 { right:0; top:12%; background:var(--aa-lime); }.aa-tag-2 { left:2%; top:25%; color:white; background:#ff715b; animation-delay:-1s; }.aa-tag-3 { right:4%; bottom:14%; color:var(--aa-blue); background:white; animation-delay:-2s; }
@keyframes aa-float { 50% { transform:translateY(-10px); } }
.aa-shell { max-width:1180px; margin:0 auto; padding:6rem 0 8rem; }
.aa-heading { display:flex; align-items:end; justify-content:space-between; gap:2rem; }
.aa-heading>p { max-width:320px; margin:0 0 2.7rem; color:var(--aa-soft); }
.aa-heading h2 { margin:0 0 2.3rem; font-size:clamp(2.7rem,4.6vw,4.6rem); }.aa-heading h2 em { color:var(--aa-blue); }
.aa-heading>div>p { color:var(--aa-blue); }
.aa-calendar { margin:5rem 0 0; overflow:hidden; border:1px solid var(--aa-line); border-radius:1.5rem; background:white; box-shadow:0 20px 55px rgba(23,52,95,.08); }
.aa-calendar-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.7rem 2rem; border-bottom:1px solid var(--aa-line); }
.aa-calendar-header p { margin:0 0 .25rem; color:var(--aa-blue); font-size:.78rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.aa-calendar-header h3 { margin:0; font-size:2rem; text-transform:none; }
.aa-calendar-nav { display:flex; align-items:center; gap:.45rem; }
.aa-calendar-nav button { min-width:52px; min-height:50px; padding:.7rem 1rem; border:1px solid var(--aa-line); border-radius:.8rem; color:var(--aa-ink); background:white; font-size:.95rem; font-weight:800; cursor:pointer; }
.aa-calendar-nav button:hover { color:white; border-color:var(--aa-ink); background:var(--aa-ink); }
.aa-calendar-scroll { width:100%; overflow-x:auto; }
.aa-weekdays,.aa-calendar-days { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); min-width:900px; }
.aa-weekdays { border-bottom:1px solid var(--aa-line); background:#f7f9fc; }
.aa-weekdays span { padding:.85rem 1rem; color:var(--aa-soft); font-size:.76rem; font-weight:800; letter-spacing:.08em; text-align:right; text-transform:uppercase; }
.aa-calendar-day { min-width:0; min-height:170px; position:relative; padding:.75rem; border-right:1px solid var(--aa-line); border-bottom:1px solid var(--aa-line); background:white; }
.aa-calendar-day:nth-child(5n) { border-right:0; }
.aa-calendar-day:nth-last-child(-n+5) { border-bottom:0; }
.aa-calendar-day.other-month { background:#fafbfd; }
.aa-calendar-day.other-month .aa-day-number { opacity:.34; }
.aa-day-number { display:grid; place-items:center; width:32px; height:32px; margin:0 0 .4rem auto; color:var(--aa-soft); font-size:.88rem; font-weight:800; }
.aa-calendar-day.today .aa-day-number { border-radius:50%; color:white; background:var(--aa-ink); }
.aa-calendar-event { display:block; width:100%; margin:.32rem 0 0; padding:.48rem .55rem; overflow:hidden; border:0; border-left:4px solid; border-radius:.45rem; font-family:"DM Sans",Arial,sans-serif; font-size:.78rem; font-weight:700; line-height:1.25; text-align:left; text-overflow:ellipsis; white-space:nowrap; cursor:pointer; transition:transform .16s,box-shadow .16s; }
.aa-calendar-event:hover { transform:translateY(-1px); box-shadow:0 5px 12px rgba(12,35,71,.12); }
.aa-calendar-event[data-theme=cert] { color:#1749b7; border-color:#2463eb; background:#e9f0ff; }
.aa-calendar-event[data-theme=cyber] { color:#a83830; border-color:#e9564a; background:#ffebe8; }
.aa-calendar-event[data-theme=data] { color:#5638bd; border-color:#7356d8; background:#efeafd; }
.aa-calendar-event[data-theme=agile] { color:#087682; border-color:#0aa5b7; background:#e3f7f9; }
.aa-calendar-event[data-theme=cloud] { color:#185d8e; border-color:#247bbb; background:#e5f2fb; }
.aa-calendar-event.selected { box-shadow:0 0 0 2px var(--aa-ink); }
.aa-calendar-more { display:block; margin:.35rem 0 0 .35rem; color:var(--aa-soft); font-size:.74rem; font-weight:700; }
.aa-calendar-detail { display:grid; grid-template-columns:8px 1fr auto; align-items:center; gap:1rem; padding:1rem 1.5rem; border-top:1px solid var(--aa-line); background:#f7f9fc; }
.aa-detail-marker { align-self:stretch; min-height:60px; border-radius:99px; background:#2463eb; }
.aa-detail-marker[data-theme=cyber]{background:#e9564a}.aa-detail-marker[data-theme=data]{background:#7356d8}.aa-detail-marker[data-theme=agile]{background:#0aa5b7}.aa-detail-marker[data-theme=cloud]{background:#247bbb}
.aa-calendar-detail p { margin:0 0 .18rem; color:var(--aa-soft); font-size:.68rem; font-weight:800; text-transform:uppercase; }
.aa-calendar-detail h4 { margin:0 0 .45rem; color:var(--aa-ink); font:700 1.12rem/1.15 "Manrope",Arial,sans-serif; }
.aa-calendar-detail .aa-meta-row { font-size:.78rem!important; }
.aa-detail-link { padding:.72rem .9rem; border-radius:.65rem; color:white!important; background:var(--aa-ink); font-size:.82rem; font-weight:800; text-decoration:none!important; white-space:nowrap; }
.aa-card.calendar-selected { box-shadow:0 0 0 3px var(--aa-card),0 24px 45px rgba(23,52,95,.12); }
.aa-toolbar { position:sticky; top:100px; z-index:10; display:flex; justify-content:space-between; gap:1rem; padding:.65rem; border:1px solid var(--aa-line); border-radius:1rem; background:rgba(255,255,255,.94); box-shadow:0 14px 40px rgba(31,52,85,.08); backdrop-filter:blur(12px); }
.aa-toolbar>label { flex:1; }.aa-toolbar input { width:100%; min-height:44px; padding:0 .8rem; border:0; outline:0; background:transparent; color:var(--aa-ink); font:inherit; }
.aa-filters { display:flex; gap:.35rem; }.aa-filters button { padding:.72rem 1rem; border:0; border-radius:.65rem; background:transparent; color:var(--aa-soft); font-weight:700; cursor:pointer; }.aa-filters button.active { color:white; background:var(--aa-ink); }
.aa-count { margin:0; padding:3.5rem 0 1.2rem; border-bottom:1px solid var(--aa-line); color:var(--aa-soft); }.aa-count strong { color:var(--aa-ink); }
.aa-month { margin-top:3rem; }.aa-month-title { display:flex; align-items:center; gap:1rem; margin-bottom:1rem; }.aa-month-title h3 { margin:0; font-size:2rem; }.aa-month-title span { flex:1; height:1px; background:var(--aa-line); }
.aa-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.aa-card { --aa-card:#2463eb; min-height:310px; position:relative; overflow:hidden; display:grid; grid-template-columns:105px 1fr; grid-template-rows:1fr auto; gap:0 1.3rem; padding:1.5rem; border:1px solid var(--aa-line); border-radius:1.35rem; background:white; transition:transform .25s,box-shadow .25s; }
.aa-card::before { content:""; position:absolute; width:180px; height:180px; right:-85px; top:-90px; border-radius:50%; background:var(--aa-card); opacity:.13; }.aa-card:hover { transform:translateY(-7px); box-shadow:0 24px 45px rgba(23,52,95,.12); }
.aa-card[data-theme=cyber]{--aa-card:#e9564a}.aa-card[data-theme=data]{--aa-card:#7356d8}.aa-card[data-theme=agile]{--aa-card:#0aa5b7}.aa-card[data-theme=cloud]{--aa-card:#247bbb}
.aa-date { align-self:start; display:grid; padding-right:1rem; border-right:1px solid var(--aa-line); color:var(--aa-card); }.aa-date strong { font-size:3.7rem; line-height:.95; letter-spacing:-.1em; }.aa-date span { margin-top:.45rem; color:var(--aa-soft); font-size:.68rem; font-weight:800; text-transform:uppercase; }
.aa-content { position:relative; z-index:2; }.aa-content>p { margin:0 0 .8rem; color:var(--aa-card); font-size:.63rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }.aa-content h3 { margin:0 0 1.2rem; font-size:1.42rem; }
.aa-meta-row { display:flex; flex-wrap:wrap; gap:.65rem 1.1rem; color:var(--aa-soft); font-size:.86rem; }.aa-meta { display:inline-flex; align-items:center; gap:.4rem; }.aa-meta svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.8; }
.aa-link { grid-column:2; justify-self:start; display:inline-flex; align-items:center; gap:.7rem; padding:.75rem 1rem; border-radius:.7rem; color:var(--aa-ink)!important; background:#f3f6fa; font-size:.88rem; font-weight:800; text-decoration:none!important; }.aa-link span { color:var(--aa-card); font-size:1.2rem; }
.aa-empty,.aa-empty-static { margin-top:2rem; padding:4rem 1rem; border-radius:1.4rem; background:white; text-align:center; }.aa-empty h3,.aa-empty-static h3 { margin:0 0 .5rem; font-size:2rem; }.aa-empty p,.aa-empty-static p { margin:0; color:var(--aa-soft); }
.screen-reader-text { position:absolute!important; width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
@media(max-width:900px){.aa-shell{padding-left:2rem;padding-right:2rem}.aa-heading{align-items:start;flex-direction:column;gap:0}.aa-heading>p{margin-top:-1rem}.aa-calendar-day{min-height:155px}}
@media(max-width:700px){.aa-shell{padding:4rem 1.2rem}.aa-toolbar{position:static;flex-direction:column}.aa-filters{overflow-x:auto}.aa-filters button{white-space:nowrap}.aa-grid{grid-template-columns:1fr}.aa-card{grid-template-columns:82px 1fr;padding:1.25rem;gap:0 1rem}.aa-date strong{font-size:3rem}.aa-calendar-header{padding:1.15rem}.aa-calendar-header h3{font-size:1.45rem}.aa-calendar-nav button:first-child{display:none}.aa-weekdays span{padding:.7rem .55rem}.aa-calendar-day{min-height:145px;padding:.55rem}.aa-day-number{width:28px;height:28px;font-size:.78rem}.aa-calendar-event{padding:.42rem .48rem;font-size:.74rem}.aa-calendar-detail{grid-template-columns:6px 1fr;padding:1rem}.aa-calendar-detail .aa-meta-row{display:none!important}.aa-detail-link{grid-column:2;justify-self:start}.aa-detail-marker{grid-row:1 / span 2}.aa-calendar-detail h4{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.avante-agenda *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Compatibilidad con temas y maquetadores de WordPress.
   Se fijan solo las propiedades que suelen heredar o sobrescribir. */
.avante-agenda .aa-grid {
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:16px!important;
}
.avante-agenda .aa-card {
  display:grid!important;
  grid-template-columns:105px minmax(0,1fr)!important;
  grid-template-rows:1fr auto!important;
  gap:0 21px!important;
  width:100%!important;
  height:auto!important;
  min-height:310px!important;
  padding:24px!important;
  margin:0!important;
}
.avante-agenda .aa-date {
  display:grid!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0 16px 0 0!important;
}
.avante-agenda .aa-date strong {
  margin:0!important;
  padding:0!important;
  font-family:"Manrope",Arial,sans-serif!important;
  font-size:59px!important;
  font-weight:800!important;
  line-height:.95!important;
  letter-spacing:-.1em!important;
}
.avante-agenda .aa-date span {
  width:auto!important;
  max-width:none!important;
  margin:7px 0 0!important;
  padding:0!important;
  font-family:"DM Sans",Arial,sans-serif!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1.3!important;
  letter-spacing:0!important;
}
.avante-agenda .aa-content {
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
.avante-agenda .aa-content>p {
  width:auto!important;
  max-width:none!important;
  margin:0 0 13px!important;
  padding:0!important;
  font-family:"DM Sans",Arial,sans-serif!important;
  font-size:10px!important;
  font-weight:800!important;
  line-height:1.35!important;
  letter-spacing:1px!important;
}
.avante-agenda .aa-content h3 {
  width:auto!important;
  max-width:none!important;
  margin:0 0 19px!important;
  padding:0!important;
  font-family:"Manrope",Arial,sans-serif!important;
  font-size:23px!important;
  font-weight:700!important;
  line-height:1.1!important;
  letter-spacing:-.035em!important;
  text-transform:none!important;
}
.avante-agenda .aa-meta-row {
  display:flex!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  font-family:"DM Sans",Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.45!important;
}
.avante-agenda .aa-meta {
  display:inline-flex!important;
  margin:0!important;
  padding:0!important;
  font-size:14px!important;
  line-height:1.45!important;
}
.avante-agenda .aa-link {
  grid-column:2!important;
  align-self:end!important;
  justify-self:start!important;
  width:auto!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:12px 16px!important;
  font-family:"DM Sans",Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.2!important;
}
@media(max-width:700px){
  .avante-agenda .aa-grid{grid-template-columns:1fr!important}
  .avante-agenda .aa-card{grid-template-columns:82px minmax(0,1fr)!important;gap:0 16px!important;padding:20px!important}
  .avante-agenda .aa-date strong{font-size:48px!important}
  .avante-agenda .aa-content h3{font-size:21px!important}
}
