/*
Theme Name: Her Safe Space
Theme URI: https://example.com/her-safe-space
Author: Her Safe Space
Description: A calm, mobile-first companion theme for the Her Safe Space booking plugin.
Version: 0.5.0
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: her-safe-space-theme
*/

:root { --ink:#321f2a; --paper:#fffdfb; --rose:#75444c; --plum:#4b213b; --line:#e5dad6; }
* { box-sizing:border-box; }
html { color-scheme:light; scroll-behavior:smooth; }
body { background:var(--paper); color:var(--ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; margin:0; }
a { color:var(--rose); }
img { height:auto; max-width:100%; }
.site-header { background:linear-gradient(90deg,#3e1732,#52213f); border-bottom:1px solid rgba(255,255,255,.1); box-shadow:0 .5rem 2rem rgba(49,22,39,.12); position:sticky; top:0; z-index:20; }
.site-header__inner { align-items:center; display:flex; justify-content:space-between; margin:auto; min-height:4.5rem; width:min(100% - 2rem,80rem); }
.site-brand { color:#fff; font-family:Georgia,serif; font-size:1.35rem; line-height:1.1; padding-left:2.6rem; position:relative; text-decoration:none; }
.site-brand::before { align-items:center; background:#e4a4b9; border-radius:50%; color:var(--plum); content:"✦"; display:inline-flex; font-family:system-ui,sans-serif; height:2rem; justify-content:center; left:0; position:absolute; top:50%; transform:translateY(-50%); width:2rem; }
.site-brand small { color:#f0cdd9; display:block; font-family:ui-sans-serif,system-ui,sans-serif; font-size:.52rem; letter-spacing:.16em; margin-top:.35rem; }
.menu-toggle { align-items:center; background:transparent; border:1px solid rgba(255,255,255,.35); border-radius:999px; color:#fff; display:inline-flex; font:inherit; min-height:44px; padding:.5rem 1rem; }
.site-nav { background:var(--plum); display:none; inset:5rem 0 auto; padding:1rem; position:absolute; }
.site-nav.is-open { display:block; }
.site-nav ul { list-style:none; margin:0; padding:0; }
.site-nav a { color:#f9edf1; display:flex; min-height:44px; align-items:center; padding:.4rem .7rem; text-decoration:none; }
.site-nav a:hover { color:#f5b1c8; }
.site-nav .current-menu-item > a { color:#fff; font-weight:800; text-decoration:underline; text-decoration-color:#f5b1c8; text-decoration-thickness:2px; text-underline-offset:.45rem; }
.site-footer { background:radial-gradient(circle at 85% 0,rgba(176,84,115,.24),transparent 34%),linear-gradient(120deg,#35152b,#4b213b); color:#f4e9e5; padding:4rem 1rem 1.5rem; }
.site-footer__inner { display:grid; gap:2.5rem; margin:auto; width:min(100%,80rem); }
.site-footer a { color:#fff; }
.site-footer h2 { color:#f8dce5; font-family:inherit; font-size:.78rem; letter-spacing:.12em; margin:0 0 1rem; text-transform:uppercase; }
.site-footer p { color:#dccbd2; font-size:.88rem; line-height:1.65; margin:.35rem 0; }
.site-footer ul { display:grid; gap:.4rem; list-style:none; margin:0; padding:0; }
.site-footer nav a { color:#eadde4; font-size:.86rem; text-decoration:none; }
.site-footer nav a:hover { color:#fff; text-decoration:underline; text-underline-offset:.25rem; }
.site-brand--footer { display:inline-block; margin-bottom:1rem; }
.site-footer__brand > p { max-width:18rem; }
.site-footer__contact-link { border:1px solid rgba(255,255,255,.35); border-radius:999px; display:inline-flex; font-size:.8rem; margin-top:1rem; padding:.5rem .9rem; text-decoration:none; }
.site-footer__legal { border-top:1px solid rgba(255,255,255,.16); color:#cbb7c0; display:flex; flex-wrap:wrap; font-size:.75rem; gap:1rem; justify-content:space-between; margin:3rem auto 0; padding-top:1.25rem; width:min(100%,80rem); }
.site-main { min-height:60vh; }
.screen-reader-text { clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; overflow:hidden; position:absolute!important; width:1px; }
@media (min-width:52rem) { .menu-toggle{display:none}.site-nav{background:transparent;display:block;inset:auto;max-width:72%;padding:0;position:static}.site-nav ul{align-items:center;display:flex;flex-wrap:wrap;gap:.25rem;justify-content:flex-end}.site-nav a{font-size:.88rem;padding:.4rem .75rem}.site-footer__inner{grid-template-columns:1.5fr .75fr 1.15fr 1fr} }
@media (max-width:78rem) and (min-width:52rem) { .site-brand{padding-left:0}.site-brand::before{display:none} }
@media (min-width:78.01rem) { .site-brand{padding-left:0}.site-brand::before{height:2.65rem;left:-3.3rem;width:2.65rem} }
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
