@font-face {
	font-family: 'Passion One';
	src: url('fonts/PassionOne-Regular.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Passion One';
	src: url('fonts/PassionOne-Bold.ttf') format('truetype');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Passion One';
	src: url('fonts/PassionOne-Black.ttf') format('truetype');
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Lato';
	src: url('fonts/Lato-Regular.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Lato';
	src: url('fonts/Lato-Bold.ttf') format('truetype');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}
body {
	font-family: 'Lato', sans-serif;
	font-weight: 400;
	color: #666;
	font-size: 12px;
	line-height: 20px;
	width: 100%;
}
h1, h2, h3, h4, h5, h6 {
	color: #444;
	font-family: 'Passion One', sans-serif;
	font-weight: 400;
}
/* default font size */
.fa {
	font-size: 14px;
}
/* Override the bootstrap defaults */
h1 {
	font-size: 33px;
}
h2 {
	font-size: 27px;
}
h3 {
	font-size: 21px;
}
h4 {
	font-size: 15px;
}
h5 {
	font-size: 12px;
}
h6 {
	font-size: 10.2px;
}
a {
	color: #23a1d1;
}
a:hover {
	text-decoration: none;
}
legend {
	font-size: 18px;
	padding: 7px 0px
}
label {
	font-size: 12px;
	font-weight: normal;
}
select.form-control, textarea.form-control, input[type="text"].form-control, input[type="password"].form-control, input[type="datetime"].form-control, input[type="datetime-local"].form-control, input[type="date"].form-control, input[type="month"].form-control, input[type="time"].form-control, input[type="week"].form-control, input[type="number"].form-control, input[type="email"].form-control, input[type="url"].form-control, input[type="search"].form-control, input[type="tel"].form-control, input[type="color"].form-control {
	font-size: 12px;
}
.input-group input, .input-group select, .input-group .dropdown-menu, .input-group .popover {
	font-size: 12px;
}
.input-group .input-group-addon {
	font-size: 12px;
	height: 30px;
}
/* Fix some bootstrap issues */
span.hidden-xs, span.hidden-sm, span.hidden-md, span.hidden-lg {
	display: inline;
}

.nav-tabs {
	margin-bottom: 15px;
}
div.required .control-label:before {
	content: '* ';
	color: #F00;
	font-weight: bold;
}
/* Gradent to all drop down menus */
.dropdown-menu li > a:hover {
	text-decoration: none;
	color: #ffffff;
	background-color: #229ac8;
	background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
	background-repeat: repeat-x;
}
/* top */
#top {
	background-color: #EEEEEE;
	border-bottom: 1px solid #e2e2e2;
	padding: 4px 0px 3px 0;
	margin: 0 0 20px 0;
	min-height: 40px;
}
#top .container {
	padding: 0 20px;
}
#top #form-currency .currency-select,
#top #form-language .language-select {
	text-align: left;
}
#top #form-currency .currency-select:hover,
#top #form-language .language-select:hover {
	text-shadow: none;
	color: #ffffff;
	background-color: #229ac8;
	background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
	background-repeat: repeat-x;
}
#top .btn-link, #top-links li, #top-links a {
	color: #888;
	text-shadow: 0 1px 0 #FFF;
	text-decoration: none;
}
#top .btn-link:hover, #top-links a:hover {
	color: #444;
}
#top-links .dropdown-menu a {
	text-shadow: none;
}
#top-links .dropdown-menu a:hover {
	color: #FFF;
}
#top .btn-link strong {
	font-size: 14px;
        line-height: 14px;
}
#top-links {
	padding-top: 6px;
}
#top-links a + a {
	margin-left: 15px;
}
/* logo */
#logo {
	margin: 0 0 10px 0;
}
/* search */
#search {
	margin-bottom: 10px;
}
#search .input-lg {
	height: 40px;
	line-height: 20px;
	padding: 0 10px;
}
#search .btn-lg {
	font-size: 15px;
	line-height: 18px;
	padding: 10px 35px;
	text-shadow: 0 1px 0 #FFF;
}
/* cart */
#cart {
	margin-bottom: 10px;
}
#cart > .btn {
	font-size: 12px;
	line-height: 18px;
	color: #FFF;
}
#cart.open > .btn {
	background-image: none;
	background-color: #FFFFFF;
	border: 1px solid #E6E6E6;
	color: #666;
	box-shadow: none;
	text-shadow: none;
}
#cart.open > .btn:hover {
	color: #444;
}
#cart .dropdown-menu {
	background: #eee;
	z-index: 1001;
}
#cart .dropdown-menu {
	min-width: 100%;
	overflow-y: auto;
	max-height: 800px;
	scrollbar-width: thin;
	overflow-x: hidden;
}
@media (max-width: 478px) {
	#cart .dropdown-menu {
		width: 100%;
	}
}
#cart .dropdown-menu table {
	margin-bottom: 10px;
}
#cart .dropdown-menu li > div {
	min-width: 427px;
	padding: 0 10px;
}
@media (max-width: 478px) {
	#cart .dropdown-menu li > div {
		min-width: 100%;
	}
}
#cart .dropdown-menu li p {
	margin: 20px 0;
}
/* menu */
#menu {
	background-color: #1b1b1b;
	background-image: none;
	border-color: #1b1b1b;
	min-height: 40px;
}
#menu .nav > li > a {
    	font-family: 'Passion One', sans-serif;
	font-size: 18px;
	color: #fff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	padding: 10px 15px 10px 15px;
	min-height: 15px;
	background-color: transparent;
}
#menu .nav > li > a:hover, #menu .nav > li.open > a {
	background-color: rgba(0, 0, 0, 0.1);
}
#menu .dropdown-menu {
	padding-bottom: 0;
}
#menu .dropdown-inner {
	display: table;
}
#menu .dropdown-inner ul {
	display: table-cell;
}
#menu .dropdown-inner a {
	min-width: 160px;
	display: block;
	padding: 3px 20px;
	clear: both;
	line-height: 20px;
	color: #333333;
	font-size: 12px;
}
#menu .dropdown-inner li a:hover {
	color: #FFFFFF;
}
#menu .see-all {
	display: block;
	margin-top: 0.5em;
	border-top: 1px solid #DDD;
	padding: 3px 20px;
	-webkit-border-radius: 0 0 4px 4px;
	-moz-border-radius: 0 0 4px 4px;
	border-radius: 0 0 3px 3px;
	font-size: 12px;
}
#menu .see-all:hover, #menu .see-all:focus {
	text-decoration: none;
	color: #ffffff;
	background-color: #229ac8;
	background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
	background-repeat: repeat-x;
}
#menu #category {
	float: left;
	padding-left: 15px;
	font-size: 16px;
	font-weight: 700;
	line-height: 40px;
	color: #fff;
	text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
}
#menu .btn-navbar {
	font-size: 15px;
	font-stretch: expanded;
	color: #FFF;
	padding: 2px 18px;
	float: right;
	background-color: #229ac8;
	background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
	background-repeat: repeat-x;
	border-color: #1f90bb #1f90bb #145e7a;
}
#menu .btn-navbar:hover, #menu .btn-navbar:focus, #menu .btn-navbar:active, #menu .btn-navbar.disabled, #menu .btn-navbar[disabled] {
	color: #ffffff;
	background-color: #229ac8;
}
@media (min-width: 768px) {
	#menu .dropdown:hover .dropdown-menu {
		display: block;
	}
}
@media (max-width: 767px) {
	#menu {
		border-radius: 4px;
	}
	#menu div.dropdown-inner > ul.list-unstyled {
		display: block;
	}
	#menu div.dropdown-menu {
		margin-left: 0 !important;
		padding-bottom: 10px;
		background-color: rgba(0, 0, 0, 0.1);
	}
	#menu .dropdown-inner {
		display: block;
	}
	#menu .dropdown-inner a {
		width: 100%;
		color: #fff;
	}
	#menu .dropdown-menu a:hover,
	#menu .dropdown-menu ul li a:hover {
		background: rgba(0, 0, 0, 0.1);
	}
	#menu .see-all {
		margin-top: 0;
		border: none;
		border-radius: 0;
		color: #fff;
	}
}
/* content */
#content {
	min-height: 600px;
}
#product-category #content, #product-product #tab-description, #information-information #content {
	font-size: 13px;
}
/* footer */
footer {
	margin-top: 30px;
	padding-top: 30px;
	background-color: #303030;
	border-top: 1px solid #ddd;
	color: #e2e2e2;
}
footer hr {
	border-top: none;
	border-bottom: 1px solid #666;
}
footer a {
	color: #ccc;
}
footer a:hover {
	color: #fff;
}
footer h5 {
	font-family: 'Open Sans', sans-serif;
	font-size: 13px;
	font-weight: bold;
	color: #fff;
}
/* alert */
.alert {
	padding: 8px 14px 8px 14px;
}
.alert > .close {
	position: relative;
	top: -2px;
	right: 0px;
	color: inherit;
}
/* breadcrumb */
.breadcrumb {
	margin: 0 0 20px 0;
	padding: 8px 0;
	border: 1px solid #ddd;
}
.breadcrumb i {
	font-size: 15px;
}
.breadcrumb > li {
	text-shadow: 0 1px 0 #FFF;
	padding: 0 20px;
	position: relative;
	white-space: nowrap;
}
.breadcrumb > li + li:before {
	content: '';
	padding: 0;
}
.breadcrumb > li:after {
	content: '';
	display: block;
	position: absolute;
	top: -3px;
	right: -5px;
	width: 26px;
	height: 26px;
	border-right: 1px solid #DDD;
	border-bottom: 1px solid #DDD;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
html[dir=rtl] .breadcrumb > li::after {
  top: -3px;
  left: -5px;
  width: 26px;
  height: 26px;
  border-left: 1px solid #DDD;
  border-top: 1px solid #DDD;
  right: unset;
  border-right: unset;
  border-bottom:unset;

}
.pagination {
	margin: 0;
}
/* buttons */
.buttons {
	margin: 1em 0;
}
.btn {
	padding: 7.5px 12px;
	font-size: 12px;
	border: 1px solid #cccccc;
	border-radius: 4px;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
}
.btn-xs {
	font-size: 9px;
}
.btn-sm {
	font-size: 10.2px;
}
.btn-lg {
	padding: 10px 16px;
	font-size: 15px;
}
.btn-group > .btn, .btn-group > .dropdown-menu, .btn-group > .popover {
	font-size: 12px;
}
.btn-group > .btn-xs {
	font-size: 9px;
}
.btn-group > .btn-sm {
	font-size: 10.2px;
}
.btn-group > .btn-lg {
	font-size: 15px;
}
.btn-default {
	color: #777;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
	background-color: #e7e7e7;
	background-image: linear-gradient(to bottom, #eeeeee, #dddddd);
	background-repeat: repeat-x;
	border-color: #dddddd #dddddd #b3b3b3 #b7b7b7;
}
.btn-primary {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #229ac8;
	background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
	background-repeat: repeat-x;
	border-color: #1f90bb #1f90bb #145e7a;
}
.btn-primary:hover, .btn-primary:active, .btn-primary.active, .btn-primary.disabled, .btn-primary[disabled] {
	background-color: #1f90bb;
	background-position: 0 -15px;
}
.btn-warning {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #faa732;
	background-image: linear-gradient(to bottom, #fbb450, #f89406);
	background-repeat: repeat-x;
	border-color: #f89406 #f89406 #ad6704;
}
.btn-warning:hover, .btn-warning:active, .btn-warning.active, .btn-warning.disabled, .btn-warning[disabled] {
	box-shadow: inset 0 1000px 0 rgba(0, 0, 0, 0.1);
}
.btn-danger {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #da4f49;
	background-image: linear-gradient(to bottom, #ee5f5b, #bd362f);
	background-repeat: repeat-x;
	border-color: #bd362f #bd362f #802420;
}
.btn-danger:hover, .btn-danger:active, .btn-danger.active, .btn-danger.disabled, .btn-danger[disabled] {
	box-shadow: inset 0 1000px 0 rgba(0, 0, 0, 0.1);
}
.btn-success {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #5bb75b;
	background-image: linear-gradient(to bottom, #62c462, #51a351);
	background-repeat: repeat-x;
	border-color: #51a351 #51a351 #387038;
}
.btn-success:hover, .btn-success:active, .btn-success.active, .btn-success.disabled, .btn-success[disabled] {
	box-shadow: inset 0 1000px 0 rgba(0, 0, 0, 0.1);
}
.btn-info {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #df5c39;
	background-image: linear-gradient(to bottom, #e06342, #dc512c);
	background-repeat: repeat-x;
	border-color: #dc512c #dc512c #a2371a;
}
.btn-info:hover, .btn-info:active, .btn-info.active, .btn-info.disabled, .btn-info[disabled] {
	background-image: none;
	background-color: #df5c39;
}
.btn-link {
	border-color: rgba(0, 0, 0, 0);
	cursor: pointer;
	color: #23A1D1;
	border-radius: 0;
}
.btn-link, .btn-link:active, .btn-link[disabled] {
	background-color: rgba(0, 0, 0, 0);
	background-image: none;
	box-shadow: none;
}
.btn-inverse {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #363636;
	background-image: linear-gradient(to bottom, #444444, #222222);
	background-repeat: repeat-x;
	border-color: #222222 #222222 #000000;
}
.btn-inverse:hover, .btn-inverse:active, .btn-inverse.active, .btn-inverse.disabled, .btn-inverse[disabled] {
	background-color: #222222;
	background-image: linear-gradient(to bottom, #333333, #111111);
}
/* list group */
.list-group a {
	border: 1px solid #DDDDDD;
	color: #888888;
	padding: 8px 12px;
}
.list-group a.active, .list-group a.active:hover, .list-group a:hover {
	color: #444444;
	background: #eeeeee;
	border: 1px solid #DDDDDD;
	text-shadow: 0 1px 0 #FFF;
}
/* carousel */
.carousel-caption {
	color: #FFFFFF;
	text-shadow: 0 1px 0 #000000;
}
.carousel-control .icon-prev:before {
	content: '\f053';
	font-family: FontAwesome;
}
.carousel-control .icon-next:before {
	content: '\f054';
	font-family: FontAwesome;
}
/* product list */
.product-thumb {
	border: 1px solid #ddd;
	margin-bottom: 20px;
	overflow: auto;
}
.product-thumb .image {
	text-align: center;
}
.product-thumb .image a {
	display: block;
}
.product-thumb .image a:hover {
	opacity: 0.8;
}
.product-thumb .image img {
	margin-left: auto;
	margin-right: auto;
}
.product-grid .product-thumb .image {
	float: none;
}
@media (min-width: 767px) {
.product-list .product-thumb .image {
	float: left;
	padding: 0 15px;
}
}
.product-thumb h4 {
	font-weight: bold;
}
.product-thumb .caption {
	padding: 0 20px;
	min-height: 180px;
}
.product-list .product-thumb .caption {
	margin-left: 230px;
}
@media (max-width: 1200px) {
.product-grid .product-thumb .caption {
	min-height: 210px;
	padding: 0 10px;
}
}
@media (max-width: 767px) {
.product-list .product-thumb .caption {
	min-height: 0;
	margin-left: 0;
	padding: 0 10px;
}
.product-grid .product-thumb .caption {
	min-height: 0;
}
}
.product-thumb .rating {
	padding-bottom: 10px;
}
.rating .fa-stack {
	font-size: 8px;
}
.rating .fa-star-o {
	color: #999;
	font-size: 15px;
}
.rating .fa-star {
	color: #FC0;
	font-size: 15px;
}
.rating .fa-star + .fa-star-o {
	color: #E69500;
}
h2.price {
	margin: 0;
}
.product-thumb .price {
	color: #444;
}
.product-thumb .price-new {
	font-weight: 600;
}
.product-thumb .price-old {
	color: #999;
	text-decoration: line-through;
	margin-left: 10px;
}
.product-thumb .price-tax {
	color: #999;
	font-size: 12px;
	display: block;
}
.product-thumb .button-group {
	border-top: 1px solid #ddd;
	background-color: #eee;
	overflow: auto;
}
.product-list .product-thumb .button-group {
	border-left: 1px solid #ddd;
}
@media (max-width: 768px) {
	.product-list .product-thumb .button-group {
		border-left: none;
	}
}
.product-thumb .button-group button {
	width: 60%;
	border: none;
	display: inline-block;
	float: left;
	background-color: #eee;
	color: #888;
	line-height: 38px;
	font-weight: bold;
	text-align: center;
	text-transform: uppercase;
}
.product-thumb .button-group button + button {
	width: 20%;
	border-left: 1px solid #ddd;
}
.product-thumb .button-group button:hover {
	color: #444;
	background-color: #ddd;
	text-decoration: none;
	cursor: pointer;
}
@media (max-width: 1200px) {
	.product-thumb .button-group button, .product-thumb .button-group button + button {
		width: 33.33%;
	}
}
@media (max-width: 767px) {
	.product-thumb .button-group button, .product-thumb .button-group button + button {
		width: 33.33%;
	}
}
.thumbnails {
	overflow: auto;
	clear: both;
	list-style: none;
	padding: 0;
	margin: 0;
}
.thumbnails > li {
	margin-left: 20px;
}
.thumbnails {
	margin-left: -20px;
}
.thumbnails > img {
	width: 100%;
}
.image-additional a {
	margin-bottom: 20px;
	padding: 5px;
	display: block;
	border: 1px solid #ddd;
}
.image-additional {
	max-width: 78px;
}
.thumbnails .image-additional {
	float: left;
	margin-left: 20px;
}

@media (min-width: 1200px) {
	#content .col-lg-2:nth-child(6n+1),
	#content .col-lg-3:nth-child(4n+1),
	#content .col-lg-4:nth-child(3n+1),
	#content .col-lg-6:nth-child(2n+1) {
		clear:left;
	}
}
@media (min-width: 992px) and (max-width: 1199px) {
	#content .col-md-2:nth-child(6n+1),
	#content .col-md-3:nth-child(4n+1),
	#content .col-md-4:nth-child(3n+1),
	#content .col-md-6:nth-child(2n+1) {
		clear:left;
	}
}
@media (min-width: 768px) and (max-width: 991px) {
	#content .col-sm-2:nth-child(6n+1),
	#content .col-sm-3:nth-child(4n+1),
	#content .col-sm-4:nth-child(3n+1),
	#content .col-sm-6:nth-child(2n+1) {
		clear:left;
	}
}

/* fixed colum left + content + right*/
@media (min-width: 768px) {
    #column-left  .product-layout .col-md-3 {
       width: 100%;
    }

	#column-left + #content .product-layout .col-md-3 {
       width: 50%;
    }

	#column-left + #content + #column-right .product-layout .col-md-3 {
       width: 100%;
    }

    #content + #column-right .product-layout .col-md-3 {
       width: 100%;
    }
}

/* fixed product layouts used in left and right columns */
#column-left .product-layout, #column-right .product-layout {
	width: 100%;
}

/* fixed mobile cart quantity input */
.input-group .form-control[name^=quantity] {
	min-width: 50px;
}

/* Missing focus and border color to overwrite bootstrap */
.btn-info:hover, .btn-info:active, .btn-info.active, .btn-info.disabled, .btn-info[disabled] {
    background-image: none;
    background-color: #df5c39;
}
html[dir=rtl] .checkbox input[type="checkbox"],
html[dir=rtl] .checkbox-inline input[type="checkbox"],
html[dir=rtl] .radio input[type="radio"],
html[dir=rtl] .radio-inline input[type="radio"] {
    position: absolute;
    margin-top: 4px\9;
    margin-right: -20px;
      margin-left: unset;
}
html[dir=rtl] .input-group-btn:last-child > .btn {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
}
html[dir=rtl] .input-group .form-control:first-child {
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    border-top-left-radius: unset;
    border-bottom-left-radius: unset;
}
html[dir=rtl] .container .row:first-child  .col-sm-4, html[dir=rtl] .container .row:first-child  .col-sm-5 {
  float: right;

}
html[dir=rtl] #cart .dropdown-menu {
  left: 0;
  right: auto;

}
@media (min-width: 768px) {
   
    html[dir=rtl] .navbar-nav {
        float: right;
        margin: 0;
    }
    
    html[dir=rtl] .navbar-nav > li {
        float: right;
    }
   
}
/* ===== FLYING TOUTOU - TEST AMBIANCE ===== */

body {
	background-color: #11100f;
}
/* Barre supérieure */
#top {
	background-color: #1a1918;
	border-bottom: 1px solid #2b2926;
}

#top .btn-link,
#top-links li,
#top-links a {
	color: #c8c1b6;
	text-shadow: none;
}

#top .btn-link:hover,
#top-links a:hover {
	color: #bc9b63;
}
/* Recherche - thème Flying Toutou */
#search input {
	background-color: #1a1918;
	border-color: #3a3732;
	color: #f4f1ea;
}

#search input::placeholder {
	color: #9c968d;
}

#search .btn {
	background: #262421;
	border-color: #3a3732;
	color: #bc9b63;
	text-shadow: none;
}
/* Panier - thème Flying Toutou */
#cart > .btn {
	background: #1a1918;
	border: 1px solid #3a3732;
	color: #f4f1ea;
	text-shadow: none;
	box-shadow: none;
}

#cart > .btn:hover {
	background: #262421;
	border-color: #bc9b63;
	color: #bc9b63;
}
/* ===== HEADER ANIMÉ FLYING TOUTOU ===== */

.flying-header {
	position: relative;
	width: 100%;
	aspect-ratio: 1920 / 676;
	overflow: hidden;
	background: linear-gradient(
		90deg,
		#999997 0%,
		#aaa9a7 50%,
		#999997 100%
	);
}


/* ===== LOGO ===== */

.flying-header-logo {
	position: absolute;
	left: 6%;
	top: 8%;
	width: 34%;
	height: auto;
	z-index: 2;

	filter: drop-shadow(2px 3px 4px rgba(0, 0, 0, 0.8));
}


/* ===== MARIE + CHIENS ===== */

.flying-header-marie-wrap {
	position: absolute;
	right: 1%;
	bottom: 0;
	width: 52%;
	z-index: 2;
}

.flying-header-marie {
	display: block;
	position: relative;
	width: 100%;
	height: auto;
}


/* ===== TÊTE ANIMÉE ===== */

.flying-dog-head {
	position: absolute;

	/*
	 * La tête est maintenant positionnée PAR RAPPORT
	 * à Marie + chiens, et non par rapport au hero.
	 */
	right: 48%;
	top: -1%;
	width: 19%;

	height: auto;
	z-index: 3;

	/*
	 * Point de rotation près du cou.
	 */
	transform-origin: 50% 88%;

	animation: flying-head-move 3s ease-in-out infinite;
}

@keyframes flying-head-move {

	0%, 40%, 100% {
		transform: rotate(0deg);
	}

	55% {
		transform: rotate(-3deg);
	}

	70% {
		transform: rotate(2deg);
	}

	85% {
		transform: rotate(0deg);
	}
}


/* ===== TABLETTE ===== */

@media (max-width: 991px) {

	.flying-header-logo {
		left: 4%;
		top: 10%;
		width: 38%;
	}

	.flying-header-marie-wrap {
		right: -3%;
		width: 58%;
	}
}


/* ===== MOBILE ===== */

@media (max-width: 600px) {

	.flying-header {
		aspect-ratio: 4 / 3;
	}

	.flying-header-logo {
		left: 5%;
		top: 5%;
		width: 52%;
	}

	.flying-header-marie-wrap {
		right: -18%;
		bottom: 0;
		width: 82%;
	}
}
/* ===== CONTENU CATÉGORIES - THÈME SOMBRE ===== */

#product-category h1,
#product-category h2,
#product-category h3,
#product-category h4 {
	color: #f4f1ea;
}

#product-category #content {
	color: #c8c1b6;
}

#product-category p,
#product-category .row,
#product-category .col-sm-12 {
	color: #c8c1b6;
}
.product-thumb .caption > p:first-of-type {
    white-space: pre-line;
}
#tab-description {
    white-space: normal;
}
/* Flying Toutou — éviter les retours inutiles sans briser le menu */
.list-group a {
    white-space: nowrap;
}

#menu li > a {
    white-space: normal;
}

/* ===== FLYING TOUTOU - PAGES INFORMATIONS ===== */

/* Lecture plus claire sur fond sombre */
#information-information #content {
	color: #d8d2c8;
	font-size: 16px;
	line-height: 1.7;
}

#information-information #content p {
	color: #d8d2c8;
	font-size: 16px;
	line-height: 1.7;
}

#information-information #content h1,
#information-information #content h2,
#information-information #content h3,
#information-information #content h4 {
	color: #f4f1ea;
	text-shadow: none;
}

#information-information #content h1 {
	font-size: 36px;
	margin-bottom: 24px;
}

#information-information #content h2 {
	font-size: 30px;
	margin-top: 0;
	margin-bottom: 24px;
}

#information-information #content h3 {
	color: #d7b87c;
	font-size: 24px;
	margin-top: 24px;
	margin-bottom: 5px;
}

/* Breadcrumb adapté au noir / or de Maison Flying Toutou */
#information-information .breadcrumb {
	background: #1a1918;
	border: 1px solid #3a3732;
	border-radius: 0;
	padding: 10px 15px;
}

#information-information .breadcrumb > li {
	padding: 0;
	text-shadow: none;
}

#information-information .breadcrumb > li + li {
	margin-left: 0;
}

#information-information .breadcrumb > li + li:before {
	content: '';
	padding: 0;
}

#information-information .breadcrumb > li:after {
	display: none;
}

/* Enlève la petite maison du breadcrumb */
#information-information .breadcrumb > li:first-child {
	display: none;
}

#information-information .breadcrumb a {
	color: #d7b87c;
	font-weight: 700;
}

#information-information .breadcrumb a:hover {
	color: #f4f1ea;
}

/* Le dernier élément du breadcrumb reste lisible même s'il n'est pas un lien */
#information-information .breadcrumb > li:last-child,
#information-information .breadcrumb > li:last-child a {
	color: #d7b87c;
}
/* ===== BREADCRUMB FLYING TOUTOU ===== */

.breadcrumb {
	background: #1a1918;
	border: 1px solid #3a3732;
	border-radius: 0;
	padding: 10px 15px;
}

.breadcrumb > li:first-child {
	display: none;
}

.breadcrumb > li + li:before {
	display: none;
}

.breadcrumb > li:last-child,
.breadcrumb > li:last-child a {
	color: #d7b87c;
	font-weight: 700;
}

.breadcrumb a {
	color: #d7b87c;
	font-weight: 700;
}

.breadcrumb a:hover {
	color: #f4f1ea;
}
/* ===== FLYING TOUTOU — LIENS ET AFFINER LA RECHERCHE ===== */

/* Les liens du contenu utilisent l'or MFT */
#content a {
	color: #d7b87c;
}

#content a:hover {
	color: #f4f1ea;
}

/* Affiner la recherche : autoriser les longs textes à revenir à la ligne */
#content .row ul li,
#content .row ul li a {
	white-space: normal;
}

#content .row ul li {
	margin-bottom: 6px;
	line-height: 1.4;
}

/* Liens de la colonne de catégories */
.list-group-item a {
	color: #d7b87c;
}

.list-group-item a:hover {
	color: #f4f1ea;
}
/* =========================================================
   FLYING TOUTOU — NOUVELLE NAVIGATION
   ========================================================= */

.ft-navigation {
	width: 100%;
	background: #11100f;
}

#menu.ft-main-nav {
	width: 100%;
	margin: 0;
	padding: 0 30px;
	background: #11100f;
	border: 0;
	border-radius: 0;
	min-height: 0;
}

#menu.ft-main-nav .container-fluid {
	padding: 0;
}

#menu .navbar-collapse {
	padding: 0;
}

/* Chaque ligne du menu */
#menu .ft-menu-row {
	width: 100%;
	float: none;
	margin: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* Ligne boutique */
#menu .ft-shop-row {
	border-bottom: 1px solid rgba(215,184,124,.16);
}

/* Ligne services */
#menu .ft-services-row {
	border-top: 0;
}

/* Liens */
#menu .ft-menu-row > li {
	float: none;
}

#menu .ft-menu-row > li > a {
	font-family: 'Passion One', sans-serif;
	font-size: 17px;
	font-weight: 400;
	color: #f4f1ea;
	padding: 12px 22px;
	background: transparent;
	text-shadow: none;
	transition: color .2s ease;
}

#menu .ft-menu-row > li > a:hover,
#menu .ft-menu-row > li.open > a {
	color: #d7b87c;
	background: transparent;
}

/* Ligne services légèrement plus discrète */
#menu .ft-services-row > li > a {
	font-size: 16px;
	padding-top: 9px;
	padding-bottom: 10px;
	color: #d7b87c;
}

#menu .ft-services-row > li > a:hover {
	color: #f4f1ea;
}


/* MOBILE */

@media (max-width: 767px) {

	#menu.ft-main-nav {
		padding: 0 15px;
	}

	#menu .ft-menu-row {
		display: block;
	}

	#menu .ft-menu-row > li {
		display: block;
		width: 100%;
	}

	#menu .ft-menu-row > li > a {
		padding: 10px 5px;
	}

	#menu .ft-shop-row {
		border-bottom: 0;
	}

	#menu .ft-services-row {
		border-top: 1px solid rgba(215,184,124,.16);
	}
}
/* =========================================================
   FLYING TOUTOU — HEADER COMPACT
   ========================================================= */

/* Barre utilitaire supérieure */
#top {
	margin: 0;
	padding: 0;
	min-height: 28px;
	background: #171614;
	border-bottom: 1px solid #292723;
}

#top .container-fluid {
	padding: 0 18px;
}

#top .ft-header-inner {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 28px;
}

.ft-top-left {
	display: flex;
	align-items: center;
}

.ft-top-right {
	margin-left: auto;
}

#top-links {
	padding-top: 0;
}

#top-links ul {
	margin: 0;
}

#top .btn-link,
#top-links li,
#top-links a {
	font-size: 11px;
	line-height: 28px;
}


/* ===== LIGNE PRINCIPALE ===== */

.ft-main-header {
	background: #11100f;
	border-bottom: 0;
}

.ft-main-header .container-fluid {
	padding: 0 18px;
}

.ft-main-header .ft-header-inner {
	width: 100%;
}

.ft-main-header-row {
	display: flex;
	align-items: center;
	margin: 0;
	min-height: 72px;
}


/* Logo */

.ft-logo-column {
	padding-left: 0;
}

#logo {
	margin: 0;
}

#logo img {
	width: auto;
	max-width: 290px;
	max-height: 62px;
}


/* Recherche */

.ft-search-column {
	padding-left: 30px;
	padding-right: 20px;
}

#search {
	margin: 0;
}

#search .input-lg {
	height: 34px;
	font-size: 11px;
}

#search .btn-lg {
	height: 34px;
	padding: 7px 25px;
	font-size: 13px;
}


/* Panier */

.ft-cart-column {
	padding-right: 0;
}

#cart {
	margin: 0;
}

#cart > .btn {
	height: 34px;
	padding-top: 7px;
	padding-bottom: 7px;
}


/* ===== RAPPROCHER LE MENU DU HEADER ===== */

.ft-navigation {
	border-top: 1px solid rgba(215,184,124,.10);
}

#menu.ft-main-nav {
	padding-top: 0;
	padding-bottom: 0;
}


/* ===== MOBILE ===== */

@media (max-width: 767px) {

	.ft-main-header-row {
		display: block;
		padding: 12px 0;
	}

	.ft-logo-column,
	.ft-search-column,
	.ft-cart-column {
		width: 100%;
		padding: 5px 0;
	}

	#logo img {
		max-width: 240px;
		margin: 0 auto;
	}

	.ft-top-right .hidden-xs {
		display: none !important;
	}

}
/* Flying Toutou — présence du logo header */

#logo img {
	max-width: 360px;
	max-height: 72px;
}

.ft-logo-column {
	display: flex;
	align-items: center;
}
/* =========================================================
   FLYING TOUTOU — ACTIONS HEADER
   ========================================================= */

.ft-header-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 25px;
	padding-right: 8px;
}

.ft-header-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 40px;

	color: #f4f1ea;
	font-size: 18px;

	text-decoration: none;
	background: transparent;

	transition: color .2s ease;
}

.ft-header-icon:hover,
.ft-header-icon:focus {
	color: #d7b87c;
	text-decoration: none;
}


/* MOBILE */

@media (max-width: 767px) {

	.ft-header-actions {
		width: 100%;
		justify-content: center;
		gap: 28px;
		padding: 8px 0 2px;
	}

	.ft-header-icon {
		font-size: 20px;
	}

}
/* =========================================================
   FLYING TOUTOU — LARGEUR INTERIEURE HEADER / NAV
   ========================================================= */

.ft-main-header .ft-header-inner,
#top .ft-header-inner,
#menu.ft-main-nav .container-fluid {
	max-width: 1500px;
	margin-left: auto;
	margin-right: auto;
}
/* =========================================================
   FLYING TOUTOU — RECHERCHE ESCAMOTABLE
   ========================================================= */

.ft-search-trigger {
	border: 0;
	padding: 0;
	cursor: pointer;
}

.ft-search-panel {
	display: none;
	width: 100%;
	background: #151412;
	border-top: 1px solid rgba(215,184,124,.18);
	border-bottom: 1px solid rgba(215,184,124,.18);
}

.ft-search-panel.open {
	display: block;
}

.ft-search-panel-inner {
	position: relative;
	max-width: 1500px;
	margin: 0 auto;
	padding: 18px 60px 18px 20px;
}

.ft-search-panel #search {
	max-width: 700px;
	margin: 0 auto;
}

.ft-search-panel #search .input-lg {
	height: 42px;
	font-size: 14px;
}

.ft-search-panel #search .btn-lg {
	height: 42px;
}

.ft-search-close {
	position: absolute;
	right: 20px;
	top: 21px;

	width: 36px;
	height: 36px;

	border: 0;
	background: transparent;
	color: #f4f1ea;
	font-size: 18px;
}

.ft-search-close:hover {
	color: #d7b87c;
}


/* MOBILE */

@media (max-width: 767px) {

	.ft-search-panel-inner {
		padding: 15px 55px 15px 15px;
	}

	.ft-search-panel #search {
		max-width: none;
	}

}
/* =========================================================
   FLYING TOUTOU - BANNIERE UNIVERS
   ========================================================= */

#banner0 {
    max-width: 1200px;
    margin: 35px auto;
}

#banner0 .swiper-slide {
    text-align: center;
}

#banner0 .swiper-slide img {
    display: inline-block;
    width: auto;
    max-width: 100%;
    height: auto;
}
.flying-tagline {
    text-align: center;
    color: #c4a263;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
    padding: 4px 15px 12px;
}
/* =========================================================
   FLYING TOUTOU — SIGNATURE
   ========================================================= */

.ft-tagline {
    text-align: center;
    padding: 14px 20px 16px;
    font-size: 20px;
    line-height: 1.4;
    letter-spacing: 1px;
    font-weight: 600;
    text-transform: uppercase;
    color: #d6b36a;
    background: #111;
}

@media (max-width: 767px) {
	.ft-tagline {
		font-size: 17px;
		padding-bottom: 7px;
	}
}
/* =========================================================
   FLYING TOUTOU — LISIBILITÉ DES TEXTES
   ========================================================= */

.ft-intro {
	color: #bdbdbd;
}

.ft-intro h2 {
	color: #e2e2e2;
}

.ft-intro p {
	color: #bdbdbd;
}

footer {
	color: #c2c2c2;
}

footer a {
	color: #c2c2c2;
}
/* =========================================================
   FLYING TOUTOU — INTRODUCTION ACCUEIL
   ========================================================= */

.ft-intro {
	max-width: 1200px;
	margin: 0 auto;
	padding: 38px 30px 40px;
	text-align: center;
	color: #bdbdbd;
}

.ft-intro h2 {
	margin: 0 0 14px;
	color: #e2e2e2;
	font-size: 30px;
	font-weight: 700;
}

.ft-intro-lead {
	margin-bottom: 12px;
	font-size: 18px;
}

.ft-intro p {
	color: #bdbdbd;
}

.ft-intro-button {
	display: inline-block;
	margin-top: 15px;
	padding: 10px 24px;
	border: 1px solid #d7b87c;
	color: #d7b87c;
	text-decoration: none;
}

.ft-intro-button:hover,
.ft-intro-button:focus {
	color: #ffffff;
	border-color: #ffffff;
	text-decoration: none;
}
/* =========================================================
   FLYING TOUTOU — BOUTIQUE PRESTIGE
   ========================================================= */

.ft-boutique-prestige {
	width: 100%;
	text-align: center;
	padding: 38px 30px 34px;
	background: #11100f;
}

.ft-boutique-prestige-inner {
	max-width: 1200px;
	margin: 0 auto;
}

.ft-boutique-prestige h2 {
	margin: 0 0 12px;
	color: #d7b87c;
	font-size: 38px;
	font-weight: 700;
	letter-spacing: 0.5px;
}

.ft-boutique-prestige p {
	margin: 0;
	color: #bdbdbd;
	font-size: 16px;
}

.ft-boutique-button {
	display: inline-block;
	margin-top: 18px;
	padding: 10px 28px;
	border: 1px solid #d7b87c;
	color: #d7b87c;
	text-decoration: none;
}

.ft-boutique-button:hover,
.ft-boutique-button:focus {
	color: #ffffff;
	border-color: #ffffff;
	text-decoration: none;
}
/* =========================================================
   FLYING TOUTOU — SERVICES ET EXPÉRIENCES
   ========================================================= */

.ft-services {
	width: 100%;
	padding: 55px 30px 60px;
	background: #181818;
	text-align: center;
}

.ft-services-inner {
	max-width: 1200px;
	margin: 0 auto;
}

.ft-services h2 {
	margin: 0 0 10px;
	color: #d7b87c;
	font-size: 34px;
	font-weight: 700;
}

.ft-services-intro {
	margin: 0 auto 35px;
	color: #c2c2c2;
	font-size: 16px;
}

.ft-services-grid {
	display: flex;
	gap: 25px;
	margin: 0 auto;
}

.ft-service {
	flex: 1;
	padding: 28px 25px;
	border: 1px solid #555;
	background: #11100f;
	text-align: left;
}

.ft-service h3 {
	margin: 0 0 12px;
	color: #e2e2e2;
	font-size: 21px;
}

.ft-service p {
	margin: 0;
	color: #bdbdbd;
	line-height: 1.6;
}

.ft-services-button {
	display: inline-block;
	margin-top: 32px;
	padding: 10px 28px;
	border: 1px solid #d7b87c;
	color: #d7b87c;
	text-decoration: none;
}

.ft-services-button:hover,
.ft-services-button:focus {
	color: #ffffff;
	border-color: #ffffff;
	text-decoration: none;
}

@media (max-width: 767px) {
	.ft-services-grid {
		display: block;
	}

	.ft-service {
		margin-bottom: 15px;
	}
}
/* ===== PARTENAIRES ===== */

.ft-partners {
	background: #101010;
	padding: 55px 20px 60px;
	text-align: center;
}

.ft-partners-inner {
	max-width: 1200px;
	margin: 0 auto;
}

.ft-partners h2 {
	margin: 0 0 14px;
	color: #d7b87c;
	font-size: 28px;
}

.ft-partners-lead {
	margin: 0;
	color: #bdbdbd;
	font-size: 16px;
}

.ft-partners-button {
	display: inline-block;
	margin-top: 28px;
	padding: 10px 28px;
	border: 1px solid #d7b87c;
	color: #d7b87c;
	text-decoration: none;
}

.ft-partners-button:hover,
.ft-partners-button:focus {
	color: #ffffff;
	border-color: #ffffff;
	text-decoration: none;
}
/* ===== BANDEAU ANNONCE ===== */

.ft-announcement {
	width: 100%;
	overflow: hidden;
	background: #0d0d0d;
	border-top: 1px solid #2a2418;
	border-bottom: 1px solid #2a2418;
	padding: 9px 0;
	white-space: nowrap;
}

.ft-announcement-track {
	display: inline-block;
	padding-left: 100%;
	color: #d7b87c;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.7px;
	text-transform: uppercase;
	animation: ft-announcement-scroll 28s linear infinite;
}

@keyframes ft-announcement-scroll {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-100%);
	}
}
/* ===== BOUTIQUE PRESTIGE ===== */

.ft-boutique-prestige {
	padding: 45px 20px 65px;
	text-align: center;
}

.ft-boutique-prestige-inner {
	max-width: 1100px;
	margin: 0 auto;
}

.ft-boutique-prestige h1 {
	margin: 0 0 15px;
	color: #d7b87c;
	font-size: 34px;
}

.ft-boutique-intro {
	max-width: 720px;
	margin: 0 auto 38px;
	color: #c8c8c8;
	font-size: 16px;
	line-height: 1.7;
}

.ft-boutique-univers {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}

.ft-univers-card {
	min-height: 180px;
	padding: 35px 22px;
	border: 1px solid #403a2d;
	background: #151515;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	transition: all 0.25s ease;
}

.ft-univers-card h2 {
	margin: 0 0 18px;
	color: #ffffff;
	font-size: 21px;
	line-height: 1.25;
}

.ft-univers-card span {
	color: #d7b87c;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 0.8px;
}

.ft-univers-card:hover,
.ft-univers-card:focus {
	background: #1d1b17;
	border-color: #d7b87c;
	text-decoration: none;
	transform: translateY(-3px);
}

.ft-univers-card:hover h2,
.ft-univers-card:focus h2 {
	color: #d7b87c;
}

@media (max-width: 767px) {
	.ft-boutique-prestige {
		padding: 30px 10px 45px;
	}

	.ft-boutique-univers {
		grid-template-columns: 1fr;
	}

	.ft-univers-card {
		min-height: 130px;
	}

	.ft-boutique-prestige h1 {
		font-size: 28px;
	}
}
/* ===== À PROPOS ===== */

.ft-about {
	padding: 20px 0 55px;
}

.ft-about-inner {
	max-width: 950px;
	margin: 0 auto;
}

.ft-about-lead {
	margin: 0 0 38px;
	padding: 22px 28px;
	border-left: 3px solid #d7b87c;
	background: #151515;
	color: #d7b87c;
	font-size: 19px;
	line-height: 1.65;
}

.ft-about h2 {
	margin: 35px 0 15px;
	color: #ffffff;
	font-size: 25px;
}

.ft-about p {
	color: #c8c8c8;
	font-size: 15px;
	line-height: 1.8;
	margin-bottom: 17px;
}

.ft-about strong {
	color: #ffffff;
}

.ft-about-highlight {
	margin: 30px 0 !important;
	padding: 22px 25px;
	border-top: 1px solid #403a2d;
	border-bottom: 1px solid #403a2d;
	color: #d7b87c !important;
	font-size: 21px !important;
	text-align: center;
	font-weight: 600;
	letter-spacing: 0.3px;
}

@media (max-width: 767px) {
	.ft-about {
		padding: 10px 5px 40px;
	}

	.ft-about-lead {
		padding: 18px;
		font-size: 17px;
	}

	.ft-about h2 {
		font-size: 22px;
	}

	.ft-about-highlight {
		font-size: 18px !important;
	}
}
.ft-about p {
	color: #b8b8b8;
}
/* TEST FOND LECTURE - À PROPOS */

.ft-about {
	background: #161616;
	padding: 35px 45px 55px;
}

.ft-about-inner {
	max-width: 950px;
	margin: 0 auto;
}
/* =========================================================
   FLYING TOUTOU - NOTRE ÉQUIPE
   ========================================================= */

.ft-team {
    margin: 30px 0 50px;
}

.ft-team-intro {
    text-align: center;
    max-width: 760px;
    margin: 0 auto 35px;
}

.ft-team-intro p {
    font-size: 17px;
    line-height: 1.6;
}

.ft-team-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 25px;
}

.ft-team-member {
    flex: 1 1 250px;
    max-width: 340px;
    min-height: 210px;
    padding: 32px 20px 28px;
    text-align: center;
    background: #1b1b1b;
    border: 1px solid #b89a55;
    border-radius: 8px;
}

.ft-team-initials {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 76px;
    height: 76px;
    margin: 0 auto 20px;
    border: 2px solid #b89a55;
    border-radius: 50%;
    font-size: 25px;
    font-weight: 600;
    letter-spacing: 2px;
    color: #b89a55;
}

.ft-team-member h3 {
    margin: 0 0 10px;
    font-size: 20px;
    color: #ffffff;
}

.ft-team-member p {
    margin: 0;
    line-height: 1.5;
    color: #d7d7d7;
}

@media (max-width: 767px) {
    .ft-team-grid {
        display: block;
    }

    .ft-team-member {
        max-width: 100%;
        margin-bottom: 20px;
    }
}
/* =========================================================
   FLYING TOUTOU - MENU COMPTE CLIENT
   ========================================================= */

#column-right .list-group {
    border: 1px solid #b89a55;
    border-radius: 8px;
    overflow: hidden;
    background: #1b1b1b;
}

#column-right .list-group-item {
    background: #1b1b1b;
    color: #e5e5e5;
    border-color: #333333;
}

#column-right a.list-group-item:hover,
#column-right a.list-group-item:focus {
    background: #252525;
    color: #b89a55;
}

#column-right .list-group-item.active,
#column-right .list-group-item.active:hover,
#column-right .list-group-item.active:focus {
    background: #b89a55;
    border-color: #b89a55;
    color: #111111;
}
/* =========================================================
   FLYING TOUTOU - CARROUSEL ACCUEIL
   ========================================================= */

#banner0 {
    background: #181818;
    border: 1px solid #b89a55;
    border-radius: 8px;
    padding: 10px;
    overflow: hidden;
}

#banner0 .swiper-slide {
    background: #181818;
}

#banner0 .swiper-slide img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 4px;
}
/* Carrousel accueil Flying Toutou */
#banner0.swiper-container {
    background: #000;
    border: none;
}

#banner0 .swiper-slide {
    background: #000;
}
/* Carrousel accueil - suppression cadre blanc */
.swiper-viewport {
    background: #000 !important;
    border: none !important;
}
/* =========================================================
   FLYING TOUTOU - AGENDA SERVICE
   ========================================================= */

.ft-booking {
    margin: 25px 0;
    padding: 22px;
    background: #171717;
    border: 1px solid #333;
    border-radius: 8px;
}

.ft-booking-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 22px;
}

.ft-booking-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    border: 1px solid #b89a55;
    border-radius: 50%;
    color: #b89a55;
    font-size: 19px;
}

.ft-booking-header h3 {
    margin: 0 0 4px;
    color: #fff;
    font-size: 20px;
}

.ft-booking-header p {
    margin: 0;
    color: #bbb;
}

.ft-booking-calendar {
    background: #101010;
    border-radius: 6px;
    padding: 15px;
}

.ft-booking-month {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 15px;
    color: #d7b87c;
    font-size: 16px;
}

.ft-booking-month button {
    width: 34px;
    height: 34px;
    padding: 0;
    background: #222;
    border: 1px solid #444;
    border-radius: 4px;
    color: #d7b87c;
}

.ft-calendar-week,
.ft-calendar-days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 5px;
}

.ft-calendar-week {
    margin-bottom: 5px;
}

.ft-calendar-week span {
    padding: 6px 2px;
    text-align: center;
    color: #777;
    font-size: 11px;
    font-weight: 600;
}

.ft-day {
    padding: 9px 2px;
    text-align: center;
    background: #202020;
    border: 1px solid #292929;
    border-radius: 4px;
    color: #ddd;
    cursor: pointer;
}

.ft-day:hover {
    border-color: #b89a55;
    color: #d7b87c;
}

.ft-day.today {
    background: #202020;
    border: 2px solid #b89a55;
    color: #d7b87c;
    font-weight: 700;
}

.ft-day.empty {
    visibility: hidden;
}

.ft-booking-test {
    margin-top: 12px;
    color: #777;
    font-size: 11px;
    text-align: center;
}

@media (max-width: 480px) {
    .ft-booking {
        padding: 15px;
    }

    .ft-day {
        padding: 7px 1px;
        font-size: 12px;
    }
}
.ft-booking-times {
    margin-top: 15px;
    padding: 15px;
    background: #101010;
    border-radius: 6px;
}

.ft-booking-times-title {
    margin-bottom: 10px;
    color: #d7b87c;
    font-weight: 600;
}

.ft-time-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 7px;
}

.ft-time {
    padding: 8px 4px;
    background: #202020;
    border: 1px solid #333;
    border-radius: 4px;
    color: #ddd;
}

.ft-time:hover {
    border-color: #b89a55;
    color: #d7b87c;
}

.ft-time.selected {
    background: #b89a55;
    border-color: #b89a55;
    color: #111;
    font-weight: 700;
}

.ft-day.selected {
    background: #b89a55;
    border-color: #b89a55;
    color: #111;
    font-weight: 700;
}

.ft-day.disabled {
    opacity: .25;
    cursor: default;
}

.ft-booking-selection {
    margin-top: 14px;
    padding: 10px 12px;
    background: #202018;
    border-left: 3px solid #b89a55;
    color: #ddd;
}

.ft-booking-selection i {
    margin-right: 6px;
    color: #b89a55;
}

.ft-booking-warning {
    margin-top: 12px;
    color: #d7b87c;
    font-size: 12px;
}
.ft-time.ft-time-booked,
.ft-time.ft-time-booked:hover,
.ft-time.ft-time-booked:focus {
    opacity: 0.35;
    cursor: not-allowed;
    text-decoration: line-through;
    border-color: #555;
    color: #888;
    background: #151515;
}

/* =========================================================
   FLYING TOUTOU — SUPPRESSION DU BLEU OPENCART
   ========================================================= */

/* Boutons principaux */
.btn-primary {
	color: #11100f;
	background: #d7b87c;
	border-color: #d7b87c;
	text-shadow: none;
	box-shadow: none;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active {
	color: #11100f;
	background: #c4a263;
	border-color: #c4a263;
	background-image: none;
}

/* Liens-boutons OpenCart */
.btn-link {
	color: #d7b87c;
}

.btn-link:hover,
.btn-link:focus {
	color: #f4f1ea;
}

/* Menus déroulants */
.dropdown-menu li > a:hover,
.dropdown-menu li > a:focus {
	color: #11100f;
	background: #d7b87c;
	background-image: none;
}

/* Devise et langue */
#top #form-currency .currency-select:hover,
#top #form-language .language-select:hover {
	color: #11100f;
	background: #d7b87c;
	background-image: none;
}

/* Menu mobile OpenCart */
#menu .btn-navbar,
#menu .btn-navbar:hover,
#menu .btn-navbar:focus,
#menu .btn-navbar:active {
	color: #11100f;
	background: #d7b87c;
	background-image: none;
	border-color: #d7b87c;
}
/* =========================================================
   FLYING TOUTOU — LISIBILITÉ GLOBALE SUR FOND SOMBRE
   ========================================================= */

body {
	color: #c8c1b6;
}

h1, h2, h3, h4, h5, h6 {
	color: #f4f1ea;
}

/* Page produit */
#product-product {
	color: #c8c1b6;
}

#product-product h1,
#product-product h2,
#product-product h3,
#product-product h4 {
	color: #f4f1ea;
}

#product-product .price,
#product-product h2.price {
	color: #f4f1ea;
}

#product-product .list-unstyled,
#product-product .list-unstyled li,
#product-product #tab-description {
	color: #c8c1b6;
}

/* Prix et textes des produits */
.product-thumb .price {
	color: #f4f1ea;
}

.product-thumb .price-tax {
	color: #aaa49b;
}

/* Étoiles vides */
.rating .fa-star-o {
	color: #b8b1a7;
}
/* =========================================================
   FLYING TOUTOU — PAGE PRODUIT : ACTIONS ET ONGLETS
   ========================================================= */

/* Coeur et comparaison */
#product-product .btn-group .btn-default {
	background: #1a1918;
	border-color: #3a3732;
	color: #d7b87c;
	text-shadow: none;
	box-shadow: none;
}

#product-product .btn-group .btn-default:hover,
#product-product .btn-group .btn-default:focus {
	background: #262421;
	border-color: #d7b87c;
	color: #f4f1ea;
}

/* Onglets */
#product-product .nav-tabs {
	border-bottom: 1px solid #4a453d;
}

#product-product .nav-tabs > li > a {
	background: transparent;
	border: 1px solid transparent;
	color: #d7b87c;
}

#product-product .nav-tabs > li > a:hover {
	background: #1a1918;
	border-color: #3a3732;
	color: #f4f1ea;
}

#product-product .nav-tabs > li.active > a,
#product-product .nav-tabs > li.active > a:hover,
#product-product .nav-tabs > li.active > a:focus {
	background: #1a1918;
	border: 1px solid #d7b87c;
	border-bottom-color: #1a1918;
	color: #f4f1ea;
}
/* =========================================================
   FLYING TOUTOU — PRÉSENTATION PHOTO PRODUIT
   ========================================================= */

#product-product .thumbnails > li:first-child .thumbnail {
	background: #181715;
	border: 1px solid #3a3732;
	border-radius: 0;
	padding: 28px;
}

#product-product .thumbnails > li:first-child .thumbnail:hover {
	border-color: #d7b87c;
}

/* Miniatures */
#product-product .image-additional .thumbnail {
	background: #181715;
	border: 1px solid #3a3732;
}

#product-product .image-additional .thumbnail:hover {
	border-color: #d7b87c;
}
/* =========================================================
   FLYING TOUTOU — FOOTER PRESTIGE
   ========================================================= */

footer {
	margin-top: 40px;
	padding-top: 32px;
	background: #11100f;
	border-top: 1px solid #3a3732;
	color: #aaa49b;
}

footer h5 {
	font-family: 'Passion One', sans-serif;
	font-size: 16px;
	font-weight: 400;
	color: #f4f1ea;
}

footer a {
	color: #aaa49b;
}

footer a:hover,
footer a:focus {
	color: #d7b87c;
	text-decoration: none;
}

footer hr {
	border-top: 0;
	border-bottom: 1px solid #3a3732;
}

/* Copyright */
footer p {
	color: #8f8a82;
}

/* Évite le vieux gris OpenCart */
footer .container {
	background: transparent;
}
/* Flying Toutou — hauteur naturelle page produit */
#product-product #content {
	min-height: 0;
}
/* =========================================================
   FLYING TOUTOU — PANIER
   ========================================================= */

/* Accordéons : bon de réduction / bon d'achat */
#accordion .panel {
	background: #181715;
	border: 1px solid #3a3732;
	box-shadow: none;
}

#accordion .panel-heading {
	background: #181715;
	border: 0;
}

#accordion .panel-title,
#accordion .panel-title a {
	color: #d7b87c;
	text-shadow: none;
}

#accordion .panel-title a:hover,
#accordion .panel-title a:focus {
	color: #f4f1ea;
}

/* Contenu ouvert des accordéons */
#accordion .panel-body {
	background: #11100f;
	border-top: 1px solid #3a3732;
	color: #c8c1b6;
}

/* Boutons du bas */
#checkout-cart .buttons .btn-default {
	background: #181715;
	border-color: #d7b87c;
	color: #d7b87c;
	text-shadow: none;
	background-image: none;
}

#checkout-cart .buttons .btn-default:hover {
	background: #262421;
	color: #f4f1ea;
	border-color: #f4f1ea;
}

/* Bouton principal Continuer / Commander */
#checkout-cart .buttons .btn-primary {
	background: #d7b87c;
	border-color: #d7b87c;
	color: #11100f;
	text-shadow: none;
	background-image: none;
}

#checkout-cart .buttons .btn-primary:hover {
	background: #c4a263;
	border-color: #c4a263;
	color: #11100f;
}/* =========================================================
   FLYING TOUTOU — VALIDATION DE COMMANDE
   ========================================================= */

#checkout-checkout .form-control {
	background: #181715;
	border: 1px solid #4a453d;
	color: #f4f1ea;
	box-shadow: none;
}

#checkout-checkout .form-control:focus {
	border-color: #d7b87c;
	box-shadow: none;
}

#checkout-checkout select.form-control {
	background: #181715;
	color: #f4f1ea;
}

#checkout-checkout select.form-control option {
	background: #181715;
	color: #f4f1ea;
}

#checkout-checkout .control-label,
#checkout-checkout label {
	color: #c8c1b6;
}
/* =========================================================
   FLYING TOUTOU — PRODUITS LIÉS
   ========================================================= */

#product-product h3.ft-related-title {
	color: #d7b87c;
	margin-top: 18px;
	margin-bottom: 18px;
}

#product-product .product-thumb .caption h4 a {
	color: #d7b87c;
}

#product-product .product-thumb .caption h4 a:hover {
	color: #ffffff;
}
/* FLYING TOUTOU — BOUTONS PRODUITS LIÉS */

#product-product .product-thumb .button-group {
	background: #111111;
	border-top: 1px solid #3d382f;
}

#product-product .product-thumb .button-group button {
	background: #111111;
	color: #d7b87c;
	border-right: 1px solid #3d382f;
}

#product-product .product-thumb .button-group button:hover {
	background: #d7b87c;
	color: #111111;
}
/* =========================================================
   FLYING TOUTOU — BANDEAU RÉSEAUX SOCIAUX
   ========================================================= */

#product-product .ft-social-band {
	margin-top: 38px;
	margin-bottom: 25px;
	padding: 28px 32px;
	border-top: 1px solid #5a4c35;
	border-bottom: 1px solid #5a4c35;
	text-align: center;
	background: #151412;
}

#product-product .ft-social-band h3 {
	margin: 0 0 8px;
	color: #d7b87c;
	font-size: 22px;
}

#product-product .ft-social-band p {
	margin: 0 0 18px;
	color: #f4f1ea;
	font-size: 14px;
}

#product-product .ft-social-icons {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 22px;
}

#product-product .ft-social-icons a {
	color: #d7b87c;
	font-size: 21px;
	text-decoration: none;
}

#product-product .ft-social-icons a:hover {
	color: #ffffff;
}
/* =========================================================
   FLYING TOUTOU — BARRE ACHAT FLOTTANTE
   ========================================================= */

#ft-sticky-cart {
	position: fixed;
	left: 50%;
	bottom: 28px;
	transform: translateX(-50%);
	z-index: 9999;

	width: 690px;
	max-width: calc(100% - 30px);
	min-height: 78px;
	padding: 10px 14px;

	display: none;
	align-items: center;
	justify-content: space-between;
	gap: 20px;

	background: #f4f1ea;
	border: 1px solid #d7b87c;
	border-radius: 18px;
	box-shadow: 0 6px 25px rgba(0,0,0,.35);
}

#ft-sticky-cart .ft-sticky-product {
	display: flex;
	align-items: center;
	gap: 14px;
	min-width: 0;
}

#ft-sticky-cart img {
	width: 58px;
	height: 58px;
	object-fit: cover;
	border-radius: 10px;
}

#ft-sticky-cart .ft-sticky-info {
	display: flex;
	flex-direction: column;
	min-width: 0;
	color: #111;
}

#ft-sticky-cart .ft-sticky-info strong {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 330px;
}

#ft-sticky-cart .ft-sticky-info span {
	font-weight: bold;
	margin-top: 4px;
}

#ft-sticky-add {
	min-width: 190px;
	padding: 15px 20px;
	border: 0;
	border-radius: 12px;
	background: #d7b87c;
	color: #111;
	font-weight: bold;
}

#ft-sticky-add:hover {
	background: #c7a665;
}

@media (max-width: 600px) {
	#ft-sticky-cart {
		bottom: calc(8px + env(safe-area-inset-bottom));
		min-height: 60px;
		padding: 6px 8px;
	}

	#ft-sticky-cart img {
		width: 42px;
		height: 42px;
	}

	#ft-sticky-cart .ft-sticky-info strong {
		max-width: 135px;
	}

	#ft-sticky-add {
		min-width: auto;
		padding: 11px 13px;
		font-size: 0;
	}

	#ft-sticky-add i {
		margin-right: 0;
		font-size: 18px;
	}
}
/* =========================================================
   FLYING TOUTOU — INSCRIPTION INFOLETTRE
   ========================================================= */

#product-product .ft-newsletter {
	max-width: 620px;
	margin: 20px auto 18px;
}

#product-product .ft-newsletter-form {
	display: flex;
	align-items: center;
	width: 100%;
	height: 58px;
	background: #f4f1ea;
	border: 1px solid #d7b87c;
	border-radius: 30px;
	overflow: hidden;
}

#product-product .ft-newsletter-form input {
	flex: 1;
	height: 100%;
	padding: 0 24px;
	border: 0;
	outline: 0;
	background: transparent;
	color: #111111;
	font-size: 15px;
	box-shadow: none;
}

#product-product .ft-newsletter-form input::placeholder {
	color: #6b655c;
}

#product-product .ft-newsletter-form button {
	width: 65px;
	height: 100%;
	border: 0;
	background: transparent;
	color: #b79455;
	font-size: 28px;
	cursor: pointer;
}

#product-product .ft-newsletter-form button:hover {
	background: #d7b87c;
	color: #111111;
}

#product-product #ft-newsletter-message {
	min-height: 20px;
	margin-top: 7px;
	text-align: center;
	font-size: 13px;
	color: #d7b87c;
}

@media (max-width: 600px) {
	#product-product .ft-newsletter {
		max-width: 100%;
	}

	#product-product .ft-newsletter-form {
		height: 52px;
	}
}
/* =========================================================
   FLYING TOUTOU — LISIBILITÉ BOUTONS DORÉS
   ========================================================= */

.btn-primary,
.btn-primary:focus,
.btn-primary:active {
	background: #d7b87c;
	border-color: #d7b87c;
	color: #111111 !important;
	text-shadow: none;
}

.btn-primary:hover {
	background: #c7a665;
	border-color: #c7a665;
	color: #111111 !important;
}

.btn-primary i,
.btn-primary .fa {
	color: #111111 !important;
}
/* =========================================================
   FLYING TOUTOU — ESPACE CLIENT / BOUTONS
   ========================================================= */

/* Bouton Précédent — général à tout l'espace client */
[id^="account-"] .btn-default {
	background: #181715;
	border-color: #d7b87c;
	color: #f4f1ea;
}

[id^="account-"] .btn-default:hover,
[id^="account-"] .btn-default:focus {
	background: #d7b87c;
	border-color: #d7b87c;
	color: #111111;
}

/* Boutons Modifier / Supprimer du carnet d'adresses */
#account-address .btn-info,
#account-address .btn-danger {
	color: #ffffff;
	font-weight: 500;
}

#account-address .btn-info:hover,
#account-address .btn-info:focus,
#account-address .btn-danger:hover,
#account-address .btn-danger:focus {
	color: #ffffff;
}
/* =========================================================
   FLYING TOUTOU — TABLEAUX ESPACE CLIENT
   Empêche le hover Bootstrap blanc
   ========================================================= */

[id^="account-"] .table-hover > tbody > tr:hover > td,
[id^="account-"] .table-hover > tbody > tr:hover > th {
	background-color: #181715 !important;
	color: #f4f1ea !important;
}
/* Titres secondaires / légendes — espace client */
[id^="account-"] legend {
	color: #d7b87c;
	border-bottom-color: #4a453d;
}

[id^="account-"] fieldset legend {
	color: #d7b87c;
}
/* =========================================================
   FLYING TOUTOU — FORMULAIRES ESPACE CLIENT
   ========================================================= */

[id^="account-"] .form-control {
	background: #181715;
	border: 1px solid #4a453d;
	color: #f4f1ea;
	box-shadow: none;
}

[id^="account-"] .form-control:focus {
	background: #181715;
	border-color: #d7b87c;
	color: #ffffff;
	box-shadow: none;
}

[id^="account-"] .form-control::placeholder {
	color: #8f887d;
}

[id^="account-"] select.form-control,
[id^="account-"] select.form-control option {
	background: #181715;
	color: #f4f1ea;
}

/* Libellés des formulaires — espace client */
[id^="account-"] .control-label {
	color: #f4f1ea;
	font-weight: 600;
	font-size: 14px;
}
/* Formulaires compte — plus d'espace pour les libellés */
@media (min-width: 768px) {
	[id^="account-"] .form-horizontal .control-label {
		width: 22%;
	}

	[id^="account-"] .form-horizontal .col-sm-10 {
		width: 78%;
	}
}

/* Flying Toutou - bloc instructions de paiement */
#content .well {
    background: #171717;
    color: #e6e6e6;
    border: 1px solid #555;
    box-shadow: none;
}

#content .well p,
#content .well b {
    color: #e6e6e6;
}
/* Flying Toutou - sélecteur de langue */

.ft-top-left {
    padding-top: 9px;
    padding-bottom: 9px;
}

.ft-language-switcher {
    display: inline-flex;
    align-items: center;
}

.ft-language-switcher form {
    margin: 0;
    display: flex;
    align-items: center;
}

.ft-language-link {
    appearance: none !important;
    -webkit-appearance: none !important;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;

    padding: 2px 5px !important;
    margin: 0 !important;

    color: #eeeeee !important;
    font-size: 13px !important;
    line-height: 18px !important;
    font-weight: 400;

    cursor: pointer;
}

.ft-language-link:hover,
.ft-language-link:focus {
    background: transparent !important;
    color: #d6b36a !important;
    text-decoration: none !important;
    outline: none !important;
}

.ft-language-link.active {
    color: #d6b36a !important;
    font-weight: 600;
}

.ft-language-separator {
    color: #777;
    margin: 0 5px;
    line-height: 18px;
}
/* Flying Toutou - médias sociaux */

.ft-social-section {
    background: #111;

    padding: 38px 20px;
    text-align: center;
}

.ft-social-inner {
    max-width: 1200px;
    margin: 0 auto;
}

.ft-social-section h3 {
    margin: 0 0 22px;
    color: #d6b36a;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.ft-social-icons {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 22px;
}

.ft-social-icon {
    width: 42px;
    height: 42px;
    border: 1px solid #777;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: #f1f1f1;
    font-size: 18px;
    line-height: 1;

    transition: all 0.2s ease;
}

.ft-social-icon:hover {
    color: #d6b36a;
    border-color: #d6b36a;
    transform: translateY(-2px);
}

/* Flying Toutou - menu déroulant Mon compte */

.dropdown-menu {
    background: #151515;
    border: 1px solid #444;
}

.dropdown-menu > li > a {
    color: #e6e6e6;
}

.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
    background: #222;
    color: #d6b36a;
}
/* Flying Toutou - finition fiches produits + pagination */

.product-thumb {
    background: #111 !important;
    border: 1px solid #444 !important;
}

.product-thumb .caption {
    color: #e6e6e6 !important;
}

.product-thumb .caption h4 a {
    color: #d6b36a !important;
}

.product-thumb .caption p,
.product-thumb .price {
    color: #e6e6e6 !important;
}

.product-thumb .price-tax {
    color: #aaa !important;
}

/* Barre de boutons sous les produits */

.product-thumb .button-group {
    background: #151515 !important;
    border-top: 1px solid #444 !important;
}

.product-thumb .button-group button {
    background: #151515 !important;
    color: #e6e6e6 !important;
    border-right: 1px solid #444 !important;
}

.product-thumb .button-group button:hover {
    background: #222 !important;
    color: #d6b36a !important;
}

/* Pagination */

.pagination > li > a,
.pagination > li > span {
    background: #151515 !important;
    color: #d6b36a !important;
    border-color: #444 !important;
}

.pagination > li > a:hover,
.pagination > li > a:focus {
    background: #222 !important;
    color: #fff !important;
    border-color: #d6b36a !important;
}

.pagination > .active > span,
.pagination > .active > span:hover,
.pagination > .active > span:focus {
    background: #d6b36a !important;
    color: #111 !important;
    border-color: #d6b36a !important;
}
/* Flying Toutou - contrôles catégories produits */

#list-view,
#grid-view {
    background: #151515 !important;
    color: #d6b36a !important;
    border-color: #444 !important;
}

#list-view:hover,
#grid-view:hover,
#list-view.active,
#grid-view.active {
    background: #222 !important;
    color: #fff !important;
    border-color: #d6b36a !important;
}

#compare-total {
    color: #d6b36a !important;
}

#compare-total:hover {
    color: #fff !important;
}

.control-label {
    color: #e6e6e6 !important;
}

.input-group-addon {
    background: #151515 !important;
    color: #d6b36a !important;
    border-color: #444 !important;
}

.form-control {
    background: #151515 !important;
    color: #e6e6e6 !important;
    border-color: #444 !important;
}

.form-control:focus {
    border-color: #d6b36a !important;
    box-shadow: none !important;
}

select.form-control option {
    background: #151515;
    color: #e6e6e6;
}

/* ============================================================
   FLYING TOUTOU — FICHE PRODUIT MOBILE
   Ordre de lecture / achat
   ============================================================ */

@media (max-width: 767px) {

	#product-product .ft-product-main {
		display: flex;
		flex-direction: column;
	}

	#product-product .ft-product-left {
		display: contents;
	}

	#product-product .ft-product-media {
		order: 1;
		width: 100%;
	}

	#product-product .ft-product-buy {
		order: 2;
		width: 100%;
		display: flex;
		flex-direction: column;
		margin-top: 18px;
	}

	#product-product .ft-product-tabs {
		order: 3;
		width: 100%;
		margin-top: 28px;
	}

	#product-product .ft-product-buy h1 {
		order: 1;
		margin-top: 0;
		margin-bottom: 10px;
	}

	#product-product .ft-product-meta {
		order: 2;
		margin-bottom: 8px;
	}

	#product-product .ft-product-price {
		order: 3;
		margin-bottom: 12px;
	}

	#product-product #product {
		order: 4;
	}

	#product-product .ft-product-actions {
		order: 5;
		margin-top: 14px;
		margin-bottom: 8px;
		align-self: flex-start;
	}

	#product-product .alert {
		order: 6;
	}

	#product-product .rating {
		order: 7;
		margin-top: 8px;
	}

	#product-product #product .form-group:last-child {
		margin-bottom: 0;
	}

	#product-product #button-cart {
		margin-top: 4px;
	}

	#product-product .ft-product-tabs .nav-tabs {
		margin-top: 0;
		margin-bottom: 18px;
	}

	#product-product .ft-product-tabs .tab-content {
		margin-bottom: 20px;
	}
}
/* ============================================================
   FLYING TOUTOU — FINITION FICHE PRODUIT MOBILE COMPACTE
   ============================================================ */

@media (max-width: 767px) {

	/* Petite marge latérale seulement */
	#product-product .ft-product-buy,
	#product-product .ft-product-tabs {
		padding-left: 8px;
		padding-right: 8px;
		box-sizing: border-box;
	}

	/* Nom du produit */
	#product-product .ft-product-buy h1 {
		margin-top: 0;
		margin-bottom: 5px;
	}

	/* Référence + disponibilité */
	#product-product .ft-product-meta {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		column-gap: 14px;
		row-gap: 2px;
		margin-top: 0;
		margin-bottom: 7px;
	}

	#product-product .ft-product-meta li {
		margin: 0;
		white-space: nowrap;
	}

	/* Prix */
	#product-product .ft-product-price {
		margin-top: 4px;
		margin-bottom: 6px;
	}

	#product-product .ft-product-price h2 {
		margin-top: 0;
		margin-bottom: 3px;
	}

	/* Options / quantité */
	#product-product #product hr {
		margin-top: 8px;
		margin-bottom: 8px;
	}

	#product-product #product .form-group {
		margin-bottom: 8px;
	}

	#product-product #product .control-label {
		margin-bottom: 3px;
	}

	/* Bouton panier */
	#product-product #button-cart {
		margin-top: 2px;
		margin-bottom: 0;
	}

	/* Coeur / comparaison */
	#product-product .ft-product-actions {
		margin-top: 10px;
		margin-bottom: 10px;
	}

	/* Onglets */
	#product-product .ft-product-tabs {
		margin-top: 12px;
	}

	#product-product .ft-product-tabs .nav-tabs {
		margin-top: 0;
		margin-bottom: 10px;
	}

	#product-product .ft-product-tabs .tab-content {
		margin-bottom: 12px;
	}

	/* Produits liés */
	#product-product .ft-related-title {
		margin-top: 16px;
		margin-bottom: 10px;
		margin-left: 8px;
		margin-right: 8px;
	}
}
@media (max-width: 767px) {

	/* Réduit l'espace entre les miniatures et le nom du produit */
	#product-product .ft-product-buy {
		margin-top: 8px;
	}

	#product-product .ft-product-buy h1 {
		margin-top: 0;
		margin-bottom: 4px;
	}

	/* Étoiles / avis avec la même petite marge latérale */
	#product-product .rating {
		margin-top: 6px;
		margin-left: 8px;
		margin-right: 8px;
		margin-bottom: 8px;
	}

	/* Encore un peu plus compact avant les produits liés */
	#product-product .ft-related-title {
		margin-top: 12px;
		margin-left: 8px;
		margin-right: 8px;
	}
}
/* ============================================================
   FLYING TOUTOU — PANIER MOBILE : TABLEAUX
   ============================================================ */

@media (max-width: 767px) {

	/* Tableau principal du panier */
	#checkout-cart .table-responsive > .table {
		width: 100%;
		table-layout: fixed;
		font-size: 10px;
	}

	#checkout-cart .table-responsive > .table th,
	#checkout-cart .table-responsive > .table td {
		padding: 6px 4px;
		vertical-align: middle;
		white-space: normal;
		line-height: 1.2;
	}

	/* Image */
	#checkout-cart .table-responsive > .table th:nth-child(1),
	#checkout-cart .table-responsive > .table td:nth-child(1) {
		width: 40px;
	}

	/* Nom */
	#checkout-cart .table-responsive > .table th:nth-child(2),
	#checkout-cart .table-responsive > .table td:nth-child(2) {
		width: 76px;
	}

	/* Référence */
	#checkout-cart .table-responsive > .table th:nth-child(3),
	#checkout-cart .table-responsive > .table td:nth-child(3) {
		width: 54px;
	}

/* Quantité : un peu plus large */
#checkout-cart .table-responsive > .table th:nth-child(4),
#checkout-cart .table-responsive > .table td:nth-child(4) {
	width: 94px;
}

	/* Prix unitaire */
	#checkout-cart .table-responsive > .table th:nth-child(5),
	#checkout-cart .table-responsive > .table td:nth-child(5) {
		width: 66px;
	}

	/* Total — un peu plus large */
	#checkout-cart .table-responsive > .table th:nth-child(6),
	#checkout-cart .table-responsive > .table td:nth-child(6) {
		width: 58px;
		padding-right: 6px;
	}

	/* Quantité : garde les boutons compacts */
	#checkout-cart .input-group {
		min-width: 0;
	}

	#checkout-cart .input-group .form-control[name^="quantity"] {
		min-width: 32px;
		padding-left: 4px;
		padding-right: 4px;
	}

	/* Tableau sous-total / taxes / total :
	   remet clairement le filet inférieur */
	#checkout-cart .table-bordered:last-of-type {
		border-bottom: 2px solid #555 !important;
	}

	#checkout-cart .table-bordered:last-of-type > tbody > tr:last-child > td,
	#checkout-cart .table-bordered:last-of-type > tfoot > tr:last-child > td {
		border-bottom: 2px solid #555 !important;
	}
}

@media (max-width: 767px) {

	/* Filet supérieur du tableau Sous-total / TPS / TVQ / Total */
	#checkout-cart .col-sm-4 .table-bordered {
		border-top: 2px solid #555 !important;
	}

	#checkout-cart .col-sm-4 .table-bordered > tbody > tr:first-child > td {
		border-top: 2px solid #555 !important;
	}
}

@media (max-width: 767px) {

	/* Un peu plus d'air à gauche pour le menu mobile */
	#menu #category {
		padding-left: 18px;
	}

	#menu .ft-menu-row > li > a {
		padding-left: 18px;
		padding-right: 18px;
	}

	#menu .dropdown-inner a {
		padding-left: 22px;
		padding-right: 18px;
	}
}
/* FLYING TOUTOU — survol des lignes de tableaux boutique */
.table-hover > tbody > tr:hover > td,
.table-hover > tbody > tr:hover > th {
	background-color: #2b2924 !important;
	color: #ffffff !important;
}
/* ============================================================
   FLYING TOUTOU — SOUVENIRS D'EXCEPTION
   Introduction Collection Prestige
   ============================================================ */

.ft-exception-intro {
	position: relative;
	max-width: 980px;
	margin: 34px auto 46px;
	padding: 54px 70px 48px;
	text-align: center;
	background:
		linear-gradient(
			135deg,
			rgba(215,184,124,.045) 0%,
			rgba(255,255,255,.01) 48%,
			rgba(215,184,124,.035) 100%
		);
	border-top: 1px solid rgba(215,184,124,.65);
	border-bottom: 1px solid rgba(215,184,124,.32);
	box-sizing: border-box;
}

/* Petit ornement central supérieur */
.ft-exception-intro::before {
	content: "◆";
	position: absolute;
	top: -10px;
	left: 50%;
	transform: translateX(-50%);
	padding: 0 14px;
	background: #111;
	color: #d7b87c;
	font-size: 13px;
}

/* Signature Maison */
.ft-exception-kicker {
	margin-bottom: 16px;
	color: #d7b87c;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 4px;
	text-transform: uppercase;
}

/* Titre principal */
.ft-exception-intro h2 {
	margin: 0 auto 20px;
	color: #f4f1ea;
	font-size: 32px;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: .4px;
}

/* Première phrase */
.ft-exception-lead {
	max-width: 760px;
	margin: 0 auto 22px !important;
	color: #f4f1ea !important;
	font-size: 18px;
	line-height: 1.75;
}

/* Petit filet or */
.ft-exception-line {
	width: 72px;
	height: 1px;
	margin: 25px auto;
	background: #d7b87c;
}

/* Texte secondaire */
.ft-exception-intro > p:not(.ft-exception-lead) {
	max-width: 800px;
	margin: 0 auto 13px;
	color: #cfcac1;
	font-size: 15px;
	line-height: 1.75;
}

/* Objets choisis • Editions limitées • Privilèges */
.ft-exception-signature {
	margin-top: 30px;
	padding-top: 20px;
	color: #d7b87c;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
}

/* Respiration avant les contrôles catalogue */
.ft-exception-intro + .row {
	margin-top: 8px;
}

/* ============================================================
   FLYING TOUTOU — SOUVENIRS D'EXCEPTION
   Navigation de l'univers
   ============================================================ */

.ft-exception-universe {
	max-width: 980px;
	margin: -10px auto 46px;
}

.ft-exception-nav {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}

.ft-exception-nav-item {
	position: relative;
	min-height: 150px;
	padding: 28px 24px 25px;
	background: #151412;
	border: 1px solid #403a2d;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	transition: all .25s ease;
}

.ft-exception-nav-item::after {
	content: "";
	position: absolute;
	bottom: -1px;
	left: 50%;
	width: 0;
	height: 1px;
	background: #d7b87c;
	transform: translateX(-50%);
	transition: width .25s ease;
}

.ft-exception-nav-item:hover {
	background: #1b1915;
	border-color: #d7b87c;
	transform: translateY(-3px);
}

.ft-exception-nav-item:hover::after {
	width: 70%;
}

.ft-exception-nav-number {
	display: block;
	margin-bottom: 11px;
	color: #d7b87c;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 2px;
}

.ft-exception-nav-item strong {
	display: block;
	margin-bottom: 9px;
	color: #f4f1ea;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.3;
}

.ft-exception-nav-item small {
	display: block;
	color: #aaa39a;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.5;
}

/* Petit séparateur décoratif */
.ft-exception-nav-item strong::after {
	content: "";
	display: block;
	width: 30px;
	height: 1px;
	margin: 11px auto 0;
	background: rgba(215,184,124,.65);
}

/* Tablette */
@media (max-width: 991px) {

	.ft-exception-nav {
		gap: 12px;
	}

	.ft-exception-nav-item {
		min-height: 140px;
		padding: 24px 15px;
	}

	.ft-exception-nav-item strong {
		font-size: 16px;
	}
}

/* Mobile */
@media (max-width: 767px) {

	.ft-exception-universe {
		margin: -4px 0 32px;
	}

	.ft-exception-nav {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.ft-exception-nav-item {
		min-height: 105px;
		padding: 20px 18px;
	}

	.ft-exception-nav-number {
		margin-bottom: 6px;
	}

	.ft-exception-nav-item strong {
		margin-bottom: 5px;
		font-size: 17px;
	}

	.ft-exception-nav-item strong::after {
		margin-top: 8px;
	}
}
/* ============================================================
   SOUVENIRS D'EXCEPTION — TABLETTE
   ============================================================ */

@media (max-width: 991px) {

	.ft-exception-intro {
		margin: 28px auto 38px;
		padding: 44px 40px 40px;
	}

	.ft-exception-intro h2 {
		font-size: 28px;
	}

	.ft-exception-lead {
		font-size: 17px;
	}
}

/* ============================================================
   SOUVENIRS D'EXCEPTION — MOBILE
   ============================================================ */

@media (max-width: 767px) {

	.ft-exception-intro {
		margin: 24px 0 30px;
		padding: 38px 18px 32px;
	}

	.ft-exception-kicker {
		margin-bottom: 13px;
		font-size: 10px;
		letter-spacing: 2.5px;
	}

	.ft-exception-intro h2 {
		font-size: 25px;
		line-height: 1.3;
	}

	.ft-exception-lead {
		font-size: 16px;
		line-height: 1.65;
	}

	.ft-exception-intro > p:not(.ft-exception-lead) {
		font-size: 14px;
		line-height: 1.65;
	}

	.ft-exception-line {
		width: 55px;
		margin: 21px auto;
	}

	.ft-exception-signature {
		margin-top: 24px;
		padding-top: 17px;
		font-size: 10px;
		line-height: 1.8;
		letter-spacing: 1.3px;
	}
}

/* ============================================================
   FLYING TOUTOU — PROGRAMME PRIVILÈGE MFT
   ============================================================ */

.ft-privilege {
	max-width: 1100px;
	margin: 75px auto 55px;
	padding-top: 45px;
	border-top: 1px solid rgba(215,184,124,.55);
}

/* Introduction */
.ft-privilege-heading {
	max-width: 780px;
	margin: 0 auto 42px;
	text-align: center;
}

.ft-privilege-heading > span {
	display: block;
	margin-bottom: 12px;
	color: #d7b87c;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 4px;
	text-transform: uppercase;
}

.ft-privilege-heading h2 {
	margin: 0 0 16px;
	color: #f4f1ea;
	font-size: 30px;
	font-weight: 500;
}

.ft-privilege-heading p {
	margin: 0 auto;
	color: #cfcac1;
	font-size: 15px;
	line-height: 1.7;
}

/* Trois niveaux */
.ft-privilege-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	align-items: stretch;
}

.ft-privilege-card {
	position: relative;
	padding: 35px 28px 32px;
	background: #151515;
	border: 1px solid #403a2d;
	text-align: center;
	box-sizing: border-box;
}

.ft-privilege-card-featured {
	background: linear-gradient(
		180deg,
		rgba(215,184,124,.075) 0%,
		#151515 45%
	);
	border-color: rgba(215,184,124,.65);
}

.ft-privilege-card-elite {
	background: linear-gradient(
		180deg,
		rgba(215,184,124,.13) 0%,
		#111 48%
	);
	border-color: #d7b87c;
}

/* 01 / 02 / 03 */
.ft-privilege-level {
	margin-bottom: 15px;
	color: #d7b87c;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 3px;
}

/* Nom */
.ft-privilege-card h3 {
	margin: 0 0 8px;
	color: #f4f1ea;
	font-size: 21px;
	font-weight: 600;
	line-height: 1.3;
}

/* Argent & Blanc etc. */
.ft-privilege-colour {
	margin-bottom: 22px;
	color: #aaa39a;
	font-size: 12px;
	letter-spacing: 1.4px;
	text-transform: uppercase;
}

/* Prix */
.ft-privilege-price {
	margin: 0 auto 20px;
	padding: 15px 0;
	border-top: 1px solid rgba(215,184,124,.35);
	border-bottom: 1px solid rgba(215,184,124,.35);
	color: #d7b87c;
	font-size: 30px;
	font-weight: 500;
}

/* Seuil */
.ft-privilege-threshold {
	min-height: 70px;
	margin: 0 0 22px;
	color: #cfcac1;
	font-size: 13px;
	line-height: 1.55;
}

.ft-privilege-threshold strong {
	color: #f4f1ea;
	font-weight: 600;
}

/* Avantages */
.ft-privilege-card ul {
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: left;
}

.ft-privilege-card li {
	position: relative;
	margin: 0;
	padding: 8px 0 8px 19px;
	border-bottom: 1px solid rgba(255,255,255,.055);
	color: #d7d3cc;
	font-size: 13px;
	line-height: 1.45;
}

.ft-privilege-card li:last-child {
	border-bottom: 0;
}

.ft-privilege-card li::before {
	content: "◆";
	position: absolute;
	left: 0;
	top: 9px;
	color: #d7b87c;
	font-size: 7px;
}

/* Conditions */
.ft-privilege-conditions {
	max-width: 900px;
	margin: 35px auto 0;
	padding: 24px 30px;
	border-top: 1px solid #403a2d;
	border-bottom: 1px solid #403a2d;
	text-align: center;
}

.ft-privilege-conditions strong {
	display: block;
	margin-bottom: 9px;
	color: #d7b87c;
	font-size: 12px;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.ft-privilege-conditions p {
	margin: 0;
	color: #aaa39a;
	font-size: 12px;
	line-height: 1.65;
}

/* TABLETTE */
@media (max-width: 991px) {

	.ft-privilege-grid {
		grid-template-columns: 1fr;
		max-width: 620px;
		margin: 0 auto;
	}

	.ft-privilege-threshold {
		min-height: 0;
	}

	.ft-privilege-card {
		padding: 32px 35px;
	}
}

/* MOBILE */
@media (max-width: 767px) {

	.ft-privilege {
		margin: 50px 0 35px;
		padding-top: 35px;
	}

	.ft-privilege-heading {
		margin-bottom: 30px;
		padding: 0 10px;
	}

	.ft-privilege-heading h2 {
		font-size: 25px;
	}

	.ft-privilege-heading > span {
		font-size: 10px;
		letter-spacing: 2.5px;
	}

	.ft-privilege-card {
		padding: 28px 22px;
	}

	.ft-privilege-price {
		font-size: 27px;
	}

	.ft-privilege-conditions {
		margin-top: 25px;
		padding: 20px 15px;
	}
}

.ft-exception-nav-link,
.ft-exception-nav-link:hover,
.ft-exception-nav-link:focus {
	color: inherit;
	text-decoration: none;
}
/* =========================================================
   MOBILE - EMPECHE LE DEBORDEMENT HORIZONTAL
   ========================================================= */

html,
body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

img,
video,
iframe,
table {
    max-width: 100%;
}

@media (max-width: 767px) {

    .container,
    .container-fluid {
        width: 100%;
        max-width: 100%;
    }

    p,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        max-width: 100%;
        overflow-wrap: break-word;
        word-wrap: break-word;
    }
}
/* =========================================================
   FLYING TOUTOU — SOUS-MENUS NAVIGATION
   Noir / blanc / or — suppression bleu OpenCart
   ========================================================= */

#menu.ft-main-nav .dropdown-menu {
	background: #151515;
	border: 1px solid #444;
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.55);
	padding: 0;
}

#menu.ft-main-nav .dropdown-menu .dropdown-inner,
#menu.ft-main-nav .dropdown-menu .dropdown-inner ul {
	background: #151515;
}

/* Liens des sous-menus */
#menu.ft-main-nav .dropdown-menu .dropdown-inner li a {
	display: block;
	color: #f2f2f2 !important;
	background: #151515 !important;
	padding: 9px 20px;
	line-height: 1.4;
	white-space: nowrap;
	text-shadow: none !important;
}

/* Survol des liens */
#menu.ft-main-nav .dropdown-menu .dropdown-inner li a:hover,
#menu.ft-main-nav .dropdown-menu .dropdown-inner li a:focus {
	color: #d6ad5c !important;
	background: #242424 !important;
	text-decoration: none;
}

/* Afficher tout */
#menu.ft-main-nav .dropdown-menu .see-all {
	display: block;
	color: #d6ad5c !important;
	background: #101010 !important;
	border-top: 1px solid #555;
	padding: 10px 20px;
	text-shadow: none !important;
}

/* Survol Afficher tout — aucun bleu OpenCart */
#menu.ft-main-nav .dropdown-menu .see-all:hover,
#menu.ft-main-nav .dropdown-menu .see-all:focus {
	color: #ffffff !important;
	background: #242424 !important;
	background-image: none !important;
	text-decoration: none;
}

/* Neutralise également les états Bootstrap/OpenCart */
#menu.ft-main-nav .dropdown-menu > li > a:hover,
#menu.ft-main-nav .dropdown-menu > li > a:focus {
	background-color: #242424 !important;
	background-image: none !important;
	color: #d6ad5c !important;
}
/* =========================================================
   FLYING TOUTOU — GALERIE
   ========================================================= */

.ft-gallery-intro {
	max-width: 900px;
	margin: 0 0 32px;
}

.ft-gallery-intro p {
	font-size: 16px;
	line-height: 1.7;
	color: #eeeeee;
}

.ft-gallery-section {
	margin-top: 30px;
	margin-bottom: 55px;
}

.ft-gallery-section h2 {
	margin: 0 0 22px;
	color: #d6ad5c;
}


/* =========================
   CARROUSEL PHOTOS
   ========================= */

.ft-gallery-carousel {
	width: 100%;
	max-width: 700px;
	margin: 0 auto;
	background: #080808;
	border: 1px solid #333333;
}

.ft-gallery-carousel .carousel-inner {
	height: 600px;
}

.ft-gallery-carousel .carousel-inner > .item {
	height: 600px;
	text-align: center;
}

.ft-gallery-carousel .carousel-inner > .item > img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	margin: 0 auto;
}


/* Flèches */

.ft-gallery-carousel .carousel-control {
	width: 55px;
	background: none !important;
	background-image: none !important;
	opacity: 1;
	color: #d6ad5c;
	text-shadow: none;
}

.ft-gallery-carousel .carousel-control:hover,
.ft-gallery-carousel .carousel-control:focus {
	color: #ffffff;
}

.ft-gallery-carousel .carousel-control .fa {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	font-size: 26px;
}

.ft-gallery-carousel .left.carousel-control .fa {
	left: 18px;
}

.ft-gallery-carousel .right.carousel-control .fa {
	right: 18px;
}


/* Points du carrousel */

.ft-gallery-carousel .carousel-indicators {
	bottom: 12px;
}

.ft-gallery-carousel .carousel-indicators li {
	border-color: #d6ad5c;
}

.ft-gallery-carousel .carousel-indicators .active {
	background-color: #d6ad5c;
}


/* =========================
   VIDÉOS YOUTUBE SHORTS
   ========================= */

.ft-gallery-videos {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 35px;
	flex-wrap: wrap;
}

.ft-gallery-video {
	width: 300px;
	max-width: 100%;
	aspect-ratio: 9 / 16;
	background: #000000;
	border: 1px solid #333333;
}

.ft-gallery-video iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}


/* =========================
   MOBILE
   ========================= */

@media (max-width: 767px) {

	.ft-gallery-section {
		margin-top: 25px;
		margin-bottom: 40px;
	}

	.ft-gallery-carousel .carousel-inner,
	.ft-gallery-carousel .carousel-inner > .item {
		height: 440px;
	}

	.ft-gallery-carousel .carousel-control {
		width: 42px;
	}

	.ft-gallery-carousel .left.carousel-control .fa {
		left: 12px;
	}

	.ft-gallery-carousel .right.carousel-control .fa {
		right: 12px;
	}

	.ft-gallery-video {
		width: min(300px, 90vw);
	}

	.ft-gallery-videos {
		gap: 25px;
	}

}
/* Galerie — alignement final des vidéos */

.ft-gallery-video-section {
   width: 100%;
   max-width: none;
   margin-left: 0;
   margin-right: 0;
}

.ft-gallery-video-section h2 {
	text-align: left;
}

.ft-gallery-videos {
	width: 100%;
	justify-content: center;
}
/* =========================================================
   FLYING TOUTOU — GALERIE DYNAMIQUE
   Photos tous formats + Lightbox + YouTube
   ========================================================= */

.ft-dynamic-gallery {
    width: 100%;
}

.ft-dynamic-gallery .ft-gallery-section {
    margin: 35px 0 55px;
}

.ft-dynamic-gallery .ft-gallery-section h2 {
    margin: 0 0 22px;
    color: #d6ad5c;
}


/* =========================================================
   PHOTOS
   ========================================================= */

.ft-gallery-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
    width: 100%;
}

.ft-gallery-photo {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    aspect-ratio: 4 / 3;

    overflow: hidden;

    background: #000000;
    border: 1px solid #333333;

    cursor: pointer;
}

.ft-gallery-photo img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: contain;
    object-position: center;

    transition: transform 0.25s ease;
}

.ft-gallery-photo:hover img {
    transform: scale(1.025);
}

.ft-gallery-photo:hover {
    border-color: #d6ad5c;
}


/* =========================================================
   LIGHTBOX PHOTO
   ========================================================= */

.ft-gallery-lightbox {
    position: fixed;

    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    z-index: 99999;

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

    padding: 50px;

    background: rgba(0, 0, 0, 0.94);
}

.ft-gallery-lightbox.is-open {
    display: flex;
}

.ft-gallery-lightbox img {
    display: block;

    max-width: 95vw;
    max-height: 90vh;

    width: auto;
    height: auto;

    object-fit: contain;

    background: #000000;
}

.ft-gallery-lightbox-close {
    position: absolute;

    top: 15px;
    right: 25px;

    z-index: 2;

    padding: 0;

    border: 0;
    background: transparent;

    color: #d6ad5c;

    font-size: 46px;
    font-weight: 300;
    line-height: 1;

    cursor: pointer;
}



.ft-gallery-lightbox-close:hover,
.ft-gallery-lightbox-close:focus {
    color: #ffffff;
    outline: none;
}

body.ft-gallery-lightbox-open {
    overflow: hidden;
}
/* =========================================================
   LIGHTBOX — NAVIGATION PHOTOS
   ========================================================= */

.ft-gallery-lightbox-stage {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 95vw;
    max-height: 90vh;
}

.ft-gallery-lightbox-nav {
    position: absolute;
    top: 50%;
    z-index: 3;

    width: 42px;
    height: 70px;

    transform: translateY(-50%);

    border: 0;
    background: transparent;

    color: #d6ad5c;

    font-size: 44px;
    font-weight: 300;
    line-height: 1;

    cursor: pointer;

    opacity: 0.75;

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

.ft-gallery-lightbox-prev {
    left: -52px;
}

.ft-gallery-lightbox-next {
    right: -52px;
}

.ft-gallery-lightbox-nav:hover,
.ft-gallery-lightbox-nav:focus {
    opacity: 1;
    color: #ffffff;
    background: transparent;
    outline: none;
}


/* Mobile */

@media (max-width: 600px) {

    .ft-gallery-lightbox-nav {
        width: 36px;
        font-size: 34px;
    }

    .ft-gallery-lightbox-prev {
        left: 4px;
    }

    .ft-gallery-lightbox-next {
        right: 4px;
    }
}

/* =========================================================
   VIDÉOS
   ========================================================= */

.ft-gallery-video-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 22px;
    align-items: start;
    width: 100%;
}

/* Carte vidéo */
.ft-gallery-video-item {
    overflow: hidden;
    background: #000000;
    border: 1px solid #333333;
    width: 100%;
}

.ft-gallery-video-item iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

/* YouTube horizontal */
.ft-gallery-video-item.ft-video-16-9 {
    width: 100%;
    aspect-ratio: 16 / 9;
}

/* YouTube Short vertical */
.ft-gallery-video-item.ft-video-9-16 {
    width: 100%;
    aspect-ratio: 9 / 16;
}

/* =========================================================
   TABLETTE
   ========================================================= */

@media (max-width: 991px) {

    .ft-gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ft-gallery-video-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .ft-gallery-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .ft-gallery-photo {
        aspect-ratio: 4 / 3;
    }

    .ft-gallery-lightbox {
        padding: 20px;
    }

    .ft-gallery-lightbox-close {
        top: 10px;
        right: 15px;
    }

    .ft-gallery-video-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

}
/* Titre principal */

#information-contact h1 {
    color: #ffffff;
}


/* Sous-titres */

#information-contact h3 {
    margin-top: 28px;
    margin-bottom: 16px;

    color: #d6ad5c;

    font-size: 20px;
    font-weight: 600;
}


/* =========================================================
   BLOC ADRESSE / BOUTIQUE
   ========================================================= */

#information-contact .panel-default {
    border: 1px solid #333333;
    border-radius: 0;

    background: #151515;
    box-shadow: none;
}

#information-contact .panel-default .panel-body {
    background: #151515;
    color: #eeeeee;
}

#information-contact .panel-default strong {
    color: #d6ad5c;
}

#information-contact .panel-default address,
#information-contact .panel-default p {
    color: #dddddd;
}


/* Logo dans le bloc adresse */

#information-contact .panel-default img {
    border-color: #333333 !important;
    background: #111111;
}


/* =========================================================
   FORMULAIRE
   ========================================================= */

#information-contact fieldset legend {
    padding: 12px 0;

    border-bottom: 1px solid #555555;

    color: #d6ad5c;

    font-size: 20px;
}


/* Libellés */

#information-contact .control-label {
    color: #eeeeee;
    font-weight: 400;
}


/* Astérisque obligatoire */

#information-contact .form-group.required .control-label:before {
    color: #d6ad5c;
}


/* Champs */

#information-contact .form-control {
    border: 1px solid #444444;
    border-radius: 2px;

    background: #151515;
    color: #ffffff;

    box-shadow: none;
}

#information-contact .form-control:focus {
    border-color: #d6ad5c;

    box-shadow: 0 0 0 1px rgba(214, 173, 92, 0.25);
}


/* Zone message */

#information-contact textarea.form-control {
    min-height: 150px;
    resize: vertical;
}


/* =========================================================
   BOUTON ENVOYER
   ========================================================= */

#information-contact .btn-primary {
    border: 1px solid #d6ad5c;

    background: #d6ad5c;
    color: #111111;

    font-weight: 600;

    transition: all 0.2s ease;
}

#information-contact .btn-primary:hover,
#information-contact .btn-primary:focus {
    border-color: #ffffff;

    background: #ffffff;
    color: #111111;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    #information-contact .panel-default .panel-body {
        padding: 18px;
    }

    #information-contact .form-group {
        margin-bottom: 18px;
    }
}

/* =========================================================
   PARTENAIRES — CARTES
   ========================================================= */

.ft-partner-card {
    border: 1px solid #333333;
    transition:
        transform 0.20s ease,
        border-color 0.20s ease,
        box-shadow 0.20s ease;
}

.ft-partner-card:hover,
.ft-partner-card:focus {
    transform: translateY(-4px);
    border-color: #d6ad5c;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.35);
    text-decoration: none;
}

.ft-partner-card:hover .ft-partner-name,
.ft-partner-card:focus .ft-partner-name {
    color: #b88a32;
}

/* ===== FT ACCOUNT DARK FIX 29-09-2026 ===== */
[id^="account-"] #content, [id^="account-"] .panel, [id^="account-"] .panel-body, [id^="account-"] .well, [id^="account-"] .table-responsive {background:#11100f;color:#d8d2c8;}
[id^="account-"] h1,[id^="account-"] h2,[id^="account-"] h3,[id^="account-"] h4 {color:#f4f1ea;}
[id^="account-"] .panel-default {background:#151515;border-color:#3a3732;}
[id^="account-"] .panel-default>.panel-heading {background:#1a1918;border-color:#3a3732;color:#d6ad5c;}
[id^="account-"] .list-group-item,[id^="account-"] .list-group a {background:#151515!important;border-color:#3a3732!important;color:#d8d2c8!important;text-shadow:none!important;}
[id^="account-"] .list-group a:hover,[id^="account-"] .list-group a:focus,[id^="account-"] .list-group a.active {background:#24211d!important;border-color:#d6ad5c!important;color:#d6ad5c!important;}
[id^="account-"] #content a {color:#d6ad5c;} [id^="account-"] #content a:hover {color:#f4f1ea;}
[id^="account-"] .table,[id^="account-"] .table>thead>tr>th,[id^="account-"] .table>tbody>tr>td {background:#151515;color:#d8d2c8;border-color:#3a3732;}
[id^="account-"] .form-control {background:#151515;border-color:#444;color:#f4f1ea;box-shadow:none;}
[id^="account-"] .form-control:focus {border-color:#d6ad5c;box-shadow:0 0 0 1px rgba(214,173,92,.22);}
[id^="account-"] legend {border-color:#3a3732;color:#d6ad5c;}
[id^="account-"] label,[id^="account-"] p,[id^="account-"] td,[id^="account-"] th {color:#d8d2c8;}
[id^="account-"] .btn-primary {background:#d6ad5c;background-image:none;border-color:#d6ad5c;color:#111;text-shadow:none;}
[id^="account-"] .btn-primary:hover,[id^="account-"] .btn-primary:focus {background:#f4f1ea;border-color:#f4f1ea;color:#111;}
[id^="account-"] .thumbnail {background:#151515;border-color:#3a3732;}

/* =========================================================
   FLYING TOUTOU — TITRES GALERIE
   ========================================================= */

.ft-gallery-video-card,
.ft-gallery-image-card {
    min-width: 0;
}

.ft-gallery-video-title,
.ft-gallery-image-title {
    margin-top: 10px;
    color: #d6ad5c;
    font-size: 17px;
    line-height: 1.35;
    font-weight: 600;
    text-align: center;
}

@media (max-width: 600px) {
    .ft-gallery-video-title,
    .ft-gallery-image-title {
        font-size: 16px;
    }
}
#ft-gallery-videos,
#ft-gallery-images {
    scroll-margin-top: 140px;
}

.ft-gallery-back-nav {
    margin: -4px 0 18px;
}

.ft-gallery-back-nav a {
    color: #d6ad5c;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    text-transform: uppercase;
}

.ft-gallery-back-nav a:hover {
    text-decoration: underline;
}
@media (max-width: 767px) {

	.ft-services {
		padding: 38px 18px 42px;
	}

	.ft-services-intro {
		margin-bottom: 25px;
	}

	.ft-service {
		padding: 24px 20px;
		margin-bottom: 12px;
	}

	.ft-services-button {
		margin-top: 24px;
	}

	.ft-partners {
		padding: 40px 18px 45px;
	}

	.ft-partners-button {
		margin-top: 22px;
	}

	.ft-social-section {
		padding: 30px 15px;
	}

	.ft-social-section h3 {
		margin-bottom: 18px;
	}

	footer {
		margin-top: 28px;
		padding-top: 26px;
	}
}
@media (max-width: 767px) {

	.ft-boutique-prestige {
		padding-bottom: 25px;
	}

	.ft-intro {
		padding-top: 22px;
		padding-bottom: 18px;
	}
}
@media (max-width: 767px) {

	#banner0 {
		margin: 15px auto 8px;
	}

	.ft-boutique-prestige {
		padding-top: 12px;
		padding-bottom: 18px;
	}

	.ft-intro {
		padding-top: 14px;
		padding-bottom: 22px;
	}
}

@media (max-width: 600px) {

	#form-review .radio-inline {
		margin-right: 8px;
		padding-left: 18px;
	}

	#form-review .radio-inline input[type="radio"] {
		margin-left: -16px;
	}
}
@media (max-width: 767px) {
	.ft-social-section {
		padding-top: 24px;
		padding-bottom: 26px;
	}
}

@media (max-width: 600px) {

	.breadcrumb {
		padding: 8px 10px;
		overflow-x: auto;
		white-space: nowrap;
	}

	.breadcrumb > li {
		padding: 0 14px;
		white-space: nowrap;
	}

	.breadcrumb > li:after {
		width: 20px;
		height: 20px;
		right: -3px;
		top: 0;
	}

	.breadcrumb a {
		font-size: 14px;
	}
}
@media (max-width: 600px) {

	.breadcrumb {
		scrollbar-width: thin;
		scrollbar-color: #d7b87c #1a1918;
	}

	.breadcrumb::-webkit-scrollbar {
		height: 6px;
	}

	.breadcrumb::-webkit-scrollbar-track {
		background: #1a1918;
	}

	.breadcrumb::-webkit-scrollbar-thumb {
		background: #d7b87c;
		border-radius: 10px;
	}
}

/* =========================================================
   FLYING TOUTOU — TEST FICHE PRODUIT LARGE
   ========================================================= */

/* Grande photo : utilise réellement la largeur disponible */
#product-product .thumbnails > li:first-child {
    width: 100%;
    float: none;
}

#product-product .thumbnails > li:first-child .thumbnail {
    padding: 0 !important;
    margin-bottom: 14px;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

#product-product .thumbnails > li:first-child .thumbnail img {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: auto;
    margin: 0 auto;
}

/* Rangée de petites miniatures */
#product-product .thumbnails {
    margin-left: 0;
}

#product-product .image-additional {
    width: 82px !important;
    padding: 0;
    margin: 0 10px 10px 0;
    float: left;
}

#product-product .image-additional .thumbnail {
    padding: 4px;
    margin: 0;
    background: transparent !important;
}

#product-product .image-additional .thumbnail img {
    width: 100%;
    height: auto;
}

/* Un peu moins d'espace inutile autour de la galerie */
#product-product .thumbnails::before,
#product-product .thumbnails::after {
    display: table;
    content: " ";
    clear: both;
}

@media (max-width: 767px) {
    #product-product .image-additional {
        width: 68px !important;
        margin-right: 8px;
    }
}


/* =========================================================
   FLYING TOUTOU — AJUSTEMENT GALERIE PRODUIT
   ========================================================= */

#product-product .thumbnails > li:first-child .thumbnail {
    text-align: center;
}

#product-product .thumbnails > li:first-child .thumbnail img {
    width: 82% !important;
    max-width: 620px !important;
    height: auto !important;
    margin: 0 auto !important;
}

/* Miniatures plus propres */
#product-product .image-additional {
    width: 74px !important;
    margin: 0 9px 9px 0 !important;
}

/* Supprime la barre/carrousel visuellement inutile sous les miniatures */
#product-product .thumbnails {
    overflow: visible !important;
}

#product-product .swiper-container,
#product-product .owl-wrapper-outer,
#product-product .owl-controls,
#product-product .owl-buttons {
    overflow: visible;
}

@media (max-width: 767px) {
    #product-product .thumbnails > li:first-child .thumbnail img {
        width: 100% !important;
        max-width: 100% !important;
    }
}


/* =========================================================
   FLYING TOUTOU — FICHE PRODUIT ÉPURÉE
   Masque le fil d'Ariane OpenCart sur les fiches produit
   ========================================================= */

#product-product > .container > .breadcrumb,
#product-product .breadcrumb {
    display: none !important;
}


/* =========================================================
   FLYING TOUTOU — FICHE PRODUIT MINIMALISTE
   ========================================================= */

/* Coeur / comparaison : icônes simples */
#product-product .btn-group .btn-default {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 5px 9px !important;
    color: #c8a55c !important;
}

#product-product .btn-group .btn-default:hover,
#product-product .btn-group .btn-default:focus {
    background: transparent !important;
    color: #f4f1ea !important;
}

/* Référence / disponibilité plus discrètes */
#product-product .list-unstyled {
    margin-bottom: 14px;
}

#product-product .list-unstyled li {
    color: #aaa49b !important;
    font-size: 12px;
    line-height: 1.7;
}

/* Onglets OpenCart transformés en navigation légère */
#product-product .nav-tabs {
    margin-top: 12px;
    margin-bottom: 14px;
    border-bottom: 1px solid #3a3732 !important;
}

#product-product .nav-tabs > li {
    margin-bottom: -1px;
}

#product-product .nav-tabs > li > a {
    margin-right: 24px;
    padding: 8px 0 9px !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid transparent !important;
    border-radius: 0 !important;
    color: #aaa49b !important;
}

#product-product .nav-tabs > li > a:hover,
#product-product .nav-tabs > li > a:focus {
    background: transparent !important;
    color: #f4f1ea !important;
    border-bottom-color: #777066 !important;
}

#product-product .nav-tabs > li.active > a,
#product-product .nav-tabs > li.active > a:hover,
#product-product .nav-tabs > li.active > a:focus {
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid #d7b87c !important;
    color: #d7b87c !important;
}

/* Description sans boîte */
#product-product .tab-content {
    padding-top: 0;
}

#product-product #tab-description {
    padding: 0 !important;
    background: transparent !important;
}

/* Champs plus sobres */
#product-product .form-control {
    background: transparent;
    border-color: #3a3732;
    box-shadow: none;
}

#product-product .form-control:focus {
    border-color: #8d7750;
    box-shadow: none;
}

/* Moins d'espace vertical autour des groupes */
#product-product .form-group {
    margin-bottom: 14px;
}


/* FLYING TOUTOU — petit espace sous le bandeau annonce */
.ft-announcement {
    margin-bottom: 14px;
}


/* =========================================================
   FLYING TOUTOU — MASQUE COMPARAISON OPENCART
   On conserve les favoris
   ========================================================= */

button[onclick*="compare.add"] {
    display: none !important;
}


/* =========================================================
   FLYING TOUTOU — GUIDE DES GRANDEURS COMPACT
   ========================================================= */

#product-product .ft-dev-size-guide {
    margin: 18px 0 0 !important;
    padding: 0 !important;
}

#product-product .ft-dev-size-guide h3 {
    margin: 0 0 10px !important;
    padding: 0 !important;
}

#product-product .ft-dev-size-guide > p {
    margin: 0 0 12px !important;
    line-height: 1.45;
}

#product-product .ft-dev-size-guide .table-responsive {
    margin: 10px 0 14px !important;
}

#product-product .ft-dev-size-guide table {
    margin: 0 !important;
}

#product-product .ft-dev-size-guide h4 {
    margin: 16px 0 6px !important;
    padding: 0 !important;
}

#product-product .ft-dev-size-guide h4 + p {
    margin: 0 !important;
}

/* Ligne avant le guide : espace normal seulement */
#product-product #tab-description hr {
    margin-top: 16px !important;
    margin-bottom: 18px !important;
}


/* =========================================================
   FLYING TOUTOU — GUIDE GRANDEURS TRÈS COMPACT
   ========================================================= */

#product-product .ft-dev-size-guide {
    margin: 10px 0 0 !important;
    padding: 0 !important;
}

#product-product .ft-dev-size-guide h3 {
    margin: 0 0 6px !important;
    padding: 0 !important;
    line-height: 1.2 !important;
}

#product-product .ft-dev-size-guide p {
    margin: 0 0 8px !important;
    padding: 0 !important;
    line-height: 1.35 !important;
}

#product-product .ft-dev-size-guide .table-responsive {
    margin: 6px 0 10px !important;
    padding: 0 !important;
}

#product-product .ft-dev-size-guide table {
    margin: 0 !important;
}

#product-product .ft-dev-size-guide h4 {
    margin: 10px 0 5px !important;
    padding: 0 !important;
    line-height: 1.2 !important;
}

/* Élimine d'éventuels paragraphes vides ajoutés par l'éditeur */
#product-product .ft-dev-size-guide p:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Ligne avant le guide */
#product-product #tab-description hr {
    margin: 10px 0 !important;
}


/* =========================================================
   FLYING TOUTOU — PETIT DESCRIPTIF PRODUIT
   ========================================================= */

#product-product .ft-product-intro {
    margin: 8px 0 10px !important;
    max-width: 430px;
    color: #c8c1b6;
    font-size: 13px;
    line-height: 1.45;
}

/* =========================================================
   FLYING TOUTOU — GUIDE GRANDEURS ULTRA COMPACT
   ========================================================= */

#product-product .ft-dev-size-guide {
    margin: 8px 0 0 !important;
}

#product-product .ft-dev-size-guide h3 {
    margin: 0 0 4px !important;
}

#product-product .ft-dev-size-guide p {
    margin: 0 0 5px !important;
    line-height: 1.3 !important;
}

#product-product .ft-dev-size-guide .table-responsive {
    margin: 5px 0 6px !important;
}

#product-product .ft-dev-size-guide table {
    margin: 0 !important;
}

#product-product .ft-dev-size-guide h4 {
    margin: 7px 0 3px !important;
}

#product-product .ft-dev-size-guide h4 + p {
    margin: 0 !important;
}

#product-product #tab-description hr {
    margin: 8px 0 !important;
}


/* =========================================================
   FLYING TOUTOU — FICHE PRODUIT COMPACTE FINALE
   ========================================================= */

/* Petit descriptif de droite */
#product-product .ft-product-intro {
    margin: 5px 0 8px !important;
    padding: 0 !important;
    line-height: 1.35 !important;
    font-size: 13px !important;
}

#product-product .ft-product-intro p,
#product-product .ft-product-intro div {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.35 !important;
}

/* On ne répète plus le petit descriptif sous les photos */
#product-product #tab-description > p:first-child,
#product-product #tab-description > div:first-child {
    margin-top: 0 !important;
}

/* Guide : aucun grand espace entre les éléments */
#product-product .ft-dev-size-guide,
#product-product .ft-dev-size-guide * {
    box-sizing: border-box;
}

#product-product .ft-dev-size-guide {
    margin: 6px 0 0 !important;
    padding: 0 !important;
}

#product-product .ft-dev-size-guide h3 {
    margin: 0 0 5px !important;
    padding: 0 !important;
    line-height: 1.15 !important;
}

#product-product .ft-dev-size-guide > p {
    margin: 0 0 6px !important;
    padding: 0 !important;
    line-height: 1.3 !important;
}

#product-product .ft-dev-size-guide .table-responsive {
    margin: 4px 0 6px !important;
    padding: 0 !important;
}

#product-product .ft-dev-size-guide table {
    margin: 0 !important;
}

#product-product .ft-dev-size-guide h4 {
    margin: 6px 0 3px !important;
    padding: 0 !important;
    line-height: 1.15 !important;
}

#product-product .ft-dev-size-guide h4 + p {
    margin: 0 !important;
    padding: 0 !important;
}

/* Neutralise les paragraphes / retours vides produits par l'éditeur */
#product-product .ft-dev-size-guide p:empty,
#product-product .ft-dev-size-guide div:empty,
#product-product #tab-description p:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
}

/* Réduit fortement la coupure avant le guide */
#product-product #tab-description hr {
    margin: 6px 0 !important;
}


/* Flying Toutou — conserver les lignes du descriptif court */
#product-product .ft-product-intro {
    white-space: pre-line !important;
}


/* =========================================================
   FLYING TOUTOU — GUIDE PRODUIT : COMPACT RÉEL
   ========================================================= */

#product-product .ft-dev-size-guide,
#product-product .ft-dev-size-guide * {
    white-space: normal !important;
}

#product-product .ft-dev-size-guide {
    margin: 8px 0 0 !important;
    padding: 0 !important;
}

#product-product .ft-dev-size-guide h3 {
    margin: 0 0 6px !important;
    padding: 0 !important;
    line-height: 1.2 !important;
}

#product-product .ft-dev-size-guide > p {
    margin: 0 0 7px !important;
    padding: 0 !important;
    line-height: 1.35 !important;
}

#product-product .ft-dev-size-guide .table-responsive {
    margin: 0 0 8px !important;
    padding: 0 !important;
}

#product-product .ft-dev-size-guide table {
    margin: 0 !important;
}

#product-product .ft-dev-size-guide h4 {
    margin: 8px 0 4px !important;
    padding: 0 !important;
    line-height: 1.2 !important;
}

#product-product .ft-dev-size-guide h4 + p {
    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   FLYING TOUTOU — FINITION GUIDE DES GRANDEURS
   ========================================================= */

#product-product #tab-description {
    padding-top: 0 !important;
}

#product-product .ft-dev-size-guide {
    margin-top: 4px !important;
}

#product-product .ft-dev-size-guide h3 {
    margin-bottom: 3px !important;
}

#product-product .ft-dev-size-guide > p {
    margin-bottom: 4px !important;
}

#product-product .ft-dev-size-guide .table-responsive {
    margin-top: 2px !important;
}

#product-product .ft-dev-size-guide th,
#product-product .ft-dev-size-guide td {
    padding: 5px 8px !important;
    line-height: 1.2 !important;
}


/* =========================================================
   FLYING TOUTOU — PARTAGE PRODUIT
   ========================================================= */

#product-product .ft-product-share {
    margin: 14px 0 16px;
    padding: 10px 0;
    border-top: 1px solid #3a3732;
    border-bottom: 1px solid #3a3732;
}

#product-product .ft-share-button {
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    color: #c8c1b6;
    font-size: 13px;
    cursor: pointer;
}

#product-product .ft-share-button i {
    margin-right: 7px;
    color: #d7b87c;
}

#product-product .ft-share-button:hover,
#product-product .ft-share-button:focus {
    color: #d7b87c;
    outline: none;
}

#product-product .ft-share-confirm {
    margin-left: 12px;
    color: #aaa49b;
    font-size: 12px;
}


/* =========================================================
   FLYING TOUTOU — ACCORDÉON GUIDE DES TAILLES
   ========================================================= */

#product-product .ft-size-accordion-toggle {
    width: 100%;
    margin: 8px 0 0;
    padding: 11px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;

    background: transparent;
    border: 0;
    border-top: 1px solid #3a3732;
    border-bottom: 1px solid #3a3732;

    color: #f4f1ea;
    font-size: 14px;
    text-align: left;
    cursor: pointer;
}

#product-product .ft-size-accordion-toggle span i {
    margin-right: 8px;
    color: #d7b87c;
}

#product-product .ft-size-accordion-toggle .ft-size-arrow {
    color: #aaa49b;
}

#product-product .ft-size-accordion-toggle:hover {
    color: #d7b87c;
}

#product-product .ft-size-accordion-content {
    padding: 10px 0 4px;
}

#product-product .ft-size-accordion-content .ft-dev-size-guide {
    margin: 0 !important;
}


/* =========================================================
   FLYING TOUTOU — FAVORI FICHE PRODUIT
   ========================================================= */

#product-product .ft-product-buy {
    position: relative;
}

#product-product .ft-product-buy > .btn-group {
    position: absolute;
    top: 28px;
    right: 0;
    margin: 0 !important;
    z-index: 2;
}

#product-product .ft-product-buy > h1 {
    padding-right: 36px;
}

#product-product .ft-product-buy > .btn-group .btn-default {
    padding: 3px 5px !important;
    font-size: 14px;
}


/* =========================================================
   FLYING TOUTOU — ACHAT PRODUIT PLUS ÉPURÉ
   ========================================================= */

/* Retire le titre générique OpenCart "Options disponibles" */
#product-product #product > h3 {
    display: none !important;
}

/* Retire le filet OpenCart avant les options */
#product-product #product > hr {
    display: none !important;
}

/* Rapproche les options du prix */
#product-product #product {
    margin-top: 8px !important;
}

/* Groupe Grandeur plus compact */
#product-product #product .form-group {
    margin-bottom: 10px !important;
}

/* Quantité plus discrète */
#product-product #product label {
    margin-bottom: 4px !important;
}


/* =========================================================
   FLYING TOUTOU — ACCORDÉON DÉTAILS PRODUIT
   ========================================================= */

#product-product .ft-product-details-wrap {
    margin: 0;
}

#product-product .ft-product-details-toggle {
    width: 100%;
    padding: 11px 0;

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

    background: transparent;
    border: 0;
    border-bottom: 1px solid #3a3732;

    color: #f4f1ea;
    font-size: 14px;
    text-align: left;
    cursor: pointer;
}

#product-product .ft-product-details-toggle span i {
    margin-right: 8px;
    color: #d7b87c;
}

#product-product .ft-product-details-toggle:hover {
    color: #d7b87c;
}

#product-product .ft-details-arrow {
    color: #aaa49b;
}

#product-product .ft-product-details-content {
    padding: 9px 0 10px;
    color: #c8c1b6;
    font-size: 13px;
    line-height: 1.45;
}

#product-product .ft-details-description {
    margin-bottom: 7px;
}

#product-product .ft-details-description p,
#product-product .ft-details-description div {
    margin: 0 !important;
}

#product-product .ft-details-meta div {
    margin: 2px 0;
}


/* =========================================================
   FLYING TOUTOU — DÉTAILS PRODUIT COMPACTS
   ========================================================= */

#product-product .ft-product-details-content {
    padding: 8px 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    height: auto !important;
}

#product-product .ft-details-description {
    margin: 0 0 6px !important;
    padding: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    line-height: 1.35 !important;
}

#product-product .ft-details-description * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    min-height: 0 !important;
    height: auto !important;
}

#product-product .ft-details-description hr {
    display: none !important;
}

#product-product .ft-details-meta {
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    margin: 0 !important;
    padding: 0 !important;
}

#product-product .ft-details-meta > div {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    line-height: 1.35 !important;
}

#product-product .ft-details-meta strong {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   FLYING TOUTOU — RESET ACCORDÉONS PRODUIT
   ========================================================= */

/* Lignes d'accordéon */
#product-product .ft-size-accordion-toggle,
#product-product .ft-product-details-toggle {
    min-height: 36px !important;
    height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    border-top: 0 !important;
    border-bottom: 1px solid #3a3732 !important;
}

/* Aucun espace parasite autour des wrappers */
#product-product .ft-size-accordion-content,
#product-product .ft-product-details-wrap,
#product-product .ft-product-details-content {
    margin: 0 !important;
}

/* Guide ouvert */
#product-product .ft-size-accordion-content {
    padding: 6px 0 !important;
}

/* Détails ouverts */
#product-product .ft-product-details-content {
    padding: 6px 0 !important;
    min-height: 0 !important;
    height: auto !important;
}

/* On enlève le descriptif répété dans Détails */
#product-product .ft-details-description {
    display: none !important;
}

/* Métadonnées très compactes */
#product-product .ft-details-meta {
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
}

#product-product .ft-details-meta > div {
    margin: 0 0 3px !important;
    padding: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    line-height: 1.3 !important;
    white-space: normal !important;
}

#product-product .ft-details-meta strong {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Partager rapproché */
#product-product .ft-product-share {
    margin: 6px 0 10px !important;
    padding: 8px 0 !important;
}

/* Pas de trou entre accordéons */
#product-product .ft-size-accordion-content + .ft-product-details-wrap {
    margin-top: 0 !important;
}


/* =========================================================
   FLYING TOUTOU — RESET ESPACEMENT ACCORDÉONS
   ========================================================= */

/* Zone sous les onglets */
#product-product #tab-description {
    margin: 0 !important;
    padding: 0 !important;
}

/* Les deux lignes fermées */
#product-product .ft-size-accordion-toggle,
#product-product .ft-product-details-toggle {
    margin: 0 !important;
    padding: 7px 0 !important;
    height: auto !important;
    min-height: 0 !important;
    line-height: 1.2 !important;
}

/* Wrappers : aucune hauteur ou disposition héritée */
#product-product .ft-size-accordion-content,
#product-product .ft-product-details-wrap,
#product-product .ft-product-details-content,
#product-product .ft-details-meta {
    position: static !important;
    display: block;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    transform: none !important;
    align-items: initial !important;
    justify-content: initial !important;
}

/* Contenu d'un accordéon ouvert */
#product-product .ft-size-accordion-content,
#product-product .ft-product-details-content {
    padding: 6px 0 !important;
}

/* Chaque ligne des détails */
#product-product .ft-details-meta > div {
    display: block !important;
    position: static !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 0 3px 0 !important;
    padding: 0 !important;
    line-height: 1.3 !important;
}

/* Libellé + valeur sur la même ligne */
#product-product .ft-details-meta strong {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Accordéons collés naturellement les uns aux autres */
#product-product .ft-product-details-wrap {
    margin-top: 0 !important;
}

#product-product .ft-product-share {
    margin: 0 0 8px !important;
    padding: 7px 0 !important;
}


/* =========================================================
   FLYING TOUTOU — RETIRE DÉTAILS PRODUIT REDONDANTS
   ========================================================= */

#product-product .ft-product-details-wrap {
    display: none !important;
}


/* =========================================================
   FLYING TOUTOU — PRODUITS ASSOCIÉS COMME GRILLE CATÉGORIE
   ========================================================= */

#product-product .ft-related-grid .product-thumb {
    position: relative;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    margin-bottom: 28px;
}

/* Image */
#product-product .ft-related-grid .product-thumb .image {
    overflow: hidden;
    background: transparent;
}

#product-product .ft-related-grid .product-thumb .image img {
    width: 100%;
    height: auto;
    transition: transform .25s ease;
}

#product-product .ft-related-grid .product-thumb:hover .image img {
    transform: scale(1.035);
}

/* Caption sans grosse carte */
#product-product .ft-related-grid .product-thumb .caption {
    position: relative;
    min-height: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

/* Nom superposé au bas de l'image */
#product-product .ft-related-grid .product-thumb .caption h4 {
    position: relative;
    z-index: 3;
    height: 48px;
    margin: -48px 0 0 !important;
    padding: 19px 12px 8px !important;

    display: flex;
    align-items: flex-end;

    background: linear-gradient(
        to bottom,
        rgba(0,0,0,0),
        rgba(0,0,0,.78)
    );

    font-size: 15px;
    line-height: 1.2;
}

#product-product .ft-related-grid .product-thumb .caption h4 a {
    color: #f0c56d !important;
    text-shadow: 0 1px 2px rgba(0,0,0,.8);
}

/* Supprime la longue description */
#product-product .ft-related-grid .product-thumb .caption > p:not(.price) {
    display: none !important;
}

/* Prix */
#product-product .ft-related-grid .product-thumb .price {
    margin: 0 !important;
    padding: 10px 0 8px !important;
    color: #f4f1ea !important;
}

/* Retire cadre OpenCart des boutons */
#product-product .ft-related-grid .product-thumb .button-group {
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

/* Boutons visibles seulement au survol sur ordinateur */
@media (min-width: 768px) {
    #product-product .ft-related-grid .product-thumb .button-group {
        opacity: 0;
        transition: opacity .18s ease;
    }

    #product-product .ft-related-grid .product-thumb:hover .button-group {
        opacity: 1;
    }
}

/* Téléphone : boutons toujours disponibles */
@media (max-width: 767px) {
    #product-product .ft-related-grid .product-thumb .button-group {
        opacity: 1 !important;
    }
}


/* =========================================================
   FLYING TOUTOU — FIX HOVER 2e IMAGE
   ========================================================= */

#product-category .ft-product-hover-image,
#product-product .ft-related-grid .ft-product-hover-image {
    position: relative !important;
    overflow: hidden !important;
}

#product-category .ft-product-hover-image > a,
#product-product .ft-related-grid .ft-product-hover-image > a {
    position: relative !important;
    display: block !important;
}

#product-category .ft-product-hover-image .ft-product-image-main,
#product-product .ft-related-grid .ft-product-hover-image .ft-product-image-main {
    position: relative !important;
    inset: auto !important;
    z-index: 1 !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    opacity: 1 !important;
}

#product-category .ft-product-hover-image .ft-product-image-hover,
#product-product .ft-related-grid .ft-product-hover-image .ft-product-image-hover {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;

    z-index: 2 !important;

    display: block !important;
    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;

    margin: 0 !important;
    padding: 0 !important;

    opacity: 0 !important;
    transition: opacity .28s ease !important;
}

/* Desktop : deuxième image seulement au survol */
@media (min-width: 768px) {

    #product-category .ft-product-hover-image:hover .ft-product-image-hover,
    #product-product .ft-related-grid .ft-product-hover-image:hover .ft-product-image-hover {
        opacity: 1 !important;
    }

    #product-category .ft-product-hover-image:hover .ft-product-image-main,
    #product-product .ft-related-grid .ft-product-hover-image:hover .ft-product-image-main {
        opacity: 0 !important;
    }
}

/* Mobile : première image uniquement */
@media (max-width: 767px) {

    #product-category .ft-product-image-hover,
    #product-product .ft-related-grid .ft-product-image-hover {
        display: none !important;
    }
}


/* =========================================================
   FLYING TOUTOU — ESPACEMENT BAS FICHE PRODUIT
   ========================================================= */

#product-product .ft-size-accordion-toggle {
    margin-bottom: 0 !important;
}

#product-product .ft-size-accordion-content {
    margin-bottom: 12px !important;
}

#product-product .ft-product-share {
    margin-top: 18px !important;
    margin-bottom: 16px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

#product-product .ft-related-title {
    margin-top: 16px !important;
    margin-bottom: 18px !important;
}


/* =========================================================
   FLYING TOUTOU — ONGLETS FICHE PRODUIT SIMPLIFIÉS
   ========================================================= */

#product-product .ft-product-tabs-clean {
    margin-top: 12px !important;
    margin-bottom: 10px !important;
}

#product-product .ft-product-tabs-clean > li {
    float: none !important;
    display: inline-block !important;
}

#product-product .ft-product-tabs-clean > li > a {
    padding: 6px 0 !important;
    margin-right: 22px !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid transparent !important;
}

#product-product .ft-product-tabs-clean > li.active > a,
#product-product .ft-product-tabs-clean > li > a:hover {
    color: #d7b87c !important;
    border-bottom-color: #d7b87c !important;
}


/* =========================================================
   FLYING TOUTOU — MÉTADONNÉES PRODUIT PLUS DISCRÈTES
   ========================================================= */

#product-product .ft-product-buy > ul.list-unstyled:first-of-type {
    margin: 4px 0 14px !important;
    padding: 0 !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    color: #9f9a90 !important;
}

#product-product .ft-product-buy > ul.list-unstyled:first-of-type li {
    display: inline-block !important;
    margin: 0 14px 0 0 !important;
    padding: 0 !important;
}

#product-product .ft-product-buy > ul.list-unstyled:first-of-type a {
    color: #b8ae9b !important;
}

@media (max-width: 767px) {
    #product-product .ft-product-buy > ul.list-unstyled:first-of-type li {
        display: block !important;
        margin-bottom: 2px !important;
    }
}


/* =========================================================
   FLYING TOUTOU — BLOC ACHAT PRODUIT PREMIUM
   ========================================================= */

#product-product .ft-product-buy > ul.list-unstyled:nth-of-type(2) {
    margin: 10px 0 14px !important;
}

#product-product .ft-product-buy > ul.list-unstyled:nth-of-type(2) h2 {
    margin: 0 !important;
    font-size: 25px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
    color: #f4f1ea !important;
}

/* Options / quantité */
#product-product #product .form-group {
    margin-bottom: 12px !important;
}

#product-product #product .control-label {
    margin-bottom: 5px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #eee7da !important;
}

#product-product #product .form-control {
    height: 38px !important;
    padding: 7px 11px !important;

    background: #121212 !important;
    color: #f3f0e9 !important;

    border: 1px solid #494949 !important;
    border-radius: 2px !important;

    box-shadow: none !important;
}

#product-product #product .form-control:focus {
    border-color: #c9a65d !important;
    box-shadow: none !important;
}

/* Ajouter au panier */
#product-product #button-cart {
    margin-top: 4px !important;
    padding: 10px 17px !important;

    min-height: 40px !important;

    background: #d7b87c !important;
    color: #111 !important;

    border: 1px solid #d7b87c !important;
    border-radius: 2px !important;

    font-size: 14px !important;
    font-weight: 500 !important;
    text-transform: none !important;

    transition: opacity .18s ease, transform .18s ease !important;
}

#product-product #button-cart:hover {
    opacity: .90 !important;
    transform: translateY(-1px);
}

/* Évaluations plus secondaires */
#product-product .rating {
    margin-top: 11px !important;
    font-size: 11px !important;
}

#product-product .rating p {
    margin: 0 !important;
}

#product-product .rating a {
    color: #d7b87c !important;
}

/* Petit resserrement général du bloc droit */
#product-product .ft-product-buy {
    line-height: 1.35;
}


/* =========================================================
   FLYING TOUTOU — FINITION ACHAT BOUTIQUE PREMIUM
   ========================================================= */

/* Sélecteur de grandeur */
#product-product #product select.form-control {
    height: 42px !important;
    padding: 8px 12px !important;
    border: 1px solid #3c3a36 !important;
    background-color: #101010 !important;
}

/* Quantité : inutile de lui donner toute la largeur */
#product-product #input-quantity {
    width: 88px !important;
    max-width: 88px !important;
    height: 40px !important;
    text-align: center !important;
}

/* Labels plus fins */
#product-product #product .control-label {
    font-size: 11px !important;
    letter-spacing: .25px !important;
    color: #d8d1c5 !important;
}

/* CTA principal */
#product-product #button-cart {
    display: block !important;
    width: 100% !important;
    max-width: 360px !important;

    margin-top: 17px !important;
    padding: 12px 20px !important;

    background: #d7b87c !important;
    border: 1px solid #d7b87c !important;
    color: #111 !important;

    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: .15px !important;

    border-radius: 1px !important;
    box-shadow: none !important;
}

#product-product #button-cart:hover {
    background: #e0c58e !important;
    border-color: #e0c58e !important;
    opacity: 1 !important;
    transform: none !important;
}

/* Avis : présents mais vraiment secondaires */
#product-product .rating {
    margin-top: 13px !important;
    opacity: .72;
}

#product-product .rating .fa {
    font-size: 12px !important;
}

#product-product .rating a {
    font-size: 10px !important;
}

/* Un peu plus d'air entre prix et options */
#product-product .ft-product-buy > ul.list-unstyled:nth-of-type(2) {
    margin-bottom: 17px !important;
}


/* =========================================================
   FLYING TOUTOU — RESTAURE INTERACTION BLOC ACHAT
   ========================================================= */

#product-product .ft-product-buy,
#product-product #product,
#product-product #product .form-group,
#product-product #product select,
#product-product #product input,
#product-product #button-cart {
    position: relative !important;
    z-index: 20 !important;
    pointer-events: auto !important;
}

#product-product .ft-product-buy::before,
#product-product .ft-product-buy::after,
#product-product #product::before,
#product-product #product::after {
    pointer-events: none !important;
}

#product-product #product select.form-control,
#product-product #input-quantity,
#product-product #button-cart {
    cursor: pointer !important;
}


/* =========================================================
   FLYING TOUTOU — RESTAURE CLIC IMAGE PRINCIPALE
   ========================================================= */

#product-product .thumbnails,
#product-product .thumbnails > li,
#product-product .thumbnails > li:first-child,
#product-product .thumbnails > li:first-child > a.thumbnail,
#product-product .thumbnails > li:first-child > a.thumbnail img {
    position: relative !important;
    pointer-events: auto !important;
}

#product-product .thumbnails > li:first-child {
    z-index: 10 !important;
}

#product-product .thumbnails > li:first-child > a.thumbnail {
    z-index: 11 !important;
    cursor: zoom-in !important;
}

#product-product .thumbnails > li:first-child > a.thumbnail img {
    z-index: 12 !important;
}


/* =========================================================
   FLYING TOUTOU — ÉQUILIBRE IMAGE / BLOC ACHAT
   ========================================================= */

@media (min-width: 992px) {

    #product-product #content > .row.ft-product-main > div:first-child {
        width: 60% !important;
    }

    #product-product #content > .row > div.ft-product-buy {
        width: 40% !important;
    }

}


/* =========================================================
   FLYING TOUTOU — RETOUR ÉQUILIBRE ORIGINAL 2/3 - 1/3
   ========================================================= */

@media (min-width: 992px) {

    #product-product #content > .row.ft-product-main > div:first-child {
        width: 66.66666667% !important;
    }

    #product-product #content > .row > div.ft-product-buy {
        width: 33.33333333% !important;
    }

}


/* =========================================================
   FLYING TOUTOU — BAS DE FICHE PLUS COMPACT
   ========================================================= */

/* Miniatures */
#product-product .thumbnails {
    margin-bottom: 10px !important;
}

#product-product .image-additional {
    margin-bottom: 0 !important;
}

/* Onglet Évaluations */
#product-product .ft-product-tabs-clean {
    margin-top: 6px !important;
    margin-bottom: 6px !important;
}

/* Contenu des onglets */
#product-product .tab-content {
    margin-bottom: 6px !important;
}

/* Partager */
#product-product .ft-product-share {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}

/* Produits associés */
#product-product .ft-related-title {
    margin-top: 12px !important;
    margin-bottom: 14px !important;
}

/* =========================================================
   FLYING TOUTOU — IMAGE PRINCIPALE : CLIC / LIGHTBOX
   ========================================================= */

#product-product .thumbnails > li:first-child,
#product-product .thumbnails > li:first-child > a.thumbnail,
#product-product .thumbnails > li:first-child > a.thumbnail img {
    position: relative !important;
    pointer-events: auto !important;
}

#product-product .thumbnails > li:first-child > a.thumbnail {
    cursor: zoom-in !important;
}

#product-product .thumbnails > li:first-child > a.thumbnail img {
    transform: none !important;
}



/* =========================================================
   FLYING TOUTOU — ÉVALUATIONS BOUTON SIMPLE FINAL
   ========================================================= */

#product-product #tab-review[hidden] {
    display: none !important;
}

#product-product .ft-review-simple-toggle {
    padding: 6px 0 !important;
    margin: 6px 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid transparent !important;
    color: #d7b87c !important;
    font-size: 12px !important;
    cursor: pointer !important;
}

#product-product .ft-review-simple-toggle:hover,
#product-product .ft-review-simple-toggle[aria-expanded="true"] {
    border-bottom-color: #d7b87c !important;
}


/* =========================================================
   FLYING TOUTOU — PARTAGE PRODUIT STYLE LIEN + COPIE
   ========================================================= */

#product-product .ft-share-title {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 7px;
    color: #c8c1b6;
    font-size: 13px;
}

#product-product .ft-share-title i {
    color: #d7b87c;
}

#product-product .ft-share-copy-row {
    display: flex;
    align-items: stretch;
    width: 100%;
    max-width: 520px;
}

#product-product .ft-share-url {
    flex: 1 1 auto;
    min-width: 0;
    height: 34px;
    padding: 6px 10px;
    background: transparent;
    border: 1px solid #3a3732;
    border-right: 0;
    color: #aaa49b;
    font-size: 12px;
    box-shadow: none;
}

#product-product .ft-share-copy-button {
    width: 38px;
    height: 34px;
    padding: 0;
    background: transparent;
    border: 1px solid #3a3732;
    color: #d7b87c;
    cursor: pointer;
}

#product-product .ft-share-copy-button:hover,
#product-product .ft-share-copy-button:focus {
    background: rgba(215,184,124,.08);
    outline: none;
}

#product-product .ft-share-confirm {
    display: inline-block;
    margin: 5px 0 0;
}

/* =========================================================
   FLYING TOUTOU — PARTAGE PRODUIT FERMÉ PAR DÉFAUT
   ========================================================= */

#product-product .ft-share-copy-row,
#product-product .ft-share-confirm {
    display: none;
}

#product-product .ft-product-share.is-open .ft-share-copy-row {
    display: flex;
}

#product-product .ft-product-share.is-open .ft-share-confirm {
    display: inline-block;
}

/* =========================================================
   FLYING TOUTOU — UNITÉS GUIDE DES TAILLES
   ========================================================= */

#product-product .ft-dev-size-guide .ft-unit-cm {
    color: #f4f1ea;
}

#product-product .ft-dev-size-guide .ft-unit-in {
    color: #d7b87c;
}

#product-product .ft-dev-size-guide .ft-value-cm {
    color: #f4f1ea;
}

#product-product .ft-dev-size-guide .ft-value-in {
    color: #d7b87c;
}

#product-product .ft-dev-size-guide .ft-unit-separator {
    display: inline-block;
    margin: 0 6px;
    color: #777;
}

/* FLYING TOUTOU — distinction métrique / impérial */
#product-product .ft-dev-size-guide .ft-unit-cm,
#product-product .ft-dev-size-guide .ft-value-cm {
    color: #f4f1ea !important;
}

#product-product .ft-dev-size-guide .ft-unit-in,
#product-product .ft-dev-size-guide .ft-value-in {
    color: #d7b87c !important;
}

#product-product .ft-dev-size-guide .ft-unit-separator {
    display: inline-block !important;
    margin: 0 10px !important;
    color: #777 !important;
}
/* FLYING TOUTOU — MOBILE : UNE SEULE IMAGE PRODUIT */
@media (hover: none), (pointer: coarse) {
    #product-category .ft-product-image-hover,
    #product-product .ft-related-grid .ft-product-image-hover {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }

    #product-category .ft-product-image-main,
    #product-product .ft-related-grid .ft-product-image-main {
        display: block !important;
        opacity: 1 !important;
        position: relative !important;
    }
}
/* =========================================================
   FLYING TOUTOU — FICHE PRODUIT MOBILE FINAL
   ========================================================= */

@media (max-width: 767px) {

    /* PARTAGER */
    #product-product .ft-product-share {
        display: block !important;
        width: 100% !important;
        margin: 10px 0 0 !important;
        padding: 0 !important;
    }

    #product-product .ft-share-title {
        display: flex !important;
        align-items: center !important;
        gap: 7px !important;
        width: 100% !important;
        min-height: 36px !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #f4f1ea !important;
        background: transparent !important;
        border: 0 !important;
        border-bottom: 1px solid #3a3732 !important;
        cursor: pointer !important;
    }

    #product-product .ft-share-title i {
        color: #d7b87c !important;
    }

    #product-product .ft-share-copy-row {
        display: none !important;
        width: 100% !important;
        margin: 7px 0 0 !important;
    }

    #product-product .ft-product-share.is-open .ft-share-copy-row {
        display: flex !important;
    }

    #product-product .ft-share-url {
        color: #f4f1ea !important;
        background: #171717 !important;
        border-color: #5a554d !important;
    }

    #product-product .ft-share-copy-button {
        color: #d7b87c !important;
        background: #171717 !important;
        border-color: #5a554d !important;
    }


    /* GUIDE DES TAILLES */
    #product-product .ft-size-accordion-toggle {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        height: 38px !important;
        min-height: 38px !important;
        margin: 8px 0 0 !important;
        padding: 0 !important;
        color: #f4f1ea !important;
        background: transparent !important;
        border: 0 !important;
        border-bottom: 1px solid #3a3732 !important;
        box-shadow: none !important;
        text-align: left !important;
    }

    #product-product .ft-size-accordion-toggle span,
    #product-product .ft-size-accordion-toggle i {
        color: #d7b87c !important;
    }

    #product-product .ft-size-accordion-content {
        margin: 0 !important;
        padding: 6px 0 !important;
    }


    /* DÉTAILS DU PRODUIT */
    #product-product .ft-product-details-wrap {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #product-product .ft-product-details-toggle {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        height: 38px !important;
        min-height: 38px !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #f4f1ea !important;
        background: transparent !important;
        border: 0 !important;
        border-bottom: 1px solid #3a3732 !important;
        box-shadow: none !important;
        text-align: left !important;
    }

    #product-product .ft-product-details-toggle span,
    #product-product .ft-product-details-toggle i {
        color: #d7b87c !important;
    }

    #product-product .ft-product-details-content {
        margin: 0 !important;
        padding: 6px 0 !important;
    }


    /* ÉVALUATIONS */
    #product-product .ft-review-simple {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #product-product .ft-review-simple-toggle {
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
        height: 38px !important;
        min-height: 38px !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #d7b87c !important;
        background: transparent !important;
        border: 0 !important;
        border-bottom: 1px solid #3a3732 !important;
        box-shadow: none !important;
        text-align: left !important;
    }

    #product-product .ft-review-panel {
        margin: 0 !important;
        padding: 8px 0 !important;
    }


    /* SUPPRESSION DES GROS VIDES */
    #product-product .ft-product-buy {
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
    }

    #product-product .ft-related-grid {
        margin-top: 12px !important;
        padding-top: 0 !important;
    }

}


/* =========================================================
   FLYING TOUTOU — MOBILE COMPACT VERTICAL
   ========================================================= */
@media (max-width: 767px) {

    #product-product .ft-size-accordion-toggle,
    #product-product .ft-product-details-toggle,
    #product-product .ft-review-simple-toggle {
        margin: 0 !important;
    }

    #product-product .ft-product-details-wrap {
        margin: 0 !important;
        padding: 0 !important;
        min-height: 0 !important;
        height: auto !important;
    }

    #product-product .ft-product-details-content {
        margin: 0 !important;
        padding: 8px 0 !important;
        min-height: 0 !important;
        height: auto !important;
    }

    #product-product .ft-details-description {
        margin: 0 0 8px !important;
        padding: 0 !important;
        min-height: 0 !important;
    }

    #product-product .ft-details-meta {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        min-height: 0 !important;
        height: auto !important;
    }

    #product-product .ft-details-meta > div {
        display: block !important;
        margin: 5px 0 !important;
        padding: 0 !important;
        min-height: 0 !important;
        height: auto !important;
        line-height: 1.4 !important;
    }

    #product-product .ft-review-simple {
        margin: 8px 0 0 !important;
        padding: 0 !important;
    }

    #product-product .ft-review-panel {
        margin: 0 !important;
        padding: 8px 0 !important;
        min-height: 0 !important;
    }

    #product-product #review {
        margin: 0 !important;
        padding: 0 !important;
        min-height: 0 !important;
    }

    #product-product #form-review {
        margin: 0 !important;
        padding: 0 !important;
    }
}

/* =========================================================
   FLYING TOUTOU — DÉTAILS MOBILE : NEUTRALISE ESPACEMENT HÉRITÉ
   ========================================================= */
@media (max-width: 767px) {

    #product-product .ft-product-details-content {
        display: block !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 7px 0 !important;
        overflow: visible !important;
    }

    #product-product .ft-details-meta {
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-auto-rows: auto !important;
        align-content: start !important;
        justify-content: start !important;
        gap: 4px !important;

        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        margin: 0 !important;
        padding: 0 !important;

        position: static !important;
        float: none !important;
        clear: none !important;
        transform: none !important;
    }

    #product-product .ft-details-meta > div {
        display: block !important;
        position: static !important;
        float: none !important;
        clear: none !important;
        transform: none !important;

        width: auto !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        margin: 0 !important;
        padding: 0 !important;

        line-height: 1.35 !important;
    }
}

/* =========================================================
   FLYING TOUTOU — ÉTAT ACCORDÉON DÉTAILS FIABLE
   ========================================================= */

#product-product .ft-product-details-toggle[aria-expanded="false"] + .ft-product-details-content {
    display: none !important;
}

#product-product .ft-product-details-toggle[aria-expanded="true"] + .ft-product-details-content {
    display: block !important;
}

@media (max-width: 767px) {

    #product-product .ft-product-details-wrap {
        height: auto !important;
        min-height: 0 !important;
    }

    #product-product .ft-product-details-content {
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 7px 0 !important;
    }

    #product-product .ft-details-meta {
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        display: grid !important;
        gap: 3px !important;
    }

    #product-product .ft-details-meta > div {
        margin: 0 !important;
        padding: 0 !important;
        height: auto !important;
        min-height: 0 !important;
    }
}

/* =========================================================
   FLYING TOUTOU — DÉTAILS : NE PAS INTERPRÉTER LES RETOURS HTML
   ========================================================= */

#product-product .ft-product-details-wrap,
#product-product .ft-product-details-content,
#product-product .ft-details-meta,
#product-product .ft-details-meta > div {
    white-space: normal !important;
}


/* FLYING TOUTOU — PRODUITS LIÉS MOBILE : ICÔNES VISIBLES */
@media (max-width: 767px) {

    #product-product .ft-related-grid .product-thumb .button-group {
        display: flex !important;
        width: 100% !important;
        background: #111 !important;
        border-top: 1px solid #3d382f !important;
    }

    #product-product .ft-related-grid .product-thumb .button-group button {
        display: block !important;
        float: none !important;
        width: 33.333% !important;
        height: 38px !important;
        padding: 0 !important;
        line-height: 38px !important;
        background: #111 !important;
        color: #d7b87c !important;
        border: 0 !important;
        border-right: 1px solid #3d382f !important;
    }

    #product-product .ft-related-grid .product-thumb .button-group button:last-child {
        border-right: 0 !important;
    }

    #product-product .ft-related-grid .product-thumb .button-group button i {
        color: #d7b87c !important;
        font-size: 16px !important;
    }
}

/* FLYING TOUTOU — PRODUITS LIÉS MOBILE COMPACTS */
@media (max-width: 767px) {

    #product-product .ft-related-grid .product-thumb {
        margin-bottom: 10px !important;
    }

    #product-product .ft-related-grid .product-thumb .price {
        padding: 5px 0 4px !important;
    }

    #product-product .ft-related-grid .product-thumb .caption h4 {
        margin-bottom: 0 !important;
    }
}


/* FLYING TOUTOU — GUIDE DES TAILLES MOBILE AJUSTÉ À L'ÉCRAN */
@media (max-width: 767px) {

    #product-product .ft-dev-size-guide .table-responsive {
        width: 100% !important;
        overflow: visible !important;
    }

    #product-product .ft-dev-size-guide .table-responsive table {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        table-layout: fixed !important;
        font-size: 11px !important;
    }

    #product-product .ft-dev-size-guide th,
    #product-product .ft-dev-size-guide td {
        padding: 5px 4px !important;
        line-height: 1.2 !important;
    }

    #product-product .ft-dev-size-guide th:nth-child(1),
    #product-product .ft-dev-size-guide td:nth-child(1) {
        width: 12% !important;
    }

    #product-product .ft-dev-size-guide th:nth-child(2),
    #product-product .ft-dev-size-guide td:nth-child(2) {
        width: 29% !important;
    }

    #product-product .ft-dev-size-guide th:nth-child(3),
    #product-product .ft-dev-size-guide td:nth-child(3) {
        width: 32% !important;
    }

    #product-product .ft-dev-size-guide th:nth-child(4),
    #product-product .ft-dev-size-guide td:nth-child(4) {
        width: 27% !important;
    }

    #product-product .ft-dev-size-guide td {
        white-space: nowrap !important;
    }

    #product-product .ft-dev-size-guide th {
        white-space: normal !important;
    }

    #product-product .ft-dev-size-guide .ft-unit-separator {
        margin: 0 3px !important;
    }
}

/* FLYING TOUTOU — PRODUITS LIÉS MOBILE FINITION */
@media (max-width: 767px) {

    #product-product .ft-related-grid .product-thumb .caption h4 {
        height: 42px !important;
        margin: -42px 0 0 !important;
        padding: 15px 10px 6px !important;
        font-size: 14px !important;
        line-height: 1.15 !important;
    }

    #product-product .ft-related-grid .product-thumb .price {
        margin: 0 !important;
        padding: 4px 0 3px !important;
        line-height: 1.2 !important;
    }

    #product-product .ft-related-grid .product-thumb .button-group {
        margin: 0 !important;
        padding: 0 !important;
        min-height: 38px !important;
    }

    #product-product .ft-related-grid .product-thumb .button-group button {
        min-height: 38px !important;
    }
}

/* FLYING TOUTOU — FICHES PARTENAIRES : LOGOS COMPLETS SANS CROPPING */
#product-category .ft-category-hero-image img[src*="/image/cache/catalog/partenaires/"] {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
}

/* FLYING TOUTOU — TITRES FOOTER ACCESSIBLES */
footer .ft-footer-title {
    font-size: 14px;
    font-weight: bold;
    line-height: 1.1;
    margin-top: 10px;
    margin-bottom: 10px;
}

/* FLYING TOUTOU — ACCESSIBILITÉ : CIBLES TACTILES FOOTER */
footer .list-unstyled li a {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
}

/* =========================================================
   FLYING TOUTOU — FAQ
   ========================================================= */

.ft-faq {
    max-width: 900px;
    margin: 0 auto 40px;
}

.ft-faq > h2 {
    margin: 0 0 15px;
    font-size: 30px;
    font-weight: 600;
    text-align: center;
}

.ft-faq > p {
    max-width: 760px;
    margin: 0 auto 28px;
    text-align: center;
    line-height: 1.7;
}

.ft-faq details {
    margin-bottom: 12px;
    border: 1px solid #e4e4e4;
    border-radius: 4px;
    background: #fff;
    overflow: hidden;
}

.ft-faq summary {
    position: relative;
    padding: 17px 50px 17px 20px;
    cursor: pointer;
    list-style: none;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
}

.ft-faq summary::-webkit-details-marker {
    display: none;
}

.ft-faq summary::after {
    content: "+";
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    color: #d7b87c;
    font-size: 25px;
    font-weight: 300;
}

.ft-faq details[open] summary::after {
    content: "−";
}

.ft-faq details[open] summary {
    border-bottom: 1px solid #eeeeee;
}

.ft-faq details p {
    margin: 0;
    padding: 17px 20px 20px;
    line-height: 1.7;
}

@media (max-width: 767px) {

    .ft-faq {
        margin-bottom: 25px;
    }

    .ft-faq > h2 {
        font-size: 24px;
    }

    .ft-faq > p {
        margin-bottom: 20px;
    }

    .ft-faq summary {
        padding: 15px 45px 15px 15px;
        font-size: 15px;
    }

    .ft-faq summary::after {
        right: 15px;
    }

    .ft-faq details p {
        padding: 15px;
    }
}

/* FLYING TOUTOU — FAQ : CONTRASTE LECTURE */
.ft-faq summary {
    color: #2f2f2f !important;
}

.ft-faq details p {
    color: #444444 !important;
}

.ft-faq details {
    background: #ffffff !important;
}

/* FT 20261006 - logo officiel dimensions validées F12 */
#logo img {
    width: auto !important;
    max-width: 360px !important;
    max-height: 152px !important;
}

/* FT 20261006 - logo officiel dimensions validées F12 */
#logo img {
    width: auto !important;
    max-width: 360px !important;
    max-height: 152px !important;
}


/* =========================================================
   FT 20261006 - Alignement logo / slogan / icônes
   ========================================================= */

@media (min-width: 768px) {

    .ft-main-header-row {
        display: flex !important;
        align-items: center !important;
        min-height: 152px;
    }

    .ft-logo-column {
        flex: 0 0 360px;
        width: 360px;
        max-width: 360px;
        padding-left: 0;
    }

    #logo img {
        width: auto !important;
        max-width: 360px !important;
        max-height: 152px !important;
    }

    .ft-header-tagline-wrap {
        flex: 1 1 auto;
        display: flex;
        align-items: center;
        justify-content: center;
        align-self: stretch;
        padding: 0 25px;
    }

    .ft-header-tagline-wrap .ft-tagline {
        margin: 0 !important;
        padding: 0 !important;
        width: auto !important;
        text-align: center !important;
    }

    .ft-header-actions {
        flex: 0 0 230px;
        width: 230px;
        max-width: 230px;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        align-self: stretch;
    }

}


/* Mobile : conserve le comportement vertical */
@media (max-width: 767px) {

    .ft-header-tagline-wrap {
        width: 100%;
        text-align: center;
    }

}

/* FT 20261006 - Galerie : cartes vidéo de hauteur uniforme */
.ft-gallery-video-item.ft-video-16-9,
.ft-gallery-video-item.ft-video-9-16 {
    width: 100%;
    aspect-ratio: 9 / 16 !important;
}


/* =========================================================
   FLYING TOUTOU - FORMULAIRE VOYAGE CHIEN
   2026-10-06
   ========================================================= */

.ft-form-page {
    max-width: 1180px;
    margin: 0 auto 50px;
}

.ft-form-hero {
    margin: 20px 0 28px;
    padding: 28px 30px;
    background: #151515;
    border: 1px solid #333333;
}

.ft-form-hero h1 {
    margin-top: 0;
    color: #d7b87c;
}

.ft-form-hero p {
    max-width: 900px;
    margin-bottom: 0;
    color: #eeeeee;
    line-height: 1.65;
}


.ft-dog-form {
    width: 100%;
}

.ft-form-section {
    margin-bottom: 26px;
    padding: 26px 28px;
    background: #151515;
    border: 1px solid #333333;
}

.ft-form-section h2,
.ft-form-annexe h2 {
    margin: 0 0 22px;
    padding-bottom: 10px;
    color: #d7b87c;
    border-bottom: 1px solid #3a3a3a;
}

.ft-form-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px 22px;
}

.ft-form-grid label {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.ft-form-grid label span {
    color: #f0f0f0;
    font-weight: 600;
}

.ft-form-grid small {
    color: #aaaaaa;
    line-height: 1.4;
}

.ft-form-grid .ft-span-2 {
    grid-column: span 2;
}


.ft-dog-form input[type="text"],
.ft-dog-form input[type="email"],
.ft-dog-form input[type="date"],
.ft-dog-form input[type="number"] {
    width: 100%;
    min-height: 42px;
    padding: 9px 11px;
    background: #0d0d0d;
    color: #ffffff;
    border: 1px solid #555555;
    border-radius: 3px;
}

.ft-dog-form input:focus {
    border-color: #d7b87c;
    outline: none;
    box-shadow: 0 0 0 1px #d7b87c;
}

.ft-dog-form input[type="radio"] {
    margin-right: 5px;
}


.ft-form-question {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 18px;
    margin: 18px 0;
    padding: 15px 17px;
    background: #0d0d0d;
    border-left: 3px solid #d7b87c;
}

.ft-form-question > strong {
    flex: 1 1 340px;
    color: #eeeeee;
}

.ft-form-question label {
    white-space: nowrap;
    color: #eeeeee;
    font-weight: normal;
}

.ft-form-question input[type="text"] {
    flex: 1 1 180px;
    max-width: 280px;
}


.ft-upload-box {
    margin: 10px 0 22px;
    padding: 16px;
    border: 1px dashed #66583d;
    background: #111111;
}

.ft-upload-box strong {
    display: block;
    margin-bottom: 10px;
    color: #d7b87c;
}

.ft-upload-box input[type="file"],
.ft-form-grid input[type="file"] {
    width: 100%;
    color: #eeeeee;
}


.ft-honeypot {
    position: absolute !important;
    left: -99999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}


.ft-captcha {
    display: block;
    max-width: 420px;
    margin-bottom: 20px;
    color: #eeeeee;
}

.ft-captcha span {
    display: block;
    margin-bottom: 8px;
}

.ft-captcha strong {
    display: inline-block;
    padding: 2px 7px;
    background: #d7b87c;
    color: #111111;
    border-radius: 3px;
}


.ft-form-submit {
    min-width: 210px;
    padding: 12px 24px;
    background: #d7b87c;
    color: #111111;
    border: 0;
    border-radius: 3px;
    font-weight: 700;
    transition: background .2s ease;
}

.ft-form-submit:hover {
    background: #c7a665;
}

.ft-form-submit:disabled {
    opacity: .6;
    cursor: wait;
}


.ft-form-response {
    display: none;
    margin-top: 18px;
    padding: 14px 16px;
    border-radius: 3px;
}

.ft-form-response.ft-form-success,
.ft-form-response.ft-form-error {
    display: block;
}

.ft-form-success {
    background: #173c23;
    color: #dcffe5;
    border: 1px solid #326c44;
}

.ft-form-error {
    background: #481b1b;
    color: #ffe1e1;
    border: 1px solid #873d3d;
}


.ft-form-annexe {
    margin-top: 35px;
    padding: 28px;
    background: #151515;
    border: 1px solid #333333;
    color: #eeeeee;
}

.ft-form-annexe h3 {
    margin-top: 25px;
    color: #d7b87c;
}

.ft-form-annexe li {
    margin-bottom: 6px;
}


.ft-annexe-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin-top: 28px;
}

.ft-annexe-grid figure {
    margin: 0;
    padding: 14px;
    background: #0d0d0d;
    border: 1px solid #333333;
}

.ft-annexe-grid img {
    display: block;
    width: 100%;
    max-height: 420px;
    object-fit: contain;
    background: #ffffff;
}

.ft-annexe-grid figcaption {
    padding-top: 12px;
    color: #d7b87c;
    font-weight: 600;
    text-align: center;
}


@media (max-width: 991px) {

    .ft-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


@media (max-width: 767px) {

    .ft-form-page {
        padding-left: 12px;
        padding-right: 12px;
    }

    .ft-form-hero,
    .ft-form-section,
    .ft-form-annexe {
        padding: 20px 16px;
    }

    .ft-form-grid {
        grid-template-columns: 1fr;
    }

    .ft-form-grid .ft-span-2 {
        grid-column: auto;
    }

    .ft-form-question {
        align-items: flex-start;
    }

    .ft-form-question > strong {
        flex-basis: 100%;
    }

    .ft-form-question input[type="text"] {
        max-width: none;
        width: 100%;
        flex-basis: 100%;
    }

    .ft-annexe-grid {
        grid-template-columns: 1fr;
    }

    .ft-form-submit {
        width: 100%;
    }

}

/* FT 20261006 - Formulaire : grille compacte 4 colonnes */
.ft-form-grid.ft-form-grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 991px) {
    .ft-form-grid.ft-form-grid-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .ft-form-grid.ft-form-grid-4 {
        grid-template-columns: 1fr;
    }
}

/* FT 20261006 - Voyage et santé : 2 blocs par rangée lorsque possible */
.ft-form-health-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin: 18px 0;
}

.ft-form-health-grid .ft-form-question {
    margin: 0;
}

.ft-form-health-grid .ft-form-question > strong {
    flex-basis: 100%;
}

.ft-form-health-grid .ft-form-question input[type="text"] {
    flex: 1 1 100%;
    max-width: none;
}

@media (max-width: 767px) {
    .ft-form-health-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   FT 20261006 - Formulaire compact : réponses courtes
   ========================================================= */

.ft-form-compact-row {
    display: grid;
    grid-template-columns: 1.35fr 1fr 1.35fr;
    gap: 18px;
    align-items: end;
    margin: 18px 0;
}

.ft-form-compact-question {
    min-height: 64px;
    padding: 14px 16px;
    background: #0d0d0d;
    border-left: 3px solid #d7b87c;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 16px;
}

.ft-form-compact-question strong {
    flex: 1 1 180px;
    color: #eeeeee;
}

.ft-form-compact-question label {
    margin: 0;
    color: #eeeeee;
    white-space: nowrap;
}

.ft-form-compact-field {
    display: flex;
    flex-direction: column;
    gap: 7px;
    color: #eeeeee;
}

.ft-form-file-field input[type="file"] {
    min-height: 42px;
    padding-top: 8px;
}


.ft-form-compact-grid-2 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin: 18px 0;
}

.ft-form-compact-grid-2 .ft-form-question {
    margin: 0;
}


/* Question + document sur la même rangée */
.ft-form-doc-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin: 18px 0;
    align-items: stretch;
}

.ft-form-doc-row .ft-form-question,
.ft-form-doc-row .ft-upload-box {
    margin: 0;
    min-height: 72px;
}

.ft-form-doc-row .ft-upload-box {
    display: flex;
    flex-direction: column;
    justify-content: center;
}


@media (max-width: 767px) {

    .ft-form-compact-row,
    .ft-form-compact-grid-2,
    .ft-form-doc-row {
        grid-template-columns: 1fr;
    }

}

/* =========================================================
   FT 20261006 - Voyage : ordre logique et compact
   ========================================================= */

.ft-trip-name-row,
.ft-trip-grid-3,
.ft-trip-grid-4 {
    display: grid;
    gap: 18px 20px;
    margin-bottom: 18px;
}

.ft-trip-name-row {
    grid-template-columns: minmax(0, 310px);
}

.ft-trip-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ft-trip-grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ft-trip-name-row label,
.ft-trip-grid-3 label,
.ft-trip-grid-4 label {
    display: flex;
    flex-direction: column;
    gap: 7px;
    color: #eeeeee;
}

.ft-trip-grid-4 small {
    color: #aaaaaa;
}


/* Micropuce : garder Oui / Non / numéro rapprochés */
.ft-form-question.ft-microchip-row {
    justify-content: flex-start;
}

.ft-form-question.ft-microchip-row > strong {
    flex: 0 0 180px;
}

.ft-form-question.ft-microchip-row label {
    flex: 0 0 auto;
}

.ft-form-question.ft-microchip-row input[type="text"] {
    flex: 0 0 250px;
    width: 250px;
    max-width: 250px;
    margin-left: 8px;
}


@media (max-width: 991px) {

    .ft-trip-grid-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


@media (max-width: 767px) {

    .ft-trip-name-row,
    .ft-trip-grid-3,
    .ft-trip-grid-4 {
        grid-template-columns: 1fr;
    }

    .ft-form-question.ft-microchip-row > strong {
        flex: 1 1 100%;
    }

    .ft-form-question.ft-microchip-row input[type="text"] {
        flex: 1 1 100%;
        width: 100%;
        max-width: none;
        margin-left: 0;
    }

}

/* =========================================================
   FT 20261006 - Bandeau Maître du Voyage
   ========================================================= */

.ft-travel-banner {
    width: 100%;
    padding: 26px 20px;
    background: #d7b87c;
    color: #111111;
}

.ft-travel-banner-inner {
    max-width: 1180px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
}

.ft-travel-banner-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ft-travel-banner-text strong {
    font-size: 22px;
    line-height: 1.25;
}

.ft-travel-banner-text span {
    font-size: 15px;
}

.ft-travel-banner-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 11px 22px;
    background: #111111;
    color: #ffffff !important;
    text-decoration: none !important;
    font-weight: 700;
    border-radius: 3px;
    white-space: nowrap;
    transition: background .2s ease;
}

.ft-travel-banner-button:hover,
.ft-travel-banner-button:focus {
    background: #2b2b2b;
    color: #ffffff !important;
}

@media (max-width: 767px) {

    .ft-travel-banner {
        padding: 22px 16px;
    }

    .ft-travel-banner-inner {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
    }

    .ft-travel-banner-button {
        width: 100%;
    }

}

/* =========================================================
   FT 20261006 - Maître du Voyage avec images
   ========================================================= */

.ft-travel-banner {
    width: 100%;
    padding: 22px 20px 24px;
    background: #d7b87c;
    color: #111111;
}

.ft-travel-banner-inner {
    max-width: 1180px;
    margin: 0 auto;
    text-align: center;
}

.ft-travel-banner-text {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: baseline;
    gap: 8px 14px;
    margin-bottom: 18px;
}

.ft-travel-banner-text strong {
    font-size: 19px;
    line-height: 1.3;
}

.ft-travel-banner-text a {
    color: #111111 !important;
    font-size: 17px;
    font-weight: 700;
    text-decoration: underline;
}

.ft-travel-banner-text a:hover {
    color: #333333 !important;
}


.ft-travel-images {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 16px;
    width: 100%;
}

.ft-travel-images a {
    display: block;
    flex: 1 1 0;
    max-width: 260px;
    overflow: hidden;
    border-radius: 4px;
    background: #111111;
}

.ft-travel-images img {
    display: block;
    width: 100%;
    height: 128px;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.ft-travel-images a:hover img {
    transform: scale(1.06);
}


@media (max-width: 767px) {

    .ft-travel-banner {
        padding: 20px 12px;
    }

    .ft-travel-images {
        overflow-x: auto;
        justify-content: flex-start;
        gap: 12px;
        padding-bottom: 4px;
    }

    .ft-travel-images a {
        flex: 0 0 70%;
        max-width: 260px;
    }

    .ft-travel-images img {
        height: 120px;
    }

}

/* =========================================================
   FT 20261006 - HERO TEST 4 SLIDES
   Slide 1 = nouveau hero intact
   Slides 2-4 = anciens visuels
   ========================================================= */

.ft-hero-carousel {
    position: relative;
    width: 100%;
    aspect-ratio: 1920 / 676;
    overflow: hidden;
    background: #111;
}

.ft-hero-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity .7s ease;
    pointer-events: none;
}

.ft-hero-slide.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    z-index: 2;
}

.ft-hero-carousel .flying-header {
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
}

.ft-hero-old-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ft-hero-old-caption {
    position: absolute;
    right: 8%;
    top: 50%;
    transform: translateY(-50%);
    width: min(52%, 850px);
    text-align: right;
    color: #fff;
    text-shadow:
        2px 2px 4px rgba(0,0,0,.95),
        0 0 8px rgba(0,0,0,.55);
}

.ft-hero-old-caption h2 {
    margin: 0 0 12px;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(38px, 4.5vw, 78px);
    line-height: 1.03;
    font-weight: 700;
}

.ft-hero-old-caption p {
    margin: 0;
    color: #fff;
    font-size: clamp(17px, 1.45vw, 27px);
    line-height: 1.3;
    font-weight: 600;
}

.ft-hero-arrow {
    position: absolute;
    top: 50%;
    z-index: 10;
    width: 46px;
    height: 46px;
    transform: translateY(-50%);
    border: 1px solid rgba(255,255,255,.45);
    border-radius: 50%;
    background: rgba(0,0,0,.30);
    color: #fff;
    font-size: 34px;
    line-height: 38px;
    text-align: center;
    cursor: pointer;
}

.ft-hero-prev {
    left: 22px;
}

.ft-hero-next {
    right: 22px;
}

.ft-hero-arrow:hover {
    background: rgba(0,0,0,.60);
    border-color: #d7b87c;
    color: #d7b87c;
}

.ft-hero-dots {
    position: absolute;
    left: 50%;
    bottom: 14px;
    z-index: 10;
    display: flex;
    gap: 8px;
    transform: translateX(-50%);
}

.ft-hero-dots button {
    width: 10px;
    height: 10px;
    padding: 0;
    border: 1px solid #fff;
    border-radius: 50%;
    background: rgba(0,0,0,.35);
}

.ft-hero-dots button.is-active {
    background: #d7b87c;
    border-color: #d7b87c;
}


@media (max-width: 600px) {

    .ft-hero-carousel {
        aspect-ratio: 4 / 3;
    }

    .ft-hero-old-image {
        object-position: center center;
    }

    .ft-hero-old-caption {
        right: 7%;
        bottom: 12%;
        top: auto;
        transform: none;
        width: 86%;
    }

    .ft-hero-old-caption h2 {
        font-size: clamp(28px, 9vw, 44px);
    }

    .ft-hero-old-caption p {
        font-size: 15px;
    }

    .ft-hero-arrow {
        width: 36px;
        height: 36px;
        font-size: 27px;
        line-height: 29px;
    }

    .ft-hero-prev {
        left: 8px;
    }

    .ft-hero-next {
        right: 8px;
    }

}

/* FT 20261006 - centrage flèches hero */
.ft-hero-arrow {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    padding: 0 !important;
}

@media (max-width: 600px) {
    .ft-hero-arrow {
        font-size: 26px !important;
        line-height: 1 !important;
    }
}

/* =========================================================
   FT 20261006 - Hero : flèches parfaitement centrées
   + texte FR/EN toujours du même côté
   ========================================================= */

.ft-hero-arrow {
    font-size: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
}

.ft-hero-arrow::before {
    content: "";
    display: block;
    width: 9px;
    height: 9px;
    border-top: 3px solid currentColor;
    border-right: 3px solid currentColor;
}

.ft-hero-next::before {
    transform: rotate(45deg);
    margin-left: -3px;
}

.ft-hero-prev::before {
    transform: rotate(-135deg);
    margin-right: -3px;
}

/* Même position du texte en français et en anglais */
.ft-hero-old-caption {
    left: auto !important;
    right: 8% !important;
    text-align: right !important;
}

@media (max-width: 600px) {

    .ft-hero-old-caption {
        left: auto !important;
        right: 7% !important;
        text-align: right !important;
    }

    .ft-hero-arrow::before {
        width: 8px;
        height: 8px;
        border-width: 3px 3px 0 0;
    }
}

/* =========================================================
   FT 20261006 - Accueil / Agence de voyages
   ========================================================= */

.ft-home-travel-agency {
    width: 100%;
    padding: 58px 20px 62px;
    background: #151413;
    color: #d8d2c8;
    border-top: 1px solid #332f2a;
    border-bottom: 1px solid #332f2a;
}

.ft-home-travel-inner {
    max-width: 1180px;
    margin: 0 auto;
}

.ft-home-travel-intro {
    max-width: 850px;
    margin: 0 auto 42px;
    text-align: center;
}

.ft-home-travel-eyebrow {
    margin-bottom: 13px;
    color: #d7b87c;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
}

.ft-home-travel-intro h2 {
    margin: 0 0 18px;
    color: #f4f1ea;
    font-size: 36px;
    line-height: 1.2;
    font-weight: 600;
}

.ft-home-travel-intro p {
    margin: 0;
    color: #cfc8bd;
    font-size: 17px;
    line-height: 1.75;
}

.ft-home-travel-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: #39352f;
    border: 1px solid #39352f;
}

.ft-home-travel-step {
    min-height: 185px;
    padding: 30px;
    background: #1c1a18;
}

.ft-home-travel-step span {
    display: block;
    margin-bottom: 18px;
    color: #d7b87c;
    font-size: 13px;
    font-weight: 700;
}

.ft-home-travel-step strong {
    display: block;
    margin-bottom: 10px;
    color: #f4f1ea;
    font-size: 22px;
    font-weight: 600;
}

.ft-home-travel-step p {
    margin: 0;
    color: #bbb3a7;
    font-size: 15px;
    line-height: 1.6;
}

.ft-home-travel-action {
    margin-top: 32px;
    text-align: center;
}

.ft-home-travel-action a {
    display: inline-block;
    padding: 13px 25px;
    border: 1px solid #d7b87c;
    color: #d7b87c !important;
    font-weight: 700;
    text-decoration: none !important;
    transition: .2s ease;
}

.ft-home-travel-action a:hover {
    background: #d7b87c;
    color: #111 !important;
}

@media (max-width: 767px) {

    .ft-home-travel-agency {
        padding: 40px 16px 44px;
    }

    .ft-home-travel-intro {
        margin-bottom: 30px;
    }

    .ft-home-travel-intro h2 {
        font-size: 28px;
    }

    .ft-home-travel-intro p {
        font-size: 16px;
    }

    .ft-home-travel-steps {
        grid-template-columns: 1fr;
    }

    .ft-home-travel-step {
        min-height: 0;
        padding: 24px;
    }
}

/* =========================================================
   FT 20261006 - Accueil / Services voyage
   ========================================================= */

.ft-travel-services {
    width: 100%;
    padding: 58px 20px 62px;
    background: #0d0d0d;
    border-bottom: 1px solid #302d29;
}

.ft-travel-services-inner {
    max-width: 1180px;
    margin: 0 auto;
}

.ft-travel-services-head {
    max-width: 1050px;
    margin: 0 auto 38px;
    text-align: center;
}

.ft-travel-services-kicker {
    margin-bottom: 12px;
    color: #d7b87c;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
}

.ft-travel-services-head h2 {
    margin: 0 0 16px;
    color: #f4f1ea;
    font-size: 32px;
    line-height: 1.25;
}

.ft-travel-services-head p {
    margin: 0;
    color: #c8c1b6;
    font-size: 16px;
    line-height: 1.7;
}

.ft-travel-services-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.ft-travel-service-card {
    padding: 26px 24px;
    background: #181715;
    border: 1px solid #34312d;
}

.ft-travel-service-card span {
    display: block;
    margin-bottom: 18px;
    color: #d7b87c;
    font-size: 12px;
    font-weight: 700;
}

.ft-travel-service-card h3 {
    margin: 0 0 12px;
    color: #f4f1ea;
    font-size: 20px;
}

.ft-travel-service-card p {
    margin: 0;
    color: #bcb5aa;
    font-size: 14px;
    line-height: 1.6;
}

@media (max-width: 991px) {
    .ft-travel-services-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {

    .ft-travel-services {
        padding: 40px 16px 44px;
    }

    .ft-travel-services-head h2 {
        font-size: 27px;
    }

    .ft-travel-services-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   FT 20261006 - Accueil / CTA projet voyage
   ========================================================= */

.ft-travel-cta {
    width: 100%;
    padding: 34px 20px;
    background: #d7b87c;
    color: #111;
}

.ft-travel-cta-inner {
    max-width: 1180px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.ft-travel-cta-copy {
    max-width: 760px;
}

.ft-travel-cta-kicker {
    margin-bottom: 6px;
    color: #3a3020;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
}

.ft-travel-cta h2 {
    margin: 0 0 8px;
    color: #111;
    font-size: 28px;
    line-height: 1.2;
}

.ft-travel-cta p {
    margin: 0;
    color: #332d24;
    font-size: 16px;
    line-height: 1.55;
}

.ft-travel-cta-action {
    flex: 0 0 auto;
}

.ft-travel-cta-action a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 24px;
    background: #111;
    border: 1px solid #111;
    color: #fff !important;
    font-weight: 700;
    text-decoration: none !important;
    white-space: nowrap;
    transition: .2s ease;
}

.ft-travel-cta-action a:hover {
    background: #292725;
    border-color: #292725;
    color: #fff !important;
}

@media (max-width: 767px) {

    .ft-travel-cta {
        padding: 28px 16px;
    }

    .ft-travel-cta-inner {
        flex-direction: column;
        align-items: stretch;
        gap: 22px;
        text-align: center;
    }

    .ft-travel-cta h2 {
        font-size: 25px;
    }

    .ft-travel-cta-action a {
        width: 100%;
    }
}

/* FT 20261006 - Boutique Prestige : intro sur une ligne desktop */
.ft-boutique-prestige p {
    white-space: nowrap;
}

@media (max-width: 767px) {
    .ft-boutique-prestige p {
        white-space: normal;
    }
}

/* Boutique Prestige - introduction sur une ligne desktop */
.ft-boutique-intro {
    white-space: nowrap !important;
}

@media (max-width: 767px) {
    .ft-boutique-intro {
        white-space: normal !important;
    }
}

/* Boutique Prestige - espacement intro + retrait breadcrumb */
.ft-boutique-intro {
    margin-bottom: 22px !important;
}

body:has(.ft-boutique-prestige) .breadcrumb {
    display: none !important;
}

/* FT 20261006 - masquer breadcrumbs pages information/contact */
#information-information .breadcrumb,
#information-contact .breadcrumb {
    display: none !important;
}

/* FT 20261006 - À propos / image historique */
.ft-about-image {
    max-width: 760px;
    margin: 38px auto 42px;
    text-align: center;
}

.ft-about-image img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
    border: 1px solid #3a3732;
}

.ft-about a {
    color: #d7b87c;
    font-weight: 700;
}

.ft-about a:hover {
    color: #f4f1ea;
}

@media (max-width: 767px) {
    .ft-about-image {
        margin: 28px auto 32px;
    }
}

/* FT 20261006 - À propos : équilibre image / texte */
.ft-about-image {
    max-width: 680px !important;
    margin: 42px auto 50px !important;
}

.ft-about-image + h2 {
    margin-top: 8px !important;
}

@media (max-width: 767px) {
    .ft-about-image {
        max-width: 100% !important;
        margin: 30px auto 36px !important;
    }
}

/* =========================================================
   FT 20261006 - Footer informations commerciales
   ========================================================= */

.ft-footer-business {
    padding-top: 34px;
}

.ft-footer-col {
    margin-bottom: 24px;
}

.ft-footer-title {
    margin-bottom: 15px;
    color: #d7b87c;
    font-size: 18px;
    font-weight: 700;
}

.ft-footer-business p,
.ft-footer-business li,
.ft-footer-business a {
    color: #c8c1b6;
    font-size: 14px;
    line-height: 1.65;
}

.ft-footer-business a:hover {
    color: #d7b87c;
}

.ft-footer-contact li {
    margin-bottom: 4px;
}

.ft-footer-support {
    max-width: 250px;
}

.ft-footer-account-title {
    margin-top: 24px;
}

@media (max-width: 767px) {
    .ft-footer-business {
        padding-top: 28px;
    }

    .ft-footer-col {
        margin-bottom: 30px;
    }
}

/* FT 20261006 - Footer raffinement */
.ft-footer-business {
    padding-top: 42px !important;
    padding-bottom: 20px;
}

.ft-footer-business .row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}

.ft-footer-col {
    padding-left: 24px;
    padding-right: 24px;
    margin-bottom: 28px;
}

.ft-footer-title {
    margin-bottom: 14px;
}

.ft-footer-business p {
    margin-bottom: 12px;
}

.ft-footer-business li {
    margin-bottom: 3px;
}

.ft-footer-support {
    max-width: 285px;
    line-height: 1.75 !important;
}

.ft-footer-account-title {
    margin-top: 28px;
}

@media (max-width: 767px) {
    .ft-footer-business {
        padding-top: 34px !important;
    }

    .ft-footer-col {
        padding-left: 15px;
        padding-right: 15px;
    }

    .ft-footer-support {
        max-width: none;
    }
}

/* =========================================================
   FT 20261006 - Transport canin
   ========================================================= */

.ft-transport-page {
    max-width: 1180px;
    margin: 0 auto;
    padding: 25px 0 55px;
}

.ft-transport-intro {
    max-width: 820px;
    margin: 0 auto 38px;
    text-align: center;
}

.ft-transport-kicker {
    margin-bottom: 10px;
    color: #d7b87c;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
}

.ft-transport-intro h2 {
    margin: 0 0 16px;
    color: #f4f1ea;
    font-size: 34px;
}

.ft-transport-intro p {
    color: #c8c1b6;
    font-size: 16px;
    line-height: 1.7;
}

.ft-transport-highlight {
    color: #d7b87c !important;
    font-size: 20px !important;
}

.ft-transport-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-bottom: 42px;
}

.ft-transport-card {
    padding: 26px 24px;
    background: #181715;
    border: 1px solid #3a3732;
}

.ft-transport-card span {
    display: block;
    margin-bottom: 14px;
    color: #d7b87c;
    font-size: 12px;
    font-weight: 700;
}

.ft-transport-card h3 {
    margin: 0 0 10px;
    color: #f4f1ea;
    font-size: 21px;
}

.ft-transport-card strong {
    display: block;
    margin-bottom: 10px;
    color: #d7b87c;
    font-size: 14px;
}

.ft-transport-card p {
    margin: 0 0 18px;
    color: #c8c1b6;
    line-height: 1.6;
}

.ft-transport-price {
    color: #f4f1ea;
    font-weight: 700;
}

.ft-transport-image {
    max-width: 980px;
    margin: 0 auto 36px;
}

.ft-transport-image img {
    display: block;
    width: 100%;
    height: auto;
    border: 1px solid #3a3732;
}

.ft-transport-conditions {
    max-width: 800px;
    margin: 0 auto 28px;
    padding: 22px 24px;
    background: #151413;
    border: 1px solid #3a3732;
}

.ft-transport-conditions h3 {
    margin-top: 0;
    color: #d7b87c;
}

.ft-transport-conditions p {
    margin-bottom: 8px;
    color: #c8c1b6;
}

.ft-transport-action {
    text-align: center;
}

.ft-transport-action a {
    display: inline-block;
    padding: 12px 24px;
    border: 1px solid #d7b87c;
    color: #d7b87c !important;
    font-weight: 700;
    text-decoration: none !important;
}

.ft-transport-action a:hover {
    background: #d7b87c;
    color: #111 !important;
}

@media (max-width: 991px) {
    .ft-transport-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .ft-transport-page {
        padding: 15px 0 40px;
    }

    .ft-transport-grid {
        grid-template-columns: 1fr;
    }

    .ft-transport-intro h2 {
        font-size: 28px;
    }
}

/* =========================================================
   FT 20261006 - Carte de membre
   ========================================================= */

.ft-member-page {
    max-width: 1180px;
    margin: 0 auto;
    padding: 25px 0 55px;
}

.ft-member-hero {
    max-width: 800px;
    margin: 0 auto 42px;
    text-align: center;
}

.ft-member-kicker {
    color: #d7b87c;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 10px;
}

.ft-member-hero h2 {
    margin: 0 0 12px;
    color: #f4f1ea;
    font-size: 36px;
}

.ft-member-hero p {
    color: #c8c1b6;
    font-size: 17px;
}

.ft-member-price {
    display: inline-block;
    margin-top: 12px;
    padding: 9px 20px;
    border: 1px solid #d7b87c;
    color: #d7b87c;
    font-size: 21px;
    font-weight: 700;
}

.ft-member-main {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 45px;
    align-items: start;
}

.ft-member-content {
    padding: 30px;
    background: #181715;
    border: 1px solid #3a3732;
}

.ft-member-content h3 {
    color: #d7b87c;
    margin-top: 0;
    margin-bottom: 15px;
}

.ft-member-content ul {
    padding-left: 20px;
    margin-bottom: 32px;
}

.ft-member-content li,
.ft-member-content p {
    color: #c8c1b6;
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 12px;
}

.ft-member-visuals img {
    display: block;
    width: 100%;
    height: auto;
    margin-bottom: 22px;
    border: 1px solid #3a3732;
}

.ft-member-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 25px;
}

.ft-member-actions a {
    display: inline-block;
    padding: 11px 19px;
    border: 1px solid #d7b87c;
    color: #d7b87c !important;
    text-decoration: none !important;
    font-weight: 700;
}

.ft-member-actions a:hover {
    background: #d7b87c;
    color: #111 !important;
}

@media (max-width: 767px) {

    .ft-member-main {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .ft-member-content {
        padding: 22px;
    }

    .ft-member-hero h2 {
        font-size: 29px;
    }

    .ft-member-actions a {
        width: 100%;
        text-align: center;
    }
}

/* =========================================================
   FT 20261006 - Forfaits voyage
   ========================================================= */

.ft-packages-page {
    max-width:1180px;
    margin:0 auto;
    padding:25px 0 55px;
}

.ft-packages-head {
    max-width:820px;
    margin:0 auto 40px;
    text-align:center;
}

.ft-packages-kicker {
    margin-bottom:10px;
    color:#d7b87c;
    font-size:13px;
    font-weight:700;
    letter-spacing:2px;
}

.ft-packages-head h2 {
    margin:0 0 15px;
    color:#f4f1ea;
    font-size:36px;
}

.ft-packages-head p {
    color:#c8c1b6;
    font-size:16px;
    line-height:1.7;
}

.ft-packages-grid {
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:20px;
}

.ft-package-card {
    display:flex;
    flex-direction:column;
    padding:30px;
    background:#181715;
    border:1px solid #403a2d;
}

.ft-package-number {
    margin-bottom:14px;
    color:#d7b87c;
    font-size:12px;
    font-weight:700;
}

.ft-package-card h3 {
    margin:0 0 7px;
    color:#f4f1ea;
    font-size:24px;
}

.ft-package-subtitle {
    margin-bottom:20px;
    color:#d7b87c;
    font-weight:700;
}

.ft-package-card p {
    color:#c8c1b6;
    line-height:1.7;
}

.ft-package-price {
    margin-top:auto;
    padding-top:20px;
    color:#d7b87c;
    font-size:24px;
    font-weight:700;
}

.ft-package-note {
    margin-top:13px;
    color:#9f998f;
    font-size:12px;
    line-height:1.5;
}

.ft-package-vip {
    border-color:#d7b87c;
}

.ft-package-bonus {
    margin:30px 0 20px;
    padding:22px 28px;
    text-align:center;
    background:#d7b87c;
    color:#111;
    font-size:17px;
}

.ft-package-bonus strong {
    margin-right:6px;
}

.ft-package-conditions {
    max-width:900px;
    margin:0 auto 30px;
    padding:25px 28px;
    border:1px solid #403a2d;
    background:#151413;
}

.ft-package-conditions h3 {
    margin-top:0;
    color:#d7b87c;
}

.ft-package-conditions p {
    margin-bottom:10px;
    color:#c8c1b6;
    line-height:1.6;
}

.ft-package-actions {
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:12px;
}

.ft-package-actions a {
    display:inline-block;
    padding:12px 22px;
    border:1px solid #d7b87c;
    color:#d7b87c !important;
    font-weight:700;
    text-decoration:none !important;
}

.ft-package-actions a:first-child {
    background:#d7b87c;
    color:#111 !important;
}

.ft-package-actions a:hover {
    background:#d7b87c;
    color:#111 !important;
}

@media(max-width:767px) {

    .ft-packages-grid {
        grid-template-columns:1fr;
    }

    .ft-packages-head h2 {
        font-size:29px;
    }

    .ft-package-card {
        padding:24px 21px;
    }

    .ft-package-actions a {
        width:100%;
        text-align:center;
    }
}

/* =========================================================
   FT 20261006 - Contact complet
   ========================================================= */

.ft-contact-head {
    max-width:760px;
    margin:20px auto 38px;
    text-align:center;
}

.ft-contact-kicker {
    margin-bottom:8px;
    color:#d7b87c;
    font-size:12px;
    font-weight:700;
    letter-spacing:2px;
}

.ft-contact-head h1 {
    margin:0 0 14px;
}

.ft-contact-head p {
    color:#c8c1b6;
    font-size:16px;
    line-height:1.7;
}

.ft-contact-grid {
    display:grid;
    grid-template-columns:1.35fr .65fr;
    gap:28px;
    margin-bottom:45px;
}

.ft-contact-form-wrap,
.ft-contact-info {
    padding:28px;
    border:1px solid #403a2d;
    background:#171614;
}

.ft-contact-form-wrap h2,
.ft-contact-info h2 {
    margin-top:0;
    margin-bottom:24px;
    color:#f4f1ea;
}

.ft-contact-field {
    margin-bottom:18px;
}

.ft-contact-field label,
.ft-contact-security label {
    display:block;
    margin-bottom:7px;
    color:#d7b87c;
    font-weight:700;
}

.ft-contact-form .form-control {
    width:100%;
    border:1px solid #484238;
    background:#111;
    color:#f4f1ea;
}

.ft-contact-form textarea.form-control {
    resize:vertical;
}

.ft-contact-security {
    margin:22px 0;
    padding:18px;
    border:1px solid #5a4c32;
    background:#1d1b17;
}

.ft-contact-security strong {
    display:inline-block;
    padding:2px 7px;
    background:#d7b87c;
    color:#111;
}

.ft-contact-honeypot {
    position:absolute !important;
    left:-10000px !important;
    width:1px !important;
    height:1px !important;
    overflow:hidden !important;
}

.ft-contact-submit {
    margin-top:20px;
}

.ft-contact-submit .btn {
    padding:11px 26px;
    border:1px solid #d7b87c;
    background:#d7b87c;
    color:#111;
    font-weight:700;
}

.ft-contact-info-row {
    padding:0 0 17px;
    margin-bottom:17px;
    border-bottom:1px solid #403a2d;
}

.ft-contact-info-row strong {
    display:block;
    margin-bottom:5px;
    color:#d7b87c;
}

.ft-contact-info-row span,
.ft-contact-info-row a {
    display:block;
    margin-bottom:3px;
    color:#f4f1ea;
}

.ft-contact-info-row a:hover {
    color:#d7b87c;
}

.ft-contact-support {
    margin-top:24px;
    padding:18px;
    border:1px solid #d7b87c;
}

.ft-contact-support strong {
    color:#d7b87c;
}

.ft-contact-support p {
    margin:8px 0 0;
    color:#c8c1b6;
    line-height:1.6;
}

@media(max-width:767px) {

    .ft-contact-grid {
        grid-template-columns:1fr;
    }

    .ft-contact-form-wrap,
    .ft-contact-info {
        padding:21px;
    }
}

/* =========================================================
   FT 20261006 - Galerie : choix Vidéos / Photos compact
   ========================================================= */

.ft-gallery-choice {
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:18px;
    max-width:980px;
    margin:25px auto 32px;
}

.ft-gallery-choice-card {
    min-height:120px;
    padding:20px 30px;
    border:1px solid #4a4233;
    background:#171614;
    text-decoration:none !important;
    display:flex;
    flex-direction:column;
    justify-content:center;
    transition:all .25s ease;
}

.ft-gallery-choice-card:hover,
.ft-gallery-choice-card:focus {
    border-color:#d7b87c;
    background:#1d1b17;
    transform:translateY(-2px);
}

.ft-gallery-choice-card strong {
    display:block;
    margin-bottom:6px;
    color:#f4f1ea;
    font-size:22px;
    line-height:1.15;
}

.ft-gallery-choice-card small {
    display:block;
    color:#c8c1b6;
    font-size:14px;
    line-height:1.4;
}

@media(max-width:700px) {

    .ft-gallery-choice {
        grid-template-columns:1fr;
        gap:12px;
        margin:20px auto 26px;
    }

    .ft-gallery-choice-card {
        min-height:105px;
        padding:18px 20px;
    }

    .ft-gallery-choice-card strong {
        font-size:20px;
    }

    .ft-gallery-choice-card small {
        font-size:13px;
    }
}

/* ===== HERO MFT - FOND BLANC + PHOTO PLEINE HAUTEUR ===== */

.ft-hero-carousel .flying-header {
    background: #fff !important;
}

.ft-hero-carousel .flying-header-marie-wrap {
    right: 0;
    bottom: 0;
    height: 100%;
    width: 60%;
}

.ft-hero-carousel .flying-header-marie {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: right bottom;
}

/* ===== CARROUSEL PHOTOS MFT - FORMATS MIXTES ===== */

.ft-hero-slide.ft-photo-slide {
    background: #111;
}

.ft-photo-carousel {
    display: block;
    width: 100%;
    height: 100%;
}

.ft-photo-slide.wide .ft-photo-carousel {
    object-fit: cover;
    object-position: center center;
}

.ft-photo-slide.portrait .ft-photo-carousel {
    object-fit: contain;
    object-position: center center;
    background: #111;
}

/* ===== CARROUSEL MFT - NE PAS COUPER LES SUJETS ===== */

.ft-hero-slide:nth-child(2) .ft-photo-carousel,
.ft-hero-slide:nth-child(3) .ft-photo-carousel,
.ft-hero-slide:nth-child(4) .ft-photo-carousel,
.ft-hero-slide:nth-child(5) .ft-photo-carousel {
    object-fit: contain !important;
    object-position: center center !important;
    background: #111;
}

/* ===== NOUVELLES PHOTOS HERO : IMAGE ENTIÈRE ===== */

.ft-hero-slide.ft-photo-slide {
    background: #111 !important;
}

.ft-hero-slide.ft-photo-slide .ft-photo-carousel {
    width: 100%;
    height: 100%;
    object-fit: contain !important;
    object-position: center center !important;
}

/* ===== CARTE MEMBRE MFT - MASQUÉE TEMPORAIREMENT ===== */
.ft-membership,
.ft-member-card,
.ft-membership-section,
.ft-club-membership {
    display: none !important;
}

/* MFT - masquer uniquement les numéros des 4 cartes voyage */
.ft-travel-service-card > span {
    display: none !important;
}

/* SOUVENIRS D'EXCEPTION — INTRO PLUS LARGE ET PLUS COMPACTE */
#product-category .ft-exception-intro {
    width: calc(100% - 20px) !important;
    max-width: 1180px !important;
    margin: 24px auto 30px !important;
    padding: 34px 44px 28px !important;
}

#product-category .ft-exception-lead {
    max-width: 1080px !important;
    margin-bottom: 14px !important;
    line-height: 1.5 !important;
}

#product-category .ft-exception-intro > p:not(.ft-exception-lead) {
    max-width: 1080px !important;
    margin-bottom: 8px !important;
    line-height: 1.5 !important;
}

#product-category .ft-exception-line {
    margin: 15px auto !important;
}

#product-category .ft-exception-signature {
    margin-top: 16px !important;
    padding-top: 10px !important;
}

/* CATÉGORIE 63 — LIBÉRER COMPLÈTEMENT LA LARGEUR DE L'INTRO */
#product-category .ft-category-hero-exception .ft-category-hero-inner {
    display: block !important;
    width: 100% !important;
}

#product-category .ft-category-hero-exception .ft-category-hero-copy {
    display: block !important;
    flex: none !important;
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

#product-category .ft-category-hero-exception .ft-category-hero-description {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
}

#product-category .ft-category-hero-exception .ft-exception-intro {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

/* CATÉGORIE 63 — MASQUER TOUS LES PETITS NUMÉROS */
#product-category .ft-exception-nav-number,
#product-category .ft-exception-sale-number,
#product-category .ft-exception-gifts-card > span,
#product-category .ft-privilege-level {
    display: none !important;
}

/* HERO MOBILE — LOGO DEVANT LA PHOTO */
@media (max-width: 767px) {
    .flying-header {
        position: relative;
    }

    .flying-header-logo {
        position: relative;
        z-index: 3;
    }

    .flying-header-marie-wrap {
        position: relative;
        z-index: 1;
    }
}

/* HERO MOBILE — LOGO DEVANT LA PHOTO */
@media (max-width: 767px) {
    .flying-header {
        position: relative;
    }

    .flying-header-logo {
        position: relative;
        z-index: 3;
    }

    .flying-header-marie-wrap {
        position: relative;
        z-index: 1;
    }
}

/* LA MALLE — bouton après carrousel */
.ft-boutique-after-carousel {
    text-align: center;
    padding: 25px 20px 50px;
}
/* HERO MOBILE — PHOTO VISIBLE + LOGO DEVANT */
@media (max-width: 767px) {
    .ft-hero-carousel .flying-header-logo {
        position: absolute !important;
        left: 5% !important;
        top: 5% !important;
        width: 52% !important;
        z-index: 10 !important;
    }

    .ft-hero-carousel .flying-header-marie-wrap {
        position: absolute !important;
        right: -18% !important;
        bottom: 0 !important;
        width: 82% !important;
        height: 100% !important;
        z-index: 2 !important;
    }

    .ft-hero-carousel .flying-header-marie {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
        object-position: right bottom !important;
    }
}

/* LA MALLE — COMPACTER TITRE + CARROUSEL + BOUTON */
.ft-boutique-prestige {
    padding-bottom: 8px !important;
    margin-bottom: 0 !important;
}

.ft-boutique-prestige-inner {
    padding-bottom: 8px !important;
    margin-bottom: 0 !important;
}

.ft-boutique-prestige-inner p {
    margin-bottom: 6px !important;
}

#content .banner {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.ft-boutique-after-carousel {
    padding: 8px 20px 12px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* LA MALLE — ESPACEMENTS PRÉCIS */
.ft-boutique-prestige {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

.ft-boutique-prestige-inner {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

.ft-boutique-prestige-inner p {
    margin-bottom: 15px !important;
}

#content .banner {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.ft-boutique-after-carousel {
    padding: 15px 20px 12px !important;
    margin-top: 0 !important;
}

/* LA MALLE — ESPACEMENTS FINAUX */
.ft-boutique-prestige,
.ft-boutique-prestige-inner {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.ft-boutique-prestige-inner p {
    margin-bottom: 15px !important;
}

#content .banner,
#content .banner > div,
#content .banner .item,
#content .banner img {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.ft-boutique-after-carousel {
    margin: 0 !important;
    padding: 15px 20px 10px !important;
}

/* LA MALLE — CARROUSEL COLLÉ AU TEXTE ET AU BOUTON */
#banner0 {
    margin: 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
}

.swiper-viewport {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.ft-boutique-after-carousel {
    margin: 0 !important;
    padding: 15px 20px 10px !important;
}

.ft-boutique-after-carousel {
  margin: 0 !important;
  padding: 0px 5px 15px !important;
}

/* TRANSPORT CANIN — MASQUER LES NUMÉROS DES CARTES */
.ft-transport-card > span {
    display: none !important;
}

/* TRANSPORT CANIN — AJUSTEMENT FINAL */
.ft-transport-card {
    padding: 25px 24px !important;
    background: #181715;
    border: 1px solid #3a3732;
}

.ft-transport-card h3 {
    color: #d7b87c;
    font-size: 24px;
    margin-top: 2px !important;
    margin-bottom: 0 !important;
}
