/* Shared palette for the homepage, content pages and standalone salon LP. */
.sj-feature-copy h2,.sj-home-title h2,.sj-hero--split .sj-hero-title,.sj-page-heading h1,.sj-article-heading h1,.sj-section-heading h2,.sj-concept h2,.sj-style-gallery h2,.sj-cta h2,.sj-page-design h2{color:var(--sj-heading1)}
.sj-owner-grid h3,.sj-page-design h3,.sj-card h3,.sj-rail-body h3{color:var(--sj-heading2)}
.sj-eyebrow,.sj-page-design .sj-page-kicker{color:var(--sj-heading1)}
.sj-button,.sj-page-design .wp-block-button__link{background:var(--sj-accent);color:var(--sj-on-color1)}
.sj-button:hover,.sj-page-design .wp-block-button__link:hover{background:var(--sj-sub1);color:var(--sj-on-color2)}
.sj-cta,.sj-page-reserve{background:linear-gradient(120deg,color-mix(in srgb,var(--sj-sub1) 15%,var(--sj-paper)),color-mix(in srgb,var(--sj-sub2) 20%,var(--sj-paper)))}
.sj-style-gallery,.sj-page-design .sj-page-feature,.sj-salon-nav{background:color-mix(in srgb,var(--sj-sub2) 18%,var(--sj-paper))}
.sj-outline-link{border-color:var(--sj-sub1)}
.sj-outline-link:hover{background:var(--sj-accent);border-color:var(--sj-accent);color:var(--sj-on-color1)}
.sj-prose h4{border-left:3px solid var(--sj-sub2);padding-left:12px}
.salon-lp{background:var(--sj-paper);color:var(--sj-ink)}
.salon-lp h2{color:var(--sj-heading1)}.salon-lp h3{color:var(--sj-heading2)}.salon-lp h4{color:var(--sj-heading3)}
.salon-lp .lp-nav-reserve,.salon-lp .lp-fixed,.salon-lp .lp-button{background:var(--sj-accent);color:var(--sj-on-color1)}

/* Keep text over photographs readable. */
.salon-lp .lp-hero h1,.salon-lp .lp-hero h2,.salon-lp .lp-cta h2{color:inherit}

/* All section surfaces follow the selected palette. */
.sj-salon-nav{background:var(--sj-sub1);color:var(--sj-on-sub1)}
.sj-salon-nav a:hover,.sj-salon-nav a:focus-visible{background:var(--sj-sub2);color:var(--sj-on-sub2)}
.sj-feature-row{background:var(--sj-sub1);color:var(--sj-on-sub1)}
.sj-feature-row:nth-child(even){background:var(--sj-sub2);color:var(--sj-on-sub2)}
.sj-feature-copy h2,.sj-feature-copy .sj-eyebrow,.sj-feature-copy .sj-outline-link{color:inherit}
.sj-feature-copy .sj-outline-link{border-color:currentColor}
.sj-feature-copy .sj-outline-link:hover{background:var(--sj-accent);color:var(--sj-on-accent)}
.sj-card,.sj-rail-card{background:var(--sj-sub1);color:var(--sj-on-sub1);border-color:var(--sj-line)}
.sj-card h3,.sj-card .sj-post-meta,.sj-card .sj-excerpt,.sj-rail-body h3,.sj-rail-body p{color:inherit}
.sj-card-arrow{background:var(--sj-accent);color:var(--sj-on-accent)}
.sj-card:hover,.sj-rail-card:hover{background:var(--sj-sub2);color:var(--sj-on-sub2)}
.sj-card a:hover,.sj-rail-card a:hover{color:inherit}
.sj-button{color:var(--sj-on-accent)!important}
.sj-button:hover{background:var(--sj-accent);color:var(--sj-on-accent)!important;filter:brightness(.92)}
.salon-lp .lp-header{background:var(--sj-main);color:var(--sj-on-main)}
.sj-header .sj-menu-toggle i{background:currentColor}
.sj-card .sj-card-body p,.sj-card .sj-card-body time,.sj-card .sj-card-body .sj-post-meta{color:inherit}

.sj-prose .piace-menu-item{background:var(--sj-surface);border-color:var(--sj-line)}
.sj-prose .piace-menu-links a{border-color:var(--sj-line)}

/* Action buttons share the accent; a contrasting border keeps equal-color surfaces distinct. */
:is(.sj-button,.sj-outline-link,.sj-card-arrow,.sj-search button,.sj-comments .submit,.sj-hero-controls button,.sj-rail-controls button,.wp-block-button__link,.lp-button,.lp-nav-reserve,.lp-fixed){background:var(--sj-button-bg,var(--sj-accent))!important;color:var(--sj-button-ink,var(--sj-on-color1))!important;border:1px solid var(--sj-button-ink,var(--sj-on-color1))!important;text-decoration:none;filter:none!important}
:is(.sj-button,.sj-outline-link,.sj-card-arrow,.sj-search button,.sj-comments .submit,.sj-hero-controls button,.sj-rail-controls button,.wp-block-button__link,.lp-button,.lp-nav-reserve,.lp-fixed) :is(span,small){color:inherit}
:is(.sj-button,.sj-outline-link,.sj-card-arrow,.sj-search button,.sj-comments .submit,.sj-hero-controls button,.sj-rail-controls button,.wp-block-button__link,.lp-button,.lp-nav-reserve,.lp-fixed):not(:disabled):hover{background:var(--sj-button-hover,var(--sj-accent))!important;color:var(--sj-button-hover-ink,var(--sj-on-color1))!important;filter:none!important}
:is(.sj-button,.sj-outline-link,.sj-card-arrow,.sj-search button,.sj-comments .submit,.sj-hero-controls button,.sj-rail-controls button,.wp-block-button__link,.lp-button,.lp-nav-reserve,.lp-fixed):focus-visible{outline:2px solid var(--sj-button-ink,var(--sj-on-color1));outline-offset:3px;box-shadow:0 0 0 5px var(--sj-button-bg,var(--sj-accent))}

/* Shared footer map: regular pages and standalone LP. */
.sj-footer-map{background:var(--sj-paper);color:var(--sj-ink);padding:50px 5%;}
.sj-footer-map-inner{max-width:1120px;margin:0 auto;}
.sj-footer-map h2{font-size:clamp(22px,3vw,32px);margin:0 0 24px;color:inherit;}
.sj-footer-map iframe{display:block;width:100%;height:380px;border:0;}
.sj-footer-map p{margin:22px 0 0;}
.sj-map-button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;padding:14px 24px;background:var(--sj-button-bg);color:var(--sj-button-ink);border:1px solid currentColor;text-decoration:none;}
.sj-map-button:hover{filter:brightness(.92);}.sj-map-button:focus-visible{outline:3px solid currentColor;outline-offset:4px;}
@media(max-width:760px){.sj-footer-map iframe{height:300px;}.sj-footer-map{padding:36px 5%;}}

/* Editable standalone salon presentation. */
.sj-hero-description{line-height:2;margin:22px 0}.sj-style-grid{grid-template-columns:repeat(var(--sj-gallery-count,4),minmax(0,1fr))}.sj-page-featured{display:block;width:100%;height:auto;margin:0 auto 36px}.sj-salon-info dd a{color:inherit}.sj-owner .sj-owner-grid>figure>img{aspect-ratio:inherit}.sj-brand span:empty{display:none}
.sj-menu-links{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}.sj-menu-links a{padding:8px 16px;border:1px solid var(--sj-line)}.sj-menu-list{display:grid;gap:16px}.sj-menu-item{padding:22px;background:var(--sj-surface);border:1px solid var(--sj-line)}.sj-menu-meta{display:flex;justify-content:space-between;gap:16px}.sj-menu-item p{margin:8px 0}
@media(max-width:782px){.sj-style-grid{grid-template-columns:repeat(min(var(--sj-gallery-count,4),2),minmax(0,1fr))}.sj-menu-item{padding:17px}}
