.aec-open-status{
  display:inline-flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.45rem;
  font-family:var(--aec-font-primary,"Space Grotesk",Arial,sans-serif);
  color:var(--aec-hours-text,currentColor);
}
.aec-open-status__dot{width:.5rem;height:.5rem;border-radius:999px;background:#737373;flex:0 0 auto}
.aec-open-status strong{font-size:.75rem;letter-spacing:.07em;text-transform:uppercase}
.aec-open-status small{font-size:.72rem;color:var(--aec-hours-muted,#737373)}
.aec-open-status.is-open .aec-open-status__dot{background:#39FF14;box-shadow:0 0 10px rgba(57,255,20,.45)}
.aec-open-status.is-open strong{color:#39FF14}
.aec-open-status.is-closed .aec-open-status__dot{background:#FF3131;box-shadow:0 0 10px rgba(255,49,49,.35)}
.aec-open-status.is-closed strong{color:#FF5E5E}
.aec-open-status.is-unpublished{color:var(--aec-hours-muted,#737373)}

.aec-hours-theme-dark{
  --aec-hours-surface:color-mix(in srgb,var(--aec-hours-dark-surface,#fff) var(--aec-hours-dark-surface-opacity,4%),transparent);
  --aec-hours-border:color-mix(in srgb,var(--aec-hours-dark-border,#fff) var(--aec-hours-dark-border-opacity,12%),transparent);
  --aec-hours-text:var(--aec-hours-dark-text,#fff);
  --aec-hours-muted:var(--aec-hours-dark-muted,#a3a3a3);
  --aec-hours-accent:var(--aec-hours-dark-accent,#F4FF00);
  --aec-hours-today:color-mix(in srgb,var(--aec-hours-dark-today,#F4FF00) var(--aec-hours-dark-today-opacity,9%),transparent);
}
.aec-hours-theme-light{
  --aec-hours-surface:color-mix(in srgb,var(--aec-hours-light-surface,#fff) var(--aec-hours-light-surface-opacity,100%),transparent);
  --aec-hours-border:color-mix(in srgb,var(--aec-hours-light-border,#0a0a0a) var(--aec-hours-light-border-opacity,12%),transparent);
  --aec-hours-text:var(--aec-hours-light-text,#0a0a0a);
  --aec-hours-muted:var(--aec-hours-light-muted,#666);
  --aec-hours-accent:var(--aec-hours-light-accent,#D100AE);
  --aec-hours-today:color-mix(in srgb,var(--aec-hours-light-today,#F4FF00) var(--aec-hours-light-today-opacity,20%),transparent);
}
/* Auto begins neutral/transparent to avoid a bright flash while JS determines context. */
.aec-hours-theme-auto{
  --aec-hours-surface:transparent;
  --aec-hours-border:color-mix(in srgb,currentColor 14%,transparent);
  --aec-hours-text:inherit;
  --aec-hours-muted:currentColor;
  --aec-hours-accent:var(--aec-neon-yellow,#F4FF00);
  --aec-hours-today:color-mix(in srgb,var(--aec-neon-yellow,#F4FF00) 12%,transparent);
}
.aec-hours-theme-auto.is-aec-hours-dark{
  --aec-hours-surface:color-mix(in srgb,var(--aec-hours-dark-surface,#fff) var(--aec-hours-dark-surface-opacity,4%),transparent);
  --aec-hours-border:color-mix(in srgb,var(--aec-hours-dark-border,#fff) var(--aec-hours-dark-border-opacity,12%),transparent);
  --aec-hours-text:var(--aec-hours-dark-text,#fff);
  --aec-hours-muted:var(--aec-hours-dark-muted,#a3a3a3);
  --aec-hours-accent:var(--aec-hours-dark-accent,#F4FF00);
  --aec-hours-today:color-mix(in srgb,var(--aec-hours-dark-today,#F4FF00) var(--aec-hours-dark-today-opacity,9%),transparent);
}
.aec-hours-theme-auto.is-aec-hours-light{
  --aec-hours-surface:color-mix(in srgb,var(--aec-hours-light-surface,#fff) var(--aec-hours-light-surface-opacity,100%),transparent);
  --aec-hours-border:color-mix(in srgb,var(--aec-hours-light-border,#0a0a0a) var(--aec-hours-light-border-opacity,12%),transparent);
  --aec-hours-text:var(--aec-hours-light-text,#0a0a0a);
  --aec-hours-muted:var(--aec-hours-light-muted,#666);
  --aec-hours-accent:var(--aec-hours-light-accent,#D100AE);
  --aec-hours-today:color-mix(in srgb,var(--aec-hours-light-today,#F4FF00) var(--aec-hours-light-today-opacity,20%),transparent);
}

.aec-hours-all{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;width:100%}
.aec-hours-card{
  min-width:0;
  padding:var(--aec-hours-padding,18px);
  border:1px solid var(--aec-hours-border,rgba(10,10,10,.12));
  border-radius:var(--aec-hours-radius,12px);
  background:var(--aec-hours-surface,#fff);
  color:var(--aec-hours-text,#0a0a0a);
  transition:background-color .18s ease,border-color .18s ease,color .18s ease;
}
.aec-hours-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.1rem}
.aec-hours-card__eyebrow{margin:0 0 .35rem;font:700 .65rem/1 var(--aec-font-accent,"Another Typewriter","Courier New",monospace);letter-spacing:.12em;text-transform:uppercase;color:var(--aec-hours-muted,#737373)}
.aec-hours-card h3{margin:0;color:var(--aec-hours-text,#0a0a0a);font:850 clamp(1.65rem,3vw,2.7rem)/.92 var(--aec-font-primary,"Space Grotesk",Arial,sans-serif);letter-spacing:-.04em}
.aec-hours-week{width:100%}
.aec-hours-row,.aec-hours-today{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 0;border-top:1px solid var(--aec-hours-border,rgba(10,10,10,.12));font-family:var(--aec-font-primary,"Space Grotesk",Arial,sans-serif)}
.aec-hours-row span,.aec-hours-today span{font-size:.76rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--aec-hours-muted,#666)}
.aec-hours-row strong,.aec-hours-today strong{font-size:.84rem;text-align:right;color:var(--aec-hours-text,#0a0a0a)}
.aec-hours-today strong{color:var(--aec-hours-accent,#F4FF00)}
.aec-hours-row.is-today{margin-inline:-.7rem;padding-inline:.7rem;background:var(--aec-hours-today,rgba(244,255,0,.20));border-top-color:var(--aec-hours-border,rgba(10,10,10,.25))}
.aec-hours-row.is-today span,.aec-hours-row.is-today strong{color:var(--aec-hours-text,#0a0a0a)}
.aec-hours-card.is-unpublished{background:var(--aec-hours-surface,transparent);color:var(--aec-hours-muted,#737373)}
.aec-hours-card.is-unpublished h3{color:var(--aec-hours-text,currentColor)}
.aec-hours-special{margin:.2rem 0 .9rem;padding:.65rem .75rem;border-left:3px solid var(--aec-hours-accent,#F4FF00);background:var(--aec-hours-today,rgba(244,255,0,.14));color:var(--aec-hours-text,#0a0a0a);font:500 .78rem/1.4 var(--aec-font-primary,"Space Grotesk",Arial,sans-serif)}

@media(max-width:1050px){.aec-hours-all{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
  .aec-hours-all{grid-template-columns:1fr}
  .aec-hours-card__header{flex-direction:column;align-items:flex-start}
  .aec-hours-row,.aec-hours-today{gap:.75rem}
  .aec-hours-row strong,.aec-hours-today strong{font-size:.8rem}
}
