/* ═══════════════════════════════════════════════════════════════════
   OMIE Portugal — public.css
   Cores FORÇADAS — não herda do tema WP
   Default: fundo branco · texto preto · totalmente legível
   Dark mode: activado via classe .omie-dark (toggle do utilizador)
   ═══════════════════════════════════════════════════════════════════ */

/* Isolamento total do tema WP */
.omie-widget,
.omie-widget * {
    box-sizing: border-box;
}

/* ─── Variáveis light mode (default) ──────────────────────────────── */
.omie-widget {
    color-scheme: light;

    --c-bg:          #ffffff;
    --c-surface:     #f8fafc;
    --c-panel:       #ffffff;
    --c-text:        #0f172a;
    --c-text-soft:   #334155;
    --c-muted:       #64748b;
    --c-border:      #e2e8f0;
    --c-accent:      #3f8c0b;
    --c-accent-bg:   #f1faeb;
    --c-green:       #3f8c0b;
    --c-green-bg:    #f1faeb;
    --c-green-bd:    #a8dc82;
    --c-yellow:      #92400e;
    --c-yellow-bg:   #fffbeb;
    --c-yellow-bd:   #fcd34d;
    --c-red:         #991b1b;
    --c-red-bg:      #fef2f2;
    --c-red-bd:      #fca5a5;
    --c-blue:        #397f08;
    --c-blue-bg:     #f1faeb;
    --c-blue-bd:     #a8dc82;
    --c-radius-lg:   16px;
    --c-radius-md:   12px;
    --c-radius-sm:   8px;
    --c-shadow:      0 1px 2px rgba(0,0,0,.05), 0 4px 12px rgba(0,0,0,.06);

    /* Forças explícitas contra herança do WP */
    background-color: #ffffff !important;
    color:            #0f172a !important;
    font-family:      -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-size:        15px !important;
    line-height:      1.6 !important;

    border: 1px solid #e2e8f0;
    border-radius: var(--c-radius-lg);
    box-shadow: var(--c-shadow);
    padding: 28px;
}

/* Reset de herança para todos os filhos */
.omie-widget h1,
.omie-widget h2,
.omie-widget h3,
.omie-widget h4,
.omie-widget p,
.omie-widget span,
.omie-widget strong,
.omie-widget small,
.omie-widget button,
.omie-widget input,
.omie-widget textarea,
.omie-widget label,
.omie-widget code {
    color: inherit;
    font-family: inherit;
}

.omie-widget a { color: var(--c-accent); }

/* ─── Dark mode: activado pela classe .omie-dark ──────────────────── */
.omie-widget.omie-dark {
    color-scheme: dark;

    --c-bg:          #0a0d0b;
    --c-surface:     #151b16;
    --c-panel:       #111612;
    --c-text:        #f2f7f0;
    --c-text-soft:   #cbd6cc;
    --c-muted:       #96a398;
    --c-border:      #2d382f;
    --c-accent:      #8cf13f;
    --c-accent-bg:   rgba(118,228,30,.12);
    --c-green:       #8cf13f;
    --c-green-bg:    rgba(118,228,30,.1);
    --c-green-bd:    #397f08;
    --c-yellow:      #fbbf24;
    --c-yellow-bg:   rgba(251,191,36,.1);
    --c-yellow-bd:   #92400e;
    --c-red:         #f87171;
    --c-red-bg:      rgba(248,113,113,.1);
    --c-red-bd:      #7f1d1d;
    --c-blue:        #8cf13f;
    --c-blue-bg:     rgba(118,228,30,.1);
    --c-blue-bd:     #397f08;
    --c-shadow:      0 1px 3px rgba(0,0,0,.3), 0 4px 16px rgba(0,0,0,.4);

    background-color: #0a0d0b !important;
    color:            #f2f7f0 !important;
    border-color: #2d382f;
}

/* ─── Botão de toggle dark mode ───────────────────────────────────── */
.omie-darkmode-btn {
    align-items: center;
    appearance: none;
    background: var(--c-surface);
    border: 1px solid var(--c-border);
    border-radius: 999px;
    color: var(--c-muted);
    cursor: pointer;
    display: inline-flex;
    font-family: inherit;
    font-size: 12px;
    font-weight: 600;
    gap: 5px;
    padding: 5px 12px;
    transition: background 120ms, border-color 120ms, color 120ms;
    white-space: nowrap;
}
.omie-darkmode-btn:hover { border-color: var(--c-accent); color: var(--c-accent); }

.omie-darkmode-btn__icon::before { content: '🌙'; font-style: normal; }
.omie-widget.omie-dark .omie-darkmode-btn__icon::before { content: '☀️'; }

.omie-darkmode-btn__label-dark  { display: none; }
.omie-darkmode-btn__label-light { display: inline; }
.omie-widget.omie-dark .omie-darkmode-btn__label-dark  { display: inline; }
.omie-widget.omie-dark .omie-darkmode-btn__label-light { display: none; }

/* ─── Cabeçalho ────────────────────────────────────────────────────── */
.omie-widget__header {
    align-items: flex-start;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin-bottom: 22px;
}
.omie-widget__header-right {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    gap: 8px;
}
.omie-widget__eyebrow {
    color: var(--c-muted);
    font-size: 11px !important;
    font-weight: 600;
    letter-spacing: .1em;
    margin: 0 0 4px;
    text-transform: uppercase;
}
.omie-widget__title {
    color: var(--c-text) !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 26px !important;
    font-weight: 700;
    line-height: 1.2;
    margin: 0;
}

/* ─── Badges ───────────────────────────────────────────────────────── */
.omie-badge {
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    padding: 5px 12px;
    white-space: nowrap;
}
.omie-badge--published      { background: #dcfce7; color: #14532d; }
.omie-badge--stale          { background: #fef9c3; color: #713f12; }
.omie-badge--failed         { background: #fee2e2; color: #7f1d1d; }
.omie-badge--pending_source { background: #f1f5f9; color: #475569; }

/* Badges em dark mode */
.omie-widget.omie-dark .omie-badge--published      { background: rgba(74,222,128,.15); color: #4ade80; }
.omie-widget.omie-dark .omie-badge--stale          { background: rgba(251,191,36,.15); color: #fbbf24; }
.omie-widget.omie-dark .omie-badge--failed         { background: rgba(248,113,113,.15); color: #f87171; }
.omie-widget.omie-dark .omie-badge--pending_source { background: rgba(148,163,184,.1); color: #94a3b8; }

/* ─── Grid de painéis por dia ──────────────────────────────────────── */
.omie-day-panels { display: grid; gap: 20px; }
.omie-day-panels.has-two-days { grid-template-columns: repeat(auto-fit, minmax(480px, 1fr)); }

.omie-day-panel {
    background: var(--c-panel);
    border: 1px solid var(--c-border);
    border-radius: var(--c-radius-lg);
    box-shadow: var(--c-shadow);
    overflow: hidden;
    padding: 20px;
    position: relative;
}
/* Barra de cor no topo */
.omie-day-panel::before {
    background: var(--c-accent);
    content: "";
    height: 3px;
    left: 0; position: absolute; right: 0; top: 0;
}
.omie-day-panel--next::before { background: #d97706; }

.omie-day-panel__header {
    align-items: flex-start;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin: 6px 0 16px;
}
.omie-day-panel__title {
    color: var(--c-text) !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 20px !important;
    font-weight: 700;
    margin: 4px 0 0;
    white-space: nowrap;
}
.omie-day-panel__meta  { color: var(--c-muted); display: grid; font-size: 12px; gap: 5px; text-align: right; }
.omie-day-panel__status {
    background: var(--c-surface);
    border: 1px solid var(--c-border);
    border-radius: 999px;
    color: var(--c-text-soft);
    display: inline-flex;
    font-size: 11px;
    padding: 4px 10px;
}

/* ─── Semáforo + Countdown ─────────────────────────────────────────── */
.omie-traffic-light-wrap { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; }

.omie-traffic-light {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: 13px;
    font-weight: 600;
    gap: 5px;
    padding: 5px 12px;
}
.omie-traffic-light::before { content: '●'; font-size: 9px; }
.omie-traffic-light--green  { background: #dcfce7; color: #14532d; }
.omie-traffic-light--green::before  { color: #16a34a; }
.omie-traffic-light--yellow { background: #fef9c3; color: #713f12; }
.omie-traffic-light--yellow::before { color: #d97706; }
.omie-traffic-light--red    { background: #fee2e2; color: #7f1d1d; }
.omie-traffic-light--red::before    { color: #dc2626; }

/* Traffic light dark mode */
.omie-widget.omie-dark .omie-traffic-light--green  { background: rgba(74,222,128,.15); color: #4ade80; }
.omie-widget.omie-dark .omie-traffic-light--green::before  { color: #4ade80; }
.omie-widget.omie-dark .omie-traffic-light--yellow { background: rgba(251,191,36,.15); color: #fbbf24; }
.omie-widget.omie-dark .omie-traffic-light--yellow::before { color: #fbbf24; }
.omie-widget.omie-dark .omie-traffic-light--red    { background: rgba(248,113,113,.15); color: #f87171; }
.omie-widget.omie-dark .omie-traffic-light--red::before    { color: #f87171; }

.omie-countdown { color: var(--c-muted); font-size: 12px; font-variant-numeric: tabular-nums; }

/* ─── Card de resumo ───────────────────────────────────────────────── */
.omie-summary-card {
    background: var(--c-surface);
    border: 1px solid var(--c-border);
    border-radius: var(--c-radius-md);
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-bottom: 16px;
    overflow: hidden;
}
.omie-summary-card__item {
    border-right: 1px solid var(--c-border);
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 11px 13px;
}
.omie-summary-card__item:last-child { border-right: none; }
.omie-summary-card__item small  { color: var(--c-muted); font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.omie-summary-card__item strong { color: var(--c-text); font-size: 15px; font-weight: 700; }
.omie-summary-card__item--cheap strong     { color: var(--c-green); }
.omie-summary-card__item--expensive strong { color: var(--c-red); }

/* ─── Cards de estatísticas ────────────────────────────────────────── */
.omie-cards--panel {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0,1fr));
    margin-bottom: 16px;
}
.omie-card {
    background: var(--c-panel);
    border: 1px solid var(--c-border);
    border-left: 3px solid var(--c-border);
    border-radius: var(--c-radius-md);
    min-width: 0;
    padding: 14px 16px;
}
.omie-card--lead      { border-left-color: var(--c-accent); min-height: 110px; }
.omie-card--current   { background: var(--c-accent-bg); border-left-color: var(--c-accent); }
.omie-card--cheap     { background: var(--c-green-bg);  border-left-color: var(--c-green); }
.omie-card--expensive { background: var(--c-red-bg);    border-left-color: var(--c-red); }
.omie-cards--summary-only .omie-card--lead { background: var(--c-surface); border-left-color: var(--c-muted); }

.omie-card__label {
    color: var(--c-muted);
    display: block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .1em;
    margin-bottom: 8px;
    text-transform: uppercase;
}
.omie-card__value { color: var(--c-text) !important; display: block; font-size: 22px; font-weight: 700; line-height: 1.1; }
.omie-card__meta  { color: var(--c-muted); display: block; font-size: 12px; margin-top: 5px; }

/* ─── Gráfico ──────────────────────────────────────────────────────── */
.omie-chart-shell {
    background: var(--c-surface);
    border: 1px solid var(--c-border);
    border-radius: var(--c-radius-md);
    padding: 10px 12px 12px;
    position: relative;
}
.omie-chart { min-height: 300px; position: relative; }
.omie-chart svg { display: block; width: 100%; }

.omie-chart-toolbar {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 6px;
    min-height: 26px;
}
.omie-chart-legend { align-items: center; color: var(--c-muted); display: flex; font-size: 12px; gap: 14px; }
.omie-legend__item { align-items: center; display: flex; gap: 5px; }
.omie-legend__item::before { border-radius: 2px; content: ''; display: inline-block; height: 3px; width: 16px; }
.omie-legend__item--today::before { background: var(--c-accent); }
.omie-legend__item--prev::before  { background: #d97706; opacity: .7; }

.omie-chart-share-btn {
    appearance: none;
    background: transparent;
    border: 1px solid var(--c-border);
    border-radius: 999px;
    color: var(--c-muted);
    cursor: pointer;
    font-size: 11px;
    font-weight: 600;
    padding: 3px 10px;
    transition: border-color 120ms, color 120ms;
}
.omie-chart-share-btn:hover { border-color: var(--c-accent); color: var(--c-accent); }

/* Tooltip do gráfico */
.omie-tooltip {
    background: #0f172a;
    border-radius: 8px;
    color: #f8fafc !important;
    font-size: 12px;
    left: 0;
    line-height: 1.5;
    max-width: 180px;
    opacity: 0;
    padding: 8px 12px;
    pointer-events: none;
    position: absolute;
    top: 0;
    transform: translate(-50%, calc(-100% - 10px));
    transition: opacity 100ms ease;
    white-space: normal;
    z-index: 10;
}
.omie-tooltip strong { color: #ffffff !important; }
.omie-widget.omie-dark .omie-tooltip { background: #f8fafc; color: #0f172a !important; }
.omie-widget.omie-dark .omie-tooltip strong { color: #0f172a !important; }

/* ─── Melhores horas ───────────────────────────────────────────────── */
.omie-best-hours {
    background: var(--c-green-bg);
    border: 1px solid var(--c-green-bd);
    border-radius: var(--c-radius-md);
    margin: 14px 0;
    padding: 14px;
}
.omie-best-hours__title { color: var(--c-green); font-size: 11px; font-weight: 700; letter-spacing: .08em; margin: 0 0 10px; text-transform: uppercase; }
.omie-best-hours__grid  { display: grid; gap: 8px; grid-template-columns: repeat(3, 1fr); }
.omie-best-hours__item  {
    align-items: center;
    background: var(--c-panel);
    border: 1px solid var(--c-green-bd);
    border-radius: var(--c-radius-sm);
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 10px 8px;
    text-align: center;
}
.omie-best-hours__icon  { font-size: 18px; line-height: 1; }
.omie-best-hours__time  { color: var(--c-text) !important; font-size: 15px; font-weight: 700; }
.omie-best-hours__label { color: var(--c-muted); font-size: 10px; }
.omie-best-hours__price { color: var(--c-green); font-size: 11px; font-weight: 700; }

/* ─── Blocos de hora ───────────────────────────────────────────────── */
.omie-hourly { margin-top: 18px; }
.omie-hourly__header {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: space-between;
    margin-bottom: 10px;
}
.omie-hourly__header h3 { color: var(--c-text) !important; font-size: 14px; font-weight: 700; margin: 0; }
.omie-hourly__header p  { color: var(--c-muted); font-size: 13px; margin: 0; }

.omie-hourly__grid {
    display: grid;
    gap: 7px;
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
}

/* Bloco base: branco, texto preto */
.omie-hourly__item {
    background: var(--c-panel);
    border: 1px solid var(--c-border);
    border-left: 4px solid var(--c-border);
    border-radius: var(--c-radius-sm);
    color: var(--c-text);
    cursor: pointer;
    padding: 9px 11px;
    text-align: left;
    transition: box-shadow 80ms, transform 80ms;
}
.omie-hourly__item:hover {
    box-shadow: 0 2px 8px rgba(0,0,0,.1);
    transform: translateY(-1px);
}
.omie-hourly__item.is-current {
    background: var(--c-accent-bg);
    border-color: var(--c-accent);
    border-left-color: var(--c-accent);
    box-shadow: 0 0 0 2px rgba(3,105,161,.15);
}

/* Cores por nível — light mode */
.omie-hourly__item--cheap     { border-left-color: #16a34a; background: #f0fdf4; }
.omie-hourly__item--mid       { border-left-color: #d97706; background: #fffbeb; }
.omie-hourly__item--expensive { border-left-color: #dc2626; background: #fef2f2; }
.omie-hourly__item--negative  { border-left-color: #1d4ed8; background: #eff6ff; }

/* Textos dentro dos blocos — light mode */
.omie-hourly__time  { color: #475569 !important; display: block; font-size: 11px; font-weight: 600; letter-spacing: .04em; }
.omie-hourly__value { color: #1e293b !important; display: block; font-size: 15px; font-weight: 700; margin: 3px 0 2px; }
.omie-hourly__range { color: #64748b !important; display: block; font-size: 10px; }

/* Cor do valor por nível — light mode */
.omie-hourly__item--cheap .omie-hourly__value     { color: #14532d !important; }
.omie-hourly__item--mid .omie-hourly__value       { color: #713f12 !important; }
.omie-hourly__item--expensive .omie-hourly__value { color: #7f1d1d !important; }
.omie-hourly__item--negative .omie-hourly__value  { color: #1e3a8a !important; }

/* Cores por nível — dark mode */
.omie-widget.omie-dark .omie-hourly__item            { background: #1e293b; border-color: #334155; border-left-color: #334155; }
.omie-widget.omie-dark .omie-hourly__item--cheap     { background: rgba(74,222,128,.08); border-left-color: #4ade80; }
.omie-widget.omie-dark .omie-hourly__item--mid       { background: rgba(251,191,36,.08); border-left-color: #fbbf24; }
.omie-widget.omie-dark .omie-hourly__item--expensive { background: rgba(248,113,113,.08); border-left-color: #f87171; }
.omie-widget.omie-dark .omie-hourly__item--negative  { background: rgba(147,197,253,.08); border-left-color: #93c5fd; }

/* Textos dentro dos blocos — dark mode */
.omie-widget.omie-dark .omie-hourly__time  { color: #94a3b8 !important; }
.omie-widget.omie-dark .omie-hourly__value { color: #f1f5f9 !important; }
.omie-widget.omie-dark .omie-hourly__range { color: #94a3b8 !important; }

/* Cor do valor por nível — dark mode */
.omie-widget.omie-dark .omie-hourly__item--cheap .omie-hourly__value     { color: #4ade80 !important; }
.omie-widget.omie-dark .omie-hourly__item--mid .omie-hourly__value       { color: #fbbf24 !important; }
.omie-widget.omie-dark .omie-hourly__item--expensive .omie-hourly__value { color: #f87171 !important; }
.omie-widget.omie-dark .omie-hourly__item--negative .omie-hourly__value  { color: #93c5fd !important; }

/* Dark mode — elementos de texto extra */
.omie-widget.omie-dark .omie-card__label    { color: #94a3b8; }
.omie-widget.omie-dark .omie-card__meta     { color: #94a3b8; }
.omie-widget.omie-dark .omie-widget__eyebrow { color: #94a3b8; }
.omie-widget.omie-dark .omie-day-panel__meta { color: #94a3b8; }
.omie-widget.omie-dark .omie-subscribe__title { color: #cbd5e1 !important; }
.omie-widget.omie-dark .omie-summary-card__item small { color: #94a3b8; }

/* Estado "atual" em dark mode */
.omie-widget.omie-dark .omie-hourly__item.is-current {
    background: rgba(56,189,248,.12);
    border-color: #38bdf8;
    border-left-color: #38bdf8;
    box-shadow: 0 0 0 2px rgba(56,189,248,.2);
}

/* ─── Calendário ───────────────────────────────────────────────────── */
.omie-calendar {
    background: var(--c-surface);
    border: 1px solid var(--c-border);
    border-radius: var(--c-radius-md);
    margin-top: 18px;
    padding: 12px 14px;
}
.omie-calendar__title { color: var(--c-muted); font-size: 11px; font-weight: 700; letter-spacing: .08em; margin: 0 0 10px; text-transform: uppercase; }
.omie-calendar__grid  { display: grid; gap: 5px; grid-template-columns: repeat(auto-fill, minmax(48px, 1fr)); }
.omie-calendar__day   {
    background: var(--c-panel);
    border: 1px solid var(--c-border);
    border-radius: 7px;
    color: var(--c-muted);
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 1px;
    padding: 6px 4px;
    text-align: center;
    transition: border-color 100ms, background 100ms;
}
.omie-calendar__day--published { color: var(--c-text-soft); }
.omie-calendar__day:hover,
.omie-calendar__day.is-active  { background: var(--c-accent-bg); border-color: var(--c-accent); color: var(--c-accent); }
.omie-calendar__day small  { color: inherit; font-size: 9px; font-weight: 700; text-transform: uppercase; }
.omie-calendar__day strong { color: inherit; font-size: 13px; font-weight: 700; }

/* ─── Formulário de subscrição ─────────────────────────────────────── */
.omie-subscribe {
    background: var(--c-surface);
    border: 1px solid var(--c-border);
    border-radius: var(--c-radius-md);
    margin-top: 18px;
    padding: 14px 16px;
}
.omie-subscribe__title { color: var(--c-text-soft) !important; font-size: 13px; font-weight: 700; margin: 0 0 10px; }
.omie-subscribe__row   { display: flex; flex-wrap: wrap; gap: 8px; }
.omie-subscribe__input {
    background: var(--c-panel);
    border: 1px solid var(--c-border);
    border-radius: 999px;
    color: var(--c-text);
    flex: 1;
    font-family: inherit;
    font-size: 14px;
    min-width: 180px;
    padding: 8px 16px;
}
.omie-subscribe__input::placeholder { color: var(--c-muted); }
.omie-subscribe__input:focus { border-color: var(--c-accent); outline: none; box-shadow: 0 0 0 3px rgba(3,105,161,.12); }
.omie-subscribe__btn {
    appearance: none;
    background: var(--c-accent);
    border: none;
    border-radius: 999px;
    color: #ffffff !important;
    cursor: pointer;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    padding: 8px 20px;
    transition: opacity 120ms;
    white-space: nowrap;
}
.omie-subscribe__btn:hover    { opacity: .87; }
.omie-subscribe__btn:disabled { opacity: .5; cursor: default; }
.omie-subscribe__msg     { display: block; font-size: 13px; margin-top: 8px; }
.omie-subscribe__msg--ok  { color: var(--c-green) !important; }
.omie-subscribe__msg--err { color: var(--c-red) !important; }

/* ─── Texto de resumo ──────────────────────────────────────────────── */
.omie-summary {
    border-top: 1px solid var(--c-border);
    color: var(--c-muted) !important;
    font-size: 13px;
    margin: 16px 0 0;
    padding-top: 12px;
}

/* ─── Estado vazio ─────────────────────────────────────────────────── */
.omie-empty {
    background: var(--c-surface);
    border: 1px dashed var(--c-border);
    border-radius: var(--c-radius-md);
    color: var(--c-muted);
    padding: 28px;
    text-align: center;
}

/* ─── Embed / widget catalog ───────────────────────────────────────── */
.omie-embed { background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--c-radius-md); margin-top: 20px; padding: 16px; }
.omie-embed__header { align-items: center; display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; }
.omie-embed__header h3 { color: var(--c-text) !important; font-size: 14px; margin: 0; }
.omie-embed__intro { color: var(--c-muted); font-size: 13px; margin: 6px 0 0; }
.omie-embed__feed  { color: var(--c-accent); font-size: 13px; text-decoration: none; }
.omie-embed__code  { background: var(--c-panel); border: 1px solid var(--c-border); border-radius: var(--c-radius-sm); color: var(--c-text); font-family: Consolas, "Courier New", monospace; font-size: 13px; margin-top: 10px; min-height: 90px; padding: 12px; resize: vertical; width: 100%; }
.omie-embed__actions { margin-top: 10px; }
.omie-embed__button { appearance: none; background: var(--c-accent); border: none; border-radius: 999px; color: #fff !important; cursor: pointer; font-weight: 700; padding: 9px 18px; }

.omie-chart-hours { color:#fff; display:flex; font-size:11px; font-weight:700; justify-content:space-between; letter-spacing:.02em; padding:8px 18px 0 50px; }
.omie-chart-hours span { white-space:nowrap; }
.omie-widget:not(.omie-dark) .omie-chart-hours { color:var(--c-text-soft); }

.omie-widget-catalog__intro   { color: var(--c-muted); font-size: 14px; margin: 14px 0 18px; }
.omie-widget-catalog__layout  { display: grid; gap: 18px; grid-template-columns: minmax(220px,280px) minmax(0,1fr); }
.omie-widget-catalog__controls { background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--c-radius-md); padding: 14px; }
.omie-widget-catalog__controls h3 { color: var(--c-text) !important; font-size: 14px; margin: 0 0 12px; }
.omie-widget-catalog__options  { display: grid; gap: 7px; }
.omie-widget-catalog__option   { align-items: flex-start; background: var(--c-panel); border: 1px solid var(--c-border); border-radius: var(--c-radius-sm); cursor: pointer; display: flex; gap: 10px; padding: 10px 12px; }
.omie-widget-catalog__option strong,
.omie-widget-catalog__option small { color: var(--c-text); display: block; }
.omie-widget-catalog__option small,
.omie-widget-catalog__meta { color: var(--c-muted); font-size: 12px; }
.omie-widget-catalog__meta { margin-top: 12px; }
.omie-widget-catalog__meta code { color: var(--c-text); display: block; font-size: 12px; margin-top: 5px; overflow-wrap: anywhere; }
.omie-widget-catalog__main    { display: grid; gap: 14px; }
.omie-widget-catalog__preview { background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--c-radius-md); padding: 14px; }
.omie-widget-catalog__preview-header { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; margin-bottom: 10px; }
.omie-widget-catalog__preview-header h3 { color: var(--c-text) !important; font-size: 14px; margin: 0; }
.omie-widget-catalog__preview-header a  { color: var(--c-accent); font-size: 13px; text-decoration: none; }
.omie-widget-catalog__codes { display: grid; gap: 14px; }

/* ─── Rodapé de créditos ───────────────────────────────────────────── */
.omie-widget__footer {
    border-top: 1px solid var(--c-border);
    margin-top: 20px;
    padding-top: 10px;
    text-align: right;
}
.omie-widget__credits {
    color: var(--c-muted);
    font-size: 11px;
    margin: 0;
}
.omie-widget__credits-link {
    color: var(--c-muted);
    text-decoration: none;
}
.omie-widget__credits-link:hover { color: var(--c-accent); }

/* ─── Responsivo ───────────────────────────────────────────────────── */
@media (max-width: 1180px) {
    .omie-day-panels.has-two-days { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
    .omie-day-panels.has-two-days { grid-template-columns: 1fr; }
    .omie-widget        { padding: 16px; }
    .omie-widget__title { font-size: 20px !important; }
    .omie-chart         { min-height: 220px; }
    .omie-cards--panel  { grid-template-columns: 1fr; }
    .omie-widget-catalog__layout { grid-template-columns: 1fr; }
    .omie-day-panel__meta { text-align: left; }
    .omie-summary-card  { grid-template-columns: repeat(2,1fr); }
    .omie-summary-card__item:nth-child(odd):not(:last-child) { border-bottom: 1px solid var(--c-border); }
    .omie-summary-card__item:nth-child(even)  { border-right: none; }
    .omie-hourly__grid { grid-template-columns: repeat(auto-fill, minmax(95px,1fr)); }
    .omie-best-hours__grid { grid-template-columns: repeat(3,1fr); }
    .omie-widget__header-right { flex-direction: row; align-items: center; flex-wrap: wrap; }
    .omie-darkmode-btn__label-light,
    .omie-darkmode-btn__label-dark { display: none; }
    .omie-widget.omie-dark .omie-darkmode-btn__label-dark { display: none; }
}

/* Página completa do plugin — independente do tema WordPress */
html:has(.omie-standalone-page) { background: #080b09; scroll-behavior: smooth; }
body.omie-standalone-page {
    --site-black:#080b09; --site-surface:#111612; --site-border:#293229;
    --site-green:#76e41e; --site-green-bright:#9cff48; --site-text:#f2f7f0; --site-muted:#9aa69c;
    background:var(--site-black)!important; color:var(--site-text)!important;
    font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    font-size:16px; line-height:1.5; margin:0!important; min-width:320px; overflow-x:hidden;
}
.omie-standalone-page *,.omie-standalone-page *::before,.omie-standalone-page *::after { box-sizing:border-box; }
.omie-site-shell { margin-inline:auto; max-width:1420px; padding-inline:clamp(20px,4vw,64px); width:100%; }
.omie-skip-link { background:var(--site-green); color:#071006; font-weight:800; left:12px; padding:10px 16px; position:fixed; top:-100px; z-index:9999; }
.omie-skip-link:focus { top:12px; }
.omie-site-header { backdrop-filter:blur(18px); background:rgba(8,11,9,.92); border-bottom:1px solid var(--site-border); position:sticky; top:0; z-index:100; }
.omie-site-header__inner { align-items:center; display:flex; justify-content:space-between; min-height:82px; }
.omie-site-brand { align-items:center; color:var(--site-text)!important; display:inline-flex; gap:12px; text-decoration:none!important; }
.omie-site-brand__mark { align-items:center; background:var(--site-green); border-radius:10px; display:flex; height:44px; justify-content:center; transform:skew(-5deg); width:44px; }
.omie-site-brand__mark svg { fill:#071006; height:31px; transform:skew(5deg); width:31px; }
.omie-site-brand small { color:var(--site-green); display:block; font-size:9px; font-weight:850; letter-spacing:.18em; line-height:1.2; text-transform:uppercase; }
.omie-site-brand strong { display:block; font-size:20px; letter-spacing:-.03em; }
.omie-site-nav { align-items:center; display:flex; gap:5px; }
.omie-site-nav a { border-radius:7px; color:#abb5ad!important; font-size:13px; font-weight:700; padding:10px 15px; text-decoration:none!important; transition:.18s ease; }
.omie-site-nav a:hover,.omie-site-nav a.is-active { background:rgba(118,228,30,.08); color:var(--site-green-bright)!important; }
.omie-site-nav a.is-active { box-shadow:inset 0 -2px var(--site-green); }
.omie-site-nav .omie-site-nav__cta { background:var(--site-green); color:#071006!important; margin-left:10px; }
.omie-site-nav .omie-site-nav__cta:hover { background:var(--site-green-bright); color:#071006!important; }
.omie-site-nav__status { align-items:center; background:rgba(118,228,30,.12); border:1px solid rgba(118,228,30,.22); border-radius:999px; color:var(--site-green-bright); display:inline-flex; font-size:11px; font-weight:750; margin-left:8px; padding:7px 11px; white-space:nowrap; }
.omie-site-theme-toggle { align-items:center; appearance:none; background:rgba(255,255,255,.04); border:1px solid var(--site-border); border-radius:999px; color:#dce7de; cursor:pointer; display:inline-flex; font:700 11px inherit; gap:7px; margin-left:3px; padding:7px 11px; white-space:nowrap; }
.omie-site-theme-toggle:hover { border-color:var(--site-green); color:var(--site-green-bright); }
.omie-site-theme-toggle .omie-darkmode-btn__icon { background:currentColor; border-radius:50%; display:inline-block; height:9px; position:relative; width:9px; }
.omie-site-theme-toggle .omie-darkmode-btn__icon::after { background:var(--site-surface); border-radius:50%; content:""; height:7px; left:3px; position:absolute; top:-2px; width:7px; }
.omie-site-theme-toggle .omie-darkmode-btn__label-dark { display:none; }
.omie-site-light .omie-site-theme-toggle .omie-darkmode-btn__label-light { display:none; }
.omie-site-light .omie-site-theme-toggle .omie-darkmode-btn__label-dark { display:inline; }
.omie-site-menu-toggle { background:transparent; border:0; color:#fff; cursor:pointer; display:none; height:44px; padding:8px; width:44px; }
.omie-site-menu-toggle span { background:var(--site-green); display:block; height:2px; margin:4px auto; width:22px; }
.omie-site-menu-toggle b { clip:rect(0 0 0 0); clip-path:inset(50%); height:1px; overflow:hidden; position:absolute; white-space:nowrap; width:1px; }
.omie-site-hero { background:radial-gradient(circle at 75% 20%,rgba(118,228,30,.14),transparent 28%),linear-gradient(145deg,#080b09 20%,#111712 100%); border-bottom:1px solid var(--site-border); overflow:hidden; position:relative; }
.omie-site-hero::after { background-image:linear-gradient(rgba(118,228,30,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(118,228,30,.04) 1px,transparent 1px); background-size:48px 48px; content:""; inset:0; mask-image:linear-gradient(90deg,transparent,#000); pointer-events:none; position:absolute; }
.omie-site-hero__inner { align-items:end; display:flex; gap:40px; justify-content:space-between; min-height:330px; padding-bottom:clamp(54px,7vw,92px); padding-top:clamp(58px,8vw,100px); position:relative; z-index:1; }
.omie-site-kicker { align-items:center; color:var(--site-green)!important; display:flex; font-size:11px!important; font-weight:850!important; gap:10px; letter-spacing:.18em; margin:0 0 15px!important; text-transform:uppercase; }
.omie-site-kicker span { background:var(--site-green); box-shadow:0 0 14px rgba(118,228,30,.6); height:2px; width:34px; }
.omie-site-hero h1 { color:#fff!important; font-family:inherit!important; font-size:clamp(38px,5.5vw,76px)!important; font-weight:780!important; letter-spacing:-.055em!important; line-height:.98!important; margin:0!important; max-width:950px; }
.omie-site-hero__inner>div>p:last-child { color:var(--site-muted)!important; font-size:clamp(15px,1.4vw,19px)!important; margin:22px 0 0!important; max-width:720px; }
.omie-site-hero__signal { align-items:center; background:rgba(255,255,255,.035); border:1px solid var(--site-border); border-radius:999px; color:#b9c3bb; display:flex; flex:0 0 auto; font-size:11px; gap:9px; padding:10px 14px; }
.omie-site-hero__signal i { animation:omie-site-pulse 2s infinite; background:var(--site-green); border-radius:50%; box-shadow:0 0 0 5px rgba(118,228,30,.12); height:7px; width:7px; }
@keyframes omie-site-pulse { 50% { box-shadow:0 0 0 9px rgba(118,228,30,0); } }
.omie-site-main { background:linear-gradient(180deg,#0c100d,#080b09); padding-block:clamp(34px,5vw,72px) clamp(70px,8vw,120px); }
.omie-standalone-page .omie-widget { --c-bg:#0a0d0b; --c-surface:#171d18; --c-panel:#111612; --c-text:#f2f7f0; --c-text-soft:#cbd6cc; --c-muted:#96a398; --c-border:#2d382f; --c-accent:#8cf13f; --c-accent-bg:rgba(118,228,30,.12); --c-green:#8cf13f; --c-green-bg:rgba(118,228,30,.1); --c-green-bd:#397f08; --c-blue:#8cf13f; --c-blue-bg:rgba(118,228,30,.1); --c-blue-bd:#397f08; background:transparent!important; border:0!important; border-radius:0; box-shadow:none; color:var(--c-text)!important; max-width:none!important; padding:0!important; width:100%!important; }
.omie-standalone-page .omie-widget__header { background:linear-gradient(135deg,#121813,#0d110e); border:1px solid var(--c-border); border-radius:16px; margin-bottom:22px; padding:22px 24px; }
.omie-standalone-page .omie-widget__title { color:#fff!important; font-family:inherit!important; font-size:clamp(24px,3vw,36px)!important; }
.omie-standalone-page .omie-day-panels.has-two-days { grid-template-columns:repeat(2,minmax(0,1fr)); }
.omie-standalone-page .omie-day-panel { box-shadow:0 18px 60px rgba(0,0,0,.24); }
.omie-standalone-page .omie-day-panel__title { color:#fff!important; }
.omie-standalone-page .omie-card { background:#151b16; }
.omie-standalone-page .omie-card--current,.omie-standalone-page .omie-card--cheap { background:rgba(118,228,30,.08); border-color:rgba(118,228,30,.32); }
.omie-standalone-page .omie-chart,.omie-standalone-page .omie-hourly,.omie-standalone-page .omie-calendar,.omie-standalone-page .omie-subscribe { background:#0d120e; border-color:var(--c-border); }
.omie-site-footer { background:#050706; border-top:1px solid var(--site-border); }
.omie-site-footer__inner { align-items:start; display:grid; gap:40px; grid-template-columns:1fr auto auto; padding-bottom:52px; padding-top:52px; }
.omie-site-footer__inner { align-items:center; display:flex; flex-wrap:wrap; gap:18px 28px; justify-content:space-between; padding-bottom:26px; padding-top:26px; }
.omie-site-footer__brand { align-items:baseline; display:flex; flex-wrap:wrap; gap:10px; }
.omie-site-footer__brand strong { color:#fff; font-size:16px; }
.omie-site-footer__brand span { color:var(--site-muted); font-size:12px; }
.omie-site-footer nav { display:grid; gap:8px; }
.omie-site-footer nav a { color:#aab5ac; font-size:12px; text-decoration:none; }
.omie-site-footer nav a:hover { color:var(--site-green); }
.omie-site-footer__meta { color:#6e7970; font-size:11px; margin-left:auto; text-align:right; }
@media (max-width:980px) {
    .omie-standalone-page .omie-day-panels.has-two-days { grid-template-columns:1fr; }
    .omie-site-hero__inner { align-items:start; flex-direction:column; }
    .omie-site-footer__inner { grid-template-columns:1fr 1fr; }
    .omie-site-footer__meta { grid-column:1/-1; text-align:left; }
}
@media (max-width:680px) {
    .omie-site-header__inner { min-height:70px; }
    .omie-site-menu-toggle { display:block; }
    .omie-site-nav { background:#0d120e; border:1px solid var(--site-border); border-radius:12px; box-shadow:0 18px 55px rgba(0,0,0,.45); display:none; flex-direction:column; left:20px; padding:10px; position:absolute; right:20px; top:62px; }
    .omie-site-nav.is-open { display:flex; }
    .omie-site-nav a { text-align:center; width:100%; }
    .omie-site-nav__status,.omie-site-theme-toggle { justify-content:center; margin:2px 0 0; width:100%; }
    .omie-site-nav .omie-site-nav__cta { margin-left:0; }
    .omie-site-hero__inner { min-height:290px; padding-bottom:48px; padding-top:56px; }
    .omie-site-hero__signal { border-radius:10px; white-space:normal; }
    .omie-standalone-page .omie-widget__header,.omie-standalone-page .omie-day-panel__header { align-items:flex-start; flex-direction:column; }
    .omie-standalone-page .omie-day-panel { padding:16px; }
    .omie-standalone-page .omie-day-panel__meta { text-align:left; }
    .omie-site-footer__inner { grid-template-columns:1fr; }
    .omie-site-footer__meta { grid-column:auto; }
}

/* Estado claro: a página inteira muda de superfície, não apenas os cartões. */
.omie-standalone-page.omie-site-light,
.omie-standalone-page.omie-site-light html { background:#fff!important; color:#172019!important; }
.omie-site-light .omie-site-header { background:rgba(255,255,255,.94); border-color:#dce6dd; }
.omie-site-light .omie-site-brand { color:#172019!important; }
.omie-site-light .omie-site-brand small { color:#348d0b; }
.omie-site-light .omie-site-nav a { color:#526057!important; }
.omie-site-light .omie-site-nav a:hover,.omie-site-light .omie-site-nav a.is-active { background:rgba(70,170,15,.08); color:#267306!important; }
.omie-site-light .omie-site-theme-toggle { background:#f4f8f4; border-color:#d2ded3; color:#35453a; }
.omie-site-light .omie-site-nav__status { background:#e9f7e6; border-color:#c9e8c2; color:#267306; }
.omie-site-light .omie-site-hero { background:radial-gradient(circle at 75% 20%,rgba(118,228,30,.13),transparent 28%),linear-gradient(145deg,#fff 20%,#f3f9f2 100%); border-color:#dce6dd; }
.omie-site-light .omie-site-hero::after { background-image:linear-gradient(rgba(70,170,15,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(70,170,15,.08) 1px,transparent 1px); }
.omie-site-light .omie-site-hero h1 { color:#172019!important; }
.omie-site-light .omie-site-hero__inner>div>p:last-child { color:#596a5e!important; }
.omie-site-light .omie-site-hero__signal { background:#fff; border-color:#d2ded3; color:#526057; }
.omie-site-light .omie-site-main { background:#fff; }
.omie-site-light .omie-widget { --c-bg:#fff; --c-surface:#fff; --c-panel:#f7faf7; --c-text:#172019; --c-text-soft:#3e5043; --c-muted:#65756a; --c-border:#d5e0d7; --c-accent:#348d0b; --c-accent-bg:#eaf7e7; --c-green:#278607; --c-green-bg:#eaf7e7; --c-green-bd:#bfe2b7; color:#172019!important; }
.omie-site-light .omie-day-panel,.omie-site-light .omie-card,.omie-site-light .omie-chart,.omie-site-light .omie-hourly,.omie-site-light .omie-calendar,.omie-site-light .omie-subscribe,.omie-site-light .omie-embed,.omie-site-light .omie-widget-catalog__controls,.omie-site-light .omie-widget-catalog__preview { background:#fff; border-color:#d5e0d7; color:#172019; }
.omie-site-light .omie-card--current,.omie-site-light .omie-card--cheap { background:#f0faed; border-color:#bfe2b7; }
.omie-site-light .omie-site-footer { background:#f5f8f5; border-color:#dce6dd; }
.omie-site-light .omie-site-footer__brand strong { color:#172019; }
.omie-site-light .omie-site-footer nav a { color:#526057; }
.omie-site-light .omie-site-footer__meta { color:#718075; }
@media (max-width:680px) {
    .omie-site-light .omie-site-nav { background:#fff; border-color:#d5e0d7; box-shadow:0 18px 55px rgba(34,66,40,.14); }
}
