/* Calendários completos, sem corte da arte ou da grade de datas. */
.month-gallery{padding-block:80px;scroll-margin-top:125px;min-width:0}
.month-gallery .month-heading{margin-bottom:24px}
.month-gallery .month-heading .eyebrow{margin:0 0 8px}
.month-gallery .month-heading>p:last-child{font-size:1.125rem;line-height:1.6;margin:0;color:#4e5f68}
.month-gallery .calendar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 18px;list-style:none;padding:0;margin:0}
.month-gallery .calendar-grid>li{min-width:0}
.month-gallery .calendar-month{display:block;text-decoration:none;color:#062b50;background:white;border:1px solid #ddd8c9;border-radius:12px;overflow:hidden;transition:box-shadow .18s,border-color .18s;cursor:zoom-in}
.month-gallery .calendar-month:hover{border-color:#9b7d3d;box-shadow:0 8px 22px #062b5015}
.month-gallery .calendar-month img{display:block;width:100%;height:auto;aspect-ratio:1055/1491;object-fit:contain;background:#f4f1e7}
.month-gallery .calendar-month-caption{display:grid;gap:2px;padding:13px 14px;border-top:1px solid #e7e1d3;font-size:1rem;line-height:1.4}
.month-gallery .calendar-month-name{font-size:.875rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#8a6a25}
.month-gallery .calendar-month-caption b{font-size:1.125rem;color:#062b50}
.month-gallery .calendar-month-caption small{font-size:.9375rem;color:#5e7138}
.month-gallery .calendar-month-note{font-size:.9375rem;font-style:italic;color:#4e5f68}
.month-gallery .month-dialog{padding:20px;background:#fffdf8;color:#16324c;border:1px solid #d3d9d7;border-radius:16px;width:min(94vw,1050px);max-width:94vw;max-height:94dvh;overflow:auto}
.month-gallery .month-dialog::backdrop{background:#031b2ee8}
.month-gallery .month-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.month-gallery .month-dialog-title{margin:0;font-size:1.25rem;font-weight:700;line-height:1.4}
.month-gallery .month-close{display:flex;align-items:center;gap:10px;background:#062b50;color:#fffdf8;border:0;border-radius:8px;min-height:48px;padding:10px 14px;font:650 1rem/1.4 var(--sans);cursor:pointer}
.month-gallery .month-close span{font-size:1.5rem}
.month-gallery .month-dialog-image{display:block;margin:0 auto;max-width:100%;max-height:65dvh;width:auto;height:auto;object-fit:contain}
.month-gallery .month-dialog-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px}
.month-gallery .month-step{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:10px 14px;background:#f4f1e7;color:#062b50;border:1px solid #d6d5c9;border-radius:8px;font:650 1rem/1.4 var(--sans);cursor:pointer}
.month-gallery .month-original{color:#244f75;font-size:1rem;text-underline-offset:4px;min-height:48px;display:inline-flex;align-items:center;text-align:center;line-height:1.4}
@media(max-width:760px){
 .month-gallery{scroll-margin-top:110px;padding-block:52px}
 .month-gallery .calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}
 [data-large-text=true] .month-gallery .calendar-grid{grid-template-columns:1fr}
 .month-gallery .calendar-month-caption{font-size:1rem;padding:11px 10px}
 .month-gallery .month-dialog{padding:14px;width:calc(100vw - 20px);max-width:calc(100vw - 20px)}
 .month-gallery .month-dialog-title{font-size:1.125rem}
 .month-gallery .month-dialog-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px}
 .month-gallery .month-original{grid-column:1/-1;grid-row:2;justify-content:center}
 .month-gallery .month-step{padding-inline:10px;font-size:.9375rem}
}
@media(prefers-reduced-motion:reduce){.month-gallery .calendar-month{transition:none}}
/* Carrossel horizontal em loop: o JS duplica os meses e adiciona .is-marquee. Sem JS, fica a grade acima. */
.month-gallery.is-marquee .month-marquee{overflow:hidden;padding:14px 0 22px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.month-gallery.is-marquee .calendar-grid{display:flex;width:max-content;gap:0;animation:month-marquee 90s linear infinite}
.month-gallery.is-marquee .calendar-grid>li{flex:0 0 284px;padding-inline-end:24px}
.month-gallery.is-marquee .calendar-month{height:100%;border:0;border-radius:18px;background:#fffdf8;box-shadow:0 1px 2px #062b5010,0 12px 30px #062b5014;transition:transform .3s ease,box-shadow .3s ease}
.month-gallery.is-marquee .calendar-month:hover,.month-gallery.is-marquee .calendar-month:focus-visible{transform:translateY(-6px);box-shadow:0 2px 4px #062b5014,0 22px 44px #062b5024}
.month-gallery.is-marquee .calendar-month img{background:#f4f1e7}
.month-gallery.is-marquee .calendar-month-caption{border-top:0;padding:16px 18px 18px;gap:4px}
.month-gallery.is-marquee .calendar-month-name{display:flex;align-items:center;gap:10px}
.month-gallery.is-marquee .calendar-month-name::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,#c9a85a,transparent)}
.month-gallery.is-marquee .month-marquee:hover .calendar-grid,.month-gallery.is-marquee .month-marquee:focus-within .calendar-grid,.month-gallery.is-paused .calendar-grid{animation-play-state:paused}
@keyframes month-marquee{to{transform:translateX(-50%)}}
.month-gallery .month-marquee-controls{display:flex;justify-content:center;margin-top:4px}
.month-gallery .month-marquee-controls[hidden]{display:none}
.month-gallery .month-pause{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:10px 22px;background:transparent;color:#062b50;border:1px solid #c9b98f;border-radius:999px;font:650 1rem/1.4 var(--sans);cursor:pointer}
.month-gallery .month-pause::before{content:"";width:10px;height:12px;border-inline:3px solid currentColor}
.month-gallery.is-paused .month-pause::before{width:0;height:0;border-block:7px solid transparent;border-inline:11px solid currentColor;border-inline-end:0}
.month-gallery .month-pause:hover{background:#f4f1e7}
@media(max-width:760px){
 .month-gallery.is-marquee .calendar-grid>li{flex-basis:232px;padding-inline-end:18px}
 .month-gallery.is-marquee .month-marquee{-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
}
/* Movimento reduzido: sem loop automático; vira faixa que a pessoa arrasta, sem as cópias. */
@media(prefers-reduced-motion:reduce){
 .month-gallery.is-marquee .month-marquee{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-mask-image:none;mask-image:none}
 .month-gallery.is-marquee .calendar-grid{animation:none}
 .month-gallery.is-marquee .calendar-grid>li{scroll-snap-align:start}
 .month-gallery.is-marquee .calendar-grid>[aria-hidden=true]{display:none}
 .month-gallery.is-marquee .calendar-month{transition:none}
 .month-gallery .month-marquee-controls{display:none}
}
