/* Shared presentation for both editable About carousels. */
.about-carousel-card { padding: 0 12px; }
.about-carousel .about-card-title { font-size: 23px; line-height: 1.45; font-weight: 400; color: #fff; }
.about-carousel .card-img-top { aspect-ratio: 1 / 1; object-fit: cover; width: 100%; }
.about-carousel .about-image-button { display: block; padding: 0; width: 100%; border: 0; border-radius: 22px; background: transparent; }
.about-carousel .about-card-summary { font-size: 16px; line-height: 1.6; }
.about-carousel .interactive-btn-1 { font: inherit; font-size: 20px; }
.about-carousel button:focus-visible, .about-carousel a:focus-visible { outline: 3px solid #81be41; outline-offset: 4px; }
.about-carousel .owl-nav.disabled { display: none; }
.about-carousel .owl-nav button { min-width: 44px; min-height: 44px; }
.about-event-modal .modal-content-a { width: 100%; }
.about-event-modal .modal-title-a { margin: 0; color: #28422a; }
.about-event-modal .modal-body-a { color: #222; }
.about-event-modal .modal-body-a p { color: inherit; }
.about-event-modal .modal-body-a > img { display: block; margin: 0 auto 16px; max-height: 75vh; object-fit: contain; }
@media (prefers-reduced-motion: reduce) { .about-carousel .animated { animation: none !important; } }
.about-carousel .owl-nav { top: 35%; z-index: 2; pointer-events: none; }
.about-carousel .owl-nav button { pointer-events: auto; font-size: 80px !important; line-height: 1; color: #81be41 !important; }
.about-carousel .owl-prev { transform: translateX(-25px); }
.about-carousel .owl-next { transform: translateX(25px); }
.about-carousel .owl-nav.disabled { display: none !important; }
#philanthropy, #social { scroll-margin-top: 130px; }
.about-carousel .owl-nav { left: 0; right: 0; width: auto; }
.about-carousel .owl-nav button { transform: none; margin: 0; }
.about-carousel .owl-nav button span { font-size: 64px; line-height: 1; }
.about-event-modal .modal-content { background: #fff !important; border-radius: 15px; color: #222; }
.about-event-modal .modal-dialog { width: calc(100% - 24px); margin: 12px auto; }
/* Separate editable prose from the photograph-only event collage. */
.about-event-text { font-size: 16px; line-height: 1.65; padding: 0 8px 12px; overflow-wrap: anywhere; }
.about-event-text:empty { display: none; }
.about-event-text p { margin: 0 0 14px; }
.about-event-text img { max-width: 100%; height: auto; }
.about-event-modal .modal-header { gap: 16px; align-items: flex-start; }
.about-event-modal .modal-title-a { font-size: clamp(20px, 3vw, 26px); line-height: 1.3; }
.about-event-modal .btn-close { flex-shrink: 0; }
.about-event-modal .modal-body-a > img { width: 100%; max-height: none; height: auto; border-radius: 10px; }

/* Individual event photographs retain their full composition. */
.about-event-gallery { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-bottom:16px;align-items:start; }
.about-event-gallery img {width:100%;height:auto;display:block;border-radius:10px;}
.about-event-gallery img:only-child {grid-column:1 / -1;}
@media(max-width:575px) { .about-event-gallery {grid-template-columns:1fr;} }

/* Compact, justified rows echo the legacy collage without cropping photos. */
.about-event-gallery.is-collage { display:flex; flex-direction:column; gap:4px; padding-bottom:0; margin-bottom:16px; border-radius:8px; overflow:hidden; }
.about-event-gallery-row { display:grid; gap:4px; align-items:start; }
.about-event-gallery.is-collage img { display:block; width:100%; min-width:0; height:auto; border-radius:0; }
.about-event-gallery.is-collage img:only-child { grid-column:auto; }
.about-event-gallery.is-single img { max-height:65vh; object-fit:contain; }
