/* Feriados do calendário editorial.
   Paleta e escala de espaçamento herdadas do sistema (4/8/12/16/24px).
   Nenhum botão "colado" em outro componente. */

/* ── Marca no dia do calendário ──────────────────────────────────
   O feriado aparece como uma faixa fina no topo do dia: legível sem
   roubar o espaço dos conteúdos, que continuam sendo o assunto da tela. */
.day{position:relative}
.day-holiday{display:flex;align-items:center;gap:4px;width:100%;margin-bottom:8px;padding:4px;border:1px solid transparent;border-radius:5px;text-align:left;font-size:8px;line-height:1.3;font-weight:700;transition:background .18s,border-color .18s,transform .18s}
.day-holiday:hover{transform:translateY(-1px)}
.day-holiday svg{width:9px;height:9px;flex:none}
.day-holiday span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.day-holiday.nacional{background:#f7efd9;border-color:#eddfb9;color:#755d2b}
.day-holiday.nacional:hover{background:#f2e6c6}
.day-holiday.estadual{background:#e5efdf;border-color:#cfe0c2;color:#436849}
.day-holiday.estadual:hover{background:#d8e8ce}
.day-holiday.municipal{background:#f0f0ec;border-color:#dfe2d6;color:#6a7161}
.day-holiday.municipal:hover{background:#e6e8de}
.day-holiday.personalizado{background:#e8e4f0;border-color:#d5cee3;color:#5b5273}
.day-holiday.personalizado:hover{background:#ddd7e9}
.day-holiday.manual{box-shadow:inset 0 0 0 1px #ffffff90}

/* Vários feriados no mesmo dia: mostra o primeiro e conta os outros. */
.day-holiday-more{margin-left:auto;font-weight:800;opacity:.75}

/* Dia com feriado fica com um fio na lateral. */
.day.has-holiday{background:linear-gradient(90deg,#f7f6f0 0 3px,transparent 3px)}
.day.has-holiday.outside{background:#f8f9f3 linear-gradient(90deg,#edece4 0 3px,transparent 3px)}

/* ── Painel "Feriados do ano" ──────────────────────────────────── */
.holidays-panel{margin-top:24px}
.holidays-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.holidays-head h2{font-size:19px}
.holidays-head p{font-size:11px;color:var(--muted);margin-top:4px}
.holidays-actions{display:flex;gap:8px;flex-wrap:wrap}

.holidays-summary{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.holidays-chip{display:inline-flex;align-items:center;gap:8px;padding:4px 8px;border:1px solid var(--line);border-radius:5px;background:#f3f4ed;font-size:10px;font-weight:700;color:var(--muted)}
.holidays-chip b{color:var(--ink);font-weight:800}
.holidays-chip.nacional{background:#f7efd9;border-color:#eddfb9;color:#755d2b}
.holidays-chip.estadual{background:#e5efdf;border-color:#cfe0c2;color:#436849}
.holidays-chip.municipal{background:#f0f0ec;border-color:#dfe2d6;color:#6a7161}
.holidays-chip.personalizado{background:#e8e4f0;border-color:#d5cee3;color:#5b5273}

/* ── Lista ─────────────────────────────────────────────────────── */
.holidays-month{margin-top:16px}
.holidays-month-title{display:flex;align-items:center;gap:8px;padding-bottom:8px;border-bottom:1px solid var(--line);margin-bottom:8px}
.holidays-month-title h3{font-size:13px;letter-spacing:-.01em}
.holidays-month-title span{font-size:10px;color:var(--muted)}
.holidays-month-title .badge{margin-left:auto}

.holiday-row{display:flex;gap:8px;align-items:flex-start;padding:4px;border:1px solid transparent;border-radius:9px;transition:background .18s,border-color .18s}
.holiday-row:hover{background:#f6f8f0;border-color:var(--line)}
/* O miolo clicável é um button próprio: a linha é um div para poder carregar
   os botões de editar e remover ao lado, sem HTML aninhado inválido. */
.holiday-row-open{display:flex;gap:12px;align-items:flex-start;flex:1;min-width:0;padding:8px;border:0;background:transparent;text-align:left;cursor:pointer;border-radius:6px}
.holiday-row-open:hover{background:transparent}
.holiday-date{width:44px;flex:none;text-align:center;padding:8px 4px;border-radius:8px;background:#f1f3e9}
.holiday-date b{display:block;font-family:var(--display);font-size:19px;line-height:1.1;letter-spacing:-.03em}
.holiday-date small{font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.holiday-row.nacional .holiday-date{background:#f7efd9}
.holiday-row.estadual .holiday-date{background:#e5efdf}
.holiday-row.municipal .holiday-date{background:#f0f0ec}
.holiday-row.personalizado .holiday-date{background:#e8e4f0}

.holiday-body{flex:1;min-width:0}
.holiday-body-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.holiday-body h4{font-family:var(--body);font-size:12px;font-weight:700;letter-spacing:-.15px;line-height:1.4}
.holiday-body p{font-size:11px;color:var(--muted);line-height:1.65;overflow-wrap:anywhere}
.holiday-region{font-size:9px;color:var(--muted);font-weight:700}

.holiday-ideas{display:flex;gap:4px;flex-wrap:wrap;margin-top:8px}
.holiday-idea{padding:4px 8px;border:1px dashed #d5dac9;border-radius:5px;background:transparent;font-size:9px;color:#5d6a4b}
.holiday-idea::before{content:'+ ';font-weight:800;opacity:.6}

.holiday-alert{margin-top:8px;padding:8px;border:1px solid #eddfb9;border-radius:6px;background:#fbf5e6;font-size:9px;color:#7a6329}

.holidays-row-actions{display:flex;gap:4px;flex:none;align-items:center;opacity:0;transition:opacity .18s}
.holiday-row:hover .holidays-row-actions,.holiday-row:focus-within .holidays-row-actions{opacity:1}
@media(hover:none){.holidays-row-actions{opacity:1}}

/* ── Origem dos dados ──────────────────────────────────────────── */
.holidays-sources{margin-top:16px;padding:12px 16px;border:1px solid var(--line);border-radius:8px;background:#f7f8f1}
.holidays-sources h4{font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.holidays-sources ul{list-style:none;padding:0;margin:0;display:grid;gap:4px}
.holidays-sources li{font-size:10px;color:var(--muted);display:flex;gap:8px;align-items:center}
.holidays-sources li b{color:var(--ink);font-weight:700}
.holidays-sources .dot{width:6px;height:6px;border-radius:50%;background:#92ab65;flex:none}

/* ── Busca de município ─────────────────────────────────────────── */
.muni-search{display:flex;gap:8px;align-items:flex-end;margin-bottom:12px}
.muni-search .field{flex:1}
.muni-results{max-height:236px;overflow:auto;border:1px solid var(--line);border-radius:9px}
.muni-result{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;transition:background .18s}
.muni-result:last-child{border-bottom:0}
.muni-result:hover{background:#f6f8f0}
.muni-result-uf{width:26px;height:26px;flex:none;display:grid;place-items:center;border-radius:6px;background:#e7ecd9;font-size:9px;font-weight:800;color:#4e6138}
.muni-result strong{font-size:12px;font-weight:700;display:block}
.muni-result small{font-size:9px;color:var(--muted)}
.muni-result .btn{margin-left:auto;flex:none}

/* ── Município escolhido ────────────────────────────────────────── */
.region-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.region-row:last-child{border-bottom:0}
.region-row-main{flex:1;min-width:0}
.region-row-main strong{font-size:12px;display:block}
.region-row-main small{font-size:9px;color:var(--muted);display:block;margin-top:4px}
.region-row-actions{display:flex;gap:4px;align-items:center;flex:none}
.region-flag{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--line);border-radius:5px;background:#f3f4ed;font-size:9px;font-weight:700;color:var(--muted)}
.region-flag.on{background:#e5efdf;border-color:#cfe0c2;color:#436849}
.region-flag .switch{width:26px;height:16px}
.region-flag .switch:before{width:11px;height:11px;top:2px;left:2px}
.region-flag .switch:checked:before{transform:translateX(10px)}

/* ── Estado vazio ───────────────────────────────────────────────── */
.holidays-empty{padding:24px;text-align:center;border:1px dashed #d5dac9;border-radius:9px;background:#fafbf6}
.holidays-empty .empty-symbol{font-size:34px;color:#9da98b;margin-bottom:8px}
.holidays-empty h3{font-size:15px;margin-bottom:8px}
.holidays-empty p{font-size:11px;color:var(--muted);line-height:1.7;max-width:440px;margin:0 auto 16px}

/* ── Carregando ─────────────────────────────────────────────────── */
.holidays-loading{display:flex;align-items:center;gap:8px;padding:24px;justify-content:center;font-size:11px;color:var(--muted)}
.holidays-loading::before{content:'';width:12px;height:12px;border:2px solid var(--line);border-top-color:#92ab65;border-radius:50%;animation:holidays-spin .7s linear infinite}
@keyframes holidays-spin{to{transform:rotate(360deg)}}

/* ── Detalhe do feriado ─────────────────────────────────────────── */
.holiday-detail-hero{display:flex;gap:16px;align-items:flex-start;padding:16px;border:1px solid var(--line);border-radius:10px;background:#f7f8f1;margin-bottom:16px}
.holiday-detail-date{width:60px;flex:none;text-align:center;padding:12px 8px;border-radius:9px;background:var(--paper);border:1px solid var(--line)}
.holiday-detail-date b{display:block;font-family:var(--display);font-size:30px;line-height:1;letter-spacing:-.04em}
.holiday-detail-date small{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.holiday-detail-hero h3{font-size:19px;margin-top:8px}
.holiday-detail-hero p{font-size:11px;color:var(--muted);line-height:1.75;margin-top:8px}

.holiday-detail-section{margin-top:16px}
.holiday-detail-section h4{font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.holiday-detail-section ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.holiday-detail-section li{display:flex;gap:8px;align-items:flex-start;font-size:11px;line-height:1.6}
.holiday-detail-section li::before{content:'';width:5px;height:5px;border-radius:50%;background:#92ab65;flex:none;margin-top:8px}

.holiday-create-cta{margin-top:16px;padding:12px 16px;border:1px solid #d5dac9;border-radius:9px;background:#f1f4e9}
.holiday-create-cta strong{font-size:11px;display:block;margin-bottom:4px}
.holiday-create-cta p{font-size:10px;color:var(--muted);line-height:1.6;margin-bottom:12px}

/* ── Responsivo ─────────────────────────────────────────────────── */
@media(max-width:960px){
  .day-holiday{font-size:7px;padding:4px}
  .holiday-row{padding:12px 8px}
  .holiday-date{width:40px}
}
@media(max-width:680px){
  .day-holiday{font-size:0;gap:0;padding:4px;justify-content:center}
  .day-holiday span{display:none}
  .day-holiday .day-holiday-more{display:none}
  .holidays-head{flex-direction:column;align-items:stretch}
  .holidays-actions .btn{flex:1}
  .holiday-date{width:36px;padding:8px 4px}
  .holiday-date b{font-size:16px}
  .holiday-ideas{display:none}
  .holiday-detail-hero{flex-direction:column;gap:12px}
  .holiday-detail-date{width:100%}
  .muni-search{flex-direction:column;align-items:stretch}
  .muni-search .field{width:100%}
}
@media(prefers-reduced-motion:reduce){.holidays-loading::before{animation:none}}
