
:root{
  --ce-ink:#3d1740;
  --ce-soft:#684f65;
  --ce-plum:#70145f;
  --ce-plum-dark:#4a0b43;
  --ce-pink:#ff205c;
  --ce-coral:#ff6f72;
  --ce-cream:#fff9f5;
  --ce-line:rgba(77,22,72,.11);
  --ce-max:1180px;
}

/* CABECERA */
.ce-site-header{
  position:sticky;
  top:0;
  z-index:1000;
  width:100%;
  background:rgba(255,253,251,.97)!important;
  /* Un filtro aquí convierte la cabecera en contenedor del menú fixed. */
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  border-bottom:1px solid rgba(77,22,72,.08);
  box-shadow:0 6px 22px rgba(61,23,64,.035);
}
.admin-bar .ce-site-header{top:32px}

.ce-header-inner{
  width:min(var(--ce-max),calc(100% - 36px))!important;
  max-width:var(--ce-max)!important;
  margin:0 auto!important;
  padding:13px 0!important;
  min-height:76px;
  gap:30px!important;
}

.ce-header-brand{
  gap:11px!important;
  flex:0 0 auto;
}
.ce-header-brand .wp-block-site-logo img{
  width:58px!important;
  height:58px!important;
  object-fit:contain;
}
.ce-brand-text{margin:0!important}
.ce-brand-text .wp-block-site-title{
  margin:0!important;
  font-family:"Poppins",sans-serif!important;
  font-size:1.18rem!important;
  font-weight:700!important;
  line-height:1!important;
}
.ce-brand-text .wp-block-site-title a{
  color:var(--ce-ink)!important;
  text-decoration:none!important;
}

.ce-header-nav{
  flex:1 1 auto;
  justify-content:flex-end!important;
  font-family:"DM Sans",sans-serif!important;
  font-size:.88rem!important;
  font-weight:650!important;
}
.ce-header-nav .wp-block-navigation__container{
  justify-content:flex-end!important;
  gap:18px!important;
  flex-wrap:nowrap!important;
}
.ce-header-nav .wp-block-navigation-item{
  flex:0 0 auto;
}
.ce-header-nav .wp-block-navigation-item__content{
  color:var(--ce-ink)!important;
  text-decoration:none!important;
  white-space:nowrap;
}
.ce-header-nav .wp-block-navigation-item__content:hover{
  color:var(--ce-pink)!important;
}

/* Mi cuenta: enlace secundario con borde */
.ce-header-nav .wp-block-navigation__container > .wp-block-navigation-item:nth-last-child(2) > .wp-block-navigation-item__content{
  padding:9px 13px!important;
  border:1px solid rgba(112,20,95,.18)!important;
  border-radius:999px!important;
}

/* Aula virtual: CTA */
.ce-header-nav .wp-block-navigation__container > .wp-block-navigation-item:last-child > .wp-block-navigation-item__content{
  padding:10px 15px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,var(--ce-pink),var(--ce-coral))!important;
  color:#fff!important;
  box-shadow:0 9px 20px rgba(255,32,92,.14);
}
.ce-header-nav .wp-block-navigation__container > .wp-block-navigation-item:last-child > .wp-block-navigation-item__content:hover{
  color:#fff!important;
  transform:translateY(-1px);
}

/* CONTENIDO */
.ce-comet-main,
.ce-comet-main .wp-block-post-content{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
.ce-comet-main .wp-block-post-content > *{
  max-width:none;
}
.ce-comet-main .wp-block-post-content > .wp-block-html{
  margin-block-start:0!important;
  margin-block-end:0!important;
}

/* FOOTER */
.ce-site-footer{
  width:100%;
  margin:0!important;
  background:var(--ce-plum-dark)!important;
  color:#fff!important;
}
.ce-footer-inner{
  width:min(var(--ce-max),calc(100% - 36px))!important;
  max-width:var(--ce-max)!important;
  margin:0 auto!important;
  padding:56px 0 28px!important;
}
.ce-footer-brand{
  gap:10px!important;
  margin-bottom:15px!important;
}
.ce-footer-brand img{
  width:52px!important;
  height:52px!important;
  object-fit:contain;
}
.ce-site-footer h1,
.ce-site-footer h2,
.ce-site-footer h3,
.ce-site-footer h4,
.ce-site-footer .wp-block-site-title,
.ce-site-footer .wp-block-site-title a{
  font-family:"Poppins",sans-serif!important;
  color:#fff!important;
}
.ce-site-footer h4{
  font-size:.9rem!important;
  margin-bottom:15px!important;
}
.ce-site-footer p{
  color:rgba(255,255,255,.73)!important;
  font-family:"DM Sans",sans-serif!important;
  font-size:.88rem!important;
  margin:0 0 8px!important;
}
.ce-site-footer a{
  color:rgba(255,255,255,.82)!important;
  text-decoration:none!important;
}
.ce-site-footer a:hover{color:#fff!important}
.ce-footer-columns{gap:45px!important}

.ce-footer-bottom{
  border-top:1px solid rgba(255,255,255,.13);
  margin-top:30px!important;
  padding-top:18px!important;
}
.ce-footer-bottom p{
  color:rgba(255,255,255,.55)!important;
  font-size:.76rem!important;
}

/* MOBILE */
@media(max-width:1050px){
  .ce-brand-text .wp-block-site-title{font-size:1rem!important}
  .ce-header-nav .wp-block-navigation__container{gap:12px!important}
  .ce-header-nav{font-size:.82rem!important}
}

@media(max-width:900px){
  .ce-header-inner{
    min-height:68px;
    padding:10px 0!important;
  }
  .ce-header-brand .wp-block-site-logo img{
    width:50px!important;
    height:50px!important;
  }
  .ce-header-nav .wp-block-navigation__responsive-container:not(.is-menu-open){
    display:none!important;
  }
  .ce-header-nav .wp-block-navigation__responsive-container-open{
    display:flex!important;
  }
  .ce-header-nav .wp-block-navigation__responsive-container.is-menu-open{
    background:#fffdfb!important;
    color:var(--ce-ink)!important;
    padding:28px!important;
  }
  .ce-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
    align-items:flex-start!important;
    gap:12px!important;
  }
  .ce-footer-columns{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
  }
}

@media(max-width:782px){
  .admin-bar .ce-site-header{top:46px}
}

@media(max-width:620px){
  .ce-header-inner,
  .ce-footer-inner{
    width:calc(100% - 26px)!important;
  }
  .ce-footer-columns{
    grid-template-columns:1fr!important;
    gap:28px!important;
  }
  .ce-footer-bottom{
    display:block!important;
  }
}


/* 0.1.1 · elimina el espacio que Twenty Twenty-Five añade entre
   las partes de plantilla y el contenido principal */
.wp-site-blocks{
  padding-top:0!important;
  padding-bottom:0!important;
}

.wp-site-blocks > *{
  margin-block-start:0!important;
  margin-block-end:0!important;
}

.wp-site-blocks > header + main,
.wp-site-blocks > .wp-block-template-part + main,
.wp-site-blocks > .wp-block-template-part + .ce-comet-main,
.ce-comet-main{
  margin-top:0!important;
}

.ce-site-header{
  margin-bottom:0!important;
}

.ce-comet-main{
  margin-block-start:0!important;
  margin-block-end:0!important;
}


/* 0.1.2 · eliminación fuerte del block-gap del tema */
body .wp-site-blocks{
  gap:0!important;
  row-gap:0!important;
  column-gap:0!important;
}

body .wp-site-blocks > * + *{
  margin-block-start:0!important;
}

body .wp-site-blocks > .wp-block-template-part,
body .wp-site-blocks > header,
body .wp-site-blocks > main,
body .wp-site-blocks > footer,
body .ce-comet-main,
body .ce-comet-main > .wp-block-post-content{
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
}

body .ce-comet-main .wp-block-post-content{
  gap:0!important;
  row-gap:0!important;
}

body .ce-comet-main .wp-block-post-content > :first-child{
  margin-top:0!important;
}

body .ce-comet-main .wp-block-post-content > .wp-block-html:first-child{
  margin-top:0!important;
  padding-top:0!important;
}


/* 0.1.3 · marca simplificada: logo + Comet English */
.ce-brand-text{
  display:block!important;
  margin:0!important;
}
.ce-brand-text .wp-block-site-title{
  margin:0!important;
  font-family:"Poppins",sans-serif!important;
  font-size:1.22rem!important;
  font-weight:700!important;
  line-height:1.05!important;
  white-space:nowrap!important;
}
.ce-brand-text .wp-block-site-title a{
  color:var(--ce-ink)!important;
  text-decoration:none!important;
}

@media(max-width:620px){
  .ce-brand-text{
    display:block!important;
  }
  .ce-brand-text .wp-block-site-title{
    font-size:1rem!important;
  }
  .ce-header-brand .wp-block-site-logo img{
    width:46px!important;
    height:46px!important;
  }
}


/* 0.1.4 · marca fija: logo exacto + Comet English */
.ce-header-brand,
.ce-brand-text,
.ce-brand-tagline{
  display:none!important;
}

.ce-brand-link{
  display:inline-flex;
  align-items:center;
  gap:11px;
  flex:0 0 auto;
  color:var(--ce-ink)!important;
  text-decoration:none!important;
  white-space:nowrap;
}

.ce-brand-logo{
  display:block;
  width:54px;
  height:54px;
  object-fit:contain;
  border:0;
}

.ce-brand-name{
  font-family:"Poppins",sans-serif!important;
  font-size:1.22rem!important;
  line-height:1!important;
  font-weight:700!important;
  color:var(--ce-ink)!important;
  letter-spacing:-.02em;
}

@media(max-width:620px){
  .ce-brand-logo{
    width:44px;
    height:44px;
  }
  .ce-brand-name{
    font-size:1rem!important;
  }
}


/* 0.1.5 · cabecera siempre en una sola fila y centrada */
.ce-site-header .ce-header-inner{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
  min-height:72px!important;
}

.ce-site-header .ce-header-inner > .wp-block-shortcode{
  flex:0 0 auto!important;
  width:auto!important;
  margin:0!important;
}

.ce-site-header .ce-header-inner > .wp-block-navigation,
.ce-site-header .ce-header-inner .ce-header-nav{
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
}

.ce-site-header .ce-header-nav{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
}

.ce-site-header .ce-header-nav .wp-block-navigation__container{
  width:auto!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
  gap:18px!important;
  margin:0!important;
  padding:0!important;
}

.ce-site-header .ce-header-nav .wp-block-navigation-item{
  margin:0!important;
}

.ce-site-header .ce-brand-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  margin:0!important;
}

@media(max-width:900px){
  .ce-site-header .ce-header-inner{
    min-height:68px!important;
  }
}


/* 0.1.7 · footer final Comet */
.ce-site-footer{
  background:
    radial-gradient(circle at 10% 0%, rgba(255,111,114,.10), transparent 24%),
    linear-gradient(135deg,#3d1740 0%,#4a0b43 60%,#5b0f52 100%)!important;
}

.ce-footer-inner{
  padding:60px 0 26px!important;
}

.ce-footer-columns{
  gap:50px!important;
  align-items:flex-start!important;
}

.ce-footer-brand-link{
  display:inline-flex;
  align-items:center;
  gap:11px;
  text-decoration:none!important;
  margin-bottom:16px;
}

.ce-footer-brand-logo{
  width:50px!important;
  height:50px!important;
  object-fit:contain;
  display:block;
}

.ce-footer-brand-name{
  font-family:"Poppins",sans-serif!important;
  font-size:1.2rem!important;
  font-weight:700!important;
  color:#fff!important;
  line-height:1!important;
}

.ce-footer-intro{
  max-width:340px;
  font-size:.92rem!important;
  line-height:1.65!important;
  color:rgba(255,255,255,.72)!important;
}

.ce-site-footer h4{
  font-family:"Poppins",sans-serif!important;
  color:#fff!important;
  font-size:.84rem!important;
  letter-spacing:.06em!important;
  text-transform:uppercase;
  margin:4px 0 17px!important;
}

.ce-site-footer .ce-footer-columns p{
  margin:0 0 9px!important;
}

.ce-site-footer .ce-footer-columns a{
  color:rgba(255,255,255,.76)!important;
  font-family:"DM Sans",sans-serif!important;
  font-size:.88rem!important;
  transition:color .18s ease, transform .18s ease;
}

.ce-site-footer .ce-footer-columns a:hover{
  color:#fff!important;
}

.ce-footer-bottom{
  border-top:1px solid rgba(255,255,255,.13)!important;
  margin-top:34px!important;
  padding-top:18px!important;
}

.ce-footer-bottom p{
  margin:0!important;
  color:rgba(255,255,255,.52)!important;
  font-size:.75rem!important;
}

@media(max-width:900px){
  .ce-footer-columns{
    display:grid!important;
    grid-template-columns:1.4fr 1fr 1fr!important;
    gap:34px!important;
  }
  .ce-footer-columns > .wp-block-column:first-child{
    grid-column:1 / -1;
  }
}

@media(max-width:620px){
  .ce-footer-inner{
    padding:44px 0 22px!important;
  }
  .ce-footer-columns{
    grid-template-columns:1fr!important;
    gap:28px!important;
  }
  .ce-footer-columns > .wp-block-column:first-child{
    grid-column:auto;
  }
  .ce-footer-bottom{
    display:block!important;
  }
  .ce-footer-bottom p + p{
    margin-top:5px!important;
  }
}


/* 0.1.9 · más aire en la línea inferior del footer */
.ce-footer-bottom{
  margin-top:44px!important;
  padding-top:26px!important;
  padding-bottom:8px!important;
}

.ce-footer-bottom > *{
  margin:0!important;
}

.ce-footer-bottom .wp-block-shortcode{
  color:rgba(255,255,255,.58)!important;
  font-family:"DM Sans",sans-serif!important;
  font-size:.75rem!important;
}


/* 0.2.0 · Header/Footer Comet son ahora las partes globales del tema */
.wp-site-blocks > header.wp-block-template-part,
.wp-site-blocks > footer.wp-block-template-part{
  margin-block-start:0!important;
  margin-block-end:0!important;
}


/* 0.2.1 · elimina SOLO el hueco entre cabecera global y contenido.
   No modifica el espaciado interno del footer. */
body .wp-site-blocks > header.wp-block-template-part{
  margin:0!important;
  padding:0!important;
}

body .wp-site-blocks > header.wp-block-template-part + *{
  margin-block-start:0!important;
}

body .wp-site-blocks > header.wp-block-template-part + main,
body .wp-site-blocks > header.wp-block-template-part + .wp-block-group{
  margin-top:0!important;
  padding-top:0!important;
}

body .wp-site-blocks > header.wp-block-template-part + main > .wp-block-post-content,
body .wp-site-blocks > header.wp-block-template-part + .wp-block-group > .wp-block-post-content{
  margin-top:0!important;
  padding-top:0!important;
}

body .wp-site-blocks > header.wp-block-template-part + main > .wp-block-post-content > :first-child,
body .wp-site-blocks > header.wp-block-template-part + .wp-block-group > .wp-block-post-content > :first-child{
  margin-top:0!important;
}


/* 0.2.2 · El bloque HTML empieza con <style>, por lo que el contenido
   visible no coincide con :first-child y recibe el block-gap del tema. */
body .ce-comet-main > .wp-block-post-content > .ce-course-page{
  margin-block-start:0!important;
  margin-top:0!important;
}

/* 0.2.4 · Menú desplegable bajo la cabecera, conservando la marca visible.
   Se mantienen la apertura, cierre, Escape y gestión de foco de WordPress. */
.ce-site-header .ce-header-inner,
.ce-site-header .ce-header-nav{
  position:static;
}
.ce-site-header .ce-header-nav .wp-block-navigation__responsive-container.is-menu-open{
  position:absolute!important;
  inset:100% 0 auto 0!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  background:#fffdfb!important;
  color:var(--ce-ink)!important;
  border-bottom:1px solid var(--ce-line);
  box-shadow:0 18px 26px rgba(61,23,64,.08);
  animation:ce-menu-reveal .18s ease-out;
}
.ce-site-header .ce-header-nav .is-menu-open .wp-block-navigation__responsive-close,
.ce-site-header .ce-header-nav .is-menu-open .wp-block-navigation__responsive-dialog{
  position:static!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
.ce-site-header .ce-header-nav .is-menu-open .wp-block-navigation__responsive-container-content{
  box-sizing:border-box;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  width:min(var(--ce-max),calc(100% - 36px))!important;
  max-width:var(--ce-max)!important;
  max-height:calc(100vh - 150px);
  max-height:calc(100dvh - 150px);
  overflow-y:auto;
  overscroll-behavior:contain;
  margin:0 auto!important;
  padding:22px 4px 28px!important;
  gap:0!important;
}
.ce-site-header .ce-header-nav .is-menu-open .wp-block-navigation__container{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  width:100%!important;
  gap:6px!important;
  padding:0!important;
  margin:0!important;
}
.ce-site-header .ce-header-nav .is-menu-open .wp-block-navigation-item{
  align-items:flex-start!important;
  width:auto;
  max-width:100%;
}
.ce-site-header .ce-header-nav .is-menu-open .wp-block-navigation-item__content{
  box-sizing:border-box;
  display:flex;
  align-items:center;
  min-height:44px;
  padding:9px 0;
  font-size:1rem!important;
  line-height:1.4;
  text-align:left;
  white-space:normal;
}
.ce-site-header .ce-header-nav .is-menu-open .wp-block-navigation-item:nth-last-child(-n+2){
  margin-top:8px!important;
}
.ce-site-header .ce-header-nav .is-menu-open .wp-block-navigation__responsive-container-close{
  position:absolute!important;
  inset:auto max(18px,calc((100% - var(--ce-max))/2)) calc(100% + 18px) auto!important;
  display:flex!important;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  margin:0!important;
  padding:10px!important;
  border:0;
  border-radius:8px;
  background:#fffdfb;
  color:var(--ce-ink);
}
.ce-site-header .ce-header-nav:has(.is-menu-open) > .wp-block-navigation__responsive-container-open{
  visibility:hidden;
}
.ce-site-header .ce-header-nav .is-menu-open a:focus-visible,
.ce-site-header .ce-header-nav .is-menu-open button:focus-visible{
  outline:2px solid var(--ce-plum);
  outline-offset:2px;
}
@keyframes ce-menu-reveal{
  from{opacity:0;transform:translateY(-8px)}
  to{opacity:1;transform:translateY(0)}
}
@media(prefers-reduced-motion:reduce){
  .ce-site-header .ce-header-nav .wp-block-navigation__responsive-container.is-menu-open{
    animation:none;
  }
}


/* 0.2.6 · Sin resaltado automático ni al usar ratón/táctil. */
.ce-site-header .ce-header-nav .is-menu-open .wp-block-navigation-item__content:focus{
  outline:none!important;
  box-shadow:none!important;
}
html.ce-menu-keyboard .ce-site-header .ce-header-nav .is-menu-open .wp-block-navigation-item__content:focus-visible{
  outline:2px solid currentColor!important;
  outline-offset:-2px!important;
}
