/* Isolated gallery styles: no theme or plugin overrides. */
.wb-gallery { color: #333; margin-top: 60px; }
.wb-gallery-intro { font-size: 1.15rem; max-width: 720px; }
.wb-gallery-note { padding: 15px 20px; border-left: 3px solid #884b52; background: #f3f4ef; max-width: 880px; line-height: 1.6; }
.wb-gallery-filters { display: flex; flex-wrap: wrap; gap: 10px; margin: 30px 0 14px; }
.wb-gallery-filters button { font: inherit; color: #333; background: #f3f4ef; border: 1px solid #6b7b68; border-radius: 3px; padding: 11px 20px; cursor: pointer; min-height: 44px; }
.wb-gallery-filters button[aria-pressed="true"], .wb-gallery-filters button:hover { background: #36443c; color: #fff; }
.wb-gallery a:focus-visible, .wb-gallery button:focus-visible { outline: 3px solid #884b52; outline-offset: 4px; }
.wb-gallery-status { font-size: .9rem; color: #333; }
.wb-gallery-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin-bottom: 45px; }
.wb-gallery-card { display: block; color: #333; background: #f3f4ef; border-radius: 4px; overflow: hidden; text-decoration: none; }
.wb-gallery-card:hover { color: #333; }
.wb-gallery-card[hidden], .wb-gallery [hidden] { display: none !important; }
.wb-gallery-photo { position: relative; aspect-ratio: 4/3; background: #3e3830; overflow: hidden; }
.wb-gallery-photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .2s ease; }
.wb-gallery-card:hover img { transform: scale(1.025); }
.wb-gallery-zoom { position: absolute; right: 12px; bottom: 12px; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: rgba(0,0,0,.65); font-size: 25px; }
.wb-gallery-caption { padding: 17px 19px; }
.wb-gallery-caption span { display: block; font-size: .8rem; color: #744047; margin-bottom: 5px; }
.wb-gallery-caption h3 { color: #333; font-size: 1.1rem; line-height: 1.35; margin: 0; text-transform: none; letter-spacing: 0; }
.wb-gallery-dialog { width: min(960px,94vw); max-height: 94vh; padding: 0; border: 1px solid #655746; border-radius: 6px; background: #211c17; color: #fff; overflow: auto; }
.wb-gallery-dialog::backdrop { background: rgba(0,0,0,.85); }
.wb-gallery-dialog-inner { position: relative; padding: 50px 18px 14px; }
.wb-gallery-large { display: block; width: 100%; height: auto; max-height: 65vh; object-fit: contain; }
.wb-gallery-dialog button { font: inherit; background: transparent; color: #fff; border: 1px solid #aa9370; border-radius: 3px; cursor: pointer; min-width: 44px; min-height: 44px; font-size: 22px; }
.wb-gallery-close { position: absolute; right: 8px; top: 4px; }
.wb-gallery-dialog-bottom { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 15px; }
.wb-gallery-dialog-caption { text-align: center; margin: 0; line-height: 1.4; }
.wb-gallery-dialog-note { text-align: center; color: #d2b78a; font-size: .8rem; margin: 10px 0 0; }
.wb-gallery-image-error { padding: 40px 10px; text-align: center; }
@media (max-width: 900px) { .wb-gallery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; } }
@media (max-width: 540px) { .wb-gallery-grid { grid-template-columns: 1fr; } .wb-gallery-filters button { flex: 1 1 auto; padding: 10px 12px; } .wb-gallery-dialog-inner { padding-left: 10px; padding-right: 10px; } }
@media (prefers-reduced-motion: reduce) { .wb-gallery-photo img { transition: none; } }
