.calendar-gallery{margin:38px 0 16px;scroll-margin-top:24px}
.calendar-gallery-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:0 0 22px;border-bottom:1px solid #dbe0e5}
.calendar-gallery-heading h2{font-size:27px;letter-spacing:-.65px;margin:6px 0 8px;color:#1c3048;line-height:1.25}
.calendar-gallery-heading p{font-size:15px;color:#637184;margin:0;max-width:75ch}
.calendar-gallery-quality{display:flex;align-items:center;gap:10px;color:#28435e;font-size:13px;font-weight:700;flex-shrink:0}
.calendar-gallery-quality .ui-icon{width:27px;height:27px;color:#a13545}
.calendar-gallery-quality small{display:block;color:#68778b;font-size:11px;font-weight:500;margin-top:3px}
.calendar-gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:20px 0}
.calendar-gallery-toolbar[hidden]{display:none}
.calendar-gallery-filters{display:flex;gap:7px;flex-wrap:wrap}
.calendar-gallery-filters button{min-height:39px;padding:8px 16px;border-color:#d9e0e7;color:#45566b;font-size:13px;font-weight:700}
.calendar-gallery-filters button[aria-pressed=true]{background:#263e56;color:#fff;border-color:#263e56}
.calendar-gallery-toolbar>span{color:#677487;font-size:13px;white-space:nowrap}
.calendar-gallery-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;margin-top:22px}
.calendar-design-card{min-width:0;background:#fff;border:1px solid #dce2e8;border-radius:9px;overflow:hidden;transition:border-color .15s,box-shadow .15s}
.calendar-design-card[hidden]{display:none}
.calendar-design-card:hover{border-color:#8f9fb0;box-shadow:0 6px 20px #24354c09}
.calendar-design-image{position:relative;display:flex;align-items:center;justify-content:center;height:260px;background:#ebeef0;padding:22px 25px;border-bottom:1px solid #dce2e8}
.calendar-design-image img{display:block;max-width:100%;width:auto;height:auto;max-height:100%;object-fit:contain;box-shadow:0 5px 13px #1b273a26;background:#fff;transition:transform .18s}
.calendar-design-image:hover img{transform:translateY(-3px)}
.calendar-design-image>span{position:absolute;right:10px;bottom:10px;background:#ffffffeb;color:#506073;border:1px solid #dce2e8;border-radius:4px;padding:3px 7px;font-size:10px}
.calendar-design-info{padding:17px 15px 14px}
.calendar-design-info h3{display:flex;align-items:baseline;gap:9px;min-height:43px;margin:0 0 12px;font-size:16px;line-height:1.3;letter-spacing:-.25px;color:#1d2e43}
.calendar-design-info h3>span{font-size:20px;font-weight:800;letter-spacing:-.5px;color:#6e7b8a;font-variant-numeric:tabular-nums}
.calendar-design-meta{display:flex;align-items:center;gap:5px;margin:0 0 13px;padding-bottom:13px;border-bottom:1px solid #e4e8ed;font-size:11px;color:#647187;white-space:nowrap}
.calendar-design-meta i{width:9px;height:9px;flex-shrink:0;border-radius:50%;background:#a13e4e}
.calendar-design-meta i.mono{background:#354353}
.calendar-design-preview{display:flex;width:100%;min-height:38px;padding:8px;color:#365774;background:#f2f6f9;border:1px solid #d9e3eb;font-size:12px;font-weight:700;justify-content:space-between}
.calendar-design-downloads{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}
.calendar-design-downloads .button{min-width:0;min-height:42px;padding:8px 6px;font-size:12px;font-weight:750;gap:5px;color:#1c354e;line-height:1.15}
.calendar-design-downloads .ui-icon{width:16px;height:16px;flex-shrink:0}
.calendar-design-downloads [data-calendar-download=pdf] .ui-icon{color:#b13549}
.calendar-design-note{display:block;color:#6a7788;font-size:10px;line-height:1.5;min-height:30px;margin-top:11px}
.calendar-gallery-footnote{font-size:12px;line-height:1.65;color:#677487;margin:18px 0 0;max-width:100ch}
@media(max-width:1400px){.calendar-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px){.calendar-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-gallery-quality{display:none}}
@media(max-width:750px){.calendar-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.calendar-gallery-heading h2{font-size:23px}.calendar-design-image{height:235px;padding:20px}.calendar-design-info{padding:14px 11px}.calendar-design-downloads .button{font-size:11px}.calendar-gallery-toolbar{align-items:start}.calendar-gallery-toolbar>span{font-size:11px;padding-top:11px}.calendar-gallery-filters button{padding:8px 10px;font-size:12px}}
@media(max-width:420px){.calendar-gallery-grid{grid-template-columns:1fr}.calendar-design-image{height:310px;padding:25px}.calendar-design-info h3{min-height:0}.calendar-design-note{min-height:0}.calendar-design-downloads .button{font-size:13px}.calendar-gallery-toolbar{display:block}.calendar-gallery-toolbar[hidden]{display:none}.calendar-gallery-toolbar>span{display:block}.calendar-design-meta{font-size:12px}}
@media(prefers-reduced-motion:reduce){.calendar-design-image img,.calendar-design-card{transition:none}}
@media print{.calendar-gallery,.calendar-download-callout{display:none!important}}

/* Downloads and calendar context share the first screen. */
.gallery-page main{padding-top:16px}
.gallery-page .breadcrumb{margin-bottom:16px}
.gallery-page .page-heading{max-width:1160px;margin-bottom:22px}
.gallery-page .page-heading>.eyebrow{display:none}
.gallery-page .page-heading h1{font-size:30px;letter-spacing:-.8px;margin:0 0 9px}
.gallery-page .page-heading p{font-size:14px;line-height:1.6;margin:0;color:#627083;max-width:110ch}
.download-workspace{display:grid;grid-template-columns:320px minmax(0,1fr);gap:26px;align-items:start;margin:0 0 28px}
.download-workspace>*{min-width:0}
.download-workspace>.gallery-context{position:sticky;top:18px;margin:0;background:#fff;border:1px solid #dbe1e7;border-top:3px solid #b63448;padding:17px;border-radius:8px;box-shadow:none}
.context-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:9px;padding-bottom:13px;margin-bottom:14px;border-bottom:1px solid #e4e8ed}
.context-heading h2{font-size:15px;margin:0;letter-spacing:-.2px}
.context-heading button{min-height:34px;padding:6px 9px;font-size:11px;font-weight:750;color:#36516d;background:#f3f6f8}
.context-heading button span{font-size:16px}
.context-content{min-width:0}
.download-workspace:not(.context-expanded) .context-content{max-height:calc(100svh - 340px);min-height:220px;overflow:auto;scrollbar-width:thin;padding-right:4px;overscroll-behavior:contain}
.download-workspace:not(.context-expanded) .calendar-context .context-content{overflow:visible;max-height:none;padding:0}
.download-workspace:not(.context-expanded) .calendar-context-view{max-height:335px;overflow:auto;scrollbar-width:thin;overscroll-behavior:contain}
.calendar-context-view:focus-visible{outline-offset:2px}
.download-workspace:not(.context-expanded) .calendar-toolbar{display:none}
.download-workspace:not(.context-expanded) .calendar-title{margin-bottom:12px}
.download-workspace:not(.context-expanded) .calendar-title>.primary{display:none}
.download-workspace:not(.context-expanded) .calendar-title h2{font-size:18px!important}
.download-workspace:not(.context-expanded) .calendar-title .actions{gap:6px}
.download-workspace:not(.context-expanded) .calendar-title .button{min-height:32px;padding:5px 7px;font-size:11px}
.download-workspace:not(.context-expanded) .calendar-title .square{width:27px;font-size:20px}
.download-workspace:not(.context-expanded) .calendar-context .calendar td{height:43px}
.download-workspace:not(.context-expanded) .calendar-context .calendar th{font-size:10px;padding:5px 1px}
.download-workspace:not(.context-expanded) .calendar-context .weeknum{width:22px;font-size:9px}
.download-workspace:not(.context-expanded) .calendar-context .date-link{padding:1px 3px;font-size:12px;min-height:26px}
.download-workspace:not(.context-expanded) .calendar-context .date-link span{height:23px;min-width:23px}
.download-workspace:not(.context-expanded) .calendar-context .outside-date{font-size:11px;padding:5px}
.download-workspace:not(.context-expanded) .calendar-context .date-events{max-height:none;overflow:hidden;padding:0 2px 3px}
.download-workspace:not(.context-expanded) .calendar-context .event-label{font-size:7px;line-height:1.3;padding:1px 0}
.download-workspace:not(.context-expanded) .calendar-context .year-grid{grid-template-columns:1fr;gap:12px}
.download-workspace:not(.context-expanded) .calendar-context .mini .calendar td{height:26px}
.download-workspace:not(.context-expanded) .calendar-context .mini h3{margin:0 0 6px;font-size:13px}
.download-workspace:not(.context-expanded) .calendar-context .week-view{grid-template-columns:1fr}
.download-workspace:not(.context-expanded) .calendar-context .week-view section{min-height:90px}
.context-actions{gap:6px;margin:13px 0 0;font-size:12px}
.context-actions .button,.context-actions button{font-size:11px;padding:7px;min-height:34px}
.context-month-navigation{font-size:11px;justify-content:space-between;gap:8px;margin-top:12px}
.context-expanded{grid-template-columns:1fr}
.context-expanded>.gallery-context{position:static}
.context-expanded .calendar-context-view{overflow:visible}
.context-expanded .context-content{max-height:none}
.context-expanded .context-heading button{background:#263e56;color:white}
.download-workspace .calendar-gallery,.download-workspace .design-section{margin:0;scroll-margin-top:18px}
.download-workspace .calendar-gallery-heading,.download-workspace .section-heading{padding:0 0 13px;margin:0;border-bottom:1px solid #dce2e8;min-height:65px}
.download-workspace .calendar-gallery-heading h2,.download-workspace .section-heading h2{font-size:22px;margin:4px 0 0;letter-spacing:-.5px}
.download-workspace .calendar-gallery-quality{font-size:11px}
.download-workspace .calendar-gallery-quality small{font-size:10px}
.download-workspace .calendar-gallery-quality .ui-icon{width:22px;height:22px}
.download-workspace .calendar-gallery-toolbar{margin:13px 0}
.download-workspace .calendar-gallery-filters button{font-size:12px;min-height:36px;padding:7px 11px}
.download-workspace .calendar-gallery-grid,.download-workspace .design-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-top:13px}
.download-workspace .calendar-design-image{height:205px;padding:17px}
.download-workspace .calendar-design-info{padding:13px 12px}
.download-workspace .calendar-design-info h3{font-size:15px;min-height:38px;gap:7px;margin-bottom:7px}
.download-workspace .calendar-design-info h3>span{font-size:17px}
.download-workspace .calendar-design-meta{font-size:10px;margin-bottom:10px;padding-bottom:10px}
.download-workspace .calendar-design-note{font-size:10px;min-height:0;margin-top:8px}
.download-workspace .calendar-design-preview{min-height:35px;font-size:11px}
.download-workspace .calendar-design-downloads .button{min-height:40px;font-size:11px;padding:6px}
.gallery-format-label{font-size:11px;font-weight:700;color:#7a5360;white-space:nowrap}
.download-workspace .design-settings{gap:10px;margin:9px 0 12px}
.download-workspace .design-settings label{display:flex;align-items:center;gap:8px;font-size:11px;flex:none;min-width:0;margin:0}
.download-workspace .design-settings select{font-size:12px;min-height:36px;padding:6px 28px 6px 8px;width:auto;margin:0}
.download-workspace .design-card img{height:205px;padding:17px;background:#ebeef0;display:block}
.download-workspace .design-card>div{padding:13px 12px}
.download-workspace .design-card h3{font-size:15px;display:flex;gap:7px;align-items:baseline;margin:0 0 7px;min-height:38px}
.design-number{font-size:17px;font-weight:800;color:#6e7b8a;font-variant-numeric:tabular-nums}
.download-workspace .design-card p{font-size:10px;margin:0 0 10px}
.download-workspace .design-card .actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.download-workspace .design-card button{min-width:0;font-size:12px;min-height:40px;padding:7px;gap:5px}
.download-workspace .design-card .preview-personal{grid-column:1/-1;justify-content:space-between;min-height:35px;font-size:11px;background:#f2f6f9;color:#365774}
.download-workspace .design-card button .ui-icon{width:16px;height:16px}
.download-workspace .export-status:empty{display:none}
.download-workspace .export-status:not(:empty){margin:10px 0 0;font-size:12px;overflow-wrap:anywhere}
.gallery-context .year-links{gap:5px;margin:0 0 12px}
.gallery-context .year-links a{padding:7px 12px;font-size:12px}
.gallery-context p{font-size:12px;line-height:1.65}
.gallery-context .data-table{font-size:11px;margin-top:6px}
.gallery-context .data-table th{font-size:10px}
.gallery-context .data-table th,.gallery-context .data-table td{padding:9px 5px}
.gallery-context .filters{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.gallery-context .filters>label{min-width:0;margin:0}
.gallery-context label{font-size:11px}
.gallery-context input,.gallery-context select,.gallery-context textarea{font-size:12px;padding:8px;min-height:38px}
.gallery-context .filters>label:has(select[name=type]){grid-column:1/-1}
.gallery-context .planner-advanced,.gallery-context .planner-inputs{padding:10px 0;margin:13px 0;border:0;border-top:1px solid #dce1e5;border-radius:0}
.gallery-context details summary{font-size:12px;font-weight:750;line-height:1.5}
.gallery-context .photo-upload{padding:10px;margin:10px 0}
.gallery-context #save-planner{font-size:12px;min-height:38px;width:100%}
.gallery-context .planner-entry-row{grid-template-columns:20px 1fr}
.gallery-context .planner-entry-row .actions{grid-column:2}
.gallery-context .link-grid.compact{grid-template-columns:repeat(3,1fr);margin:10px 0;font-size:11px}
.gallery-page .holiday-page{max-width:none}
.gallery-page .holiday-hero{display:block;gap:0;align-items:start}
.gallery-page .holiday-intro>.eyebrow{display:none}
.gallery-page .holiday-intro h2{font-size:21px;margin:0 0 10px}
.gallery-page .holiday-intro>p{font-size:12px;margin-bottom:12px}
.gallery-page .holiday-years{gap:5px}
.gallery-page .holiday-years a{min-width:0;flex:1;min-height:36px;font-size:12px}
.gallery-page .holiday-hero-actions{gap:10px;margin:12px 0;font-size:11px}
.gallery-page .holiday-cover img{height:165px}
.gallery-page .holiday-cover-note{display:none}
.gallery-page .holiday-cover figcaption{padding:26px 9px 9px;font-size:9px;flex-wrap:wrap;gap:3px}
.gallery-page .holiday-cover figcaption a{font-size:9px}
@media(max-width:1500px){.download-workspace .calendar-gallery-grid,.download-workspace .design-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.download-workspace .calendar-gallery-quality{display:none}}
@media(max-width:1150px){.download-workspace{grid-template-columns:285px minmax(0,1fr);gap:20px}.download-workspace .calendar-gallery-grid,.download-workspace .design-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.download-workspace .gallery-format-label{display:none}.download-workspace .calendar-gallery-heading h2,.download-workspace .section-heading h2{font-size:21px}}
@media(max-width:900px){.download-workspace{grid-template-columns:1fr;gap:18px}.download-workspace>.gallery-context{position:static;padding:12px}.context-heading{padding-bottom:8px;margin-bottom:8px}.context-heading h2{font-size:13px}.context-heading button{font-size:11px}.download-workspace:not(.context-expanded) .context-content{max-height:135px;min-height:0}.download-workspace:not(.context-expanded) .calendar-context .context-content{display:grid;grid-template-columns:180px minmax(0,1fr);gap:8px 15px}.download-workspace:not(.context-expanded) .calendar-context-view{grid-column:2;grid-row:1/4;max-height:147px}.download-workspace:not(.context-expanded) .calendar-context .calendar-title{margin:0;align-self:start}.download-workspace:not(.context-expanded) .calendar-context .calendar-title h2{font-size:16px!important}.download-workspace:not(.context-expanded) .calendar-context .year-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.download-workspace:not(.context-expanded) .calendar-context .calendar td{height:26px}.download-workspace:not(.context-expanded) .calendar-context .date-events{display:none}.download-workspace:not(.context-expanded) .calendar-context .date-link{font-size:11px;min-height:24px}.download-workspace:not(.context-expanded) .context-actions{margin-top:0}.context-month-navigation{margin:0}.download-workspace .calendar-gallery-grid,.download-workspace .design-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.download-workspace .calendar-design-image,.download-workspace .design-card img{height:185px}.gallery-page .page-heading{margin-bottom:16px}.gallery-page .page-heading h1{font-size:27px}.gallery-page .page-heading p{font-size:13px}.gallery-page .holiday-hero .context-content{display:grid;grid-template-columns:1fr 200px;gap:20px}.gallery-page .holiday-cover img{height:135px}.context-expanded{grid-template-columns:1fr}}
@media(max-width:650px){.gallery-page main{padding:14px 12px}.gallery-page .breadcrumb{font-size:10px;margin-bottom:12px;gap:6px}.gallery-page .page-heading h1{font-size:25px}.gallery-page .page-heading p{font-size:12px;line-height:1.6}.download-workspace{gap:16px}.download-workspace:not(.context-expanded) .calendar-context .context-content{grid-template-columns:113px minmax(0,1fr);gap:7px}.download-workspace:not(.context-expanded) .calendar-context .calendar-title .actions>.button{display:none}.download-workspace:not(.context-expanded) .calendar-context .year-grid{grid-template-columns:1fr}.download-workspace:not(.context-expanded) .calendar-context-view{max-height:120px}.download-workspace:not(.context-expanded) .calendar-context .context-actions>.button{display:none}.download-workspace:not(.context-expanded) .calendar-context .context-actions{font-size:11px}.download-workspace:not(.context-expanded) .calendar-context .context-actions button{font-size:10px;min-height:31px}.download-workspace:not(.context-expanded) .context-month-navigation{display:none}.download-workspace .calendar-gallery-grid,.download-workspace .design-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.download-workspace .calendar-design-image,.download-workspace .design-card img{height:175px;padding:12px}.download-workspace .calendar-design-info,.download-workspace .design-card>div{padding:11px 9px}.download-workspace .calendar-design-info h3,.download-workspace .design-card h3{font-size:13px;min-height:34px;gap:5px}.download-workspace .calendar-design-info h3>span,.design-number{font-size:14px}.download-workspace .calendar-design-meta{font-size:9px;gap:4px;white-space:normal}.download-workspace .calendar-gallery-heading,.download-workspace .section-heading{min-height:0;padding-bottom:11px}.download-workspace .calendar-gallery-heading h2,.download-workspace .section-heading h2{font-size:20px}.download-workspace .calendar-gallery-toolbar{margin:10px 0;display:flex;gap:5px}.download-workspace .calendar-gallery-toolbar>span{display:none}.download-workspace .calendar-gallery-filters{gap:5px}.download-workspace .calendar-gallery-filters button{padding:7px 10px;font-size:11px;min-height:35px}.download-workspace .calendar-design-downloads{grid-template-columns:1fr;gap:6px}.download-workspace .calendar-design-downloads .button{font-size:11px;min-height:38px}.download-workspace .calendar-design-note{font-size:9px;line-height:1.45}.download-workspace .design-card .actions{gap:6px}.download-workspace .design-card button{font-size:11px;min-height:38px}.download-workspace .design-settings{flex-wrap:wrap}.download-workspace .design-settings label{gap:5px}.download-workspace .design-settings select{font-size:11px;padding-right:20px}.gallery-page .holiday-hero .context-content{grid-template-columns:1fr 100px;gap:10px}.gallery-page .holiday-cover img{height:120px}.gallery-page .holiday-cover figcaption{display:none}.gallery-page .holiday-hero-actions{font-size:10px}.gallery-page .holiday-intro h2{font-size:16px}.gallery-page .holiday-intro>p{display:none}.context-expanded .calendar-title h2{font-size:21px!important}.context-expanded .context-content{display:block!important}.context-expanded .calendar-title .primary{display:inline-flex}.context-expanded .holiday-cover{margin-top:16px}}
@media print{.gallery-page .page-heading p,.context-heading,.context-actions,.context-month-navigation,.design-section,.calendar-gallery{display:none!important}.download-workspace{display:block}.download-workspace .gallery-context{position:static;border:0;padding:0}.download-workspace .context-content,.download-workspace .calendar-context-view{display:block!important;max-height:none!important;overflow:visible!important}.download-workspace .calendar-context .year-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.download-workspace .calendar-context .date-events{display:block!important;max-height:none!important}}

@media(max-width:650px){.download-workspace:not(.context-expanded) .context-heading{border:0;padding:0;margin:0}.download-workspace:not(.context-expanded) .gallery-context{padding:10px 12px}.download-workspace .context-content[hidden]{display:none!important}}
