/*
Theme Name: Salon Elegance
Author: OpenAI
Description: Editorial salon theme with companion Salon Studio Core booking plugin.
Version: 3.0.0
Requires at least: 6.2
Requires PHP: 8.0
Text Domain: salon-elegance
*/
:root{--ink:#292421;--paper:#fbf8f4;--blush:#eee2da;--accent:#9d6e63;--muted:#756c66;--line:#e9ded6;--display:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font:16px/1.65 system-ui,-apple-system,'Segoe UI',sans-serif}body.menu-open{overflow:hidden}h1,h2,h3,.brand{font-family:var(--display);font-weight:400;line-height:1.12}h1{font-size:clamp(3.5rem,7vw,7rem);letter-spacing:-.05em}h2{font-size:clamp(2.6rem,4.5vw,4.7rem);letter-spacing:-.045em}h3{font-size:1.65rem}p{margin:0 0 1.2rem}a{color:inherit}img{max-width:100%;height:auto}button,input,select,textarea{font:inherit}.wrap{width:min(1260px,calc(100% - 48px));margin:auto}.announcement{background:var(--ink);color:#fff;text-align:center;font-size:.75rem;letter-spacing:.12em;padding:8px 16px}.announcement a{color:#fff}.site-header{position:sticky;top:0;z-index:50;background:rgba(251,248,244,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.header-inner{height:80px;display:flex;align-items:center;gap:32px}.brand{font-size:2rem;letter-spacing:-.06em;text-decoration:none;white-space:nowrap}.brand img{max-height:56px;width:auto}.site-nav{display:flex;align-items:center;gap:30px;margin-left:auto}.site-nav a{text-decoration:none;font-size:.76rem;text-transform:uppercase;letter-spacing:.14em}.site-nav a:hover,.text-link:hover{color:var(--accent)}.site-nav .button{color:#fff}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--ink);color:#fff;border:1px solid var(--ink);text-decoration:none;padding:15px 26px;cursor:pointer;font-size:.75rem;font-weight:650;text-transform:uppercase;letter-spacing:.15em;transition:background .25s,color .25s,transform .25s}.button:hover{background:var(--accent);border-color:var(--accent);color:white;transform:translateY(-2px)}.button-light{background:#fff;color:var(--ink);border-color:#fff}.button-light:hover{color:white}.menu-toggle{display:none;background:none;border:0;font-size:1.6rem;margin-left:auto}.hero{min-height:min(800px,82vh);display:flex;align-items:center;color:white;background:linear-gradient(90deg,rgba(19,16,14,.7) 0%,rgba(19,16,14,.3) 53%,rgba(19,16,14,.05) 100%),var(--hero-image) center/cover}.hero-content{padding:120px 0;max-width:770px;margin-left:0}.hero h1{margin:20px 0 26px}.hero p{max-width:470px;font-size:1.1rem;color:#f5eee9}.hero-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:35px}.hero .text-link{color:white}.eyebrow{display:block;font-size:.72rem;letter-spacing:.27em;text-transform:uppercase;font-weight:700}.text-link{text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-size:.73rem;border-bottom:1px solid currentColor;padding-bottom:5px}.trust-strip{background:var(--paper);border-bottom:1px solid var(--line)}.trust-inner{min-height:106px;display:flex;justify-content:space-around;align-items:center;gap:25px}.trust-item{text-align:center;font-family:var(--display);font-size:1.25rem}.trust-item small{display:block;font:600 .66rem system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.section{padding:110px 0}.section-heading{margin-bottom:44px}.section-heading h2{max-width:720px;margin:14px 0 0}.section-heading.row{display:flex;align-items:end;justify-content:space-between;gap:30px}.muted{color:var(--muted)}.soft{background:var(--paper)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{background:#fff;overflow:hidden;border:1px solid var(--line)}.card img{width:100%;height:290px;object-fit:cover;display:block;transition:transform .5s}.card:hover img{transform:scale(1.04)}.card-content{padding:25px}.card h3{margin:0 0 10px}.card p{color:var(--muted)}.service-filters{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 30px}.service-filters button{padding:10px 19px;background:transparent;border:1px solid var(--line);cursor:pointer}.service-filters button:hover,.service-filters button.active{background:var(--ink);border-color:var(--ink);color:white}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-tile{position:relative;min-height:420px;overflow:hidden;background:#3d312c;color:white;display:flex;align-items:flex-end;text-decoration:none}.service-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s}.service-tile:hover img{transform:scale(1.06)}.service-tile::after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.72))}.service-tile-content{position:relative;z-index:1;padding:28px;width:100%}.service-tile-content h3{font-size:2rem;margin:8px 0}.service-tile-content small{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.split{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.editorial-image{position:relative}.editorial-image img{display:block;width:100%;height:670px;object-fit:cover}.editorial-image .seal{position:absolute;right:-20px;bottom:35px;background:var(--blush);width:145px;height:145px;border-radius:50%;display:grid;place-items:center;text-align:center;font-family:var(--display);font-size:1.2rem;line-height:1.15;padding:15px}.editorial-copy h2{margin:15px 0 25px}.feature-list{list-style:none;padding:0;margin:30px 0}.feature-list li{padding:15px 0;border-top:1px solid var(--line);display:flex;align-items:center;gap:16px}.feature-list li:before{content:'✦';color:var(--accent)}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.team-card img{width:100%;height:390px;object-fit:cover;background:var(--blush)}.team-card h3{margin:18px 0 4px}.team-card p{color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallery-grid a{overflow:hidden}.gallery-grid img{height:275px;width:100%;object-fit:cover;display:block;transition:transform .4s}.gallery-grid a:hover img{transform:scale(1.06)}.review-card{background:#fff;padding:35px;border:1px solid var(--line);margin:0}.review-card p{font-family:var(--display);font-size:1.4rem;line-height:1.45;color:var(--ink)}.stars{color:var(--accent);letter-spacing:.2em;margin-bottom:14px}.booking-feature{background:var(--blush)}.booking-feature .editorial-image img{height:580px}.faq-list{max-width:850px;margin:auto}.faq-list details{border-bottom:1px solid var(--line);padding:18px 0}.faq-list summary{cursor:pointer;font-family:var(--display);font-size:1.35rem;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq-list summary:after{content:'+';color:var(--accent)}.faq-list details[open] summary:after{content:'−'}.faq-list details p{padding-top:14px;color:var(--muted)}.cta-banner{background:var(--ink);color:white;text-align:center;padding:100px 20px}.cta-banner h2{margin:15px auto 20px;max-width:750px}.cta-banner p{color:#e2d9d2}.footer{background:#211c1a;color:#f8f2ee;padding:80px 0 25px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.2fr 1.5fr;gap:35px}.footer h2{font-size:2.2rem;margin:0 0 18px}.footer h3{font:700 .7rem system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase;margin:0 0 20px}.footer a{color:inherit;text-decoration:none}.footer a:hover{text-decoration:underline}.footer ul{list-style:none;margin:0;padding:0}.footer li{margin:0 0 10px}.footer iframe{border:0;filter:grayscale(.75)}.footer small{display:block;border-top:1px solid #514943;margin-top:60px;padding-top:22px;color:#bdb3ad}.social-links{display:flex;gap:18px;margin-top:22px}.page-content{min-height:55vh;padding:90px 0}.booking-form{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;background:var(--paper);padding:35px}.booking-form label{display:block;font-weight:600}.booking-form input,.booking-form select,.booking-form textarea{display:block;width:100%;padding:13px;border:1px solid #c9bdb4;background:white}.booking-form .full,.booking-message{grid-column:1/-1}.mobile-book{display:none}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}@media(max-width:920px){.site-nav{gap:15px}.site-nav a{font-size:.68rem}.service-grid,.team-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}.editorial-image img{height:520px}}@media(max-width:760px){.wrap{width:min(100% - 36px,540px)}.announcement{font-size:.61rem}.header-inner{height:68px}.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:25px;flex-direction:column;align-items:stretch;gap:22px;box-shadow:0 20px 30px #0002}.site-nav.open{display:flex}.site-nav a{font-size:.85rem}.hero{min-height:680px;background-position:62% center}.hero-content{padding:95px 0}.hero h1{font-size:clamp(3.4rem,13vw,5rem)}.trust-inner{padding:25px 0;flex-wrap:wrap;gap:20px}.trust-item{font-size:1rem}.section{padding:75px 0}.section-heading.row{display:block}.grid,.service-grid,.team-grid,.split,.footer-grid{grid-template-columns:1fr}.split{gap:36px}.editorial-image img,.booking-feature .editorial-image img{height:470px}.editorial-image .seal{right:10px;width:115px;height:115px;font-size:1rem}.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid img{height:170px}.booking-form{grid-template-columns:1fr;padding:20px}.footer{padding-bottom:90px}.mobile-book{display:block;position:fixed;z-index:45;bottom:0;left:0;right:0;background:var(--ink);color:white;text-align:center;text-decoration:none;padding:15px;text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;font-weight:700}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* v3 design system and interactions */
.reading-progress{position:fixed;z-index:100;top:0;left:0;width:0;height:3px;background:var(--accent);pointer-events:none}.site-header{transition:box-shadow .25s,height .25s}.site-header.is-scrolled{box-shadow:0 9px 30px #16100b18}.palette-trigger{background:transparent;border:1px solid var(--line);border-radius:50%;height:36px;width:36px;cursor:pointer;color:var(--accent);font-size:1.25rem;flex:none}.palette-trigger:hover{background:var(--blush)}.palette-panel{position:absolute;right:24px;top:calc(100% + 8px);background:#fff;box-shadow:0 18px 50px #0002;padding:18px;width:210px;border:1px solid var(--line);z-index:51}.palette-panel[hidden]{display:none}.palette-panel p{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700}.palette-panel button{display:flex;align-items:center;gap:12px;width:100%;background:transparent;border:0;text-align:left;padding:9px;cursor:pointer}.palette-panel button:hover,.palette-panel button[aria-pressed=true]{background:var(--paper)}.palette-panel button span{width:20px;height:20px;border-radius:50%;border:1px solid #0002}.hero{position:relative;isolation:isolate}.hero:after{content:'';position:absolute;z-index:-1;bottom:0;left:0;right:0;height:120px;background:linear-gradient(transparent,#18110c26)}.hero h1{max-width:850px}.hero-side-note{position:absolute;right:2%;top:47%;writing-mode:vertical-rl;color:#fff9;letter-spacing:.28em;font-size:.65rem}.section-heading h2{position:relative}.service-tile{border-radius:190px 190px 3px 3px;min-height:470px}.service-tile:nth-child(2){margin-top:38px}.service-tile-content{padding:34px}.ritual-section{background:var(--ink);color:#fff}.ritual-section .muted{color:#d3c6bd}.ritual-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ffffff40}.ritual-grid article{position:relative;padding:34px 36px 10px;border-right:1px solid #ffffff40}.ritual-grid article:last-child{border:0}.ritual-grid h3{font-size:2rem;margin:10px 0}.ritual-grid p{color:#ddd1ca}.step-num{font-size:.72rem;letter-spacing:.2em;color:#c9a99a}.step-symbol{font-family:Georgia,serif;font-size:4rem;color:#d8b8a7;line-height:1.3}.team-card img{border-radius:200px 200px 0 0}.team-card:nth-child(2){transform:translateY(25px)}.gallery-grid a:first-child{grid-row:span 2}.gallery-grid a:first-child img{height:100%}.gallery-grid{grid-auto-flow:dense}.review-card{position:relative;padding:38px 35px 35px}.review-card:before{content:'“';position:absolute;right:20px;top:-27px;font:8rem Georgia;color:var(--blush);line-height:1}.review-card>*{position:relative}.back-to-top{position:fixed;right:20px;bottom:20px;width:45px;height:45px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:1.2rem;z-index:44;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity .25s,transform .25s}.back-to-top.visible{opacity:1;pointer-events:auto;transform:none}.salon-lightbox{position:fixed;inset:0;z-index:120;background:#18120feb;display:grid;place-items:center;padding:55px 20px}.salon-lightbox img{max-height:86vh;max-width:min(1100px,100%);object-fit:contain;box-shadow:0 15px 60px #0008}.salon-lightbox button{position:absolute;right:20px;top:15px;color:#fff;background:none;border:0;font-size:2.5rem;cursor:pointer}.salon-lightbox p{position:absolute;bottom:12px;color:#fff;text-align:center}.fade-in{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}.fade-in.in-view{opacity:1;transform:none}@media(max-width:760px){.palette-trigger{order:1;margin-left:0}.menu-toggle{order:2;margin-left:0}.site-nav{order:3}.hero-side-note{display:none}.service-tile{min-height:390px}.service-tile:nth-child(2),.team-card:nth-child(2){margin-top:0;transform:none}.ritual-grid{grid-template-columns:1fr}.ritual-grid article{border-right:0;border-bottom:1px solid #ffffff40;padding:22px 10px}.gallery-grid a:first-child{grid-row:auto}.gallery-grid a:first-child img{height:170px}.back-to-top{bottom:70px}.palette-panel{right:12px}}@media(prefers-reduced-motion:reduce){.fade-in{opacity:1;transform:none}.service-tile:nth-child(2),.team-card:nth-child(2){transform:none}}
