/* Rénovation Phare Bordeaux — violet, noir et blanc */
body.--theme-air { color:#211729;background:#faf8fc;font-family:Arial,Helvetica,sans-serif; }
body.--theme-air #main,body.--theme-air #main-content { background:#faf8fc; }
body.--theme-air #header { background:#17121c;box-shadow:0 2px 18px #1f0b3020;border:0; }
body.--theme-air #header a,body.--theme-air #header .fa { color:#fff; }
body.--theme-air #main-buttons { background:linear-gradient(120deg,#1d1029,#321445);color:white; }
body.--theme-air #main-buttons a { border-radius:12px; }
body.--theme-air #steps-nav { margin-bottom:26px; }
body.--theme-air #steps-nav .step_info_item .content { border-radius:12px; }
body.--theme-air #steps-nav .step_info_item.active .content { background:#8a35cc;color:white; }
body.--theme-air #steps-nav .step_info_item.active .title-small,body.--theme-air #steps-nav .step_info_item.active .title-sub { color:white; }
body.--theme-air #main-content .service-item,body.--theme-air #main-content .provider-item,body.--theme-air #main-content .section-pd { border:1px solid #dfcdea;border-radius:16px;background:white;box-shadow:0 7px 24px #48205c08; }
body.--theme-air #main-content .tab { border-radius:16px;overflow:hidden;background:white; }
body.--theme-air #main-content .tab-pd { padding:22px; }
body.--theme-air #main-content h3,body.--theme-air #main-content .cap { color:#302039;font-weight:700;line-height:1.4; }
body.--theme-air #main-content .txt,body.--theme-air #main-content .description { color:#6e6076;line-height:1.65; }
body.--theme-air #main-content .sb-cell.free { border:1px solid #b982df;border-radius:10px;background:#fff;color:#7523b0;min-height:44px;transition:background .18s,color .18s; }
body.--theme-air #main-content .sb-cell.free:hover,body.--theme-air #main-content .sb-cell.free:focus-visible { background:#8a35cc;color:#fff;outline:2px solid #d7adef;outline-offset:2px; }
body.--theme-air #main-content .btn.custom,body.--theme-air #main-content button[type=submit],body.--theme-air #main-content input[type=submit] { background:#8a35cc;color:#fff;border-color:#8a35cc;border-radius:10px;font-weight:700;min-height:44px; }
body.--theme-air #main-content .btn.custom:hover { background:#7425b0; }
body.--theme-air #main-content input:not([type=checkbox]):not([type=radio]):not([type=submit]),body.--theme-air #main-content textarea,body.--theme-air #main-content select { border-radius:9px;border:1px solid #d8c5e5;min-height:44px; }
body.--theme-air #main-content input:focus,body.--theme-air #main-content textarea:focus { border-color:#8a35cc;box-shadow:0 0 0 3px #8a35cc15; }
body.--theme-air #main-content input[type=checkbox],body.--theme-air #main-content input[type=radio] { accent-color:#8a35cc; }
body.--theme-air #main-content .top-date-select { border-radius:12px; }
@media(max-width:767px){ body.--theme-air #main-content .section-pd{padding:16px}body.--theme-air #main-content .tab-pd{padding:18px}body.--theme-air #steps-nav{margin-bottom:16px} }
@media(prefers-reduced-motion:reduce){body.--theme-air #main-content .sb-cell.free{transition:none}}
body.--theme-air:has(#steps-nav) #main-buttons { min-height:0!important;height:auto!important;background-image:linear-gradient(120deg,#1d1029,#321445)!important; }
body.--theme-air:has(#steps-nav) #main-buttons .wrapper { height:auto!important;min-height:0!important;padding:28px 0!important; }
body.--theme-air:has(#steps-nav) #main-buttons .inner { position:static!important;transform:none!important;padding:0!important; }
body.--theme-air:has(#steps-nav) #main-buttons .company-name { font-size:26px!important;line-height:1.3; }
body.--theme-air:has(#steps-nav) #main-buttons .bar { margin-top:14px; }
body.--theme-air #header .logo img { max-height:60px;width:auto; }
@media(max-width:767px){body.--theme-air:has(#steps-nav) #main-buttons .wrapper{padding:20px 0!important}body.--theme-air:has(#steps-nav) #main-buttons .company-name{font-size:20px!important}}
 
/* RPT booking appearance — 20 October 2026. Presentation only. */
:root{--rpt-ink:#09090c;--rpt-violet:#a12ff2;--rpt-purple:#7a20c4;--rpt-lavender:#c89bff;--rpt-line:#e8dcf4}
body{background:#fff!important;color:var(--rpt-ink)!important;font-family:Arial,Helvetica,sans-serif!important}
#header.header{background:var(--rpt-ink)!important;border-bottom:1px solid #362044;box-shadow:none}
#header .header__navigation-link,#header .header__menu-trigger,#header .header__client-panel{color:#fff!important}
#header .header__navigation-link:hover,#header .header__navigation-link:focus{color:var(--rpt-lavender)!important}
#header .header__logo-image{max-height:66px;object-fit:contain;border-radius:8px}
#main #main-buttons{min-height:210px!important;height:auto!important;position:relative;background-color:var(--rpt-ink)!important}
#main #main-buttons:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,9,12,.83),rgba(9,9,12,.24))!important;pointer-events:none}
#main #main-buttons>.container-fluid{position:relative}
#main #main-buttons .wrapper{padding:42px 0!important;min-height:210px!important}
#main #main-buttons .company-name{color:#fff!important;font-weight:800!important;letter-spacing:-.045em;font-size:clamp(28px,3.6vw,46px)!important;line-height:1.12;text-shadow:0 2px 20px #09090c80}
#main #main-buttons .btn-bar{margin-top:20px!important}
#main-content{background:#fff!important}
#steps-nav.steps-nav{background:#fff!important;border-bottom:1px solid var(--rpt-line);box-shadow:0 6px 24px #19032706}
#steps-nav .step_info_item .title-small{font-weight:700!important;letter-spacing:.01em}
#steps-nav .step_info_item.active .title-small{color:var(--rpt-purple)!important}
#steps-nav .step_info_item .title-sub{color:#55515d!important}
#steps-nav #menu-active-bg{background:#f5eaff!important;border-color:var(--rpt-violet)!important}
#steps #time-settings{color:#706979;font-size:12px}
#steps-content{padding-bottom:44px}
#sb_booking_content .category-step,#sb_booking_content .service-step{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch;padding:16px 0 28px}
#sb_booking_content .service-step{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px;margin:0 auto}
#sb_booking_content .category-item,#sb_booking_content .service-item{float:none!important;width:auto!important;max-width:none!important;padding:0!important;margin:0!important;min-width:0}
#sb_booking_content .category-item>.item__tab,#sb_booking_content .service-item>.item__tab{display:flex!important;flex-direction:column;height:100%!important;min-height:0!important;background:linear-gradient(145deg,#141019,#09090c 75%)!important;border:1px solid #a12ff280!important;border-radius:18px!important;box-shadow:0 12px 32px #280c4312;transition:border-color .2s ease,box-shadow .2s ease}
#sb_booking_content .category-item>.item__tab:hover,#sb_booking_content .service-item>.item__tab:hover{border-color:var(--rpt-lavender)!important;box-shadow:0 15px 35px #55119b24}
#sb_booking_content .category-item>.item__tab>.item__picture-wrapper,#sb_booking_content .service-item>.item__tab>.item__picture-wrapper{display:none!important}
#sb_booking_content .category-item>.item__tab>.item__content,#sb_booking_content .service-item>.item__tab>.item__content{padding:28px 26px 20px!important;flex:1;height:auto!important;max-height:none!important;overflow:visible!important;background:transparent!important;text-align:left!important}
#sb_booking_content :is(.category-item,.service-item)>.item__tab>.item__content>.title{color:#fff!important;font-size:23px!important;font-weight:800!important;letter-spacing:-.035em;line-height:1.2!important;height:auto!important;max-height:none!important;white-space:normal!important;overflow:visible!important;margin:0 0 20px!important;display:block!important;-webkit-line-clamp:unset!important}
#sb_booking_content :is(.category-item,.service-item)>.item__tab>.item__content>.title:after{content:'';display:block;width:42px;height:3px;border-radius:3px;background:var(--rpt-violet);margin-top:17px}
#sb_booking_content :is(.category-item,.service-item)>.item__tab>.item__content>.item__description{color:#e1d9e9!important;font-size:15px!important;line-height:1.65!important;height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important;white-space:pre-line!important;display:block!important;-webkit-line-clamp:unset!important;padding:0!important;text-align:left!important}
#sb_booking_content :is(.category-item,.service-item)>.item__tab>.item__content>.item__description:after{display:none!important}
#sb_booking_content :is(.category-item,.service-item)>.item__tab>.item__content .item__read-more{display:none!important}
#sb_booking_content :is(.category-item,.service-item)>.item__tab>.item__info-bar{background:transparent!important;color:var(--rpt-lavender)!important;border:0!important;padding:0 26px 14px!important;margin:0!important}
#sb_booking_content :is(.category-item,.service-item)>.item__tab>.item__footer{padding:0 26px 26px!important;margin-top:auto!important;background:transparent!important;border:0!important}
#sb_booking_content .item__footer .btn.select{display:flex!important;align-items:center;justify-content:center;min-height:48px!important;width:100%!important;background:var(--rpt-violet)!important;color:#fff!important;border:1px solid var(--rpt-violet)!important;border-radius:9px!important;font-size:15px!important;line-height:1.3!important;font-weight:700!important;text-transform:none!important;box-shadow:none!important;transition:background .2s ease,box-shadow .2s ease}
#sb_booking_content .item__footer .btn.select:hover{background:#8b22d4!important;box-shadow:0 5px 20px #a12ff235!important}
#main .btn.book{background:var(--rpt-violet)!important;color:#fff!important;border:1px solid var(--rpt-violet)!important;border-radius:9px!important;min-height:46px;font-weight:700;text-transform:none}
#sb_back_button .btn--link{color:var(--rpt-purple)!important;font-weight:700}
#main input:not([type=checkbox]):not([type=radio]):not([type=submit]),#main select,#main textarea{border-radius:8px;border-color:#d7c6e7}
#main input:focus,#main select:focus,#main textarea:focus{border-color:var(--rpt-violet)!important;box-shadow:0 0 0 3px #a12ff21c}
a:focus-visible,button:focus-visible{outline:3px solid var(--rpt-lavender)!important;outline-offset:4px!important}
#footer{background:#faf7fd!important;border-top:1px solid var(--rpt-line);color:#57505f!important}
@media(max-width:767px){
 #header .header__menu-container{background:var(--rpt-ink)!important}
 #header .header__btn-close{color:#fff!important}
 #header .header__logo-image{max-height:54px}
 #main #main-buttons,#main #main-buttons .wrapper{min-height:170px!important}
 #main #main-buttons .wrapper{padding:28px 0!important}
 #main #main-buttons .company-name{font-size:30px!important;max-width:320px;margin-left:auto;margin-right:auto}
 #steps-nav .step_info_item .title-small{font-size:13px!important}
 #steps-nav .step_info_item .title-sub{font-size:11px!important}
 #sb_booking_content .category-step{display:flex!important;gap:14px;overflow-x:auto;padding:14px 2px 25px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--rpt-violet) #eee5f5}
 #sb_booking_content .category-item{flex:0 0 87%!important;scroll-snap-align:start}
 #sb_booking_content .service-step{grid-template-columns:1fr;gap:14px}
 #sb_booking_content :is(.category-item,.service-item)>.item__tab>.item__content{padding:22px 22px 16px!important}
 #sb_booking_content :is(.category-item,.service-item)>.item__tab>.item__content>.title{font-size:22px!important;margin-bottom:14px!important}
 #sb_booking_content :is(.category-item,.service-item)>.item__tab>.item__content>.item__description{font-size:14px!important;line-height:1.6!important}
 #sb_booking_content :is(.category-item,.service-item)>.item__tab>.item__footer{padding:0 22px 22px!important}
 #sb_booking_content :is(.category-item,.service-item)>.item__tab>.item__info-bar{padding:0 22px 12px!important}
}
@media(prefers-reduced-motion:reduce){#sb_booking_content :is(.category-item,.service-item)>.item__tab,#sb_booking_content .btn{transition:none!important}}

/* Responsive refinement after live verification. */
#main #main-buttons{background-image:radial-gradient(ellipse at 85% 20%,#6a16a76b 0,transparent 60%),linear-gradient(115deg,#09090c,#20102f)!important}
#main #main-buttons:before{background:transparent!important}
#main #main-buttons .wrapper{height:auto!important;justify-content:center!important}
#main #main-buttons .company-name{margin-bottom:0!important}
#main #main-buttons .btn-bar{height:auto!important}
#sb_booking_content .category-step{padding-left:18px;padding-right:18px}
@media(max-width:767px){
#header.header{height:auto!important;padding:8px 0!important}
#header .header__content{height:auto!important;min-height:62px!important}
#main #main-buttons .wrapper{padding:28px 0!important;min-height:194px!important}
#steps-nav.steps-nav{margin-bottom:24px!important}
#sb_booking_content .category-step{flex-wrap:nowrap!important;align-items:stretch!important;padding-left:14px;padding-right:14px}
#sb_booking_content .category-item{flex:0 0 87%!important}
}

#sb_booking_content .category-step{scroll-padding-inline:14px;max-width:1200px;margin-left:auto;margin-right:auto}
#sb_booking_content .category-item>.item__tab>.item__content>.item__description{white-space:normal!important}
#sb_time_slots_container .sb-cell.free{background:#f2e5ff!important;border:1px solid #d5a8f7!important;border-radius:9px!important;color:#4f147a!important;font-weight:700;min-height:48px;transition:background .2s ease}
#sb_time_slots_container .sb-cell.free:hover,#sb_time_slots_container .sb-cell.free:focus{background:var(--rpt-violet)!important;color:#fff!important}
#sb_booking_content .time-legend .available .circle{background:#f2e5ff!important;border:1px solid #d5a8f7}
#sb_dateview_container button{border-radius:8px!important}

/* Formula price and result longevity — 20 October 2026. */
#sb_booking_content .category-item .item__content:has(.rpt-booking-formula)>.title{display:none!important}
#sb_booking_content .category-item .rpt-booking-formula{font-family:Arial,Helvetica,sans-serif;color:#e1d9e9}
#sb_booking_content .category-item .rpt-booking-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
#sb_booking_content .category-item .rpt-booking-head h3{margin:7px 0 0!important;color:#fff!important;font-size:25px!important;line-height:1.15!important;font-weight:800!important;letter-spacing:-.04em}
#sb_booking_content .category-item .rpt-booking-price{margin:0!important;text-align:right!important;flex:none}
#sb_booking_content .category-item .rpt-booking-price strong{display:block!important;color:#c89bff!important;font-size:38px!important;line-height:1.05!important;font-weight:800!important;letter-spacing:-.055em;white-space:nowrap}
#sb_booking_content .category-item .rpt-booking-price span{display:block;color:#e1d9e9;font-size:13px!important;line-height:1.5!important}
#sb_booking_content .category-item .rpt-booking-single{margin:12px 0 20px!important;padding-bottom:16px;border-bottom:1px solid #c89bff33;color:#e1d9e9!important;font-size:14px!important;font-weight:600;line-height:1.5!important}
#sb_booking_content .category-item .rpt-booking-lasting{background:#a12ff21a;border:1px solid #c89bff40;border-radius:10px;padding:12px 14px;margin-bottom:18px}
#sb_booking_content .category-item .rpt-booking-lasting span{display:block;color:#d2c3df;font-size:12px!important;line-height:1.4}
#sb_booking_content .category-item .rpt-booking-lasting strong{display:block;margin-top:4px;color:#fff!important;font-size:18px!important;font-weight:700!important;line-height:1.35!important}
#sb_booking_content .category-item .rpt-booking-intro{margin:0 0 16px!important;font-size:14px!important;line-height:1.6!important;color:#e1d9e9!important}
#sb_booking_content .category-item .rpt-booking-note{margin:0!important;font-size:12px!important;line-height:1.5!important;color:#b8adbf!important}
@media(max-width:767px){#sb_booking_content .category-item .rpt-booking-head h3{font-size:23px!important}#sb_booking_content .category-item .rpt-booking-price strong{font-size:34px!important}#sb_booking_content .category-item .rpt-booking-lasting{padding:10px 12px;margin-bottom:14px}}

/* Four offers, with annual Prestige follow-up. */
@media(min-width:768px){#sb_booking_content .category-step{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1100px}}
@media(min-width:1280px){#sb_booking_content .category-step{grid-template-columns:repeat(4,minmax(0,1fr));max-width:1440px;gap:16px}#sb_booking_content .category-item>.item__tab>.item__content{padding:24px 20px 18px!important}}
#sb_booking_content .service-item .item__description h3{color:#fff!important;font-size:20px!important;line-height:1.3!important}#sb_booking_content .service-item .item__description p{margin:0 0 14px!important;white-space:normal!important}
 
/* RPT — choix du nombre de phares simplifié, 21 octobre 2026. */
#sb_booking_content .service-step:has(.rpt-booking-quantity){grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px;gap:18px;padding:16px 14px 28px}
#sb_booking_content .service-item>.item__tab>.item__content:has(.rpt-booking-quantity)>.title{display:none!important}
#sb_booking_content .service-item:has(.rpt-booking-quantity)>.item__tab>.item__info-bar{display:none!important}
#sb_booking_content .service-item>.item__tab>.item__content:has(.rpt-booking-quantity){padding:26px 22px 20px!important;text-align:center!important;flex:0!important}
#sb_booking_content .service-item .rpt-booking-quantity{text-align:center;white-space:normal}
#sb_booking_content .service-item .rpt-booking-quantity h3{color:#fff!important;font-size:25px!important;font-weight:800!important;line-height:1.2!important;margin:0 0 12px!important}
#sb_booking_content .service-item .rpt-booking-quantity .rpt-quantity-price{margin:0!important;line-height:1.1!important}
#sb_booking_content .service-item .rpt-booking-quantity .rpt-quantity-price strong{color:#c89bff!important;font-size:42px!important;line-height:1.1!important;letter-spacing:-.04em;white-space:nowrap}
#sb_booking_content .service-item:has(.rpt-booking-quantity)>.item__tab>.item__footer{padding:0 22px 22px!important}
#sb_booking_content .service-step:has(.rpt-booking-quantity):after{content:'Tarifs hors déplacement éventuel.';grid-column:1/-1;text-align:center;color:#706979;font-size:12px;line-height:1.5}
#sb_booking_content .service-step:has(>.service-item:only-child .rpt-booking-quantity){grid-template-columns:1fr;max-width:360px}
@media(max-width:767px){#sb_booking_content .service-step:has(.rpt-booking-quantity){gap:12px;padding:12px 10px 22px}#sb_booking_content .service-item>.item__tab>.item__content:has(.rpt-booking-quantity){padding:22px 12px 18px!important}#sb_booking_content .service-item .rpt-booking-quantity h3{font-size:22px!important}#sb_booking_content .service-item .rpt-booking-quantity .rpt-quantity-price strong{font-size:35px!important}#sb_booking_content .service-item:has(.rpt-booking-quantity)>.item__tab>.item__footer{padding:0 12px 18px!important}}

#sb_booking_content .service-item>.item__tab>.item__content>.item__description:has(.rpt-booking-quantity){white-space:normal!important}

/* RPT — catégories par commune, 22 octobre 2026. */
#sb_booking_content .service-item>.item__tab>.item__content:has(.rpt-booking-quantity p:nth-of-type(2))>.title{display:block!important;font-size:17px!important;line-height:1.45!important;letter-spacing:0!important;margin:0 0 18px!important;text-align:center!important;color:#e8d4ff!important}
#sb_booking_content .service-item>.item__tab>.item__content:has(.rpt-booking-quantity p:nth-of-type(2))>.title:after{margin:12px auto 0!important}
#sb_booking_content .service-item .rpt-booking-quantity:has(p:nth-of-type(2))>p:first-of-type strong{display:block;color:#c89bff!important;font-size:42px!important;line-height:1.1!important;font-weight:800!important;letter-spacing:-.04em;white-space:nowrap}
#sb_booking_content .service-step:has(.rpt-booking-quantity p:nth-of-type(2)){max-width:960px;align-items:stretch}
#sb_booking_content .service-step:has(.rpt-booking-quantity p:nth-of-type(2)):after{content:'Déplacement inclus dans les tarifs affichés pour votre commune.'}
#sb_booking_content .service-item>.item__tab>.item__content:has(.rpt-booking-quantity p:nth-of-type(2)){flex:1!important}
@media(max-width:600px){#sb_booking_content .service-step:has(.rpt-booking-quantity p:nth-of-type(2)){grid-template-columns:1fr;max-width:440px}#sb_booking_content .service-item .rpt-booking-quantity:has(p:nth-of-type(2))>p:first-of-type strong{font-size:38px!important}}

/* RPT · city > formula > quantity. Scoped presentation; native booking links. */
.rpt-city-picker{display:none}

#sb_booking_content#sb_booking_content .service-step:has(.rpt-city-picker) .item__content>.title{display:none!important}
#sb_booking_content .service-step:has(.rpt-city-picker){display:block!important;max-width:1280px!important;padding:16px 18px 40px!important;margin:auto!important}
#sb_booking_content .service-step:has(.rpt-city-picker):after{display:none!important}
#sb_booking_content .service-step:has(.rpt-city-picker)>.service-item:not(:has(.rpt-city-picker)){display:none!important}
#sb_booking_content .service-step .service-item:has(.rpt-city-picker)>.item__tab{display:block!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important}
#sb_booking_content .service-step .service-item:has(.rpt-city-picker)>.item__tab>.item__content{padding:0!important;background:transparent!important}
#sb_booking_content .service-step .service-item:has(.rpt-city-picker)>.item__tab>.item__content>.title,
#sb_booking_content .service-step .service-item:has(.rpt-city-picker)>.item__tab>.item__footer,
#sb_booking_content .service-step .service-item:has(.rpt-city-picker)>.item__tab>.item__info-bar,
#sb_booking_content .service-step .rpt-city-native{display:none!important}
#sb_booking_content .service-step .rpt-city-picker{display:block!important;white-space:normal!important;font:15px/1.55 Arial,Helvetica,sans-serif;color:#17131c;text-align:left}
.rpt-city-picker *{box-sizing:border-box}
.rpt-picker-heading{max-width:850px;margin:0 0 30px}
.rpt-picker-heading>span{font-size:11px;letter-spacing:.17em;font-weight:800;color:#842bd0}
.rpt-picker-heading h2{font-size:clamp(25px,3vw,38px)!important;line-height:1.12!important;letter-spacing:-.04em;color:#151119!important;margin:10px 0 14px!important;font-weight:800!important}
.rpt-picker-heading p{color:#68616f!important;line-height:1.6!important;margin:0!important}
.rpt-formula-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.rpt-formula-option{background:#0f0c14;color:#f5f0fc;border:1px solid #8d49b8;border-radius:18px;overflow:hidden;box-shadow:0 12px 34px #44206015;transition:transform .2s,box-shadow .2s}
.rpt-formula-option:hover{transform:translateY(-3px);box-shadow:0 14px 36px #7232ac2a}
.rpt-formula-option>summary{display:block;list-style:none;padding:23px;cursor:pointer;outline-offset:-4px;background:radial-gradient(ellipse at 80% 0,#50177780,transparent 40%),#0f0c14}
.rpt-formula-option>summary::-webkit-details-marker{display:none}
.rpt-formula-tag{display:block;color:#ceabec;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.12em;min-height:32px}
.rpt-formula-name{display:block;text-transform:uppercase;letter-spacing:.05em;font-size:24px;line-height:1.2;font-weight:800;color:white}
.rpt-formula-city{display:block;font-size:12px;color:#c2b6ce;margin:7px 0 18px}
.rpt-formula-total{display:block;font-size:46px;font-weight:800;line-height:1;color:#fff;letter-spacing:-.055em}
.rpt-formula-unit{display:block;font-size:12px;color:#d3c3e0;margin-top:6px}
.rpt-formula-info{display:block}
.rpt-price-breakdown{display:grid;grid-template-columns:1fr 1fr 1fr;border:1px solid #ac72d341;background:#cba8ff0b;border-radius:10px;padding:12px 5px;margin:20px 0 14px;text-align:center;gap:5px}
.rpt-price-breakdown>span{font-size:10px;color:#c9bed3;display:block}
.rpt-price-breakdown b{display:block;font-size:17px;color:#fff;margin-top:3px}
.rpt-result-duration{display:block;background:#b558ee16;border:1px solid #be84e63b;border-radius:10px;padding:11px 13px;margin:0 0 18px}
.rpt-result-duration small{display:block;font-size:11px;color:#d4c6df;line-height:1.4}
.rpt-result-duration strong{display:block;font-size:19px;color:#eee0ff;margin:3px 0;font-weight:800}
.rpt-formula-intro{display:block;color:#d3cadc;font-size:13px;line-height:1.6;margin:0 0 16px}
.rpt-formula-intro>strong{display:block;color:white;font-size:16px;margin-bottom:5px}
.rpt-tech-row{display:block;border-top:1px solid #cfa1ef21;padding:10px 0;color:#d6cddd;font-size:12px;line-height:1.5}
.rpt-tech-row>b{display:block;color:#bda6d0;font-size:9px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}
.rpt-tech-row>span{display:block}
.rpt-tech-row>small{display:block;font-size:10px;color:#a594b3;margin-top:3px}
.rpt-exclusive{display:block;padding:12px;background:#a83ef21a;border:1px solid #9e4cdb55;border-radius:10px;margin:12px 0;font-size:12px;color:#d9cce7;line-height:1.5}
.rpt-exclusive>strong{display:block;color:#ebcfff;margin-bottom:5px}
.rpt-pick-action{display:flex;align-items:center;justify-content:space-between;background:#a437ed;border:1px solid #b765ef;border-radius:9px;padding:13px 16px;margin-top:18px;font-weight:800;font-size:14px;color:white}
.rpt-change-action{display:none}
.rpt-formula-grid:has(details[open]){display:block;max-width:780px;margin:0 auto}
.rpt-formula-grid:has(details[open])>.rpt-formula-option:not([open]){display:none}
.rpt-formula-option[open]{transform:none}
.rpt-formula-option[open] .rpt-formula-info,.rpt-formula-option[open] .rpt-pick-action,.rpt-formula-option[open] .rpt-formula-total,.rpt-formula-option[open] .rpt-formula-unit,.rpt-formula-option[open] .rpt-formula-tag{display:none}
.rpt-formula-option[open] summary{padding:22px 26px 16px;border-bottom:1px solid #b67ee244}
.rpt-formula-option[open] .rpt-formula-city{margin-bottom:12px}
.rpt-formula-option[open] .rpt-change-action{display:block;color:#dab5ff;font-size:13px;font-weight:700}
.rpt-quantity-stage{padding:24px 26px 28px;color:#eee3f8}
#sb_booking_content .rpt-quantity-stage h3{font-size:24px!important;color:white!important;margin:0 0 6px!important;font-weight:800!important}
#sb_booking_content .rpt-quantity-stage p{font-size:13px!important;color:#c4b5cf!important;margin:0 0 22px!important}
.rpt-quantity-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.rpt-choice{display:flex!important;flex-direction:column;gap:10px;padding:22px 18px;border:1px solid #b767ee;border-radius:12px;background:linear-gradient(145deg,#582187,#271437);color:white!important;text-align:center;text-decoration:none!important;transition:background .2s,transform .2s}
.rpt-choice:hover{background:#6e2c9f;transform:translateY(-2px)}
.rpt-choice-label{display:block;font-size:21px;font-weight:800}
.rpt-choice>strong{font-size:42px;line-height:1.1;letter-spacing:-.04em;color:white!important}
.rpt-choice-calculation{font-size:11px;color:#dfc9ed}
.rpt-choice-next{font-size:12px;font-weight:800;background:#b449ef;border-radius:8px;padding:11px 8px;margin-top:6px;color:white}
.rpt-maintenance{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;padding:20px 23px;border:1px solid #d9c1e9;border-radius:14px;background:#faf6fd;color:#26202c}
.rpt-maintenance strong{display:block;font-size:17px;color:#25152f;margin-bottom:5px}
.rpt-maintenance span{display:block;font-size:12px;color:#6e6178;line-height:1.6}
.rpt-maintenance a{display:block;flex-shrink:0;background:#852ac7;color:white!important;font-size:13px;font-weight:700;text-decoration:none!important;border-radius:9px;padding:13px 17px}
.rpt-city-picker :is(summary,a):focus-visible{outline:3px solid #cf96ff!important;outline-offset:3px}
@media(max-width:850px){.rpt-formula-grid{grid-template-columns:1fr;max-width:480px;margin:auto}.rpt-formula-option>summary{padding:22px}.rpt-formula-tag{min-height:0;margin-bottom:10px}.rpt-maintenance{align-items:stretch;flex-direction:column;max-width:480px;margin:20px auto 0}.rpt-maintenance a{text-align:center}}
@media(max-width:450px){#sb_booking_content .service-step:has(.rpt-city-picker){padding:12px 10px 25px!important}.rpt-formula-grid{gap:15px}.rpt-quantity-stage{padding:20px 14px}.rpt-quantity-grid{gap:10px}.rpt-choice{padding:18px 10px}.rpt-choice>strong{font-size:34px}.rpt-choice-calculation{font-size:10px}.rpt-choice-next{font-size:11px;padding:10px 4px}}
@media(prefers-reduced-motion:reduce){.rpt-formula-option,.rpt-choice{transition:none;transform:none!important}}

/* Fee groups: one list of towns per group, without crowding the formula cards. */
.rpt-fee-category{font-family:Arial,Helvetica,sans-serif;line-height:1.6}
.rpt-fee-category .rpt-fee-label{font-size:10px!important;letter-spacing:.15em;font-weight:800;color:#d3a6f5!important;margin:0 0 12px!important}
.rpt-fee-category .rpt-fee-intro{font-size:18px!important;font-weight:700;color:#fff!important;margin:0 0 12px!important}
.rpt-fee-category .rpt-fee-from{font-size:12px!important;line-height:1.8!important;color:#d6c6e4!important}
.rpt-fee-towns{margin:18px 0 24px;border:1px solid #a76ed04a;border-radius:12px;overflow:hidden;background:#a347e309;text-align:left}
.rpt-fee-towns>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;list-style:none;cursor:pointer;font-size:13px;font-weight:700;color:inherit;background:#a347e312}
.rpt-fee-towns>summary::-webkit-details-marker{display:none}
.rpt-fee-towns>summary>span{font-size:23px;line-height:1;color:#ad63e9;transition:transform .2s}
.rpt-fee-towns[open]>summary>span{transform:rotate(45deg)}
.rpt-fee-towns>ul{list-style:none!important;margin:0!important;padding:6px 16px 12px!important;max-height:230px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ad63e9 transparent}
.rpt-fee-towns>ul>li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:1px solid #a76ed024;padding:9px 0!important;font-size:12px;line-height:1.4}
.rpt-fee-towns small{font-size:10px;opacity:.75;white-space:nowrap}
.rpt-fee-towns :focus-visible{outline:3px solid #c68efa;outline-offset:-3px}
.rpt-city-picker>.rpt-fee-towns{max-width:850px;color:#34283b;background:#fbf8fd}
#sb_booking_content .category-step:has(.rpt-fee-category){max-width:1280px;gap:20px}
@media(min-width:768px){#sb_booking_content .category-step:has(.rpt-fee-category){grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:450px){.rpt-fee-towns>summary{font-size:12px;padding:13px}.rpt-fee-towns>ul{max-height:190px;padding:4px 13px 10px!important}}
@media(prefers-reduced-motion:reduce){.rpt-fee-towns>summary>span{transition:none}}

/* Public catalogue now uses the five travel-fee groups. Old direct URLs stay compatible during migration. */
#sb_booking_content .category-step:has(.rpt-fee-category)>.category-item:not(:has(.rpt-fee-category)){display:none!important}

/* RPT — formules horizontales et frais par commune — 22/10/2026 */
.rpt-city-picker .rpt-formula-grid:not(:has(>.rpt-formula-option[open])){display:flex;flex-wrap:nowrap;gap:18px;max-width:none;margin:0;padding:5px 2px 17px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:2px;scrollbar-width:thin;scrollbar-color:#a347e3 #a347e31a;-webkit-overflow-scrolling:touch}
.rpt-city-picker .rpt-formula-grid:not(:has(>.rpt-formula-option[open]))>.rpt-formula-option{flex:0 0 calc((100% - 36px)/3);min-width:0;scroll-snap-align:start;box-shadow:0 8px 18px #44206012}
.rpt-city-picker .rpt-formula-grid::-webkit-scrollbar{height:6px}
.rpt-city-picker .rpt-formula-grid::-webkit-scrollbar-thumb{background:#a347e3;border-radius:20px}
.rpt-city-picker .rpt-formula-grid::-webkit-scrollbar-track{background:#a347e31a;border-radius:20px}
.rpt-city-picker .rpt-formula-grid:has(>.rpt-formula-option[open]){overflow:visible;padding:0}
.rpt-fee-towns>ul>li{display:grid;grid-template-columns:minmax(0,1fr) 126px;grid-template-rows:auto auto;column-gap:12px;row-gap:2px;align-items:center;padding:11px 0!important;font-weight:600;overflow-wrap:anywhere}
.rpt-fee-towns>ul>li>small{grid-column:1;grid-row:2;font-weight:400}
.rpt-fee-towns>ul>li::after{content:var(--rpt-town-fee,none);grid-column:2;grid-row:1 / 3;display:block;padding:7px 8px;border-radius:8px;background:var(--rpt-town-fee-bg,#a347e318);color:var(--rpt-town-fee-color,#a866df);border:1px solid #a347e32b;font-size:11px;line-height:1.35;font-weight:700;text-align:center;overflow-wrap:normal}
.rpt-city-picker .rpt-fee-towns>ul>li::after{color:var(--rpt-town-fee-light-color,#792bac)}
@media(max-width:850px){
 .rpt-city-picker .rpt-formula-grid:not(:has(>.rpt-formula-option[open])){gap:15px;width:100%;max-width:none;margin:0}
 .rpt-city-picker .rpt-formula-grid:not(:has(>.rpt-formula-option[open]))>.rpt-formula-option{flex-basis:88%}
 .rpt-city-picker:not(:has(.rpt-formula-option[open])) .rpt-picker-heading::after{content:'Faites défiler pour comparer les 3 formules →';display:block;margin-top:16px;color:#792bac;font-size:12px;line-height:1.5;font-weight:700;letter-spacing:.01em}
 .rpt-fee-towns>ul>li{grid-template-columns:minmax(0,1fr) 108px;column-gap:8px;font-size:12px}
 .rpt-fee-towns>ul>li::after{font-size:10px;padding:7px 6px}
}
@media(prefers-reduced-motion:reduce){.rpt-city-picker .rpt-formula-grid{scroll-behavior:auto}}

/* RPT — choix de formule juste après la tenue du résultat — 22/10/2026 */
.rpt-city-picker .rpt-formula-option:not([open])>summary{display:flex;flex-direction:column}
.rpt-city-picker .rpt-formula-option:not([open])>summary>.rpt-formula-info{display:contents}
.rpt-city-picker .rpt-formula-option:not([open]) .rpt-formula-info>.rpt-price-breakdown{order:1}
.rpt-city-picker .rpt-formula-option:not([open]) .rpt-formula-info>.rpt-result-duration{order:2;margin-bottom:12px}
.rpt-city-picker .rpt-formula-option:not([open])>summary>.rpt-pick-action{order:3;margin:0 0 22px}
.rpt-city-picker .rpt-formula-option:not([open]) .rpt-formula-info>:not(.rpt-price-breakdown):not(.rpt-result-duration){order:4}

/* Bordeaux-specific local and maintenance blocks. */
.rpb-fee-5{--rpt-town-fee:"Frais de déplacement : 5 €";}
.rpb-fee-10{--rpt-town-fee:"Frais de déplacement : 10 €";}
.rpb-fee-15{--rpt-town-fee:"Frais de déplacement : 15 €";}
.rpb-fee-20{--rpt-town-fee:"Frais de déplacement : 20 €";}
.rpb-fee-25{--rpt-town-fee:"Frais de déplacement : 25 €";}
.rpb-fee-30{--rpt-town-fee:"Frais de déplacement : 30 €";}
.rpb-fee-35{--rpt-town-fee:"Frais de déplacement : 35 €";}
.rpb-fee-40{--rpt-town-fee:"Frais de déplacement : 40 €";}
.rpb-local-address{display:flex;flex-direction:column;gap:7px;padding:20px;border:1px solid #d9c1e9;border-radius:12px;background:#faf6fd;color:#34283b;margin:18px 0 24px;font-size:13px;line-height:1.5}
.rpb-local-address b{color:#792bac;font-size:12px}
.rpb-maintenance{border:1px solid #d9c1e9;border-radius:14px;background:#faf6fd;margin-top:24px;color:#26202c;padding:20px 23px}
.rpb-maintenance>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;cursor:pointer;list-style:none}
.rpb-maintenance>summary::-webkit-details-marker{display:none}
.rpb-maintenance strong,.rpb-maintenance span span{display:block}
.rpb-maintenance strong{font-size:17px;margin-bottom:5px}.rpb-maintenance span span{font-size:12px;color:#6e6178}
.rpb-maintenance summary>b{padding:13px 17px;background:#852ac7;color:white;border-radius:9px;font-size:13px}
.rpb-maintenance>.rpt-quantity-grid{margin-top:22px}
#sb_booking_content .rpb-pay-later{margin:20px 0 0!important;text-align:center}
@media(max-width:600px){.rpb-maintenance>summary{flex-direction:column;align-items:stretch}.rpb-maintenance summary>b{text-align:center}}

/* Native Air theme: show full prepared content without truncation or modal duplication. */
body.--theme-air #main-content{background:#fff!important}
body.--theme-air #sb_booking_content :is(.service-item,.category-item)>.tab{border-radius:18px!important;border:1px solid #a12ff280!important;background:#100d17!important;box-shadow:0 12px 30px #280c4310!important;overflow:hidden}
body.--theme-air #sb_booking_content :is(.service-item,.category-item)>.tab>.excerpt-info>.preloader{display:none!important}
body.--theme-air #sb_booking_content :is(.service-item,.category-item)>.tab>.excerpt-info>.tab-pd{padding:25px!important;background:transparent!important}
body.--theme-air #sb_booking_content :is(.service-item,.category-item) .excerpt-info .content{height:auto!important;max-height:none!important;overflow:visible!important}
body.--theme-air #sb_booking_content :is(.service-item,.category-item) .excerpt-info .cap{color:white!important;font-size:22px!important;line-height:1.3!important;margin-bottom:18px!important;height:auto!important;max-height:none!important;white-space:normal!important;overflow:visible!important}
body.--theme-air #sb_booking_content :is(.service-item,.category-item) .excerpt-info .txt{color:#e0d6e8!important;font-size:14px!important;line-height:1.6!important;height:auto!important;max-height:none!important;white-space:normal!important;overflow:visible!important;display:block!important;-webkit-line-clamp:unset!important}
body.--theme-air #sb_booking_content :is(.service-item,.category-item) .excerpt-info .txt:after,body.--theme-air #sb_booking_content :is(.service-item,.category-item) .read-more{display:none!important}
body.--theme-air #sb_booking_content :is(.service-item,.category-item) .bar-service{color:#d5b5ef!important;border-color:#a12ff230!important}
body.--theme-air #sb_booking_content .btn.select.custom{border:0!important;background:transparent!important;padding:0!important;width:100%!important}
body.--theme-air #sb_booking_content .btn.select.custom>a{display:block!important;padding:14px 18px!important;background:#a437ed!important;color:white!important;border-radius:10px!important;font-size:14px!important;font-weight:700!important;text-decoration:none!important}
body.--theme-air #sb_booking_content .service-step:has(.rpt-city-picker)>.service-item{border:0!important;background:transparent!important;box-shadow:none!important}
body.--theme-air #sb_booking_content .service-step:has(.rpt-city-picker)>.service-item>.tab{border:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
body.--theme-air #sb_booking_content .service-step:has(.rpt-city-picker) .excerpt-info>.tab-pd{padding:0!important}
body.--theme-air #sb_booking_content .service-step:has(.rpt-city-picker) .excerpt-info .cap,
body.--theme-air #sb_booking_content .service-step:has(.rpt-city-picker) .excerpt-info .bar-service,
body.--theme-air #sb_booking_content .service-step:has(.rpt-city-picker) .excerpt-info .btn-bar,
body.--theme-air #sb_booking_content .service-step:has(.rpt-city-picker) .excerpt-info .rpt-city-native{display:none!important}
body.--theme-air #sb_booking_content .service-step:has(.rpt-city-picker) .modal .rpt-city-picker{display:none!important}
body.--theme-air #sb_booking_content .rpt-picker-heading h2{color:#19131f!important}
body.--theme-air #sb_booking_content .rpt-choice,body.--theme-air #sb_booking_content .rpt-formula-option{color:white!important}
body.--theme-air #sb_booking_content .rpt-formula-option summary{color:#f3eaf8!important}
body.--theme-air #sb_booking_content .rpt-fee-category .rpb-local-address{background:#251433;color:#e9d9f5}
body.--theme-air #sb_booking_content .rpt-fee-category .rpb-local-address b{color:#dab4f8}
body.--theme-air #sb_booking_content .category-step:has(.rpt-fee-category)>.category-item:not(:has(.rpt-fee-category)){display:none!important}
body.--theme-air #sb_booking_content .category-step:has(.rpt-fee-category)>.category-item{min-width:0!important}
body.--theme-air .rpt-choice:focus-visible,body.--theme-air .rpt-formula-option summary:focus-visible{outline:3px solid #d9acff!important;outline-offset:-3px}
@media(max-width:767px){body.--theme-air #sb_booking_content :is(.service-item,.category-item)>.tab>.excerpt-info>.tab-pd{padding:22px!important}body.--theme-air #sb_booking_content .service-step:has(.rpt-city-picker) .excerpt-info>.tab-pd{padding:0!important}}
