.calendar .calendar-lock {
    grid-column: 1 / -1;
    display: grid;
    place-items: center;
    min-height: 245px;
    margin: 0;
    padding: 28px;
    border: 1px dashed var(--border);
    border-radius: 14px;
    background: var(--light-bg);
    color: var(--muted);
    font-weight: 600;
}

.calendar-head button:disabled {
    opacity: .3;
    cursor: not-allowed;
}

.admin-link-below {
    display: block;
    margin-top: 20px;
    color: var(--muted);
    font-size: .82rem;
    text-align: center;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.admin-link-below:hover {
    color: var(--blue);
}

.work-gallery-section { background: #f7fbfa; }
.work-gallery { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),230px));justify-content:center;gap:20px; }
.work-gallery figure { position:relative;width:100%;max-width:230px;margin:0;overflow:hidden;border:1px solid #e5e7eb;border-radius:14px;background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.07);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.work-gallery figure:hover { transform:translateY(-3px);border-color:#cbd5e1;box-shadow:0 12px 28px rgba(15,23,42,.12); }
.work-gallery img { display:block;width:100%;height:172px;object-fit:cover;border-radius:0;transition:transform .3s ease; }
.work-gallery img[role="button"] { cursor:zoom-in; }
.work-gallery figure:hover img { transform:scale(1.025); }
.work-gallery figcaption { min-height:48px;padding:14px 15px;color:#172b36;font-size:.88rem;font-weight:700;text-align:left;border-top:1px solid #eef1f3;background:#fff; }

@media (max-width: 560px) { .work-gallery { grid-template-columns:minmax(0,230px); }.work-gallery figure { max-width:100%; } }

.gallery-lightbox { width:min(1000px,calc(100% - 30px));max-width:none;padding:50px 70px 24px;border:0;border-radius:18px;background:#071f29;color:#fff;overflow:visible; }
.gallery-lightbox::backdrop { background:rgba(2,16,22,.88);backdrop-filter:blur(5px); }
.gallery-lightbox figure { margin:0;text-align:center; }
.gallery-lightbox img { display:block;max-width:100%;max-height:75vh;width:auto;height:auto;margin:auto;border-radius:10px; }
.gallery-lightbox figcaption { padding-top:14px;color:#d7e8ea;font-weight:600; }
.lightbox-close,.lightbox-prev,.lightbox-next { position:absolute;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;cursor:pointer; }
.lightbox-close { width:40px;height:40px;right:12px;top:10px;font-size:1.8rem; }
.lightbox-prev,.lightbox-next { width:46px;height:46px;top:50%;transform:translateY(-50%);font-size:2rem; }
.lightbox-prev { left:12px; }.lightbox-next { right:12px; }
@media (max-width:600px) { .gallery-lightbox { padding:55px 12px 70px; }.lightbox-prev,.lightbox-next { top:auto;bottom:12px;transform:none; }.lightbox-prev { left:calc(50% - 55px); }.lightbox-next { right:calc(50% - 55px); } }
