.nbm-booking-form{background:#fff;border:1px solid #f0dfe5;border-radius:24px;box-shadow:0 16px 45px rgba(80,35,50,.08);margin:0 auto;max-width:1050px;padding:32px;color:#30272b}.nbm-booking-form *{box-sizing:border-box}.nbm-booking-progress{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:32px}.nbm-booking-progress-step{background:#f7f3f5;border-radius:999px;color:#76656b;font-size:13px;font-weight:700;padding:9px 14px}.nbm-booking-progress-step.is-active{background:#f1cfda;color:#7f314a}.nbm-booking-section{border-top:1px solid #f0e7ea;margin-top:30px;padding-top:30px}.nbm-booking-section:first-child{border-top:0;margin-top:0;padding-top:0}.nbm-step-heading{align-items:center;display:flex;gap:12px;margin-bottom:20px}.nbm-step-heading>span{align-items:center;background:#b85f7b;border-radius:50%;color:#fff;display:flex;font-weight:800;height:34px;justify-content:center;width:34px}.nbm-step-heading h2{font-size:24px;margin:0}.nbm-service-grid,.nbm-options-list{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.nbm-service-card{cursor:pointer;display:block;position:relative}.nbm-service-card>input{opacity:0;pointer-events:none;position:absolute}.nbm-service-card-content{background:#fff;border:2px solid #eadce1;border-radius:16px;display:flex;flex-direction:column;gap:8px;height:100%;padding:20px;transition:.2s}.nbm-service-card:hover .nbm-service-card-content,.nbm-service-card input:checked+.nbm-service-card-content{border-color:#c86f8c;box-shadow:0 8px 22px rgba(126,48,74,.12);transform:translateY(-2px)}.nbm-service-name{font-size:18px}.nbm-service-description,.nbm-service-deposit,.nbm-option-description{color:#75666b;font-size:13px}.nbm-service-meta,.nbm-option-meta{color:#7f314a;font-weight:700}.nbm-option-card{align-items:flex-start;background:#fff;border:1px solid #eadce1;border-radius:14px;cursor:pointer;display:flex;gap:12px;padding:16px}.nbm-option-card:has(input:checked){background:#fcf2f5;border-color:#c86f8c}.nbm-option-content{display:flex;flex-direction:column;gap:5px}.nbm-option-name{font-weight:800}.nbm-booking-summary{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.nbm-booking-summary>div{background:linear-gradient(135deg,#fbf3f6,#f7e7ed);border-radius:16px;padding:20px}.nbm-booking-summary span{color:#75666b;display:block;margin-bottom:7px}.nbm-booking-summary strong{color:#9a3f5e;font-size:24px}.nbm-booking-message{border-radius:12px;margin:12px 0;padding:12px 14px}.nbm-booking-message:empty{display:none}.nbm-booking-message--error{background:#fde8e8;color:#8a1c1c}.nbm-booking-message--success{background:#eaf7ee;color:#25623a}.nbm-booking-error{color:#a52a3a}.nbm-calendar{border:1px solid #eadce1;border-radius:20px;overflow:hidden}.nbm-calendar__header{align-items:center;background:#fbf5f7;display:flex;justify-content:space-between;padding:17px 20px}.nbm-calendar__header h3{font-size:20px;margin:0;text-transform:capitalize}.nbm-calendar__nav{align-items:center;background:#fff;border:1px solid #e4cfd7;border-radius:50%;color:#8c3c58;cursor:pointer;display:flex;font-size:26px;height:40px;justify-content:center;width:40px}.nbm-calendar__nav:disabled{cursor:not-allowed;opacity:.3}.nbm-calendar__weekdays,.nbm-calendar__grid{display:grid;grid-template-columns:repeat(7,1fr)}.nbm-calendar__weekdays{background:#fff;border-bottom:1px solid #f0e7ea;color:#89777e;font-size:12px;font-weight:800;text-align:center}.nbm-calendar__weekdays span{padding:11px 4px}.nbm-calendar__grid{gap:6px;padding:14px}.nbm-calendar__blank{aspect-ratio:1}.nbm-calendar__day{aspect-ratio:1;background:#f6f4f5;border:0;border-radius:12px;color:#b0a6aa;font-weight:700}.nbm-calendar__day.is-available{background:#f5dce4;color:#7a2942;cursor:pointer}.nbm-calendar__day.is-available:hover,.nbm-calendar__day.is-selected{background:#a94466;color:#fff;transform:translateY(-1px)}.nbm-times-panel{background:#fcf6f8;border:1px solid #eadce1;border-radius:16px;margin-top:18px;padding:18px}.nbm-times-panel h3{font-size:17px;margin:0 0 14px}.nbm-available-times{display:flex;flex-wrap:wrap;gap:10px}.nbm-time-button{background:#fff;border:1px solid #dfb9c6;border-radius:999px;color:#7a2942;cursor:pointer;font-weight:800;padding:10px 15px}.nbm-time-button:hover,.nbm-time-button.is-selected{background:#a94466;border-color:#a94466;color:#fff}.nbm-selection-result{background:#edf8f1;border:1px solid #cbe6d4;border-radius:13px;margin-top:18px;padding:14px}.nbm-card-section{background:#fff;border:1px solid #eee2e6;border-radius:20px;box-shadow:0 8px 24px rgba(80,35,50,.05);padding:24px}.nbm-section-intro{color:#75666b;margin-top:-7px}.nbm-booking__fields{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.nbm-booking__field{display:flex;flex-direction:column;gap:7px}.nbm-booking__field label{font-weight:800}.nbm-booking__field input,.nbm-booking__field textarea{background:#fff;border:1px solid #d9c7ce;border-radius:12px;font:inherit;padding:12px 14px;width:100%}.nbm-booking__field input:focus,.nbm-booking__field textarea:focus{border-color:#b25e77;box-shadow:0 0 0 3px rgba(178,94,119,.13);outline:0}.nbm-booking__field small{color:#817177}.nbm-booking__field--full{margin-top:18px}.nbm-booking__upload{align-items:center;background:#fcf5f8;border:2px dashed #d7afbd;border-radius:18px;cursor:pointer;display:flex;flex-direction:column;gap:7px;justify-content:center;min-height:170px;padding:24px;text-align:center}.nbm-booking__upload:hover{background:#faedf2;border-color:#ae5070}.nbm-booking__upload input{height:1px;opacity:0;position:absolute;width:1px}.nbm-upload-icon{align-items:center;background:#a94466;border-radius:50%;color:#fff;display:flex;font-size:28px;height:50px;justify-content:center;width:50px}.nbm-booking__upload strong{color:#7f314a;font-size:17px}.nbm-booking__upload small{color:#817177}.nbm-booking__image-preview{align-items:center;background:#f9f3f5;border-radius:15px;display:flex;gap:15px;margin-top:15px;padding:13px}.nbm-booking__image-preview img{border-radius:11px;height:95px;object-fit:cover;width:95px}.nbm-booking__image-preview button{background:transparent;border:0;color:#a52a3a;cursor:pointer;font-weight:800;margin-top:8px;padding:0;text-decoration:underline}.nbm-booking__consents{display:grid;gap:13px}.nbm-booking__consent{align-items:flex-start;background:#faf5f7;border:1px solid #eadce1;border-radius:15px;cursor:pointer;display:flex;gap:12px;padding:16px}.nbm-booking__consent input{margin-top:4px}.nbm-booking__consent span{display:flex;flex-direction:column;gap:4px}.nbm-booking__consent strong{color:#47383e}.nbm-booking__consent small{color:#75666b;line-height:1.45}.nbm-booking__final-summary{background:linear-gradient(145deg,#392b31,#241c20);border-radius:20px;color:#fff;margin-top:24px;overflow:hidden;padding:24px}.nbm-final-summary__title{align-items:center;display:flex;gap:12px;margin-bottom:20px}.nbm-final-summary__title>span{align-items:center;background:rgba(255,255,255,.12);border-radius:50%;display:flex;font-size:25px;height:48px;justify-content:center;width:48px}.nbm-final-summary__title small{opacity:.68}.nbm-final-summary__title h3{color:#fff;font-size:24px;margin:2px 0 0}.nbm-final-summary__grid{display:grid;gap:1px;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden}.nbm-final-summary__grid>div{background:rgba(255,255,255,.06);padding:15px}.nbm-final-summary__grid span,.nbm-final-summary__totals span{display:block;font-size:12px;opacity:.68}.nbm-final-summary__grid strong{display:block;margin-top:5px}.nbm-final-summary__totals{border-top:1px solid rgba(255,255,255,.15);display:grid;gap:18px;grid-template-columns:1fr 1fr;margin-top:18px;padding-top:18px}.nbm-final-summary__totals strong{display:block;font-size:24px;margin-top:4px}.nbm-final-summary__totals>div:last-child strong{color:#f2a8bf}.nbm-booking__submit{background:#b65072;border:0;border-radius:999px;color:#fff;cursor:pointer;font-size:16px;font-weight:800;margin-top:22px;min-height:54px;padding:13px 25px;width:100%}.nbm-booking__submit:hover{background:#993e5d}.nbm-booking__payment-note{color:#817177;font-size:13px;text-align:center}
@media(max-width:700px){.nbm-booking-form{border-radius:15px;padding:18px}.nbm-service-grid,.nbm-options-list,.nbm-booking-summary,.nbm-booking__fields,.nbm-final-summary__grid,.nbm-final-summary__totals{grid-template-columns:1fr}.nbm-calendar__grid{gap:3px;padding:8px}.nbm-calendar__day{border-radius:9px;font-size:13px}.nbm-calendar__weekdays span{font-size:10px}.nbm-card-section{padding:18px}.nbm-booking-progress{display:none}}


/* Cartes prestations premium avec image et description repliable */
.nbm-service-card-content{display:grid;grid-template-columns:128px minmax(0,1fr);gap:18px;padding:14px;overflow:hidden}
.nbm-service-media{border-radius:14px;height:128px;overflow:hidden;position:relative;background:#f7e8ed}
.nbm-service-media img{display:block;height:100%;object-fit:cover;transition:transform .3s ease;width:100%}
.nbm-service-card:hover .nbm-service-media img,.nbm-service-card input:checked+.nbm-service-card-content .nbm-service-media img{transform:scale(1.045)}
.nbm-service-selected-badge{align-items:center;background:#a94466;border:3px solid #fff;border-radius:50%;color:#fff;display:flex;font-size:14px;font-weight:900;height:29px;justify-content:center;opacity:0;position:absolute;right:8px;top:8px;transform:scale(.75);transition:.2s ease;width:29px}
.nbm-service-card input:checked+.nbm-service-card-content .nbm-service-selected-badge{opacity:1;transform:scale(1)}
.nbm-service-body{align-content:start;display:grid;gap:7px;min-width:0;padding:4px 4px 4px 0}
.nbm-service-description{-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#75666b;display:-webkit-box;font-size:13px;line-height:1.5;max-height:3em;overflow:hidden;transition:max-height .25s ease}
.nbm-service-description.is-expanded{-webkit-line-clamp:unset;display:block;max-height:500px}
.nbm-service-more{align-self:start;background:transparent;border:0;color:#9b3f5e;cursor:pointer;font-size:13px;font-weight:800;justify-self:start;padding:1px 0;position:relative;text-decoration:underline;text-underline-offset:3px;z-index:2}
.nbm-service-more:hover{color:#742642}

/* Champs obligatoires */
.nbm-required{color:#d31f3f;font-weight:900}
.nbm-required-note{color:#76656b;font-size:12px;margin:4px 0 0}
.nbm-optional{color:#8a7b80;font-size:12px;font-weight:500}
.nbm-field-error{color:#b4233d;display:none;font-size:12px;font-weight:700;line-height:1.35}
.nbm-booking__field.has-error .nbm-field-error,.nbm-booking__consent.has-error .nbm-field-error{display:block}
.nbm-booking__field.has-error input,.nbm-booking__field.has-error textarea{background:#fff8fa;border-color:#d93453;box-shadow:0 0 0 3px rgba(217,52,83,.1)}
.nbm-booking__consent.has-error{background:#fff7f9;border-color:#d93453;box-shadow:0 0 0 3px rgba(217,52,83,.08)}

@media(max-width:760px){
	.nbm-service-card-content{grid-template-columns:96px minmax(0,1fr);gap:13px;padding:12px}
	.nbm-service-media{height:96px}
	.nbm-service-name{font-size:16px}
}
@media(max-width:480px){
	.nbm-service-card-content{grid-template-columns:82px minmax(0,1fr)}
	.nbm-service-media{height:82px}
	.nbm-service-meta{font-size:13px}
}

/* v0.7.3 — calendrier public réellement responsive */
.nbm-calendar,.nbm-calendar__weekdays,.nbm-calendar__grid{max-width:100%;min-width:0;width:100%}.nbm-calendar__weekdays,.nbm-calendar__grid{grid-template-columns:repeat(7,minmax(0,1fr))}.nbm-calendar__day,.nbm-calendar__blank{min-width:0;width:100%}.nbm-calendar__day{min-height:42px;padding:0}
@media(max-width:600px){
 body{overflow-x:hidden}.nbm-booking-form{max-width:100%;overflow:hidden;padding:14px}.nbm-booking-section{min-width:0}.nbm-step-heading{align-items:flex-start}.nbm-step-heading h2{font-size:clamp(22px,7vw,30px);line-height:1.12}.nbm-calendar{border-radius:16px}.nbm-calendar__header{padding:13px 10px}.nbm-calendar__header h3{font-size:clamp(17px,5vw,21px);white-space:nowrap}.nbm-calendar__nav{flex:0 0 38px;height:38px;width:38px}.nbm-calendar__weekdays span{font-size:10px;overflow:hidden;padding:9px 1px;text-overflow:ellipsis}.nbm-calendar__grid{gap:3px;padding:7px}.nbm-calendar__day,.nbm-calendar__blank{aspect-ratio:1/1;min-height:0}.nbm-calendar__day{border-radius:9px;font-size:13px;line-height:1;padding:0}.nbm-times-panel{padding:14px}.nbm-available-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.nbm-time-button{padding:10px 8px;width:100%}
}
@media(max-width:380px){.nbm-booking-form{padding:10px}.nbm-calendar__grid{gap:2px;padding:5px}.nbm-calendar__weekdays span{font-size:9px}.nbm-calendar__day{border-radius:7px;font-size:12px}.nbm-calendar__nav{height:34px;width:34px}.nbm-calendar__header h3{font-size:17px}}


/* v1.1.1 — réservation suivante */
.nbm-repeat-booking-notice{margin:0 0 22px;padding:18px 20px;border:1px solid rgba(139,48,91,.18);border-radius:18px;background:linear-gradient(135deg,#fff7fa,#f8eef3);display:grid;gap:5px;color:#5a3346}.nbm-repeat-booking-notice strong{font-size:1.05rem;color:#7e294f}.nbm-repeat-booking-notice span{line-height:1.55}@media(max-width:640px){.nbm-repeat-booking-notice{margin-bottom:16px;padding:15px 16px;border-radius:15px}}

.nbm-voucher-notice{border:1px solid rgba(151,96,112,.22);background:linear-gradient(135deg,#fff8fb,#f7edf1)}
.nbm-voucher-notice strong{color:#7f4153}

.nbm-option-quantity-wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;font-weight:700}.nbm-option-quantity{width:76px!important;min-height:42px;border:1px solid #dcc8d1;border-radius:12px;padding:8px 10px;text-align:center}@media(max-width:560px){.nbm-option-quantity-wrap{font-size:14px}.nbm-option-quantity{width:68px!important}}


/* v1.3.1 — choix visuel de longueur */
.nbm-length-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.nbm-length-card{position:relative;cursor:pointer}.nbm-length-card>input{position:absolute;opacity:0}.nbm-length-card>span{display:flex;height:100%;flex-direction:column;overflow:hidden;border:2px solid #eadce1;border-radius:18px;background:#fff;transition:.2s}.nbm-length-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.nbm-length-card strong,.nbm-length-card small{display:block;padding:0 14px;text-align:center}.nbm-length-card strong{padding-top:12px;color:#3d2932}.nbm-length-card small{padding-top:5px;padding-bottom:14px;color:#9a3f5e;font-weight:800}.nbm-length-card input:checked+span{border-color:#e65c86;box-shadow:0 10px 28px rgba(211,73,116,.18);transform:translateY(-2px)}
@media(max-width:700px){.nbm-length-grid{grid-template-columns:1fr}.nbm-length-card>span{display:grid;grid-template-columns:112px minmax(0,1fr);grid-template-rows:1fr 1fr;align-items:center}.nbm-length-card img{grid-row:1/3;width:112px;height:96px;aspect-ratio:auto}.nbm-length-card strong,.nbm-length-card small{text-align:left;padding-left:14px;padding-right:12px}.nbm-length-card strong{align-self:end;padding-top:10px}.nbm-length-card small{align-self:start;padding-top:4px;padding-bottom:10px}}

.nbm-terms-consent{align-items:flex-start}.nbm-terms-open{align-self:flex-start;background:transparent;border:0;color:#973b5b;cursor:pointer;font-weight:800;padding:3px 0;text-decoration:underline}.nbm-terms-consent input:disabled{opacity:.45}.nbm-terms-modal[hidden]{display:none!important}.nbm-terms-modal{inset:0;position:fixed;z-index:100000}.nbm-terms-modal__backdrop{background:rgba(24,14,19,.72);inset:0;position:absolute}.nbm-terms-modal__dialog{background:#fff;border-radius:22px;box-shadow:0 24px 80px rgba(0,0,0,.35);display:flex;flex-direction:column;left:50%;max-height:min(86vh,760px);max-width:720px;overflow:hidden;position:absolute;top:50%;transform:translate(-50%,-50%);width:calc(100% - 28px)}.nbm-terms-modal__header{align-items:flex-start;border-bottom:1px solid #ecdfe4;display:flex;justify-content:space-between;padding:20px 22px}.nbm-terms-modal__header small{color:#8d6070;font-weight:800;text-transform:uppercase}.nbm-terms-modal__header h2{margin:3px 0 0}.nbm-terms-modal__close{background:#f7edf1;border:0;border-radius:50%;cursor:pointer;font-size:25px;height:40px;line-height:1;width:40px}.nbm-terms-modal__content{overflow:auto;padding:20px 22px;scroll-behavior:smooth}.nbm-terms-point{align-items:flex-start;border-bottom:1px solid #f1e8eb;display:flex;gap:14px;padding:15px 0}.nbm-terms-point>span{background:#b65072;border-radius:50%;color:#fff;display:grid;flex:0 0 32px;font-weight:800;height:32px;place-items:center}.nbm-terms-point h3{font-size:17px;margin:3px 0 7px}.nbm-terms-point p{color:#63545a;line-height:1.65;margin:0}.nbm-terms-end{background:#edf8f1;border-radius:12px;color:#28643c;font-weight:800;margin-top:18px;padding:14px;text-align:center}.nbm-terms-modal__footer{align-items:center;background:#fff7fa;border-top:1px solid #ecdfe4;display:flex;gap:15px;justify-content:space-between;padding:16px 22px}.nbm-terms-modal__footer p{color:#745f67;font-size:13px;margin:0}.nbm-terms-confirm{background:#a94466;border:0;border-radius:999px;color:#fff;cursor:pointer;font-weight:800;padding:12px 18px}.nbm-terms-confirm:disabled{cursor:not-allowed;opacity:.45}.nbm-modal-open{overflow:hidden}@media(max-width:600px){.nbm-terms-modal__dialog{max-height:92vh}.nbm-terms-modal__footer{align-items:stretch;flex-direction:column}.nbm-terms-confirm{width:100%}}

.nbm-final-summary__totals--payment{grid-template-columns:repeat(2,minmax(0,1fr))}.nbm-final-summary__totals--payment>div{background:rgba(255,255,255,.055);border-radius:12px;padding:13px}.nbm-final-summary__totals--payment>div:nth-last-child(-n+2) strong{color:#f2a8bf}.nbm-management-fee-note{font-size:12px;line-height:1.5;margin:14px 0 0;opacity:.78}.nbm-management-fee-note[hidden],[data-nbm-fee-row][hidden]{display:none!important}@media(max-width:700px){.nbm-final-summary__totals--payment{grid-template-columns:1fr}}

/* v1.4.4.0 — récapitulatif de paiement luxe et allégé */
.nbm-payment-overview{display:grid;gap:12px;margin-top:18px}.nbm-payment-card{align-items:center;background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.045));border:1px solid rgba(255,255,255,.1);border-radius:16px;display:flex;gap:15px;min-height:92px;padding:17px 18px}.nbm-payment-card__icon{align-items:center;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.11);border-radius:14px;display:flex;flex:0 0 46px;height:46px;justify-content:center}.nbm-payment-card__icon svg{fill:none;height:24px;stroke:#f4d9c7;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7;width:24px}.nbm-payment-card>div,.nbm-payment-card__body{min-width:0;width:100%}.nbm-payment-card__label{color:rgba(255,255,255,.72);display:block;font-size:13px;font-weight:700;letter-spacing:.01em;margin-bottom:4px}.nbm-payment-card strong{color:#fff;display:block;font-size:29px;letter-spacing:-.025em;line-height:1.1}.nbm-payment-card--today{background:linear-gradient(145deg,rgba(194,72,111,.22),rgba(255,255,255,.055));border-color:rgba(244,170,193,.24)}.nbm-payment-card--today strong{color:#ffd4df}.nbm-payment-card--appointment strong{color:#f2a8bf}.nbm-payment-card__details{border-top:1px solid rgba(255,255,255,.11);display:grid;gap:7px;margin-top:12px;padding-top:11px}.nbm-payment-card__details span{align-items:center;color:rgba(255,255,255,.7);display:flex;font-size:12px;line-height:1.4}.nbm-payment-card__details svg{fill:none;flex:0 0 16px;height:16px;margin-right:7px;stroke:#f3c2d1;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:16px}.nbm-payment-card__details b{color:#fff;font-weight:800}.nbm-payment-trust{align-items:flex-start;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09);border-radius:14px;display:flex;gap:11px;margin-top:14px;padding:13px 14px}.nbm-payment-trust>svg{fill:none;flex:0 0 21px;height:21px;margin-top:1px;stroke:#f0c6d3;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:21px}.nbm-payment-trust p{color:rgba(255,255,255,.72);font-size:12px;line-height:1.5;margin:0}.nbm-payment-trust strong{color:#fff;display:block;font-size:12px;margin-bottom:2px}.nbm-payment-trust span{display:block}.nbm-booking__submit{align-items:center;display:flex;gap:10px;justify-content:center;position:relative}.nbm-submit-lock{display:inline-flex}.nbm-submit-lock svg{fill:none;height:19px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:19px}.nbm-submit-spinner{animation:nbmSubmitSpin .7s linear infinite;border:2px solid rgba(255,255,255,.36);border-radius:50%;border-top-color:#fff;display:none;height:19px;width:19px}.nbm-booking__submit.is-loading .nbm-submit-lock{display:none}.nbm-booking__submit.is-loading .nbm-submit-spinner{display:inline-block}@keyframes nbmSubmitSpin{to{transform:rotate(360deg)}}
@media(max-width:700px){.nbm-payment-card{border-radius:14px;gap:12px;min-height:82px;padding:14px}.nbm-payment-card__icon{border-radius:12px;flex-basis:42px;height:42px}.nbm-payment-card strong{font-size:26px}.nbm-payment-card__details span{align-items:flex-start}.nbm-payment-trust{padding:12px}}


/* v1.5.3.4 — parcours spécial réparation */
.nbm-repair-contact__box{background:linear-gradient(145deg,#fff,#fff7fa);border:1px solid #edd5df;border-radius:22px;box-shadow:0 16px 42px rgba(111,42,68,.08);display:grid;gap:17px;padding:22px}.nbm-repair-contact__box>p{color:#6e5660;line-height:1.6;margin:0}.nbm-repair-contact__box label{color:#5c3445;display:grid;font-weight:800;gap:8px}.nbm-repair-contact__box input,.nbm-repair-contact__box textarea{background:#fff;border:1px solid #decbd3;border-radius:14px;color:#422b35;font:inherit;padding:13px 14px;width:100%}.nbm-repair-contact__button{background:linear-gradient(135deg,#b24d71,#e55d86);border:0;border-radius:15px;box-shadow:0 12px 28px rgba(190,70,111,.22);color:#fff;cursor:pointer;font-size:16px;font-weight:900;min-height:54px;padding:14px 18px}.nbm-repair-contact__hint{font-size:13px!important;text-align:center}@media(max-width:600px){.nbm-repair-contact__box{border-radius:18px;padding:17px}}
.nbm-repair-contact__identity{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.nbm-repair-contact__identity label:first-child{grid-column:1/-1}.nbm-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}@media(max-width:600px){.nbm-repair-contact__identity{grid-template-columns:1fr}.nbm-repair-contact__identity label:first-child{grid-column:auto}}

/* v1.5.4.1 — photos de réparation */
.nbm-repair-photo input[type=file]{border:1px dashed #d5aebd;background:#fff8fb;cursor:pointer;padding:16px}.nbm-repair-photo small{color:#80616e;font-size:12px;font-weight:600}.nbm-repair-photo [data-repair-photo-list]{color:#8d3f5d;font-size:12px;font-weight:750;line-height:1.45;overflow-wrap:anywhere}

.nbm-booking__urgent-notice{margin:18px 0;padding:20px;border:1px solid #e8bd6b;border-radius:20px;background:linear-gradient(145deg,#fff9e9,#fff1dc);color:#5a3820;box-shadow:0 12px 30px rgba(150,103,31,.1)}
.nbm-booking__urgent-notice strong{display:block;margin-bottom:7px;font-size:18px;color:#8e581d}
.nbm-booking__urgent-notice p{margin:0;line-height:1.55;color:#6d4b2d}


/* Aperçu grand format des photos de longueurs et de formes. */
.nbm-choice-photo{position:relative;display:block;overflow:hidden}.nbm-choice-photo>img{display:block}.nbm-choice-view{position:absolute;right:10px;bottom:10px;z-index:2;min-height:38px;padding:8px 15px;border:1px solid rgba(255,255,255,.8);border-radius:999px;background:rgba(48,20,33,.88);color:#fff;font-size:13px;font-weight:900;line-height:1;box-shadow:0 8px 20px rgba(35,13,23,.25);cursor:pointer;backdrop-filter:blur(5px)}.nbm-choice-view:hover,.nbm-choice-view:focus{background:#4b1d33;color:#fff;transform:translateY(-1px)}
.nbm-choice-image-modal[hidden]{display:none!important}.nbm-choice-image-modal{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:24px;background:rgba(20,10,16,.78);backdrop-filter:blur(7px)}.nbm-choice-image-modal__content{display:grid;place-items:center;max-width:min(96vw,1200px);max-height:90vh;overflow:hidden;border-radius:24px;background:#fff;box-shadow:0 28px 90px rgba(0,0,0,.42)}.nbm-choice-image-modal__content img{display:block;max-width:96vw;max-height:90vh;width:auto;height:auto;object-fit:contain;image-rendering:auto;transform-origin:center center;will-change:transform;touch-action:none;user-select:none;-webkit-user-drag:none;transition:transform .12s ease-out}.nbm-choice-image-modal__close{position:fixed;top:max(18px,env(safe-area-inset-top));right:18px;z-index:2;display:grid;place-items:center;width:52px;height:52px;padding:0;border:1px solid rgba(255,255,255,.72);border-radius:50%;background:#fff;color:#3b1d2c;font-size:34px;font-weight:400;line-height:1;box-shadow:0 12px 35px rgba(0,0,0,.25);cursor:pointer}
@media(max-width:700px){.nbm-length-card>span{position:relative}.nbm-choice-photo{grid-row:1/3;width:112px;height:96px}.nbm-choice-photo>img{width:112px!important;height:96px!important;object-fit:cover}.nbm-choice-view{right:6px;bottom:6px;min-height:32px;padding:6px 10px;font-size:11px}.nbm-choice-image-modal{padding:14px}.nbm-choice-image-modal__close{right:12px;width:46px;height:46px;font-size:30px}}

/* 1.7.12 — réservation depuis l’espace cliente */
.nbm-portal-known-customer{display:flex;gap:14px;align-items:flex-start;padding:18px;border:1px solid rgba(196,70,121,.28);border-radius:22px;background:linear-gradient(135deg,#fff 0%,#fff6fa 100%);box-shadow:0 12px 28px rgba(89,31,58,.07)}
.nbm-portal-known-customer>span{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:50%;background:#e8f8ef;color:#26764d;font-weight:900;font-size:20px}
.nbm-portal-known-customer strong{display:block;color:#54152f;font-size:18px;margin-bottom:5px}.nbm-portal-known-customer p{margin:0;color:#84536a;overflow-wrap:anywhere}.nbm-portal-known-customer small{display:block;margin-top:7px;color:#8f7180}

/* 1.7.25 — demande de réparation depuis l’espace cliente */
.nbm-repair-known-customer{display:grid;gap:5px;margin:16px 0 20px;padding:17px 18px;border:1px solid #ecd2dc;border-radius:16px;background:linear-gradient(135deg,#fff9fb,#fcecf3);color:#5f2341}.nbm-repair-known-customer strong{font-size:16px}.nbm-repair-known-customer span{font-weight:800}.nbm-repair-known-customer small{color:#8b6274;overflow-wrap:anywhere}

/* 1.7.27 — explication du parcours réparation */
.nbm-repair-process-info{padding:18px 20px;border:1px solid #e6c9d5;border-radius:18px;background:linear-gradient(145deg,#fff8fb,#fff);color:#5d3044}.nbm-repair-process-info>strong{display:block;margin-bottom:10px;font-size:1.08rem}.nbm-repair-process-info ol{margin:0;padding-left:21px;display:grid;gap:8px;line-height:1.5}.nbm-repair-process-info em{color:#a52f60;font-style:normal;font-weight:900}


/* 1.7.32 — confirmation des demandes à moins de 48 h */
.nbm-urgent-confirmation-actions{margin-top:18px;padding:20px;border:1px solid rgba(181,69,112,.22);border-radius:22px;background:#fff8fb;text-align:center;box-shadow:0 12px 30px rgba(104,31,61,.08)}
.nbm-urgent-confirmation-actions p{margin:0 0 16px;color:#684052;line-height:1.55}
.nbm-urgent-confirmation-actions strong{color:#4f1930}
.nbm-urgent-portal-button{display:flex;align-items:center;justify-content:center;min-height:58px;padding:14px 22px;border-radius:18px;background:linear-gradient(135deg,#f36b7b,#ee2e72);color:#fff!important;font-weight:800;text-decoration:none!important;box-shadow:0 12px 24px rgba(238,46,114,.2)}
.nbm-urgent-portal-button:focus,.nbm-urgent-portal-button:hover{color:#fff!important;transform:translateY(-1px)}

.nbm-booking-form.is-admin-manual .nbm-booking__consents,.nbm-booking-form.is-admin-manual [data-nbm-payment-overview],.nbm-booking-form.is-admin-manual [data-nbm-payment-trust]{display:none!important}.nbm-booking-form.is-admin-manual{max-width:1100px;margin:0 auto}.nbm-booking-form.is-admin-manual .nbm-booking__payment-note{font-weight:700;color:#7d405d}

.nbm-admin-customer-mode{display:grid;gap:14px;padding:16px 18px;margin-bottom:16px;border:1px solid var(--nbm-border,#ead7df);border-radius:18px;background:#fffafc}.nbm-admin-existing-customer-check{display:flex;align-items:center;gap:10px;font-weight:700;color:#5e3549}.nbm-admin-existing-customer-check input{width:18px;height:18px}.nbm-admin-locked-date-notice{border-color:#f0d8df;background:#fff8fb}.nbm-booking-form.is-admin-manual [data-nbm-existing-customer-wrap] small{display:block;margin-top:6px;color:#7a6170}

/* v1.7.46.9 — formulaire manuel responsive et états cliente existante. */
.nbm-booking-form.is-admin-manual .nbm-admin-customer-mode{width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow:hidden}
.nbm-booking-form.is-admin-manual [data-nbm-existing-customer-wrap][hidden],
.nbm-booking-form.is-admin-manual [data-nbm-new-customer-fields][hidden]{display:none!important}
.nbm-booking-form.is-admin-manual [data-nbm-existing-customer-wrap]{width:100%;max-width:100%;min-width:0}
.nbm-booking-form.is-admin-manual [data-nbm-existing-customer-select]{display:block;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;background:#fff!important;background-image:none!important;background-repeat:no-repeat!important;-webkit-appearance:menulist!important;appearance:auto!important;overflow:hidden;text-overflow:ellipsis}
.nbm-booking-form.is-admin-manual [data-nbm-existing-customer-wrap] small{max-width:100%;overflow-wrap:anywhere;line-height:1.45}
@media(max-width:600px){.nbm-booking-form.is-admin-manual .nbm-admin-customer-mode{padding:14px}.nbm-booking-form.is-admin-manual [data-nbm-existing-customer-select]{font-size:16px;padding:12px 10px}}

@media(max-width:782px){.nbm-booking-form.is-admin-manual input:not([type="checkbox"]):not([type="radio"]),.nbm-booking-form.is-admin-manual select,.nbm-booking-form.is-admin-manual textarea{font-size:16px!important;line-height:1.35!important}.nbm-booking-form.is-admin-manual{width:100%!important;max-width:100%!important;min-width:0!important;transform:none!important;zoom:1!important}.nbm-manual-booking-page{transform:none!important;zoom:1!important}}

/* v1.7.46.36 — information de confidentialité dans la réservation. */
.nbm-privacy-consent{cursor:default}.nbm-privacy-consent__icon{display:grid!important;place-items:center;flex:0 0 28px;width:28px;height:28px;margin-top:1px;border-radius:50%;background:#f0dce4;color:#8b3655;font-weight:900}.nbm-privacy-modal[hidden]{display:none!important}.nbm-privacy-modal{inset:0;position:fixed;z-index:100000}.nbm-privacy-modal__footer{align-items:center}.nbm-privacy-full-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid #dcbcc8;border-radius:999px;color:#8f3657!important;text-decoration:none;font-weight:800}.nbm-privacy-full-link:hover{background:#fff0f5}.nbm-booking-form.is-admin-manual .nbm-privacy-modal{display:none!important}@media(max-width:600px){.nbm-privacy-modal__footer{align-items:stretch}.nbm-privacy-full-link{width:100%}}


/* v1.7.46.38 — correctif du gel de la fenêtre de confidentialité sur iOS. */
html.nbm-modal-open,body.nbm-modal-open{overflow:hidden!important;overscroll-behavior:none}
.nbm-privacy-modal{display:grid;place-items:center;padding:max(14px,env(safe-area-inset-top)) 14px max(14px,env(safe-area-inset-bottom));touch-action:manipulation}
.nbm-privacy-modal>.nbm-terms-modal__dialog{position:relative;left:auto;top:auto;transform:none;width:min(720px,100%);max-height:min(88dvh,760px)}
.nbm-privacy-modal .nbm-terms-modal__content{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
@media(max-width:600px){.nbm-privacy-modal>.nbm-terms-modal__dialog{max-height:calc(100dvh - max(28px,env(safe-area-inset-top)) - max(28px,env(safe-area-inset-bottom)))}}


/* v1.7.46.68 — couplage mains + pédicure */
.nbm-pairing-section{padding-top:0!important}.nbm-pairing-card{border:1px solid rgba(194,75,121,.24);border-radius:24px;padding:18px;background:linear-gradient(145deg,#fff,#fff7fa)}
.nbm-pairing-toggle{display:flex;gap:14px;align-items:flex-start;cursor:pointer}.nbm-pairing-toggle input{width:24px;height:24px;margin-top:2px}.nbm-pairing-toggle span{display:grid;gap:4px}.nbm-pairing-toggle strong{font-size:1.05rem}.nbm-pairing-toggle small{color:#8f6176;line-height:1.35}
.nbm-pairing-content{margin-top:18px}.nbm-service-grid--paired{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.nbm-service-card--paired .nbm-service-card-content{min-height:auto}.nbm-service-card--paired .nbm-service-body{padding:16px}.nbm-paired-options{margin-top:18px}.nbm-paired-options h3{margin:0 0 10px}
@media(max-width:640px){.nbm-pairing-card{padding:14px;border-radius:20px}.nbm-service-grid--paired{grid-template-columns:1fr}.nbm-pairing-toggle strong{font-size:1rem}}

/* v1.7.46.70 — couplage pédicure plus élégant, placé après les options mains. */
.nbm-pairing-section{margin-top:4px!important;padding-top:0!important}
.nbm-pairing-card{position:relative;overflow:hidden;border:1px solid rgba(184,85,124,.22);border-radius:28px;padding:0;background:linear-gradient(145deg,#fffdfd 0%,#fff6fa 56%,#fdf0f6 100%);box-shadow:0 14px 34px rgba(94,36,61,.08)}
.nbm-pairing-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#f2b7ca,#d95a8d,#c8a15a);opacity:.8}
.nbm-pairing-toggle{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:20px 20px 18px;cursor:pointer}
.nbm-pairing-toggle input{width:26px!important;height:26px!important;margin:0!important;accent-color:#c43f77;flex:0 0 auto}
.nbm-pairing-toggle__copy{display:grid!important;gap:3px!important;min-width:0}
.nbm-pairing-eyebrow{font-size:.68rem!important;letter-spacing:.16em;color:#c59a45!important;font-weight:900!important}
.nbm-pairing-toggle strong{font-family:inherit;font-size:1.08rem;line-height:1.2;color:#4f1830}
.nbm-pairing-toggle small{font-size:.88rem;color:#8f6176;line-height:1.38}
.nbm-pairing-plus{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#fff;border:1px solid rgba(184,85,124,.2);color:#bc3d72;font-size:1.45rem;font-weight:500;box-shadow:0 6px 16px rgba(91,31,56,.08);transition:.2s ease}
.nbm-pairing-toggle:has(input:checked) .nbm-pairing-plus{transform:rotate(45deg);background:#5a2038;color:#fff;border-color:#5a2038}
.nbm-pairing-content{margin:0;padding:0 18px 20px;border-top:1px solid rgba(184,85,124,.12)}
.nbm-pairing-selected{display:flex;align-items:center;gap:13px;margin:18px 0 14px;padding:14px 15px;border-radius:20px;background:linear-gradient(135deg,#5c203a,#7a3452);color:#fff;box-shadow:0 10px 24px rgba(82,29,50,.16)}
.nbm-pairing-selected__icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.14);color:#ffd7e5;font-size:1rem}
.nbm-pairing-selected>div{display:grid;gap:2px;min-width:0}.nbm-pairing-selected span{font-size:.72rem;text-transform:uppercase;letter-spacing:.11em;color:#f3c9d8;font-weight:800}.nbm-pairing-selected strong{font-size:1rem;line-height:1.25;color:#fff}.nbm-pairing-selected small{font-size:.86rem;color:#f8e8ee}
.nbm-service-grid--paired{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:10px 0}.nbm-service-card--paired .nbm-service-card-content{min-height:auto}.nbm-service-card--paired .nbm-service-body{padding:15px}.nbm-service-card--paired{border-radius:18px!important;background:#fff!important}
.nbm-paired-options{margin-top:14px;padding-top:16px;border-top:1px solid rgba(184,85,124,.13)}
.nbm-paired-options__heading{display:grid;gap:3px;margin-bottom:12px}.nbm-paired-options__heading>span{font-size:1.05rem;font-weight:900;color:#4f1830}.nbm-paired-options__heading>small{color:#916477;line-height:1.35}
.nbm-paired-options .nbm-option-card{background:rgba(255,255,255,.86);border-color:rgba(184,85,124,.17);box-shadow:none}
@media(max-width:640px){.nbm-pairing-card{border-radius:22px}.nbm-pairing-toggle{grid-template-columns:auto minmax(0,1fr) auto;padding:17px 15px;gap:11px}.nbm-pairing-toggle strong{font-size:1rem}.nbm-pairing-toggle small{font-size:.82rem}.nbm-pairing-plus{width:34px;height:34px}.nbm-pairing-content{padding:0 14px 16px}.nbm-pairing-selected{padding:13px}.nbm-service-grid--paired{grid-template-columns:1fr}}

/* 1.7.46.72 — carte pédicure avec photo */
.nbm-pairing-selected{display:grid!important;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:15px!important;padding:12px!important;background:linear-gradient(135deg,#5c203a 0%,#813855 100%)!important}
.nbm-pairing-selected__media{position:relative;display:block!important;width:82px;height:82px;border-radius:18px;overflow:hidden;background:#f8eef2;box-shadow:0 7px 18px rgba(30,8,18,.18)}
.nbm-pairing-selected__media img{display:block;width:100%;height:100%;object-fit:cover}
.nbm-pairing-selected__check{position:absolute;right:6px;bottom:6px;display:grid!important;place-items:center;width:24px;height:24px;border-radius:50%;background:#fff;color:#b62f67!important;font-size:.78rem!important;font-weight:900!important;letter-spacing:0!important;box-shadow:0 3px 9px rgba(0,0,0,.14)}
.nbm-pairing-selected__copy{display:grid!important;gap:3px!important;min-width:0}
.nbm-pairing-selected__copy>span{font-size:.7rem!important;letter-spacing:.13em!important}
.nbm-pairing-selected__copy strong{font-size:1.03rem!important}
.nbm-service-card--paired .nbm-service-card-content{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:stretch}
.nbm-service-card--paired .nbm-service-media{height:100%;min-height:110px;border-radius:16px 0 0 16px;overflow:hidden}
.nbm-service-card--paired .nbm-service-media img{width:100%;height:100%;object-fit:cover}
@media(max-width:640px){.nbm-pairing-selected{grid-template-columns:74px minmax(0,1fr)!important}.nbm-pairing-selected__media{width:74px;height:74px}.nbm-service-card--paired .nbm-service-card-content{grid-template-columns:88px minmax(0,1fr)}}

/* 1.7.46.73 — évite le doublon visuel lorsqu’une seule pédicure est ajoutée automatiquement */
.nbm-service-grid--paired[hidden]{display:none!important}
