.photography-page { background: var(--site-color-ed4b630fd1, #fff2d3); color: var(--site-color-ea35659d19, #12351c); }
.photography-hero {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    min-height: clamp(118px, 12vw, 190px);
    padding: 12px 4%;
    background: var(--site-color-ed4b630fd1, #fff2d3);
}
.photography-hero img {
    position: absolute;
    inset: 0 0 0 auto;
    width: 64%;
    height: 100%;
    object-fit: contain;
    object-position: right center;
    z-index: -2;
}
.photography-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, var(--site-color-ed4b630fd1, #fff2d3) 13%, var(--site-color-ed4b630fd1, #fff2d3) 28%, transparent 57%);
    z-index: -1;
}
.photography-hero h1 { margin: 0; font: 700 clamp(26px, 4vw, 60px)/1.05 "KCSoni Digits",Georgia, serif; }
.photography-hero h1::after { content: ""; display: block; width: 35%; height: 3px; background: var(--site-color-b0e212a8ac, #bd932c); margin-top: 14px; }
.photography-results { padding: clamp(12px, 2vw, 24px); }
.photography-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 14px;
}
.photography-tabs { display: flex; flex-wrap: wrap; gap: 5px; }
.photography-tabs button {
    padding: 7px 13px;
    border: 1px solid var(--site-color-830c6e8af9, #b88b35);
    border-radius: 7px;
    background: var(--site-color-3485552bde, #fff8e4);
    color: var(--site-color-ea35659d19, #12351c);
    font-weight: 700;
}
.photography-tabs button.active { background: var(--site-color-210e8744cb, #143819); color: var(--site-color-322b4d3e33, #fff4d6); }
.photography-tabs button span { color: var(--site-color-899d78b770, #a47821); }
.photography-tabs button.active span { color: var(--site-color-e792dc511b, #f0c967); }
.photography-toolbar input { width: min(100%, 300px); }
.photography-gallery { display: grid; gap: 12px; }
.photography-photo-grid.cards { gap: 10px; }
.photography-bird-grid.cards { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.photography-other-grid.cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.photography-photo-grid.cards:not(:has(.card:not([hidden]))) { display: none; }
.photography-photo-grid .card:not([hidden]) {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px;
    min-width: 0;
}
.photography-photo-grid .card > img {
    width: 44%;
    height: 118px;
    flex: 0 0 44%;
    object-fit: contain;
    background: var(--site-color-8ed9128dbe, #f5ecd5);
}
.photography-card-copy { min-width: 0; overflow-wrap: anywhere; }
.photography-card-copy small { margin: 0; }
.photography-card-copy h2 { margin: 2px 0; font-size: clamp(16px, 1.45vw, 22px); }
.photography-card-copy h2::after { content: none; }
.photography-card-copy p {
    margin: 4px 0;
    font-size: .86rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
.photography-card-copy .outline { padding: 3px 8px; font-size: .85rem; }
.photography-empty { display: none; grid-column: 1 / -1; }
.photography-gallery:not(:has(.card:not([hidden]))) .photography-empty { display: block; }
@media (max-width: 1150px) {
    .photography-photo-grid.cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 580px) {
    .photography-photo-grid.cards { grid-template-columns: 1fr; }
    .photography-toolbar input { width: 100%; }
}
/* आइबिस फोटो का बायाँ किनारा क्रीम बैकग्राउंड में मिलाएँ */
.photography-hero img {
    width: auto;
    max-width: 70%;
    object-fit: contain;
    object-position: right center;
    mask-image: linear-gradient(to right, transparent, var(--site-color-598b32b7d9, #000) 28%);
}

/* हर फोटो कार्ड की सीमा साफ़ दिखाएँ */
.photography-gallery {
    gap: 16px;
}

.photography-photo-grid.cards {
    gap: 14px;
}

.photography-photo-grid .card {
    background: var(--site-color-859ddbee4d, #fff9e9);
    border: 1px solid var(--site-color-a3d8bd60a0, #cfb47d);
    border-radius: 12px;
    box-shadow: 0 2px 6px var(--site-color-772396eef7, rgb(76 52 17 / 12%));
}

    .photography-photo-grid .card > img {
        border-radius: 8px;
        background: var(--site-color-7cd5f44cfe, #f7eedb);
    }
@media (min-width: 1000px) {
    .photography-hero {
        display: flex;
        align-items: center;
    }

        .photography-hero img {
            inset: 0 0 0 auto;
            width: 68%;
            max-width: none;
            height: 100%;
            object-fit: cover;
            object-position: right 64%;
            mask-image: linear-gradient( to right, transparent 0%, var(--site-color-598b32b7d9, #000) 18% );
        }

        .photography-hero::before {
            content: none;
        }
}