/* Match the portfolio toolbar and cards while keeping gallery media at its own ratio. */
.film-gallery-content{scroll-margin-top:90px}
.film-gallery-embed .film-gallery-content{padding-top:26px}
.film-gallery-compact .film-gallery-content{padding-top:42px;padding-bottom:24px}
.film-gallery .portfolio-filters-container{margin-bottom:40px}
.film-gallery .film-gallery-filters{margin-bottom:0;width:100%}
.film-gallery .film-gallery-select{flex:0 1 auto}
.film-gallery .film-gallery-card-link{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left;font:inherit;color:inherit}
.film-gallery .film-gallery-image{position:relative;overflow:hidden;min-height:180px;background:#eee8e5}
.film-gallery-js .film-gallery .film-gallery-image::before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,#eee8e5 25%,#f9f6f4 45%,#eee8e5 65%);background-size:200% 100%;animation:gallery-image-shimmer 1.4s linear infinite;pointer-events:none}
.film-gallery .film-gallery-image img{position:relative;display:block;width:100%;height:auto;max-width:100%;object-fit:initial;transition:transform .35s ease,opacity .3s ease}
.film-gallery-js .film-gallery .film-gallery-image img{opacity:0}
.film-gallery .film-gallery-image.is-loaded{min-height:0}
.film-gallery .film-gallery-image.is-loaded::before{display:none}
.film-gallery-js .film-gallery .film-gallery-image.is-loaded img{opacity:1}
@keyframes gallery-image-shimmer{to{background-position-x:-200%}}
.film-gallery .film-gallery-card-body h3{margin-bottom:10px}
.film-gallery .film-gallery-card-body p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin-bottom:12px}
.film-gallery .film-gallery-card-body time{display:inline-flex;align-items:center;gap:6px;color:color-mix(in srgb,var(--default-color),transparent 42%);font-size:13px}
.film-gallery-count{margin:10px 14px 0;color:color-mix(in srgb,var(--default-color),transparent 35%);font-size:14px}
.film-gallery-notice{text-align:center;padding:48px 20px;background:#f7f4f2;border-radius:15px}
.film-gallery-notice h2,.film-gallery-notice h3{margin:0 0 8px;font-size:20px}
.film-gallery-notice p{margin:0}
.film-gallery-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.film-gallery a:focus-visible,.film-gallery button:focus-visible,.film-gallery input:focus-visible{outline:3px solid var(--accent-color);outline-offset:3px}

/* Action picker follows the App Script gallery modal and Film colors. */
.mwk-action-modal-overlay[hidden]{display:none!important}
.mwk-action-modal-overlay{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.65);backdrop-filter:blur(4px)}
.mwk-action-modal-overlay.active{display:flex}
.mwk-action-modal{position:relative;width:100%;max-width:460px;max-height:min(90vh,720px);overflow-y:auto;border-radius:20px;background:var(--surface-color,#fff);box-shadow:0 20px 40px #0004;animation:gallery-modal-in .25s cubic-bezier(.16,1,.3,1)}
@keyframes gallery-modal-in{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.mwk-action-modal-header{position:relative;padding:24px 24px 16px;border-bottom:1px solid color-mix(in srgb,var(--default-color),transparent 86%);text-align:center}
.mwk-action-modal-close{position:absolute;top:16px;right:16px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:0;border-radius:50%;background:#f5f5f5;color:#555;font-size:18px;cursor:pointer;transition:transform .2s,background .2s}
.mwk-action-modal-close:hover{background:#e8e8e8;transform:rotate(90deg)}
.mwk-action-modal-title{padding:0 28px;margin:0 0 6px;font-family:'Google Sans',sans-serif;font-size:18px;font-weight:700;line-height:1.4;color:var(--heading-color)}
.mwk-action-modal-subtitle{margin:0;color:color-mix(in srgb,var(--default-color),transparent 40%);font-size:13px}
.mwk-action-modal-body{display:flex;flex-direction:column;gap:12px;padding:20px 24px 24px}
.mwk-action-btn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:12px 20px;border-radius:50px;background:var(--accent-color);box-shadow:0 4px 14px color-mix(in srgb,var(--accent-color),transparent 75%);color:#fff!important;text-decoration:none!important;font-size:16px;font-weight:600;transition:background .2s,transform .2s,box-shadow .2s}
.mwk-action-btn:hover{background:color-mix(in srgb,var(--accent-color),black 15%);transform:translateY(-2px);box-shadow:0 6px 18px color-mix(in srgb,var(--accent-color),transparent 65%)}
.mwk-action-btn i{font-size:20px}
.mwk-action-modal button:focus-visible,.mwk-action-modal a:focus-visible{outline:3px solid var(--accent-color);outline-offset:3px}
@media(max-width:991px){.film-gallery .film-gallery-select{flex:1 1 calc(50% - 6px)}}
@media(max-width:575px){.film-gallery .film-gallery-select{flex:1 1 100%}.film-gallery .film-gallery-filters .toolbar-search{flex-basis:100%}.film-gallery #galleryFilterReset{width:100%}}
@media(prefers-reduced-motion:reduce){.film-gallery .film-gallery-image::before{animation:none}.film-gallery .film-gallery-image img{transition:none}}
