:root {
	--bs-blue: #0d6efd;
	--bs-indigo: #6610f2;
	--bs-purple: #6f42c1;
	--bs-pink: #d63384;
	--bs-red: #dc3545;
	--bs-orange: #fd7e14;
	--bs-yellow: #ffc107;
	--bs-green: #198754;
	--bs-teal: #20c997;
	--bs-cyan: #0dcaf0;
	--bs-white: #fff;
	--bs-gray: #6c757d;
	--bs-gray-dark: #343a40;
	--bs-primary: #00D1F9;
	--bs-secondary: #19409A;
	--bs-success: #198754;
	--bs-info: #0dcaf0;
	--bs-warning: #ffc107;
	--bs-danger: #dc3545;
	--bs-light: #F2F9F9;
	--bs-dark: #001442;
	--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
	--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
	--bs-breadcrumb-divider: "»";
}

/* surcharges bootstrap */
.text-primary { color: #00a3e0 !important; }
@media (min-width: 1200px) {
	.display-3 { font-size: 3rem; }
}

.carousel-control-prev, .carousel-control-next {
	z-index: 3;
}
/* pour corriger le scroll horizontal superflu */
/* https://github.com/twbs/bootstrap/issues/33911 */

.row-contenu {
	margin-left: calc(var(--bs-gutter-x) * -1);
	margin-right: 0;
	> * {
		padding-left: var(--bs-gutter-x);
		padding-right: 0;
	}
}

a {
	/*color: #00d1f9;*/
	text-decoration: none;
}

.navbar > .logo {
	padding: 0px;
	margin: 20px auto 0px auto;
	display: flex;
}
.navbar > .logo a{font-family: 'Roboto', sans-serif;font-weight:500;color:#9c9c9c;font-size:30px;text-transform:uppercase;}
.navbar > .logo a:hover{text-decoration:none;color:#00a3e0;}
.navbar > .logo span{color:#00a3e0;font-size:30px;font-family: 'Roboto', sans-serif;font-weight:300;text-transform:uppercase;}
.navbar > .logo p {
	font-size: 15px;
	color: #a9a9a9;
	font-family: 'Roboto', sans-serif;
	font-weight: 500;
	text-transform: none;
	letter-spacing: 3px;
	margin-top: 3px;
}


/*
.header-background {
	bottom: 0;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}
*/

body {
	color:grey;
}
/* Réinitialiser les marges et les bordures */
/*
body, html {
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
}
*/
/* Container de la vidéo */

.video-container {
	position: relative;
	width: 100%;
	height: 100vh; /* La vidéo occupe toute la hauteur de la fenêtre */
	overflow: hidden;
	background-image: url('/uploads/home_video.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}


/* Styles pour la vidéo */
.video-container video {
	position: absolute;
	top: 50%;
	left: 50%;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	transform: translate(-50%, -50%);
	z-index: 1;
	object-fit: cover; /* Recouvre toute la surface sans déformer */
}

/* video youtube dans le caroussel bateaux neufs */
.video-iframe-container {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	height: 0;
}
.video-iframe-container iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.footer {
	background: var(--bs-dark);
}

.footer-legal a { padding-left:25px; }

. a:hover {
	letter-spacing: 1px;
	/*color: var(--bs-primary);*/
}

/* titre constance boat footer */
#block-2 h4 {
	font-family: 'Roboto', sans-serif;
	font-weight: 500;
	color: #9c9c9c;
	font-size: 22px;
	text-transform: uppercase;
}

#block-2 h4 span {
	color: #00a3e0;
}

.product-item > a div.h4 { color: var(--bs-secondary-color); }
.product-item > a > img { min-height: 400px; }

.home-vignettes { margin-top:-315px; height:320px; z-index: 2; position: relative; }

.home-carousel-marques {
	border-radius: 10px;
	background: #fff;
	padding: 0;
}

.home-carousel-marques {
	position: relative;
	display: flex;
	align-items: stretch;
}

#home-carousel-marques .carousel-item {
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform .5s;
}

#home-carousel-marques .carousel-item img {
	max-width: 140px;
	height: 140px;
	object-fit: contain;
}


#home-carousel-marques .carousel-fade .active.carousel-item-start,
#home-carousel-marques .carousel-fade .active.carousel-item-end {
	transition: opacity 0s;
}

.home-carousel-marques > img {
	border-radius: 10px 0 0 10px;
}

.home-vignettes .thumbnail img { border-radius: 10px; }

.bg-gray-light { background-color: var(--bs-gray-300); }
.gray-light { color: var(--bs-gray); }
.gray-dark { color: var(--bs-gray-dark); }

.block-recherchebateau img { transition: 0.5s; border-radius:0.375rem; }
.block-recherchebateau img:hover { transform: scale(1.2); }

.marque-logo-container {
	text-align: center;
	padding:5px;
}

.img-cover {
	height: 100%;
	object-fit: cover;
}

.marque-logo-rounded-home,
.marque-logo-rounded {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 90px;
	height: 90px;
	border-radius: 50%;
	/*color:#fff;*/
	box-sizing: border-box;
	transition: 0.5s;
}

.marque-logo-breadcrumb {
	background-color: #fff;
	width: 90px;
	height: 90px;
	opacity:0.5;
}

.marque-logo-page {
	width: 120px;
	height: 120px;
	background-color: #9c9c9c;
}

.marque-logo-home {
	width: 90px;
	height: 90px;
	background-color: #9c9c9c;
}

.marque-logo-rounded:hover { transform: scale(1.2); }

.marque-logo-img-breadcrumb {
	width: 80px;
	height: 80px;
}

.marque-logo-img-page {
	width: 110px;
	height: 110px;
}

.marque-logo-img-home {
	width: 80px;
	height: 80px;
}


.marque-logo-img {
	border-radius: 50%;
	object-fit: contain;
	background: #fff;
	padding: 7px;
}

.marque-bottom {
	position: relative;
	background: rgb(197, 197, 197);
	background: radial-gradient(at center, rgb(35, 35, 38) 0%, rgba(255, 255, 255,0) 60%);
	padding: 20px 350px 70px 350px;
	text-align: center;
}

.marques-disponibles .marque-logo-breadcrumb,
.marque-bottom .marque-logo-breadcrumb {
	opacity: 1;
}

.block-liste-marques {
	background: grey;
	text-align: center;
	background-image: linear-gradient(to bottom, #000000, #322e2d, #605955, #8f8a81, #bcc0b2);
	border-radius: 10px;
}

.block-liste-marques > h3, .block-liste-marques .marque-bandeau-text {
	color: #fff;
	transition:0.5s;
}
.marque-bandeau-text { text-align:center; }

/* methode pas satifaiante à cause de la largeur qui n'occupe pas toute la largeur selon les proportion de l'image */
/*
.product-item > a> .image-container {
	height: 320px;
	position: relative;
	overflow: hidden;
	width: auto;
}

.product-item > a > .image-container > img {
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.product-item > a > .image-container > img.novisuel { height:auto; width:150px; }
*/

/* methode pas terrible : occupe tout le cadre mais déforme les images en hauteur */
/*
.product-item > a> .image-container {
	height: 260px;
	display: flex;
	justify-content: center;
	align-items:normal;
}

.product-item > a > .image-container > img {
	width:100%;
}

.product-item > a > .image-container > img.novisuel { height:40px; width:60px; margin-top:100px; }
*/
/*** Products Start ***/
.product .product-item {
	border: 1px solid rgba(196, 211, 211, 0.9);
	border-radius: 10px;
}


/* methode corrigé chatgpy */
/* pour hauteur identique des cards */

.product-item {
	height: 100%;
	display: flex;
	flex-direction: column;
}

.product-content {
	flex-grow: 1;
}

/* solution moderne chatgpt plus responsive */
.product-item > a > .image-container {
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.product-item > a > .image-container img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/*** Products End ***/



.carousel-caption { top:90vh; }

.searchform-sort-btn {
	width: 40px;
	height: 40px;
	border-radius: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.searchform-sort-btn.active {
	background: var(--bs-primary);
	cursor:pointer;
}

.searchform-sort-btn.inactive {
	background: var(--bs-gray);
}


#SortMethod { margin-right:5px; width:150px; float:left; }

.page-item.disabled .page-link > a {
	color: #6c757d;
	pointer-events: none;
}

/* page bateaux */

.navigation-item .search-icon {
	width: 80px;
	height: 80px;
	border-radius: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--bs-primary);
	opacity: 0.65;
}
.navigation-item .search-icon:hover i {
	transform: rotate(360deg);
}

.navigation-item .search-icon i {
	transition: 0.5s;
}

.prev-boat, .next-boat {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
	border-radius:40px;
	opacity: 0.65!important;
}

.btn-small {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	border-radius: 27px;
	opacity: 0.65 !important;
	margin-left: 15px;
	/*padding-left: 15px;*/
}


.breadcrumb-item + .breadcrumb-item::before {
	float: left;
	padding-right: .5rem;
	color: #6c757d;
	content: var(--bs-breadcrumb-divider, "/");
}


.newboatview > .breadcrumb-item + .breadcrumb-item::before {
	display:none;
}
.newboatview { z-index:2; }

.boatgallery .image-container {
	/*height: 320px;*/
	overflow: hidden;
	justify-content: center;
	align-items: center;
}

.boatgallery .image-container > img {
	max-height: 100%;
	max-width: 100%;
	cursor:pointer;
}

#gallery-carousel .carousel-item img {
	object-fit: cover;
	/*object-position: center; */
	height: 95vh;
	overflow: hidden;
	border-radius:10px;
}

#boatgallerymodal .modal-body > button {
	position: absolute;
	top: 20px;
	right: 20px;
	background-color: var(--bs-primary);
	z-index: 10000;
	width: 3em;
	height: 3em;
	border-radius: 30px;
}

.accordion-button { font-family:revert; }

.virtualtour {
	height: 680px;
	border: none;
}

.videofilm {
	border-radius: 10px;
	overflow: hidden;
	height: 369px;
	margin-bottom:15px;
}

/* gestion blockquote dans description des bateaux */
.viewgeneral {
	position: relative;
}

/* Animation hauteur fluide */
.extra-content {
	overflow: hidden;
	transition: height 0.6s cubic-bezier(.4,0,.2,1), opacity 0.4s ease;
}

/* État replié */
.viewgeneral.is-collapsed .extra-content {
	opacity: 0;
}

/* Dégradé élégant */
.viewgeneral.is-collapsed::after {
	content: "";
	position: absolute;
	bottom: 60px;
	left: 0;
	right: 0;
	height: 80px;
	background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,0.95));
	pointer-events: none;
}

/* Bouton premium */
.toggle-description {
	margin-top: 20px;
	background: none;
	border: none;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	color: #0d6efd;
	transition: opacity 0.3s ease;
}

.toggle-description:hover {
	opacity: 0.7;
}

.toggle-description .chevron {
	transition: transform 0.4s ease;
}

.toggle-description.is-open .chevron {
	transform: rotate(180deg);
}


/*** Single Page Hero Header Start ***/
.bg-breadcrumb {
	position: absolute;
	top:15px;
	overflow: hidden;
	background: rgb(197, 197, 197);
	background: radial-gradient(at center, rgb(35, 35, 38) 0%, rgba(255, 255, 255,0) 40%);
	padding: 120px 0 60px 0;
	transition: 0.5s;
	/*z-index:2;*//* inactive le menu */
}

.bg-breadcrumb .breadcrumb {
	position: relative;
}

/*
.breadcrumb .breadcrumb-item a,
.bg-breadcrumb .breadcrumb .breadcrumb-item a {
	color: var(--bs-white);
}
*/
.block-liste-marques-home .breadcrumb-item a,
.newboatview .breadcrumb-item a {
	color: var(--bs-white);
	transition:0.5s;
}

.block-liste-marques-home .breadcrumb-item a:hover,
.newboatview .breadcrumb-item a:hover,
.block-liste-marques .marque-bandeau-text:hover {
	letter-spacing: 1px;
	color: var(--bs-primary);
}

/* page contact */
#map_canvas_1 {
	position:relative;
	height:100vh;
	z-index:2;
}

@media (max-width: 992px) {
	.bg-breadcrumb {
		padding: 60px 0 60px 0;
	}
}
/*** Single Page Hero Header End ***/



.linear-top-to-bottom:before {
	background:#0e233f;
	/*background:linear-gradient(180deg,#0e233f,rgba(14,35,63,0) 33%);*/
	background:linear-gradient(180deg,#0e233f,rgba(14,35,63,0) 33%);
	/*background:linear-gradient(180deg,#0e233f,#9ea7b3 33%);*/
	z-index:2;
}

.linear-left-to-right:after,
.linear-top-to-bottom:before {
	content:"";
	height:100%;
	left:0;
	pointer-events:none;
	position:absolute;
	top:0;
	width:100%
}

.navbar-nav { min-width:270px; } /* pour éviter le décalage dans le sous-menu */

.linear-left-to-right:after {
	background:#0e233f;
	background:linear-gradient(90deg,#0e233f,rgba(14,35,63,0) 66%);
	z-index:1
}

.header-page, .header-carousel {
	position: relative;
}
	

/* X-Small devices (portrait phones, less than 576px)
   No media query for `xs` since this is the default in Bootstrap
   Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
	/*
	.linear-top-to-bottom:before {
		background:#0e233f;
		background:linear-gradient(180deg,#0e233f,rgba(14,35,63,0) 140%);
		z-index:auto;
	}
	*/
}
/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
	/*
	.header-page, .header-carousel {
		position: relative;
	}
	*/
	/*
	.linear-top-to-bottom:before {
		background:#0e233f;
		background:linear-gradient(180deg,#0e233f,rgba(14,35,63,0) 33%);
		z-index:auto;
	}
	*/
}
/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
	.header-page {
		min-height: 30rem;
		position: absolute;
		z-index:2;
	}
	/*.header-carousel { position:absolute; }*/
	.affairedescription {
		height: 160px;
		margin-top: -160px;
		color: white;
		padding: 10px;
		background-color: var(--bs-gray);
		opacity: 0.6;
		overflow: auto;
	}
	
	.excerpt-index-neuf { height:120px; }
	
	
}
/* X-Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
	.header-page {
		min-height: 30rem;
		position: absolute;
		z-index:2;
	}
	
	.boat-search {
		position:absolute;
		top:75vh;
		left:50%;
		transform:translate(-75vh, -50%);
	}
	
	#slider { height:100vh; }
	
	/*.header-carousel { position:absolute; }*/
}
/* XX-Large devices (larger desktops, 1400px and up) */
@media (min-width: 1400px) {
	/*
	.header-page {
		min-height: 30rem;
		position: absolute;
		z-index:2;
	}
	
	.linear-top-to-bottom:before {
		background:#0e233f;
		background:linear-gradient(180deg,#0e233f,rgba(14,35,63,0) 33%);
		z-index:2;
	}
	*/
	/*.header-carousel { position:absolute; }*/
	/*
	.bg-breadcrumb {
		position: absolute;
		top:15px;
		
	}
	*/

}

@media (max-width: 992px) {
	/*
	.header-page {
		min-height: 30rem;
		position: absolute;
		z-index:2;
	}
	*/
	.linear-top-to-bottom:before {
		background:#0e233f;
		background:linear-gradient(180deg,#0e233f,rgba(14,35,63,0) 140%); /* pourcentage plus petit pour avoir un gradient qui ne se voit pas trop sur la video ou le slider */
		z-index:auto;
	}
	
	.home-vignettes #block-23 { display:none; }
	
	.home-marques-description img.rounded-start {
		border-bottom-left-radius: 0px !important;
		border-bottom-right-radius: 0px !important;
		border-top-left-radius: 10px !important;
		border-top-right-radius: 10px !important;
	}
	
	.home-marques-description img.rounded-end {
		border-bottom-left-radius: 10px !important;
		border-bottom-right-radius: 10px !important;
		border-top-left-radius: 0px !important;
		border-top-right-radius: 0px !important;
	}
	
}

/* pour l'élément affairesmois2 */
.product-img {
    aspect-ratio: 16 / 9;   /* toutes les images au même ratio */
    object-fit: cover;
}


/* swiper affaires du mois */
.product-item {
	width: 100%;
}

.product-swiper {
	padding-left: 2rem;
	padding-right: 2rem;
}

.swiper-slide {
	display: flex;
	height: auto;
}

.swiper-slide a { color:unset; }

.swiper-slide > * {
	width: 100%;
}

.yacht-swiper {
	padding-bottom: 40px;  /* plus d'espace avant la pagination */
}

.swiper-button-next, .swiper-button-prev {
	background-color: var(--bs-primary);
	transition: 0.8s;
	opacity: 0.7;
}

.swiper-button-next {
	right: 0;
	border-right: 0;
	border-top-left-radius: 50px;
	border-top-right-radius: 0;
	border-bottom-left-radius: 50px;
	border-bottom-right-radius: 0;
	padding: 0px 20px 0px 30px;
}

.swiper-button-prev {
	left: 0;
	border-left: 0;
	border-top-left-radius: 0;
	border-top-right-radius: 50px;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 50px;
	padding: 0px 30px 0px 20px;
}

.swiper-button-next:after, .swiper-button-prev:after {
	font-family: swiper-icons;
	font-size: 24px;
	line-height: 1;
	font-weight: 900;
	color: #fff;
}

.swiper-button-next:hover, .swiper-button-prev:hover {
	background: var(--bs-secondary);
	opacity:1;
}

.swiper-button-disabled { display:none; }


/* Image homogène */

.product-image {
	aspect-ratio: 16 / 9;
	overflow: hidden;
}

/* pour limiter en hauteur : pose problème de cadrage / image tronquée */
/*
.product-image {
    flex: 1 1 auto;
    min-height: 180px;
    max-height: 45vh;
    overflow: hidden;
}
*/


.product-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}


.yacht-swiper .swiper-slide-active .product-item {
	box-shadow: 0 20px 40px rgba(0,0,0,0.15);
}

.product-description {
    position: relative;
    max-height: 6.5em;
    overflow: hidden;
    line-height: 1.6;
}

/* pour limiter en hauteur */
/*
.product-description {
    max-height: 6.5em;
    overflow: hidden;
    position: relative;
}
*/

/* Dégradé luxe */
.product-description::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 2em;
    pointer-events: none;
    background: linear-gradient(to bottom, rgba(255,255,255,0), #fff);
}

/* version pour hauteur réduite */
/*
@media (min-width: 992px) {
    .product-item {
        max-height: 80vh;
    }
}


.product-body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

.product-body .mt-auto {
    margin-top: auto;
}
*/


/* formulaires */
/*
.contact-form .form-control { width:95%; }
form { margin: 10px 0px 0px 0px; }
#FormCommentaires{width:300px;}
.contact-form label { display: block; float:left;width:120px;font-family: 'Roboto', sans-serif;font-weight:normal;font-size:12px;}
form .input { margin: 0px 0px 10px 0px; }
form .text input,
form .password input,
form .tel input,
form .textarea textarea,
form input[type=email]{
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	border-radius:5px;border: 1px solid #ccc;}
*/
form .error-message { color: #ee4b33; }
/*
form input[type=submit] {
	background-color:#51acd4;
	color:#fff;	
	border:none;
	cursor:pointer;
	
	padding:4px;
	width:77px;
	text-align:center;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	border-radius:5px;
	
}

form input[type=submit]:hover{
	background-color:#ccc;
	color:#fff;
}

.contact-form .submit{text-align:left;}
*/
.required > label:after, .radio-label.required:after {
	content: "*";
	color:red;
	margin-left: 5px;
}

.reqtxt:before {
	content: "*";
	color:red;
}
.reqtxt {
	display: block;
	font-style: italic;
	padding-bottom: 12px;
}

#flashmessage, .form-success {padding:5px;background-color:#dcff8e;border:1px dotted #4e8d00;}
.error, .notice, .success, .message, .form-success {
	padding: .8em;
	margin: 1em auto 1em auto;
	border: 3px solid #00A7D0;
	max-width: 500px;
	border-radius: 10px;
}
.error { background: #e95f73; color: var(--bs-white); }
.notice, .message { background: #FFF6BF; color: #817134; }
.success { background: #CDDF86; color: #529214; }
.error a { color: #D12F19; }
.notice a, .message a { color: #817134; }
.success a { color: #529214; }


/* liste de boutons en ligne */
.btn-links{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	list-style:none;
	padding:0;
	margin:0;
}

.btn-links li{
	flex:1 1 200px;
}

.btn-links .btn{
	width:100%;
}

.node-body blockquote {
	font-size: 18px;
	font-weight: 600;
}


