/*
Theme Name: Your Soothing Moment
Theme URI: https://yoursoothingmoment.com
Description: Lightweight block theme for Your Soothing Moment. Native blocks and patterns only, no page builder.
Author: Your Soothing Moment
Version: 0.1.0
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 8.0
License: Proprietary
Text Domain: ysm
*/

/* Everything theme.json cannot express. Tokens come from theme.json custom properties. */
.ysm-header { border-bottom: 1px solid var(--wp--preset--color--line); }
.ysm-header .wp-block-site-title a { color: var(--wp--preset--color--plum); text-decoration: none; }
.ysm-header .wp-block-navigation .wp-block-navigation__container { gap: .25rem 1.5rem; }
.ysm-header .wp-block-navigation a { color: var(--wp--preset--color--ink-soft); text-decoration: none; }
.ysm-header .wp-block-navigation a:hover,
.ysm-header .wp-block-navigation .current-menu-item > a { color: var(--wp--preset--color--plum); }

.ysm-eyebrow { font-size: .8125rem; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; color: var(--wp--preset--color--orchid); margin: 0 0 1rem; }
.ysm-tagline { font-family: var(--wp--preset--font-family--script); font-size: 1.875rem; color: var(--wp--preset--color--orchid); margin: 0 0 .5rem; line-height: 1.2; }
.ysm-lede { font-size: var(--wp--preset--font-size--lede); color: var(--wp--preset--color--ink-soft); max-width: 54ch; margin-left: 0 !important; margin-right: auto !important; }
.ysm-soft { color: var(--wp--preset--color--ink-soft); }

.ysm-hero img { width: 100%; height: auto; }
.ysm-band { background: var(--wp--preset--color--mist); border-top: 1px solid var(--wp--preset--color--line); border-bottom: 1px solid var(--wp--preset--color--line); }
.ysm-band strong { display: block; font-family: var(--wp--preset--font-family--serif); font-size: 1.5rem; font-weight: 500; color: var(--wp--preset--color--plum-deep); margin-bottom: .375rem; }
.ysm-band p { margin: 0; font-size: .9375rem; line-height: 1.55; color: var(--wp--preset--color--ink-soft); }
.ysm-trust { text-align: center; font-size: .9375rem; letter-spacing: .04em; color: var(--wp--preset--color--plum); margin: 0; }
.ysm-cta { background: var(--wp--preset--color--lavender); }

.ysm-svcrow { padding: 1.75rem 0; border-top: 1px solid var(--wp--preset--color--line); }
.ysm-svcrow:last-of-type { border-bottom: 1px solid var(--wp--preset--color--line); }
.ysm-svcrow h3 { margin: 0 0 .5rem; }
.ysm-svcrow h3 a { text-decoration: none; }
.ysm-svcrow p { margin: 0; color: var(--wp--preset--color--ink-soft); }
.wp-block-group p:empty, .wp-block-post-content p:empty { display: none; }
.ysm-tags { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: .875rem; }
.ysm-tags span { font-size: .8125rem; background: var(--wp--preset--color--lavender); color: var(--wp--preset--color--plum-deep); padding: .25rem .75rem; border-radius: 999px; }

.ysm-card { border: 1px solid var(--wp--preset--color--line); border-radius: 10px; padding: 1.75rem; background: var(--wp--preset--color--ivory); }
.ysm-card .ysm-k { display: block; font-size: .8125rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--orchid); margin-bottom: .625rem; }
.ysm-card .ysm-big { display: block; font-family: var(--wp--preset--font-family--serif); font-size: 1.875rem; color: var(--wp--preset--color--plum-deep); text-decoration: none; line-height: 1.2; }
.ysm-card p { margin: .625rem 0 0; font-size: .9375rem; color: var(--wp--preset--color--ink-soft); }

.ysm-steps b { display: block; color: var(--wp--preset--color--orchid); font-size: .875rem; margin-bottom: .5rem; }
.ysm-steps p { margin: 0; color: var(--wp--preset--color--ink-soft); font-size: 1rem; }

.wp-block-details { border-top: 1px solid var(--wp--preset--color--line); padding: 1.125rem 0; }
.wp-block-details:last-of-type { border-bottom: 1px solid var(--wp--preset--color--line); }
.wp-block-details summary { cursor: pointer; font-family: var(--wp--preset--font-family--serif); font-size: 1.25rem; color: var(--wp--preset--color--plum-deep); }
.wp-block-details p { margin: .75rem 0 0; color: var(--wp--preset--color--ink-soft); }

.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--wp--preset--color--plum); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--lavender); color: var(--wp--preset--color--plum-deep); }

.ysm-policy { border-top: 1px solid var(--wp--preset--color--line); padding-top: 1.75rem; margin-top: 1.75rem; }
.ysm-policy:first-of-type { border-top: 0; padding-top: 0; margin-top: 0; }
.ysm-updated { font-size: .875rem; color: var(--wp--preset--color--ink-soft); }

.ysm-footer { border-top: 1px solid var(--wp--preset--color--line); font-size: .875rem; color: var(--wp--preset--color--ink-soft); }
.ysm-footer a { color: var(--wp--preset--color--ink-soft); }
.ysm-footer a:hover { color: var(--wp--preset--color--plum); }
.ysm-footer .ysm-script { font-family: var(--wp--preset--font-family--script); font-size: 1.75rem; color: var(--wp--preset--color--plum); line-height: 1.2; margin: 0 0 .25rem; }

/* forms (intake) */
.ysm-form label { display: block; font-weight: 600; margin: 1.5rem 0 .375rem; color: var(--wp--preset--color--plum-deep); }
.ysm-form .ysm-hint { font-weight: 400; font-size: .875rem; color: var(--wp--preset--color--ink-soft); display: block; }
.ysm-form input[type=text], .ysm-form input[type=url], .ysm-form input[type=email], .ysm-form textarea, .ysm-form select { width: 100%; font: inherit; padding: .7rem .9rem; border: 1px solid var(--wp--preset--color--line); border-radius: 8px; background: var(--wp--preset--color--ivory); color: var(--wp--preset--color--ink); }
.ysm-form input, .ysm-form textarea, .ysm-form select { box-sizing: border-box; max-width: 100%; }
.ysm-form input:focus, .ysm-form textarea:focus, .ysm-form select:focus { outline: 3px solid var(--wp--preset--color--orchid); outline-offset: 1px; }
.ysm-form fieldset { border: 1px solid var(--wp--preset--color--line); border-radius: 8px; margin: 1.5rem 0 0; padding: .5rem 1rem 1rem; }
.ysm-form legend { font-weight: 600; padding: 0 .5rem; color: var(--wp--preset--color--plum-deep); }
.ysm-form .ysm-check { display: block; font-weight: 400; margin: .5rem 0 0; }
.ysm-form .ysm-check input { margin-right: .5rem; }
.ysm-form .ysm-hp { position: absolute; left: -9999px; }
.ysm-form button { margin-top: 2rem; }
.ysm-notice { border-radius: 8px; padding: 1rem 1.25rem; margin: 1rem 0; }
.ysm-notice.ok { background: var(--wp--preset--color--lavender); }
.ysm-notice.err { background: #fbeaea; }
.ysm-booking iframe { width: 100%; min-height: 720px; border: 1px solid var(--wp--preset--color--line); border-radius: 10px; }

.skip-link { position: absolute; left: -999px; }
.skip-link:focus { left: 8px; top: 8px; background: var(--wp--preset--color--plum); color: #fff; padding: 10px 16px; border-radius: 6px; z-index: 100000; }
:focus-visible { outline: 3px solid var(--wp--preset--color--orchid); outline-offset: 3px; border-radius: 4px; }

.ysm-nav-it a { font-size: .8125rem; letter-spacing: .06em; border: 1px solid var(--wp--preset--color--line); border-radius: 999px; padding: .1rem .55rem; }

.ysm-logo { display: inline-block; line-height: 0; }
.ysm-logo img { height: 68px; width: auto; display: block; }
@media (max-width: 600px) { .ysm-logo img { height: 52px; } }
.ysm-seal { max-width: 300px; justify-self: end; }
.ysm-seal img { width: 100%; height: auto; }

.ysm-pullquote { font-family: var(--wp--preset--font-family--serif); font-style: italic; font-size: 1.375rem; line-height: 1.5; color: var(--wp--preset--color--plum-deep); border-left: 3px solid var(--wp--preset--color--orchid); padding-left: 1.25rem; margin: 1.75rem 0; }
