/* Namm Massage — service (massage) page. Loaded on service pages only. */

.svc{padding-bottom:0}
.svc-hero{margin:0;overflow:hidden;background:var(--namm-surface)}
.svc-hero img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}

/* Mobile order: title block → booking card → details */
.svc-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"top" "book" "rest";gap:0}
.svc-top{grid-area:top;padding-top:1.4rem}
.svc-book{grid-area:book}
.svc-rest{grid-area:rest}

.svc-crumbs{font-size:.82rem;color:var(--namm-muted);margin-bottom:.9rem}
.svc-crumbs a{text-decoration:none}.svc-crumbs a:hover{color:var(--namm-accent-ink)}
.svc-crumbs span{opacity:.5;margin:0 .15rem}
.svc h1{font-size:clamp(2.3rem,8.4vw,3.4rem);margin:.15rem 0 .6rem}
.svc-rating{margin:0 0 1rem;font-size:.95rem}
.svc-rating a{text-decoration:none;display:inline-flex;align-items:center;gap:.5rem}
.svc-rating .namm-stars{flex:none}
.svc-lead{font-size:1.08rem;line-height:1.6;color:var(--namm-muted);margin:0 0 1.4rem;max-width:40rem}

/* Booking card */
.svc-book{background:#FBF7F1;border-radius:var(--namm-radius);padding:1.4rem 1.3rem 1.5rem;box-shadow:0 1px 2px rgba(43,33,27,.07),0 16px 34px -16px rgba(43,33,27,.3);border:1px solid rgba(217,199,178,.6)}
.svc-book__label{margin:0 0 .7rem;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--namm-accent-ink);font-weight:500}
.svc-location{border:0;padding:0;margin:0 0 1.2rem}
.svc-location legend{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--namm-accent-ink);font-weight:500;margin:0 0 .7rem}
.svc-location__opts{display:grid;gap:.55rem}
.svc-location__opt{display:flex;align-items:center;gap:.65rem;padding:.7rem .75rem;border:1px solid var(--namm-line);border-radius:.65rem;background:#fff;cursor:pointer}
.svc-location__opt:has(input:checked){border-color:var(--namm-accent);box-shadow:0 0 0 1px var(--namm-accent)}
.svc-location__opt input{margin:0;accent-color:var(--namm-accent)}
.svc-location__opt span{display:grid;gap:.15rem}
.svc-location__opt strong{font-size:.95rem}
.svc-location__opt small{color:var(--namm-muted)}
.svc-dur{display:grid;grid-template-columns:repeat(auto-fit,minmax(6.2rem,1fr));gap:.6rem}
.svc-dur__opt{cursor:pointer;position:relative}
.svc-dur__opt input{position:absolute;opacity:0;inset:0}
.svc-dur__box{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.85rem .5rem .75rem;border:1px solid var(--namm-line);border-radius:12px;text-align:center;background:var(--namm-bg);transition:border-color .2s,background .2s,box-shadow .2s;height:100%}
.svc-dur__box strong{font:600 1.35rem/1.1 var(--namm-serif)}
.svc-dur__box small{font-size:.85rem;color:var(--namm-muted)}
.svc-dur__box em{font:500 .62rem/1 var(--namm-sans);font-style:normal;letter-spacing:.1em;text-transform:uppercase;color:var(--namm-accent-ink);margin-top:.35rem}
.svc-dur__opt input:checked+.svc-dur__box{border-color:var(--namm-accent);background:#fff;box-shadow:0 0 0 1px var(--namm-accent)}
.svc-dur__opt input:focus-visible+.svc-dur__box{outline:2px solid var(--namm-accent);outline-offset:2px}
.svc-price{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .8rem;margin:1.2rem 0 .1rem}
.svc-price__first{font:600 2.6rem/1 var(--namm-serif);font-variant-numeric:lining-nums}
.svc-price__reg{margin:.1rem 0 1.1rem;color:var(--namm-muted);font-size:.92rem}
.svc-book__btn{width:100%}
.svc-book__incl{display:flex;gap:.55rem;align-items:flex-start;margin:1rem 0 0;font-size:.92rem;color:var(--namm-muted)}
.svc-book__incl .namm-i{color:var(--namm-accent);margin-top:.2em;flex:none}
.svc-trust{list-style:none;margin:1.1rem 0 0;padding:1rem 0 0;border-top:1px solid var(--namm-line);display:grid;gap:.55rem;font-size:.9rem}
.svc-trust li{display:flex;gap:.6rem;align-items:center}
.svc-trust .namm-i{color:var(--namm-accent)}

/* Key points */
.svc-points{list-style:none;margin:1.8rem 0 0;padding:0;display:grid;gap:.8rem}
.svc-points li{display:flex;gap:.8rem;align-items:flex-start;font:500 1.2rem/1.3 var(--namm-serif)}
.svc-points .namm-i{color:var(--namm-accent);margin-top:.3em;flex:none;width:1.2rem;height:1.2rem}

.svc-h{font-size:1.9rem;margin:2.6rem 0 .8rem}

/* Photos */
.svc-gal{list-style:none;margin:0;padding:0;display:flex;gap:.7rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.svc-gal::-webkit-scrollbar{display:none}
.svc-gal li{flex:0 0 72%;scroll-snap-align:start}
.svc-gal .namm-zoom{aspect-ratio:4/3;display:block;border-radius:var(--namm-radius);overflow:hidden}
.svc-gal img{width:100%;height:100%;object-fit:cover}

/* Details */
.svc-details{margin-top:2.2rem}
.svc-text p{margin:0 0 1em;color:var(--namm-ink);opacity:.88}
.svc-text p:last-child{margin-bottom:0}
.svc-text .namm-list{margin:.4rem 0 1em}
.svc-text .namm-list li{align-items:flex-start}
.svc-text .namm-list span{opacity:.9}
.svc-when{list-style:none;margin:0;padding:0;display:grid;gap:1.3rem}
.svc-when li{display:grid;grid-template-columns:2.4rem 1fr;gap:.6rem}
.svc-when__n{font:600 1.5rem/1 var(--namm-serif);color:var(--namm-accent)}
.svc-when strong{display:block;font:600 1.2rem/1.25 var(--namm-serif);margin-bottom:.3rem}
.svc-when p{margin:0;opacity:.85}
.svc-faq{margin-top:.2rem}
.svc-faq .namm-acc summary{font-size:1.35rem}

.svc-notsure{margin:2.6rem 0 0;padding:1.6rem 1.4rem;border-radius:var(--namm-radius);background:var(--namm-surface);text-align:center}
.svc-notsure h3{margin:0 0 .4rem}
.svc-notsure p{margin:0 0 1.1rem;color:var(--namm-muted)}

.svc .namm-sec{padding-block:3.5rem}
.svc .namm-sec h2{margin-bottom:1.4rem}
.svc-related{margin-top:0}

@media (min-width:900px){
	.svc-hero{max-width:var(--namm-max);margin:1.6rem auto 0;border-radius:1.2rem;padding:0}
	.svc-hero img{aspect-ratio:2/1}
	.svc-grid{grid-template-columns:minmax(0,1fr) 25rem;grid-template-areas:"top book" "rest book";column-gap:3.5rem;align-items:start}
	.svc-book{position:sticky;top:calc(var(--namm-header-h) + 1.25rem);margin-top:1.6rem}
	.svc-top{padding-top:2rem}
	.svc h1{font-size:clamp(3rem,4.2vw,4rem)}
	.svc-gal{display:grid;grid-template-columns:repeat(var(--n,3),1fr);overflow:visible}
	.svc-gal li{flex:none}
	.svc-points{grid-template-columns:1fr;margin-top:.4rem}
	.svc-related{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:600px) and (max-width:899px){
	.svc-gal li{flex-basis:44%}
	.svc-hero img{aspect-ratio:16/9}
}
.svc-rest{padding-bottom:3rem}

.svc-route{color:var(--namm-accent-ink);white-space:nowrap;text-underline-offset:3px}
.svc-route:hover{color:var(--namm-ink)}
.svc-crumbs [aria-current]{color:var(--namm-muted);opacity:1}

.svc-before__t{max-width:40rem;margin:.2rem 0 1.4rem;font:400 1.3rem/1.45 var(--namm-serif)}
.svc-before__btns{display:flex;flex-wrap:wrap;gap:.7rem}
@media (max-width:599.98px){.svc-before__btns .namm-btn{width:100%}}
