.lcm{--g:#C2A35B;--gd:#A8883D;--ink:#2B2A29;--tx:#4A4846;--mu:#8A8682;--ln:#E8E2D6;--cr:#FBF9F5;max-width:880px;margin:0 auto;font-family:'Montserrat',system-ui,sans-serif;font-weight:300;color:var(--tx)}
.lcm-steps{display:flex;justify-content:center;gap:clamp(1rem,5vw,3.5rem);margin:0 0 2.5rem;padding-bottom:1.4rem;border-bottom:1px solid var(--ln)}
.lcm-steps span{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mu);display:flex;align-items:center;gap:.6rem;transition:color .3s}
.lcm-steps span i{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:1.15rem;color:var(--ln);transition:color .3s}
.lcm-steps span.is-on{color:var(--ink)}.lcm-steps span.is-on i,.lcm-steps span.is-done i{color:var(--g)}
.lcm-body{min-height:240px}
.lcm h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:1.6rem;color:var(--ink);margin:0 0 1.2rem;text-align:center}
.lcm-cat{font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--g);margin:1.8rem 0 .8rem;text-align:center}
.lcm-cat::after{content:"";display:block;width:30px;height:1px;background:var(--g);margin:.7rem auto 0;opacity:.7}
.lcm-svcs{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.7rem}
.lcm-svc{text-align:left;background:#fff;border:1px solid var(--ln);padding:1rem 1.1rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;transition:border-color .3s,transform .3s;font:inherit;color:var(--ink)}
.lcm-svc:hover{border-color:var(--g);transform:translateY(-2px)}
.lcm-svc.is-sel{border-color:var(--g);box-shadow:inset 0 0 0 1px var(--g)}
.lcm-svc b{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:1.12rem;display:block}
.lcm-svc small{font-size:.68rem;letter-spacing:.1em;color:var(--mu);white-space:nowrap;text-align:right;display:grid;gap:.15rem}
.lcm-svc small em{font-style:normal;color:var(--gd);font-family:'Cormorant Garamond',Georgia,serif;font-size:.95rem;letter-spacing:.02em}
.lcm-price{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.05rem;color:var(--gd)}
.lcm-pick{display:grid;grid-template-columns:1.1fr .9fr;gap:2.5rem;align-items:start}
@media(max-width:720px){.lcm-pick{grid-template-columns:1fr}}
.lcm-cal{border:1px solid var(--ln);padding:1.2rem}
.lcm-cal-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem}
.lcm-cal-h b{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:1.3rem;color:var(--ink)}
.lcm-cal-h button{background:none;border:1px solid var(--ln);width:34px;height:34px;cursor:pointer;color:var(--ink);font-size:1rem}
.lcm-cal-h button:hover{border-color:var(--g);color:var(--gd)}
.lcm-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.lcm-grid .dn{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mu);padding:.3rem 0}
.lcm-day{aspect-ratio:1;border:1px solid transparent;background:none;font:inherit;font-size:.9rem;color:var(--ink);cursor:pointer;position:relative;transition:all .25s}
.lcm-day:disabled{color:#C9C4BC;cursor:default}
.lcm-day.has::after{content:"";position:absolute;left:50%;bottom:5px;width:4px;height:4px;border-radius:50%;background:var(--g);transform:translateX(-50%)}
.lcm-day:not(:disabled):hover{border-color:var(--g)}
.lcm-day.is-sel{background:var(--ink);color:#fff}.lcm-day.is-sel::after{background:#fff}
.lcm-times h4{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:1.25rem;color:var(--ink);margin:0 0 1rem}
.lcm-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:.5rem}
.lcm-slot{background:#fff;border:1px solid var(--ln);padding:.7rem .4rem;font:inherit;font-size:.85rem;letter-spacing:.05em;cursor:pointer;color:var(--ink);transition:all .25s}
.lcm-slot:hover{border-color:var(--g)}.lcm-slot.is-sel{background:var(--g);border-color:var(--g);color:#fff}
.lcm-empty{font-size:.9rem;color:var(--mu);font-style:italic}
.lcm-sum{background:var(--cr);border:1px solid var(--ln);padding:1.2rem 1.4rem;margin-bottom:1.8rem;display:grid;gap:.4rem;font-size:.92rem}
.lcm-sum b{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:1.2rem;color:var(--ink)}
.lcm-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.6rem}
@media(max-width:600px){.lcm-form{grid-template-columns:1fr}}
.lcm-form .full{grid-column:1/-1}
.lcm-form label{display:block;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mu);font-weight:500;margin-bottom:.2rem}
.lcm-form input,.lcm-form textarea{width:100%;border:0;border-bottom:1px solid var(--ln);background:transparent;padding:.7em 0;font:inherit;font-size:.95rem;color:var(--ink);border-radius:0}
.lcm-form input:focus,.lcm-form textarea:focus{outline:0;border-bottom-color:var(--g)}
.lcm-form .consent{font-size:.8rem;display:flex;gap:.6rem;align-items:flex-start;text-transform:none;letter-spacing:0;color:var(--tx)}
.lcm-form .consent input{width:auto;accent-color:var(--gd);margin-top:.25rem}
.lcm-hp{position:absolute;left:-9999px;opacity:0;height:0}
.lcm-nav{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:2.2rem;flex-wrap:wrap}
.lcm-btn{font-family:'Montserrat',sans-serif;font-weight:500;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;padding:1em 2.4em;border:1px solid var(--g);background:transparent;color:var(--ink);cursor:pointer;transition:all .35s}
.lcm-btn:hover{background:var(--g);color:#fff}.lcm-btn.solid{background:var(--ink);border-color:var(--ink);color:#fff}.lcm-btn.solid:hover{background:var(--gd);border-color:var(--gd)}
.lcm-btn:disabled{opacity:.45;cursor:default}
.lcm-back{background:none;border:0;font:inherit;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mu);cursor:pointer;padding:0}
.lcm-back:hover{color:var(--gd)}
.lcm-err{color:#B23A3A;font-size:.85rem;margin:1rem 0 0}
.lcm-done{text-align:center;padding:2rem 1rem}
.lcm-done .scr{font-family:'Allura',cursive;color:var(--g);font-size:3rem;line-height:1;display:block;margin-bottom:.4rem}
.lcm-done p{max-width:46ch;margin:0 auto 1.2rem}
.lcm-loading{text-align:center;color:var(--mu);font-style:italic}

.lcm-hint{font-size:.8rem;color:var(--mu);font-style:italic}
