/* APAUGĘS: shared frontend and Site Editor presentation. */
:root {
 --font-body:var(--wp--preset--font-family--body,"DM Sans",sans-serif);
 --font-display:var(--wp--preset--font-family--display,"Barlow Condensed",sans-serif);
 --forest:var(--wp--preset--color--forest,#253d2d); --deep:var(--wp--preset--color--deep,#18291e);
 --lime:var(--wp--preset--color--lime,#d7e8a6); --cream:var(--wp--preset--color--cream,#f2f1e8);
 --border:#bbc3ad; --muted-foreground:var(--wp--preset--color--muted,#596452);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:24px; }
body { margin:0; -webkit-font-smoothing:antialiased; }
button,a { -webkit-tap-highlight-color:transparent; }
button { font:inherit; }
::selection { background:var(--lime); color:var(--forest); }
:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
.wp-site-blocks > * { margin-block:0; }
.home-main p,.home-main h1,.home-main h2,.home-main h3,.site-header p,.site-footer p { margin:0; }
.home-main a,.site-header a,.site-footer a { color:inherit; text-decoration:none; }
.home-main img { display:block; width:100%; height:100%; object-fit:cover; }
.home-main figure,.site-header figure,.site-footer figure { margin:0; }
.site-header { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:21px 4%; background:var(--forest); color:var(--cream); border-bottom:1px solid #f2f1e826; }
.brand { flex-shrink:0; }
.brand-logo { width:44px; }
.brand-logo a { display:block; min-width:44px; min-height:44px; }
.brand-logo img { display:block; width:100%; height:auto; object-fit:contain; filter:brightness(0) invert(1); }
.site-header .brand-logo img { width:auto; height:50px; }
.site-footer .brand-logo { width:148px; }
.site-nav { font-family:var(--font-body); font-size:16px; font-weight:600; }
.site-nav .wp-block-navigation__container { gap:32px; }
.site-nav .wp-block-navigation-item__content { position:relative; display:flex; align-items:center; min-height:44px; padding:8px 0; }
.site-nav .wp-block-navigation-item__content:after { content:''; position:absolute; bottom:2px; left:0; right:100%; height:1px; background:var(--lime); transition:right .25s; }
.site-nav .wp-block-navigation-item__content:hover:after { right:0; }
.wp-block-buttons { gap:12px; }
.home-main .wp-block-button__link,.site-header .wp-block-button__link { display:inline-flex; align-items:center; justify-content:space-between; gap:35px; min-height:48px; text-align:left; transition:background .2s; color:var(--forest); }
.home-main .wp-block-button__link:after,.site-header .wp-block-button__link:after,.text-link a:after,.service-row h3 a:after { content:'↗'; font:400 25px/1 var(--font-body); transition:transform .2s; }
.wp-block-button__link:hover { background:#e6f4c5; }
.wp-block-button__link:hover:after,.text-link a:hover:after { transform:translate(3px,-3px); }
.header-booking { flex-shrink:0; }
.header-booking .wp-block-button__link { background:var(--cream); padding:13px 20px; }
.hero { position:relative; min-height:min(780px,calc(100svh - 93px)); background:var(--forest); color:var(--cream); overflow:hidden; }
.hero-photo { position:absolute; width:55%; inset:0 0 0 auto; }
.hero-photo-image { position:absolute; inset:0; height:100%; }
.hero-photo:after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#253d2d65,transparent 28%),linear-gradient(0deg,#15251e69,transparent 35%); pointer-events:none; }
.hero-photo img { object-position:47% 50%; }
.photo-caption { position:absolute; z-index:1; display:flex; justify-content:space-between; left:32px; right:32px; bottom:27px; font-size:12px; letter-spacing:.14em; }
.hero-copy { position:relative; z-index:2; width:70%; padding:52px 0 110px 4%; pointer-events:none; }
.hero-copy a { pointer-events:auto; }
.eyebrow { font-size:12px; letter-spacing:.13em; }
.home-main .hero h1 { margin:36px 0 34px; font:600 clamp(90px,12.7vw,190px)/.84 var(--font-display); letter-spacing:-.035em; }
.home-main .hero h1 span { color:var(--lime); }
.hero-bottom p { font-size:16px; line-height:1.8; }
.hero-booking { margin-top:28px; }
.hero-booking .wp-block-button__link { min-width:230px; }
.hero-scroll { position:absolute; left:4%; bottom:28px; z-index:3; }
.hero-scroll a { display:flex; align-items:center; gap:30px; min-height:44px; font-size:12px; letter-spacing:.15em; }
.hero-scroll span { font-size:20px; }
.brand-strip { background:var(--lime); color:var(--forest); padding:19px 0; display:flex; gap:45px; align-items:center; white-space:nowrap; overflow:hidden; justify-content:center; font:500 24px/1.4 var(--font-display); letter-spacing:.045em; }
.brand-strip p { flex-shrink:0; }
.strip-scissors { font:24px/1 sans-serif; transform:rotate(-30deg); }
.section-pad { padding:90px 6%; }
.section-label { display:flex; justify-content:space-between; gap:20px; font-size:12px; letter-spacing:.13em; padding-bottom:25px; border-bottom:1px solid var(--border); }
.intro-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:10%; margin:52px 0 70px; }
.home-main h2 { font:600 clamp(48px,6.1vw,88px)/.95 var(--font-display); letter-spacing:-.025em; }
.heading-accent { font:inherit; letter-spacing:inherit; text-transform:uppercase; }
.intro-copy { padding-top:9px; max-width:445px; }
.intro-copy > p:first-child { font-size:25px; line-height:1.4; letter-spacing:-.035em; margin-bottom:20px; }
.intro-copy > p:nth-child(2) { font-size:16px; line-height:1.8; color:var(--muted-foreground); }
.home-main .text-link,.site-footer .text-link { margin-top:23px; }
.text-link a { display:inline-flex; align-items:center; justify-content:space-between; gap:32px; font-size:14px; border-bottom:1px solid currentColor; padding:12px 0; min-height:44px; }
.shop-film { position:relative; aspect-ratio:16/9; overflow:hidden; background:var(--deep); }
/* The footage contains a rounded black frame. Crop that border inside a square edge. */
.shop-film video { width:100%; height:100%; object-fit:cover; display:block; transform:scale(1.14); transform-origin:center; }
.shop-film:not(.is-enhanced) video { transform:none; }
.shop-film figcaption { position:absolute; left:0; right:0; bottom:0; margin:0; padding:50px 25px 30px; background:linear-gradient(transparent,#0d170cb3); color:var(--cream); text-align:left; font-size:12px; letter-spacing:.12em; pointer-events:none; }
.shop-film:not(.is-enhanced) figcaption { top:0; bottom:auto; padding:12px; background:#18291e80; }
.film-toggle { position:absolute; bottom:20px; right:25px; height:44px; min-width:110px; padding:10px 15px; border:1px solid #f2f1e870; border-radius:0; background:#18291e90; color:var(--cream); font-size:12px; cursor:pointer; }
.film-toggle:hover { background:var(--cream); color:var(--forest); }
.film-footnote { display:flex; justify-content:space-between; gap:16px; margin-top:17px; font-size:12px; letter-spacing:.13em; color:var(--muted-foreground); }
.services { background:var(--forest); color:var(--cream); padding-bottom:100px; }
.services .section-label { border-color:#f2f1e840; }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:35px; margin:48px 0 56px; }
.section-heading > p { font-size:16px; line-height:1.7; padding-bottom:7px; opacity:.75; }
.services h2 .heading-accent { color:var(--lime); }
.services-grid { display:grid; grid-template-columns:.8fr 1.3fr; gap:8%; }
.service-image { position:sticky; top:24px; align-self:start; aspect-ratio:3/4; min-height:0; overflow:hidden; }
.service-image > figure { position:absolute; inset:0; opacity:0; visibility:hidden; transition:opacity .45s,visibility .45s; }
.service-image > figure:first-child,.service-image > figure.is-active { opacity:1; visibility:visible; }
.service-image > figure[aria-hidden="true"] { opacity:0; visibility:hidden; }
.service-image img { object-position:48% 50%; transform:scale(1.01); }
.service-image .service-toning-photo img { object-position:72% 50%; }
.service-row { position:relative; border-top:1px solid #f2f1e840; display:flex; align-items:center; gap:24px; padding:29px 0; transition:color .25s,padding .25s; }
.service-row h3 a:before { content:''; position:absolute; inset:0; }
.service-number { font-size:12px; opacity:.65; align-self:flex-start; padding-top:9px; }
.service-detail { flex:1; min-width:0; }
.service-row h3 { font:500 36px/1.05 var(--font-display); letter-spacing:-.01em; }
.service-row h3 a { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.service-row h3 a:after { flex-shrink:0; }
.service-detail p { color:#f2f1e8bf; font-size:16px; margin-top:10px; line-height:1.5; }
.service-row:hover,.service-row:focus-within { color:var(--lime); padding-left:9px; }
.home-main .service-all { color:var(--lime); margin-top:20px; }
.home-main .booking-note { font-size:12px; opacity:.7; margin-top:13px; }
.team { padding-top:92px; padding-bottom:100px; }
.team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; align-items:start; }
.team-member:nth-child(2) { margin-top:58px; }
.team-member:nth-child(3) { margin-top:116px; }
.portrait { position:relative; aspect-ratio:3/4; overflow:hidden; background:#718366; }
.portrait > figure { height:100%; }
.portrait-main a { display:block; width:100%; height:100%; }
.portrait-main a:after { content:'↗'; position:absolute; bottom:15px; right:15px; z-index:3; background:var(--lime); color:var(--forest); padding:11px; font:24px/1 var(--font-body); }
.portrait img { object-position:50% 35%; transform:scale(1.01); transition:transform .65s,opacity .35s; }
.portrait > .portrait-alternate { position:absolute; inset:0; opacity:0; pointer-events:none; transition:opacity .35s; }
.portrait:hover .portrait-alternate,.portrait:focus-within .portrait-alternate { opacity:1; }
.portrait:hover img { transform:scale(1.035); }
.portrait-main a:focus-visible { outline-offset:-4px; outline:3px solid var(--lime); }
.portrait-tag { position:absolute; top:16px; left:16px; background:var(--cream); color:var(--forest); font-size:12px; padding:9px 11px; letter-spacing:.07em; pointer-events:none; }
.member-heading { margin-top:19px; display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.member-heading h3 { font:500 38px/1 var(--font-display); text-transform:uppercase; }
.member-heading h3 a { display:inline-flex; align-items:center; min-height:44px; }
.member-heading > p { font-size:12px; letter-spacing:.065em; text-align:right; max-width:140px; }
.team-member > p { font-size:16px; color:var(--muted-foreground); line-height:1.6; margin-top:13px; max-width:310px; }
.visit { display:grid; grid-template-columns:1.05fr 1fr; background:var(--wp--preset--color--sage,#dfe4d2); }
.visit-image { min-height:620px; }
.visit-image img { object-position:38% 50%; }
.visit-copy { padding:60px 12%; }
.visit-copy h2 { margin:40px 0 24px; }
.visit-address { font-size:22px; line-height:1.5; letter-spacing:-.015em; }
.visit-copy .text-link { margin-top:10px; }
.visit-copy .text-link a { gap:13px; }
.visit-hours { margin-top:46px; padding-top:23px; border-top:1px solid #253d2d40; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.visit-hours p:first-child { font-size:12px; letter-spacing:.075em; }
.visit-hours p:last-child { font-size:17px; white-space:nowrap; }
.final-cta { position:relative; overflow:hidden; background:var(--lime); text-align:center; padding:87px 5% 80px; }
.final-cta h2 { font-size:clamp(75px,11vw,165px); margin:25px 0 30px; line-height:1; }
.final-cta .wp-block-buttons { justify-content:center; }
.final-cta .wp-block-button__link { background:var(--forest); color:var(--cream); min-width:230px; }
.final-cta .wp-block-button__link:hover { background:var(--deep); }
.final-cta > p:last-child { font-size:12px; margin-top:18px; }
.mobile-break { display:none; }
.site-footer { background:var(--deep); color:var(--cream); padding:43px 5% 25px; }
.footer-top { display:flex; justify-content:space-between; align-items:center; gap:24px; padding-bottom:40px; }
.footer-top > p:not(.back-top) { font-size:12px; letter-spacing:.09em; opacity:.7; }
.site-footer .back-top { margin-top:0; }
.back-top a { border:0; gap:15px; }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-top:22px; border-top:1px solid #f2f1e829; font-size:12px; color:#f2f1e8b3; }
.footer-bottom a { display:flex; align-items:center; min-height:44px; font-size:14px; }
/* Normal pages, posts, archives and search results remain fully usable. */
.content-main { max-width:1400px; margin:0 auto; padding:70px 6%; min-height:55vh; }
.content-main > * + * { margin-top:28px; }
.content-main h1 { font-size:clamp(44px,7vw,88px); margin-top:0; }
.content-main .wp-block-post-template { padding:0; list-style:none; }
.content-main .wp-block-post-template > li { padding:30px 0; border-bottom:1px solid var(--border); }
.content-main .wp-block-post-template h2 { margin:16px 0; font-size:42px; }
.content-main .wp-block-post-featured-image img { max-height:620px; object-fit:cover; }
.content-main .wp-block-post-content { margin-top:32px; }
.content-main .wp-block-post-content > * + * { margin-block-start:1.5rem; }
.content-main input:not([type=checkbox]):not([type=radio]),.content-main textarea { min-height:44px; padding:12px; border:1px solid var(--muted-foreground); font:inherit; max-width:100%; }
.content-main input[type=submit],.content-main button { cursor:pointer; padding:12px 18px; min-height:44px; background:var(--forest); color:var(--cream); border:0; font:inherit; }
.content-main .wp-block-query-pagination { margin-top:28px; }
.content-main .wp-block-query-pagination a,.content-main .comment-reply-link { display:inline-flex; align-items:center; min-height:44px; }
.content-main .wp-block-comments { margin-top:50px; }
.content-main .wp-block-comment-template { list-style:none; padding-left:0; }
.content-main .wp-block-comment-template > li { padding:20px 0; }
@media(min-width:1600px) {
 .hero-copy { padding-top:66px; }.home-main .hero h1 { margin-top:50px; }
 .section-pad { padding-left:max(6%,calc((100vw - 1450px)/2)); padding-right:max(6%,calc((100vw - 1450px)/2)); }
}
@media(max-width:1000px) {
 .site-nav .wp-block-navigation__container { gap:20px; }
 .services-grid { gap:5%; grid-template-columns:.75fr 1fr; }
 .service-row { gap:15px; padding:25px 0; }.service-row h3 { font-size:30px; }
 .team-grid { gap:19px; }.member-heading { display:block; }.member-heading > p { text-align:left; margin-top:10px; }
 .visit-copy { padding:55px 9%; }.visit-hours { align-items:flex-start; flex-direction:column; gap:9px; }
}
@media(max-width:900px) {
 .hero { min-height:740px; }.hero-photo { width:54%; }.hero-copy { padding-top:50px; width:85%; }
 .home-main .hero h1 { font-size:15vw; margin-top:58px; }.hero-bottom p { max-width:290px; }
 .section-pad { padding:65px 5%; }.intro-grid { gap:7%; }.intro-copy > p:first-child { font-size:22px; }
 .site-header { gap:16px; }.site-nav { font-size:15px; }.site-nav .wp-block-navigation__container { gap:16px; }
 .header-booking .wp-block-button__link { gap:16px; padding:13px 16px; }
}
@media(max-width:760px) {
 .site-header { flex-wrap:wrap; gap:0 12px; padding:16px 5% 0; }
 .site-nav { order:3; width:100%; margin-top:12px; border-top:1px solid #f2f1e826; }
 .site-nav .wp-block-navigation__responsive-container,.site-nav .wp-block-navigation__responsive-container-content { width:100%; }
 .site-nav .wp-block-navigation__container { display:grid; width:100%; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; }
 .site-nav .wp-block-navigation-item__content { justify-content:center; min-height:46px; padding:9px 0; text-align:center; width:100%; }
 .site-nav .wp-block-navigation-item__content:after { display:none; }
 .brand-strip { display:grid; grid-template-columns:minmax(0,1fr) 21px minmax(0,1fr); gap:12px; padding:17px 5%; font-size:clamp(16px,4.7vw,22px); white-space:normal; text-align:center; }
 .brand-strip > :nth-child(n+4) { display:none; }
}
@media(max-width:600px) {
 .site-footer .brand-logo { width:130px; }
 .header-booking .wp-block-button__link { font-size:14px; gap:12px; padding:12px; }
 .site-nav { font-size:15px; }
 .hero { min-height:0; }.hero-photo { inset:0 0 auto; width:100%; height:100%; }
 .hero-photo:after { background:linear-gradient(0deg,#1c3024 4%,#1c3024df 32%,#1c302433 80%); }.hero-photo img { object-position:50% 50%; }
 .hero-copy { padding:26px 5% 22px; width:100%; }.home-main .hero h1 { font-size:24vw; line-height:.85; margin:clamp(100px,20svh,180px) 0 24px; }
 .hero-bottom p { font-size:16px; max-width:100%; }.hero-booking { margin-top:20px; }.hero-booking .wp-block-button__link { padding:15px 20px; min-width:220px; }
 .photo-caption { display:none; }.home-main .hero-scroll { position:relative; left:auto; bottom:auto; width:max-content; max-width:90%; margin:0 5% 18px; }
 .section-pad { padding:55px 5%; }.section-label { font-size:12px; padding-bottom:20px; }.section-label > p + p { display:none; }
 .intro-grid { grid-template-columns:1fr; gap:32px; margin:35px 0 36px; }.home-main h2 { font-size:clamp(44px,14vw,60px); }
 .intro-copy { padding-top:0; }.intro-copy > p:first-child { font-size:24px; }
 .shop-film figcaption { padding:35px 125px 20px 13px; font-size:10px; letter-spacing:.03em; line-height:1.4; }
 .film-toggle { right:12px; bottom:12px; min-width:100px; padding:10px; }
 .film-footnote { flex-wrap:wrap; gap:8px 16px; margin-top:12px; letter-spacing:.08em; }.film-footnote > p:last-child { display:none; }
 .section-heading { display:block; margin:35px 0 34px; }.section-heading > p { margin-top:25px; font-size:16px; }
 .services h2 { font-size:clamp(38px,12vw,52px); }.services-grid { grid-template-columns:1fr; gap:25px; }
 .service-image { position:relative; top:auto; min-height:0; aspect-ratio:5/4; }.service-image img { object-position:center 45%; }
 .service-row { padding:24px 0; gap:15px; }.service-row h3 { font-size:clamp(25px,7.5vw,29px); }.service-detail p { margin-top:9px; }
 .service-number { padding-top:7px; }.home-main .service-all { margin-top:12px; }.services { padding-bottom:58px; }
 .team { padding-top:55px; padding-bottom:60px; }.team-grid { grid-template-columns:1fr; gap:38px; }.team-member:nth-child(n) { margin-top:0; }
 .portrait { aspect-ratio:4/4.6; }.member-heading { display:flex; align-items:baseline; flex-wrap:wrap; }.member-heading h3 { font-size:37px; }
 .member-heading > p { text-align:right; margin-top:0; }.team-member > p { max-width:none; }
 .visit { grid-template-columns:1fr; }.visit-image { min-height:0; height:360px; }.visit-copy { padding:40px 6% 45px; }
 .visit-copy h2 { margin:30px 0 20px; font-size:72px; }.visit-hours { flex-direction:row; flex-wrap:wrap; align-items:center; margin-top:32px; gap:10px 16px; }
 .visit-hours p:last-child { font-size:16px; }.visit-address { font-size:21px; }
 .final-cta { padding:58px 5% 55px; }.final-cta h2 { font-size:clamp(60px,19vw,78px); margin:24px 0; line-height:.95; }
 .mobile-break { display:block; }.final-cta > p:last-child { max-width:250px; margin:18px auto 0; line-height:1.6; }
 .footer-top { flex-wrap:wrap; padding-bottom:30px; gap:28px; }.footer-top > p:not(.back-top) { order:3; width:100%; }
 .footer-bottom { flex-wrap:wrap; gap:4px 16px; }.footer-bottom > p:first-child { width:100%; }.site-footer { padding-top:33px; }
 .section-heading,.intro-grid,.services-grid,.team-grid,.visit-copy { min-width:0; }
 .content-main { padding:45px 6%; }
}
@media(hover:none) {
 .portrait:hover .portrait-alternate { opacity:0; }.portrait:hover img { transform:scale(1.01); }.service-row:hover { padding-left:0; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }*,*:before,*:after { animation:none!important; transition:none!important; }
 .portrait-alternate { display:none; }
}
/* Preserve comfortable tap targets and short menu labels on narrow phones. */
.service-row h3 a { min-height:44px; }
@media(max-width:760px) {
 .site-nav .wp-block-navigation-item__label { white-space:nowrap; }
}
@media(max-width:360px) {
 .site-nav { font-size:14px; }
 .site-nav .wp-block-navigation__container { gap:2px; }
}
.shop-film.is-enhanced video { position:absolute; inset:0; }
.shop-film .film-poster { position:absolute; inset:0; z-index:1; width:100%; height:100%; object-fit:cover; transform:scale(1.14); pointer-events:none; }
.shop-film figcaption { z-index:2; }
.film-toggle { z-index:3; }
/* A real neighborhood map with the original profile marking the shop. */
.shop-map { position:relative; isolation:isolate; background:var(--forest); border-top:1px solid #ffffff33; }
.shop-map .shop-map-canvas { height:440px; width:100%; background:var(--forest); z-index:0; font-family:var(--font-body); }
.shop-map .leaflet-tile-pane { filter:url("#apauges-map-green-white"); }
/* Tiles overlap by 1px in JS; additive blending would darken seams through the palette filter. */
.shop-map .leaflet-container img.leaflet-tile { max-width:none; max-height:none; object-fit:fill; mix-blend-mode:normal; }
.map-address-card { position:absolute; z-index:2; left:5%; bottom:34px; width:300px; padding:26px 28px; background:#fff; color:var(--forest); border:1px solid #fff; box-shadow:0 6px 24px #101e1640; }
.home-main .map-shop-name { font:600 28px/1 var(--font-display); margin-bottom:12px; }
.map-address-card > p:not(.map-shop-name):not(.text-link),.map-popup > p:not(.map-shop-name):not(.text-link) { font-size:14px; line-height:1.5; }
.home-main .map-address-card .text-link,.map-popup .text-link { margin-top:10px; }
.map-address-card .text-link a { width:100%; }
.shop-map .text-link a { color:var(--forest); }
.shop-map .map-pin { background:none; border:0; }
.map-pin-head { position:relative; display:flex; align-items:center; justify-content:center; width:64px; height:64px; background:#fff; border:2px solid #fff; border-radius:50%; box-shadow:0 0 0 6px #ffffff20,0 8px 24px #101e1690; }
.map-pin-head:after { content:''; position:absolute; top:58px; left:20px; border-left:10px solid transparent; border-right:10px solid transparent; border-top:18px solid #fff; }
.map-pin-logo { display:block; width:36px; height:44px; background:var(--forest); -webkit-mask:center / contain no-repeat; mask:center / contain no-repeat; }
.shop-map .leaflet-control.leaflet-control-zoom { border:1px solid #ffffff4d; border-radius:0; box-shadow:0 3px 12px #18291e12; }
.shop-map .leaflet-control.leaflet-control-zoom a { width:44px; height:44px; line-height:44px; border-radius:0; color:#fff; background:var(--deep); border-bottom-color:#ffffff33; }
.shop-map .leaflet-control.leaflet-control-zoom a:hover { background:#fff; color:var(--forest); }
.shop-map .leaflet-container .leaflet-control-attribution { font:11px/1.7 var(--font-body); color:#fff; background:#18291ef0; }
.shop-map .leaflet-container .leaflet-control-attribution a { color:#fff; text-decoration:underline; }
.shop-map .leaflet-popup-content-wrapper,.shop-map .leaflet-popup-tip { background:#fff; color:var(--forest); border-radius:0; }
.shop-map .leaflet-popup-content { margin:25px; font-family:var(--font-body); }
.shop-map .leaflet-container a.leaflet-popup-close-button { width:44px; height:44px; line-height:35px; color:var(--forest); }
.home-main .map-popup p { margin:0 0 10px; }
.map-popup .map-shop-name { font-size:24px; padding-right:10px; }
.home-main .map-status { position:absolute; z-index:3; right:70px; top:16px; max-width:280px; padding:14px 18px; background:var(--deep); color:#fff; font-size:13px; line-height:1.5; }
.map-status[hidden] { display:none; }
@media(max-width:760px) {
 .shop-map .shop-map-canvas { height:320px; }
 .map-address-card { position:relative; inset:auto; width:100%; padding:23px 6%; box-shadow:none; border:0; border-top:1px solid #ffffff33; }
 .map-address-card .text-link a { width:auto; min-width:200px; }
 .home-main .map-status { left:15px; right:70px; top:14px; }
}
@media(max-width:600px) {
 .shop-film figcaption { padding-right:72px; font-size:12px; }
 .film-toggle { width:44px; min-width:44px; font-size:0; }
 .film-toggle:before { content:'▶'; font:14px/1 sans-serif; }
 .film-toggle[data-playing="true"]:before { content:'Ⅱ'; }
}
