/* Homepage Photo Gallery — approved demo gallery, extended as horizontal scroll */
.gallery .hwz-gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}
.gallery .hwz-gallery-hint{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.gallery .hwz-gallery-controls{display:flex;gap:10px}
.gallery .hwz-gallery-arrow{width:44px;height:44px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);display:grid;place-items:center;cursor:pointer;font-size:20px;line-height:1;transition:.2s ease}
.gallery .hwz-gallery-arrow:hover{transform:translateY(-1px);background:var(--aqua)}
.gallery .hwz-gallery-scroll{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,34%);gap:18px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:0 0 16px;scrollbar-width:thin;scrollbar-color:#c8d4cf transparent}
.gallery .hwz-gallery-scroll::-webkit-scrollbar{height:8px}.gallery .hwz-gallery-scroll::-webkit-scrollbar-track{background:transparent}.gallery .hwz-gallery-scroll::-webkit-scrollbar-thumb{background:#c8d4cf;border-radius:999px}
.gallery .hwz-gallery-scroll .gallery-card{height:430px;margin:0!important;border-radius:22px;overflow:hidden;scroll-snap-align:start;background:#f1f1ee}
.gallery .hwz-gallery-scroll .gallery-card img{width:100%;height:100%;object-fit:cover;object-position:center}

/* Homepage section actions: only explicit buttons are clickable. */
body.home .hwz-section-action{margin-top:28px}
body.home .specialties .hwz-section-action{text-align:right}
body.home .classes .hwz-section-action{text-align:left}

/* Defensive spacing reset for the shortcode-only front page. */
body.home .hwz-home-main>section{margin-top:0;margin-bottom:0}
body.home .hwz-home-main>br,body.home .hwz-home-main>p:empty{display:none!important;margin:0!important;padding:0!important;height:0!important}

@media(max-width:900px){.gallery .hwz-gallery-scroll{grid-auto-columns:minmax(280px,62%)}}
@media(max-width:680px){.gallery .hwz-gallery-toolbar{align-items:flex-end}.gallery .hwz-gallery-scroll{grid-auto-columns:86%;gap:12px;padding-bottom:12px}.gallery .hwz-gallery-scroll .gallery-card{height:390px}.gallery .hwz-gallery-arrow{width:40px;height:40px}.gallery .hwz-gallery-hint{font-size:10px}body.home .specialties .hwz-section-action{text-align:left}}
