/* Scoped to the Projects slideshow. Images remain fully visible, without cropping. */
.tcafcrm-project-gallery {
    --gallery-bg: #10110e;
    --gallery-panel: #191b16;
    --gallery-gold: #d5b969;
    box-sizing: border-box;
    width: 100%;
    max-width: none !important;
    margin: 0 auto;
    padding: clamp(32px, 5vw, 76px) clamp(16px, 4vw, 60px);
    color: #f5f0e8;
    background: var(--gallery-bg);
    font-family: var(--font-body, inherit);
}
.tcafcrm-project-gallery * { box-sizing: border-box; }
.tcafcrm-project-gallery [hidden] { display: none !important; }
.tcafcrm-project-gallery__header { max-width: 780px; margin: 0 auto 30px; text-align: center; }
.tcafcrm-project-gallery__eyebrow { color: var(--gallery-gold); font-size: 12px; line-height: 1.7; letter-spacing: .16em; text-transform: uppercase; }
.tcafcrm-project-gallery__header h2 { margin: 8px 0 12px; color: #f5f0e8; font-family: var(--font-display, Georgia, serif); font-size: clamp(32px, 4vw, 52px); font-weight: 400; line-height: 1.2; }
.tcafcrm-project-gallery__header > p:last-child { color: #c8c0b0; font-size: 16px; line-height: 1.6; }
.tcafcrm-slideshow { max-width: 1180px; margin: 0 auto; background: var(--gallery-panel); border: 1px solid #444331; border-radius: 8px; overflow: hidden; }
.tcafcrm-slideshow__stage { background: #0b0c0a; touch-action: pan-y; }
.tcafcrm-slideshow__slide { width: 100%; margin: 0 !important; }
.tcafcrm-slideshow__slide > a { display: flex; width: 100%; height: clamp(320px, 65vh, 680px); align-items: center; justify-content: center; }
.tcafcrm-slideshow__slide img { display: block; width: 100%; height: 100%; max-height: 100%; max-width: 100%; object-fit: contain !important; object-position: center; }
.tcafcrm-slideshow__slide figcaption { min-height: 64px; margin: 0; padding: 18px 24px; color: #e2dfd6; background: var(--gallery-panel); font-size: 15px; line-height: 1.7; text-align: center; }
.tcafcrm-slideshow__controls { display: grid; grid-template-columns: 1fr auto 1fr; gap: 12px; align-items: center; padding: 18px 24px 10px; border-top: 1px solid #37392e; }
.tcafcrm-slideshow__controls button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 16px; border: 1px solid #6b6243; border-radius: 4px; color: #f5f0e8; background: transparent; font: inherit; font-size: 14px; font-weight: 500; line-height: 1.3; cursor: pointer; }
.tcafcrm-slideshow__controls button:hover { color: #10110e; background: var(--gallery-gold); }
.tcafcrm-slideshow__controls [data-gallery-prev] { justify-self: start; }
.tcafcrm-slideshow__controls [data-gallery-next] { justify-self: end; }
.tcafcrm-slideshow__controls .tcafcrm-slideshow__play { grid-column: 1 / -1; justify-self: center; min-height: 40px; padding: 8px 18px; color: var(--gallery-gold); border-color: transparent; }
.tcafcrm-slideshow__controls .tcafcrm-slideshow__play:hover { color: #10110e; }
.tcafcrm-slideshow__count { margin: 0; color: #d9d4c7; font-size: 14px; white-space: nowrap; text-align: center; }
.tcafcrm-slideshow__hint { margin: 0; padding: 0 20px 20px; color: #b7b3a7; font-size: 12px; line-height: 1.6; text-align: center; }
.tcafcrm-project-gallery :focus-visible { outline: 3px solid var(--gallery-gold); outline-offset: -4px; }
body.tcafcrm-projects-updated .entry-content .reveal { opacity: 1; transform: none; }
@media (max-width: 600px) {
    .tcafcrm-project-gallery { padding: 32px 12px; }
    .tcafcrm-project-gallery__header { margin-bottom: 24px; padding: 0 8px; }
    .tcafcrm-project-gallery__header > p:last-child { font-size: 14px; }
    .tcafcrm-slideshow__slide > a { height: clamp(300px, 60vh, 540px); }
    .tcafcrm-slideshow__slide figcaption { min-height: 76px; padding: 14px 16px; font-size: 14px; }
    .tcafcrm-slideshow__controls { gap: 8px; padding: 14px 12px 8px; }
    .tcafcrm-slideshow__controls button { padding: 9px 10px; font-size: 13px; }
    .tcafcrm-slideshow__count { font-size: 12px; }
}
@media (max-width: 350px) {
    .tcafcrm-slideshow__controls [data-gallery-prev] span,
    .tcafcrm-slideshow__controls [data-gallery-next] span { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .tcafcrm-project-gallery *, body.tcafcrm-projects-updated .entry-content .reveal { animation: none !important; transition: none !important; }
}
