:root{
	--navy:#071d42;
	--yellow:#ffd400;
	--white:#fff;
	--gray:#f4f6f8;
	--text:#0b2147;
	--shadow:0 12px 35px #071d4218
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:#fff}
a{color:inherit;text-decoration:none}
.shell{width:min(1480px,calc(100% - 64px));margin:auto}
.hero{min-height:690px;background:linear-gradient(90deg,#061b3b99,#061b3b22),url(/images/hero.jpg) center/cover no-repeat;position:relative;color:#fff;padding-bottom:70px;padding-top:90px;}
/*.hero_int{min-height:300px;background:linear-gradient(90deg,#061b3b99,#061b3b22),url(/images/hero.jpg) center/cover no-repeat;position:relative;color:#fff;padding-bottom:30px}*/
.hero_int {
    position: fixed;
    color: #fff;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
    z-index: 1000;
    width: 100%;
    background-color: #000000b0;
}
.nav{height:90px;display:flex;align-items:center;gap:35px;position:relative;z-index:10}
.brand{font-size:25px;font-weight:700;letter-spacing:1px;line-height:.9;white-space:nowrap}
.brand b{color:var(--yellow)}
.brand small{display:block;font-size:10px;letter-spacing:7px;margin-top:7px}
.nav-panel{display:flex;align-items:center;justify-content:space-between;gap:28px;width:100%}
.main-menu,.actions{display:flex;align-items:center;gap:22px}
.main-menu a,.client{font-size:1.1rem;}
a.amenuht:link, a.amenuht:visited, a.amenuht:active{border-bottom: 3px solid transparent;padding-bottom: 8px;}
.mhactive{border-bottom: 3px solid var(--yellow) !important;}
a.amenuht:hover{border-bottom: 3px solid #fff;}
.home{font-size:22px!important;border-bottom:3px solid var(--yellow);padding-bottom:8px}
.lang select{background:#183b64;color:#fff;border:0;border-radius:4px;padding:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:0 18px;border-radius:5px;font-weight:800;font-size:13px;border:1px solid transparent;transition:transform .2s,box-shadow .2s,background .2s,color .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0003}
#diveccliensht{text-align:center;padding:1rem;}
#diveccliensht .btn { background-color: #cccccc;color: #1e1e1e !important;}
.yellow{background:var(--yellow);color:#071d42;text-align:center;}
.yellow:hover{background:#ffe23d;}
.ghost{border-color:#ffffffaa;color:#fff;text-align:center;}
.ghost:hover{background:#fff;color:var(--navy)}
.burger{display:none;margin-left:auto;background:none;border:0;width:60px}
.burger span{height:2px;background:#fff;display:block;margin:7px}
.hero-copy{padding-top:45px}
.hero-copy h1{font-size:68px;line-height:.95;margin:0 0 20px;max-width:650px}
.hero-int h1{font-size:55px;}
.hero-copy p{font-size:18px;line-height:1.5;max-width:620px}
.hero-copy em{display:block;font-family:cursive;font-size:28px;line-height:1.1;margin-top:20px}
.booking{position:absolute;left:50%;bottom:-62px;transform:translateX(-50%);background:#fff;color:var(--text);border-radius:10px;padding:16px 25px 24px;box-shadow:var(--shadow);z-index:3}
.toggle{display:flex;margin-bottom:10px}
.toggle button{border:1px solid #d8dee8;background:#fff;padding:9px 30px}
.toggle .active{background:var(--yellow);border-color:var(--yellow)}
.booking-grid{display:grid;grid-template-columns:1.35fr 1.35fr 1fr .75fr .8fr 1.15fr;gap:14px;align-items:end}
.booking label{font-size:12px;font-weight:700}.booking input,.booking select{display:block;width:100%;margin-top:7px;height:48px;border:1px solid #d8dee8;border-radius:5px;padding:0 12px;background:#fff;color:var(--text)}
.search{height:48px}.section{padding:105px 0 25px}.section+.section{padding-top:55px}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:25px}
.section-head>div{max-width:850px}
.section-head>a{font-weight:700;font-size:14px}
.eyebrow{font-size:13px;font-weight:900;display:block;margin-bottom:10px}
.eyebrow:before{content:"";display:inline-block;width:38px;height:4px;background:var(--yellow);margin-right:15px;vertical-align:middle}
.section h2,.transfer-band h2,.engagement h2{font-size:38px;margin:0 0 8px}
.section p,.transfer-band p{margin:0;line-height:1.45}
.carousel-wrap{position:relative}
.carousel{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.carousel::-webkit-scrollbar{display:none}
.cards article{flex:0 0 calc((100% - 84px)/7);min-width:230px;border:1px solid #e3e7ec;border-radius:5px;overflow:hidden;scroll-snap-align:start;background:#fff}
.cards img{width:100%;height:125px;object-fit:cover}
.cards h3,.cards p,.cards article>a{margin-left:15px;margin-right:15px}
.cards h3{font-size:16px;margin-bottom:8px}
.cards p{font-size:13px;min-height:57px}
.cards article>a{display:block;font-size:22px;margin-bottom:14px}
.destinations figure {
    flex: 0 0 calc((100% - 98px)/8);
    min-width: 160px;
    margin: 0;
    border: 1px solid #e3e7ec;
    scroll-snap-align: start;
    text-align: center;
    padding-top: 0.5rem;
    position: relative;
}
.destinations img {
    width: auto;
    object-fit: cover;
    max-width: 90%;
    max-height: 60%;
    margin-left: auto;
    margin-right: auto;
}
.destinations figcaption {
    text-align: center;
    padding: 10px;
    font-weight: 800;
    position: absolute;
    bottom: 0;
    width: 100%;
    background-image: url(/images/bg-destination.png);
    background-size:cover;
}
.carousel-btn{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:0;background:#fff;box-shadow:var(--shadow);font-size:28px;color:var(--navy)}
.carousel-btn.prev{left:-20px}
.carousel-btn.next{right:-20px}
.transfer-band{
	margin-top:55px;
	background:linear-gradient(90deg,#f5f7fa 0%,#f5f7fa 46%,transparent 75%),url(/images/transfers.jpg) right center/58% cover no-repeat;
	background-image: url(/images/bg-transferts.jpg);
	min-height:360px;
	background-size:cover;
	background-position: center center;
}
.transfer-content{padding:55px 0}
.transfer-content>div{max-width:720px}
.hubs{display:flex;gap:28px;margin:25px 0}
.hubs span{display:flex;flex-direction:column;text-align:center;font-size:25px}
.hubs_avion{background-image: url(/images/avion.png);background-repeat:no-repeat;background-size: auto 30px;background-position: center top;padding-top:30px;}
.hubs_train{background-image: url(/images/train.png);background-repeat:no-repeat;background-size: auto 30px;background-position: center top;padding-top:30px;}
.hubs b{font-size:12px;margin-top:6px}
.hubs small{font-size:10px}
.outline-dark{border-color:var(--navy)}
.vehicles article{flex:0 0 calc((100% - 42px)/4);text-align:center;scroll-snap-align:start}
.vehicles img {
    width: auto;
    height: auto;
    object-fit: cover;
    max-width: 90%;
}
.vehicles h3{margin:10px 0 3px}
.vehicles p{font-size:13px}
.engagement{margin-top:45px;padding:55px 0 65px;background:url(/images/montagnes.jpg) center/cover}
.commitments{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:35px;width:70%;}
.commitments div{text-align:center;font-size:42px}
.commitments div img{max-height:40px;}
.commitments b{display:block;font-size:14px;margin-top:12px}
.commitments p{font-size:12px}
.footer{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:30px}footer{background:#061a35;color:#fff}
.legal{font-size:11px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}

/* ===== Correctifs navigation + carrousels ===== */
.lang-persistent{
	margin-left:auto;
	position:relative;
	z-index:12;
}
.lang-persistent select{
	appearance:auto;
	background:#173b65;
	color:#fff;
	border:1px solid rgba(255,255,255,.28);
	border-radius:5px;
	padding:9px 8px;
	cursor:pointer;
}

/* On desktop the language selector remains in the top bar too. */
.nav-panel{flex:1}

/* Animated hamburger -> X */


.burger {
    position: absolute;
    width: 32px;
    height: 26px;
	right: 20px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    top: 25px;
}

.burger span {
    position: absolute;
    left: 0;

    width: 100%;
    height: 2px;

    background: #fff;
    border-radius: 2px;

    transition:
        transform .3s ease,
        opacity .2s ease,
        top .3s ease;
}

.burger span:nth-child(1) {
    top: 2px;
}

.burger span:nth-child(2) {
    top: 12px;
}

.burger span:nth-child(3) {
    top: 22px;
}


/* Menu ouvert */

.burger.open span:nth-child(1) {
    top: 12px;
    transform: rotate(45deg);
}

.burger.open span:nth-child(2) {
    opacity: 0;
}

.burger.open span:nth-child(3) {
    top: 12px;
    transform: rotate(-45deg);
}

/* True horizontal carousels */
.carousel{
	scroll-behavior:smooth;
	overscroll-behavior-inline:contain;
	-webkit-overflow-scrolling:touch;
}
.carousel > *{
	scroll-snap-align:start;
}
.carousel-btn,
.arrow{
	cursor:pointer;
	transition:opacity .2s ease, transform .2s ease, background .2s ease;
}
.carousel-btn:hover,
.arrow:hover{
	transform:translateY(-50%) scale(1.08);
}
.carousel-btn:disabled,
.arrow:disabled{
	opacity:.25;
	cursor:default;
	pointer-events:none;
}

/* Sélecteur de langues */
.language-switcher {
    position: relative;
    display: inline-flex;
    align-items: center;
    z-index: 100;
}

/* Bouton FR */
.language-switcher__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    border: 0;
    border-radius: 4px;
    background: transparent;

    color: #fff;
    font: inherit;
    font-size: 13px;
    font-weight: 600;

    cursor: pointer;
    transition: color 0.2s ease;
    
 
    appearance: auto;
    background: transparent;
    color: #fff;
    border: 1px solid #ffffffaa;
    border-radius: 5px;
    padding: 11px 8px;
    cursor: pointer;

}

.language-switcher__button:hover,
.language-switcher__button:focus-visible {
    color: #ffd400;
}

/* Flèche */
.language-switcher__arrow {
    width: 7px;
    height: 7px;

    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;

    transform: rotate(45deg) translateY(-2px);
    transition: transform 0.2s ease;
}

.language-switcher__button[aria-expanded="true"]
.language-switcher__arrow {
    transform: rotate(225deg) translateY(-2px);
}

/* Menu déroulant */
.language-switcher__menu {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;

    min-width: 145px;
    margin: 0;
    padding: 6px;

    list-style: none;

    background: #fff;
    border: 1px solid #e8ebf0;
    border-radius: 8px;

    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);

    opacity: 0;
    visibility: hidden;
    transform: translateY(-5px);

    transition:
        opacity 0.2s ease,
        transform 0.2s ease,
        visibility 0.2s ease;
}

/* Menu ouvert */
.language-switcher.is-open .language-switcher__menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Liens */
.language-switcher__menu a {
    display: block;

    padding: 10px 12px;

    color: #142c55;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;

    border-radius: 5px;

    transition:
        background 0.2s ease,
        color 0.2s ease;
}

.language-switcher__menu a:hover,
.language-switcher__menu a:focus-visible {
    background: #f2f5fa;
    color: #142c55;
}

/* Langue active */
.language-switcher__menu a[aria-current="page"] {
    color: #142c55;
    font-weight: 700;
    background: #fff5c4;
}

/* =========================================================
   PAGE PRESTATIONS
   Complément à charger APRÈS all.css / pc.css / tablette.css /
   smartphone.css.
   Réutilise : --navy, --yellow, --text, --shadow, .shell et .btn.
   ========================================================= */

.prestations-page{
    padding-top:55px;
    padding-bottom:45px;
}

.prestations-intro{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);
    gap:70px;
    align-items:end;
    margin-bottom:34px;
}

.prestations-kicker{
    display:block;
    margin-bottom:10px;
    color:#e9b900;
    font-size:13px;
    line-height:1;
    font-weight:900;
    letter-spacing:2.2px;
}

.prestations-intro h2{
    position:relative;
    margin:0;
    padding-bottom:20px;
    color:var(--navy);
    font-size:38px;
    line-height:1.08;
}

.prestations-intro h2::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:52px;
    height:4px;
    background:var(--yellow);
}

.prestations-intro__text{
    max-width:650px;
    padding-bottom:7px;
}

.prestations-intro__text p{
    margin:0;
    font-size:16px;
    line-height:1.5;
}

/* 2 colonnes comme sur le visuel fourni */
.prestations-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px 16px;
}

.prestation-card{
    min-height:148px;
    display:grid;
    grid-template-columns:50% 50%;
    overflow:hidden;
    border:1px solid #dfe4eb;
    border-radius:6px;
    background:#fff;
}

.prestation-card__image{
    display:block;
    min-height:148px;
    overflow:hidden;
}

.prestation-card__image img{
    display:block;
    width:100%;
    height:100%;
    min-height:148px;
    object-fit:cover;
    transition:transform .35s ease;
}

.prestation-card:hover .prestation-card__image img{
    transform:scale(1.035);
}

.prestation-card__body{
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-width:0;
    padding:20px 48px 20px 24px;
}

.prestation-card h3{
    margin:0 0 8px;
    color:var(--navy);
    font-size:19px;
    line-height:1.08;
}

.prestation-card p{
    margin:0;
    color:var(--text);
    font-size:14px;
    line-height:1.35;
}

.prestation-card__arrow{
    position:absolute;
    right:14px;
    bottom:14px;
    width:36px;
    height:36px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:2px solid var(--navy);
    border-radius:50%;
    color:var(--navy);
    font-size:23px;
    line-height:1;
    transition:background .2s ease,color .2s ease,transform .2s ease;
}

.prestation-card__arrow:hover{
    background:var(--navy);
    color:#fff;
    transform:translateX(2px);
}

/* La 7e carte occupe toute la ligne comme sur la maquette. */
.prestation-card--wide{
    grid-column:1 / -1;
    grid-template-columns:25% 75%;
}

.prestation-card--wide .prestation-card__body{
    padding-right:60px;
}

/* Blocs Véhicules / Destinations */
.prestations-crosslinks{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
    margin-top:20px;
}

.prestations-crosslink{
    position:relative;
    min-height:190px;
    display:flex;
    align-items:stretch;
    overflow:hidden;
    border-radius:6px;
    color:#fff;
    background-position:center;
    background-size:cover;
}

.prestations-crosslink::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(4,22,48,.94) 0%,rgba(4,22,48,.74) 48%,rgba(4,22,48,.12) 100%);
}

.prestations-crosslink--vehicles{
    background-image:url("/images/bloc-vehicules.jpg");
}

.prestations-crosslink--destinations{
    background-image:url("/images/bloc-destinations.jpg");
}

.prestations-crosslink__content{
    position:relative;
    z-index:1;
    width:68%;
    padding:27px 25px 24px;
}

.prestations-crosslink h3{
    position:relative;
    margin:0 0 18px;
    padding-bottom:13px;
    font-size:22px;
    line-height:1.1;
}

.prestations-crosslink h3::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:40px;
    height:3px;
    background:var(--yellow);
}

.prestations-crosslink p{
    margin:0 0 18px;
    font-size:14px;
    line-height:1.4;
}

.prestations-crosslink .btn{
    min-height:38px;
    padding:0 20px;
    border-radius:22px;
    font-size:11px;
}

.prestations-crosslink .btn span{
    margin-left:12px;
    font-size:17px;
}

/* Navigation clavier */
.language-switcher__button:focus-visible,
.language-switcher__menu a:focus-visible {
    outline: 2px solid #ffd400;
    outline-offset: 3px;
}

.max900{max-width:900px;margin:auto;}

/* =========================================================
   FICHE PRESTATION — complément au CSS existant
   À charger APRÈS all.css, pc.css, tablette.css, smartphone.css
   Réutilise : --navy, --yellow, --white, --gray, --text, --shadow,
   .shell, .btn, .yellow, .outline-dark.
   ========================================================= */

.service-hero{position:relative;min-height:430px;color:#fff;background:linear-gradient(90deg,rgba(4,20,44,.88) 0%,rgba(4,20,44,.64) 43%,rgba(4,20,44,.12) 72%),url("images/taxis-hero.jpg") center/cover no-repeat;overflow:hidden}
.service-hero__inner{min-height:430px;display:flex;align-items:center;padding:115px 0 65px}
.service-hero__content{max-width:690px}
.service-breadcrumb{display:flex;gap:9px;align-items:center;margin:0 0 24px;font-size:13px;color:rgba(255,255,255,.88)}
.service-breadcrumb a:hover{text-decoration:underline}
.service-kicker{display:block;margin-bottom:10px;color:var(--yellow);font-size:13px;font-weight:900;letter-spacing:2px;text-transform:uppercase}
.service-hero h1{margin:0 0 15px;font-size:58px;line-height:1}
.service-hero__lead{max-width:620px;margin:0 0 25px;font-size:21px;line-height:1.4}
.service-hero__actions{display:flex;flex-wrap:wrap;gap:12px}
.service-hero .btn{min-height:48px;padding:0 23px;border-radius:24px}

.service-main{padding:70px 0 0}
.service-intro{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:70px;align-items:center}
.service-photo{min-height:440px;border-radius:8px;overflow:hidden;box-shadow:var(--shadow)}
.service-photo img{display:block;width:100%;height:440px;object-fit:cover}
.service-copy h2,.service-uses h2,.service-zone h2,.service-vehicles h2{margin:0 0 18px;color:var(--navy);font-size:38px;line-height:1.08}
.service-copy p{margin:0 0 16px;font-size:16px;line-height:1.65}
.service-proof{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:26px}
.service-proof div{position:relative;padding:17px 16px 17px 43px;border:1px solid #e0e6ed;border-radius:7px;background:#fff;font-size:14px;font-weight:700;line-height:1.35}
.service-proof div::before{content:"✓";position:absolute;left:16px;top:16px;color:var(--navy);font-size:18px;font-weight:900}

.service-uses{padding:75px 0 70px}
.service-section-head{display:flex;justify-content:space-between;gap:45px;align-items:end;margin-bottom:30px}
.service-section-head>div:first-child{max-width:760px}
.service-section-head p{max-width:600px;margin:0;line-height:1.55}
.service-uses-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.service-use{padding:28px;border:1px solid #e0e6ed;border-radius:8px;background:#fff;box-shadow:0 8px 25px rgba(7,29,66,.06)}
.service-use__num{display:block;margin-bottom:18px;color:#d8aa00;font-size:13px;font-weight:900;letter-spacing:1.6px}
.service-use h3{margin:0 0 10px;font-size:20px;color:var(--navy)}
.service-use p{margin:0;font-size:14px;line-height:1.55}

.service-zone{background:var(--gray);padding:65px 0}
.service-zone__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:65px;align-items:center}
.service-zone p{margin:0 0 18px;line-height:1.6}
.service-zone__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.service-zone__list span{padding:14px 16px;border-left:4px solid var(--yellow);background:#fff;font-weight:700;font-size:14px}

.service-vehicles{padding:70px 0}
.service-vehicle-panel{position:relative;min-height:300px;display:flex;align-items:center;overflow:hidden;border-radius:9px;background:linear-gradient(90deg,rgba(5,25,53,.96),rgba(5,25,53,.72) 48%,rgba(5,25,53,.15)),url("images/flotte-taxis.jpg") center/cover no-repeat;color:#fff}
.service-vehicle-panel__content{position:relative;z-index:1;width:55%;padding:45px}
.service-vehicle-panel h2{color:#fff}
.service-vehicle-panel p{margin:0 0 22px;line-height:1.55}

.service-final{padding:60px 0;background:linear-gradient(rgba(244,247,250,.9),rgba(244,247,250,.9)),url("images/taxis-hero.jpg") center 55%/cover no-repeat}
.service-final__inner{display:flex;align-items:center;justify-content:space-between;gap:35px}
.service-final__inner>div:first-child{max-width:700px}
.service-final .service-kicker{color:#8b6d00}
.service-final h2{margin:0 0 8px;font-size:38px;color:var(--navy)}
.service-final p{margin:0;line-height:1.5}
.service-final__actions{display:flex;gap:12px;flex-wrap:wrap}
.service-final .outline-dark{color:var(--navy);border:1px solid var(--navy);border-radius:24px}
.service-final .yellow{border-radius:24px}
.service-back{padding:22px 0 55px}
.service-back a{font-size:13px;font-weight:700}
.service-back a:hover{text-decoration:underline}

/* ==========================================================
   PAGE VÉHICULES
   Complément au CSS commun du gabarit Taxis
   ========================================================== */

.vehicle-list{
	margin-top:45px;
}


/* UNE LIGNE VÉHICULE
---------------------------------------------------------- */

.vehicle-item{
	display:grid;
	grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);
	gap:70px;
	align-items:center;
	padding:55px 0;
	border-top:1px solid #e2e5e9;
}

.vehicle-item:last-child{
	border-bottom:1px solid #e2e5e9;
}


/* ALTERNANCE
---------------------------------------------------------- */

.vehicle-item--reverse .vehicle-item__visual{
	order:2;
}

.vehicle-item--reverse .vehicle-item__content{
	order:1;
}


/* VISUEL
---------------------------------------------------------- */

.vehicle-item__visual{
	display:flex;
	align-items:center;
	justify-content:center;
	min-width:0;
}

.vehicle-item__visual img{
	display:block;
	width:100%;
	height:auto;
	max-height:440px;
	object-fit:contain;
}


/* CONTENU
---------------------------------------------------------- */

.vehicle-item__content{
	max-width:560px;
}

.vehicle-item__content h3{
	margin:0 0 8px;
	color:var(--navy);
	font-size:clamp(32px,3vw,46px);
	line-height:1.08;
}

.vehicle-item__content h4{
	margin:0 0 18px;
	color:var(--navy);
	font-size:20px;
	line-height:1.35;
}

.vehicle-item__content > p:not(.vehicle-item__label){
	margin:0 0 22px;
	color:#4b5563;
	font-size:16px;
	line-height:1.7;
}


/* "IDÉAL POUR"
---------------------------------------------------------- */

.vehicle-item__label{
	margin:0 0 8px;
	color:var(--navy);
	font-size:12px;
	font-weight:900;
	letter-spacing:1.3px;
	text-transform:uppercase;
}

.vehicle-item__content ul{
	display:flex;
	flex-wrap:wrap;
	gap:7px;
	margin:0 0 26px;
	padding:0;
	list-style:none;
}

.vehicle-item__content li{
	padding:7px 11px;
	border:1px solid #dce0e4;
	background:#fff;
	color:#58616d;
	font-size:12px;
	font-weight:600;
}

/* ==========================================================
   FICHE VÉHICULE
   Compléments au gabarit commun des prestations
   ========================================================== */


/* Hero sans image */

.vehicle-hero{
	background:var(--navy);
	min-height:360px;
}

.vehicle-hero .service-hero__inner{
	min-height:360px;
	padding-top:115px;
	padding-bottom:55px;
}

.vehicle-hero__capacity{
	margin:0 0 12px;
	color:var(--yellow);
	font-size:15px;
	font-weight:800;
	letter-spacing:.4px;
}


/* Deuxième bloc photo / texte :
   on inverse simplement service-intro */

.vehicle-interior .service-photo{
	order:2;
}

.vehicle-interior .service-copy{
	order:1;
}


/* Liste équipements */

.vehicle-equipment-list{
	margin:24px 0 0;
	padding:0;
	list-style:none;
}

.vehicle-equipment-list li{
	position:relative;
	margin:0;
	padding:9px 0 9px 25px;
	border-bottom:1px solid #e2e5e9;
	color:#4b5563;
	line-height:1.55;
}

.vehicle-equipment-list li::before{
	content:"✓";
	position:absolute;
	top:9px;
	left:0;
	color:var(--yellow);
	font-weight:900;
}


/* Listes techniques à l'intérieur des service-use */

.vehicle-technical-list{
	margin:18px 0 0;
	padding:0;
	list-style:none;
}

.vehicle-technical-list li{
	position:relative;
	margin:0 0 10px;
	padding-left:16px;
	color:#5c6470;
	font-size:14px;
	line-height:1.55;
}

.vehicle-technical-list li::before{
	content:"";
	position:absolute;
	top:.7em;
	left:0;
	width:5px;
	height:5px;
	border-radius:50%;
	background:var(--yellow);
}


/* CTA sans troisième photo du véhicule */

.vehicle-final{
	background:var(--navy);
}

.vehicle-hero__layout{
	width:100%;
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(520px,.9fr);
	gap:100px;
	align-items:end;
}

.vehicle-hero__layout .service-hero__content{
	max-width:700px;
}

.vehicle-hero__right{
	padding-bottom:2px;
}


/* Caractéristiques */

.vehicle-hero__specs{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	border-top:1px solid rgba(255,255,255,.25);
	border-bottom:1px solid rgba(255,255,255,.25);
}

.vehicle-hero__spec{
	padding:24px 22px;
	border-right:1px solid rgba(255,255,255,.20);
}

.vehicle-hero__spec:last-child{
	border-right:0;
}

.vehicle-hero__spec strong{
	display:block;
	margin-bottom:5px;
	color:var(--yellow);
	font-size:22px;
	font-weight:800;
	line-height:1.15;
}

.vehicle-hero__spec span{
	display:block;
	color:rgba(255,255,255,.72);
	font-size:13px;
	line-height:1.4;
}


/* CTA sous les caractéristiques */

.vehicle-hero__right .service-hero__actions{
	margin-top:25px;
}

/**************************************************************/
/*************			DESTINATIONS		*******************/
/**************************************************************/
/* ----------------------------------------------------------
   HERO
   ---------------------------------------------------------- */

.destinations-hero{
	min-height:560px;
}

.destinations-hero .service-hero__inner{
	min-height:560px;
	padding-top:135px;
	padding-bottom:70px;
}

.destinations-hero .service-hero__content{
	max-width:690px;
}

.destinations-hero h1{
	max-width:680px;
	font-size:clamp(46px,4.3vw,70px);
	line-height:.98;
}

.destinations-hero .service-hero__lead{
	max-width:610px;
}


/* ----------------------------------------------------------
   INTRODUCTION
   ---------------------------------------------------------- */

.destinations-intro{
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(0,1fr);
	gap:70px;
	align-items:center;
	padding-top:55px;
	padding-bottom:55px;
}

.destinations-intro__photo{
	min-width:0;
}

.destinations-intro__photo img{
	display:block;
	width:100%;
	height:390px;
	object-fit:cover;
}

.destinations-intro__content h2{
	margin:5px 0 20px;
	color:var(--navy);
	font-size:clamp(34px,3vw,48px);
	line-height:1.05;
}

.destinations-intro__content > p{
	max-width:680px;
	margin:0 0 12px;
	color:#505966;
	font-size:15px;
	line-height:1.6;
}

.destinations-intro__proofs{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	margin-top:28px;
	border-top:1px solid #e1e5e9;
}

.destinations-intro__proof{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	min-height:100px;
	padding:15px 8px 0;
	border-right:1px solid #e1e5e9;
	text-align:center;
}

.destinations-intro__proof:last-child{
	border-right:0;
}

.destinations-intro__icon{
	display:block;
	margin-bottom:8px;
	color:var(--navy);
	font-size:28px;
	font-weight:900;
	line-height:1;
}

.destinations-intro__proof strong{
	color:var(--navy);
	font-size:13px;
}


/* ----------------------------------------------------------
   TITRES DE SECTION
   ---------------------------------------------------------- */

.destinations-heading{
	display:grid;
	grid-template-columns:minmax(0,1.5fr) minmax(280px,.65fr);
	gap:60px;
	align-items:end;
	margin-bottom:28px;
}

.destinations-heading h2{
	margin:5px 0 0;
	color:var(--navy);
	font-size:clamp(34px,3vw,46px);
	line-height:1.08;
}

.destinations-heading > p{
	margin:0 0 4px;
	color:#596270;
	font-size:14px;
	line-height:1.55;
}


/* ----------------------------------------------------------
   DESTINATIONS
   ---------------------------------------------------------- */

.destinations-resorts{
	padding:42px 0 58px;
	background:#f2f5f7;
}

.destinations-grid{
	display:grid;
	grid-template-columns:repeat(5,minmax(0,1fr));
	gap:14px;
}


/*
 * IMPORTANT :
 *
 * destination-card est bien le parent de :
 *
 * - destination-card__logo
 * - destination-card__footer
 *
 */

.destination-card{
	display:flex;
	flex-direction:column;
	height:190px;
	min-width:0;
	background:#fff;
	border:1px solid #e8ebee;
	transition:
		transform .2s ease,
		box-shadow .2s ease;
}

.destination-card:hover{
	transform:translateY(-3px);
	box-shadow:0 12px 30px rgba(4,20,44,.09);
}

.destination-card__footer a span{display:none;}

/* LOGO */

.destination-card__logo{
	display:flex;
	align-items:center;
	justify-content:center;
	flex:1;
	min-height:0;
	padding:25px 20px 12px;
}

.destination-card__logo img{
	display:block;
	width:auto;
	height:auto;
	max-width:160px;
	max-height:80px;
	object-fit:contain;
}


/* BAS DE CARTE */

.destination-card__footer{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	padding:15px 20px 18px;
}

.destination-card__footer strong{
	color:var(--navy);
	font-size:14px;
	font-weight:700;
}


/* LIEN FLÈCHE */

.destination-card__footer a{
	display:flex;
	align-items:center;
	justify-content:center;
	color:var(--navy);
	font-size:18px;
	font-weight:700;
	line-height:1;
	text-decoration:none;
	transition:transform .2s ease;
}

.destination-card:hover .destination-card__footer a{
	transform:translateX(4px);
}


/* ----------------------------------------------------------
   GARES & AÉROPORTS
   ---------------------------------------------------------- */

.destinations-arrivals{
	padding:58px 0;
	background:#fff;
}

.destinations-arrivals__grid{
	display:grid;
	grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
	gap:90px;
	align-items:center;
}

.destinations-arrivals__content h2{
	margin:5px 0 20px;
	color:var(--navy);
	font-size:clamp(34px,3vw,47px);
	line-height:1.05;
}

.destinations-arrivals__content p{
	max-width:610px;
	margin:0 0 14px;
	color:#505966;
	font-size:15px;
	line-height:1.6;
}

.destinations-arrivals__cards{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:10px;
}

.arrival-card{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	min-height:118px;
	padding:15px;
	border:1px solid #dfe4e8;
	background:#fff;
	text-align:center;
}

.arrival-card__icon{
	display:block;
	margin-bottom:9px;
	color:var(--navy);
	font-size:27px;
	font-weight:900;
	line-height:1;
}

.arrival-card strong{
	color:var(--navy);
	font-size:13px;
	font-weight:600;
	line-height:1.25;
}


/* ----------------------------------------------------------
   TRANSPORT ADAPTÉ
   ---------------------------------------------------------- */

.destinations-benefits{
	padding:45px 0 55px;
	background:#f2f5f7;
}

.destinations-benefits__grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	margin-top:35px;
}

.destination-benefit{
	min-height:190px;
	padding:0 55px;
	border-right:1px solid #d9dfe4;
}

.destination-benefit:first-child{
	padding-left:0;
}

.destination-benefit:last-child{
	padding-right:0;
	border-right:0;
}

.destination-benefit__top{
	display:flex;
	align-items:center;
	gap:18px;
	margin-bottom:10px;
}

.destination-benefit__icon{
	color:var(--navy);
	font-size:29px;
	font-weight:900;
	line-height:1;
}

.destination-benefit__number{
	color:var(--yellow);
	font-size:20px;
	font-weight:900;
}

.destination-benefit h3{
	margin:0 0 10px;
	color:var(--navy);
	font-size:18px;
}

.destination-benefit p{
	margin:0 0 12px;
	color:#596270;
	font-size:14px;
	line-height:1.55;
}

.destination-benefit a{
	color:var(--navy);
	font-size:13px;
	font-weight:800;
	text-decoration:underline;
}


/* ----------------------------------------------------------
   CTA FINAL
   ---------------------------------------------------------- */

.destinations-final{
	position:relative;
	color:#fff;
	background:
		linear-gradient(
			90deg,
			rgba(4,20,44,.90) 0%,
			rgba(4,20,44,.75) 45%,
			rgba(4,20,44,.42) 100%
		),
		var(--destinations-final-image) center 55% / cover no-repeat;
}

.destinations-final__inner{
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	gap:60px;
	align-items:center;
	min-height:230px;
	padding-top:40px;
	padding-bottom:40px;
}

.destinations-final__content{
	max-width:700px;
}

.destinations-final h2{
	margin:5px 0 10px;
	color:#fff;
	font-size:clamp(36px,3.4vw,52px);
	line-height:1.05;
}

.destinations-final p{
	margin:0;
	color:rgba(255,255,255,.9);
	font-size:15px;
	line-height:1.55;
}

.destinations-final__actions{
	display:flex;
	gap:12px;
}
/**************************************************************/
/*************			DESTINATIONS		*******************/
/**************************************************************/

/* =========================================================
   ESPACE CLIENT - IDENTIFICATION
   ========================================================= */

#formresa{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:32px;
	max-width:1180px;
	margin:60px auto 80px;
	padding:0 20px;
	align-items:stretch;
}


/* ---------------------------------------------------------
   BLOCS
   --------------------------------------------------------- */

#formresa .divbloc{
	display:flex;
	flex-direction:column;
	margin:0;
	padding:0;
	background:#fff;
	border:1px solid #e3e7eb;
	border-radius:0;
	box-shadow:0 15px 45px rgba(4,20,44,.08);
	overflow:hidden;
}

.divbloc h3{text-align:center;}

#formresa .divbloc h2{
	position:relative;
	margin:0;
	padding:30px 35px 26px;
	background:#04142c;
	color:#fff;
	font-size:28px;
	font-weight:800;
	line-height:1.15;
}

#formresa .divbloc h2::after{
	content:"";
	position:absolute;
	left:35px;
	bottom:0;
	width:55px;
	height:4px;
	background:var(--yellow);
}


/* ---------------------------------------------------------
   CONTENU
   --------------------------------------------------------- */

#formresa .divblocint{
	flex:1;
	padding:35px;
	color:#56616b;
	font-size:15px;
	line-height:1.7;
}
#formresa .divblocint label{margin-right:1rem;}

#formresa .divblocint p {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
}

#formresa .divblocint > b:first-child{
	display:inline-block;
	margin-bottom:5px;
	color:#04142c;
	font-size:18px;
	font-weight:800;
}


/* ---------------------------------------------------------
   ANCIEN TABLEAU DU FORMULAIRE
   --------------------------------------------------------- */

#formresa table.arrondi{
	width:100%;
	margin:25px 0 !important;
	padding:25px !important;
	background:#f5f6f7 !important;
	border-collapse:separate;
	border-spacing:0 14px;
	border-radius:0;
}

#formresa table.arrondi td{
	padding:0 7px;
	color:#04142c;
	font-size:14px;
	font-weight:700;
	vertical-align:middle;
}

#formresa table.arrondi td:first-child{
	width:125px;
}


/* ---------------------------------------------------------
   CHAMPS
   --------------------------------------------------------- */

#formresa input[type="text"],
#formresa input[type="email"],
#formresa input[type="password"],
#formresa input[type="date"],
#formresa input[type="time"],select{
	box-sizing:border-box;
	height:30px;
	padding:0 15px;
	border:1px solid #d4d9de;
	border-radius:0;
	background:#fff;
	color:#04142c;
	font-family:inherit;
	font-size:15px;
	outline:none;
	transition:border-color .2s ease, box-shadow .2s ease;
}

#formresa input[type="text"]:focus,
#formresa input[type="password"]:focus{
	border-color:var(--yellow);
	box-shadow:0 0 0 3px rgba(255,204,0,.15);
}


/* ---------------------------------------------------------
   BOUTON CONNEXION
   --------------------------------------------------------- */

#formresa input[type="submit"]{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:48px;
	padding:0 28px;
	border:2px solid var(--yellow);
	border-radius:0;
	background:var(--yellow);
	color:#04142c;
	font-family:inherit;
	font-size:13px;
	font-weight:900;
	letter-spacing:.5px;
	text-transform:uppercase;
	cursor:pointer;
	transition:background .2s ease, color .2s ease;
}

#formresa input[type="submit"]:hover{
	background:#04142c;
	border-color:#04142c;
	color:#fff;
}


/* ---------------------------------------------------------
   LIENS
   --------------------------------------------------------- */

#formresa a{
	color:#04142c;
	font-weight:700;
	text-decoration:none;
}

#formresa a:hover{
	text-decoration:underline;
}


/* ---------------------------------------------------------
   CREER MON COMPTE
   --------------------------------------------------------- */

#formresa .abutton{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:48px;
	margin-top:15px;
	padding:0 28px;
	border:2px solid #04142c;
	background:#04142c;
	color:#fff;
	font-size:13px;
	font-weight:900;
	letter-spacing:.5px;
	text-transform:uppercase;
	text-decoration:none;
	transition:background .2s ease, border-color .2s ease, color .2s ease;
}

#formresa .abutton:hover{
	background:var(--yellow);
	border-color:var(--yellow);
	color:#04142c;
	text-decoration:none;
}


/* ---------------------------------------------------------
   NOUVEAU CLIENT
   Légère différenciation du second bloc
   --------------------------------------------------------- */

#formresa .divbloc:nth-of-type(2){
	background:#f7f8f9;
}

#formresa .divbloc:nth-of-type(2) .divblocint{
	display:flex;
	flex-direction:column;
	justify-content:center;
}

/* =========================================================
   HEADER ESPACE CLIENT
   ========================================================= */

.account-header{
	position:relative;
	min-height:330px;
	color:#fff;

	background:
		linear-gradient(
			90deg,
			rgba(4,20,44,.94) 0%,
			rgba(4,20,44,.82) 50%,
			rgba(4,20,44,.55) 100%
		),
		url("/images/espace-client-header.jpg")
		center / cover no-repeat;
}

.account-header__inner{
	padding-top:140px; /* 90px menu + espace supérieur */
	padding-bottom:50px;
}


/* Fil d'Ariane */

.account-header .service-breadcrumb{
	margin:0 0 20px;
}


/* Kicker */

.account-header .service-kicker{
	margin-bottom:10px;
}


/* Titre */

.account-header h1{
	max-width:800px;
	margin:0 0 14px;
	color:#fff;
	font-size:42px;
	font-weight:800;
	line-height:1.1;
}


/* Texte */

.account-header p{
	max-width:650px;
	margin:0;
	color:rgba(255,255,255,.82);
	font-size:16px;
	line-height:1.6;
}

/* =========================================================
   MOT DE PASSE OUBLIE
   ========================================================= */

.password-form{
	width:min(680px,calc(100% - 64px));
	margin:60px auto 80px;
}


/* ---------------------------------------------------------
   CARTE
   --------------------------------------------------------- */

.password-form .divbloc{
	margin:0;
	padding:0;
	background:#fff;
	border:1px solid #e3e7eb;
	box-shadow:0 15px 45px rgba(4,20,44,.08);
	overflow:hidden;
}


/* On masque le H2 vide de l'ancien formulaire */

.password-form .divbloc > h2{
	display:none;
}


/* ---------------------------------------------------------
   CONTENU
   --------------------------------------------------------- */

.password-form .divblocint{
	padding:50px 55px;
	color:#56616b;
	font-size:16px;
	line-height:1.7;
	text-align:center !important;
}


/* ---------------------------------------------------------
   CHAMP EMAIL
   --------------------------------------------------------- */

.password-form input[type="text"]{
	box-sizing:border-box;
	width:100%;
	max-width:460px;
	height:52px;
	padding:0 17px;
	border:1px solid #d4d9de;
	border-radius:0;
	background:#f7f8f9;
	color:#04142c;
	font-family:inherit;
	font-size:16px;
	outline:none;

	transition:
		border-color .2s ease,
		box-shadow .2s ease,
		background .2s ease;
}

.password-form input[type="text"]:focus{
	border-color:var(--yellow);
	background:#fff;
	box-shadow:0 0 0 3px rgba(255,204,0,.15);
}


/* ---------------------------------------------------------
   BOUTON
   --------------------------------------------------------- */

.password-form input[type="submit"]{
	min-height:50px;
	padding:0 32px;
	border:2px solid var(--yellow);
	border-radius:0;
	background:var(--yellow);
	color:#04142c;
	font-family:inherit;
	font-size:13px;
	font-weight:900;
	letter-spacing:.5px;
	text-transform:uppercase;
	cursor:pointer;

	transition:
		background .2s ease,
		border-color .2s ease,
		color .2s ease;
}

.password-form input[type="submit"]:hover{
	background:#04142c;
	border-color:#04142c;
	color:#fff;
}


/* ---------------------------------------------------------
   RETOUR
   --------------------------------------------------------- */

.password-form center{
	margin-top:25px;
}

.password-form .aorange{
	display:inline-flex;
	align-items:center;
	color:#04142c;
	font-size:14px;
	font-weight:800;
	text-decoration:none;
	transition:color .2s ease;
}

.password-form .aorange:hover{
	color:var(--yellow);
	text-decoration:none;
}

/* =========================================================
   CREATION DE COMPTE
   ========================================================= */

#forminfoperso{
	width:min(1180px,calc(100% - 64px));
	margin:35px auto 80px;
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:35px;
}


/* =========================================================
   TITRE COORDONNEES AVANT LE FORMULAIRE
   ========================================================= */

/*
   Le H2 "Coordonnées" est actuellement en dehors du formulaire.
   Idéalement, voir petite modification HTML proposée plus bas.
*/


/* =========================================================
   COLONNES
   ========================================================= */

#forminfoperso .moitie{
	box-sizing:border-box;
	float:none;
	width:auto;
	margin:0;
	padding:35px;
	background:#fff;
	border:1px solid #e3e7eb;
	box-shadow:0 15px 45px rgba(4,20,44,.07);
}


/* =========================================================
   LIGNES DE FORMULAIRE
   ========================================================= */

#forminfoperso .moitie > p{
	display:grid;
	grid-template-columns:200px minmax(0,1fr);
	gap:20px;
	align-items:center;
	margin:0;
	padding:11px 0;
	border-bottom:1px solid #edf0f2;
}

#forminfoperso .moitie > p:last-child{
	border-bottom:0;
}


/* =========================================================
   LABELS
   ========================================================= */

#forminfoperso label{
	display:block;
	margin:0;
	color:#04142c;
	font-size:14px;
	font-weight:700;
	line-height:1.4;
}


/* =========================================================
   CHAMPS
   ========================================================= */

#forminfoperso input[type="text"],
#forminfoperso input[type="password"],
#forminfoperso select,
#forminfoperso textarea{
	box-sizing:border-box;
	width:100%;
	min-width:0;
	border:1px solid #d4d9de;
	border-radius:0;
	background:#f7f8f9;
	color:#04142c;
	font-family:inherit;
	font-size:15px;
	outline:none;

	transition:
		border-color .2s ease,
		box-shadow .2s ease,
		background .2s ease;
}


#forminfoperso input[type="text"],
#forminfoperso input[type="password"],
#forminfoperso select{
	height:48px;
	padding:0 14px;
}


#forminfoperso textarea{
	min-height:90px;
	padding:12px 14px;
	resize:vertical;
}


#forminfoperso input[type="text"]:focus,
#forminfoperso input[type="password"]:focus,
#forminfoperso select:focus,
#forminfoperso textarea:focus{
	border-color:var(--yellow);
	background:#fff;
	box-shadow:0 0 0 3px rgba(255,204,0,.15);
}


/* =========================================================
   CHAMPS OBLIGATOIRES
   ========================================================= */

#forminfoperso .champoblig,
.obligatoire{
	color:#d49d00;
	font-weight:900;
}


/* =========================================================
   SOUS-TITRES : EMAIL / REGLEMENT / LOGIN
   ========================================================= */

#forminfoperso h3{
	position:relative;
	margin:5px 0 20px !important;
	padding:0 0 13px !important;

	background:none !important;

	color:#04142c;
	font-size:20px;
	font-weight:800;
	line-height:1.2;
	text-align:left !important;
}


#forminfoperso h3::after{
	content:"";
	position:absolute;
	left:0;
	bottom:0;
	width:42px;
	height:3px;
	background:var(--yellow);
}


/* Espacement entre les différents groupes */

#forminfoperso br + h3{
	margin-top:25px !important;
}


/* =========================================================
   EMAIL + CHECKBOXES
   ========================================================= */

#forminfoperso input[type="checkbox"]{
	width:16px;
	height:16px;
	margin:4px 4px 0 0;
	vertical-align:-3px;
	accent-color:#04142c;
}


#forminfoperso .moitie:nth-child(2) label{
	line-height:1.65;
}


/* =========================================================
   BOUTONS
   ========================================================= */

#forminfoperso input[type="submit"],
#forminfoperso input[type="button"]{
	min-height:50px;
	padding:0 28px;
	border-radius:0;
	font-family:inherit;
	font-size:13px;
	font-weight:900;
	letter-spacing:.4px;
	text-transform:uppercase;
	cursor:pointer;

	transition:
		background .2s ease,
		color .2s ease,
		border-color .2s ease;
}


/* VALIDER */

#forminfoperso input[type="submit"]{
	border:2px solid var(--yellow);
	background:var(--yellow);
	color:#04142c;
}

#forminfoperso input[type="submit"]:hover{
	border-color:#04142c;
	background:#04142c;
	color:#fff;
}


/* PRECEDENT */

#forminfoperso input[type="button"]{
	border:2px solid #04142c;
	background:#fff;
	color:#04142c;
}

#forminfoperso input[type="button"]:hover{
	background:#04142c;
	color:#fff;
}


/* =========================================================
   BAS DU FORMULAIRE
   ========================================================= */

/*
   Le div clear:both n'est plus nécessaire puisque nous sommes
   maintenant en CSS Grid.
*/

#forminfoperso > div[style*="clear"]{
	display:none;
}


#forminfoperso > hr{
	grid-column:1 / -1;
	width:100%;
	height:1px;
	margin:10px 0 0;
	border:0;
	background:#e3e7eb;
}


#forminfoperso > p:last-child{
	grid-column:1 / -1;
	margin:0;
	padding-top:5px;
	text-align:center !important;
}

#divecdisconnect{
    margin-top: 2rem;
    margin-right: 2rem;
    position: absolute;
    right: 2rem;
}

.reservations-grid{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:24px;
}


/* Barre supérieure */

.reservations-toolbar{
	grid-column:1 / -1;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px;
	padding:18px 22px;
	background:#f4f5f6;
	color:#04142c;
}


/* Carte réservation */

.div_res_item{
	position:relative;
	box-sizing:border-box;
	min-width:0;
	padding:25px;
	background:#fff;
	border:1px solid #e1e5e8;
	box-shadow:0 8px 25px rgba(4,20,44,.06);
	color:#56616b;
	font-size:14px;
	line-height:1.7;
}


/* Référence */

.div_res_item > a{
	display:block;
	margin-bottom:15px;
	padding-bottom:12px;
	border-bottom:3px solid var(--yellow);
	color:#04142c !important;
	font-size:16px;
	font-weight:800;
	text-decoration:none;
}

.div_res_item > a u{
	text-decoration:none;
}


/* Libellés */

.div_res_item > b{
	color:#04142c;
	font-weight:700;
}


/* Checkbox */

.div_res_item > input[type="checkbox"]{
	position:absolute;
	top:25px;
	right:25px;
	width:18px;
	height:18px;
	accent-color:#04142c;
}

/* =========================================================
   ESPACE CLIENT - MENU PRINCIPAL
   ========================================================= */

/* Conteneur des 3 cartes */

center:has(.divaec){
	width:min(1180px,calc(100% - 64px));
	margin:45px auto 70px;
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:30px;
}


/* Liens */

center:has(.divaec) > a{
	display:block;
	color:#04142c;
	text-decoration:none;
}


/* Cartes */

.divaec{
	box-sizing:border-box;
	width:100%;
	height:190px;
	margin:0;
	padding:115px 20px 25px;

	float:none;

	display:flex;
	align-items:center;
	justify-content:center;

	background-color:#fff;
	background-position:center 35px;
	background-repeat:no-repeat;
	background-size:auto 65px;

	border:1px solid #d5d9dd;
	border-radius:0;

	color:#04142c;
	font-size:20px;
	font-weight:700;
	text-align:center;

	box-shadow:0 8px 25px rgba(4,20,44,.04);

	transition:
		transform .2s ease,
		box-shadow .2s ease,
		border-color .2s ease;
}


/* Survol */
center:has(.divaec) > a:hover .divaec{
	transform:translateY(-4px);
	border-color:var(--yellow);
	box-shadow:0 15px 35px rgba(4,20,44,.10);
}


/* Ancien clear */

center:has(.divaec) > div[style*="clear"]{
	display:none;
}

/* ==========================================================
   CONTACT
   ========================================================== */

.contact-content{
	display:grid;
	grid-template-columns:minmax(300px,.7fr) minmax(500px,1.3fr);
	gap:45px;
	align-items:start;
	max-width:1200px;
	margin:0 auto;
	padding:65px 30px 80px;
	box-sizing:border-box;
}


/* BLOCS */

.contact-content > .divbloc{
	margin:0;
	background:#fff;
	border:1px solid #e1e5e9;
	box-shadow:0 12px 35px rgba(4,20,44,.07);
}


/* TITRES */

.contact-content > .divbloc > h2{
	position:relative;
	margin:0;
	padding:28px 32px 24px;
	color:var(--navy);
	font-size:26px;
	line-height:1.15;
	border-bottom:1px solid #e1e5e9;
}

.contact-content > .divbloc > h2::before{
	content:"";
	position:absolute;
	top:0;
	left:32px;
	width:55px;
	height:4px;
	background:var(--yellow);
}


/* CONTENU DES BLOCS */

.contact-content > .divbloc > .divblocint{
	padding:30px 32px 35px;
}


/* ==========================================================
   BLOC COORDONNÉES
   ========================================================== */

.contact-content > .divbloc:first-child{
	background:var(--navy);
	color:#fff;
	border:0;
}

.contact-content > .divbloc:first-child > h2{
	color:#fff;
	border-bottom:1px solid rgba(255,255,255,.15);
}

.contact-content > .divbloc:first-child > .divblocint{
	padding-top:35px;
	padding-bottom:40px;
	color:rgba(255,255,255,.85);
	font-size:15px;
	line-height:1.9;
	text-align:left !important;
}

.contact-content > .divbloc:first-child .aorange{
	display:inline-block;
	margin-top:12px;
	color:var(--yellow);
	font-weight:700;
	text-decoration:none;
}

.contact-content > .divbloc:first-child .aorange:hover{
	text-decoration:underline;
}


/* ==========================================================
   FORMULAIRE
   Uniquement le formulaire situé dans contact-content
   ========================================================== */

.contact-content form{
	margin:0;
}

.contact-content form > p{
	margin:0 0 20px;
}

.contact-content form label{
	display:block;
	margin-bottom:7px;
	color:var(--navy);
	font-size:13px;
	font-weight:800;
}

.contact-content .champoblig{
	color:var(--yellow);
}


/* CHAMPS */

.contact-content form input[type="text"],
.contact-content form input[type="email"],
.contact-content form input[type="tel"],
.contact-content form textarea,
.contact-content form select{
	display:block;
	width:100%;
	box-sizing:border-box;
	border:1px solid #d8dde2;
	border-radius:0;
	background:#f8f9fa;
	color:var(--navy);
	font-family:inherit;
	font-size:15px;
	outline:none;
	transition:border-color .2s ease,
			   background .2s ease,
			   box-shadow .2s ease;
}

.contact-content form input[type="text"],
.contact-content form input[type="email"],
.contact-content form input[type="tel"],
.contact-content form select{
	height:50px;
	padding:0 15px;
}

.contact-content form textarea{
	min-height:160px;
	padding:14px 15px;
	resize:vertical;
}


/* FOCUS */

.contact-content form input[type="text"]:focus,
.contact-content form input[type="email"]:focus,
.contact-content form input[type="tel"]:focus,
.contact-content form textarea:focus,
.contact-content form select:focus{
	background:#fff;
	border-color:var(--yellow);
	box-shadow:0 0 0 3px rgba(221,174,45,.12);
}


/* ==========================================================
   RECAPTCHA
   ========================================================== */

.contact-content .divformulaire{
	display:flex;
	justify-content:center;
	margin:5px 0 20px;
}

.contact-content .divformulaire center{
	width:100%;
}


/* ==========================================================
   BOUTONS
   ========================================================== */

.contact-content form input[type="submit"],
.contact-content form input[type="reset"]{
	min-height:50px;
	padding:0 22px;
	border:0;
	border-radius:0;
	font-family:inherit;
	font-size:12px;
	font-weight:900;
	text-transform:uppercase;
	cursor:pointer;
	transition:transform .2s ease,
			   box-shadow .2s ease,
			   background .2s ease;
}

.contact-content form input[type="submit"]{
	background:var(--yellow);
	color:var(--navy);
}

.contact-content form input[type="submit"]:hover{
	transform:translateY(-2px);
	box-shadow:0 8px 18px rgba(4,20,44,.15);
}

.contact-content form input[type="reset"]{
	background:#eef1f3;
	color:#606975;
}

.contact-content form input[type="reset"]:hover{
	background:#e3e7ea;
}


/* BR utilisés pour l'espacement dans le formulaire */

.contact-content form > br{
	display:none;
}

/* Responsive */
@media (max-width: 768px) {
    .language-switcher__button {
        padding: 10px;
    }

    .language-switcher__menu {
        right: 0;
    }
}

@media (max-width:1400px){
	.commitments {width: 100%;}
}
