.aw-gallery{--aw-card-width:430px;--aw-card-gap:14px;display:block;padding:32px 0 24px;overflow:hidden;background:#fff;color:#111}
.aw-gallery *{box-sizing:border-box}
.aw-gallery__heading{text-align:center;padding:0 20px;margin:0 auto 24px;max-width:900px}
.aw-gallery__heading h2{font-family:var(--typeHeaderPrimary),var(--typeHeaderFallback);font-size:24px;font-weight:400;line-height:1.2;letter-spacing:.06em;margin:0 0 10px}
.aw-gallery__subtitle{font-size:14px;line-height:1.4;margin:0}
.aw-gallery__disclosure{font-size:13px;font-style:italic;line-height:1.5;letter-spacing:.025em;color:#666;margin:8px auto 0;max-width:640px}
.aw-gallery__track{display:flex;align-items:stretch;gap:var(--aw-card-gap);width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;padding:3px max(16px,calc((100% - var(--aw-card-width))/2)) 14px;overscroll-behavior-x:contain}
.aw-gallery__track::-webkit-scrollbar{display:none}
.aw-gallery__track:focus-visible{outline:2px solid currentColor;outline-offset:-3px}
.aw-gallery__card{flex:0 0 var(--aw-card-width);min-width:0;margin:0;display:flex;flex-direction:column;align-items:stretch;scroll-snap-align:center;padding:12px;border:1px solid #efe2d7;border-radius:22px;background:#fff;box-shadow:0 4px 12px #00000012;text-align:center}
.aw-gallery__photo{width:100%;aspect-ratio:4/5;overflow:hidden;border-radius:14px;background:#f5f3ef}
.aw-gallery__photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;-webkit-user-drag:none}
.aw-gallery__name{font-family:var(--typeBasePrimary),var(--typeBaseFallback);font-size:17px;line-height:1.4;letter-spacing:0;font-weight:600;margin:16px 0 12px;text-transform:none}
.aw-gallery__body{font-size:17px;line-height:1.5;padding:0 7px;flex:1 0 auto}
.aw-gallery__body p{margin:0 0 8px}
.aw-gallery__body p:last-child{margin:0}
.aw-gallery__link{font-size:14px;line-height:1.5;display:inline-block;align-self:center;margin:18px 0 3px;text-decoration:underline;text-underline-offset:3px}
.aw-gallery__navigation{display:flex;justify-content:center;align-items:center;gap:8px;margin:2px auto 0}
.aw-gallery__dots{display:flex;justify-content:center;align-items:center;gap:0}
.aw-gallery button{appearance:none;display:grid;place-items:center;min-width:0;min-height:0;padding:0;border:0;background:transparent;color:#111;cursor:pointer;box-shadow:none}
.aw-gallery button:focus-visible,.aw-gallery a:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.aw-gallery button.aw-gallery__dot{width:28px;height:36px}
.aw-gallery__dot::before{content:'';width:9px;height:9px;border:1px solid currentColor;border-radius:50%;background:transparent}
.aw-gallery__dot[aria-current=true]::before{background:currentColor}
.aw-gallery button.aw-gallery__arrow{width:44px;height:44px;font-size:22px}
.aw-gallery button.aw-gallery__arrow:disabled{opacity:.3;cursor:default}
.aw-gallery__navigation[hidden]{display:none}
@media(max-width:768px){
 .aw-gallery{--aw-card-width:min(76vw,340px);--aw-card-gap:12px;padding:24px 0 18px}
 .aw-gallery__heading{margin-bottom:10px;padding:0 24px}
 .aw-gallery__heading h2{font-size:19px;margin-bottom:10px}
 .aw-gallery__card{padding:12px;border-radius:20px}
 .aw-gallery__photo{border-radius:12px}
 .aw-gallery__name{font-size:15px;margin:13px 0 10px}
 .aw-gallery__body{font-size:15px;line-height:1.5;padding:0 4px}
 .aw-gallery__link{font-size:13px}
}

.aw-gallery__rating{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;font-size:14px;line-height:1.3}
.aw-gallery__rating-stars{color:#fc0;font-size:25px;line-height:1;letter-spacing:1px}
.aw-gallery__review-count{margin:8px 0 14px;font-size:13px;line-height:1.6;font-style:italic;letter-spacing:.04em;color:#777}

.aw-gallery .aw-gallery__body{padding-top:16px}
.aw-gallery .aw-gallery__name{font-size:15px;line-height:1.4;margin:18px 0 0;text-transform:none}
@media(max-width:768px){.aw-gallery .aw-gallery__name{font-size:13px}}

.aw-gallery__card-stars{display:flex;justify-content:center;gap:0;color:#ffcc00;font-size:20px;line-height:1;margin:10px 0 18px;letter-spacing:0}
.aw-gallery__star-empty{color:#ddd}
.aw-gallery .aw-gallery__card-stars + .aw-gallery__body{padding-top:0}
@media(max-width:768px){.aw-gallery__card-stars{margin:9px 0 16px}}
