.booking-app{background:#f5f5f5;padding-top:45px}.booking-shell{max-width:1280px}.booking-top{display:grid;grid-template-columns:1.15fr .85fr;gap:38px;align-items:stretch;margin-bottom:30px}.booking-top>div:first-child{padding:26px 0}.booking-pill{background:transparent;color:#5e6065;border:0;padding:0;font-size:10px;letter-spacing:.15em}.booking-top h1{font-size:clamp(40px,5vw,65px);line-height:1.02;max-width:680px;margin:17px 0 18px;letter-spacing:-.055em;font-weight:850}.booking-top p{max-width:500px;line-height:1.65;font-size:15px;color:#5e6065}.pg-booking-benefits{display:flex;flex-wrap:wrap;gap:10px;margin-top:23px}.pg-booking-benefits span{border:1px solid #f5f5f5;border-radius:30px;padding:8px 12px;font-size:11px;color:#5e6065}.pg-booking-perk{background:#18191b;padding:29px;border-radius:20px;color:#fff;position:relative;overflow:hidden}.pg-booking-perk>span{font-size:10px;letter-spacing:.13em;color:#bd6971;font-weight:800}.pg-booking-perk h2{font-size:31px;line-height:1.08;letter-spacing:-.045em;margin:15px 0;max-width:330px}.pg-booking-perk p{font-size:13px;color:#8b8d91;max-width:340px;line-height:1.6}.pg-booking-perk button{border:1px solid #8b8d91;background:#f8f5f5;color:#18191b;padding:12px 16px;border-radius:8px;font:800 12px system-ui;cursor:pointer}.pg-booking-perk small{display:block;font-size:10px;color:#bd6971;margin-top:13px}.booking-grid{grid-template-columns:minmax(0,1.8fr) minmax(280px,.8fr);align-items:start}.booking-card{border-radius:17px;border-color:#f5f5f5;padding:28px;box-shadow:0 8px 26px #18191b05}.booking-progress{margin-bottom:30px}.booking-progress span.on{background:#18191b}.booking-step>h2{font-size:27px;letter-spacing:-.035em}.booking-step>p{font-size:14px;line-height:1.6}.pg-services-label{margin:27px 0 12px;font:800 11px system-ui;letter-spacing:.13em;color:#8b8d91}.service-grid{gap:13px}.service-choice{padding:21px;border-color:#f5f5f5;border-radius:13px;min-height:143px;transition:background .15s,border .15s;position:relative}.service-choice:hover,.service-choice.selected{border-color:#18191b;box-shadow:inset 0 0 0 1px #18191b;background:#f8f5f5}.service-choice b{font-size:19px;line-height:1.25;letter-spacing:-.025em;margin-top:14px}.service-choice small{font-size:12px;line-height:1.55;max-width:300px}.service-choice em{font-size:11px;color:#b52634}.service-choice:disabled{background:#f5f5f5;border-style:dashed;cursor:not-allowed;box-shadow:none;opacity:1}.service-choice:disabled em{color:#8b8d91}.service-choice:disabled b{color:#5e6065}.pg-wash-grid .service-choice{min-height:125px}.pg-service-pending{margin:10px 0 0;font-size:12px!important;color:#5e6065!important}.pg-service-pending a{color:#18191b}.pg-booking-wash-gift{display:block;width:100%;margin-top:26px;background:#f8f5f5!important;border:1px solid #bd6971!important;padding:24px;min-height:0;box-shadow:none!important}.pg-booking-wash-gift em{font-size:10px;letter-spacing:.1em;color:#b52634}.pg-booking-wash-gift b{font-size:24px;line-height:1.12;max-width:440px;color:#18191b}.pg-booking-wash-gift small{max-width:530px;font-size:13px}.pg-booking-wash-gift:after{content:'SCEGLI IL TURNO →';font-size:10px;letter-spacing:.06em;font-weight:800;color:#18191b;display:block;margin-top:17px}.summary-card{position:sticky;top:130px;background:#f8f5f5}.summary-card h3{font-size:19px;letter-spacing:-.025em}.summary-row{padding:15px 0;font-size:13px}.summary-row b{text-align:right;max-width:190px}.promise{background:#f5f5f5;border:0;padding:20px;border-radius:11px}.promise strong{font-size:14px}.promise p{font-size:12px;line-height:1.65}.btn-book.primary{background:#18191b;border-color:#18191b}.date-btn.selected{background:#18191b;border-color:#18191b}.slot.selected{background:#18191b;border-color:#18191b}.pg-booking-bottom{margin-top:24px;padding-top:18px;border-top:1px solid #f5f5f5;font-size:12px;color:#5e6065;line-height:1.6}.pg-booking-bottom a{color:#b52634}.pg-booking-preview{padding:10px 15px;background:#fff1d0;color:#755722;border-radius:9px;margin-bottom:25px;font-size:12px;line-height:1.6}@media(max-width:950px){.booking-top{grid-template-columns:1fr}.pg-booking-perk h2,.pg-booking-perk p{max-width:none}.booking-grid{grid-template-columns:1fr}.summary-card{position:static}.booking-top>div:first-child{padding:0}.pg-booking-perk{padding:24px}.booking-top h1{max-width:650px}}@media(max-width:560px){.booking-app{padding:27px 0 70px}.booking-shell{padding:0 16px}.booking-card{padding:21px}.service-grid{grid-template-columns:1fr}.service-choice{min-height:0;padding:18px}.service-choice b{margin:10px 0}.pg-booking-wash-gift{padding:21px}.booking-top{gap:20px}.booking-top h1{font-size:42px}.pg-booking-perk h2{font-size:29px}.pg-services-label{margin-top:23px}.summary-row b{max-width:170px}}@media(prefers-reduced-motion:reduce){.service-choice{transition:none}}
/* Punto Gomme booking refinement. CSS only: no changes to booking behavior. */
.booking-app{--pg-book-red:#bc202e;--pg-book-ink:#17181b;--pg-book-muted:#62666d;--pg-book-border:#e2e4e8;--green:#bc202e;background:#f4f5f7;padding:54px 0 90px;color:var(--pg-book-ink)}
.booking-shell{max-width:1240px;padding:0 28px}.booking-top{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:46px;margin-bottom:36px;align-items:stretch}.booking-top>div:first-child{padding:22px 0}.booking-pill{font-size:11px;letter-spacing:.12em;color:#62666d;font-weight:800}.booking-pill:before{content:'';display:inline-block;width:20px;height:3px;background:var(--pg-book-red);vertical-align:middle;margin-right:10px}.booking-top h1{font-size:clamp(43px,5.2vw,66px);line-height:1.04;letter-spacing:-.045em;font-weight:800;margin:20px 0;max-width:680px}.booking-top p{font-size:16px;line-height:1.7;color:#62666d;max-width:550px}.pg-booking-benefits{gap:8px;margin-top:25px}.pg-booking-benefits span{border-color:#dfe1e5;background:white;color:#464a51;font-size:12px;line-height:1.5;padding:8px 12px}.pg-booking-benefits span:before{content:'✓';color:#bc202e;font-weight:800;margin-right:6px}
.pg-booking-perk{background:#17181b;border:1px solid #292b30;border-top:4px solid #bc202e;border-radius:16px;padding:30px 32px;box-shadow:0 12px 28px #1213190c}.pg-booking-perk>span{display:block;color:#edeef0;font-size:11px;letter-spacing:.09em;line-height:1.6;max-width:380px}.pg-booking-perk h2{font-size:clamp(27px,3vw,35px);line-height:1.12;letter-spacing:-.035em;margin:17px 0;max-width:380px;color:#fff}.pg-booking-perk p{color:#d0d2d6;font-size:14px;line-height:1.65;max-width:380px}.pg-booking-perk button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;max-width:100%;padding:12px 17px;background:#bc202e;border:1px solid #bc202e;color:white;font-size:12px;letter-spacing:.02em;border-radius:8px}.pg-booking-perk button:hover{background:#a11b27;border-color:#a11b27}.pg-booking-perk small{color:#c1c4c9;font-size:11px;line-height:1.55;margin-top:15px}
.booking-grid{grid-template-columns:minmax(0,1fr) 320px;gap:26px}.booking-card{border:1px solid #e2e4e8;border-radius:16px;padding:30px;background:#fff;box-shadow:0 6px 24px #17181b05}.booking-progress{gap:7px;margin-bottom:30px}.booking-progress span{height:4px;background:#e8eaee;border-radius:2px}.booking-progress span.on{background:#bc202e}.booking-step>h2{font-size:29px;letter-spacing:-.035em;line-height:1.2;margin:0 0 10px;color:#17181b}.booking-step>p{color:#62666d;font-size:15px;line-height:1.6;margin-bottom:25px}.pg-services-label{color:#62666d;font-size:11px;letter-spacing:.1em;margin:29px 0 14px}.service-grid{gap:14px}.service-choice{min-width:0;min-height:160px;padding:23px 21px;background:#fff;border:1px solid #dfe2e7;border-radius:12px;transition:border-color .15s,background .15s,box-shadow .15s;box-shadow:none;text-align:left}.service-choice em{color:#a71b28;font-size:11px;line-height:1.5;font-style:normal;font-weight:800}.service-choice b{font-size:20px;line-height:1.3;letter-spacing:-.025em;margin:13px 0 9px;color:#17181b}.service-choice small{color:#62666d;font-size:13px;line-height:1.6;max-width:none}.service-choice:hover{background:#fafafa;border-color:#9c9fa6;box-shadow:0 5px 16px #16171a08}.service-choice.selected{background:#fff8f8;border-color:#bc202e;box-shadow:inset 0 0 0 1px #bc202e}.service-choice.selected b{color:#971b26}.service-choice:disabled{border-color:#e2e4e8;background:#f7f8fa;opacity:1}.service-choice:disabled b,.service-choice:disabled em{color:#71757c}.pg-wash-grid .service-choice{min-height:145px}.pg-service-pending{color:#62666d!important;line-height:1.6}.pg-service-pending a{color:#a71b28;text-decoration:underline;text-underline-offset:3px}
.pg-booking-wash-gift{border:1px solid #e8bbc0!important;border-left:4px solid #bc202e!important;background:#fff5f5!important;padding:24px 25px;border-radius:12px;margin-top:29px;min-height:0}.pg-booking-wash-gift em{color:#a71b28;font-size:11px;line-height:1.5}.pg-booking-wash-gift b{color:#17181b;font-size:25px;line-height:1.2;max-width:500px}.pg-booking-wash-gift small{color:#575b62;max-width:560px;font-size:13px;line-height:1.65}.pg-booking-wash-gift:after{color:#a71b28;font-size:11px;margin-top:18px;letter-spacing:.02em}.pg-booking-wash-gift:hover{border-color:#bc202e!important;background:#fff0f0!important}.pg-booking-bottom{border-color:#e2e4e8;color:#62666d;font-size:12px;line-height:1.7}.pg-booking-bottom a{color:#a71b28;text-underline-offset:3px}
.summary-card{position:sticky;top:135px;background:#fff;height:max-content;box-shadow:none;padding:26px}.summary-card h3{color:#17181b;font-size:21px;letter-spacing:-.03em;margin:0 0 19px}.summary-row{display:grid;grid-template-columns:75px minmax(0,1fr);gap:15px;border-color:#e5e7eb;padding:16px 0;font-size:13px;line-height:1.6}.summary-row span{color:#62666d}.summary-row b{color:#262930;font-weight:700;text-align:right;max-width:none;overflow-wrap:anywhere}.promise{background:#f3f4f6;border:1px solid #e7e8eb;color:#17181b;padding:20px;border-radius:10px;margin-top:20px}.promise strong{font-size:15px;line-height:1.5;color:#17181b}.promise p{font-size:13px;line-height:1.65;color:#62666d;margin:8px 0 0}
.date-strip{gap:10px;padding:3px 2px 15px}.date-btn{min-width:90px;padding:15px 12px;border:1px solid #dfe2e7;border-radius:10px;min-height:74px}.date-btn b{font-size:15px;margin-top:5px}.date-btn span{font-size:11px;letter-spacing:.04em;opacity:1}.date-btn.selected{background:#17181b;border-color:#17181b;color:white}.slot-grid{gap:10px}.slot{min-height:48px;padding:13px 8px;border-color:#dfe2e7;border-radius:8px;font-size:14px;color:#262930;background:#fff}.slot:hover,.slot.selected{background:#17181b;border-color:#17181b;color:white}.slot:disabled{color:#858990;background:#f0f1f3;border-color:#e7e8ec}.field span{font-size:12px;color:#454950;font-weight:700;letter-spacing:.01em}.field input,.field select,.field textarea{font-size:16px;min-height:48px;padding:13px 14px;border-color:#d7dbe2;border-radius:8px;box-sizing:border-box;max-width:100%;color:#17181b}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #bc202e;outline-offset:2px}.pay-option{border-color:#dfe2e7;padding:18px;border-radius:10px;font-size:14px;line-height:1.5}.pay-option input{accent-color:#bc202e}.btn-book{min-height:48px;padding:14px 23px;border-radius:8px;font-size:14px;font-weight:750}.btn-book.primary{background:#bc202e;border-color:#bc202e;color:white}.btn-book.primary:hover{background:#a11b27}.btn-book.secondary{background:#f0f1f3;color:#444850}.btn-book:disabled{opacity:.55;cursor:wait}.booking-app button:focus-visible,.booking-app a:focus-visible{outline:3px solid #bc202e;outline-offset:4px}.success-icon{background:#fff0f1;color:#bc202e}.booking-code{background:#f1f2f4;color:#17181b;border:1px solid #dfe2e7}.success-box h2{font-size:34px;letter-spacing:-.03em}.booking-app *{box-sizing:border-box}
/* Native high-resolution brand asset; no raster enlargement. */
.pgb-logo img{content:url('/assets/punto-gomme-horizontal.png');width:210px;height:auto;max-width:100%;object-fit:contain}
@media(max-width:1050px){.booking-grid{grid-template-columns:minmax(0,1fr) 285px;gap:20px}.booking-card{padding:25px}.booking-top{gap:25px}.pg-booking-perk{padding:25px}.service-choice{padding:20px 17px}.service-choice b{font-size:19px}.summary-card{padding:22px}}
@media(max-width:950px){.booking-top{grid-template-columns:1fr}.booking-top>div:first-child{padding:0}.pg-booking-perk{max-width:none}.pg-booking-perk h2,.pg-booking-perk p{max-width:650px}.booking-grid{grid-template-columns:1fr}.summary-card{position:static;order:0}.booking-top h1{font-size:52px}.booking-top{gap:23px}.pg-booking-perk h2{font-size:30px}.booking-shell{padding:0 24px}}
@media(max-width:560px){.booking-app{padding:30px 0 80px}.booking-shell{padding:0 16px}.booking-top{margin-bottom:24px}.booking-top h1{font-size:44px;line-height:1.04;margin:18px 0}.booking-top p{font-size:15px}.booking-pill{font-size:10px;letter-spacing:.07em}.pg-booking-benefits span{font-size:11px;padding:7px 10px}.pg-booking-perk{padding:24px 22px;border-radius:13px}.pg-booking-perk h2{font-size:28px}.pg-booking-perk button{width:100%;font-size:11px;white-space:normal}.booking-card{padding:23px 20px;border-radius:13px}.booking-step>h2{font-size:26px}.service-grid{grid-template-columns:1fr;gap:11px}.service-choice,.pg-wash-grid .service-choice{min-height:0;padding:20px}.service-choice b{font-size:20px;margin:11px 0 8px}.service-choice small{font-size:13px}.pg-booking-wash-gift{padding:22px 20px}.pg-booking-wash-gift b{font-size:24px}.slot-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.slot{font-size:13px}.summary-card{padding:23px}.summary-row{grid-template-columns:80px minmax(0,1fr)}.form-grid{grid-template-columns:1fr}.booking-actions{gap:10px}.booking-actions .btn-book{padding:13px 16px}.pgb-logo img{width:175px}}
@media(prefers-reduced-motion:reduce){.booking-app *{transition:none!important;scroll-behavior:auto!important}}
