.product-gallery { background: linear-gradient(180deg,#f2f8ff,#e5f3fa); overflow: hidden; }
.product-gallery.gallery-purple { background: linear-gradient(180deg,#f8f5ff,#eee8fa); }
.product-gallery.gallery-teal { background: linear-gradient(180deg,#eefbf7,#daf6f0); }
.gallery-teal .eyebrow { color: #008d99; }
.gallery-teal .gallery-card { border-color: #c0e4dd; box-shadow: 0 12px 30px #006b7012; }
.gallery-teal .gallery-card[aria-pressed=true] { border-color: #008d99; box-shadow: 0 20px 45px #006b7030; }
.gallery-teal .gallery-card-title,
.gallery-teal .gallery-enlarge,
.gallery-teal .gallery-close { background: #006b70; color: white; }
.gallery-teal .gallery-controls button { border-color: #abd8d2; color: #006b70; }
.gallery-teal .gallery-dialog::backdrop { background: #063d54e6; }
.gallery-row { display: flex; align-items: center; gap: 22px; padding: 20px 6px 35px; }
.gallery-card[hidden] { display: none; }
.gallery-card { flex: 1; min-width: 0; padding: 0; background: white; color: var(--ink); border: 1px solid #d4e3ed; border-radius: 22px; overflow: hidden; box-shadow: 0 12px 30px #073b6212; transform: scale(.92); transition: transform .35s, box-shadow .35s; }
.gallery-card[aria-pressed=true] { transform: scale(1.04); box-shadow: 0 20px 45px #073b6230; border-color: var(--blue); }
.gallery-photo { display: flex; align-items: center; justify-content: center; height: 310px; padding: 24px; background: white; }
.gallery-photo img { width: 100%; height: 100%; object-fit: contain; }
.gallery-card-title { display: block; padding: 20px 15px; background: #073b62; color: white; font-weight: 700; font-size: .95rem; }
.gallery-controls { display: flex; align-items: center; justify-content: center; gap: 20px; }
.gallery-controls button { width: 46px; height: 46px; border-radius: 50%; background: white; color: var(--navy); font-size: 1.4rem; border: 1px solid #bdd4e5; }
.gallery-status { min-width: 240px; text-align: center; font-size: .85rem; }
.gallery-bottom { text-align: center; margin-top: 24px; }
.gallery-bottom p { font-size: .8rem; margin: 16px 0 0; }
.gallery-dialog { border: 0; border-radius: 20px; padding: 24px; width: min(700px,92vw); max-height: 90dvh; color: var(--ink); }
.gallery-dialog::backdrop { background: #031d3ce6; }
.gallery-close { display: block; margin-left: auto; padding: 10px 18px; border-radius: 8px; background: var(--navy); color: white; }
.gallery-dialog img { width: 100%; height: min(60dvh,550px); object-fit: contain; margin-top: 16px; }
.gallery-dialog p { text-align: center; margin: 15px 0 0; }
@media(max-width:760px) {
 .gallery-row { gap: 8px; margin-inline: -10px; padding-block: 5px 22px; }
 .gallery-card { flex: 0 0 14%; transform: scale(.9); }
 .gallery-card[aria-pressed=true] { flex: 1; transform: none; }
 .gallery-photo { padding: 10px; height: 240px; }
 .gallery-card:not([aria-pressed=true]) .gallery-photo { height: 185px; padding: 4px; }
 .gallery-card:not([aria-pressed=true]) .gallery-card-title { display: none; }
 .gallery-card-title { font-size: .8rem; padding: 15px 8px; }
 .gallery-controls { gap: 8px; }
 .gallery-status { min-width: 0; flex: 1; font-size: .75rem; }
}
@media(prefers-reduced-motion:reduce) { .gallery-card { transition: none; } }
