/* 10ENF CSS ACTUALIZADO — 2026-08-30 23:24:02 — PROGRAMA ACADEMICO */
:root{
  --purple:#6555c5;
  --purple-dark:#5142ad;
  --purple-soft:#f2effd;
  --purple-soft-2:#faf8ff;
  --orange:#f79d25;
  --blue-venue:#003B7A;
  --ink:#25314a;
  --muted:#6d7585;
  --white:#ffffff;
  --line:rgba(101,85,197,.14);
  --shadow:0 18px 50px rgba(66,52,134,.10);
  --radius:28px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Plus Jakarta Sans',sans-serif;
  color:var(--ink);
  background:#fbfaff;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{text-decoration:none}
section{padding:96px 0;position:relative;z-index:2}

.glass-nav{
  background:rgba(255,255,255,.90);
  border-bottom:1px solid rgba(101,85,197,.10);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  z-index:1030;
}
.navbar .container{padding-top:14px!important;padding-bottom:14px!important}
.nav-logo{height:42px;width:auto;object-fit:contain}
.navbar .nav-link{
  color:#555d70;
  font-size:.92rem;
  font-weight:600;
  padding:.72rem .90rem!important;
  border-radius:999px;
  transition:.2s ease;
}
.navbar .nav-link:hover,.navbar .nav-link.active{color:var(--purple);background:var(--purple-soft)}
.navbar-toggler i,.mobile-ticket{color:var(--purple)}
.mobile-nav-actions{display:flex;align-items:center;gap:19px}
.mobile-ticket{font-size:1.65rem;line-height:1;animation:ticketPulse 2s infinite}
@keyframes ticketPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.10)}}

.btn-primary{
  --bs-btn-bg:var(--purple);
  --bs-btn-border-color:var(--purple);
  --bs-btn-hover-bg:var(--purple-dark);
  --bs-btn-hover-border-color:var(--purple-dark);
  --bs-btn-active-bg:var(--purple-dark);
  --bs-btn-active-border-color:var(--purple-dark);
  border-radius:999px;
  font-weight:700;
  box-shadow:0 10px 24px rgba(101,85,197,.20);
}

.hero{
  padding:105px 0 28px;
  background:
    radial-gradient(circle at 10% 15%, rgba(101,85,197,.19), transparent 34%),
    radial-gradient(circle at 88% 18%, rgba(247,157,37,.13), transparent 30%),
    linear-gradient(180deg,#f8f5ff 0%,#f1edff 56%,#faf8ff 100%);
}
.hero-banner{overflow:hidden;border-radius:30px;box-shadow:var(--shadow);background:#fff}
.hero-banner-link{display:block}
.hero-banner img{width:100%;height:auto}

.sponsors-content-saved.is-hidden,.program-content-saved.is-hidden{display:none!important}
.hero-sponsors{margin-top:22px}
.sponsors-viewport{overflow:hidden;width:100%}
.sponsors-track{display:flex;gap:18px;will-change:transform;touch-action:pan-y}
.sponsor-card{
  flex:0 0 calc((100% - 90px)/6);
  height:96px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  display:flex;align-items:center;justify-content:center;
  padding:15px;
}
.sponsor-card img{max-height:64px;object-fit:contain}

.countdown-card{
  max-width:780px;
  margin:22px auto 0;
  background:#fff;
  border:1px solid rgba(101,85,197,.13);
  border-radius:26px;
  padding:19px 24px 21px;
  box-shadow:0 16px 40px rgba(101,85,197,.08);
  text-align:center;
}
.countdown-kicker{font-size:.76rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--purple);margin-bottom:8px}
.countdown-grid{display:flex;align-items:center;justify-content:center;gap:16px}
.countdown-unit{min-width:95px;display:flex;flex-direction:column}
.countdown-number{font-size:2rem;line-height:1;font-weight:800;color:var(--purple)}
.countdown-label{font-size:.70rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-top:7px}
.countdown-separator{font-size:1.8rem;color:rgba(101,85,197,.35);font-weight:700;margin-top:-14px}

main{
  position:relative;
  background:
    radial-gradient(circle at 5% 18%,rgba(101,85,197,.055),transparent 28%),
    radial-gradient(circle at 94% 52%,rgba(101,85,197,.045),transparent 28%),
    linear-gradient(180deg,#fbfaff 0%,#f8f6ff 48%,#fff 100%);
}
.bg-orb{position:absolute;border-radius:50%;filter:blur(4px);pointer-events:none;z-index:0}
.bg-orb-1{width:390px;height:390px;left:-220px;top:180px;background:rgba(101,85,197,.06)}
.bg-orb-2{width:440px;height:440px;right:-270px;top:850px;background:rgba(101,85,197,.05)}

.section-title{max-width:760px;margin:0 auto 42px;text-align:center}
.kicker,.eyebrow{color:var(--purple);font-weight:800;letter-spacing:.11em;text-transform:uppercase;font-size:.78rem}
.section-title h2,.venue-info h2,.contact-clean h2{
  margin:10px 0 14px;
  color:var(--orange);
  font-weight:800;
  letter-spacing:-.035em;
  line-height:1.05;
}
.section-title h2{font-size:clamp(2rem,4vw,3.7rem)}
.section-title p{color:var(--muted);font-size:1.04rem;line-height:1.75;margin:0 auto;max-width:690px}

.mac-card{
  height:100%;
  background:rgba(255,255,255,.88);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:30px;
  box-shadow:var(--shadow);
  backdrop-filter:blur(10px);
  transition:transform .25s ease,box-shadow .25s ease;
}
.mac-card:hover{transform:translateY(-4px);box-shadow:0 24px 58px rgba(66,52,134,.13)}
.icon-bubble{
  width:54px;height:54px;border-radius:17px;
  display:flex;align-items:center;justify-content:center;
  background:var(--purple-soft);color:var(--purple);font-size:1.35rem;margin-bottom:23px
}
.mac-card h3{font-size:1.17rem;font-weight:800;color:var(--orange);margin-bottom:10px}
.mac-card p{color:var(--muted);line-height:1.65;margin-bottom:0}

.program-shell{
  background:#fff;
  border:1px solid var(--line);
  border-radius:30px;
  padding:24px;
  box-shadow:var(--shadow);
}
.program-tabs{display:flex;justify-content:center;margin-bottom:20px}
.program-tabs .nav-pills{justify-content:center}
.program-tabs .nav-link{
  color:var(--purple);
  background:var(--purple-soft);
  border:0;
  border-radius:999px;
  padding:10px 22px;
  font-weight:800;
}
.program-tabs .nav-link.active{background:var(--purple);color:#fff;box-shadow:0 10px 22px rgba(101,85,197,.22)}
.program-item{display:grid;grid-template-columns:145px 1fr 280px;gap:18px;align-items:center;padding:20px;border-bottom:1px solid #ececf4}
.program-item:last-child{border-bottom:0}
.program-time{font-weight:800;color:var(--purple)}
.program-title{font-weight:700;color:var(--ink)}
.program-speaker{color:var(--muted)}
.program-item.break{background:#faf9ff;border-radius:18px}
.program-coming-soon{
  min-height:190px;
  display:flex;align-items:center;justify-content:center;
  color:var(--purple);
  font-weight:800;
  font-size:1.25rem;
  background:linear-gradient(135deg,#faf9ff,#f2effd);
  border-radius:22px;
  border:1px dashed rgba(101,85,197,.28);
}

.price-card{max-width:100%;padding:34px}
.price-card h3{color:var(--orange)}
.price{
  color:var(--purple);
  font-size:clamp(2.1rem,5vw,3.2rem);
  font-weight:800;
  letter-spacing:-.04em;
  margin:25px 0 10px;
}
.price small{font-size:.8rem;letter-spacing:0;color:var(--muted)}
.feature-list{list-style:none;padding:0;margin:25px 0 0;display:grid;gap:12px}
.feature-list li{color:#596174;display:flex;align-items:center;gap:10px}
.feature-list i{color:var(--purple)}
.enrollment-note{font-size:.82rem!important}

.venue-card{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--line);
  border-radius:32px;
  box-shadow:var(--shadow);
}
.venue-photo{
  min-height:430px;
  background:url('https://www.medicasur.com.mx/work/models/ms/Resource/1993/1/images/auditorio-medica-sur.jpg') center/cover no-repeat,#eee;
}
.venue-info{padding:46px;display:flex;flex-direction:column;justify-content:center}
.venue-info h2{color:var(--blue-venue);font-size:clamp(2rem,4vw,3rem)}
.venue-info p{color:var(--muted);line-height:1.8;margin:0 0 22px}
.maps-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  width:max-content;background:var(--purple);color:#fff!important;
  border-radius:999px;padding:12px 20px;font-weight:800;
  box-shadow:0 10px 24px rgba(101,85,197,.18)
}
.maps-btn:hover{background:var(--purple-dark)}

.contact-clean{
  max-width:900px;
  margin:auto;
  padding:52px 28px;
  background:var(--purple);
  border-radius:32px;
  box-shadow:0 20px 50px rgba(101,85,197,.20);
}
.contact-clean .kicker,.contact-clean h2,.contact-clean p{color:#fff}
.contact-clean h2{font-size:clamp(2rem,4vw,3rem)}
.contact-clean p{max-width:640px;margin:0 auto 23px;opacity:.9}
.contact-message-btn{color:var(--purple)!important;border-radius:999px;font-weight:800;padding:12px 21px}

.site-footer{padding:32px 0 38px;background:#fff}
.footer-inner{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:13px;text-align:center}
.footer-logo{height:50px;width:auto;object-fit:contain}
.footer-meta{color:#7c8391;font-size:.83rem}
.footer-meta a{color:var(--purple)}
.footer-dot{padding:0 5px}

@media(max-width:991.98px){
  section{padding:74px 0}
  .navbar-collapse{padding:14px 0 9px}
  .navbar .nav-link{padding:.7rem .9rem!important}
  .sponsor-card{flex-basis:calc((100% - 36px)/3)}
  .venue-card{grid-template-columns:1fr}
  .venue-photo{min-height:330px}
  .program-item{grid-template-columns:120px 1fr}
  .program-speaker{grid-column:2}
}

@media(max-width:767.98px){
  .hero{padding-top:88px}
  .hero-banner{border-radius:22px}
  .countdown-card{padding:17px 12px 18px;border-radius:22px}
  .countdown-grid{gap:7px}
  .countdown-unit{min-width:57px}
  .countdown-number{font-size:1.55rem}
  .countdown-label{font-size:.56rem}
  .countdown-separator{font-size:1.25rem;margin-top:-12px}
  .section-title{margin-bottom:30px}
  .section-title h2{font-size:2.2rem}
  .mac-card{padding:24px;border-radius:23px}
  .program-shell{padding:14px;border-radius:24px}
  .program-item{grid-template-columns:1fr;gap:6px;padding:17px 10px}
  .program-speaker{grid-column:auto}
  .venue-info{padding:30px 24px 34px}
  .venue-photo{min-height:260px}
  .contact-clean{padding:40px 20px;border-radius:26px}
}

/* AJUSTES 30-AGO: menú con más aire + imagen auditorio */
.glass-nav .btn-primary{
  padding:.72rem 1.18rem!important;
}
.venue-photo{
  background-image:url('https://auditorio.medicasur.com.mx/work/models/ms/Resource/10743/2/images/LG_FT1.jpg')!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}


/* ===== AJUSTES SOLICITADOS V2 ===== */

/* 1. Más espacio arriba del banner */
.hero{
  padding-top:150px !important;
}

/* 2. Countdown a todo el ancho */
.countdown-card{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* 3. Título del programa en un solo renglón */
#programa .section-title h2{
  white-space:nowrap;
}

/* 4. Más padding vertical en botón Registrarme del bloque de registro */
#registro .btn-primary{
  padding-top:.95rem !important;
  padding-bottom:.95rem !important;
}

/* 7. Más espacio entre logo y texto del footer */
.site-footer .footer-logo{
  margin-bottom:18px !important;
}

/* 8. Fondo un poquitito más marcado */
body{
  background:
    radial-gradient(circle at 10% 15%, rgba(101,85,197,.22), transparent 34%),
    radial-gradient(circle at 88% 18%, rgba(247,157,37,.15), transparent 30%),
    linear-gradient(180deg,#f6f2ff 0%,#eee9ff 56%,#faf7ff 100%) !important;
}

/* 9. Navbar con transparencia + blur */
.glass-nav{
  background:rgba(255,255,255,.78) !important;
  -webkit-backdrop-filter:blur(16px) saturate(145%) !important;
  backdrop-filter:blur(16px) saturate(145%) !important;
  border-bottom:1px solid rgba(255,255,255,.55);
  box-shadow:0 8px 30px rgba(72,55,145,.08);
}

@media (max-width:767.98px){
  #programa .section-title h2{
    white-space:normal;
  }
}


/* ===== PROGRAMA ACADÉMICO ===== */
.program-header{
  display:grid;
  grid-template-columns:145px minmax(0,1fr) 280px;
  gap:18px;
  padding:0 20px 12px;
  margin-top:4px;
  color:var(--purple);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  border-bottom:1px solid rgba(101,85,197,.14);
}

.program-item{
  transition:background-color .2s ease, transform .2s ease;
}

.program-item:not(.program-logistic):hover{
  background:rgba(101,85,197,.035);
}

.program-time{
  align-self:start;
  line-height:1.5;
}

.program-title{
  line-height:1.55;
}

.program-subtitle{
  display:inline-block;
  margin-top:5px;
  font-weight:600;
  color:#586174;
}

.program-speaker{
  line-height:1.55;
  font-weight:600;
}

.program-logistic{
  margin:7px 0;
  border:1px solid rgba(101,85,197,.11) !important;
  border-radius:17px;
  background:linear-gradient(135deg,rgba(101,85,197,.075),rgba(247,157,37,.045));
}

.program-logistic .program-title{
  color:var(--purple);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.025em;
}

@media(max-width:991.98px){
  .program-header{
    grid-template-columns:120px minmax(0,1fr);
  }
  .program-header div:last-child{
    display:none;
  }
}

@media(max-width:767.98px){
  .program-header{
    display:none;
  }

  .program-item{
    padding:18px 13px;
    gap:7px;
  }

  .program-time{
    display:inline-flex;
    width:max-content;
    padding:5px 10px;
    border-radius:999px;
    background:var(--purple-soft);
    font-size:.78rem;
  }

  .program-title{
    font-size:.98rem;
    line-height:1.5;
  }

  .program-speaker{
    position:relative;
    padding-top:4px;
    padding-left:22px;
    font-size:.9rem;
  }

  .program-speaker:not(:empty)::before{
    content:"";
    position:absolute;
    left:1px;
    top:10px;
    width:12px;
    height:2px;
    border-radius:2px;
    background:var(--orange);
  }

  .program-logistic .program-time{
    background:rgba(101,85,197,.11);
  }

  .program-logistic .program-speaker{
    display:none;
  }
}
