.cg-wrap{--cg-num:#292729;--cg-grid:#999;--cg-holiday:#f5d5d5;--cg-sunday:#e93445;--cg-weekday:#292729;max-width:100%;font-family:Arial,Helvetica,sans-serif;color:#292729;box-sizing:border-box}
.cg-wrap *{box-sizing:border-box}
.cg-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:center;margin:0 0 12px}
.cg-toolbar button{padding:8px 12px;cursor:pointer}
.cg-stage{position:relative;margin:0 auto 16px;overflow:hidden;background:transparent;touch-action:pan-y;user-select:none}
.cg-stage.cg-a4.cg-portrait{width:min(100%,794px);aspect-ratio:210/297}
.cg-stage.cg-a3.cg-portrait{width:min(100%,1123px);aspect-ratio:297/420}
.cg-stage.cg-a4.cg-landscape{width:min(100%,1123px);aspect-ratio:297/210}
.cg-stage.cg-a3.cg-landscape{width:min(100%,1587px);aspect-ratio:420/297}
.cg-stage:not(:first-of-type){display:none}
.cg-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none}
.cg-page-content{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;padding:var(--cg-margin,1.7%)}
.cg-calendar-heading{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:end;gap:1%;margin-bottom:1%;min-height:var(--cg-header,8%)}
.cg-year-side{font-size:clamp(14px,5vw,42px);font-weight:900;line-height:.95;text-align:left;white-space:nowrap}
.cg-year-side:last-child{text-align:right}
.cg-month-title{text-align:center;font-weight:900;font-size:clamp(18px,5vw,42px);line-height:.95;margin:0;color:var(--cg-sunday);text-transform:uppercase;letter-spacing:-.03em}
.cg-table{width:100%;flex:1;min-height:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:auto repeat(6,minmax(0,1fr));gap:0;box-sizing:border-box;border-top:1px solid var(--cg-grid);border-left:1px solid var(--cg-grid);border-radius:clamp(4px,2vw,18px);overflow:hidden}
.cg-weekday,.cg-day{border-right:1px solid var(--cg-grid);border-bottom:1px solid var(--cg-grid);min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;text-align:center}
.cg-weekday{font-size:clamp(6px,1.45vw,15px);font-weight:900;color:var(--cg-weekday);background:rgba(225,225,228,.88);padding:2px 1px;text-transform:uppercase;white-space:nowrap}
.cg-weekday.cg-sunday{color:var(--cg-sunday)}
.cg-day{position:relative;flex-direction:column;background:transparent;color:var(--cg-num);overflow:hidden;padding:1px}
.cg-day.cg-holiday{background:var(--cg-holiday)}
.cg-day-number{font-size:var(--cg-number-size,28pt);line-height:.9;font-weight:900;letter-spacing:-.045em;color:var(--cg-num)}
.cg-day.cg-sunday .cg-day-number{color:var(--cg-sunday)}
.cg-day-label{font-size:var(--cg-label-size,5pt);font-weight:700;line-height:1.05;max-width:100%;overflow:hidden;overflow-wrap:anywhere;color:var(--cg-num);margin-top:2px}
.cg-empty{background:transparent}
.cg-wrap.cg-sheets .cg-stage{background:transparent}
.cg-month-nav{display:flex;gap:8px;justify-content:center;align-items:center;margin:12px 0}
.cg-no-print{margin:.5em 0 1em}
@media(max-width:600px){.cg-toolbar button{font-size:12px;padding:7px}.cg-month-title{font-size:clamp(15px,5vw,28px)}.cg-year-side{font-size:clamp(12px,4vw,24px)}.cg-weekday{font-size:clamp(5px,1.4vw,9px)}.cg-day-number{font-size:clamp(10px,4vw,24px)}.cg-day-label{font-size:4pt}}
@media print{
  @page{margin:0}
  html,body{margin:0!important;padding:0!important}
  body *{visibility:hidden!important}
  .cg-print-target,.cg-print-target *{visibility:visible!important}
  .cg-print-target{position:absolute!important;left:0!important;top:0!important;width:100%!important;margin:0!important;padding:0!important}
  .cg-toolbar,.cg-month-nav,.cg-no-print{display:none!important}
  .cg-stage{width:100%!important;height:auto!important;max-width:none!important;margin:0!important;overflow:hidden!important;break-after:page;page-break-after:always}
  .cg-stage:last-of-type{break-after:auto;page-break-after:auto}
  .cg-calendar-heading{min-height:var(--cg-header,8%)}
  .cg-month-title{font-size:26pt}
  .cg-year-side{font-size:26pt}
  .cg-weekday{font-size:9pt}
  .cg-day-number{font-size:var(--cg-print-number-size,17pt)!important}
  .cg-day-label{font-size:var(--cg-label-size,5pt)!important}
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
}

/* Gerador visível e utilizável dentro da página */
.cg-generator{display:flex;align-items:end;justify-content:center;gap:12px;flex-wrap:wrap;padding:18px;margin:0 auto 18px;background:#fff;border:1px solid #e4e7ec;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.06)}
.cg-generator label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:700;color:#29354d}
.cg-generator input,.cg-generator select{min-height:40px;min-width:100px;padding:7px 9px;border:1px solid #b9c0ca;border-radius:5px;background:#fff;color:#222;font-size:15px}
.cg-generator button{min-height:42px;padding:9px 15px;border:0;border-radius:6px;background:#24385e;color:#fff;font-weight:700;cursor:pointer}
.cg-generator .cg-generate-sheet{background:#c83245}
.cg-empty-state{max-width:900px;margin:16px auto;padding:30px 20px;text-align:center;border:2px dashed #cbd2dc;border-radius:12px;background:#fafbfc;color:#26344b}
.cg-empty-state strong{font-size:20px}
.cg-empty-state p{margin:8px 0 0}
.cg-calendar-heading{flex:0 0 var(--cg-header,8%);min-height:0}
.cg-stage{display:none}
.cg-stage.cg-active{display:flex}
.cg-page-content{width:100%;height:100%}
.cg-table{flex:1}
@media print{
  .cg-print-target .cg-stage{display:flex!important;width:100%!important;height:100vh!important;max-width:none!important;aspect-ratio:auto!important;break-after:page!important;page-break-after:always!important}
  .cg-print-target:not(.cg-print-all) .cg-stage:not(.cg-print-current){display:none!important}
  .cg-print-target.cg-print-all .cg-stage{display:flex!important}
  .cg-print-target .cg-page-content{height:100%;width:100%}
  .cg-print-target .cg-table{flex:1}
}

/* Composição fiel ao modelo de referência: cabeçalho, grade e rodapé com três painéis */
.cg-calendar-heading{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:end;gap:1%;flex:0 0 var(--cg-header,8%);min-height:0;margin-bottom:1%;border-bottom:1px solid var(--cg-grid);padding-bottom:.5%}
.cg-year-side{font-size:clamp(18px,4.8vw,42px);font-weight:900;line-height:.95;text-align:left;white-space:nowrap;color:var(--cg-num)}
.cg-year-side:last-child{text-align:right}
.cg-month-title{font-size:clamp(18px,4.8vw,42px);color:var(--cg-sunday);text-align:center;font-weight:900}
.cg-table{flex:1 1 auto;min-height:0;grid-template-rows: auto repeat(6,minmax(0,1fr))}
.cg-day.cg-red .cg-day-number{color:var(--cg-sunday)}
.cg-day.cg-holiday{background:var(--cg-holiday)}
.cg-moon-cell{gap:3px;background:transparent}
.cg-moon-icon{font-size:clamp(20px,3.5vw,48px);line-height:1;color:#292729;font-weight:400}
.cg-moon-label{font-size:clamp(7px,1.2vw,13px);font-weight:900;line-height:1.05;color:#292729;text-transform:uppercase}
.cg-footer-panels{display:grid;grid-template-columns:1fr 1.05fr 1fr;gap:1%;flex:0 0 21%;min-height:0;margin-top:1%;overflow:hidden}
.cg-mini-month,.cg-notes-panel{border:1px solid var(--cg-grid);border-radius:0;min-width:0;min-height:0;overflow:hidden;background:rgba(255,255,255,.55);display:flex;flex-direction:column}
.cg-mini-heading{display:flex;justify-content:space-between;align-items:center;gap:3px;padding:2px 4px;color:var(--cg-num);font-size:clamp(7px,1.3vw,15px);font-weight:900}
.cg-mini-heading strong{color:var(--cg-sunday);text-transform:uppercase;white-space:nowrap}
.cg-mini-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:auto repeat(6,minmax(0,1fr));flex:1;min-height:0}
.cg-mini-weekday,.cg-mini-day{display:flex;align-items:center;justify-content:center;border-top:1px solid #b4b4b4;border-right:1px solid #d0d0d0;min-width:0;min-height:0;font-size:clamp(5px,.9vw,10px);line-height:1;font-weight:700;overflow:hidden}
.cg-mini-weekday{font-size:clamp(4px,.75vw,9px);font-weight:900}
.cg-mini-weekday.cg-sunday,.cg-mini-day.cg-red{color:var(--cg-sunday)}
.cg-mini-day.cg-mini-empty{background:transparent}
.cg-notes-title{text-align:center;font-size:clamp(8px,1.4vw,16px);font-weight:900;padding:2px 3px;border-bottom:1px solid var(--cg-grid)}
.cg-note-lines{display:flex;flex-direction:column;justify-content:space-evenly;flex:1;padding:0 5%}
.cg-note-lines i{display:block;border-bottom:1px solid #777;height:1px}
.cg-notes-holiday{min-height:10%;text-align:center;font-size:clamp(5px,.75vw,9px);font-weight:800;color:var(--cg-sunday);padding:1px 3px;overflow:hidden}
@media(max-width:600px){
 .cg-footer-panels{gap:2px}
 .cg-mini-heading{font-size:7px;padding:1px}
 .cg-mini-weekday{font-size:4px}
 .cg-mini-day{font-size:5px}
 .cg-notes-title{font-size:8px}
 .cg-moon-icon{font-size:18px}
 .cg-moon-label{font-size:6px}
}
@media print{
 .cg-calendar-heading{flex:0 0 var(--cg-header,8%)}
 .cg-table{flex:1 1 auto}
 .cg-footer-panels{flex:0 0 21%;break-inside:avoid}
 .cg-year-side{font-size:26pt}
 .cg-month-title{font-size:26pt}
 .cg-moon-icon{font-size:28pt}
 .cg-moon-label{font-size:7pt}
 .cg-mini-heading{font-size:10pt}
 .cg-mini-weekday{font-size:5.5pt}
 .cg-mini-day{font-size:7pt}
 .cg-notes-title{font-size:10pt}
 .cg-notes-holiday{font-size:5.5pt}
}

/* v0.6.0 — grade compacta e alinhada para preservar o rodapé em uma página */
.cg-stage{display:none!important}
.cg-stage.cg-active{display:flex!important}
.cg-page-content{display:flex!important;flex-direction:column!important;gap:0!important;inset:0!important;padding:var(--cg-margin,1.7%)!important;overflow:hidden}
.cg-calendar-heading{display:grid!important;grid-template-columns:1fr 2fr 1fr!important;align-items:end!important;flex:0 0 8%!important;height:8%!important;min-height:0!important;margin:0 0 .8%!important;padding:0 0 .5%!important}
.cg-year-side{font-size:clamp(18px,4.8vw,42px)!important;line-height:.9!important;font-weight:900!important}
.cg-month-title{font-size:clamp(18px,4.8vw,42px)!important;line-height:.9!important;margin:0!important}
.cg-table{flex:1 1 0!important;min-height:0!important;grid-template-rows:7% repeat(6,minmax(0,1fr))!important;border-radius:12px!important}
.cg-weekday{font-size:clamp(6px,1.35vw,14px)!important;line-height:1!important}
.cg-day{padding:0!important;gap:1px!important}
.cg-day-number{font-size:var(--cg-number-size,28pt)!important;line-height:.82!important;font-weight:900!important}
.cg-day-index{display:block;font-size:clamp(5px,.8vw,9px);line-height:1;font-weight:800;color:var(--cg-sunday);margin-top:1px}
.cg-day.cg-red .cg-day-number{color:var(--cg-sunday)!important}
.cg-day-label{font-size:var(--cg-label-size,5pt)!important;line-height:1!important;margin-top:1px!important;max-width:96%!important}
.cg-footer-panels{display:grid!important;grid-template-columns:1fr 1.05fr 1fr!important;gap:.8%!important;flex:0 0 21%!important;height:21%!important;min-height:0!important;margin-top:1%!important;overflow:hidden!important}
.cg-mini-month,.cg-notes-panel{height:100%!important}
.cg-mini-grid{grid-template-rows:12% repeat(6,minmax(0,1fr))!important}
.cg-mini-heading{flex:0 0 15%!important;font-size:clamp(7px,1.15vw,13px)!important}
.cg-mini-weekday{font-size:clamp(4px,.65vw,8px)!important}
.cg-mini-day{font-size:clamp(5px,.75vw,9px)!important}
.cg-notes-title{flex:0 0 15%!important;font-size:clamp(8px,1.25vw,14px)!important}
.cg-note-lines{flex:1 1 auto!important}
.cg-notes-holiday{flex:0 0 12%!important;min-height:0!important}
.cg-moon-icon{font-size:clamp(20px,3vw,42px)!important}
.cg-moon-label{font-size:clamp(6px,1vw,11px)!important}
@media print{
 .cg-stage{display:none!important}
 .cg-print-target .cg-stage.cg-active{display:flex!important}
 .cg-print-target.cg-print-all .cg-stage{display:flex!important}
 .cg-print-target .cg-calendar-heading{flex:0 0 8%!important;height:8%!important}
 .cg-print-target .cg-table{flex:1 1 0!important}
 .cg-print-target .cg-footer-panels{flex:0 0 21%!important;height:21%!important}
 .cg-print-target .cg-day-number{font-size:var(--cg-print-number-size,26pt)!important}
 .cg-print-target .cg-day-index{font-size:6pt!important}
 .cg-print-target .cg-mini-heading{font-size:8pt!important}
 .cg-print-target .cg-mini-weekday{font-size:5pt!important}
 .cg-print-target .cg-mini-day{font-size:6pt!important}
}

/* v0.7.0 — folha quadrada de 22 × 22 cm e cores separadas para domingos/feriados */
.cg-stage.cg-square22{width:min(100%,830px)!important;aspect-ratio:1/1!important}
.cg-day.cg-holiday-number .cg-day-number{color:var(--cg-holiday-number,#e93445)!important}
.cg-mini-day.cg-mini-holiday{color:var(--cg-holiday-number,#e93445)!important}
@media print{
 .cg-stage.cg-square22{width:22cm!important;height:22cm!important;aspect-ratio:auto!important;max-width:none!important}
 .cg-print-target .cg-stage.cg-square22{width:22cm!important;height:22cm!important}
}

/* v0.8.0 — template oficial “Folhinha Clássica”: layout geométrico sem sobreposição */
.cg-wrap[data-template="folhinha-classica-v1"] .cg-stage{
  position:relative!important;
  display:none!important;
  aspect-ratio:1/1!important;
  width:min(100%,900px)!important;
  height:auto!important;
  margin:0 auto 16px!important;
  overflow:hidden!important;
  background:#fff!important;
  border:0!important;
}
.cg-wrap[data-template="folhinha-classica-v1"] .cg-stage.cg-active{display:block!important}
.cg-wrap[data-template="folhinha-classica-v1"] .cg-page-content{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  display:grid!important;
  grid-template-rows:9% minmax(0,1fr) 21%!important;
  gap:1%!important;
  padding:1.5%!important;
  overflow:hidden!important;
}
.cg-wrap[data-template="folhinha-classica-v1"] .cg-calendar-heading{
  display:grid!important;grid-template-columns:1fr 1.5fr 1fr!important;
  align-items:center!important;min-height:0!important;height:100%!important;
  flex:none!important;margin:0!important;padding:0 1%!important;border:0!important;
}
.cg-wrap[data-template="folhinha-classica-v1"] .cg-year-side{
  font-size:clamp(18px,4.2vw,44px)!important;font-weight:900!important;line-height:.9!important;
}
.cg-wrap[data-template="folhinha-classica-v1"] .cg-month-title{
  font-size:clamp(18px,4.4vw,46px)!important;line-height:.9!important;margin:0!important;
  font-weight:900!important;text-align:center!important;color:#e93445!important;
}
.cg-wrap[data-template="folhinha-classica-v1"] .cg-table{
  display:grid!important;position:relative!important;width:100%!important;height:100%!important;
  min-height:0!important;max-height:100%!important;flex:none!important;
  grid-template-columns:5.5% repeat(7,minmax(0,1fr))!important;
  grid-template-rows:7% repeat(6,minmax(0,1fr))!important;
  overflow:hidden!important;border:1.5px solid var(--cg-grid,#292929)!important;border-radius:10px!important;
}
.cg-wrap[data-template="folhinha-classica-v1"] .cg-weekday,
.cg-wrap[data-template="folhinha-classica-v1"] .cg-week-number,
.cg-wrap[data-template="folhinha-classica-v1"] .cg-day{
  min-width:0!important;min-height:0!important;max-width:none!important;
  border-right:1px solid var(--cg-grid,#292929)!important;
  border-bottom:1px solid var(--cg-grid,#292929)!important;
}
.cg-wrap[data-template="folhinha-classica-v1"] .cg-weekday{
  display:flex!important;align-items:center!important;justify-content:center!important;
  padding:0!important;font-size:clamp(5px,1.05vw,14px)!important;line-height:1!important;
  font-weight:900!important;background:#f1f1f1!important;white-space:nowrap!important;
}
.cg-wrap[data-template="folhinha-classica-v1"] .cg-week-number{
  display:flex!important;align-items:center!important;justify-content:center!important;
  font-size:clamp(7px,1.2vw,16px)!important;font-weight:800!important;background:#fff!important;
}
.cg-wrap[data-template="folhinha-classica-v1"] .cg-week-number-heading{font-size:clamp(5px,.9vw,12px)!important}
.cg-wrap[data-template="folhinha-classica-v1"] .cg-day{
  position:relative!important;display:flex!important;flex-direction:column!important;
  align-items:center!important;justify-content:center!important;gap:0!important;
  padding:1px!important;overflow:hidden!important;background:transparent!important;
}
.cg-wrap[data-template="folhinha-classica-v1"] .cg-day-ordinal{
  position:absolute!important;top:2px!important;left:3px!important;
  font-size:clamp(5px,.72vw,9px)!important;line-height:1!important;font-weight:700!important;
  color:#222!important;align-self:auto!important;
}
.cg-wrap[data-template="folhinha-classica-v1"] .cg-day-number{
  font-size:clamp(20px,5vw,64px)!important;line-height:.82!important;letter-spacing:-.045em!important;
  font-weight:900!important;color:var(--cg-num,#292729)!important;
}
.cg-wrap[data-template="folhinha-classica-v1"] .cg-day.cg-red .cg-day-number,
.cg-wrap[data-template="folhinha-classica-v1"] .cg-day.cg-holiday-number .cg-day-number{
  color:var(--cg-holiday-number,#e93445)!important;
}
.cg-wrap[data-template="folhinha-classica-v1"] .cg-day.cg-holiday{background:var(--cg-holiday,#f5d5d5)!important}
.cg-wrap[data-template="folhinha-classica-v1"] .cg-day-label{
  max-width:95%!important;margin-top:3px!important;text-align:center!important;
  font-size:clamp(4px,.62vw,8px)!important;line-height:1.05!important;overflow-wrap:anywhere!important;
}
.cg-wrap[data-template="folhinha-classica-v1"] .cg-moon-cell{gap:2px!important;background:transparent!important}
.cg-wrap[data-template="folhinha-classica-v1"] .cg-moon-label{font-size:clamp(6px,1vw,13px)!important;font-weight:900!important}
.cg-wrap[data-template="folhinha-classica-v1"] .cg-moon-icon{font-size:clamp(17px,2.6vw,34px)!important;line-height:.9!important}
.cg-wrap[data-template="folhinha-classica-v1"] .cg-moon-date{font-size:clamp(8px,1.35vw,17px)!important;font-weight:800!important;line-height:1!important}
.cg-wrap[data-template="folhinha-classica-v1"] .cg-footer-panels{
  display:grid!important;grid-template-columns:1fr 1.05fr 1fr!important;gap:1%!important;
  min-height:0!important;height:100%!important;max-height:100%!important;
  flex:none!important;margin:0!important;overflow:hidden!important;
}
.cg-wrap[data-template="folhinha-classica-v1"] .cg-mini-month,
.cg-wrap[data-template="folhinha-classica-v1"] .cg-notes-panel{
  display:flex!important;flex-direction:column!important;height:100%!important;min-height:0!important;
  overflow:hidden!important;border:1px solid var(--cg-grid,#292929)!important;border-radius:7px!important;
  background:transparent!important;
}
.cg-wrap[data-template="folhinha-classica-v1"] .cg-mini-heading{
  display:flex!important;justify-content:space-between!important;align-items:center!important;
  flex:0 0 13%!important;min-height:0!important;padding:1px 3px!important;font-size:clamp(6px,.95vw,12px)!important;
}
.cg-wrap[data-template="folhinha-classica-v1"] .cg-mini-grid{
  display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;
  grid-template-rows:12% repeat(6,minmax(0,1fr))!important;flex:1!important;min-height:0!important;
}
.cg-wrap[data-template="folhinha-classica-v1"] .cg-mini-weekday,
.cg-wrap[data-template="folhinha-classica-v1"] .cg-mini-day{
  display:flex!important;align-items:center!important;justify-content:center!important;
  min-width:0!important;min-height:0!important;padding:0!important;line-height:1!important;
  font-size:clamp(5px,.72vw,9px)!important;
}
.cg-wrap[data-template="folhinha-classica-v1"] .cg-mini-weekday{font-size:clamp(4px,.62vw,8px)!important;font-weight:900!important}
.cg-wrap[data-template="folhinha-classica-v1"] .cg-mini-day.cg-red,
.cg-wrap[data-template="folhinha-classica-v1"] .cg-mini-day.cg-mini-holiday{color:var(--cg-holiday-number,#e93445)!important}
.cg-wrap[data-template="folhinha-classica-v1"] .cg-notes-title{
  flex:0 0 14%!important;min-height:0!important;padding:2px!important;font-size:clamp(7px,1.1vw,14px)!important;
}
.cg-wrap[data-template="folhinha-classica-v1"] .cg-note-lines{flex:1!important;justify-content:space-evenly!important;padding:0 5%!important}
.cg-wrap[data-template="folhinha-classica-v1"] .cg-notes-holiday{flex:0 0 12%!important;min-height:0!important;font-size:clamp(4px,.62vw,8px)!important}
@media(max-width:600px){
 .cg-wrap[data-template="folhinha-classica-v1"] .cg-page-content{grid-template-rows:9% minmax(0,1fr) 21%!important;gap:.7%!important;padding:1%!important}
 .cg-wrap[data-template="folhinha-classica-v1"] .cg-day-number{font-size:clamp(17px,5vw,30px)!important}
 .cg-wrap[data-template="folhinha-classica-v1"] .cg-day-ordinal{font-size:5px!important;top:1px!important;left:1px!important}
 .cg-wrap[data-template="folhinha-classica-v1"] .cg-weekday{font-size:5px!important}
 .cg-wrap[data-template="folhinha-classica-v1"] .cg-mini-heading{font-size:6px!important}
 .cg-wrap[data-template="folhinha-classica-v1"] .cg-mini-day{font-size:5px!important}
}
@media print{
 @page{margin:0}
 .cg-wrap[data-template="folhinha-classica-v1"] .cg-stage.cg-square22{
   display:none!important;width:22cm!important;height:22cm!important;max-width:none!important;aspect-ratio:auto!important;
   margin:0!important;break-after:page!important;page-break-after:always!important;
 }
 .cg-wrap[data-template="folhinha-classica-v1"].cg-print-target .cg-stage.cg-active,
 .cg-wrap[data-template="folhinha-classica-v1"].cg-print-target.cg-print-all .cg-stage{
   display:block!important;width:22cm!important;height:22cm!important;max-width:none!important;aspect-ratio:auto!important;
   margin:0!important;overflow:hidden!important;break-after:page!important;page-break-after:always!important;
 }
 .cg-wrap[data-template="folhinha-classica-v1"].cg-print-target .cg-page-content{
   grid-template-rows:9% minmax(0,1fr) 21%!important;gap:1%!important;padding:1.5%!important;
 }
 .cg-wrap[data-template="folhinha-classica-v1"].cg-print-target .cg-day-number{font-size:42pt!important}
 .cg-wrap[data-template="folhinha-classica-v1"].cg-print-target .cg-day-ordinal{font-size:6pt!important}
 .cg-wrap[data-template="folhinha-classica-v1"].cg-print-target .cg-weekday{font-size:8pt!important}
 .cg-wrap[data-template="folhinha-classica-v1"].cg-print-target .cg-week-number{font-size:9pt!important}
}

/* v0.9.0 — dimensões físicas editáveis para mini, mesa e parede */
.cg-stage.custom-size{width:min(100%,900px)!important;aspect-ratio:var(--cg-custom-width,7cm)/var(--cg-custom-height,7cm)!important;height:auto!important}
.cg-stage.square22{width:min(100%,900px)!important;aspect-ratio:1/1!important}
.cg-stage .cg-wall-art{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:0!important;object-fit:cover!important}
.cg-stage.custom-size .cg-page-content{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
@media print{
 .cg-stage.custom-size{width:var(--cg-custom-width,7cm)!important;height:var(--cg-custom-height,7cm)!important;max-width:none!important;aspect-ratio:auto!important;margin:0!important;break-after:page!important;page-break-after:always!important}
 .cg-wrap[data-template="folhinha-classica-v1"] .cg-stage.custom-size .cg-page-content{padding:1.5%!important;grid-template-rows:9% minmax(0,1fr) 21%!important;gap:1%!important}
 .cg-stage.custom-size .cg-year-side,.cg-stage.custom-size .cg-month-title{font-size:calc(var(--cg-custom-width,7cm) * .08)!important}
 .cg-stage.custom-size .cg-day-number{font-size:calc(var(--cg-custom-width,7cm) * .16)!important}
 .cg-stage.custom-size .cg-day-ordinal{font-size:calc(var(--cg-custom-width,7cm) * .022)!important}
 .cg-stage.custom-size .cg-weekday{font-size:calc(var(--cg-custom-width,7cm) * .025)!important}
 .cg-stage.custom-size .cg-footer-panels{gap:.7%!important}
 .cg-stage.custom-size .cg-mini-heading{font-size:calc(var(--cg-custom-width,7cm) * .025)!important}
 .cg-stage.custom-size .cg-mini-day{font-size:calc(var(--cg-custom-width,7cm) * .02)!important}
 .cg-stage.custom-size .cg-notes-title{font-size:calc(var(--cg-custom-width,7cm) * .028)!important}
}

/* v1.1.0 — fidelidade cromática na impressão/PDF */
.cg-wrap[data-color-mode="exact"] .cg-day-number,
.cg-wrap[data-color-mode="exact"] .cg-mini-day,
.cg-wrap[data-color-mode="exact"] .cg-weekday,
.cg-wrap[data-color-mode="exact"] .cg-year-side,
.cg-wrap[data-color-mode="exact"] .cg-month-title,
.cg-wrap[data-color-mode="exact"] .cg-day-ordinal,
.cg-wrap[data-color-mode="exact"] .cg-day-label{
  -webkit-print-color-adjust:exact!important;
  print-color-adjust:exact!important;
  color-adjust:exact!important;
}
.cg-wrap[data-color-mode="exact"] .cg-day.cg-red .cg-day-number,
.cg-wrap[data-color-mode="exact"] .cg-mini-day.cg-red,
.cg-wrap[data-color-mode="exact"] .cg-mini-weekday.cg-sunday{
  color:var(--cg-sunday,#e93445)!important;
  -webkit-text-fill-color:var(--cg-sunday,#e93445)!important;
}
.cg-wrap[data-color-mode="exact"] .cg-day.cg-holiday-number .cg-day-number,
.cg-wrap[data-color-mode="exact"] .cg-mini-day.cg-mini-holiday{
  color:var(--cg-holiday-number,#e93445)!important;
  -webkit-text-fill-color:var(--cg-holiday-number,#e93445)!important;
}
.cg-wrap[data-color-mode="exact"] .cg-day.cg-holiday{
  background-color:var(--cg-holiday,#f5d5d5)!important;
  -webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;
}
@media print{
  html,body,#page,#content,.site,.site-content,.entry-content{
    -webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;
    color-adjust:exact!important;
  }
  .cg-wrap[data-color-mode="exact"],
  .cg-wrap[data-color-mode="exact"] *{
    -webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;
    color-adjust:exact!important;
  }
  .cg-wrap[data-color-mode="exact"] .cg-day.cg-red .cg-day-number,
  .cg-wrap[data-color-mode="exact"] .cg-mini-day.cg-red,
  .cg-wrap[data-color-mode="exact"] .cg-mini-weekday.cg-sunday{
    color:var(--cg-sunday,#e93445)!important;
    -webkit-text-fill-color:var(--cg-sunday,#e93445)!important;
  }
  .cg-wrap[data-color-mode="exact"] .cg-day.cg-holiday-number .cg-day-number,
  .cg-wrap[data-color-mode="exact"] .cg-mini-day.cg-mini-holiday{
    color:var(--cg-holiday-number,#e93445)!important;
    -webkit-text-fill-color:var(--cg-holiday-number,#e93445)!important;
  }
  .cg-wrap[data-color-mode="exact"] .cg-day.cg-holiday{
    background-color:var(--cg-holiday,#f5d5d5)!important;
  }
}

/* v1.2.0 — calendário de parede anual, 12 meses numa única folha */
.cg-wall-poster{width:var(--cg-poster-w,21cm);height:var(--cg-poster-h,29.7cm);max-width:100%;margin:0 auto;background:#fff;color:#111;box-sizing:border-box;padding:0.35cm;display:flex;flex-direction:column;gap:0.12cm;overflow:hidden;font-family:Arial,Helvetica,sans-serif}
.cg-wall-poster-header{height:var(--cg-poster-header,5cm);min-height:var(--cg-poster-header,5cm);border:1px solid #18275d;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}
.cg-wall-poster-logo{max-width:98%;max-height:96%;width:auto;height:auto;object-fit:contain}
.cg-wall-logo-placeholder{font-size:12pt;color:#555;text-align:center}
.cg-wall-poster-year{text-align:center;font-weight:900;font-size:22pt;line-height:1;color:#18275d;border-bottom:2px solid #18275d;padding:0.06cm 0}
.cg-wall-poster-months{flex:1;min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:0.13cm}
.cg-wall-month{min-width:0;min-height:0;border:1px solid #27366b;border-radius:0.2cm;padding:0.06cm;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}
.cg-wall-month h3{margin:0;text-align:center;color:#e9232f;font-size:7pt;line-height:1.2;font-weight:900}
.cg-wall-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));font-size:4.5pt;font-weight:700;text-align:center;border-bottom:1px solid #777}
.cg-wall-weekdays span{min-width:0}
.cg-wall-days{flex:1;min-height:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(6,minmax(0,1fr));font-size:5.4pt;text-align:center}
.cg-wall-days span{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;border-right:.25px solid #ddd;border-bottom:.25px solid #ddd}
.cg-wall-red{color:#ed1c24!important;font-weight:800}
@media print{
 @page{margin:0}
 .cg-wall-poster{width:var(--cg-poster-w)!important;height:var(--cg-poster-h)!important;max-width:none!important;margin:0!important;padding:.35cm!important;break-after:page;page-break-after:always;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
 .cg-wall-poster-header{height:var(--cg-poster-header)!important;min-height:var(--cg-poster-header)!important}
 .cg-wall-poster-months{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-template-rows:repeat(4,minmax(0,1fr))!important}
 .cg-wall-month h3{font-size:7pt!important}
 .cg-wall-weekdays{font-size:4.5pt!important}
 .cg-wall-days{font-size:5.4pt!important}
 .cg-wall-red{color:#ed1c24!important;-webkit-text-fill-color:#ed1c24!important}
}

/* v1.2.1 — corrige posicionamento do cabeçalho: ano esquerda, mês centro, ano direita */
.cg-stage .cg-calendar-heading{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr)!important;
  grid-template-rows:1fr!important;
  align-items:center!important;
  justify-items:stretch!important;
}
.cg-stage .cg-calendar-heading > .cg-year-side:first-child{
  grid-column:1!important;grid-row:1!important;
  justify-self:start!important;text-align:left!important;
  white-space:nowrap!important;min-width:0!important;
}
.cg-stage .cg-calendar-heading > .cg-month-title{
  grid-column:2!important;grid-row:1!important;
  justify-self:stretch!important;text-align:center!important;
  width:100%!important;min-width:0!important;
}
.cg-stage .cg-calendar-heading > .cg-year-side:last-child{
  grid-column:3!important;grid-row:1!important;
  justify-self:end!important;text-align:right!important;
  white-space:nowrap!important;min-width:0!important;
}

/* v1.3.0 — estilos de impressão para mini bloco calendário de geladeira 5 × 4,4 cm */

/* v1.3.1 — preservação reforçada das cores na impressão e no PDF */
@media print {
  html, body, body * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    color-adjust: exact !important;
  }
  .cg-wrap, .cg-wrap * ,
  .cg-wall-poster, .cg-wall-poster * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    color-adjust: exact !important;
    opacity: 1 !important;
    filter: none !important;
    mix-blend-mode: normal !important;
  }
  .cg-wrap .cg-month-title,
  .cg-wrap .cg-weekday.cg-sunday,
  .cg-wrap .cg-day.cg-sunday .cg-day-number,
  .cg-wrap .cg-day.cg-holiday-number .cg-day-number,
  .cg-wrap .cg-mini-weekday.cg-sunday,
  .cg-wrap .cg-mini-day.cg-red,
  .cg-wrap .cg-mini-day.cg-mini-holiday,
  .cg-wall-poster .cg-wall-red,
  .cg-wall-poster .cg-wall-month h3 {
    color: #e9232f !important;
    -webkit-text-fill-color: #e9232f !important;
  }
  .cg-wrap .cg-day.cg-holiday {
    background: #f5d5d5 !important;
    background-color: #f5d5d5 !important;
  }
  .cg-wrap .cg-weekday {
    background: #e1e1e4 !important;
    background-color: #e1e1e4 !important;
  }
  .cg-wrap .cg-art,
  .cg-wrap img,
  .cg-wall-poster img {
    print-color-adjust: exact !important;
    -webkit-print-color-adjust: exact !important;
  }
}

/* v1.3.2 — colors applied to actual elements as a fallback for print engines */
@media print {
  .cg-wall-poster .cg-wall-red,
  .cg-wall-poster .cg-wall-month h3,
  .cg-wrap .cg-month-title,
  .cg-wrap .cg-weekday.cg-sunday,
  .cg-wrap .cg-day.cg-sunday .cg-day-number,
  .cg-wrap .cg-day.cg-holiday-number .cg-day-number,
  .cg-wrap .cg-mini-weekday.cg-sunday,
  .cg-wrap .cg-mini-day.cg-red,
  .cg-wrap .cg-mini-day.cg-mini-holiday {
    color: #e9232f !important;
    -webkit-text-fill-color: #e9232f !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .cg-wrap .cg-day.cg-holiday {
    background-color: #f5d5d5 !important;
    background-image: none !important;
  }
}

/* v1.3.3 — seletores alinhados às classes realmente emitidas pelo gerador */
@media print {
  .cg-wrap .cg-month-title,
  .cg-wrap .cg-weekday.cg-sunday,
  .cg-wrap .cg-day.cg-red .cg-day-number,
  .cg-wrap .cg-day.cg-holiday-number .cg-day-number,
  .cg-wrap .cg-day.cg-holiday .cg-day-label,
  .cg-wrap .cg-mini-weekday.cg-sunday,
  .cg-wrap .cg-mini-day.cg-red,
  .cg-wrap .cg-mini-day.cg-mini-holiday,
  .cg-wall-poster .cg-wall-red,
  .cg-wall-poster .cg-wall-month h3 {
    color: #e9232f !important;
    -webkit-text-fill-color: #e9232f !important;
    opacity: 1 !important;
    filter: none !important;
    mix-blend-mode: normal !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  .cg-wrap .cg-day.cg-holiday {
    background: #f5d5d5 !important;
    background-color: #f5d5d5 !important;
  }
}
