/* Minimal clean styles for Drift Massage Therapy */
:root{--accent: rgb(95,155,206);--bg:#fff;--text:#111;--muted:#666}
*{box-sizing:border-box}
body{font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,'Helvetica Neue',Arial;line-height:1.6;color:var(--text);background:var(--bg);margin:0}
.container{max-width:900px;margin:0 auto;padding:1rem}
.site-header{background:#f8f9fb;padding-bottom:0}
.site-header .container{padding-top:1.25rem;padding-bottom:1rem;text-align:center}
.site-header h1{font-family:'Abril Fatface',serif;margin:0;font-weight:600;letter-spacing:0.03em;color:rgb(95,155,206);font-size:clamp(2rem,4.5vw,3.25rem)}
.tagline{color:var(--muted);margin:0.25rem 0}
.cta{display:block;text-align:center}
.cta a{display:inline-block;margin-right:0.5rem;color:var(--bg);background:var(--accent);padding:0.4rem 0.7rem;border-radius:4px;text-decoration:none}

/* Generic button used on the site */
.btn{display:inline-block;padding:0.6rem 0.9rem;border-radius:6px;background:var(--accent);color:var(--bg);text-decoration:none;font-weight:600;box-shadow:0 6px 14px rgba(15,23,42,0.06)}
.btn:hover,.btn:focus{filter:brightness(0.95);transform:translateY(-1px)}
.btn:active{transform:translateY(0)}

/* Center the button inside the Updates section */
#updates p{ text-align: center }
.hero{width:100%;height:auto;display:block;object-fit:cover}
/* make hero image inset from edges on large screens */
.site-header .hero{max-width:1200px;width:calc(100% - 4rem);margin:2rem auto;border-radius:8px;box-shadow:0 10px 24px rgba(15,23,42,0.06)}
.site-header{padding-bottom:0.75rem}
main{padding:1.5rem 0}
h2{font-family:'Montserrat',sans-serif;margin:0 0 0.5rem 0;color:var(--accent);text-align:center}
section{margin-bottom:1.25rem}
.testimonial{background:#fff;border-left:4px solid #e9eefc;padding:0.75rem;border-radius:4px;margin-bottom:0.6rem}
.testimonial{position:relative;padding:1rem}
.testimonial p{margin:0 0 0.4rem 0}
.testimonial .author{display:block;text-align:left;color:var(--accent);font-weight:600;margin-top:0.6rem;font-size:0.95rem}
.testimonial .stars{width:140px;height:auto;display:block;margin:0 0 0.6rem 0}
.site-footer{border-top:1px solid #eee;padding:1rem 0;background:#fff;text-align:center;color:var(--muted)}
a{color:var(--accent)}
/* Gallery grid */
.gallery-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:0.6rem;margin:0.75rem 0}
.gallery-grid figure{margin:0;background:#fff;border-radius:6px;overflow:hidden;display:flex;flex-direction:column}
.gallery-grid img{width:100%;height:200px;object-fit:cover;display:block}
.gallery-grid figcaption{padding:0.45rem 0.6rem;font-size:0.9rem;color:var(--muted);text-align:center}

@media (min-width:768px){
	.gallery-grid{grid-template-columns:repeat(2,1fr)}
	.gallery-grid img{height:320px}
}

@media (min-width:900px){
	.gallery-grid{grid-template-columns:repeat(3,1fr)}
}
.map-image{margin:1rem 0;padding:0 1rem}
.map-image img{width:100%;height:auto;display:block;border-radius:6px;box-shadow:0 6px 18px rgba(15,23,42,0.08);max-width:100%}
@media(min-width:900px){.container{padding:2rem}}

/* Modal styles */
.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,0.8)}
.modal-content{position:relative;margin:auto;display:flex;align-items:center;justify-content:center;height:100%}
.modal-image{max-width:90%;max-height:90vh;object-fit:contain}
.modal-close{position:absolute;top:1.5rem;right:2rem;font-size:2rem;font-weight:bold;color:#fff;cursor:pointer;z-index:1001}
.modal-close:hover,.modal-close:focus{color:#ccc}
