.awmg-placeholder { padding: 28px; border: 1px dashed #b8b8b8; text-align: center; background: #fafafa; }
.awmg-gallery { width: 100%; }
.awmg-filters { display: flex; flex-wrap: wrap; justify-content: var(--awmg-filter-align, center); gap: 8px; margin: 0 0 22px; }
.awmg-filter, .awmg-load-more, .awmg-page-prev, .awmg-page-next { appearance: none; border: 1px solid currentColor; border-radius: 999px; padding: 9px 17px; background: transparent; color: inherit; font: inherit; line-height: 1.2; cursor: pointer; transition: .2s ease; }
.awmg-filter:hover, .awmg-filter.is-active, .awmg-load-more:hover, .awmg-page-prev:hover:not(:disabled), .awmg-page-next:hover:not(:disabled) { background: currentColor; color: #fff; }
.awmg-filter:focus-visible, .awmg-link:focus-visible, .awmg-more-overlay:focus-visible, .awmg-load-more:focus-visible, .awmg-page-prev:focus-visible, .awmg-page-next:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
.awmg-grid { column-count: var(--awmg-cols-d, 4); column-gap: var(--awmg-gap, 18px); }
.awmg-item { position: relative; display: inline-block; width: 100%; margin: 0 0 var(--awmg-gap, 18px); overflow: hidden; border-radius: var(--awmg-radius, 0); vertical-align: top; break-inside: avoid; -webkit-column-break-inside: avoid; transform: translateZ(0); }
.awmg-item.is-hidden { display: none !important; }
.awmg-link { position: relative; display: block; overflow: hidden; color: inherit; text-decoration: none; border-radius: inherit; }
.awmg-image { display: block; width: 100%; height: auto; transition: transform .45s cubic-bezier(.2,.75,.25,1); }
.awmg-hover-zoom .awmg-item:hover .awmg-image, .awmg-hover-zoom .awmg-item:focus-within .awmg-image { transform: scale(1.045); }
.awmg-visual-overlay { position: absolute; inset: 0; background: var(--awmg-overlay, #000); opacity: 0; transition: opacity .25s ease; pointer-events: none; }
.awmg-has-overlay-text .awmg-visual-overlay, .awmg-item:hover .awmg-visual-overlay, .awmg-item:focus-within .awmg-visual-overlay { opacity: var(--awmg-overlay-opacity, .45); }
.awmg-text-overlay { position: absolute; z-index: 2; inset: auto 0 0; display: grid; gap: 4px; padding: 18px; color: #fff; transform: translateY(4px); transition: transform .25s ease; pointer-events: none; }
.awmg-item:hover .awmg-text-overlay, .awmg-item:focus-within .awmg-text-overlay { transform: translateY(0); }
.awmg-title { display: block; font-size: 18px; line-height: 1.25; }
.awmg-caption { display: block; font-size: 14px; line-height: 1.45; opacity: .9; }
.awmg-more-overlay { display: none; position: absolute; z-index: 5; inset: 0; width: 100%; border: 0; background: rgba(0,0,0,.58); color: #fff; font: inherit; cursor: pointer; }
.awmg-more-overlay span { font-size: clamp(34px, 5vw, 64px); font-weight: 700; }
.awmg-item.awmg-has-more .awmg-more-overlay { display: grid; place-items: center; }
.awmg-controls { display: flex; justify-content: center; margin-top: 12px; }
.awmg-load-more[hidden], .awmg-page-controls[hidden] { display: none !important; }
.awmg-page-controls { display: flex; align-items: center; gap: 12px; }
.awmg-page-prev, .awmg-page-next { width: 42px; height: 42px; padding: 0; font-size: 25px; }
.awmg-page-prev:disabled, .awmg-page-next:disabled { opacity: .35; cursor: default; }
.awmg-page-status { min-width: 58px; text-align: center; }
.awmg-lightbox { position: fixed; z-index: 999999; inset: 0; display: none; place-items: center; padding: 54px 76px; background: rgba(0,0,0,.92); color: #fff; }
.awmg-lightbox.is-open { display: grid; }
.awmg-lb-figure { display: grid; justify-items: center; max-width: min(92vw, 1600px); max-height: 88vh; margin: 0; }
.awmg-lb-image { display: block; max-width: 100%; max-height: 78vh; object-fit: contain; }
.awmg-lb-caption { display: grid; gap: 4px; width: min(100%, 900px); padding: 13px 12px 0; text-align: center; }
.awmg-lb-caption strong { font-size: 18px; }
.awmg-lb-caption span { opacity: .82; }
.awmg-lb-close, .awmg-lb-prev, .awmg-lb-next { position: fixed; z-index: 2; border: 0; background: transparent; color: #fff; cursor: pointer; }
.awmg-lb-close { top: 14px; right: 22px; font-size: 48px; line-height: 1; }
.awmg-lb-prev, .awmg-lb-next { top: 50%; transform: translateY(-50%); font-size: 68px; line-height: 1; padding: 18px; }
.awmg-lb-prev { left: 8px; }
.awmg-lb-next { right: 8px; }
.awmg-lb-close:focus-visible, .awmg-lb-prev:focus-visible, .awmg-lb-next:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.awmg-no-scroll { overflow: hidden; }
@media (max-width: 980px) { .awmg-grid { column-count: var(--awmg-cols-t, 2); } }
@media (max-width: 767px) {
  .awmg-grid { column-count: var(--awmg-cols-p, 1); }
  .awmg-lightbox { padding: 54px 42px; }
  .awmg-lb-prev, .awmg-lb-next { font-size: 48px; padding: 8px; }
  .awmg-lb-prev { left: 0; }
  .awmg-lb-next { right: 0; }
}
@media (prefers-reduced-motion: reduce) { .awmg-image, .awmg-visual-overlay, .awmg-text-overlay { transition: none !important; } }
