/* Public salon experience */
.salon-app{--green:#713f50;--line:#e7ddd7;--muted:#756964;--accent:#ead6cf;color:#322a29;background:#f8f5f1}
.salon-app header{max-width:1280px;height:106px;padding:0 36px;gap:22px}
.salon-app .brand{font-size:23px;letter-spacing:-.7px;line-height:1.2;max-width:65%}
.salon-app .brand-icon{background:#f0e3df;color:#713f50;border-radius:50%;width:52px;height:52px;flex-shrink:0}
.salon-app .brand-icon img{border-radius:50%;padding:4px}
.salon-app .brand-small{color:#906b67;letter-spacing:4px;font-size:9px;margin-top:7px}
.salon-app nav{gap:26px;flex-shrink:0}.salon-app .nav{position:relative;border:0;font-weight:500;padding:14px 0;color:#756964}
.salon-app .nav.active{border:0;color:#713f50;font-weight:700}.salon-app .nav::after{content:'';position:absolute;bottom:3px;left:0;right:0;height:2px;background:#713f50;transform:scaleX(0);transform-origin:center;transition:transform .22s ease}.salon-app .nav.active::after{transform:scaleX(1)}
.salon-app .mode-bar{background:#eee6df;border:0;color:#715953;font-size:12px;letter-spacing:.25px;padding:9px 24px}
.salon-app main{max-width:1250px;margin:30px auto 64px;padding:0 30px}
.salon-app .intro{position:relative;isolation:isolate;overflow:hidden;min-height:240px;border-radius:26px;margin-bottom:32px;padding:38px 42px;background:#eee3db url('/spazio-interior.jpg') right 68%/48% auto no-repeat}
.salon-app .intro::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#eee3db 0%,#eee3db 45%,#eee3dbed 54%,#eee3db00 78%)}
.salon-app .intro>div{max-width:62%}.salon-app .eyebrow{color:#87574f;font-size:10px;letter-spacing:3px;font-weight:700;margin-bottom:16px}
.salon-app h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(34px,3.6vw,51px);letter-spacing:-1.7px;line-height:1.08;color:#49332f}
.salon-app .intro .muted{font-size:14px;max-width:380px;color:#725e55;margin-top:18px}
.salon-app .booking-layout{gap:28px;grid-template-columns:minmax(0,1fr) 340px}.salon-app .booking-layout>section{min-width:0}
.salon-app h2{font-size:22px;letter-spacing:-.6px}.salon-app .steps{padding:14px 18px;border:1px solid var(--line);border-radius:16px;background:#fffdfb;gap:20px;margin-bottom:28px;justify-content:space-between}
.salon-app .steps li{border:0;padding:0;font-size:12px}.salon-app .step-number{width:27px;height:27px;background:#f7f1ed;border-color:#e7ddd7;color:#8b756c}.salon-app .current .step-number{background:var(--green);border-color:var(--green);color:white;box-shadow:0 3px 9px #713f5024}
.salon-app .section-heading{margin-bottom:20px}.salon-app .count{background:#ede4df;color:#745b51;padding:6px 10px;border-radius:30px;font-size:11px}
.salon-app .list-filters{background:#eee8e2;padding:14px;border-radius:16px;border:0;gap:12px}.salon-app .list-filters label{font-size:11px;font-weight:600;color:#78675e;letter-spacing:.2px}
.salon-app input,.salon-app select{border-color:#e1d5cd;border-radius:10px;background:#fffdfb;color:#443631;min-height:46px}.salon-app input:focus,.salon-app select:focus{outline:2px solid #b4888b;outline-offset:2px}
.salon-app .filter-count{font-size:11px;margin:12px 3px}.salon-app .bounded-list{scrollbar-color:#c9aaa5 transparent;scrollbar-width:thin}
.salon-app .service-list{padding:3px 6px 8px 2px;gap:10px}.salon-app .service{border:1px solid #e6dcd6;border-radius:17px;padding:20px;background:#fffdfb;gap:15px;box-shadow:0 3px 12px #6b4b3604}
.salon-app .service-details strong{font-size:14px;letter-spacing:.1px}.salon-app .service-sub{font-size:12px;color:#8b7770;margin-top:7px}.salon-app .service-icon{border-radius:50%;background:#f1e4de;color:#9a7160;width:44px;height:44px;font-size:21px}
.salon-app .service.selected{background:#f4e8e8;border-color:#9c677c;box-shadow:inset 0 0 0 1px #9c677c}.salon-app .price{font-size:14px;color:#664448}.salon-app .select-mark{width:29px;height:29px;border-color:#ddcbc4;color:#8a6961}.salon-app .selected .select-mark{color:white;background:#713f50;border-color:#713f50}
.salon-app .summary{background:#fffdfb;border-color:#e3d6cc;border-radius:23px;box-shadow:0 14px 45px #5a3a2910;top:20px}.salon-app .salon-photo{height:158px;filter:saturate(.75)}.salon-app .summary-body{padding:25px}.salon-app .summary-title{font-family:Georgia,serif;font-size:25px;font-weight:400;color:#49332f;line-height:1.25}.salon-app .summary-caption{font-size:12px;line-height:1.7;color:#8a756d}.salon-app .summary-line{font-size:13px;line-height:1.5}.salon-app .total{font-size:17px;color:#49332f;padding-top:17px}.salon-app .fine{color:#85736b;font-size:11px}
.salon-app .primary{background:#713f50;border-radius:12px;box-shadow:0 5px 13px #713f501c;font-size:14px;min-height:49px}.salon-app .secondary{background:#fffcf9;border-color:#ddccc3;color:#714e4b;border-radius:12px;font-size:13px}.salon-app .primary:disabled{box-shadow:none;background:#b7a5a7;color:white;opacity:1}.salon-app .back,.salon-app .text-button{color:#875764}.salon-app button:focus-visible,.salon-app summary:focus-visible{outline:3px solid #b4888b;outline-offset:3px}
.salon-app .booking-service{border-radius:17px;border-color:#e5d8d0;background:#fffdfb;padding:22px}.salon-app .fold-panel>summary{color:#6e4952;font-size:14px}.salon-app .fold-body{padding-top:20px}.salon-app .staff{background:#faf5f0;border-color:#e5d8d0;font-size:12px;border-radius:12px}.salon-app .staff.selected{background:#f1e3e6;border-color:#98647b}.salon-app .slot{background:#fffaf6;border-color:#e2d3c8;border-radius:10px;font-size:13px}.salon-app .slot.selected{background:#713f50;color:white;border-color:#713f50}.salon-app .notice{background:#f1e5df;border-left-color:#b28c79;color:#6a5148;border-radius:0 12px 12px 0}.salon-app .formatted-date{border-color:#e1d5cd;border-radius:10px;background:#fffdfb}.salon-app .formatted-date-label{color:#68494b}
.salon-app .account-panel{max-width:650px;margin:42px auto;padding:34px;background:#fffcf9;border:1px solid #e7dad1;border-radius:25px;box-shadow:0 16px 50px #65453308}.salon-app .account-panel h1{font-size:40px;margin-bottom:25px}.salon-app .identity-card{background:linear-gradient(120deg,#f2e6df,#f6efea);border:0;padding:26px;border-radius:17px;margin-bottom:24px}.salon-app .identity-card h2{font-size:24px;color:#68484a}.salon-app .identity-card p{color:#8a7068;font-size:14px;margin-bottom:0}.salon-app .account-panel>.primary,.salon-app .account-panel>.secondary{margin-bottom:14px}.salon-app .history-appointment{border-color:#e6d8ce;border-radius:13px;background:#fffdfb;margin:10px 0;padding:16px}.salon-app .history-appointment summary{font-size:13px;color:#784f5b}.salon-app .history-appointment[open]{background:#faf2ed}.salon-app .history-appointment h3{margin-top:20px}.salon-app #my-bookings{border:0;background:transparent;padding:0}.salon-app .profile-title{margin-top:30px;padding-top:24px;border-top:1px solid var(--line);font-size:22px}.salon-app .success-icon{background:#eaded2;color:#795952}.salon-app .success-card{background:#fffdfb;border-color:#e1d2c8;border-radius:23px}.salon-app .success h1{font-size:44px}.salon-app footer{border-color:#e4d7cc;color:#968076;font-size:11px}.salon-app #loading{background:#713f50;border-radius:30px}
@media(hover:hover){.salon-app .service:hover{border-color:#b89189;transform:translateY(-2px);box-shadow:0 8px 19px #6f483d0b}.salon-app .primary:hover:not(:disabled){background:#5d3042;transform:translateY(-1px)}.salon-app .staff:hover,.salon-app .slot:hover{border-color:#b58d8d}}
@media(prefers-reduced-motion:no-preference){.salon-app .service,.salon-app .staff,.salon-app .slot,.salon-app .primary{transition:background .2s,border-color .2s,transform .2s,box-shadow .2s}.salon-app .account-panel,.salon-app .intro,.salon-app .success{animation:salon-enter .35s ease both}@keyframes salon-enter{from{opacity:.5;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}
@media(max-width:850px){.salon-app header{padding:0 22px}.salon-app .brand{font-size:19px}.salon-app main{padding:0 20px}.salon-app .booking-layout{grid-template-columns:minmax(0,1fr) 290px;gap:18px}.salon-app .steps{gap:10px;padding:13px 10px}.salon-app .steps li{font-size:10px}.salon-app .intro{padding:30px;min-height:215px}.salon-app .summary-body{padding:20px}}
@media(max-width:700px){.salon-app header{height:auto;min-height:92px;padding:18px 20px;flex-wrap:wrap;gap:16px}.salon-app .brand{max-width:100%;font-size:19px;flex:1}.salon-app .brand-icon{width:42px;height:42px}.salon-app nav{gap:22px}.salon-app .nav{font-size:12px}.salon-app .mode-bar{font-size:10px}.salon-app main{margin-top:20px;padding:0 16px}.salon-app .intro{padding:27px 24px;min-height:210px;background-size:auto 100%;background-position:right center;border-radius:20px;margin-bottom:22px}.salon-app .intro::before{background:linear-gradient(90deg,#eee3db 0%,#eee3dbf2 45%,#eee3db70 100%)}.salon-app .intro>div{max-width:90%}.salon-app .intro h1{font-size:38px;max-width:310px}.salon-app .intro .muted{font-size:12px;max-width:260px}.salon-app .booking-layout{grid-template-columns:1fr;gap:25px}.salon-app .steps{padding:15px 12px;margin-bottom:24px}.salon-app .steps li{font-size:11px}.salon-app .service{padding:16px 13px;gap:10px}.salon-app .service-icon{display:none}.salon-app .price{font-size:13px}.salon-app .service-details strong{font-size:12px}.salon-app .summary{position:static}.salon-app .salon-photo{height:130px}.salon-app .account-panel{padding:24px 19px;margin:20px auto;border-radius:20px}.salon-app .account-panel h1{font-size:35px}.salon-app .identity-card{padding:21px}.salon-app .list-filters{padding:12px}.salon-app .success h1{font-size:36px}}
@media(prefers-reduced-motion:reduce){.salon-app .nav::after{transition:none}.salon-app .service:hover,.salon-app .primary:hover:not(:disabled){transform:none}}
.salon-app .summary .salon-photo{display:none}
@media(max-width:700px){.salon-app .steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.salon-app .steps li{min-width:0}.salon-app .steps button{min-width:0;gap:6px;line-height:1.35;text-align:left;white-space:normal}.salon-app .step-number{flex:0 0 24px;width:24px;height:24px}.salon-app .intro h1{font-size:35px}.salon-app .list-filters{grid-template-columns:1fr}.salon-app .service-list{border:0}}

.salon-app .register-nav{border:1px solid currentColor;border-radius:22px;padding:10px 16px}.salon-app .register-nav[hidden]{display:none}

#recover-password{display:block;margin-top:24px;padding:12px 0;min-height:44px}.password-visibility{display:block;background:transparent;border:0;color:inherit;text-decoration:underline;padding:8px 0;margin:4px 0 8px;cursor:pointer;min-height:44px;font:inherit;font-size:14px}
