/* compat-taxi-style.css — DRIVIGO
 * Regles reprises de taxi-style/ et w3-mini pour les pages migrees vers le
 * design principal. A charger APRES css/style.css et css/responsive.css.
 * Genere le 2026-08-10. Ne concerne que les classes absentes du template
 * principal ; tout le reste vient de bootstrap/style/responsive.
 */

.top-title { background: url('../images/template/page-title.webp') no-repeat top center; height: 394px; position: relative; }
.top-title.ver-1 { background: url('../images/template/services-single.webp') no-repeat top center; height: 394px; position: relative; }
.top-title .top-page { position: absolute; bottom: 45px; left: -2px; width: 100%; }
.top-title .top-page .top-page-heading h1 { color: #fff; font-weight: 400; margin-bottom: 25px; }
.top-title .top-page .top-page-heading p { color: #fff; font-size: 18px; }
.top-title .breadcrumbs { position: absolute; right: 2px; bottom: 107px; width: 100%; }
.top-title .breadcrumbs ul { text-align: right; }
.top-title .breadcrumbs ul li { display: inline-block; }
.top-title .breadcrumbs li { color: #c5c5c5; font-size: 18px; }
.top-title .breadcrumbs li a { color:#595959; font-size: 18px; }
.top-title .breadcrumbs li a:hover { color:#8a6522; }
.header-04 .top-header,.header-05 .top-header { background-color:#1e1e1e; }
.header-04 .top-header .right-content { padding-right:35px; }
.header-04 .top-header .left-content ul li,.header-05 .top-header .left-content ul li { display:inline-block; vertical-align:middle; font-size: 15px; line-height: 30px; color:#595959; padding-right:46px; }
.header-04 .top-header .left-content ul li:last-child,.header-05 .top-header .left-content ul li:last-child { padding-right:0; }
.header-04 .top-header .left-content ul li img,.header-05 .top-header .left-content ul li img { padding-right:10px; vertical-align: middle; position: relative; top: -2px; }
.header-04 .top-header .right-content,.header-05 .top-header .right-content { text-align:right; }
.header-04 .top-header .right-content .login,.header-04 .top-header .right-content .tr-w { display:inline-block; vertical-align:middle; }
.top-menuleft:not(.no_bo) { position:relative; min-height:12px; padding-right:73px; }
.top-menuleft.no_bo { display:inline-block; vertical-align:middle; }
.top-menuleft.no_bo .x_language { border:0; margin-top: 0px; }
.header-01 .top-menuleft .x_close,.header-03 .top-menuleft .x_close { float:left; position:relative; top:-2px; }
.top-menuleft .x_language { float:right; min-width: 80px; border: 1px solid #d7d2bd; border-radius: 4px; line-height: 26px; height: 26px; margin-top: 7px; vertical-align: middle; padding: 5px 0px 5px 10px; position:relative; }
.top-menuleft .x_language:after { content: ""; border: solid 5px transparent; border-top: solid 5px #d7d2bd; position: absolute; right:5px; top: 45%; -webkit-transform: translateX(-50%); transform: translateX(-50%); }
.top-menuleft .x_language #languages { border: 0; color:#7a7461; padding: 0 10px; max-width:50px; line-height: 1; height: 14px; font-size: 13px; }
.top-menuleft .x_language #languages option { background:#1c1c1c; }
.top-menuleft .x_language img { float:left; margin-top:2px; }
.top-menuleft.no_bo { margin-left:18px; }
.top-menuleft.no_bo .x_language #languages { font-size:15px; color:#595959; }
.top-menuleft.no_bo .x_language:after { border-top: solid 5px #969696; }
.header-01 .top-menuleft .x_logo,.header-03 .top-menuleft .x_logo { position: absolute; top:50%; left: 43%; margin-top: 8px; -webkit-transform:translate(-50%,-50%); -ms-transform:translate(-50%,-50%); transform:translate(-50%,-50%); }
.header-05 .top-header { line-height:50px; }
.header-05 .top-header .login,.header-05 .top-header .tr-w,.header-05 .top-header .box-right { display:inline-block; vertical-align:middle; }
.header-05 .top-header .login a { color:#595959; }
.header-05 .top-header .login a:hover { color:#8a6522; }
.form-comment-area { margin-top: 37px; }
.form-comment-area h4 { margin-bottom: 27px; }
.form-comment-area form .comment-form { margin-bottom: 18px; overflow: hidden; }
.form-comment-area form .comment-form label { color: #1e1e1e; margin-bottom: 5px; }
.form-comment-area form .comment-form .one-half { width: 50%; float: left; }
.form-comment-area form .comment-form .comment-form-name { padding-right: 15px; }
.form-comment-area form .comment-form .comment-form-email { padding-left: 15px; }
.form-comment-area form .btn-submit { text-align: right; margin-top: 27px; }
.form-comment-area form .btn-submit img { padding-left: 14px; }
.form-comment-area form .btn-submit button:hover { color: #FFF; background: #bf9c60; }
.top-menuleft .x_language--links:after { content:none !important; }
.top-menuleft .x_language--links { padding-right:8px; }
.top-title { background: url('../images/template/page-title.jpg') no-repeat top center; height: 394px; position: relative; }
.top-title.ver-1 { background: url('../images/template/services-single.jpg') no-repeat top center; height: 394px; position: relative; }
.top-title .top-page { position: absolute; bottom: 45px; left: -2px; width: 100%; }
.top-title .top-page .top-page-heading h1 { color: #fff; font-weight: 400; margin-bottom: 25px; }
.top-title .top-page .top-page-heading p { color: #fff; font-size: 18px; }
.top-title .breadcrumbs { position: absolute; right: 2px; bottom: 107px; width: 100%; }
.top-title .breadcrumbs ul { text-align: right; }
.top-title .breadcrumbs ul li { display: inline-block; }
.top-title .breadcrumbs li { color: #c5c5c5; font-size: 18px; }
.top-title .breadcrumbs li a { color:#595959; font-size: 18px; }
.top-title .breadcrumbs li a:hover { color:#8a6522; }
.header-04 .top-header,.header-05 .top-header { background-color:#1e1e1e; }
.header-04 .top-header .right-content { padding-right:35px; }
.header-04 .top-header .left-content ul li,.header-05 .top-header .left-content ul li { display:inline-block; vertical-align:middle; font-size: 15px; line-height: 30px; color:#595959; padding-right:46px; }
.header-04 .top-header .left-content ul li:last-child,.header-05 .top-header .left-content ul li:last-child { padding-right:0; }
.header-04 .top-header .left-content ul li img,.header-05 .top-header .left-content ul li img { padding-right:10px; vertical-align: middle; position: relative; top: -2px; }
.header-04 .top-header .right-content,.header-05 .top-header .right-content { text-align:right; }
.header-04 .top-header .right-content .login,.header-04 .top-header .right-content .tr-w { display:inline-block; vertical-align:middle; }
.top-menuleft:not(.no_bo) { position:relative; min-height:12px; padding-right:73px; }
.top-menuleft.no_bo { display:inline-block; vertical-align:middle; }
.top-menuleft.no_bo .x_language { border:0; margin-top: 0px; }
.header-01 .top-menuleft .x_close,.header-03 .top-menuleft .x_close { float:left; position:relative; top:-2px; }
.top-menuleft .x_language { float:right; min-width: 80px; border: 1px solid #d7d2bd; border-radius: 4px; line-height: 26px; height: 26px; margin-top: 7px; vertical-align: middle; padding: 5px 0px 5px 10px; position:relative; }
.top-menuleft .x_language:after { content: ""; border: solid 5px transparent; border-top: solid 5px #d7d2bd; position: absolute; right:5px; top: 45%; -webkit-transform: translateX(-50%); transform: translateX(-50%); }
.top-menuleft .x_language #languages { border: 0; color:#7a7461; padding: 0 10px; max-width:50px; line-height: 1; height: 14px; font-size: 13px; }
.top-menuleft .x_language #languages option { background:#1c1c1c; }
.top-menuleft .x_language img { float:left; margin-top:2px; }
.top-menuleft.no_bo { margin-left:18px; }
.top-menuleft.no_bo .x_language #languages { font-size:15px; color:#595959; }
.top-menuleft.no_bo .x_language:after { border-top: solid 5px #969696; }
.header-01 .top-menuleft .x_logo,.header-03 .top-menuleft .x_logo { position: absolute; top:50%; left: 43%; margin-top: 8px; -webkit-transform:translate(-50%,-50%); -ms-transform:translate(-50%,-50%); transform:translate(-50%,-50%); }
.header-05 .top-header { line-height:50px; }
.header-05 .top-header .login,.header-05 .top-header .tr-w,.header-05 .top-header .box-right { display:inline-block; vertical-align:middle; }
.header-05 .top-header .login a { color:#595959; }
.header-05 .top-header .login a:hover { color:#8a6522; }
.form-comment-area { margin-top: 37px; }
.form-comment-area h4 { margin-bottom: 27px; }
.form-comment-area form .comment-form { margin-bottom: 18px; overflow: hidden; }
.form-comment-area form .comment-form label { color: #1e1e1e; margin-bottom: 5px; }
.form-comment-area form .comment-form .one-half { width: 50%; float: left; }
.form-comment-area form .comment-form .comment-form-name { padding-right: 15px; }
.form-comment-area form .comment-form .comment-form-email { padding-left: 15px; }
.form-comment-area form .btn-submit { text-align: right; margin-top: 27px; }
.form-comment-area form .btn-submit img { padding-left: 14px; }
.form-comment-area form .btn-submit button:hover { color: #FFF; background: #bf9c60; }
.top-menuleft .x_language--links:after { content:none !important; }
.top-menuleft .x_language--links { padding-right:8px; }
.template-title p.subtitle { font-size: 18px; color: #000; }
.services-item .services-content { padding: 17px 0; }
.price-car ul.level-price li .value { color:#8a6522; font-size: 18px; }
.price-car ul.level-price li .value .price { font-size: 30px; color: #1e1e1e; font-weight: 500; }
.price-car.bg-1 ul.level-price li, .price-car.bg-2 ul.level-price li, .price-car.bg-3 ul.level-price li { max-height: 150px; padding: 32px 0 40px; }
.price-car.border { border-radius: 5px; }
.price-car.bg-1 { border: 1px solid #d7d2bd; }
.price-car.bg-1 .price-header, .price-car.bg-1 .price-bottom a { background: #d7d2bd }
.price-car.bg-1 .price-header, .price-car.bg-1 .price-bottom a:hover { color: #1e1e1e; }
.price-car.bg-1 .price-header p { color: #1e1e1e; }
.price-car .price-bottom a { display: block; height: 60px; line-height: 60px; font-size: 20px; }
.price-car .price-bottom a img { padding-left: 10px; -webkit-transition:all 0.3s ease-in-out; -moz-transition:all 0.3s ease-in-out; -ms-transition:all 0.3s ease-in-out; -o-transition:all 0.3s ease-in-out; transition:all 0.3s ease-in-out; }
.price-car .price-bottom a:hover img { padding-left: 15px; }
.price-car.bg-2 .price-header, .price-car.bg-2 .price-bottom a { background: #1e1e1e; }
.price-car.bg-2 .price-header, .price-car.bg-2 .price-bottom a:hover { color: #FFF; }
.price-car.bg-2 .price-header h3 { color:#7a7461; }
.price-car.bg-2 { border: 1px solid #1e1e1e; }
.price-car.bg-3 .price-header, .price-car.bg-3 .price-bottom a { background: #bf9c60; }
.price-car.bg-3 .price-header, .price-car.bg-3 .price-bottom a:hover { color: #FFF; }
.price-car.bg-3 { border: 1px solid #bf9c60; }
.price-car.bg-2 .price-bottom a:not(:hover), .price-car.bg-3 .price-bottom a:not(:hover) { color: #fff; }
.price-car.bg-2 .price-header p, .price-car.bg-3 .price-header p { color: #fff; }
.iconbox .iconbox-icon { min-height: 80px; line-height: 80px; margin-bottom: 15px; }
.iconbox .iconbox-content h3 { margin-bottom: 19px; }
.iconbox .iconbox-content p { line-height: 24px; }
.contact-form form .btn-submit-form { text-align: right; }
.contact-form form .btn-submit-form button { padding: 0 28px 0 58px; margin-top: 9px; }
.contact-form form .btn-submit-form button:hover { background: #bf9c60; }
.contact-form form .btn-submit-form button img { padding-left: 40px; }
.contact-item .content-text h4 { font-size: 22px; font-weight: 400; margin-bottom: 10px; }
.contact-item .content-text p { font-size: 18px; }
button.bg-1 { background: #bf9c60; }
button.bg-3 { background: #d7d2bd; }
button.border-1 { border: 1px solid #bf9c60; }
button.border-2 { border: 1px solid #1e1e1e; }
button.border-3 { border: 1px solid #d7d2bd; }
button.bg-1:hover, button.bg-3:hover { background-color: #1e1e1e; }
.box-tabs.border-3 { border: 1px solid #ebe9dc; }
.box-tabs ul.bg-3.tab-list { background: #ebe9dc; }
.box-tabs.border-1 { border: 1px solid #1e1e1e; }
.box-tabs ul.bg-1.tab-list { background: #1e1e1e; }
.box-tabs ul.bg-1.tab-list li, .box-tabs ul.bg-2.tab-list li { color: #fff; }
.box-tabs ul.bg-1.tab-list li.active, .box-tabs ul.bg-2.tab-list li.active { color: #1e1e1e; }
.box-tabs.border-2 { border: 1px solid #bf9c60; }
.box-tabs ul.bg-2.tab-list { background: #bf9c60; }
table.border { width: 100%; }
table thead.bg-1 { background: #ebe9dc; }
table thead.bg-2 { background: #1e1e1e; }
table thead.bg-2 tr th { color: #fff; }
table tbody.bg-2 tr { background: #e9e9e9; border-color: #fff; }
.price-item .top, .price-item .bottom { background: #d7d2bd; }
.price-item .top { padding: 41px 0 26px; }
.price-item .top .price { font-size: 25px; margin-bottom: 2px; color: #1e1e1e; }
.price-item .top h6 { line-height: 30px; }
.price-item.bg-1 { border: 1px solid #1e1e1e; }
.price-item.bg-1 .top, .price-item.bg-1 .bottom { background: #1e1e1e; }
.price-item.bg-1 .top h6, .price-item.bg-1 .top .price, .price-item.bg-1 .bottom .btn-booking a { color: #fff; }
blockquote.bg-1 { background: #f3f3f3; }
.booking-steps-area { padding: 38px 0 17px; border-bottom: 1px solid #ebe9dc; margin-bottom: 100px; position: relative; }
ul.booking-steps li { display: inline-block; position: relative; margin-right: 65px; cursor: pointer; }
ul.booking-steps li:last-child { margin-right: 0px; }
ul.booking-steps li .icon { float: left; margin-right: 30px; position: relative; height: 70px; width: 70px; line-height: 70px; text-align: center; border: 1px solid #f3f3f3; border-radius: 50%; }
ul.booking-steps li:hover .icon, ul.booking-steps li.active .icon { background: #f3f3f3; }
ul.booking-steps li span { position: absolute; top: -15px; left: 40px; height: 32px; width: 32px; background: #ebe8de; color: #fff; font-weight: bold; text-align: center; line-height: 32px; border-radius: 50%; z-index: 9; }
ul.booking-steps li.active span, ul.booking-steps li:hover span { background: #1e1e1e; }
ul.booking-steps li .text { overflow: hidden; line-height: 70px; font-size: 18px; }
ul.booking-steps li.active .text, ul.booking-steps li:hover .text { color: #1e1e1e; }
ul.booking-steps li span, ul.booking-steps li .text { -webkit-transition:all 0.3s ease-in-out; -moz-transition:all 0.3s ease-in-out; -ms-transition:all 0.3s ease-in-out; -o-transition:all 0.3s ease-in-out; transition:all 0.3s ease-in-out; }
.select-car .box-text .top { margin-bottom: 20px; }
.select-car .box-text .top h3 { margin-bottom: 12px; }
.select-car .box-text .top .name-car { font-size: 18px; color: #1e1e1e; }
.select-car.ofl .top { margin-bottom:7px; }
.select-car.ofl .box-text .top h3,.select-car.ofl .box-text .top .name-car { font-size:20px; margin-bottom:0; }
.check-out .top .thanks { color: #1e1e1e; font-size: 30px; margin-bottom: 33px; }
.check-out .top .thanks span { margin-right: 15px; }
.check-out .top .thanks span img { vertical-align: sub; }
.check-out .top p { line-height: 30px; }
.template-title .subtitle { font-weight: 400; font-size: 18px; color: #000; }
.iconbox .iconbox-icon { min-height: 80px; line-height: 80px; margin-bottom: 15px; }
.iconbox .iconbox-content h3 { margin-bottom: 15px; }
.iconbox .iconbox-content h3 a { margin-bottom: 15px; }
.info-box .booking { font-family: Dosis; font-weight: 400; font-size: 16px; color: #fff; background: #bf9c60; display: inline-block; border: 2px solid #bf9c60; border-radius:3px; padding: 11px 34px 9px 42px; }
.info-box .booking:hover { background-color: transparent; border: 2px solid #bf9c60; }
.info-box .booking img { padding-left:10px; }
.w3-button { border: none; display: inline-block; padding: 8px 16px; vertical-align: middle; overflow: hidden; text-decoration: none; color: inherit; background-color: inherit; text-align: center; cursor: pointer; white-space: nowrap; }
.w3-button:hover { color: #000; background-color: #ccc; }
.w3-block { display: block; width: 100%; }
.w3-left-align { text-align: left !important; }
.w3-hide { display: none !important; }

/* Grille Bootstrap 3 : .col-xs-* a disparu en Bootstrap 4.
   Reconstituee ici pour les pages migrees qui l'utilisent encore. */
.col-xs-1 { position: relative; width: 100%; padding-right: 15px; padding-left: 15px; float: left; }
.col-xs-2 { position: relative; width: 100%; padding-right: 15px; padding-left: 15px; float: left; }
.col-xs-3 { position: relative; width: 100%; padding-right: 15px; padding-left: 15px; float: left; }
.col-xs-4 { position: relative; width: 100%; padding-right: 15px; padding-left: 15px; float: left; }
.col-xs-5 { position: relative; width: 100%; padding-right: 15px; padding-left: 15px; float: left; }
.col-xs-6 { position: relative; width: 100%; padding-right: 15px; padding-left: 15px; float: left; }
.col-xs-7 { position: relative; width: 100%; padding-right: 15px; padding-left: 15px; float: left; }
.col-xs-8 { position: relative; width: 100%; padding-right: 15px; padding-left: 15px; float: left; }
.col-xs-9 { position: relative; width: 100%; padding-right: 15px; padding-left: 15px; float: left; }
.col-xs-10 { position: relative; width: 100%; padding-right: 15px; padding-left: 15px; float: left; }
.col-xs-11 { position: relative; width: 100%; padding-right: 15px; padding-left: 15px; float: left; }
.col-xs-12 { position: relative; width: 100%; padding-right: 15px; padding-left: 15px; float: left; }
.col-xs-1 { max-width: 8.333333%; flex: 0 0 8.333333%; }
.col-xs-2 { max-width: 16.666667%; flex: 0 0 16.666667%; }
.col-xs-3 { max-width: 25.000000%; flex: 0 0 25.000000%; }
.col-xs-4 { max-width: 33.333333%; flex: 0 0 33.333333%; }
.col-xs-5 { max-width: 41.666667%; flex: 0 0 41.666667%; }
.col-xs-6 { max-width: 50.000000%; flex: 0 0 50.000000%; }
.col-xs-7 { max-width: 58.333333%; flex: 0 0 58.333333%; }
.col-xs-8 { max-width: 66.666667%; flex: 0 0 66.666667%; }
.col-xs-9 { max-width: 75.000000%; flex: 0 0 75.000000%; }
.col-xs-10 { max-width: 83.333333%; flex: 0 0 83.333333%; }
.col-xs-11 { max-width: 91.666667%; flex: 0 0 91.666667%; }
.col-xs-12 { max-width: 100.000000%; flex: 0 0 100.000000%; }


/* === niveaux-de-titre : jumelles generees le 2026-08-13 ===
   Une balise de titre promue pour corriger un saut de niveau porte
   la classe .niv-hN de son ancien niveau. Ces regles rejouent, sur
   cette classe, tout ce que la feuille applique a l'element hN --
   y compris les regles contextuelles. Specificite de classe : elles
   l'emportent sur les regles d'element du nouveau niveau.
   =================================================================== */
.top-title .top-page .top-page-heading .niv-h1 { color: #fff; font-weight: 400; margin-bottom: 25px }
.form-comment-area .niv-h4 { margin-bottom: 27px }
.top-title .top-page .top-page-heading .niv-h1 { color: #fff; font-weight: 400; margin-bottom: 25px }
.form-comment-area .niv-h4 { margin-bottom: 27px }
.price-car.bg-2 .price-header .niv-h3 { color:#7a7461 }
.iconbox .iconbox-content .niv-h3 { margin-bottom: 19px }
.contact-item .content-text .niv-h4 { font-size: 22px; font-weight: 400; margin-bottom: 10px }
.price-item .top .niv-h6 { line-height: 30px }
.price-item.bg-1 .top .niv-h6 { color: #fff }
.select-car .box-text .top .niv-h3 { margin-bottom: 12px }
.select-car.ofl .box-text .top .niv-h3 { font-size:20px; margin-bottom:0 }
.iconbox .iconbox-content .niv-h3 { margin-bottom: 15px }
.iconbox .iconbox-content .niv-h3 a { margin-bottom: 15px }


/* === contraste : contextes sombres (2026-08-13, elargi) =================
   L'assombrissement des encres a ameliore le texte sur fond clair mais casse
   tout ce qui repose sur fond sombre : le ratio y est tombe a 2,4. Mesure sur
   8 familles de feuilles : pied de page, menu, bandeau de reservation et
   bas de page sont TOUS sombres (de rgb(0,0,16) a rgb(30,30,30)). Une regle
   generale est donc sure -- une liste de classes en oubliait la moitie.
   ======================================================================= */
footer, footer p, footer li, footer span, footer a, footer strong, footer h1,
footer h2, footer h3, footer h4, footer h5, footer h6, footer .widget-footer,
.footer-bottom, .footer-bottom a, .footer-bottom p, .footer-bottom li,
.copyright, .copyright a, .copyright p,
.main-menu ul.menu li a, .main-menu ul.menu li span, .main-menu .button a,
.drivigo-resa p, .drivigo-resa li, .drivigo-resa span,
.dg-hero p, .dg-hero span { color: #d7d2bd !important; }

footer a:hover, .footer-bottom a:hover, .copyright a:hover,
.main-menu ul.menu li a:hover { color: #ffffff !important; }

/* Les etoiles d'avis etaient en #1e1e1e sur fond sombre : 1,25:1, donc
   invisibles. On leur rend le dore de la marque. */
footer .rating, footer .stars, .footer1 .rating,
footer [class*="star"], .copyright [class*="star"] { color: #c8a25c !important; }

/* Onglets : l'actif est sur fond sombre, les autres sur blanc.
   Une seule regle pour les deux aurait mis du beige sur du blanc (1,5:1). */
ul.tab_menu li a { color: #595959; }
ul.tab_menu li.current a { color: #ffffff !important; }

/* Boutons dores : blanc sur #bf9c60 donne 2,6:1 et sur #c8912f 2,8:1.
   On approfondit le fond a #8a6522, ou le blanc atteint 4,9:1. Le bouton
   reste dore, simplement plus dense. */
.button .booking, .button a.booking,
a.booking, .btn-booking,
.header-booking a, .quote-booking a { background-color: #8a6522 !important; }

/* .quocte-booking est le CONTENEUR : il court derriere le logo. On ne
   colore que les liens qu'il porte. Et on epargne le bouton du bloc de
   reservation, qui est un bouton BLANC a encre sombre -- deja conforme. */
a.booking:not(.drivigo-resa .button a.booking), .quocte-booking > li > a
  { background-color: #8a6522 !important; color: #ffffff !important; }
.drivigo-resa .button a.booking
  { background-color: #ffffff !important; color: #14181f !important; }


/* === accessibilite : focus et cibles tactiles (2026-08-13) ==============
   Le correctif de focus d'aout ne couvrait pas les liens STYLES EN BOUTON :
   « Reserver en ligne » n'avait aucun indicateur (0px dans les deux etats).
   On reprend le meme anneau dore, applique aux liens d'appel.
   ====================================================================== */
a.booking:focus-visible, a.booking:focus,
a.quote:focus-visible, a.quote:focus,
.quocte-booking a:focus-visible, .quocte-booking a:focus,
.button a:focus-visible, .button a:focus,
.btn:focus-visible, .dg-sticky-cta a:focus-visible, .dg-sticky-cta a:focus {
  outline: 3px solid #c8a25c !important;
  outline-offset: 2px !important;
}

/* Cible tactile : 49 liens sur 73 mesuraient moins de 24 px de haut a
   375 px de large. Le minimum WCAG 2.5.8 est 24x24. On agit par le
   remplissage vertical, pas par line-height, pour ne pas ecarter le texte. */
@media (max-width: 991px) {
  footer a, .widget-footer a, .infomation-ft a,
  ul.menu li a, .footer-bottom a, .list-ft a, nav[aria-label] a,
  ul.tab_menu li a, .socials a, .social a, .copyright a,
  .widget-footer li a, .blog-slider a, .entry-meta a {
    display: inline-block;
    min-height: 24px;
    padding-top: 4px;
    padding-bottom: 4px;
  }
  /* liens dont le contenu est une icone : leur donner une surface carree */
  .socials a, .social a, .share a { min-width: 24px; text-align: center; }
}

/* Le bloc temoignages debordait de 30 px a 375 px : la .row de Bootstrap
   porte des marges negatives que ce conteneur ne compensait pas. */
@media (max-width: 767px) {
  .testimonial .row, .testimonial p.row { margin-left: 0; margin-right: 0; }
  .testimonial [class*="col-"] { padding-left: 15px; padding-right: 15px; }
}

/* Carte de tarif mise en avant : blanc sur #bf9c60 donne 2,6:1. Les deux
   textes qu'elle porte sont blancs, on approfondit donc le fond a #8a6522
   (4,9:1) plutot que d'assombrir l'encre. */
.price-car.bg-3 .price-header, .price-car.bg-3 .price-bottom
  { background-color: #8a6522 !important; }

/* Dernières reprises de contraste (2026-08-13) :
   - .price-car.bg-2 est la seconde variante de carte de tarif : blanc sur
     #bf9c60, 2,6:1. Meme traitement que .bg-3.
   - Les etoiles du bloc d'avis etaient en #1e1e1e sur fond sombre (1,25:1),
     donc invisibles. On leur rend le dore de la marque. */
.price-car.bg-2 .price-header, .price-car.bg-2 .price-bottom
  { background-color: #8a6522 !important; }
/* Les etoiles ne doivent virer au dore QUE sur fond sombre : sur blanc,
   #c8a25c ne donne que 2,4:1. Ailleurs on les laisse en encre sombre. */
/* Le bloc d'avis .fusion-column-wrapper.avis est SOMBRE sur /prix2/ mais
   BLANC sur attractions/, europe/ et contact/ — mesuré sur les 8 familles.
   Aucune couleur unique ne passe les deux : il faudrait une luminance entre
   0,178 et 0,183, bande trop étroite pour être fiable. Une règle globale a
   été essayée puis annulée (elle a fait passer les défauts de 3 à 27, en
   mettant du beige clair sur blanc). À traiter lors de la refonte du CSS,
   en donnant au bloc une classe distincte selon son fond. */

/* Les cartes de tarif approfondies portent desormais un fond #8a6522 :
   tout ce qu'elles contiennent doit passer en blanc, sinon l'encre beige
   assombrie s'y retrouve a 1,1:1. */
.price-car.bg-2 .price-header, .price-car.bg-2 .price-header *,
.price-car.bg-2 .price-bottom, .price-car.bg-2 .price-bottom *,
.price-car.bg-3 .price-header, .price-car.bg-3 .price-header *,
.price-car.bg-3 .price-bottom, .price-car.bg-3 .price-bottom *
  { color: #ffffff !important; }

/* Reprises ciblées (2026-08-13) — sélecteurs relevés au navigateur.
   1. Le bouton « Book Now » porte le fond doré sur le <a> lui-même, pas sur
      le .price-bottom que visait la règle précédente. Blanc sur #bf9c60 =
      2,6:1 ; sur #8a6522 = 4,9:1.
   2. « Se Connecter » utilise le bleu de lien Bootstrap #337ab7 sur #f5f5f5 :
      4,18:1, il manque 0,3. #2a5f8f donne 5,3:1 sans changer la teinte. */
.price-car.bg-2 .price-bottom > a, .price-car.bg-3 .price-bottom > a
  { background-color: #8a6522 !important; color: #ffffff !important; }
header .info-contact a, .info-contact a { color: #2a5f8f; }
