/* Existing visual CSS is retained. These rules replace old UI plugin behavior. */
.kogma-animation,.wow {visibility:visible!important;opacity:1!important;animation:none!important;}
.swiper-wrapper {display:flex;transition:transform .8s;}
.swiper-slide {flex:0 0 100%;width:100%;}
.swiper-container {touch-action:pan-y;}
button.swiper-pagination-bullet {border:0;padding:0;min-width:12px;min-height:12px;cursor:pointer;}
#photo-viewer {border:0;padding:0;background:transparent;max-width:96vw;max-height:96vh;overflow:visible;}
#photo-viewer::backdrop {background:rgba(0,0,0,.88);}
#photo-viewer>img {display:block;max-width:90vw;max-height:86vh;object-fit:contain;}
#photo-viewer>button {position:absolute;border:0;border-radius:0;background:#fff;color:#222;min-width:44px;min-height:44px;cursor:pointer;font:32px/1 sans-serif;padding:4px;}
#photo-viewer .photo-close {right:0;top:0;z-index:1;}
#photo-viewer .photo-prev {left:0;top:45%;}
#photo-viewer .photo-next {right:0;top:45%;}
.suzuran-form .wpcf7-response-output[hidden] {display:none!important;}
.suzuran-form .wpcf7-response-output {border:2px solid #25683d;margin:1em 0;padding:.75em;}
.suzuran-form .contact-error {border-color:#a82c2c;}
.suzuran-form [aria-invalid=true] {outline:2px solid #a82c2c;}
.suzuran-form :focus-visible {outline:2px solid #25683d;outline-offset:2px;}
.suzuran-form input[type=submit]:disabled {opacity:.6;cursor:wait;}
.local-preview-note {padding:12px;color:#222;background:#fff4cc;text-align:center;}
.listing-loading {opacity:.6;pointer-events:none;}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important;}*,*::before,*::after{animation:none!important;transition:none!important;}}

/* Only the nav bar sticks. The hero inside #masthead must scroll away; display:contents lets the bar stick across the whole page. */
#masthead {display:contents;}
#sticky-header {position:sticky!important;top:0;z-index:1000;background:#fff;}
/* Narrow screens: hide the header phone/hours so they no longer overlap the logo. */
@media(max-width:480px){#sticky-header .info{display:none;}}
/* Mobile menu: the opened list must be opaque so the hero photo does not show through, and scroll if taller than the screen. */
@media(max-width:980px){#site-navigation.toggled-on{background:#fff;box-shadow:0 10px 18px rgba(0,0,0,.18);}#site-navigation.toggled-on #primary-menu{background:#fff;clear:both;}}
