/*
Theme Name: Claire's Wellness Space
Author: Claire's Wellness Space
Description: A calm, responsive studio theme for Pilates, soundbaths and facial treatments. Configure content and booking links in Appearance > Customize > Wellness Space.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: claires-wellness-space
*/
:root{--cream:#ffeee1;--taupe:#ccbeb4;--rose:#bd988b;--ink:#382f2b;--paper:#fffaf6;--line:#d5beb0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.7 Arial,sans-serif}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid #714b3b;outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.1}h1{font-size:clamp(3.4rem,6.9vw,6.9rem);letter-spacing:-.045em;margin-bottom:25px}h2{font-size:clamp(2.4rem,4vw,4rem);letter-spacing:-.035em}h3{font-size:2rem}img{display:block;max-width:100%}.wrap{width:min(1220px,90%);margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:15px;top:15px;background:white;padding:10px;z-index:10}.brand img{width:232.5px;height:147px;object-fit:cover;object-position:center}.brand{flex-shrink:0}header{background:#fff;border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:14px 0}nav{display:flex;align-items:center;gap:28px;font-size:14px}nav a{text-decoration:none}.button{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:12px 25px;border:1px solid var(--ink);border-radius:40px;text-decoration:none;font:inherit;font-size:15px;cursor:pointer;background:none;color:var(--ink)}.button.solid{background:var(--ink);color:var(--cream)}.button:hover{background:#e5cdbd;color:var(--ink)}.button[disabled]{opacity:.65;cursor:default}.eyebrow{font:12px/1.5 'Courier New',monospace;letter-spacing:.14em;text-transform:uppercase;margin-bottom:24px}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:65px;align-items:center;padding:68px 0 70px}.hero-copy>p:not(.eyebrow){max-width:450px;font-size:18px}.hero h1 em{color:#876354;font-weight:400}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero-image{margin:0;position:relative}.hero-image img{width:100%;height:550px;object-fit:cover;border-radius:240px 240px 5px 5px}.hero-image figcaption{font-size:12px;margin-top:9px;color:#716258}.ribbon{padding:23px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.ribbon .wrap{display:flex;justify-content:space-between;font:13px 'Courier New',monospace;letter-spacing:.1em;gap:12px;text-transform:uppercase}.section{padding:85px 0}.section-top{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:45px}.section-top h2{margin-bottom:0;max-width:650px}.section-top>p{max-width:300px;margin-bottom:0}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.service{border-top:1px solid var(--ink);padding:24px 0 10px}.number{font:13px 'Courier New',monospace;color:#6c5143;margin-bottom:32px}.service p{margin-bottom:25px}.text-link{text-decoration-thickness:1px;text-underline-offset:7px;font-size:15px}.studio{background:#dcc6b6}.studio-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.studio h2{max-width:440px;margin-bottom:0}.studio p:last-child{margin-bottom:0}.contact{text-align:center;max-width:780px}.contact h2{font-size:clamp(3rem,5vw,5rem);margin-bottom:24px}.contact .actions{justify-content:center}.small{font-size:14px;color:#62534b;margin-top:20px}footer{border-top:1px solid var(--line);padding:35px 0}.footer-inner{display:flex;justify-content:space-between;gap:30px;align-items:center}footer p{font-size:14px;margin:0}footer a{font-size:14px;margin-left:20px}dialog{border:1px solid var(--line);border-radius:12px;max-width:480px;padding:35px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#382f2b88}.preview-note{background:var(--ink);color:var(--cream);text-align:center;padding:9px;font-size:13px}.content-page{max-width:800px;padding:70px 0;min-height:60vh}.content-page h1{font-size:3rem}@media(max-width:780px){.header-inner{gap:12px;flex-wrap:wrap}.brand img{width:168px;height:117px}nav{gap:15px;font-size:13px}nav .button{padding:8px 16px;min-height:44px}.hero{grid-template-columns:1fr;gap:35px;padding:40px 0}h1{font-size:3.8rem}.hero-image img{height:420px}.section{padding:55px 0}.section-top{display:block}.section-top>p{margin-top:25px}.services{grid-template-columns:1fr;gap:25px}.number{margin-bottom:15px}.studio-inner{grid-template-columns:1fr;gap:30px}.ribbon .wrap{font-size:11px;letter-spacing:0}.footer-inner{display:block}footer a{margin:15px 20px 0 0;display:inline-block}}@media(max-width:420px){nav a:nth-child(2){display:none}nav{gap:12px}.hero h1{font-size:3.2rem}.hero-image img{height:350px}.ribbon .wrap{flex-wrap:wrap;justify-content:center;gap:12px 25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Centred brand with social links on the left. */
.header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:20px}.header-socials{display:flex;gap:14px;align-items:center}.header-socials a{display:flex;align-items:center;justify-content:center;width:36px;height:44px}.header-socials svg{width:23px;height:23px}.header-inner .brand{justify-self:center}.header-inner nav{justify-self:end;justify-content:flex-end;flex-wrap:wrap;gap:14px}.header-inner nav a{white-space:nowrap}@media(max-width:900px){.header-inner{gap:10px}.header-inner nav{font-size:13px}.header-inner nav .button{padding:10px 14px}}@media(max-width:780px){.header-inner{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:5px}.header-socials{gap:3px}.header-socials a{width:26px;height:44px}.header-socials svg{width:21px;height:21px}.header-inner nav{grid-column:1/-1;justify-self:center;justify-content:center;padding-bottom:10px;gap:24px}.header-inner nav a:nth-child(2){display:inline}.header-inner .brand img{width:168px;height:117px}}@media(max-width:350px){.header-socials{flex-wrap:wrap;max-width:55px}}

.header-socials a[aria-label="Message Claire on WhatsApp"] svg{overflow:visible;flex-shrink:0}

/* Studio photograph and introduction. */
.studio-inner{grid-template-columns:1.05fr 1fr;gap:60px}.studio-photo{margin:0}.studio-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:4px}.studio-copy h2{font-size:clamp(2.3rem,3.7vw,3.5rem);margin-bottom:25px}.studio-copy .eyebrow{margin-bottom:20px}.studio-copy>p:not(.eyebrow){margin-bottom:20px}@media(max-width:780px){.studio-inner{grid-template-columns:1fr;gap:35px}.studio-copy h2{max-width:none}}

.service-photo{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:5px;margin:0 0 24px}.service .number{margin-bottom:18px}.service{padding-top:20px}.service h3{margin-bottom:20px}@media(max-width:780px){.service-photo{aspect-ratio:4/3;max-height:380px}}

/* Compact white service cards keep photographs and copy together. */
.services{gap:24px;align-items:stretch}.service{background:#fff;border:1px solid #eaded6;border-radius:22px;padding:20px 22px 26px;box-shadow:0 6px 20px #382f2b06;display:flex;flex-direction:column}.service-photo{height:155px;aspect-ratio:auto;width:100%;border-radius:12px;object-fit:cover;margin-bottom:19px}.service .number{margin-bottom:13px}.service h3{font-size:1.8rem;margin-bottom:16px}.service>p:not(.number){font-size:16px;line-height:1.6;margin-bottom:22px}.service .text-link{margin-top:auto;align-self:flex-start}@media(max-width:780px){.services{gap:20px}.service{padding:18px 20px 24px}.service-photo{height:150px;aspect-ratio:auto;max-height:150px}}

.service-links{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;flex-wrap:wrap}.service-links .text-link{margin-top:0;font-size:14px}.detail-page{width:min(880px,90%);margin:auto;padding:55px 0 75px;min-height:65vh}.detail-page h1{font-size:clamp(2.7rem,5vw,4.8rem);margin-bottom:25px}.detail-page>.text-link{display:inline-block;margin-bottom:35px}.detail-page .eyebrow{margin-bottom:15px}.detail-table{margin:30px 0;overflow:auto;background:white;border-radius:18px;padding:10px 20px}table{border-collapse:collapse;width:100%;font-size:16px;text-align:left}th,td{padding:15px 10px;border-bottom:1px solid #eaded6}thead th{font-weight:600}tbody th{font-weight:400}tbody tr:last-child>*{border-bottom:none}.provisional{display:inline-block;font-size:12px;border:1px solid #bc9b82;border-radius:20px;padding:1px 7px;margin-left:6px}.detail-item{background:white;border:1px solid #eaded6;border-radius:18px;padding:25px 28px;margin:22px 0}.detail-item h2{font-size:1.9rem;margin:0 0 12px;letter-spacing:-.02em}.detail-item p:last-child{margin-bottom:0}.treatment-heading{display:flex;justify-content:space-between;gap:20px;align-items:start}.price{font:1.7rem Georgia,serif;white-space:nowrap}.detail-item .small{margin:0 0 14px}.separator{margin:0 10px}[hidden]{display:none!important}@media(max-width:520px){.detail-item{padding:20px}.detail-item h2{font-size:1.6rem}.price{font-size:1.5rem}th,td{padding:12px 7px}.detail-table{padding:6px 8px}.provisional{margin-left:0}}

.popup-trigger{background:none;border:0;padding:0;color:inherit;font-family:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px;text-align:left}.wellness-dialog{width:min(820px,92vw);max-width:820px;max-height:88vh;overflow:auto;border:1px solid #eaded6;border-radius:22px;padding:28px;background:var(--cream);color:var(--ink)}.wellness-dialog::backdrop{background:#382f2b99}.dialog-close{display:flex;align-items:center;gap:8px;margin-left:auto;border:1px solid #bda695;border-radius:25px;background:white;padding:8px 15px;min-height:44px;font:14px Arial,sans-serif;color:var(--ink);cursor:pointer}.modal-detail{padding:15px 0 0;width:100%;min-height:0;margin:0}.modal-detail h2.modal-title{font-size:clamp(2.4rem,4vw,3.5rem);margin-bottom:24px}.modal-detail .actions{margin-bottom:5px}@media(max-width:520px){.wellness-dialog{padding:18px;max-height:90vh}.modal-detail .actions{gap:10px}.modal-detail .actions .button{font-size:14px;padding:10px 17px}.modal-detail th,.modal-detail td{font-size:14px}}

.studio-links{display:flex;flex-wrap:wrap;gap:18px 28px}.studio-copy .studio-location{font-size:14px;margin:22px 0 20px}

.location-dialog{max-width:720px}.area-map{width:100%;height:290px;border:0;border-radius:12px;display:block;background:#fff}@media(max-width:520px){.area-map{height:230px}}
