/* =========================================================
   AllandeStars (Divi) – Synth CSS (checkout externo)
   Fuente heading: Empirica Headline Regular (local woff2)
   Container: Divi .et_pb_row -> width:80%, max-width:1080px
   ========================================================= */

@font-face{
  font-family: "Empirica headline regular";
  src: url("/static/fonts/Empirica-Headline-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root{
  --as-navy: #001534;
  --as-accent: #28DFD1;

  --as-bg: #ffffff;
  --as-surface: #ffffff;
  --as-text: #001534;
  --as-muted: rgba(0, 21, 52, 0.70);
  --as-border: rgba(0, 21, 52, 0.18);

  --as-font-body: "Fira Sans", Helvetica, Arial, "Lucida Sans Unicode", "Lucida Grande", sans-serif;
  --as-font-heading: "Empirica headline regular", "Fira Sans", Helvetica, Arial, sans-serif;

  --as-fs-body: 16px;
  --as-lh-body: 1.65;

  --as-container: 1080px;
  --as-container-pct: 80%;
  --as-gutter: 24px;

  --as-radius: 4px;
  --as-control-h: 44px;
  --as-focus: 0 0 0 3px rgba(40, 223, 209, 0.28);
  --as-shadow: 0 10px 28px rgba(0,0,0,0.10);
}

/* Base */
*{ box-sizing: border-box; }
html, body{ height: 100%; }
body{
  margin:0;
  font-family: var(--as-font-body);
  font-size: var(--as-fs-body);
  line-height: var(--as-lh-body);
  color: var(--as-text);
  background: var(--as-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a{ color: var(--as-text); text-decoration: none; }
a:hover{ color: var(--as-accent); text-decoration: underline; }

h1,h2,h3,h4,h5,h6{
  margin: 0 0 0.6em 0;
  font-family: var(--as-font-heading);
  line-height: 1.15;
  color: var(--as-text);
  letter-spacing: -0.01em;
}

h1{ font-size: 38px; } /* visto en tu captura */
p{ margin: 0 0 1em 0; }
small{ color: var(--as-muted); }

/* Divi-like container */
.container{
  width: min(var(--as-container), calc(100% - (var(--as-gutter) * 2)));
  margin-inline: auto;
}
.container.divi{
  width: min(var(--as-container), calc(var(--as-container-pct) - (var(--as-gutter) * 0)));
  /* Nota: en Divi real: width:80% con max-width:1080px.
     Aquí lo emulamos de forma segura; si quieres literal:
     width: 80%; max-width:1080px; margin:auto;
  */
}

.section{ padding: 54px 0; }

/* Panels */
.panel{
  background: var(--as-surface);
  border: 1px solid var(--as-border);
  border-radius: var(--as-radius);
  box-shadow: var(--as-shadow);
  padding: 22px;
}

/* Forms */
label{
  display:block;
  margin: 0 0 6px 0;
  color: var(--as-muted);
  font-size: 0.9em;
}

input, select, textarea{
  width: 100%;
  min-height: var(--as-control-h);
  padding: 10px 14px;
  font: inherit;
  color: var(--as-text);
  background: #fff;
  border: 1px solid var(--as-border);
  border-radius: var(--as-radius);
  outline: none;
}

input:focus, select:focus, textarea:focus{
  border-color: var(--as-accent);
  box-shadow: var(--as-focus);
}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height: var(--as-control-h);
  padding: 12px 14px; /* nav link: 12px 14px */
  border-radius: var(--as-radius);
  border: 1px solid transparent;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  user-select: none;
}

.btn-primary{
  background: var(--as-navy);
  color: #fff;
}
.btn-primary:hover{ background: #000f26; }

.btn-accent{
  background: var(--as-accent);
  color: var(--as-navy);
}
.btn-accent:hover{ filter: brightness(0.97); }

.btn-outline{
  background: transparent;
  border-color: var(--as-navy);
  color: var(--as-navy);
}
.btn-outline:hover{
  border-color: var(--as-accent);
  color: var(--as-accent);
}

/* Layout helpers */
.checkout-grid{
  display:grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 24px;
  align-items:start;
}
@media (max-width: 980px){
  .checkout-grid{ grid-template-columns: 1fr; }
}

.row{
  display:flex;
  justify-content:space-between;
  gap: 14px;
  padding: 10px 0;
  border-bottom: 1px solid var(--as-border);
}
.row:last-child{ border-bottom: 0; }
.total{ font-weight: 800; }

/* =========================================================
   Divi-like Header (topbar blurb) + Sticky Menu + Footer
   Basado en el HTML real de AllandeStars (Divi)
   ========================================================= */

/* Divi row: width 80%, max-width 1080px */
.as-wrap {
  width: 80%;
  max-width: 1080px;
  margin: auto;
  position: relative;
}
@media (max-width: 980px){
  .as-wrap { width: calc(100% - 48px); } /* emula gutters */
}

/* ------------------ TOP BAR ------------------ */
.as-topbar{
  background: var(--as-navy);
  color: #fff;
  font-size: 14px;
}
.as-topbar .as-wrap{
  padding: 10px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

/* Divi “blurb”: icon + text inline */
.as-blurbs{
  display:flex;
  align-items:center;
  gap: 18px;
  flex-wrap: wrap;
}
.as-blurb{
  display:flex;
  align-items:center;
  gap: 10px;
  line-height: 1.2;
}
.as-blurb a{
  color: rgba(255,255,255,0.92);
  text-decoration: none;
  font-weight: 700;
}
.as-blurb a:hover{ color: var(--as-accent); }

.as-blurb .as-icon{
  width: 22px;
  height: 22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color: rgba(255,255,255,0.92);
  font-size: 16px;
}

/* Contrátanos: acento */
.as-blurb.as-cta a{ color: var(--as-accent); font-weight: 800; }
.as-blurb.as-cta .as-icon{ color: var(--as-accent); }

/* Auth (Log in / Inscríbete) */
.as-auth{
  display:flex;
  align-items:center;
  gap: 16px;
  white-space: nowrap;
}
.as-auth a{
  color: rgba(255,255,255,0.92);
  text-decoration:none;
  font-weight: 700;
}
.as-auth a:hover{ color: var(--as-accent); }
.as-auth a.as-signup{ color: var(--as-accent); }

/* En móvil, colapsa con wrap */
@media (max-width: 980px){
  .as-topbar .as-wrap{ flex-direction: column; align-items: stretch; }
  .as-auth{ justify-content: flex-end; width: 100%; }
}

/* ------------------ NAVBAR (sticky) ------------------ */
.as-navbar{
  background: #fff;
  border-bottom: 1px solid rgba(0,21,52,0.10);
  position: sticky;
  top: 0;
  z-index: 2000;
}
.as-navbar .as-wrap{
  padding: 14px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 18px;
}

.as-brand{
  display:flex;
  align-items:center;
}
.as-brand img{
  height: 35px; /* en HTML original: img 132x35 */
  width: auto;
  display:block;
}

/* Menú */
.as-nav{
  display:flex;
  align-items:center;
  gap: 26px;
}

.as-nav a{
  color: var(--as-navy);
  text-decoration: none;
  font-weight: 700;
  font-size: 15px;
  padding: 8px 0;
  border-bottom: 2px solid transparent;
}
.as-nav a:hover{
  color: var(--as-accent);
  border-bottom-color: rgba(40,223,209,0.35);
}

/* “Eventos” como botón */
.as-nav a.as-events{
  background: var(--as-navy);
  color: var(--as-accent);
  padding: 10px 16px;
  border-radius: 6px;
  border-bottom: 0;
}
.as-nav a.as-events:hover{
  filter: brightness(0.98);
  color: #eafffd;
}

@media (max-width: 980px){
  .as-navbar .as-wrap{ flex-wrap: wrap; }
  .as-nav{ gap: 14px; flex-wrap: wrap; justify-content: flex-end; }
}

/* ------------------ FOOTER ------------------ */
.as-footer{
  background: var(--as-navy);
  color: #fff;
  padding: 54px 0;
  font-family: var(--as-font-heading);
}

.as-footer-grid{
  display:grid;
  grid-template-columns: 1fr 1.4fr 1fr 1fr;
  gap: 46px;
  align-items: start;
}

@media (max-width: 1100px){
  .as-footer-grid{
    grid-template-columns: 1fr 1fr;
    gap: 28px;
  }
}

@media (max-width: 680px){
  .as-footer-grid{
    grid-template-columns: 1fr;
  }
}

.as-footer img{
  display:block;
  height: auto;
  max-width: 100%;
}

.as-footer .as-footer-logo img{
  width: 140px; /* como en WP footer */
  height: auto;
}

.as-footer p{
  margin: 12px 0;
  color: rgba(255,255,255,0.92);
}

.as-footer .as-accent{
  color: var(--as-accent);
  font-weight: 700;
}

.as-footer h4{
  margin: 0 0 14px 0;
  font-family: var(--as-font-heading);
  font-size: 16px;
  color: #fff;
  font-weight: 400;
}

.as-footer ul{
  list-style: none;
  padding: 0;
  margin: 0;
  display:flex;
  flex-direction: column;
  gap: 10px;
}

.as-footer a{
  color: rgba(255,255,255,0.92);
  text-decoration: none;
  font-weight: 400;
}
.as-footer a:hover{ color: var(--as-accent); }

.as-footer-social{
  gap: 0;
}

/* =========================================================
   NAV BAR: valores calcados desde DevTools (Divi menu)
   ========================================================= */

/* La lista del menú (equivale al <li> / contenedor flexible) */
.as-nav{
  display: flex;
  align-items: stretch;
  margin: 0;
  padding: 0;
  gap: 0;                 /* en Divi el spacing viene de padding en li */
  list-style: none;
}

/* Cada item (emula padding 20px 6px del <li>) */
.as-nav .as-item{
  display: flex;
  align-items: stretch;
  margin: 0;
  padding: 20px 6px;      /* <- CLAVE */
  font-size: 14px;
  line-height: 1em;
  color: #666;
}

/* El <a> dentro (emula padding 12px 14px del link) */
.as-nav .as-item > a{
  display: flex;
  align-items: center;
  white-space: nowrap;

  padding: 12px 14px;     /* <- CLAVE */
  font-family: var(--as-font-body);
  font-size: 16px;        /* <- CLAVE */
  font-weight: normal;    /* en la captura pone normal */
  text-decoration: none;
  background: transparent;

  color: var(--as-navy);  /* #001534 */
  transition: all .4s ease-in-out; /* <- CLAVE */
}

/* Hover (Divi suele oscurecer/acento; aquí acento) */
.as-nav .as-item > a:hover{
  color: var(--as-accent);
}

/* Botón Eventos: igual que tu dump */
.as-nav .as-item > a.as-events{
  background-color: var(--as-navy);
  color: var(--as-accent) !important;
  border-radius: 4px;     /* <- CLAVE (y coincide con tu token) */
}

/* Hover del botón: ligera variación */
.as-nav .as-item > a.as-events:hover{
  filter: brightness(0.98);
}

/* Responsive */
@media (max-width: 980px){
  .as-navbar .as-wrap{ flex-wrap: wrap; }
  .as-nav{ flex-wrap: wrap; justify-content: flex-end; }
}

/* Wraps con distintos máximos */
.as-wrap { width: 80%; margin: auto; position: relative; max-width: 1080px; }
.as-wrap-wide { width: 80%; margin: auto; position: relative; max-width: 1350px; }

@media (max-width: 980px){
  .as-wrap, .as-wrap-wide { width: calc(100% - 48px); }
}

/* Navbar padding exacto (lo que has copiado) */
.as-navbar .as-wrap-wide{
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.as-brand { flex: 0 1 auto; width: 25%; max-width: 100%; display:flex; align-items:center; }
.as-nav { flex: 1 1 auto; justify-content: flex-end; }

/* ===================== TOP BAR EXACT ===================== */
.as-topbar{
  background-color: var(--as-navy) !important;
  height: 40px;              /* <- CLAVE */
  padding-top: 4px;          /* <- CLAVE */
  padding-bottom: 4px;       /* <- CLAVE */
  display: flex;
  align-items: center;
  font-family: var(--as-font-body);
  -webkit-font-smoothing: antialiased;
}

/* En Divi hay padding % en secciones, pero aquí lo fijo porque tienes height 40px */
.as-topbar .as-wrap{
  padding: 0;                /* para no pelear con height */
  height: 100%;
  display:flex;
  align-items:center;
}

.as-topbar-grid{
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr; /* 50/50 */
  align-items: center;
  height: 100%;
}

/* Izquierda: blurbs en fila */
.as-topbar-left{
  display:flex;
  align-items:center;
  gap: 18px;
  min-width: 0;
}

/* Derecha: texto alineado derecha */
.as-topbar-right{
  display:flex;
  align-items:center;
  justify-content: flex-end;
  gap: 16px;
  text-align: right;
  white-space: nowrap;
}

.as-topbar a{
  color: rgba(255,255,255,0.92);
  text-decoration: none;
  font-weight: 700;
  font-size: 14px;
  line-height: 1em;
}
.as-topbar a:hover{ color: var(--as-accent); }

.as-topbar .as-signup{ color: var(--as-accent); }

/* Blurb compact en topbar */
.as-topbar .as-blurb{
  display:flex;
  align-items:center;
  gap: 10px;
}
.as-topbar .as-icon{
  width: 18px;
  height: 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size: 14px;
  line-height: 1;
  color: rgba(255,255,255,0.92);
}
.as-topbar .as-blurb.as-cta a{ color: var(--as-accent); font-weight: 800; }
.as-topbar .as-blurb.as-cta .as-icon{ color: var(--as-accent); }

@media (max-width: 980px){
  .as-topbar{ height: auto; padding: 8px 0; }
  .as-topbar .as-wrap{ height: auto; }
  .as-topbar-grid{
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .as-topbar-right{ justify-content: flex-start; }
  .as-topbar-left{ flex-wrap: wrap; gap: 10px 16px; }
}

/* ===================== NAVBAR LOGO ALIGN ===================== */

/* Contenedor navbar: asegura centrado vertical */
.as-navbar .as-wrap-wide{
  display:flex;
  align-items:center;        /* <- CLAVE para que el logo no “suba” */
  justify-content: space-between;
  gap: 18px;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

/* Logo wrapper como Divi: width 25% */
.as-brand{
  flex: 0 1 auto;
  display:flex;
  align-items:center;        /* <- CLAVE */
  width: 25%;
  max-width: 100%;
  margin: 0;
  padding: 0;
}

/* Logo tamaño: en WP img es 132x35 pero se percibe grande; subo un pelín */
.as-brand img{
  height: 40px;              /* prueba 40; si lo quieres exacto, 35 */
  width: auto;
  display:block;
}

/* Menú ocupa el resto y se alinea a la derecha */
.as-navbar nav{ flex: 1 1 auto; }

/* ===================== DIVI ICON FONT (ETmodules) ===================== */
/* Asegúrate de colocar static/fonts/ETmodules.woff2 */
@font-face{
  font-family: "ETmodules";
  src: url("/static/fonts/ETmodules.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: block; /* icon fonts mejor block para evitar “flash” raro */
}

/* ===================== TOP BAR (mismo ancho que navbar) ===================== */
.as-topbar{
  background-color: #001534 !important;
  height: 40px;
  padding-top: 4px;
  padding-bottom: 4px;
  display: flex;
  align-items: center;
  -webkit-font-smoothing: antialiased;
  font-family: "Fira Sans", Helvetica, Arial, Lucida, sans-serif;
}

.as-topbar .as-wrap-wide{
  height: 100%;
  display: flex;
  align-items: center;
}

/* 2 columnas 50/50 como Divi */
.as-topbar-grid{
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  height: 100%;
}

.as-topbar-left{
  display: flex;
  align-items: center;
  gap: 18px;
  min-width: 0;
}

.as-topbar-right{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
  text-align: right;
  white-space: nowrap;
}

/* Blurb */
.as-blurb{
  display: flex;
  align-items: center;
  gap: 10px;
  line-height: 1;
}

/* Icon link wrapper: el <a> del icono en tu dump tenía line-height:0 */
.as-iconlink{
  line-height: 0;
  text-decoration: none;
}

/* Icono ETmodules: clonado de tu dump */
.as-et-icon{
  font-family: ETmodules !important;
  font-weight: 400 !important;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  direction: ltr;
  line-height: 1;
  font-size: 22px;
  color: #28dfd1;
  opacity: 1;
  margin-top: -3px !important; /* <- CLAVE */
}

/* Texto Contrátanos (14px, acento) */
.as-ctatext{
  font-family: "Fira Sans", Helvetica, Arial, Lucida, sans-serif;
  font-size: 14px;
  font-weight: normal;
  text-decoration: none;
  color: #28dfd1 !important;
}

/* Enlaces topbar (email/tel/login) */
.as-toplink{
  font-family: "Fira Sans", Helvetica, Arial, Lucida, sans-serif;
  font-size: 14px;
  font-weight: normal;
  text-decoration: none;
  color: rgba(255,255,255,0.92);
}
.as-toplink:hover{ color: #28dfd1; }

.as-signup{ color: #28dfd1 !important; }

/* Responsive */
@media (max-width: 980px){
  .as-topbar{ height: auto; padding: 8px 0; }
  .as-topbar .as-wrap-wide{ height: auto; }
  .as-topbar-grid{ grid-template-columns: 1fr; gap: 8px; }
  .as-topbar-right{ justify-content: flex-start; }
  .as-topbar-left{ flex-wrap: wrap; gap: 10px 16px; }
}

.as-wrap-wide { width: 80%; max-width: 1350px; margin: auto; position: relative; }
@media (max-width: 980px){
  .as-wrap-wide { width: calc(100% - 48px); }
}

@font-face{
  font-family: "ETmodules";
  src: url("/static/fonts/ETmodules.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: block;
}
