/* ShopTownly shared business landing page. Scoped to avoid changing other pages. */
.st-profile-page{background:#fff;color:#10283a;font-family:Arial,Helvetica,sans-serif}.st-container{width:min(1180px,calc(100% - 48px));margin-inline:auto}.st-hero{position:relative;isolation:isolate;min-height:365px;display:flex;align-items:flex-end;background:#153344;color:#fff;overflow:hidden}.st-hero:before{content:"";position:absolute;inset:0;z-index:-2;background-image:var(--st-cover);background-position:center 48%;background-size:cover}.st-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,26,39,.97) 0%,rgba(5,28,43,.86) 30%,rgba(5,28,43,.32) 65%,rgba(5,28,43,.08) 100%)}.st-hero-inner{padding:70px 0 33px}.st-hero h1{color:white!important;font:700 clamp(2.3rem,4.8vw,4rem)/1.1 Georgia,serif;margin:0 0 12px;max-width:820px}.st-hero-location{font-weight:700;font-size:1.13rem;color:#54e0d1;margin-bottom:10px}.st-hero-tagline{font-style:italic;font-size:1.2rem;margin:0 0 19px;color:#fff}.st-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.st-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important;border-radius:9px;padding:13px 20px;font-weight:700;font-size:15px;min-height:46px}.st-btn-red{background:#c71c24;color:#fff!important}.st-btn-outline{border:2px solid #fff;color:#fff!important;background:#071e2d55}.st-follow-label{padding-left:18px;border-left:1px solid #ffffff80;font-weight:700}.st-social-icons{display:flex;gap:10px}.st-social-icon{display:inline-flex;align-items:center;justify-content:center;width:35px;height:35px;border-radius:50%;background:#1274dd;color:white!important;font-weight:800;text-decoration:none!important;font-size:20px}.st-social-instagram{background:linear-gradient(40deg,#f9b400,#ed2686,#7532c4)}.st-social-youtube{background:#e32828}.st-body{padding-top:32px;padding-bottom:50px}.st-intro{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(180px,1fr);align-items:center;gap:48px;margin-bottom:32px}.st-intro h2,.st-body h2{font-family:Georgia,serif;color:#10283a;line-height:1.13}.st-intro h2{font-size:clamp(1.8rem,3vw,2.55rem);margin:0 0 14px}.st-intro h2:before,.st-section-heading h2:before,.st-doc-area h2:before,.st-more h2:before{content:"";display:inline-block;width:25px;height:5px;background:#12b9ae;margin:0 14px 7px 0}.st-intro p{font-size:1rem;line-height:1.65;max-width:650px;margin:0}.st-intro-logo{display:flex;align-items:center;justify-content:center;min-height:170px}.st-intro-logo img{display:block;max-width:min(100%,300px);max-height:205px;object-fit:contain}.st-existing-gallery{margin-bottom:28px}.st-existing-gallery .srp-gallery-section{margin:0}.st-section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.st-section-heading h2{margin:0;font-size:2rem}.st-all-photos{border:0;background:transparent;color:#008e88;font-weight:700;cursor:pointer}.st-existing-gallery .srp-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.st-existing-gallery .srp-gallery-item{height:175px;width:100%;border:0;border-radius:11px;overflow:hidden;padding:0;background:#f1f5f6;cursor:pointer}.st-existing-gallery .srp-gallery-item img{width:100%;height:100%;object-fit:cover}.st-existing-gallery .srp-gallery-item:nth-child(n+5){display:none}.st-existing-gallery .srp-gallery-hint{display:none}.st-map{position:relative;min-height:265px;border-radius:13px;overflow:hidden;background:#dcf4e8;margin:24px 0}.st-map iframe{width:100%;height:265px;border:0;display:block}.st-map-card{position:absolute;right:20px;top:18px;bottom:18px;width:min(300px,42%);background:#ffffffed;border-radius:13px;padding:20px;box-shadow:0 5px 22px #0002;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.st-map-card h2{font-size:1.5rem;margin:0 0 9px}.st-map-card p{margin:0 0 14px;line-height:1.55}.st-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:22px 0 32px}.st-detail-card{background:#edf8f6;border-radius:13px;padding:22px 26px;min-width:0}.st-contact-card{background:#f7f4f1}.st-detail-card h2{font-size:1.55rem;margin:0 0 14px}.st-hours-list{display:grid;grid-template-columns:1fr auto;gap:5px 18px;font-size:14px}.st-hours-list span:nth-child(even){text-align:right}.st-closed{color:#7b8490}.st-contact-links{display:grid;gap:10px}.st-contact-links a{color:#076f8c;overflow-wrap:anywhere}.st-doc-area{margin:28px 0}.st-doc-area .srp-documents{margin:0}.st-doc-area h2{font-size:2rem;margin:0 0 18px}.st-doc-area .srp-menu-gallery{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.st-doc-area .srp-menu-item{flex:0 0 calc((100% - 28px)/3);width:auto;aspect-ratio:1/1;height:auto;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#f5f6f8;border:1px solid #e3e6e9;border-radius:12px;scroll-snap-align:start}.st-doc-area .srp-menu-item img{width:100%;height:100%;object-fit:contain!important;object-position:center!important}.st-more{margin:40px 0 20px;max-width:1000px}.st-more h2{font-size:2rem;margin:0 0 16px}.st-more-content{line-height:1.75;overflow-wrap:anywhere}.st-more-content p{margin:0 0 14px}.st-more-content h2,.st-more-content h3{margin:22px 0 10px}.st-more-content ul,.st-more-content ol{padding-left:24px}.st-footer{background:linear-gradient(145deg,#153a52,#071f31);color:#fff;text-align:center;padding:40px 15px}.st-footer strong{display:block;font:700 clamp(1.3rem,3vw,2rem) Georgia,serif}.st-footer span{display:block;margin-top:12px;font-size:1.6rem;font-weight:800}.st-footer span b{color:#29d1c6}.st-profile-page .srp-gallery-section,.st-profile-page .srp-documents{max-width:none}.st-profile-page .srp-menu-controls{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:10px}
@media(max-width:750px){.st-container{width:min(100% - 30px,1180px)}.st-hero{min-height:360px}.st-hero:after{background:linear-gradient(90deg,#061e30e8,#061e3080)}.st-hero-inner{padding:58px 0 24px}.st-hero-actions{gap:9px}.st-follow-label{padding-left:0;border:0;width:auto}.st-intro{grid-template-columns:1fr;gap:16px}.st-intro-logo{min-height:100px}.st-intro-logo img{max-height:155px}.st-existing-gallery .srp-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.st-existing-gallery .srp-gallery-item{height:150px}.st-map{display:flex;flex-direction:column}.st-map iframe{height:230px}.st-map-card{position:relative;inset:auto;width:auto;border-radius:0;box-shadow:none}.st-bottom-grid{grid-template-columns:1fr}.st-doc-area .srp-menu-item{flex-basis:80%}.st-section-heading h2,.st-doc-area h2,.st-more h2{font-size:1.6rem}}

/* Targeted restoration: documents, business events, readable long descriptions */
.st-doc-area:empty{display:none}.st-doc-area .srp-menu-gallery{align-items:stretch}.st-doc-area .srp-menu-item{padding:10px;box-sizing:border-box}.st-doc-area .srp-menu-item img{display:block;max-width:100%;max-height:100%;object-fit:contain!important}.st-doc-area .srp-document-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-top:18px}.st-doc-area .srp-document-card{display:flex;align-items:center;gap:12px;border:1px solid #e2e8ea;border-radius:10px;padding:16px;text-decoration:none;color:#10283a;background:#fff}.st-doc-area .srp-document-copy{display:grid;gap:5px}.st-doc-area .srp-document-icon{font-weight:800;color:#0a8c89}.st-doc-area .srp-menu-controls button{cursor:pointer}.st-events{margin:30px 0}.st-event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.st-event-card{display:flex;flex-direction:column;gap:9px;border:1px solid #e4e9e9;border-radius:12px;background:#fbfcfc;padding:18px;color:#10283a;text-decoration:none}.st-event-card strong{font-size:1.12rem}.st-event-date,.st-event-link{font-weight:700;color:#008d89}.st-more-content h2,.st-more-content h3,.st-more-content h4{margin:34px 0 13px!important;line-height:1.32!important}.st-more-content p{margin:0 0 18px!important;line-height:1.8}.st-more-content ul,.st-more-content ol{margin:10px 0 24px;padding-left:26px}.st-more-content li{margin:0 0 9px;line-height:1.7}.st-more-content h2:first-child,.st-more-content h3:first-child{margin-top:18px!important}.st-contact-links{min-height:45px}.st-contact-links a{display:block;line-height:1.5}
@media(max-width:750px){.st-event-grid{grid-template-columns:1fr}.st-doc-area .srp-menu-item{flex-basis:80%}}

/* v3: restore flyer cards, compact side-by-side events/documents, two-column social buttons */
.st-feature-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start;margin:26px 0 22px}
.st-feature-grid:has(.st-doc-area:empty) {grid-template-columns:1fr}
.st-feature-grid .st-doc-area,.st-feature-grid .st-events{min-width:0;margin:0}
.st-feature-grid .st-doc-area .srp-menu-item{flex-basis:calc((100% - 24px)/3);aspect-ratio:1/1}
.st-feature-grid .st-section-heading h2,.st-feature-grid .st-doc-area h2{font-size:clamp(1.4rem,2.3vw,1.85rem)}
.st-event-carousel{min-width:0}.st-event-slide[hidden]{display:none!important}
.st-event-card{display:grid;grid-template-columns:minmax(105px,38%) minmax(0,1fr);gap:15px;padding:12px;min-height:200px;align-items:center}
.st-event-card:not(:has(.st-event-flyer)){grid-template-columns:1fr}
.st-event-flyer{height:185px;display:flex;align-items:center;justify-content:center;background:#f3f5f6;border-radius:8px;overflow:hidden}
.st-event-flyer img{display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}
.st-event-copy{display:flex;flex-direction:column;gap:8px;min-width:0}.st-event-summary{font-size:.9rem;line-height:1.4}
.st-event-controls{display:flex;justify-content:center;align-items:center;gap:15px;margin-top:12px;font-weight:700}
.st-event-controls button{border:1px solid #d8e2e4;border-radius:50%;background:white;color:#0b6571;width:34px;height:34px;cursor:pointer;font-size:24px;line-height:1}
.st-follow-block{display:flex;align-items:center;gap:12px}.st-follow-block .st-follow-label{white-space:nowrap}
.st-social-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-width:260px}
.st-social-button{display:flex;align-items:center;gap:7px;border:1px solid #ffffff90;border-radius:7px;background:#0a2638b8;color:#fff!important;text-decoration:none!important;padding:5px 9px;font-size:13px;font-weight:700;min-width:0}
.st-social-button .st-social-icon{flex:none;width:25px;height:25px;font-size:16px}
.st-more-content h2,.st-more-content h3,.st-more-content h4{margin-top:38px!important}
@media(max-width:800px){.st-feature-grid{grid-template-columns:1fr;gap:24px}.st-feature-grid .st-doc-area .srp-menu-item{flex-basis:calc((100% - 24px)/3)}.st-follow-block{flex-wrap:wrap}.st-follow-block .st-follow-label{border:0;padding:0}.st-social-buttons{max-width:none}}
@media(max-width:480px){.st-event-card{grid-template-columns:minmax(90px,35%) minmax(0,1fr)}.st-event-flyer{height:155px}.st-feature-grid .st-doc-area .srp-menu-item{flex-basis:65%}}

/* Accessible native expand/collapse for extended business descriptions. */
.st-more-expand{margin-top:14px}
.st-more-toggle{display:block;cursor:pointer;list-style:none;outline-offset:5px}
.st-more-toggle::-webkit-details-marker{display:none}
.st-more-toggle::marker{content:""}
.st-more-preview{display:block;line-height:1.7;margin-bottom:14px;max-width:900px}
.st-more-read,.st-more-less{color:#008e88;font-weight:700;display:inline-flex;align-items:center;gap:8px;border-bottom:2px solid #12b9ae;padding:5px 0}
.st-more-less{display:none}
.st-more-expand[open] .st-more-preview,.st-more-expand[open] .st-more-read{display:none}
.st-more-expand[open] .st-more-less{display:inline-flex}
.st-more-expand[open] .st-more-content{margin-top:22px}
.st-more-toggle:focus-visible{outline:3px solid #12b9ae;border-radius:3px}

/* Social links beneath the business logo (v5) */
.st-intro-side{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;min-width:0}
.st-intro-side .st-intro-logo{min-height:0;width:100%}
.st-follow-below-logo{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}
.st-follow-below-logo .st-follow-label{padding:0;border:0;color:#10283a;font-size:14px}
.st-follow-below-logo .st-social-buttons{width:min(100%,300px);max-width:300px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.st-follow-below-logo .st-social-button{background:#f3f8f8;border:1px solid #d9e7e7;color:#123247!important;padding:8px 10px;justify-content:flex-start}
.st-follow-below-logo .st-social-button:hover,.st-follow-below-logo .st-social-button:focus-visible{background:#e4f3f2;border-color:#18b9af}
@media(max-width:750px){.st-intro-side{gap:12px}.st-follow-below-logo .st-social-buttons{width:min(100%,320px);max-width:320px}}

/* Come Visit Us: responsive, independently paginated photo gallery. */
.st-profile-page .st-existing-gallery .srp-gallery-section .srp-gallery {
    display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:100%;
}
.st-profile-page .st-existing-gallery .srp-gallery-item {
    position:relative;display:block!important;width:100%;min-width:0;max-width:none;
    height:auto;aspect-ratio:4/3;overflow:hidden;border-radius:11px;
}
.st-profile-page .st-existing-gallery .srp-gallery-item[hidden] {display:none!important}
.st-profile-page .st-existing-gallery .srp-gallery-item img {
    display:block;width:100%;height:100%;object-fit:cover;
}
.st-profile-page .st-gallery-controls {display:flex;align-items:center;justify-content:center;gap:16px;margin:14px 0 0;font-size:13px;color:#355365}
.st-profile-page .st-gallery-controls[hidden] {display:none!important}
.st-gallery-controls button {display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #d8e2e4;border-radius:50%;background:#fff;color:#0b6571;font-size:21px;cursor:pointer}
.st-gallery-controls button:disabled {opacity:.4;cursor:default}
.st-gallery-controls button:focus-visible {outline:2px solid #12b9ae;outline-offset:2px}
@media (min-width:601px) and (max-width:900px) {
    .st-profile-page .st-existing-gallery .srp-gallery-section .srp-gallery {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:600px) {
    .st-profile-page .st-existing-gallery .srp-gallery-section .srp-gallery {grid-template-columns:minmax(0,1fr)}
    .st-profile-page .st-existing-gallery .srp-gallery-item {aspect-ratio:4/3;touch-action:pan-y}
}

/* Mobile gallery containment: reserve actual height before the next section. */
.st-profile-page .st-existing-gallery,
.st-profile-page .st-existing-gallery .srp-gallery-section {
    position:relative;
    display:flow-root;
    width:100%;
    min-width:0;
    clear:both;
}
.st-profile-page .st-existing-gallery .srp-gallery-section .srp-gallery {
    position:relative;
    min-width:0;
    grid-auto-rows:auto;
    align-items:stretch;
}
.st-profile-page .st-existing-gallery .srp-gallery-item {
    position:relative!important;
    box-sizing:border-box;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:4 / 3;
    isolation:isolate;
}
.st-profile-page .st-existing-gallery .srp-gallery-item > img {
    position:absolute!important;
    inset:0;
    display:block;
    width:100%!important;
    height:100%!important;
    max-width:none;
    max-height:none;
    object-fit:cover;
}
.st-profile-page .st-feature-grid {clear:both;}
@media (max-width:600px) {
    .st-profile-page .st-existing-gallery .srp-gallery-section .srp-gallery {
        grid-template-columns:minmax(0,1fr)!important;
    }
    .st-profile-page .st-existing-gallery .srp-gallery-item {
        width:100%!important;
        aspect-ratio:4 / 3!important;
    }
}
