/* Gallery page styles */
            section { padding: 80px 0; }
            .section-tag { font-family: var(--font-elegant); font-size: 13px; letter-spacing: 4px; text-transform: uppercase; color: var(--accent); display: block; margin-bottom: 10px; font-weight: 600; }
            .section-title { font-family: var(--font-display); font-size: clamp(28px, 3.5vw, 44px); color: var(--text-dark); font-weight: 700; line-height: 1.15; margin-bottom: 16px; }
            .section-divider { width: 52px; height: 3px; background: linear-gradient(90deg, var(--accent), var(--accent-light)); border-radius: 3px; margin: 14px auto 28px; }

            /* Filter tabs */
            .filter-tabs { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-bottom: 40px; }
            .filter-btn { background: var(--white); border: 1.5px solid rgba(27,67,50,0.15); color: var(--text-body); padding: 9px 22px; border-radius: 50px; font-size: 14px; font-weight: 500; cursor: pointer; transition: var(--transition); font-family: var(--font-body); }
            .filter-btn:hover, .filter-btn.active { background: var(--primary); border-color: var(--primary); color: var(--white); }

            /* Gallery grid */
            .gallery-grid { columns: 3; column-gap: 20px; }
            @media (max-width: 991px) { .gallery-grid { columns: 2; } }
            @media (max-width: 575px) { .gallery-grid { columns: 1; } }

            .gallery-item { break-inside: avoid; margin-bottom: 20px; position: relative; border-radius: 14px; overflow: hidden; cursor: pointer; display: block; }
            .gallery-item img { width: 100%; height: auto; display: block; transition: transform 0.5s ease; }
            .gallery-item:hover img { transform: scale(1.06); }
            .gallery-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(13,43,29,0.82) 100%); opacity: 0; transition: opacity 0.4s ease; display: flex; flex-direction: column; justify-content: flex-end; padding: 20px; }
            .gallery-item:hover .gallery-overlay { opacity: 1; }
            .gallery-label { font-family: var(--font-display); font-size: 16px; color: var(--white); font-weight: 600; }
            .gallery-sub { font-size: 12px; color: rgba(255,255,255,0.75); margin-top: 4px; }
            .gallery-zoom { position: absolute; top: 16px; right: 16px; width: 40px; height: 40px; background: rgba(255,255,255,0.18); backdrop-filter: blur(8px); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--white); font-size: 16px; opacity: 0; transition: all 0.3s ease; }
            .gallery-item:hover .gallery-zoom { opacity: 1; }

            /* Category badge */
            .gallery-cat { position: absolute; top: 16px; left: 16px; background: var(--accent); color: var(--white); font-size: 10px; font-weight: 700; padding: 4px 10px; border-radius: 20px; letter-spacing: 1px; text-transform: uppercase; }

            /* Hidden items */
            .gallery-item.hidden { display: none; }

            /* Load more */
            .btn-primary { display: inline-flex; align-items: center; gap: 10px; background: var(--primary); color: var(--white); padding: 13px 28px; border-radius: 50px; font-size: 14.5px; font-weight: 600; transition: var(--transition); border: none; cursor: pointer; font-family: var(--font-body); }
            .btn-primary:hover { background: var(--primary-light); color: var(--white); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(27,67,50,0.25); }