
@font-face {
    font-family: 'Manrope';
    src: url('../font_manrope/Manrope-VariableFont_wght.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Manrope';
    src: url('../font_manrope/Manrope-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-family: 'Manrope';
    src: url('../font_manrope/Manrope-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Manrope';
    src: url('../font_manrope/Manrope-ExtraBold.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
}

@font-face {
    font-family: 'Manrope';
    src: url('../font_manrope/Manrope-ExtraLight.ttf') format('truetype');
    font-weight: 200;
    font-style: normal;
}

@font-face {
    font-family: 'Manrope';
    src: url('../font_manrope/Manrope-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Manrope';
    src: url('../font_manrope/Manrope-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'Manrope';
    src: url('../font_manrope/Manrope-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Manrope';
    src: url('../font_manrope/Manrope-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
}

/* Change the text highlight color */
::selection {
    background: #4f6aa6; /* Background color of the highlighted text */
    color: #ffffff;      /* Text color of the highlighted text */
}

/* Webkit browsers */
::-webkit-selection {
    background: #4f6aa6;
    color: #ffffff;
}


body {
    font-family: 'Manrope', sans-serif;
    background-color: #ffffff;
    margin: 0;
}

h1 {
    text-align: center;
    margin-top: 50px;
}

form {
    width: 450px;
    margin: 50px auto;
    background-color: #fff;
    padding: 20px;
    border-radius: 5px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.3);
}

.dataTables_filter{
  float:left !important;
  text-align:left !important;
}

.dataTables_filter>label>input{
  min-width:250px !important;
}

input{

    width : 100%;
    background-color: #EAEAF6;
    height : 60px;
    border-radius : 15px;
    border:none;
    margin-bottom: 20px;
    padding-left: 30px;
    font-size: 16px;
    color: #5F626C;

}

label {
    display: inline-block;
    width: 100px;
    margin-bottom: 10px;
    font-weight: bold;
}

.TxtShadow{
    text-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.BoxShadow{
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

input[type="text"],
textarea,
input[type="number"],
input[type="file"] {
    width: 100%;
    padding: 5px;
    border-radius: 5px;
    border: none;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    font-size: 16px;
    margin-bottom: 20px;
}

button[type="submit"] {
  display: block;
  width: 100%;
  padding: 10px;
  background-color: #4f6aa6;
  color: #fff;
  border: none;
  border-radius: 18px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}
button[type="submit"]:hover {
    background-color: #3d5590;
}
.search-bar button[type="submit"]:hover {
    background-color: unset;
}

table {
  border-collapse: collapse;
  width: 100%;
}

th, td {
  text-align: left;
  padding: 8px;
}

th {
  background-color: #4f6aa6;
  color: white;
}

tr:nth-child(even) {
  background-color: #f2f2f2;
}

a {
  text-decoration: none;
  color: #00708f;
}

a:hover {
  color: #005580;
}


.btn{
    padding-left:25px;
    padding-right:25px;
    padding-top:15px;
    padding-bottom:15px;
    background-color:#4f6aa6;
    color:white;
    min-width:200px;
    min-height:30px;
    border-radius:18px;
    user-select:none;
    margin-bottom:24px;
    display:inline-block;
    text-align:center;
    border: unset!important;
}
.btn:hover{
    color:white !important;
    user-select:none;
    background-color: #3d5590;
}




/* RESET */

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, div
pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q,
s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li,
figure, header, nav, section, article, aside, footer, figcaption {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
}

.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}

.clearfix {
  display: inline-block;
}

html[xmlns] .clearfix {
  display: block;
} 

* html .clearfix {
  height: 1%;
}

ul, li {
  padding: 0;
  margin: 0;
  list-style: none;
}

header, nav, section, article, aside, footer, hgroup {
  display: block;
}

* {
  box-sizing: border-box;
}

html, body {
    font-family: 'Manrope', sans-serif;
  font-weight: 400;
  background-color: #fff;
  font-size: 16px;
  -ms-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a {
  text-decoration: none !important;
}

h1, h2, h3, h4, h5, h6 {
  margin-top: 0px;
  margin-bottom: 0px;
}

ul {
  margin-bottom: 0px;
}


/* CSS RULES HERE */


html,
body {
  font-family: 'Manrope', sans-serif;
}

/* CSS DE LA NAVBAR */

.navbar{
    position:fixed;
    top:0;
    width:100%;
    height:145px;
    overflow:visible;
    user-select: none;
    box-shadow : 0px 10px 20px rgb(0 0 0 / 25%);
    z-index : 100;
}

.topnav{
    background-color:#4f6aa6;
    color:white;
    width:100%;
    height:35px;
    padding:8px;
}

.topnav-content{
    margin-left:auto;
    margin-right:auto;
    max-width:1400px;
    display:flex;
    padding-top:1px;
}

.topnav-content>a{
    flex-grow:1;
    font-weight: 400;
    font-size:11px;
    color: white !important;
}

.topnav-content>a:hover{
    text-decoration:underline !important;
    color: white !important;
}

.topnav-content>.blank{
    flex-grow:1;
    width:50%;
}


.banner-container {
    position: relative;
    width: 80%;
    overflow: hidden;
}

.banner {
    display: flex;
    transition: transform 0.5s ease-in-out;
    overflow:hidden;
    margin-right: 10px;
}

.banner img {
    width: 100%;
    flex-shrink: 0;
}

.arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    font-size: 2rem;
    cursor: pointer;
    color: #333;
    z-index: 2;
}

.left-arrow {
    left: 10px;
}

.right-arrow {
    right: 10px;
}

.mainnav{
    background-color:white;
    color:#232428;
    height:121px;
    padding:15px;
}

.mainnav>.mainnav-content>.mainnav-button:hover{
    color:#232428;
}

.mainnav>.mainnav-content>.mainnav-button>.mainnav-button-arrow>svg{
    fill:#232428c4;
}
.mainnav>.mainnav-content>.mainnav-button:hover>.mainnav-button-arrow>svg{
    fill:#232428;
}

.mainnav>.mainnav-content>div{
    flex-grow:1;
}

.mainnav>.mainnav-content>.blank{
    flex-grow:unset !important;
    width:20px;
}


.mainnav-content{
    margin-left:auto;
    margin-right:auto;
    max-width:1400px;
    display:flex;
    align-items:center;
}

.logo{
    background:url('../img/josee-logo-2025-v5.png');
    background-size:contain;
    width:auto;
    height:90px;
    background-repeat:no-repeat;
    background-position:center center;
    max-width:130px;
    min-width:130px;
}

.mobile-noshow {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    color: inherit; /* Inherit text color from parent */
}

.mobile-noshow .icon {
    width: 15px; /* Adjust the size as needed */
    height: 15px; /* Adjust the size as needed */
    margin-right: 8px; /* Space between the icon and the text */
}

.mainnav-button{
    width:fit-content;
    display:flex;
    flex-direction:column;
    max-width:167px;
    margin-left:10px;
    margin-right:10px;
    height:76px;
}

.mainnav-button2{
    background-color:#4f6aa6;
    color:white !important;
    border-radius:18px;
    max-width:unset !important;
    min-width:160px !important;
    padding-left:24px;
    padding-right:24px;
}

.mainnav-button2:hover{
    background-color:#99d4f4
}

.mainnav-button2>.mainnav-button-text{
    padding-top: 28px !important;
}

.mainnav-button-text{
    width:fit-content;
    flex-grow:1;
    text-align:center;
    margin-left:auto;
    margin-right:auto;
    padding-top:30px;
    font-size:9px !important;
    color: #4f6aa6;
}

.mainnav-button-text p {
    font-size:1.5em;
}

.mainnav-button-text p::after {
    content: '';
    display: block;
    width: 0;
    height: 2px; /* Height of the line */
    background: #004987; /* Color of the line */
    position: relative;
    bottom: -5px; /* Adjust as needed */
    left: 50%;
    transform: translateX(-50%);
    transition: width 0.3s ease;
}

.mainnav-button-text:hover p {
    color: #232428;
}

.mainnav-button-text:hover p::after {
    width: 100%;
}

.mainnav-button2 .mainnav-button-text p::after {
    opacity: 0%;
}

.mainnav-button2 .mainnav-button-text:hover p {
    color: #232428;
}

.mainnav-button2 .mainnav-button-text:hover p::after {
    width: 100%;
}

.mainnav-button-arrow{
    width:25px;
    height:16px;
    overflow:hidden;
    flex-grow:1;
    margin-left:auto;
    margin-right:auto;
}
.mainnav-button-arrow>img{
    width:25px;
    height:16px;
} 
.mainnav-button-arrow>svg{
    width:25px;
    height:16px;
    fill:#232428c4;
}


.search-bar {
    display: flex;
    align-items: center;
    border-bottom: 2px solid #AABFB0;
    padding-bottom: 0px;
    max-width: 260px; /* Adjust the width as needed */
    max-height:42px;
    padding-top:4px;
    margin-left:24px;
    margin-right:24px;
}

.search-bar input {
    border: none;
    outline: none;
    flex: 1;
    padding: 5px;
    font-size: 12px;
    color: #232428; /* Text color */
    background-color: unset;
    box-shadow: unset;
    margin-bottom: unset;
}

.search-bar button {
    background: none;
    border: none;
    outline: none;
    cursor: pointer;
    width: unset !important;
}

.search-bar button img {
    width: 20px; /* Adjust the size of the icon as needed */
    height: 20px;
    filter: invert(32%) sepia(25%) saturate(245%) hue-rotate(100deg) brightness(92%) contrast(88%); /* Match the icon color */
}

.navbar-button{

    display:none;
    position:fixed;
    top:60px;
    right:15px;
    width:55px;
    height:55px;
    min-width:55px;
    max-width:55px;
    border: none;
    background-color:unset !important;;
  
}

.navbar-mobile{
    
    position:fixed;
    left:0%;
    height:100%;
    display:flex;
    flex-direction:column;
    width:75%;
    transition:width 0.7s ease;
    visibility: hidden;
    background:#4f6aa6;
    z-index:9999;
    top:0;
    padding-bottom:75px;
  }

  .navbar-mobile{
    transition:width 0.7s ease;

  }
  
  .navbar-mobile>li{
    flex-grow:1;
    height:96px;
    width:auto;
    font-size: 24px;
    max-height:70px;
  }
  
  .navbar-mobile>li:hover{
    background-color:#2E93AD;
  }
  
  .navbar-mobile>li>a{
    width:100%;
    height:100%;
    color:#e9e9e9;
    text-decoration:none;
    text-align:left;
    align-items: center;
    display: flex;
    margin-left:24px;
    font-size:15px;
  }
  .navbar-mobile>li>a:hover{
    color:#ffffff;
    text-decoration:none;
  }

  .MenuShow{
    visibility:visible;
  }

  .divmobile{
    opacity:0.7;
    display:none;
    background-color:black;
    position:fixed;
    width:100%;
    height:100%;
    top:0px;
    left:0px;
    z-index:-10;
  }











.menu1 ul li a {
    display: block;
    height: 45px;
    color : unset;
}

.menu1 ul {
    list-style: none;
    margin: 0;
}
.menu1 ul li {
    height: 106px;
    z-index: 5000;
    list-style: none !important;
    margin: unset !important;
}

.menu1 ul li ul {
    max-height:0em;
    overflow:hidden;
    position: absolute;
    background-color: #ffffff;
    top: 145px;
    left: 0px;
    right: 0px;
    transition:max-height .9s ease
}
.menu1 ul li:hover ul {
    max-height:600px;
}



.menu2 ul li a {
    display: block;
    height: 45px;
    color : unset;
}

.menu2 ul {
    list-style: none;
    margin: 0;
}
.menu2 ul li {
    height: 106px;
    z-index: 5000;
}

.menu2 ul li ul {
    max-height:0em;
    overflow:hidden;
    position: absolute;
    background-color: #ffffff;
    top: 145px;
    left: 0px;
    right: 0px;
    transition:max-height .9s ease
}
.menu2 ul li:hover ul {
    max-height:600px;
}





.menu3 ul li a {
    display: block;
    height: 45px;
    color : unset;
}

.menu3 ul {
    list-style: none;
    margin: 0;
}
.menu3 ul li {
    height: 106px;
    z-index: 5000;
}

.menu3 ul li ul {
    max-height:0em;
    overflow:hidden;
    position: absolute;
    background-color: #ffffff;
    top: 145px;
    left: 0px;
    right: 0px;
    transition:max-height .9s ease
}
.menu3 ul li:hover ul {
    max-height:600px;
}



.divNav{

    display : block !important; 
    text-align: -webkit-center !important;
    background-color: #ffffff;
    margin : auto;
    max-width : 1400px;
    min-height: 305px;
    position: relative;
    padding-top:24px;
    padding-bottom:30px;
}

.divNav-inside{
    display : flex !important; 
    flex-direction : row !important;
    max-width:1100px;
    width:100%;
    min-height: 205px;
    margin-left:auto;
    margin-right:auto;
}

.divNav1{
    text-align: left !important;
    flex-grow:1 !important;
    display : flex !important; 
    flex-direction : column !important;
   
}

.divNav3{

    flex-grow:1 !important;
}

.divNav3>h2{

    margin:10px;
    margin-left:0px;
}

.divNavA{
    margin-top:8px;
    height : unset !important;
    transition:font-size .4s ease
}

.divNavA:hover{

    color:#99d4f4;
}



.menu {

}

.menu ul li a {
    display: block;
    height: 45px;
}

.menu ul li {

    position: relative;

    z-index: 5000;
}

.menu ul li ul {

    overflow:hidden;
    position: absolute;
    margin-top: -135px;
    width : 100%;
    top: 57px;
    border-bottom-right-radius: 6px;
    border-bottom-left-radius: 6px;
    
    transition:margin-top .7s ease
}

.bigli{

    overflow : hidden; 
    height : 85px;
    transition:height 0.7s ease
}

.bigUl{

    width: 125%;
    min-width: 90px;
    margin-left: -12.5%;
}

.bigli:hover{

    height : 217px;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 20px 25px -5px, rgba(0, 0, 0, 0.04) 0px 10px 10px -5px;
}


.menuA{
    color : unset !important;
    background: white;
    z-index: 8000;
    position: absolute;
    height: 55px !important;
    width : 100%

}

.divArrow{

    background-color : white;
    width : 100%;
    text-align : -webkit-center

}


.menu ul li:hover ul {
    margin-top: 5px !important;
    
}
.menu ul li ul li {
    display: block;
    font-size: 12px;
    border-bottom: none;
    width: 100%;
    padding-left: 0px;
    height: 45px;
    line-height: normal;
    position: relative;
}
.menu ul li ul li a {
    font-weight: 500;
    padding: 10px 5px;
    font-size: 16px;
    text-align: center;
    background-color: white;
    color : #232428c4 !important;
    -webkit-transition: all 0.1s;
    -moz-transition: all 0.1s;
    -ms-transition: all 0.1s;
    -o-transition: all 0.1s;
    transition: all 0.1s;
}
.menu ul li ul li a:hover {
    background: #f1f1f1;
    color : black !important;
}


/* CSS DU SLIDER */

.carousel {
    width: 40%;
    min-width: 240px;
    margin: 0 auto;
    transform: translateY(-50%);
    top: 50%;
  }

  .carousel-item {
    height: 200px;
    color: white;
    line-height: 200px;
    text-align: center;
    font-size: 2rem;
  }

  .carousel-item:nth-child(1) {
      background-color: red;
  }

  .carousel-item:nth-child(2) {
      background-color: green;
  }

  .carousel-item:nth-child(3) {
      background-color: yellow;
      color: black;
  }
  

/*


        CSS PRINCIPAL DU SITE WEB



*/


section{
    min-height:576px;
    width:100%;
}

section>div{
    max-width:1400px;
    margin-left:auto;
    margin-right:auto;
    padding-left:50px;
    padding-right:40px;
    padding-top:24px;
    padding-bottom:24px;
}

.welcome{
    display:flex;
    flex-direction:row;
    margin-top:96px;
}

.welcome-text{
    flex-grow:1;
    max-width:803px;
    margin-right:109px;
}

.welcome-logo{
    flex-grow:1;
    max-width:246px;
    max-height:332px;
}
.welcome-logo>img{
    max-width:246px;
    max-height:332px;
}

.welcome-text>h1{
    text-transform:uppercase;
    font-weight:800;
    font-size:36px;
}

.welcome-text>h3{
    margin-top:18px;
    font-size:24px;
    font-weight:500;
    margin-bottom:18px;
}

.welcome-link{
    margin-bottom:6px;
}


.welcome-text>.welcome-link>a{
    display:inline-block;
    font-size:18px;
    color:#4f6aa6;
}
.welcome-text>.welcome-link>svg{

    fill:#4f6aa6;
}


.welcome-text>svg{
    display:inline-block;
}

.welcome-link:hover>a{
    text-decoration:underline !important;;
}

/* CSS DE SOLUTION */

.solution-div{

    display : flex;
    flex-direction : row;

}

.solution-1{

    flex-grow : 1;
    margin-top: 28px;
    margin-bottom: -28px;
    margin-left: -87px;
}

.solution-2{

    flex-grow : 1
}

.solution-titre>h1{

    text-transform: uppercase;
    font-weight: 800;
    font-size: 36px;
}

.solution-1>img{

    background: url(img/solution.webp);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    max-width: 720px;
    max-height: 524px;
    min-width: 720px;
    min-height: 524px;
    border-radius: 50px;
    border-bottom-right-radius: unset;
    border-bottom-left-radius: unset;
}

.solution-2>div{

    margin-top:36px;
    margin-top: 50px;
    margin-bottom: -10px;
}

.solution-2>div>div{

    display : flex;
    flex-direction: row;
    color: #4f6aa6;
    margin-bottom:29px;
}

.solution-2>div>div>img{
    
    background: url(img/circle.webp);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    max-width: 50px;
    max-height: 50px;
    min-width: 50px;
    min-height: 50px;
    border-radius: 999px;
}

.solution-2>div>div>a{
    
    margin-top: auto;
    margin-bottom: auto;
    margin-left: 20px;
}

.solution-2>div>div>a:hover{
    
    text-decoration: underline !important;
}

.solution-2>div>div>svg{
    
    margin-top: auto;
    margin-bottom: auto;
    margin-left: 5px;
    fill :#4f6aa6;
}

.av-check{
    padding-top:12px;
    padding-bottom:12px;
    display:flex;
    flex-direction:row;
}

.av-check>p{
    position: relative;
    flex-grow:1;
    lefT: 15px;
    align-self:center;
}

.av-check>img{
    flex-grow:1;
    max-width:32px;
    max-height:32px;
}

/* CSS DU PROJET */

.projet{

    display : flex;
    flex-direction : row;
    width: 100%;
}

.projet-1{

    flex-grow:1;
    width: 100%;
    position : relative;
}

.projet-1>.block{

    height: 295px;
    width : 260px;
    background-color : #f6f6f6;
    border-radius : 24px;
    margin-top: 150px;
    z-index: 2;
    position: absolute;
    

}

.projet-1>.block>.titre{

    color : #4f6aa6;
    padding-top: 15px;
    margin-left: 20px;
    font-size: 29px;
}

.projet-1>.block>.text{


    margin-top: 15px;
    margin-left: 20px;
    margin-right : 30px;
    font-size: 14px;
    color :#232428;
}

.projet-1>.block>.button{


    background-color: #4f6aa6;
    color: white !important;
    border-radius: 666px;
    max-width: unset !important;
    width: 229px !important;
    text-align: center;
    height: 37px;
    font-size: 12px;
    margin: auto;
    margin-top: 20px;
    padding-top: 10px;
    user-select: none;

}

.projet-1>.block>.button:hover{

    background-color : #99d4f4;

}

.projet-img{

    background: url(img/william.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    max-width: 260px;
    max-height: 295px;
    min-width: 260px;
    min-height: 295px;
    position: absolute;
    top: 75px;
    left: 200px;
    border-radius: 24px;

}

.projet-2{

    flex-grow:1;
    width: 100%;
    position : relative;
    margin-top: 73px;
}



.projet-2>div>div{

    display : flex;
    flex-direction : row; 
    max-width: 850px;

}

.projet-2>div>div>div{

   flex-grow : 1;
   padding-left: 40px;
   position: relative;

}

.jetcode{

    flex-grow : 1;
    background: url(img/jetcode.webp);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    max-width: 151px;
    max-height: 151px;
    min-width: 151px;
    min-height: 151px;
    border-radius: 24px;
 
}

.case{

    flex-grow : 1;
    background: url(img/case.webp);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    max-width: 151px;
    max-height: 151px;
    min-width: 151px;
    min-height: 151px;
    border-radius: 24px;
 
}


.projet-2-titre{

    font-size : 30px;
}

.projet-2-text{

    margin-top : 5px;
    font-size: 18px
}

.projet-2-a{

    position : absolute;
    bottom : 0;
    color : #4f6aa6;
    font-size: 18px;

}

.projet-2-a:hover{

  text-decoration: underline;

}

.projet-2-a>svg{

    fill: #4f6aa6;

}

/* CSS DU REALISATIONS */

.real-top{

    display : flex;
    flex-direction: row;
    padding-top: 20px;
}

.real-top-1{

    flex-grow : 1;
}

.real-titre>h1{

    font-size : 36px;
}

.real-text>p{

    font-size : 22px;
}

.real-top-2{

    flex-grow : 1;
    text-align: -webkit-right;
    margin: auto;
}

.real-top-2>.real-button{
    display:block;
    background-color: #4f6aa6;
    color: white !important;
    border-radius: 666px;
    max-width: 293px !important;
    text-align: center;
    min-height : 37px !important;
    padding-top: 8px;
    padding-bottom: 8px;
    user-select: none;
    min-width : 210px;
    padding-left:24px;
    padding-right:24px;
}

.real-top-2>.real-button:hover{

    background-color : #99d4f4;
}

/* CONTINUOUS SLIDER */


  @keyframes scroll {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(calc(-949px * 3));
    }
  }
  .slider {
    max-width : unset !important;
    padding : 0 !important;
    height: 421px;
    margin: auto;
    overflow: hidden;
    position: relative;
    width: 100%;
  }
  .slider::before, .slider::after {
    background: linear-gradient(to right, #f6f6f6 0%, rgba(255, 255, 255, 0) 100%);
    content: "";
    height: 421px;
    position: absolute;
    width: 100px;
    z-index: 2;
  }
  .slider::after {
    right: 0;
    top: 0;
    transform: rotateZ(180deg);
  }
  .slider::before {
    left: 0;
    top: 0;
  }
  .slider .slide-track {
    animation: scroll 40s linear infinite;
    display: flex;
    width: calc(949px * 3);
  }
  .slider .slide {
    height: 421px;
    width: 949px;
  }

  .slide>div {
    width : 949px;
    height : 421px;
    margin-top : 10px;
  }

 .slide>div>img {
    margin-left : 120px;
    border-radius : 15px;
    box-shadow: 12px 1px 20px -5px rgb(0 0 0 / 30%)
  }
  


/* CSS DU FOOTER */


.mainfoot{

    width: 100%;
    height: 351px;
    background-color: #fcfcfc;
    margin-top:80px;
}

.footerGreenBar{
    padding:20px;
    margin-top:75px;
    color: white;
    background-color: #4f6aa6;
    font-size: 12px;
}

.mainfoot-content{

    width: 100%;
    display : flex;
    flex-direction: row;
    padding-left: 30px;
    padding-top: 70px;
    margin-left:auto;
    margin-right:auto;
    max-width:1400px;
    
}

.mainfoot-div-logo{

    margin-top: -23px;
}

.mainfoot-content>div{

    flex-grow : 1;
    display : flex;
    flex-direction: column;
    max-width: 350px;
    margin-left:24px;
    margin-right:24px;
    display : flex;
    flex-direction: column;
}


.mainfoot-content>div>a{

    font-size : 13px;
    margin-top : 18px;
    color : #707383;
    max-width: fit-content;
    user-select: none;
}

.mainfoot-content>div>a:hover{

    text-decoration: underline !important;
    color:#232428;
}

.mainfoot-text{

    font-size : 18px;
}

.mainfoot-text-2{

    font-size : 18px;
    margin-top : 18px;
    color : #707383;
    user-select: none;
}


.mainfoot-titre{

    font-size :13px;
    max-width: fit-content;
    user-select: none;
}

.mainfoot-button{

    background-color: #4f6aa6;
    color: white !important;
    border-radius: 666px;
    max-width: unset !important;
    width: 293px !important;
    text-align: center;
    height : 37px;
    margin-top: 20px;
    user-select: none;
}

.mainfoot-button:hover{

    background-color: #3d5590; 

}

.mainfoot-button-text{

    font-size : 14px;
    margin-top: 10px
    
}

.logoFoot{

    background: url('../img/josee-logo-2025-v5.png');
    background-size: contain;
    width: auto;
    height: 111px;
    background-repeat: no-repeat;
    background-position: left center;
    max-width: 342px;
    min-width: 342px;
}

/*


        CSS PAGE ENTREPRISE



*/

.imageEntreprise{

    background-image: url(img/entreprise.webp);
    width : 100%;
    max-width : unset !important;
    height : 327px;
    background-size: cover;
    background-position: center center;
}

.imageSpectacles{

    background-image: url(img/spectacles.webp);
    width : 100%;
    max-width : unset !important;
    height : 327px;
    background-size: cover;
    background-position: center center;
}



.imageAV{

    background-image: url(img/av/av_top.webp);
    width : 100%;
    max-width : unset !important;
    height : 327px;
    background-size: cover;
    background-position: center center;
}

.imageAN{

    background-image: url(img/an/affichage-top.webp);
    width : 100%;
    max-width : unset !important;
    height : 327px;
    background-size: cover;
    background-position: center center;
}

.imageACC{

    background-image: url(img/acc/top-audio.webp);
    width : 100%;
    max-width : unset !important;
    height : 327px;
    background-size: cover;
    background-position: center center;
}

.imageSURV{

    background-image: url(img/surv/surveillance-top.webp);
    width : 100%;
    max-width : unset !important;
    height : 327px;
    background-size: cover;
    background-position: center center;
}

.imageRES{

    background-image: url(img/res/res-top.webp);
    width : 100%;
    max-width : unset !important;
    height : 327px;
    background-size: cover;
    background-position: center center;
}

.imageCSERV{

    background-image: url(img/cserv/cserv-top.webp);
    width : 100%;
    max-width : unset !important;
    height : 327px;
    background-size: cover;
    background-position: center center;
}


.imageSTUDIOWEBDIFF{

    background-image: url(img/webdiff/webdiff-top.webp);
    width : 100%;
    max-width : unset !important;
    height : 327px;
    background-size: cover;
    background-position: center center;
}

.imageSOLU{

    background-image: url(img/solu/solutions-top.webp);
    width : 100%;
    max-width : unset !important;
    height : 327px;
    background-size: cover;
    background-position: center center;
}



.topEntreprise{

    text-align : center
}

.topEntreprise>.titre{

    font-size : 22px !important;
    margin-bottom: 24px !important;
    margin-top: 6px !important;
}

.topEntreprise>p{

    font-size : 16px;
}

.midEntreprise>p{

    font-size : 36px;
    margin-top : 6px;
}

.flexEntreprise{

    display : flex;
    flex-direction: row;

}

.flexEntreprise2{

    flex-grow : 1;
    display : flex;
    flex-direction: column;

}

.flexEntreprise2>.image1{

    background-image: url(img/entreprise1.webp);
    max-width : 263px;
    max-height : 186px;
    background-size: cover;
    background-position: center center;
    width: 263px;
    height: 186px;
    margin-left: auto;
    margin-right: auto;
}

.flexEntreprise2>.image2{

    background-image: url(img/entreprise2.webp);
    max-width : 263px;
    max-height : 186px;
    background-size: cover;
    background-position: center center;
    width: 263px;
    height: 186px;
    margin-left: auto;
    margin-right: auto;
}

.flexEntreprise2>.image3{

    background-image: url(img/entreprise3.webp);
    max-width : 263px;
    max-height : 186px;
    background-size: cover;
    background-position: center center;
    width: 263px;
    height: 186px;
    margin-left: auto;
    margin-right: auto;
}

.flexEntreprise2>.image4{

    background-image: url(img/entreprise4.webp);
    max-width : 263px;
    max-height : 186px;
    background-size: cover;
    background-position: center center;
    width: 263px;
    height: 186px;
    margin-left: auto;
    margin-right: auto;
}

.flexEntreprise2>.titre>p{

    font-size : 24px;
    color : #4f6aa6;
    margin-top:10px;
    margin-bottom : 10px;

}

.flexEntreprise2>.text>p{

    font-size : 16px;

}

.flexEntreprise2>.titre{

    max-width: 263px;
    margin-left: auto;
    margin-right: auto;

}

.flexEntreprise2>.text{

    max-width: 263px;
    margin-left: auto;
    margin-right: auto;

}

.imgService{

    display : flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.imgService2{

    width: 25%;
    margin-bottom: 25px;
}

.imgService>.imgService2>.image1{

    background-image: url(img/entreService1.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.image2{

    background-image: url(img/entreService2.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.image3{

    background-image: url(img/entreService3.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.image4{

    background-image: url(img/entreService4.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.image5{

    background-image: url(img/entreService5.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.image6{

    background-image: url(img/entreService6.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.image7{

    background-image: url(img/entreService7.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.image8{

    background-image: url(img/entreService8.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}
.imgService>.imgService2>.image9{

    background-image: url(img/webdiff-villes/webdiffusion-sceances.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}


.imgService>.imgService2>.show1{

    background-image: url(img/show1.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.show2{

    background-image: url(img/show2.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.show3{

    background-image: url(img/show3.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.show4{

    background-image: url(img/show4.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.show5{

    background-image: url(img/show5.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.show6{

    background-image: url(img/show6.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.show7{

    background-image: url(img/show7.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.show8{

    background-image: url(img/show8.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.service_show1{

    background-image: url(img/services/service1.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.service_show2{

    background-image: url(img/services/service2.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.service_show3{

    background-image: url(img/services/service3.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.service_show4{

    background-image: url(img/services/service4.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.service_show5{

    background-image: url(img/services/service5.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.service_show6{

    background-image: url(img/services/service6.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.service_show7{

    background-image: url(img/services/service7.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.service_show8{

    background-image: url(img/services/service8.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.service_show9{

    background-image: url(img/services/service9.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.service_show10{

    background-image: url(img/services/service10.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.service_show11{

    background-image: url(img/services/service11.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.service_show12{

    background-image: url(img/services/service12.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.service_show13{

    background-image: url(img/services/service13.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.service_show14{

    background-image: url(img/services/service14.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.service_show15{

    background-image: url(img/services/service15.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.service_show16{

    background-image: url(img/services/service16.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.service_show17{

    background-image: url(img/services/service17.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.service_show18{

    background-image: url(img/services/service18.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.service_show19{

    background-image: url(img/services/service19.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.service_show20{

    background-image: url(img/services/service20.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.av1{

    background-image: url(img/av/av1.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.av2{

    background-image: url(img/av/av2.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.av3{

    background-image: url(img/av/av3.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.av4{

    background-image: url(img/av/av4.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.av5{

    background-image: url(img/av/av5.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.av6{

    background-image: url(img/av/av6.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.av7{

    background-image: url(img/av/av7.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.av8{

    background-image: url(img/av/av8.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}


.imgService>.imgService2>.an1{

    background-image: url(img/an/an1.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.an2{

    background-image: url(img/an/an2.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.an3{

    background-image: url(img/an/an3.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.an4{

    background-image: url(img/an/an4.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.an5{

    background-image: url(img/an/an5.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.an6{

    background-image: url(img/an/an6.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.an7{

    background-image: url(img/an/an7.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.an8{

    background-image: url(img/an/an8.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.acc1{

    background-image: url(img/acc/acc1.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.acc2{

    background-image: url(img/acc/acc2.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.acc3{

    background-image: url(img/acc/acc3.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.acc4{

    background-image: url(img/acc/acc4.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.acc5{

    background-image: url(img/acc/acc5.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.acc6{

    background-image: url(img/acc/acc6.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.acc7{

    background-image: url(img/acc/acc7.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.acc8{

    background-image: url(img/acc/acc8.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.surv1{

    background-image: url(img/surv/surv1.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.surv2{

    background-image: url(img/surv/surv2.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.surv3{

    background-image: url(img/surv/surv3.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.surv4{

    background-image: url(img/surv/surv4.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.res1{

    background-image: url(img/res/res1.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.res2{

    background-image: url(img/res/res2.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.res3{

    background-image: url(img/res/res3.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.res4{

    background-image: url(img/res/res4.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.res5{

    background-image: url(img/res/res5.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.res6{

    background-image: url(img/res/res6.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.res7{

    background-image: url(img/res/res7.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.res8{

    background-image: url(img/res/res8.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.res9{

    background-image: url(img/res/res9.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.res10{

    background-image: url(img/res/res10.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.res11{

    background-image: url(img/res/res11.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.res12{

    background-image: url(img/res/res12.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.cserv1{

    background-image: url(img/cserv/cserv1.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.cserv2{

    background-image: url(img/cserv/cserv2.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.cserv3{

    background-image: url(img/cserv/cserv3.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.cserv4{

    background-image: url(img/cserv/cserv4.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.webdiff1{

    background-image: url(img/webdiff/webdiff1.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.webdiff2{

    background-image: url(img/webdiff/webdiff2.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.webdiff3{

    background-image: url(img/webdiff/webdiff3.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.webdiff4{

    background-image: url(img/webdiff/webdiff4.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}


.imgService>.imgService2>.solu1{

    background-image: url(img/solu/solu1.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.solu2{

    background-image: url(img/solu/solu2.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.solu3{

    background-image: url(img/solu/solu3.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.solu4{

    background-image: url(img/solu/solu4.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.solu5{

    background-image: url(img/solu/solu5.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.solu6{

    background-image: url(img/solu/solu6.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.solu7{

    background-image: url(img/solu/solu7.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.imgService>.imgService2>.solu8{

    background-image: url(img/solu/solu8.webp);
    max-width : 274px;
    max-height : 250px;
    background-size: cover;
    background-position: center center;
    width: 274px;
    height: 250px;
    margin-left: auto;
    margin-right: auto;
}

.ServEntrepriseTitre>p{

    font-size : 36px;
    margin-top : 6px;
    margin-bottom : 0px;

}

.ServEntrepriseText>p{

    font-size : 16px;
    


}

.ServInput>.input1{

    display : flex;
    flex-direction: row;
}

.ServInput>.input1>input{

    flex-grow :1;
    width : 50%;
    background-color: #EAEAF6;
    height : 60px;
    border-radius : 15px;
    border:none;
    margin-bottom: 20px;
    padding-left: 30px;
    font-size: 16px;
    color: #5F626C;
}

.ServInput>input{


    width : 100%;
    background-color: #EAEAF6;
    height : 60px;
    border-radius : 15px;
    border:none;
    margin-bottom: 20px;
    padding-left: 30px;
    font-size: 16px;
    color: #5F626C;
}

.ServInput>textarea{

    width : 100%;
    background-color: #EAEAF6;
    min-height : 214px;
    border-radius : 15px;
    border:none;
    margin-bottom: 20px;
    padding-left: 30px;
    padding-top : 19px;
    font-size: 17px;
    color: #5F626C;
    resize: vertical;
}


.ServInput-button{

    background-color: #4f6aa6;
    color: white !important;
    border-radius: 666px;
    max-width: unset !important;
    width: 293px !important;
    text-align: center;
    height : 37px;
    padding-top: 1px;
    user-select: none;
}

.ServInput-button:hover{

    background-color: #3d5590;

}

.ServInput-button-text{

    font-size : 14px;
    margin-top: 10px
    
}




/*


        CSS PAGE PUBLIC



*/



.flexEntreprise2>.image5{

    background-image: url(img/entreprise5.webp);
    max-width : 263px;
    max-height : 186px;
    background-size: cover;
    background-position: center center;
    width: 263px;
    height: 186px;
    margin-left: auto;
    margin-right: auto;
}

.flexEntreprise2>.image6{

    background-image: url(img/entreprise6.webp);
    max-width : 263px;
    max-height : 186px;
    background-size: cover;
    background-position: center center;
    width: 263px;
    height: 186px;
    margin-left: auto;
    margin-right: auto;
}

.flexEntreprise2>.image7{

    background-image: url(img/entreprise7.webp);
    max-width : 263px;
    max-height : 186px;
    background-size: cover;
    background-position: center center;
    width: 263px;
    height: 186px;
    margin-left: auto;
    margin-right: auto;
}

.flexEntreprise2>.image8{

    background-image: url(img/entreprise8.webp);
    max-width : 263px;
    max-height : 186px;
    background-size: cover;
    background-position: center center;
    width: 263px;
    height: 186px;
    margin-left: auto;
    margin-right: auto;
}

.flexEntreprise2>.spectacle1{

    background-image: url(img/spectacle1.webp);
    max-width : 263px;
    max-height : 186px;
    background-size: cover;
    background-position: center center;
    width: 263px;
    height: 186px;
    margin-left: auto;
    margin-right: auto;
}
.flexEntreprise2>.spectacle2{

    background-image: url(img/spectacle2.webp);
    max-width : 263px;
    max-height : 186px;
    background-size: cover;
    background-position: center center;
    width: 263px;
    height: 186px;
    margin-left: auto;
    margin-right: auto;
}
.flexEntreprise2>.spectacle3{

    background-image: url(img/spectacle3.webp);
    max-width : 263px;
    max-height : 186px;
    background-size: cover;
    background-position: center center;
    width: 263px;
    height: 186px;
    margin-left: auto;
    margin-right: auto;
}
.flexEntreprise2>.spectacle4{

    background-image: url(img/spectacle4.webp);
    max-width : 263px;
    max-height : 186px;
    background-size: cover;
    background-position: center center;
    width: 263px;
    height: 186px;
    margin-left: auto;
    margin-right: auto;
}


.aboutDiv{
    font-size:18px !important;
}
.yearH1{
    font-size:32px !important;
    margin-bottom:18px;
}



/* 


            MOBILE CSS



            FOR MOBILE DUMBASS



*/

@media(max-width:1240px){

    .imgService>.imgService2>div{

        max-width : 165px !important;
        max-height : 150px !important;
        width : 165px !important;
        height : 150px !important;
    }

    .flexEntreprise2>.img{

        max-width : 210px !important;
        max-height : 150px !important;
        width : 210px !important;
        height : 150px !important;
    }

    .mainfoot-content>div{

        max-width : 300px;
    }

    .mainfoot-content>div>a {
        font-size: 13px;
        margin-top: 16px;
    }

    .mainfoot-text{

        font-size : 16px;
    }
    

    .mainfoot-text-2 {
        font-size: 16px;
        margin-top: 16px;
    }

    .logoFoot {
        min-width: 140px;
    }

    .mainfoot-titre{

        font-size :13px;

    }

    .mainfoot-div-logo{

        margin-top: -28px;
    }

    .solution-1>img{

    
        max-width: 680px;
        max-height: 504px;
        min-width: 680px;
        min-height: 504px;
     
 
    }

    .solution-1{


        margin-top: 38px;
        margin-bottom: -31px;
     
 
    }

    .solution-2>div {
        margin-top: 36px;
        /* margin-top: 50px; */
        margin-bottom: unset;
    }

}

@media(max-width:1100px){

    .flexEntreprise{

        flex-wrap : wrap;
    }

    .flexEntreprise2{

        margin-bottom : 30px;
        width : 50%;
    }


    .mainfoot-text {
        font-size: 16px;
    }

    .mainfoot-content>div {
        max-width: 200px;
    }

    .mainfoot-button{
        width:190px !important;
    }
    

    .logoFoot {
        min-width: 190px;
    }

    .mainfoot-div-logo{

        margin-top: -35px;
    }

    .projet{

        flex-direction: column-reverse;
    }

    .projet-img{

        margin-left: 20%;
        left : 200px;
    }

    .block{

        margin-left: 20%;
    }

    .projet-1{

        height: 450px;
    }

    .solution-div{
    
        flex-direction: row-reverse;

    }

    .solution-1{
        
        margin-top : unset;
        margin-bottom: unset;
        margin: auto;

    }

    .solution-2{
        
        margin-top: 0;
        margin-bottom: 0;

    }

    .solution-1>img{
    
        background-size: cover;
        max-width: 322px;
        max-height: 322px;
        min-width: 322px;
        min-height: 322px;
        border-radius: 999px;

    }

    .frameSlide{

        min-height:calc(100vh - 300px) !important;
    }


}


@media(max-width:1023px){


    .productpage-container{
        flex-direction: column !important;
    }
    .productpage-variant-dimensions{
        font-size:0.8em !important;
        min-width:95px !important;
    }
    .productpage-quantity input{
        width:20px !important;
    }
    .productpage-variant{
        grid-template-columns: 1fr 1fr 1fr !important;
        grid-auto-rows: minmax(100px, auto);
    }
    .productpage-variant:nth-child(2),
    .productpage-variant:nth-child(3),
    .productpage-variant:nth-child(4),
    .productpage-variant:nth-child(5) {
        grid-column: span 1; /* Span full width */
    }
    .productpage-variant-flex{
        flex-direction: column !important;
    }
    .productpage-variants{
        padding-left:0px !important;
    }

    .surmesureform-left{
        display:none !important;
    }

    .contactform-form input[type="text"],
    .contactform-form input[type="email"],
    .contactform-form textarea {
        width: calc(100% - 10px) !important;
    }

    .HomeCategoryNav-title{
        padding-left:24px;
    }
    .IntroPres-LeftText{
        max-width:unset !important;
    }
    .IntroPres-RightText{
        max-width:unset !important;
    }
    .IntroPres-container{
        flex-direction: column;
    }
    .about-LeftText{
        max-width:unset !important;
    }
    .about-RightText{
        max-width:unset !important;
    }
    .about-container{
        flex-direction: column;
    }
    .contactform{
        flex-direction: column;
    }


    .navbar-button{

        display:block;

      }

    .imgService2{

        width : 33%;
    }

    .frameSlide{

        min-height:calc(100vh - 170px) !important;
    }


    .mobile-noshow{
        visibility:hidden;
    }

    .mainnav-button{
        display:none;
    }

    .mainnav-button2{
        display:none;
    }

    .welcome{
        flex-direction:column-reverse;
        margin-top : 0px !important;
    }

    .solution-1>img{
    
        display : none;

    }

    .footNone{

        display : none !important;
    }

    .footBlock{

        display : block !important;
    }

    .mainfoot-content{

        padding-top : 55px !important;

    }

    .mainfoot-content>div{

        max-width : unset !important;
        width : 50% !important;

    }



    .mainfoot{

        height : 530px !important;
    }



}


@media(max-width:800px){

    .productpage-section{
        padding:0px !important;
    }
    .product-grid{
        padding:0px !important;
    }
    .product-item{
        width:165px !important;
    }
    .product-item .price {
        font-size:18px !important;
    }
    .product-item .price span{
        font-size: 9px !important;
    }
    .add-to-cart{
        font-size: 11px !important;
    }

    .IntroBanner-image-container{
        display:none !important;;
    }

    .IntroBanner-text{
        max-width:95% !important;
    }

    .IntroBanner-heading{
        font-size:40px !important;
    }

}

@media(max-width:620px){

    .salesfunnelpage-offer{
        flex-direction: column;
    }

    .salesfunnelpage-offer img{
        margin-bottom:24px;
        max-width:100% !important;
    }


    .flexEntreprise2 {
        width: 100%;
        text-align: center;
    }

    .midEntreprise{

        text-align: center;
    }

    .imgService2{

        width : 50%;
    }

    .flexEntreprise2 {

        width : 100%;
    }

    .frameSlide{

        min-height:calc(100vh - 170px) !important;
    }


    .projet-img{

        display : none !important;
    }

    .block{

        position : unset !important;
        margin: auto;
        margin-top: 70px !important;
    }

    .projet-2{

        margin-top: 35px !important;
    }
    

    .projet-2>div>div{

        flex-direction: column;
    }
    

    .projet-2-a {

        position : unset !important;
    }

    .jetcode{

        margin : auto !important;
        margin-bottom :10px !important;
    }

    .case{

        margin : auto !important;
        margin-bottom :10px !important;
    }

    .slideNone{

        display : none !important;
    }

    .slideBlock{

        display : block !important;
    }

    @keyframes scroll {
        0% {
          transform: translateX(0);
        }
        100% {
          transform: translateX(calc(-474px * 4.5));
        }
      }

      .slider {
        height: 221px;
 
      }
      .slider::before, .slider::after {
  
        height: 221px;

      }
   
      .slider .slide-track {
  
        width: calc(474px * 3);
      }
      .slider .slide {
        height: 421px;
        width: 474px;
      }
    
      .slide>div {
        width : 474px;
        height : 221px;
        margin-top : 10px;
      }
    
     .slide>div>img {
        margin-left : 60px;

      }

    .minHeight{

        min-height : 460px
    }
}

@media(max-width:520px){

    .ServInputPad{

        padding-left : 10px !important;
        padding-right:  10px !important;
    }

    .imgService>.imgService2>div {
        max-width: 158px !important;
        max-height: 145px !important;
    }

    .ServEntrepriseTitre{

        text-align: center;
    }

    .ServEntrepriseText{

        text-align: center;
    }

    .ServEntrepriseTitre{

        padding-left: 0px !important;
        padding-right: 0px !important;
        text-align: center;
    }

    
    .imgService{

        padding-left: 0px !important;
        padding-right: 0px !important;
        
    }


    .welcome-logo>img{

        max-width : 180px !important;
    }

    .real-titre>h1{

        font-size : 25px !important;

    }

    .real-text>p{

        font-size : 20px !important;
    }

    .frameSlide{

        min-height:calc(100vh - 170px) !important;
    }

    .footBlock{

        display : none !important;
    }

    .footBlock2{

        display : block !important;
    }

    .mainfoot-content{

        flex-direction : column !important;
        padding-top : 20px !important;

    }

    .mainfoot-content>div{

        margin : auto;
        margin-bottom : 45px;

    }


    .mainfoot{

        height : fit-content !important;
    }

    .real-top{

        flex-direction: column !important;
        text-align : center !important;
    }

    .real-top-1{

        margin-bottom : 15px !important;
    }

    .welcome-text{

        text-align : center;
        margin : auto;

    }

    .welcome-logo{

        margin : auto;
        
    }

    .welcome-text>h1{

        font-size : 25px !important;
    }

    .welcome-text>h3{

        font-size : 18px !important;
    }

    .welcome-link>a{

        font-size : 16px !important;
    }

    section>div{

        padding-left : 40px !important;
    }

    .welcome{

        margin-top : 0px;
    }

    .solution-1{

        display : none;
    }

    .solution-titre>h1 {
        text-align: center;
        font-size: 25px;
    }

    .mainfoot-titre {

        max-width : unset !important;
    }

    .mainfoot-content>div>a{

        max-width : unset !important;
    }
    
    .mainfoot-button {
        margin-left: auto !important;
        margin-right: auto !important;
        width : 150px !important;
    }

    .logoFoot{

        min-width : 160px !important;
    }

    .mainfoot-div-logo{

        margin-top : -35px !important;
    }

    .projet{

        text-align : -webkit-center;
    }

    .projet-2>div>div>div{

        padding-left : unset !important;
    }

    .projet-1>.block>.titre{

        margin-left : unset !important;
    }

    .projet-1>.block{

        width : 240px !important;
    }

    .slider::before, .slider::after {

        width : 40px !important;
    }

}


/* Styles pour le div de popup de notification */
.popup-notification {
    position:relative;
    width: 100%;
    margin-bottom:24px;
    background-color: #007bff; /* Bleu */
    color: #ffffff; /* Texte blanc */
    padding: 15px;
    border-radius: 5px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

.popup-notification h2 {
    margin: 0 0 10px 0;
}

.popup-notification p {
    margin: 0;
}
/* Styles pour le bouton de fermeture */
.close-btn {
    position: absolute;
    top: 5px;
    right: 10px;
    border: none;
    background-color: transparent;
    color: #ffffff; /* Assurez-vous que cette couleur se démarque sur le fond de la notification */
    font-size: 20px;
    cursor: pointer;
}

/* Style pour changer l'apparence au survol */
.close-btn:hover {
    color: #dddddd; /* Couleur légèrement différente au survol pour indiquer l'interactivité */
}

/* Éventuellement, ajoutez un focus style pour l'accessibilité */
.close-btn:focus {
    outline: none; /* Remplacer ou ajuster selon les besoins d'accessibilité */
}


@media(max-width:1249px){

    .search-bar{
        max-width:200px;
    }
    .search-bar>input{
        font-size:9px !important;
    }
}
@media(max-width:1099px){
    .mainnav-content>.search-bar{
        display:none;
    }

}
 


/* The Modal (background) */
.modal {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 999999; /* Lower than modal-content */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: calc(100vh); /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgb(0,0,0); /* Fallback color */
    background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
  }
  
  /* Modal Content */
  .modal-content {
    background-color: #fefefe;
    margin: 5% auto; /* 15% from the top and centered */
    padding: 20px;
    border: 1px solid #888;
    width: 80%; /* Could be more or less, depending on screen size */
    z-index:9999999;
    display:block;
  }
  
  .modal-content form{
    box-shadow: unset !important;
  }

  .modal-content form input{
    background-color: unset !important;
    color: #232428;
    border-bottom: 2px solid #AABFB0;
    box-shadow: unset !important;
    border-radius: 0px;
    padding-left: 15px;
    padding-right: 15px;
  }
  
  /* The Close Button */
  .close {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
  }
  
  .close:hover,
  .close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
  }


  .IntroBanner-section {
    margin-top: -22px;
}

.IntroBanner-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-image: url('../img/mickey-splash.webp');
    background-size: cover;
    width: 100%;
    height: calc(100vh);
    max-height: 800px;
    background-position: center center;
    background-repeat: no-repeat;
}

.IntroBanner-text {
    flex-grow: 1;
    color: white;
    text-align: left;
    max-width: 40%;
    padding: 20px;
}

.IntroBanner-heading {
    font-size: 54px;
    font-weight: bolder;
    margin-bottom: 22px;
}

.IntroBanner-subheading {
    font-size: 18px;
    font-weight: lighter;
    margin-bottom: 42px;
}

.IntroBanner-button {
    border-radius: 0px;
}

.IntroBanner-image-container {
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-grow: 1;
    max-width: 48%;
}

.IntroBanner-image {
    max-width: 100%;
    max-height: 100%;
    height: auto;
}

.IntroPres-section {
    padding: 40px 20px;
    background-color: #fff;
    min-height: unset;
}

.IntroPres-container {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

.IntroPres-LeftText {
    flex: 1;
    max-width: 40%;
    margin-right: 20px;
}

.IntroPres-LeftText h3 {
    font-size: 23px;
    font-weight: normal;
    margin-bottom: 0px;
    color: #555;
    font-variant: all-small-caps;
}

.IntroPres-LeftText h2 {
    font-size: 45px;
    font-weight: 500;
    margin: 0;
    color: #000;
}

.IntroPres-RightText {
    flex: 1.5;
    max-width: 55%;
    margin-top:34px;
}

.IntroPres-RightText h1 {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 20px;
    color: #333;
}

.IntroPres-RightText p {
    font-size: 16px;
    line-height: 1.6;
    color: #666;
}




.adminportal-container {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.adminportal-header {
    background-color: #4f6aa6;
    color: white;
    padding: 20px;
    text-align: center;
    position:fixed;
    top:0;
    width:100%;
}

.adminportal-title {
    margin: 0;
}

.adminportal-nav {
    display: flex;
    justify-content: center;

}

.adminportal-nav-link {
    color: white;
    text-decoration: none;
    margin: 0 15px;
    padding: 10px 15px;
    border-radius: 5px;
    transition: background-color 0.3s ease;
}

.adminportal-nav-link:hover {
    background-color: #45a049;
    color: #ffffff;
}

.adminportal-main {
    flex: 1;
    padding: 20px;
    margin-top:80px;
}

.adminportal-section {
    margin-bottom: 20px;
}

.adminportal-section-title {
    margin-top: 0;
    font-size: 24px;
    color: #333;
}

.adminportal-section-content {
    font-size: 16px;
    color: #666;
}

.adminportal-footer {
    background-color: #f1f1f1;
    text-align: center;
    padding: 10px;
}

.adminportal-footer-text {
    margin: 0;
    color: #333;
}


#customerForm {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 20px;
    width: unset;
}

#customerForm label {
    width: unset;
}

#customerForm input {
    margin-bottom: -10px;
}

#customerForm .form-group {
    margin-bottom: 15px;
}

#customerForm .form-group label {
    font-weight: bold;
    margin-bottom: 5px;
}

#customerForm .form-group input,
#customerForm .form-group textarea {
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
}

#customerForm .form-group.full-width {
    grid-column: span 2;
}

#customerForm .form-group textarea {
    resize: vertical;
}


/* BEGIN OF INDUSTRIES CSS */
.Industries-section {
    padding: 60px 0;
    position: relative;
    background-color: white;
    min-height: unset;
}

.Industries-container {
    display: flex;
    overflow-x: auto;
    gap: 60px;
    scroll-behavior: smooth;
    padding: 0 40px;
    max-width:1200px;
    margin-left:auto;
    margin-right:auto;
}

.Industries-container::-webkit-scrollbar {
    display: none; /* Hide scrollbar in WebKit browsers */
}

.Industries-container {
    -ms-overflow-style: none;  /* Hide scrollbar in IE and Edge */
    scrollbar-width: none;  /* Hide scrollbar in Firefox */
}

.Industries-item {
    display: flex;
    flex-direction: column;
    background-color: #fff;
    width: 333px;
    text-align: left;
    white-space: normal;
    flex-shrink: 0;
}

.Industries-item-header {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 10px;
    font-size: 1.2em;
}

.Industries-icon-container {
    background-color: #4f6aa6;
    border-radius: 50%;
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 10px;
}

.Industries-icon {
    color: #fff;
    font-size: 1.5em;
}

.Industries-item-image img {
    width: 100%;
    height: auto;
    min-height: 220px;
    margin-top: 18px;
    margin-bottom:20px;
}

.Industries-item-footer {
    padding: 10px 0px 10px 0px;
}

.Industries-button {
    background-color: #4f6aa6;
    color: #fff;
    border: none;
    padding: 20px 28px;
    cursor: pointer;
    border-radius: 4px;
    transition: background-color 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.Industries-button:hover {
    background-color: #3d5590;
}

.Industries-button span {
    margin-left: 20px; /* Added margin-left for spacing */
}

.Industries-scroll-button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: #4f6aa6;
    color: #fff;
    border: none;
    padding: 10px;
    cursor: pointer;
    z-index: 1;
}

.Industries-scroll-left {
    left: 0;
}

.Industries-scroll-right {
    right: 0;
}

.Industries-scroll-button:hover {
    background-color: #3d5590;
}
.Industries-container.active {
    cursor: grabbing;
}

.Industries-container {
    cursor: grab;
    position: relative;
}
.Industries-container img {
    user-drag: none; 
    -webkit-user-drag: none; 
    -moz-user-drag: none; 
    -ms-user-drag: none; 
    user-select: none; 
    -webkit-user-select: none; 
    -moz-user-select: none; 
    -ms-user-select: none; 
}

.Industries-container * {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

.Industries-container::before,
.Industries-container::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 30px;
    pointer-events: none;
}

.Industries-container::before {
    left: 0;
    background: linear-gradient(to right, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
}

.Industries-container::after {
    right: 0px;
    background: linear-gradient(to left, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
}

/* END OF INDUSTRIES CSS */

.HomeCategoryNav-section {
    padding: 60px 0;
    position: relative;
    background-color: white;
    min-height: unset;
}

.HomeCategoryNav-title{
    max-width:1200px;
    margin-left:auto;
    margin-right:auto;
}

.HomeCategoryNav-container {
    display: flex;
    overflow-x: auto;
    gap: 60px;
    scroll-behavior: smooth;
    padding: 0 40px;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}

.HomeCategoryNav-container::before,
.HomeCategoryNav-container::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 30px;
    pointer-events: none;
}

.HomeCategoryNav-container::before {
    left: 0;
    background: linear-gradient(to right, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
}

.HomeCategoryNav-container::after {
    right: 0px;
    background: linear-gradient(to left, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
}

.HomeCategoryNav-container::-webkit-scrollbar {
    display: none; /* Hide scrollbar in WebKit browsers */
}

.HomeCategoryNav-container {
    -ms-overflow-style: none;  /* Hide scrollbar in IE and Edge */
    scrollbar-width: none;  /* Hide scrollbar in Firefox */
}

.HomeCategoryNav-item {
    display: flex;
    flex-direction: column;
    background-color: #fff;
    width: 333px;
    text-align: left;
    white-space: normal;
    flex-shrink: 0;
}

.HomeCategoryNav-item-header {
    width: 100%;
    height: 280px; /* Adjust this height as needed */
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
}

.HomeCategoryNav-image {
    display: none; /* Hide the img tag itself */
}

.HomeCategoryNav-icon-container {
    background-color: #4f6aa6;
    border-radius: 50%;
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 10px;
}

.HomeCategoryNav-icon {
    color: #fff;
    font-size: 1.5em;
}

.HomeCategoryNav-item-header img {
    width: 100%;
    height: auto;
    min-height: 220px;
    margin-top: 18px;
    margin-bottom: 20px;
}

.HomeCategoryNav-item-content {
    padding: 10px;
}

.HomeCategoryNav-item-content p {
    font-size: 14px;
    color: #666;
}

.HomeCategoryNav-item-footer {
    padding: 10px 0px 10px 0px;
}

.HomeCategoryNav-button {
    background-color: #4f6aa6;
    color: #fff;
    border: none;
    padding: 20px 28px;
    cursor: pointer;
    border-radius: 4px;
    transition: background-color 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.HomeCategoryNav-button:hover {
    background-color: #3d5590;
}

.HomeCategoryNav-button span {
    margin-left: 20px; /* Added margin-left for spacing */
}

.HomeCategoryNav-container.active {
    cursor: grabbing;
}

.HomeCategoryNav-container {
    cursor: grab;
}

.HomeCategoryNav-container img {
    user-drag: none; 
    -webkit-user-drag: none; 
    -moz-user-drag: none; 
    -ms-user-drag: none; 
    user-select: none; 
    -webkit-user-select: none; 
    -moz-user-select: none; 
    -ms-user-select: none; 
}

.HomeCategoryNav-container * {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}



.error-section {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    background: rgba(255, 255, 255, 0.8);
    padding: 20px;
    border-radius: 10px;
    background-image: url('../../banners/alpha-bg-wallpaper.webp'); background-size: cover; background-repeat: no-repeat; background-position:center center;
    height:calc(100vh);
}

.error-container {
    max-width: 500px;
    padding:80px;
    border-radius: 24px;
    background-color: white;
}

.error-container h1 {
    font-size: 100px;
    margin: 0;
    color: #4f6aa6; 
}

.error-container p {
    font-size: 20px;
    margin: 10px 0 20px;
}




.about-section {
    padding: 40px 20px;
    background-color: #fff;
    min-height: calc(75vh);
    align-content: center;
}

.about-container {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    flex-direction: column;
}

.about-LeftText {
    flex: 1;
    max-width: 40%;
    margin-right: 20px;
}

.about-LeftText h3 {
    font-size: 23px;
    font-weight: normal;
    margin-bottom: 0px;
    color: white;
    font-variant: all-small-caps;
}

.about-LeftText h2 {
    font-size: 45px;
    font-weight: 500;
    margin: 0;
    color: white;
}

.about-LeftText h1 {
    font-size: 45px;
    font-weight: 500;
    margin: 0;
    color: white;
    text-align:left;
}


.about-RightText {
    flex: 1.5;
    max-width: 55%;
    margin-top:34px;
}

.about-RightText h1 {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 20px;
    color: white;
}

.about-RightText p {
    font-size: 16px;
    line-height: 1.6;
    color: white;
}

.about-presentation{
    padding-top:60px;
}

.about-presentation h1{
    font-size:45px;
    font-weight: 400;
    padding-bottom: 60px;
}

.about-presentation h2{
    font-variant: all-small-caps;
    font-weight:600;
    font-size:33px;
    padding-bottom: 60px;

}

.about-presentation p{
    padding-bottom:60px;
}

.manhummel_partner{
    background-color:#F9F9FB;
    padding:30px;
    border-radius:24px;
    display:flex;
    flex-direction:row;
    max-width:600px;
}


.AboutPlusValue-section {
    padding: 60px 0;
    position: relative;
    background-color: white;
    min-height: unset;
}

.AboutPlusValue-container {
    display: flex;
    overflow-x: auto;
    gap: 60px;
    scroll-behavior: smooth;
    padding: 0 40px;
    max-width:1200px;
    margin-left:auto;
    margin-right:auto;
}

.AboutPlusValue-container::-webkit-scrollbar {
    display: none; /* Hide scrollbar in WebKit browsers */
}

.AboutPlusValue-container {
    -ms-overflow-style: none;  /* Hide scrollbar in IE and Edge */
    scrollbar-width: none;  /* Hide scrollbar in Firefox */
}

.AboutPlusValue-item {
    display: flex;
    flex-direction: column;
    background-color: #F9F9FB;
    width: 333px;
    text-align: left;
    white-space: normal;
    flex-shrink: 0;
    padding:30px;
    border-radius:24px;
}

.AboutPlusValue-item-header {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 10px;
    font-size: 1.2em;
    font-weight: 700;
}

.AboutPlusValue-icon-container {
    background-color: #ffffff;
    border-radius: 50%;
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 10px;
}

.AboutPlusValue-icon {
    color: #232428;
    font-size: 1.5em;
}

.AboutPlusValue-item-image img {
    width: 100%;
    height: auto;
    min-height: 220px;
    margin-top: 18px;
    margin-bottom:20px;
}

.AboutPlusValue-item-footer {
    padding: 10px 0px 10px 0px;
}

.AboutPlusValue-item h1{
    text-align: left;
    padding-bottom:20px;
    padding-top:20px;
}
.AboutPlusValue-item p{
    text-align: left;
    padding-bottom:20px;
}

.AboutPlusValue-button {
    background-color: #4f6aa6;
    color: #fff;
    border: none;
    padding: 20px 28px;
    cursor: pointer;
    border-radius: 4px;
    transition: background-color 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.AboutPlusValue-button:hover {
    background-color: #3d5590;
}

.AboutPlusValue-button span {
    margin-left: 20px; /* Added margin-left for spacing */
}

.AboutPlusValue-scroll-button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: #4f6aa6;
    color: #fff;
    border: none;
    padding: 10px;
    cursor: pointer;
    z-index: 1;
}

.AboutPlusValue-scroll-left {
    left: 0;
}

.AboutPlusValue-scroll-right {
    right: 0;
}

.AboutPlusValue-scroll-button:hover {
    background-color: #3d5590;
}
.AboutPlusValue-container.active {
    cursor: grabbing;
}

.AboutPlusValue-container {
    cursor: grab;
    position: relative;
}
.AboutPlusValue-container img {
    user-drag: none; 
    -webkit-user-drag: none; 
    -moz-user-drag: none; 
    -ms-user-drag: none; 
    user-select: none; 
    -webkit-user-select: none; 
    -moz-user-select: none; 
    -ms-user-select: none; 
}

.AboutPlusValue-container * {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

.AboutPlusValue-container::before,
.AboutPlusValue-container::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 30px;
    pointer-events: none;
}

.AboutPlusValue-container::before {
    left: 0;
    background: linear-gradient(to right, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
}

.AboutPlusValue-container::after {
    right: 0px;
    background: linear-gradient(to left, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
}



.contactform {
    display: flex;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

.contactform-left {
    flex: 1;
    background-color: #F8F8F8;
    padding: 60px;
}

.contactform-right {
    flex: 1;
    background-color: #000;
    color: #fff;
    padding: 40px;
}

.contactform-title h2 {
    font-size: 24px;
    margin-bottom: 20px;
}

.contactform-form input[type="text"],
.contactform-form input[type="email"],
.contactform-form select,
.contactform-form textarea {
    width: calc(50% - 10px);
    padding: 10px;
    margin: 10px 4px;
    border: 0px solid #ccc;
    border-bottom: 1px solid #ccc;
    border-radius: 5px;
    color: #000;
    font-family: 'Manrope', sans-serif;
    background-color: transparent;
    box-shadow: unset;
    border-radius: 0px;
    font-size:16px;
    min-height:65px;
}

.contactform-form textarea {
    width: calc(100% - 9px);
    height: 100px;
    resize: none;
    color: #000;
    font-family: 'Manrope', sans-serif;
    background-color: transparent;
    border: 0px solid #ccc;
    border-bottom: 1px solid #ccc;
    box-shadow: unset;
    border-radius: 0px;
}

.contactform-form input[type="submit"] {
    width: 100%;
    padding: 10px;
    border: none;
    background-color: #000;
    color: #fff;
    font-size: 16px;
    cursor: pointer;
    border-radius:0;
}

.contactform-form input[type="submit"]:hover {
    background-color: #444;
}

.contactform-right h2 {
    font-size: 18px;
    margin-bottom: 10px;
}

.contactform-right p {
    margin: 5px 0;
}

.contactform-right hr {
    border: 1px solid #444;
    margin: 20px 0;
}

.contactform-right a {
    display: block;
    padding: 10px 20px;
    margin: 10px 0;
    color: #fff;
    border: 2px solid #fff;
    text-decoration: none;
    border-radius: 5px;
    transition: background-color 0.3s, color 0.3s;
    width: 100%;
    border-radius:0;
}

.contactform-right a:hover {
    background-color: #fff;
    color: #000;
}

/* Enhancing the date, textarea, and input styles to fit your design */
.contactform-form input[type="date"],
.contactform-form input[type="text"],
.contactform-form input[type="email"],
.contactform-form select,
.contactform-form textarea {
    width: calc(50% - 10px);
    padding: 10px;
    margin: 10px 4px;
    border: 0px solid #ccc;
    border-bottom: 1px solid #ccc;
    border-radius: 0px;
    color: #000;
    font-family: 'Manrope', sans-serif;
    background-color: transparent;
    font-size: 16px;
    min-height: 55px; /* Reduced min-height for better uniformity */
}

/* Textarea adjustment to fit style */
.contactform-form textarea {
    width: calc(100% - 10px);
    height: 150px;
    resize: vertical;
    border-bottom: 1px solid #ccc;
    padding: 10px;
    margin: 10px 4px;
}

/* Consistent input focus effect */
.contactform-form input[type="text"]:focus,
.contactform-form input[type="email"]:focus,
.contactform-form input[type="date"]:focus,
.contactform-form select:focus,
.contactform-form textarea:focus {
    border-bottom: 1px solid #000;
    outline: none;
}

/* Submit button style */
.contactform-form input[type="submit"] {
    width: 100%;
    padding: 15px;
    border: none;
    background-color: #000;
    color: #fff;
    font-size: 16px;
    cursor: pointer;
    border-radius: 0;
    transition: background-color 0.3s ease;
}

.contactform-form input[type="submit"]:hover {
    background-color: #444;
}




.surmesureform {
    display: flex;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

.surmesureform-left {
    flex: 1;
    background-color: #E7E8F0;
    padding: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-top-left-radius: 24px;
    border-bottom-left-radius: 24px;
}

.surmesureform-left img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
}

.surmesureform-right {
    flex: 1;
    background-color: #E7E8F0;
    padding: 60px;
    border-top-right-radius: 24px;
    border-bottom-right-radius: 24px;
}

.surmesureform-title h2 {
    font-size: 24px;
    margin-bottom: 20px;
}

.surmesureform-form input[type="text"] {
    width: calc(100% - 20px);
    padding: 10px;
    margin: 10px 4px;
    border: 0px solid #ccc;
    border-bottom: 1px solid #ccc;
    border-radius: 0;
    color: #000;
    font-family: 'Manrope', sans-serif;
    background-color: transparent;
    box-shadow: none;
}
.surmesureform-form input[type="email"] {
    width: calc(100% - 20px);
    padding: 10px;
    margin: 10px 4px;
    border: 0px solid #ccc;
    border-bottom: 1px solid #ccc;
    border-radius: 0;
    color: #000;
    font-family: 'Manrope', sans-serif;
    background-color: transparent;
    box-shadow: none;
}

.surmesureform-form input[type="submit"] {
    width: 100%;
    padding: 10px;
    border: none;
    background-color: #000;
    color: #fff;
    font-size: 16px;
    cursor: pointer;
    border-radius: 0;
}

.surmesureform-form input[type="submit"]:hover {
    background-color: #444;
}

.surmesureform-form .surmesureform-price-label {
    font-size: 18px;
    color: #333;
    margin-top: 20px;
}

.surmesureform-form .surmesureform-price {
    font-size: 18px;
    color: #333;
    margin-top: 10px;
}


.Cannabis-background {
    width: 100%;
    height: 100%;
    max-height:500px;
    background: url('../img/cruise.webp') no-repeat center center;
    background-size: cover;
    border-radius:24px;
}

.Cannabis-text {
    position: relative;
    z-index: 1;
    text-align: left;
    color: #fff;
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: self-start;
    justify-content: center;
    height: 100%;
}

.Cannabis-text a{
    padding:20px;
    border: 1px solid white;
    color:black;
    background-color: white;
    margin-top:24px;
}

.Cannabis-text a:hover{
    padding:20px;
    border: 1px solid white;
    color:white;
    background-color: transparent;
}

.Cannabis-text h1{
    font-size: 35px;
    font-weight: 700;
    text-align: left !important;
}


.button-accept {
    padding: 10px 20px;
    font-size: 16px;
    color: #fff;
    background-color: #ea002a; /* Vert */
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s ease;
  }
  
  .button-accept:hover {
    background-color: #c92533; /* Un vert un peu plus foncé */
  }
  
  .button-accept:focus {
    outline: none;
    box-shadow: 0 0 0 2px c92533; /* Même couleur que le fond, avec une transparence */
  }

  /* Style commun des boutons */
    .cookie-button {
        padding: 10px 20px;
        margin: 0 10px;
        border: none;
        cursor: pointer;
        transition: background-color 0.3s ease;
        border-radius:24px;
    }
    
    /* Style spécifique pour chaque bouton */
    .accept-button {
        background-color: #4CAF50; /* Vert */
        color: white;
        -webkit-transition: color .4s ease, background-color .4s ease;

    }
    
    .accept-button:hover {
        background-color: #45a049;
    }
    
    .decline-button {
        background-color: #f44336; /* Rouge */
        color: white;
        -webkit-transition: color .4s ease, background-color .4s ease;

    }
    
    .decline-button:hover {
        background-color: #da190b;
    }
  

    /* Section Témoignages */
.disneypage-testimonial {
    background-color: #f9f9f9;
    border: 1px solid #e0e0e0;
    padding: 20px;
    margin-bottom: 20px;
    border-radius: 8px;
}

.disneypage-testimonial p {
    font-style: italic;
    color: #555;
    font-size: 1.1em;
    margin-bottom: 10px;
}

.disneypage-testimonial p:last-child {
    text-align: right;
    font-style: normal;
    font-weight: bold;
}

/* Section FAQ */
.disneypage-faq h3 {
    font-size: 1.3em;
    margin: 20px 0 10px;
    color: #333;
    cursor: pointer;
}

.disneypage-faq p {
    font-size: 1em;
    margin: 0 0 20px;
    padding: 0;
    color: #666;
    display: none;
}

.disneypage-faq h3.active + p {
    display: block;
}

.disneypage-faq h3:hover {
    color: #007BFF;
}

/* Section Avantages Exclusifs */
.disneypage-benefits ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.disneypage-benefits li {
    font-size: 1.2em;
    padding: 10px 0;
    border-bottom: 1px solid #e0e0e0;
    color: #333;
    display: flex;
    align-items: center;
}

.disneypage-benefits li:last-child {
    border-bottom: none;
}

.disneypage-benefits li::before {
    content: '✔'; /* You can replace with any icon */
    margin-right: 10px;
    color: #28a745;
    font-weight: bold;
}

/* Responsive Design */
@media screen and (max-width: 768px) {
    .disneypage-testimonial p {
        font-size: 1em;
    }

    .disneypage-faq h3 {
        font-size: 1.2em;
    }

    .disneypage-faq p {
        font-size: 0.95em;
    }

    .disneypage-benefits li {
        font-size: 1.1em;
    }
}

/* Grille des services additionnels */
.disneypage-services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    margin-top: 20px;
}

.disneypage-services-grid div {
    background-color: #f9f9f9;
    border: 1px solid #e0e0e0;
    padding: 20px;
    border-radius: 8px;
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.disneypage-services-grid h3 {
    font-size: 1.5em;
    margin-bottom: 10px;
    color: #333;
}

.disneypage-services-grid p {
    font-size: 1.1em;
    color: #666;
    line-height: 1.5;
}

.disneypage-services-grid div:hover {
    transform: translateY(-5px);
    box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.1);
}

/* Responsive Design */
@media screen and (max-width: 768px) {
    .disneypage-services-grid {
        grid-template-columns: 1fr; /* Affiche un seul service par ligne sur mobile */
    }

    .disneypage-services-grid div {
        padding: 15px;
    }

    .disneypage-services-grid h3 {
        font-size: 1.3em;
    }

    .disneypage-services-grid p {
        font-size: 1em;
    }
}

/* Section Témoignages avec effet carte */
.disneypage-testimonial-cards {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    margin-top: 30px;
}

.testimonial-card {
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 10px;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
    padding: 20px;
    max-width: 300px;
    flex: 1 1 calc(33.333% - 40px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.testimonial-card:hover {
    transform: translateY(-10px);
    box-shadow: 0px 8px 20px rgba(0, 0, 0, 0.15);
}

.testimonial-card p {
    font-size: 1.1em;
    color: #555;
    margin-bottom: 15px;
    line-height: 1.4;
    font-style: italic;
}

.testimonial-card span {
    font-weight: bold;
    color: #333;
    font-size: 1em;
    text-transform: uppercase;
}

/* Responsive Design */
@media screen and (max-width: 768px) {
    .testimonial-card {
        flex: 1 1 100%;
    }
}

@media screen and (max-width: 480px) {
    .testimonial-card {
        padding: 15px;
    }

    .testimonial-card p {
        font-size: 1em;
    }

    .testimonial-card span {
        font-size: 0.9em;
    }
}



.productpage-section {
    padding: 20px;
}

.productpage-container {
    display: flex;
    gap: 20px;
    
}

.productpage-image-container {
    flex: 1;
}

.productpage-image-container img {
    width: 100%;
    height: auto;
}

.productpage-details {
    flex: 2;
}

.productpage-details h1 {
    font-size: 2em;
    margin-bottom: 10px;
}

.productpage-pricing {
    font-size: 1.2em;
    margin-bottom: 10px;
}

.productpage-pricing span {
    display: block;
}

.productpage-model-sku {
    font-size: 1em;
    margin-bottom: 10px;
}

.productpage-model-sku span {
    display: block;
}

.productpage-details hr {
    margin: 20px 0;
}

.productpage-details h2 {
    font-size: 1.5em;
    margin-bottom: 10px;
}

.productpage-details p {
    font-size: 1em;
    margin-bottom: 20px;
}

.productpage-variants {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 20px;
}

.productpage-variant-header,
.productpage-variant {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    align-items: center;
    padding: 10px 0;
}

.productpage-variant-header div {
    font-weight: bold;
}

.productpage-variant-dimensions {
    font-size: 1.05em;
    display: flex;
    align-items: center;
    gap: 5px;
    justify-content: center;
    background-color: white;
    border: #CBCBCB 1px solid;
    border-radius: 12px;
    min-width:150px;
    max-width:200px;
    min-height: 66px;
    padding:10px 15px;
    margin-right:5px;
}

.productpage-quantity {
    display: flex;
    align-items: center;
    gap: 5px;
    justify-content: center;
    background-color: white;
    border: #CBCBCB 1px solid;
    border-radius: 12px;
    min-width:150px;
    max-width:200px;
    min-height:66px;
    padding: 0px 15px;
    margin-right:5px;
}

.productpage-quantity input {
    width: 50px;
    text-align: center;
    background-color: transparent;
    margin-top: 0px;
    margin-bottom: 0px;
    border: unset;
    box-shadow: unset;
    border-radius: unset;
}

.productpage-quantity input:focus {
    border:unset;
    outline: none;
}

.productpage-quantity button {
    background: #E9E9E9;
    border: none;
    padding: 5px;
    cursor: pointer;
    width:25px;
    height:25px;
    text-align: center;
    color:black;
}

/* Chrome, Safari, Edge, Opera */
input[type=number]::-webkit-inner-spin-button, 
input[type=number]::-webkit-outer-spin-button { 
    -webkit-appearance: none; 
    margin: 0; 
}

/* Firefox */
input[type=number] {
    -moz-appearance: textfield;
}


.productpage-quantity button:hover {
    background: #ccc;
}

.productpage-footer {
    text-align: center;
    margin-top: 20px;
}

.productpage-add-to-cart {
    background-color: #326D4A;
    color: white;
    padding: 15px 20px;
    border: none;
    cursor: pointer;
    border-radius: 5px;
}

.productpage-add-to-cart:hover {
    background-color: #358455;
}
.productpage-variant-flex{
    display: flex;
    flex-direction: row;
}


.product-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: start;
    padding: 20px;
}
.product-item {
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    width: 235px;
    text-align: center;
    padding: 15px;
    padding-left:20px;
    padding-right:20px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.product-item img {
    max-width: 100%;
    height: auto;
}
.product-item h3 {
    font-size: 18px;
    margin: 10px 0;
    text-align:left;
}
.product-item p {
    font-size: 14px;
    color: #666;
    text-align: left;
    min-height:40px;
}
.product-item .price {
    font-size: 30px;
    color: #004987;
    font-weight: bold;
    margin: 10px 0;
    margin-top: 10px;
    margin-bottom: 16px;
}
.product-item .price span {
    font-size: 12px;
}
.add-to-cart {
    background-color: #004987;
    color: #fff;
    border: none;
    padding: 10px 30px;
    cursor: pointer;
    border-radius: 10px;
    transition: background-color 0.3s;
    font-weight:600;
}
.add-to-cart:hover {
    background-color: #3d5590;
}
/* ===== Home / Disney conversion sections (2026) ===== */
.cta-primary {
    display: inline-block;
    max-width: 320px;
    margin-top: 15px;
    padding: 14px 28px;
    background: linear-gradient(to bottom right, #4f6aa6, #43589a);
    color: #fff !important;
    font-weight: 900;
    font-size: 1.1em;
    text-align: center;
    border-radius: 18px;
    border: none;
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.cta-primary:hover {
    transform: scale(1.03);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.18);
    color: #fff !important;
}
.cta-secondary {
    display: inline-block;
    margin-top: 12px;
    margin-left: 0;
    padding: 12px 22px;
    background: transparent;
    color: #fff !important;
    font-weight: 700;
    border: 2px solid rgba(255, 255, 255, 0.85);
    border-radius: 18px;
    text-decoration: none;
}
.cta-secondary:hover {
    background: rgba(255, 255, 255, 0.15);
    color: #fff !important;
}
.cta-secondary.cta-secondary-dark {
    color: #4f6aa6 !important;
    border-color: #4f6aa6;
}
.cta-secondary.cta-secondary-dark:hover {
    background: #e8f4ff;
    color: #003f7f !important;
}

.hero-static {
    position: relative;
    background-image: url('../banners/sud5.webp');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    min-height: calc(82vh);
    max-height: 900px;
}
.hero-static::before {
    content: '';
    position: absolute;
    inset: 0;
    background-color: rgba(35, 36, 40, 0.42);
}
.hero-static .about-container {
    position: relative;
    z-index: 1;
    flex-direction: row;
    align-items: center;
    min-height: calc(70vh);
    padding-top: 40px;
    padding-bottom: 40px;
}
.hero-static .about-LeftText h2,
.hero-static .about-LeftText h3 {
    color: #fff;
    text-shadow: 0 0 9px rgba(0, 0, 0, 0.75);
}
.hero-static .about-LeftText h2 {
    font-weight: 900;
    font-size: 2.6em;
    margin-bottom: 12px;
}
.hero-static .hero-cta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    margin-top: 8px;
}
@media (max-width: 800px) {
    .hero-static .about-container {
        flex-direction: column;
        align-items: stretch;
    }
    .hero-static .about-LeftText {
        max-width: 100%;
        margin-right: 0;
    }
}

.trust-bar {
    background: #f4f7fb;
    border-top: 1px solid #e5e9f0;
    border-bottom: 1px solid #e5e9f0;
    padding: 28px 16px;
}
.trust-bar-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}
.trust-tile {
    background: #fff;
    border-radius: 10px;
    padding: 18px 14px;
    text-align: center;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
    display: flex;
    flex-direction: column;
    gap: 6px;
    color: inherit;
    text-decoration: none;
}
.trust-tile strong {
    font-size: 1.45em;
    color: #4f6aa6;
}
.trust-tile span {
    font-size: 0.92em;
    color: #444;
    line-height: 1.35;
}
.trust-tile-link:hover {
    box-shadow: 0 4px 12px rgba(0, 90, 158, 0.15);
}
@media (max-width: 800px) {
    .trust-bar-inner {
        grid-template-columns: 1fr 1fr;
    }
}

.dest-section {
    max-width: 1200px;
    margin: 0 auto;
    padding: 48px 20px 24px;
}
.dest-section > h2 {
    text-align: center;
    margin-bottom: 24px;
}
.dest-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.dest-card {
    background: #f9f9f9;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
}
.dest-card-img {
    height: 180px;
    background-size: cover;
    background-position: center;
}
.dest-card-body {
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
}
.dest-card-body h3 {
    margin: 0;
}
.dest-card-body p {
    margin: 0;
    flex: 1;
    color: #444;
}
@media (max-width: 800px) {
    .dest-grid {
        grid-template-columns: 1fr;
    }
}

.how-it-works {
    padding: 48px 20px;
    background: #fff;
}
.how-it-works-inner {
    max-width: 1100px;
    margin: 0 auto;
}
.how-it-works-inner > h2 {
    text-align: center;
    margin-bottom: 8px;
}
.how-it-works-lede {
    text-align: center;
    color: #555;
    margin-bottom: 28px;
}
.steps-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.step-card {
    background: #f9f9f9;
    border-radius: 12px;
    padding: 24px 20px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
}
.step-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #4f6aa6;
    color: #fff;
    font-weight: 800;
    margin-bottom: 12px;
}
.step-card h3 {
    margin: 0 0 8px;
}
.step-card p {
    margin: 0;
    color: #444;
    line-height: 1.5;
}
@media (max-width: 800px) {
    .steps-grid {
        grid-template-columns: 1fr;
    }
}

.testimonials-section {
    padding: 48px 20px;
    background: #f4f7fb;
}
.testimonials-inner {
    max-width: 1200px;
    margin: 0 auto;
}
.testimonials-inner > h2 {
    text-align: center;
    margin-bottom: 16px;
}
.review-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    margin-bottom: 28px;
}
.review-badge {
    display: inline-block;
    padding: 10px 16px;
    border-radius: 999px;
    font-weight: 700;
    font-size: 0.95em;
    text-decoration: none;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}
.review-badge-google {
    background: #fff;
    color: #1a73e8;
    border: 1px solid #dadce0;
}
.review-badge-facebook {
    background: #1877f2;
    color: #fff;
}
.testimonials-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 18px;
}
.testimonials-grid .testimonial-card {
    max-width: none;
    flex: none;
    margin: 0;
}
.testimonials-grid .testimonial-card footer {
    margin-top: 12px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.testimonials-grid .testimonial-card cite {
    font-style: normal;
    font-weight: 700;
    color: #222;
}
.testimonial-meta {
    font-size: 0.85em;
    color: #777;
}
.testimonial-translated {
    display: block;
    font-size: 0.8em;
    color: #888;
    margin-top: 6px;
}

.faq-section {
    max-width: 900px;
    margin: 0 auto;
    padding: 48px 20px;
}
.faq-section > h2 {
    text-align: center;
    margin-bottom: 8px;
}
.faq-section > .faq-hint {
    text-align: center;
    color: #666;
    margin-bottom: 20px;
}
.faq-section details,
.conversion-faq details {
    background: #f9f9f9;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 14px 16px;
    margin-bottom: 10px;
}
.faq-section summary,
.conversion-faq summary {
    cursor: pointer;
    font-weight: 700;
    color: #4f6aa6;
}
.faq-section details p,
.conversion-faq details p {
    margin: 10px 0 0;
    color: #333;
    line-height: 1.55;
}

.blog-teaser {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
}
.blog-teaser > h2 {
    text-align: center;
    margin-bottom: 24px;
}
.blog-teaser-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}
.blog-teaser-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
}
.blog-teaser-img {
    height: 160px;
    background-size: cover;
    background-position: center;
    background-color: #e8eef5;
}
.blog-teaser-body {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex: 1;
}
.blog-teaser-body h3 {
    margin: 0;
    font-size: 1.05em;
    min-height: 2.6em;
}
@media (max-width: 800px) {
    .blog-teaser-grid {
        grid-template-columns: 1fr;
    }
}

.final-cta-section {
    text-align: center;
    padding: 40px 20px 64px;
}
.final-cta-section h2 {
    margin-bottom: 16px;
}

.disney-price-block {
    background: #f4f7fb;
    border-radius: 12px;
    padding: 24px;
    margin: 24px 0;
}
.disney-price-block ul {
    margin: 12px 0 16px 22px;
}
.disney-audiences-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin: 16px 0 28px;
}
.disney-audience-card {
    display: flex;
    gap: 14px;
    align-items: center;
    background: #f9f9f9;
    border-radius: 10px;
    padding: 14px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
    text-decoration: none;
    color: inherit;
}
.disney-audience-card img {
    width: 96px;
    height: 96px;
    object-fit: cover;
    border-radius: 8px;
    flex-shrink: 0;
}
.disney-audience-card h3 {
    margin: 0 0 6px;
}
.disney-audience-card p {
    margin: 0;
    color: #555;
    font-size: 0.95em;
}
@media (max-width: 800px) {
    .disney-audiences-grid {
        grid-template-columns: 1fr;
    }
}

.promos-official {
    background: #fafafa;
    border: 1px dashed #ccc;
    border-radius: 10px;
    padding: 20px;
    margin: 28px 0;
}
.promos-official .promo-links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 12px 0;
}

.opc-footer-line {
    font-size: 11px;
    line-height: 1.4;
    margin-top: 8px;
    color: #555;
}
.opc-footer-line a {
    color: #4f6aa6;
}

.sticky-cta {
    display: none;
}
@media (max-width: 800px) {
    .sticky-cta {
        display: flex;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 10050;
        gap: 8px;
        padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
        background: rgba(255, 255, 255, 0.97);
        border-top: 1px solid #ddd;
        box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.12);
    }
    .sticky-cta a {
        flex: 1;
        text-align: center;
        padding: 14px 10px;
        border-radius: 12px;
        font-weight: 800;
        text-decoration: none;
        font-size: 0.95em;
    }
    .sticky-cta-call {
        background: #fff;
        color: #4f6aa6;
        border: 2px solid #4f6aa6;
    }
    .sticky-cta-quote {
        background: #4f6aa6;
        color: #fff;
    }
    body {
        padding-bottom: 72px;
    }
}

.why-choose-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
    margin: 16px 0 32px;
}
.why-choose-grid .disneypage-reason {
    margin-bottom: 0;
}

/* ===== Call-first advisor cards (before contact form) ===== */
.call-advisors {
    padding: 36px 16px 8px;
    background: linear-gradient(180deg, #f4f7fb 0%, #ffffff 100%);
    border-radius: 12px;
    margin: 24px 0 8px;
}
.call-advisors-inner {
    max-width: 960px;
    margin: 0 auto;
}
.call-advisors-inner > h2 {
    text-align: center;
    margin: 0 0 8px;
    font-size: 1.55em;
    color: #232428;
}
.call-advisors-lede {
    text-align: center;
    color: #555;
    max-width: 640px;
    margin: 0 auto 22px;
    line-height: 1.45;
}
.call-advisors-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
.call-advisor-card {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: stretch;
}
.call-advisor-photo {
    display: block;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 18px rgba(83, 104, 168, 0.18);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    background: #fff;
}
.call-advisor-photo:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(83, 104, 168, 0.28);
}
.call-advisor-photo img {
    display: block;
    width: 100%;
    height: auto;
}
.call-advisor-btn {
    display: block;
    text-align: center;
    padding: 14px 16px;
    border-radius: 14px;
    background: #4f6aa6;
    color: #fff !important;
    font-weight: 800;
    text-decoration: none;
    font-size: 1.02em;
    box-shadow: 0 2px 8px rgba(0, 90, 158, 0.25);
}
.call-advisor-btn:hover {
    background: #003f7f;
    color: #fff !important;
}
.call-advisor-btn-alt {
    background: linear-gradient(to bottom right, #4f6aa6, #43589a);
}
.call-advisor-btn-alt:hover {
    filter: brightness(0.95);
    background: linear-gradient(to bottom right, #43589a, #3d5590);
}
.call-advisors-or {
    text-align: center;
    margin: 22px 0 8px;
    color: #666;
    font-size: 0.98em;
}
@media (max-width: 800px) {
    .call-advisors-grid {
        grid-template-columns: 1fr;
    }
    .call-advisors-inner > h2 {
        font-size: 1.3em;
    }
}

/* ===== Design audit 2026 (Apple HIG-based review) ===== */
:root {
    --brand: #4f6aa6;          /* white on brand = 5.32:1 */
    --brand-strong: #3d5590;   /* hover, white on it = 7.1:1 */
    --link: #00708f;           /* on white = 5.6:1 */
    --ink: #1d1d1f;
    --ink-2: #4a4a4f;          /* on white = 8.9:1 */
    --caption: #5f6368;        /* on white = 6.0:1 */
}
.sr-only {
    position: absolute !important;
    width: 1px; height: 1px;
    margin: -1px; padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
/* Visible keyboard focus everywhere */
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, summary:focus-visible,
[tabindex]:focus-visible {
    outline: 3px solid #1a73e8;
    outline-offset: 2px;
}
/* Press state for custom buttons */
.btn:active, .cta-primary:active, .cta-secondary:active,
button[type="submit"]:active, .call-advisor-btn:active {
    transform: scale(0.98);
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
    .cta-primary:hover { transform: none; }
}
/* Cookie banner: accessible contrast + 44px targets */
.cookie-button {
    font-size: 15px;
    min-height: 44px;
    min-width: 96px;
    padding: 10px 22px;
}
.accept-button { background-color: #2e7d32 !important; }       /* 5.13:1 */
.accept-button:hover { background-color: #256628 !important; }
.decline-button { background-color: #c62828 !important; }      /* 5.62:1 */
.decline-button:hover { background-color: #a31f1f !important; }
.review-badge-facebook { background: #1565c0 !important; }     /* 5.75:1 */
/* Language switch: readable size, expanded hit area */
.topnav-content > a {
    font-size: 14px;
    position: relative;
}
.topnav-content > a::before {
    content: '';
    position: absolute;
    inset: -10px -8px;
}
/* Minimum text sizes (>= 13px) */
.mainfoot-content a,
.opc-footer-line,
.opc-footer-line a { font-size: 14px; }
.footerGreenBar p { font-size: 13px; line-height: 1.5; }
.contactform-form a { font-size: 14px; }
.opc-footer-line { color: #4a4a4f; }
/* Photo captions (Disney legal notice sits under each Disney photo) */
.disney-photo { margin: 0; }
.disney-photo img {
    display: block;
    width: 100%;
    height: auto;           /* never cropped */
    border-radius: 8px;
}
.disney-photo figcaption,
.disney-legal {
    margin-top: 6px;
    font-size: 13px;
    line-height: 1.4;
    color: var(--caption);
    text-align: left;
}
/* Hero without Disney imagery behind text (Disney: no text/overlays on photos) */
.hero-solid {
    background: linear-gradient(135deg, #2f3f73 0%, #4f6aa6 100%);
    min-height: unset;
}
.hero-solid::before { display: none; }
.hero-static.hero-solid .about-container {
    min-height: unset;
    padding-top: 56px;
    padding-bottom: 56px;
}
.hero-photo-non-disney::before { background-color: rgba(20, 24, 40, 0.55); }
.hero-static .about-LeftText .hero-sub {
    color: #fff;
    font-size: 1.2em;
    font-weight: 500;
    line-height: 1.45;
    margin: 0 0 12px;
    text-shadow: 0 0 9px rgba(0, 0, 0, 0.75);
}
.hero-solid .about-LeftText .hero-sub { text-shadow: none; }
/* Disney showcase blocks on the home page */
.disney-showcase {
    max-width: 1100px;
    margin: 0 auto;
    padding: 8px 16px 8px;
}
.disney-showcase-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}
.disney-showcase-card {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    padding: 14px 14px 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.disney-showcase-card h3 { margin: 6px 0 0; }
.disney-showcase-card p { margin: 0; color: var(--ink-2); }
.disney-showcase-card .btn { align-self: flex-start; margin-top: 6px; }
.sud-showcase { max-width: 1100px; margin: 24px auto 0; padding: 0 16px; }
.sud-showcase .dest-card { max-width: 520px; margin: 0 auto; }
.sud-showcase .dest-card-img { height: 220px; }
@media (max-width: 800px) {
    .disney-showcase-grid { grid-template-columns: 1fr; }
}
.cruise-feature {
    max-width: 1100px;
    margin: 40px auto 0;
    padding: 0 16px;
}
.cruise-feature-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    background: #2f3f73;
    border-radius: 18px;
    overflow: hidden;
}
.cruise-feature-text {
    padding: 32px;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}
.cruise-feature-text h2 { color: #fff; margin: 0 0 8px; }
.cruise-feature-text a.cruise-cta {
    display: inline-block;
    min-height: 44px;
    margin-top: 18px;
    padding: 12px 22px;
    background: #fff;
    color: #1d2a55 !important;
    font-weight: 700;
    border-radius: 18px;
}
.cruise-feature-photo { background: #fff; padding: 14px; }
@media (max-width: 800px) {
    .cruise-feature-inner { grid-template-columns: 1fr; }
}
/* Audience cards: icon tiles instead of cropped thumbnails */
.disney-audience-card .aud-icon {
    width: 56px; height: 56px;
    border-radius: 14px;
    background: #e8eefb;
    color: var(--brand-strong);
    display: flex; align-items: center; justify-content: center;
    font-size: 24px;
    flex-shrink: 0;
}
.disney-audience-card { min-height: 88px; }
.disney-audience-card:focus-visible { outline-offset: 3px; }
/* Disney page images: show uncropped */
.disney123-image img {
    height: auto !important;
    object-fit: initial !important;
}
.disney123-image { overflow: visible; }
/* Why-choose headings */
.disneypage-reason h3 { font-size: 1.25em; margin: 0 0 8px; }
.disneypage-reason .reason-emoji { margin-right: 6px; }
/* Intro lead (was an H2 paragraph) */
.IntroPres-RightText .IntroPres-lead {
    font-size: 24px;
    font-weight: 600;
    line-height: 1.35;
    color: #333;
    margin: 0 0 20px;
    text-align: left;
}
.hero-solid .about-LeftText .hero-sub {
    color: #fff;
    font-size: 1.2em;
    font-weight: 500;
    line-height: 1.45;
    margin: 0 0 12px;
}
.hero-solid .about-LeftText h2 { color: #fff; }
.hero-solid .cta-primary {
    background: #fff;
    color: #263561 !important;   /* 10.9:1 on white */
}
.hero-solid .cta-primary:hover { background: #eef2fb; color: #263561 !important; }
.mainfoot-content a { color: #5a5d6e; }            /* 6.4:1 on white */
.mainfoot-content a:hover { color: var(--brand-strong); }
.mainfoot-text, .mainfoot-text u, .mainfoot-text p { font-size: 14px; }

/* ===== Cookie banner (2026): floating card matching site design ===== */
.cookie-banner {
    position: fixed;
    right: 20px;
    bottom: 20px;
    left: auto;
    width: min(440px, calc(100vw - 32px));
    background: #fff;
    color: var(--ink, #1d1d1f);
    border-radius: 18px;
    padding: 18px 20px;
    box-shadow: 0 12px 40px rgba(20, 30, 60, 0.28), 0 0 0 1px rgba(0, 0, 0, 0.06);
    z-index: 1000;
    display: none;
    grid-template-columns: auto 1fr;
    gap: 6px 14px;
    align-items: center;
    text-align: left;
}
.cookie-banner[style*="block"] { display: grid !important; }
.cookie-banner-icon {
    width: 44px; height: 44px;
    border-radius: 12px;
    background: #e8eefb;
    color: var(--brand-strong, #3d5590);
    display: flex; align-items: center; justify-content: center;
    font-size: 20px;
}
.cookie-banner-text {
    margin: 0;
    font-size: 15px;
    line-height: 1.45;
    color: var(--ink-2, #4a4a4f);
}
.cookie-banner-actions {
    grid-column: 1 / -1;
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    margin-top: 8px;
}
.cookie-banner .cookie-button {
    margin: 0;
    min-height: 44px;
    min-width: 110px;
    padding: 10px 22px;
    font-size: 15px;
    font-weight: 700;
    border-radius: 18px;
    cursor: pointer;
}
.cookie-banner .accept-button {
    background: linear-gradient(to bottom right, #4f6aa6, #43589a) !important;
    color: #fff !important;
    border: 2px solid transparent;
}
.cookie-banner .accept-button:hover { background: #3d5590 !important; }
.cookie-banner .decline-button {
    background: #fff !important;
    color: #3d5590 !important;
    border: 2px solid #4f6aa6;
}
.cookie-banner .decline-button:hover { background: #eef2fb !important; }
@media (max-width: 600px) {
    .cookie-banner { right: 16px; left: 16px; bottom: 16px; width: auto; }
    .cookie-banner-actions .cookie-button { flex: 1; }
}

/* Remove the global 576px minimum from the new content sections */
.trust-bar, .dest-section, .disney-showcase, .sud-showcase, .how-it-works,
.testimonials-section, .blog-teaser, .faq-section, .final-cta-section,
.call-advisors, .cruise-feature, .IntroPres-section {
    min-height: 0;
}
.hero-static { min-height: 0; max-height: none; }
.hero-static .about-container { min-height: min(560px, 70vh); }

/* ===== Testimonials redesign (2026) ===== */
.testimonials-section { background: #f4f7fb; padding: 56px 20px; }
.testimonials-inner > h2 { margin-bottom: 18px; }
.testimonials-grid {
    display: block;
    column-count: 3;
    column-gap: 20px;
}
.review-card {
    break-inside: avoid;
    margin: 0 0 20px;
    padding: 22px 22px 18px;
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 2px 12px rgba(31, 45, 90, 0.08);
    border: 1px solid #e6ebf5;
    text-align: left;
    position: relative;
}
.review-stars { color: #f5a623; font-size: 15px; letter-spacing: 2px; margin-bottom: 12px; }
.review-card blockquote {
    margin: 0; padding: 0; border: 0; background: none;
}
.review-card blockquote p {
    margin: 0;
    font-size: 16px;
    line-height: 1.6;
    font-style: normal;
    font-weight: 400;
    color: #1d1d1f;
    text-align: left;
    text-transform: none;
}
.review-card .review-translated {
    margin: 10px 0 0;
    font-size: 13px;
    color: #5f6368;
    font-style: italic;
    text-transform: none;
}
.review-card figcaption {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid #edf0f7;
}
.review-avatar {
    width: 40px; height: 40px;
    border-radius: 50%;
    background: linear-gradient(135deg, #4f6aa6, #43589a);
    color: #fff;
    font-weight: 700;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.review-who { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.review-who cite { font-style: normal; font-weight: 700; font-size: 15px; color: #1d1d1f; }
.review-meta { font-size: 13px; color: #5f6368; }
.review-source {
    font-size: 12px; font-weight: 700;
    padding: 4px 10px; border-radius: 999px;
    background: #e8f0fe; color: #1558b0;
}
.review-google .review-source { background: #fff; color: #1a56b8; border: 1px solid #c9d6ef; }
.review-facebook .review-source { background: #e7f0fd; color: #124a9c; }
@media (max-width: 1000px) { .testimonials-grid { column-count: 2; } }
@media (max-width: 640px)  { .testimonials-grid { column-count: 1; } }

/* ===== FAQ redesign (2026) ===== */
.faq-section, .conversion-faq { max-width: 860px; margin: 0 auto; padding: 56px 20px; }
.faq-section > h2, .conversion-faq > h2 { text-align: center; margin: 0 0 8px; }
.faq-section > .faq-hint, .conversion-faq > p { text-align: center; color: #4a4a4f; margin: 0 0 28px; }
.faq-section details, .conversion-faq details {
    background: #fff;
    border: 1px solid #dfe5f2;
    border-radius: 16px;
    padding: 0;
    margin-bottom: 12px;
    box-shadow: 0 1px 4px rgba(31, 45, 90, 0.05);
    transition: box-shadow .2s ease, border-color .2s ease;
}
.faq-section details[open], .conversion-faq details[open] {
    border-color: #4f6aa6;
    box-shadow: 0 6px 20px rgba(79, 106, 166, 0.16);
}
.faq-section summary, .conversion-faq summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 56px;
    padding: 14px 20px;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.35;
    color: #1d1d1f;
    border-radius: 16px;
}
.faq-section summary::-webkit-details-marker, .conversion-faq summary::-webkit-details-marker { display: none; }
.faq-section summary::after, .conversion-faq summary::after {
    content: '';
    flex-shrink: 0;
    width: 28px; height: 28px;
    border-radius: 50%;
    background: #e8eefb url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M3 5l4 4 4-4' fill='none' stroke='%233d5590' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center no-repeat;
    transition: transform .2s ease, background-color .2s ease;
}
.faq-section details[open] summary::after, .conversion-faq details[open] summary::after { transform: rotate(180deg); }
.faq-section summary:hover, .conversion-faq summary:hover { color: #3d5590; }
.faq-section details p, .conversion-faq details p {
    margin: 0;
    padding: 0 20px 20px;
    color: #4a4a4f;
    font-size: 16px;
    line-height: 1.65;
}
.faq-section details[open] > summary, .conversion-faq details[open] > summary { padding-bottom: 8px; }

/* ===== Destinations carousel (2026): one line, uniform cards, swipeable ===== */
.dest-section { max-width: 1240px; margin: 0 auto; padding: 48px 0 8px; }
.dest-section > h2 { text-align: center; margin-bottom: 24px; padding: 0 16px; }
.dest-carousel-wrap { position: relative; }
.dest-carousel {
    display: flex;
    flex-wrap: nowrap;
    gap: 20px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding: 0 20px;
    padding: 6px 20px 22px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    cursor: grab;
}
.dest-carousel::-webkit-scrollbar { display: none; }
.dest-carousel.is-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.dest-tile {
    flex: 0 0 min(360px, 82vw);
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 2px 12px rgba(31, 45, 90, 0.1);
    border: 1px solid #e6ebf5;
    overflow: hidden;
}
.dest-photo { margin: 0; padding: 12px 12px 0; }
.dest-photo img {
    display: block;
    width: 100%;
    height: auto !important;
    aspect-ratio: 3 / 2;          /* same frame for every card */
    object-fit: contain;          /* Disney photos are never cropped */
    background: #eef2fb;
    border-radius: 10px;
    -webkit-user-drag: none;
}
.dest-photo.dest-photo-cover img { object-fit: cover; }
.dest-photo figcaption {
    min-height: 20px;
    margin-top: 6px;
    font-size: 13px;
    line-height: 1.4;
    color: #5f6368;
}
.dest-tile-body {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 6px 18px 20px;
    flex: 1;
}
.dest-tile-body h3 { margin: 0; font-size: 1.2em; }
.dest-tile-body p { margin: 0; color: #4a4a4f; flex: 1; min-height: 3em; }
.dest-tile-body .btn { align-self: flex-start; margin-top: 8px; }
.dest-arrow {
    position: absolute;
    top: 38%;
    z-index: 2;
    width: 44px; height: 44px;
    border-radius: 50%;
    border: 1px solid #d5ddef;
    background: #fff;
    color: #3d5590;
    box-shadow: 0 4px 14px rgba(31, 45, 90, 0.18);
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
}
.dest-arrow:hover { background: #eef2fb; }
.dest-prev { left: 6px; }
.dest-next { right: 6px; }
@media (hover: none) { .dest-arrow { display: none; } }   /* touch: swipe instead */

/* ===== Resort cards ===== */
.resort-section { max-width: 1240px; margin: 0 auto; padding: 8px 0 24px; min-height: 0; }
.resort-row { margin-top: 20px; }
.resort-row-title { margin: 0 20px 4px; font-size: 1.3em; }
.resort-tile { flex-basis: min(270px, 78vw); }
.resort-art {
    position: relative;
    margin: 12px 12px 0;
    border-radius: 10px;
    aspect-ratio: 5 / 3;
    display: flex; align-items: center; justify-content: center;
    color: rgba(255, 255, 255, 0.95);
    font-size: 40px;
}
.resort-chip {
    position: absolute; left: 10px; bottom: 10px;
    background: rgba(255, 255, 255, 0.95);
    color: #263561;
    font-size: 12px; font-weight: 700;
    padding: 4px 10px; border-radius: 999px;
}
.resort-tile .dest-tile-body { padding-top: 14px; }
.resort-tile h4 { margin: 0; font-size: 1.02em; line-height: 1.3; min-height: 2.6em; }
.resort-tile .dest-tile-body p { min-height: 3em; font-size: 15px; }
.resort-legal { margin: 8px 20px 0; font-size: 13px; color: #5f6368; text-align: center; }
.resort-row .dest-arrow { top: 62px; }
.resort-row .dest-prev { left: 4px; }
.resort-row .dest-next { right: 4px; }

/* ===== Home hero slideshow (automatic, no controls) ===== */
.hero-slider {
    position: relative;
    overflow: hidden;
    background-image: none !important;
    background-color: #263561;
}
.hero-slider::before { z-index: 1; background-color: rgba(20, 24, 40, 0.5); }
.hero-slides { position: absolute; left: 0; top: 0; right: 0; bottom: 0; width: 100%; height: 100%; z-index: 0; overflow: hidden; pointer-events: none; }
.hero-slide {
    position: absolute; left: 0; top: 0; width: 100%; height: 100%;
    margin: 0; padding: 0;
    background-size: cover; background-position: center; background-repeat: no-repeat;
    transform: translateX(100%);
    will-change: transform;
}
.hero-slide.is-current { transform: translateX(0); }
.hero-slider .about-container { position: relative; z-index: 2; }
@media (prefers-reduced-motion: reduce) { .hero-slide { transition: none !important; } }

/* ===== Disney page layout system (dz-*) ===== */
.dz-band { background: #fff; min-height: 0; }
.dz-band.alt { background: #f4f7fb; }
.dz-inner { max-width: 1100px; margin: 0 auto; padding: 56px 20px; }
.dz-head { text-align: center; margin-bottom: 28px; }
.dz-head h2, .dz-center h2 { margin: 0; }
.dz-center { text-align: center; }
.dz-lede { max-width: 720px; margin: 10px auto 20px; color: var(--ink-2); line-height: 1.6; }
.dz-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin: 0 0 20px; }
.dz-split { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.dz-reverse .dz-media { order: -1; }
.dz-text h2 { margin: 0 0 14px; font-size: clamp(1.5rem, 2.4vw, 2rem); line-height: 1.2; color: var(--ink); }
.dz-text p { margin: 0 0 16px; line-height: 1.65; color: var(--ink-2); font-size: 1.05rem; }
.dz-checks { list-style: none; margin: 0 0 16px; padding: 0; }
.dz-checks li { position: relative; padding: 6px 0 6px 30px; color: var(--ink-2); line-height: 1.5; }
.dz-checks li::before { content: ""; position: absolute; left: 0; top: 9px; width: 18px; height: 18px; border-radius: 50%; background: var(--brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat; }
.dz-media { margin: 0; }
.dz-media img { width: 100%; height: auto !important; aspect-ratio: 3 / 2; object-fit: contain; display: block; border-radius: 14px; box-shadow: 0 10px 30px rgba(31, 41, 80, .15); background: #e9edf5; }
.dz-media figcaption { margin-top: 8px; font-size: 13px; color: var(--caption); text-align: center; }
.dz-cards { display: grid; gap: 20px; }
.dz-cards-3 { grid-template-columns: repeat(3, 1fr); }
.dz-cards-4 { grid-template-columns: repeat(4, 1fr); }
.dz-card { background: #fff; border: 1px solid #e3e8f2; border-radius: 14px; padding: 24px; box-shadow: 0 2px 10px rgba(31, 41, 80, .06); display: flex; flex-direction: column; align-items: flex-start; }
.dz-card h3 { margin: 0 0 8px; font-size: 1.2rem; color: var(--ink); }
.dz-card p { margin: 0 0 16px; color: var(--ink-2); line-height: 1.55; font-size: 1rem; }
.dz-card .btn { margin-top: auto; }
.dz-why { background: #f4f7fb; box-shadow: none; text-align: left; }
.dz-why p { margin: 0; }
.dz-why .reason-emoji { margin-right: 6px; }
.dz-band .conversion-faq { padding: 56px 20px; }
.dz-band .call-advisors { margin: 0 0 24px; }
@media (max-width: 900px) {
    .dz-split { grid-template-columns: 1fr; gap: 24px; }
    .dz-reverse .dz-media { order: 0; }
    .dz-cards-3, .dz-cards-4 { grid-template-columns: 1fr 1fr; }
    .dz-inner { padding: 40px 20px; }
}
@media (max-width: 600px) { .dz-cards-3, .dz-cards-4 { grid-template-columns: 1fr; } }

/* Hero slides must always span the full hero width (override generic section > div rules) */
.hero-slider > .hero-slides { max-width: none !important; margin: 0 !important; padding: 0 !important; left: 0 !important; right: 0 !important; width: 100% !important; box-sizing: border-box; }
.hero-slider .hero-slide { max-width: none !important; margin: 0 !important; padding: 0 !important; }

/* ===== "Nos coups de coeur" (featured packages) ===== */
.fav-section { background: #fff; padding: 56px 20px 40px; min-height: 0; }
.fav-inner { max-width: 1200px; margin: 0 auto; }
.fav-inner > h2 { margin: 0 0 24px; font-size: clamp(1.6rem, 2.6vw, 2.1rem); color: var(--ink); text-align: left; }
.fav-card {
    position: relative; flex: 0 0 min(277px, 78vw); scroll-snap-align: start;
    background: #eaeaea; border-radius: 10px; overflow: hidden;
    display: flex; flex-direction: column; transition: transform .2s ease, box-shadow .2s ease;
}
.fav-card:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(31, 41, 80, .18); }
.fav-link { position: absolute; inset: 0; z-index: 3; }
.fav-link:focus-visible { outline: 3px solid var(--brand-strong); outline-offset: -3px; border-radius: 10px; }
.fav-tag { position: absolute; top: 0; left: 0; z-index: 2; background: var(--brand-strong); color: #fff; padding: 12px 18px; border-radius: 0 0 10px 0; line-height: 1.1; }
.fav-price { display: block; font-size: 1.7rem; font-weight: 700; }
.fav-tax { display: block; margin-top: 2px; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .02em; }
.fav-img { aspect-ratio: 690 / 370; background: #d7dbe5; overflow: hidden; }
.fav-img img { width: 100%; height: 100% !important; object-fit: cover; object-position: center; display: block; }
.fav-content { padding: 18px 18px 22px; min-height: 210px; display: flex; flex-direction: column; justify-content: space-between; gap: 14px; }
.fav-content h3 { margin: 0; font-size: 1.1rem; line-height: 1.25; color: var(--ink); }
.fav-dest { margin: 4px 0 0; font-size: 14px; color: var(--ink-2); }
.fav-meta { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-top: 8px; }
.fav-stars { color: #f5b301; font-size: 14px; white-space: nowrap; }
.fav-stars .off { color: #c4c7ce; }
.fav-date { background: #1d1d1f; color: #fff; font-size: 12px; font-weight: 600; padding: 3px 10px; border-radius: 5px; }
.fav-body p { margin: 0 0 5px; font-size: 14px; line-height: 1.3; color: var(--ink); }
.fav-more { text-align: center; margin: 28px 0 8px; }
.fav-all { display: inline-flex; align-items: center; min-height: 48px; padding: 0 28px; border-radius: 25px; background: var(--brand-strong); color: #fff; font-weight: 600; text-decoration: none; }
.fav-all:hover { background: #2f4278; color: #fff; }
.fav-all:focus-visible { outline: 3px solid #1d1d1f; outline-offset: 3px; }
.fav-note { text-align: center; font-size: 13px; color: var(--caption); margin: 8px 0 0; }
.fav-wrap .dest-arrow { top: 45%; }
.fav-wrap .dest-carousel { padding-left: 0; padding-right: 0; }
.fav-content h3 { min-height: 2.5em; }
.fav-dest { min-height: 1.2em; }

/* ===== Offer request page ===== */
.or-page { background: #f4f7fb; padding: 40px 20px 64px; min-height: 0; }
.or-wrap { max-width: 1000px; margin: 0 auto; }
.or-back { display: inline-block; margin-bottom: 14px; color: var(--link); font-weight: 600; text-decoration: none; min-height: 44px; line-height: 44px; }
.or-wrap h1 { margin: 0 0 8px; font-size: clamp(1.7rem, 3vw, 2.3rem); color: var(--ink); }
.or-lede { margin: 0 0 24px; color: var(--ink-2); max-width: 680px; line-height: 1.6; }
.or-grid { display: grid; grid-template-columns: minmax(0, 340px) minmax(0, 1fr); gap: 28px; align-items: start; }
.or-grid:not(:has(.or-offer)) { grid-template-columns: minmax(0, 1fr); max-width: 640px; }
.or-offer { background: #fff; border-radius: 14px; overflow: hidden; box-shadow: 0 4px 18px rgba(31, 41, 80, .1); position: sticky; top: 150px; }
.or-offer-img { aspect-ratio: 690 / 370; background: #d7dbe5; }
.or-offer-img img { width: 100%; height: 100% !important; object-fit: cover; display: block; }
.or-offer-body { padding: 18px 20px 22px; }
.or-offer-price { font-size: 1.7rem; font-weight: 700; color: var(--brand-strong); }
.or-offer-price small { font-size: 12px; font-weight: 600; text-transform: uppercase; color: var(--caption); }
.or-offer h2 { margin: 6px 0 4px; font-size: 1.2rem; }
.or-offer p { margin: 0 0 10px; color: var(--ink-2); }
.or-offer ul { list-style: none; margin: 0 0 10px; padding: 0; }
.or-offer li { padding: 3px 0; font-size: 15px; color: var(--ink); }
.or-offer-note { font-size: 13px; color: var(--caption) !important; margin: 0 !important; }
.or-form { background: #fff; border-radius: 14px; padding: 26px; box-shadow: 0 4px 18px rgba(31, 41, 80, .1); }
.or-field { margin-bottom: 16px; }
.or-field label { display: block; font-weight: 600; font-size: 14px; margin-bottom: 6px; color: var(--ink); }
.or-field input, .or-field select, .or-field textarea {
    width: 100%; box-sizing: border-box; min-height: 48px; padding: 12px 14px; font: inherit; font-size: 16px;
    border: 1px solid #c6cbd8; border-radius: 10px; background: #fff; color: var(--ink);
}
.or-field textarea { min-height: 110px; resize: vertical; }
.or-field input:focus, .or-field select:focus, .or-field textarea:focus { outline: 3px solid rgba(79, 106, 166, .35); border-color: var(--brand); }
.or-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.or-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.or-error { color: #b3261e; background: #fdecea; padding: 10px 14px; border-radius: 8px; margin: 0 0 14px; font-weight: 600; }
.or-submit { width: 100%; justify-content: center; border: 0; cursor: pointer; font-size: 1.05rem; }
.or-submit:disabled { opacity: .6; cursor: progress; }
.or-privacy { margin: 12px 0 0; font-size: 13px; color: var(--caption); text-align: center; }
@media (max-width: 800px) {
    .or-grid { grid-template-columns: 1fr; }
    .or-offer { position: static; }
    .or-row { grid-template-columns: 1fr; gap: 0; }
}
.or-wrap h1, .or-lede { text-align: left; }
.or-form { margin: 0; }
.or-form label { margin: 0 0 6px; padding: 0; line-height: 1.3; }
.or-form input, .or-form select, .or-form textarea { margin: 0; }
.or-field { margin: 0 0 16px; }
.or-row .or-field { margin-bottom: 16px; }
.or-form .or-field label { min-height: 2.6em; display: flex; align-items: flex-end; }
.or-form .or-field:not(.or-row .or-field) label { min-height: 0; }
.or-form label { width: 100%; max-width: none; }
.or-form .or-submit { display: flex; width: 100%; max-width: none; }

/* ===== Offers listing page (coups de coeur) ===== */
.of-page { background: #eef1f6; padding: 48px 20px 64px; min-height: 0; }
.of-wrap { max-width: 1240px; margin: 0 auto; }
.of-header { text-align: center; max-width: 740px; margin: 0 auto 28px; }
.of-header h1 { margin: 0 0 12px; font-size: clamp(2rem, 4vw, 2.8rem); color: var(--ink); }
.of-header p { margin: 0; color: var(--ink-2); line-height: 1.6; }
.of-toggle { display: none; align-items: center; gap: 8px; min-height: 48px; padding: 0 20px; border: 0; border-radius: 24px; background: #fff; font: inherit; font-weight: 600; color: var(--ink); box-shadow: 0 1px 4px rgba(0,0,0,.12); cursor: pointer; margin-bottom: 12px; }
.of-badge { background: var(--brand-strong); color: #fff; border-radius: 999px; min-width: 22px; height: 22px; line-height: 22px; text-align: center; font-size: 12px; padding: 0 6px; }
.of-filters { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) auto; gap: 14px; align-items: center; margin-bottom: 22px; }
.of-field { position: relative; display: block; background: #fff; border-radius: 28px; padding: 9px 20px 8px; min-height: 56px; box-shadow: 0 1px 3px rgba(0,0,0,.06); margin: 0; }
.of-field > span, .of-price-btn > span { display: block; font-size: 12px; color: var(--ink-2); line-height: 1.2; }
.of-field select { width: 100%; border: 0; background: transparent; font: inherit; font-weight: 600; font-size: 16px; color: var(--ink); padding: 2px 22px 0 0; margin: 0; min-height: 28px; outline: 0; appearance: none; -webkit-appearance: none; cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%231d1d1f' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 2px center; background-size: 12px; }
.of-field:focus-within { outline: 3px solid rgba(79,106,166,.45); }
.of-price-btn { width: 100%; text-align: left; border: 0; background: transparent; padding: 0; font: inherit; cursor: pointer; display: block; position: relative; margin: 0; }
.of-price-btn strong { display: block; font-size: 16px; color: var(--ink); padding-right: 22px; min-height: 28px; line-height: 28px; }
.of-price-btn::after { content: ""; position: absolute; right: 2px; bottom: 10px; width: 12px; height: 8px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%231d1d1f' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/12px; }
.of-price-panel { position: absolute; z-index: 30; top: calc(100% + 8px); left: 0; width: min(320px, 90vw); background: #fff; border-radius: 16px; padding: 18px 20px; box-shadow: 0 12px 32px rgba(31,41,80,.22); }
.of-price-panel[hidden] { display: none; }
.of-price-panel label { display: block; font-size: 14px; color: var(--ink); margin: 0 0 14px; }
.of-price-panel input[type=range] { width: 100%; margin: 8px 0 0; accent-color: var(--brand-strong); }
.of-link, .of-reset { background: none; border: 0; font: inherit; color: var(--ink-2); text-decoration: underline; cursor: pointer; padding: 10px 6px; min-height: 44px; }
.of-reset:disabled { opacity: .45; cursor: default; }
.of-count { margin: 0 0 18px; font-size: 1.15rem; color: var(--ink); }
.of-empty { text-align: center; background: #fff; border-radius: 14px; padding: 40px 20px; margin-bottom: 20px; }
.of-empty[hidden], .of-grid[hidden], .of-card[hidden] { display: none !important; }
.of-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 28px; }
.of-card { flex: none; background: #fff; box-shadow: 0 1px 4px rgba(31,41,80,.1); }
.of-card .fav-content h2 { margin: 0; font-size: 1.15rem; line-height: 1.25; color: var(--ink); min-height: 2.5em; }
@media (max-width: 1000px) { .of-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); } .of-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
    .of-toggle { display: inline-flex; }
    .of-filters { display: none; grid-template-columns: 1fr; }
    .of-filters.is-open { display: grid; }
    .of-grid { grid-template-columns: 1fr; gap: 20px; }
}
.of-wrap .of-filters { background: transparent !important; box-shadow: none !important; border: 0 !important; padding: 0 !important; margin: 0 0 22px !important; width: 100% !important; max-width: none !important; display: grid; }
.of-wrap .of-filters .of-field { width: auto; max-width: none; }
@media (max-width: 640px) { .of-wrap .of-filters:not(.is-open) { display: none; } }
.of-wrap .of-filters .of-reset { width: auto; background: none; box-shadow: none; }
.of-price-panel input[type=range] { width: 100% !important; max-width: none; min-height: 28px; padding: 0; border: 0; background: transparent; box-shadow: none; display: block; }
.of-price-panel label { line-height: 1.4; }

/* ===== Home consistency system (2026-11) =====
   One rule: every section is a full-bleed band, alternating white / tint,
   with a centered title (+ optional lede) and a 1200px content column.
   Content inside cards stays left-aligned. */
:root { --sec-y: clamp(48px, 7vw, 80px); --sec-tint: #f4f7fb; --sec-w: 1200px; }
.dest-section, .fav-section, .IntroPres-section, .how-it-works, .testimonials-section,
.blog-teaser, .faq-section, .final-cta-section, .resort-section {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: var(--sec-y) max(20px, calc((100% - var(--sec-w)) / 2)) !important;
    box-sizing: border-box;
    text-align: center;
}
.dest-section, .IntroPres-section, .testimonials-section, .faq-section { background: #fff !important; }
.fav-section, .how-it-works, .blog-teaser, .final-cta-section { background: var(--sec-tint) !important; }
.resort-section { background: transparent !important; padding-left: 0 !important; padding-right: 0 !important; }
.trust-bar { background: var(--sec-tint); }
.fav-inner, .how-it-works-inner, .testimonials-inner { max-width: none !important; margin: 0 !important; padding: 0 !important; }

/* Section titles: same size, weight, spacing everywhere */
.dest-section > h2, .fav-inner > h2, .how-it-works-inner > h2, .testimonials-inner > h2,
.blog-teaser > h2, .faq-section > h2, .final-cta-section > h2, .IntroPres-LeftText h2,
.resort-section .resort-row-title {
    font-size: clamp(1.75rem, 3vw, 2.25rem) !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
    letter-spacing: -0.015em;
    color: var(--ink) !important;
    text-align: center !important;
    margin: 0 0 12px !important;
    font-variant: normal;
}
/* Ledes / sublines */
.how-it-works-lede, .faq-section > .faq-hint, .conversion-faq > p, .IntroPres-lead {
    font-size: 1.0625rem; line-height: 1.55; color: var(--ink-2);
    max-width: 680px; margin: 0 auto 32px !important; text-align: center !important;
}
.dest-section > h2 + *, .fav-inner > h2 + *, .blog-teaser > h2 + *, .testimonials-inner > h2 + * { margin-top: 28px; }

/* Bio: now a centered statement, same system as other sections */
.IntroPres-container { display: block !important; max-width: 760px !important; margin: 0 auto !important; padding: 0 !important; text-align: center; }
.IntroPres-LeftText, .IntroPres-RightText { max-width: none !important; margin: 0 !important; flex: none; }
.IntroPres-LeftText h3 {
    font-size: .8125rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
    font-variant: normal; color: var(--brand-strong); margin: 0 0 10px !important;
}
.IntroPres-RightText { margin-top: 12px !important; }
.IntroPres-RightText p { font-size: 1.0625rem; line-height: 1.6; color: var(--ink-2); text-align: center; }
.IntroPres-RightText .IntroPres-lead { font-size: 1.1875rem; color: var(--ink); max-width: none; margin-bottom: 16px !important; }

/* Consistent card look */
.dest-card, .review-card, .blog-teaser-card, .step, .how-step {
    text-align: left;
}
.testimonials-section { padding-bottom: var(--sec-y) !important; }

/* Final CTA */
.final-cta-section > * { margin-left: auto; margin-right: auto; }

/* Resort section on Disney page: title + rows centered, cards left */
.resort-section .resort-row { max-width: var(--sec-w); margin: 0 auto 32px; }
.resort-section .resort-legal { max-width: 760px; margin: 24px auto 0; text-align: center; font-size: .875rem; color: var(--caption); }

/* Carousels: same left edge and card alignment everywhere */
.dest-section .dest-carousel, .fav-wrap .dest-carousel, .resort-section .dest-carousel { margin: 0 !important; padding: 6px 0 22px !important; scroll-padding: 0; }
.dest-section .dest-tile { flex: 1 0 min(360px, 82vw); }
.dest-tile, .dest-tile * { text-align: left; }
.dest-photo figcaption { text-align: left; }

/* Offer cards: same surface language as destination tiles (white, hairline, soft shadow, left-aligned) */
.fav-card { background: #fff; border: 1px solid #e6ebf5; border-radius: 18px; box-shadow: 0 2px 12px rgba(31, 45, 90, .08); text-align: left; }
.fav-card:hover { box-shadow: 0 10px 28px rgba(31, 45, 90, .16); }
.fav-tag { border-radius: 0 0 14px 0; }
.fav-content, .fav-content * { text-align: left; }
.fav-content h3 { font-size: 1.125rem; font-weight: 700; }
.fav-body p { font-size: .9375rem; line-height: 1.4; color: var(--ink-2); }
.fav-body p strong, .fav-body p b { color: var(--ink); }
.fav-note { font-size: .875rem; }
.fav-more { margin-top: 32px; }
.dest-section > .dest-carousel-wrap { max-width: none !important; margin: 0 !important; padding: 0 !important; width: 100% !important; }
.step-card { background: #fff; border: 1px solid #e6ebf5; border-radius: 18px; padding: 28px 24px; box-shadow: 0 2px 12px rgba(31, 45, 90, .08); text-align: left; }
.step-card h3 { font-size: 1.125rem; font-weight: 700; color: var(--ink); }
.step-card p { color: var(--ink-2); font-size: 1rem; }
.step-num { background: var(--brand-strong); width: 40px; height: 40px; }
.steps-grid { max-width: none; }
.IntroPres-RightText .IntroPres-lead { font-weight: 500; }
.IntroPres-LeftText h2 { max-width: 640px; margin-left: auto !important; margin-right: auto !important; }
.IntroPres-LeftText h2 br { display: none; }
.review-badge.review-badge-facebook { background: #1558c0; color: #fff !important; }
.review-badge.review-badge-google { color: #1558c0; }
.blog-teaser > .blog-teaser-grid { max-width: none !important; margin: 0 !important; padding: 0 !important; width: 100% !important; gap: 20px; }
.blog-teaser-card { border: 1px solid #e6ebf5; border-radius: 18px; box-shadow: 0 2px 12px rgba(31, 45, 90, .08); text-align: left; }
.blog-teaser-body { padding: 20px; }
.blog-teaser-body h3 { font-size: 1.125rem; font-weight: 700; line-height: 1.3; color: var(--ink); text-align: left; }
.blog-teaser-body > a { margin-top: auto; }
.faq-section details { max-width: 860px; margin-left: auto; margin-right: auto; text-align: left; }
.faq-section summary, .faq-section details p { text-align: left; }
.final-cta-section .cta-primary { margin-top: 24px !important; }
.blog-teaser > .blog-teaser-grid { margin-top: 28px !important; }
.call-advisor-btn, .call-advisor-btn.call-advisor-btn-alt { background: var(--brand-strong) !important; color: #fff !important; }
.call-advisor-btn:hover, .call-advisor-btn.call-advisor-btn-alt:hover { background: #2f4278 !important; }
.call-advisors { border: 1px solid #e6ebf5; border-radius: 18px; }
.call-advisors-inner > h2 { font-size: 1.5rem; }

/* Disney page joins the same system */
.dz-inner { max-width: var(--sec-w) !important; padding-top: var(--sec-y) !important; padding-bottom: var(--sec-y) !important; }
.dz-head h2, .dz-center h2 {
    font-size: clamp(1.75rem, 3vw, 2.25rem); line-height: 1.15; font-weight: 700; letter-spacing: -0.015em; color: var(--ink);
}
.dz-head { margin-bottom: 32px; }
.resort-section { padding-top: 0 !important; padding-bottom: 0 !important; }
.resort-section .resort-row { max-width: none; margin: 0; padding: 0; }
.resort-section .resort-row .dest-carousel-wrap { max-width: none !important; margin: 24px 0 0 !important; padding: 0 !important; }
.resort-section .resort-row .resort-row-title { margin: 0 0 8px !important; }
.resort-section .resort-row .dest-prev { left: 8px; }
.resort-section .resort-row .dest-next { right: 8px; }

/* ===== Offers price panel (clean) ===== */
.of-price-panel { width: min(340px, 92vw) !important; padding: 20px 22px 16px !important; border-radius: 18px !important; border: 1px solid #e6ebf5; text-align: left; }
.of-price-panel .of-range { margin: 0 0 18px !important; padding: 0 !important; width: 100% !important; max-width: none !important; display: block !important; }
.of-price-panel .of-range label { display: flex !important; justify-content: space-between !important; align-items: baseline; width: 100% !important; margin: 0 0 6px !important; padding: 0 !important; font-size: 14px; color: var(--ink-2); }
.of-price-panel .of-range label span { color: var(--ink-2); font-size: 14px; display: inline !important; }
.of-price-panel .of-range label b { color: var(--ink); font-size: 16px; font-weight: 700; }
.of-price-panel input[type=range] {
  -webkit-appearance: none; appearance: none; display: block; width: 100% !important; max-width: none !important; height: 28px !important; min-height: 28px;
  margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; cursor: pointer;
}
.of-price-panel input[type=range]::-webkit-slider-runnable-track { height: 6px; border-radius: 3px; background: #dfe5f1; }
.of-price-panel input[type=range]::-moz-range-track { height: 6px; border-radius: 3px; background: #dfe5f1; }
.of-price-panel input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 24px; height: 24px; margin-top: -9px; border-radius: 50%; background: var(--brand-strong); border: 3px solid #fff; box-shadow: 0 1px 4px rgba(31,41,80,.4); }
.of-price-panel input[type=range]::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: var(--brand-strong); border: 3px solid #fff; box-shadow: 0 1px 4px rgba(31,41,80,.4); }
.of-price-panel input[type=range]:focus-visible { outline: 3px solid var(--brand-strong); outline-offset: 2px; border-radius: 6px; }
.of-price-panel .of-link { display: inline-flex; align-items: center; min-height: 44px; padding: 0 !important; background: none !important; border: 0 !important; color: var(--link) !important; font-weight: 600; text-decoration: underline; cursor: pointer; }

/* ===== Blog (2026) ===== */
.bl-hero { background: var(--sec-tint); text-align: center; padding: clamp(40px, 6vw, 72px) 20px clamp(32px, 4vw, 48px) !important; margin: 0 !important; max-width: none !important; min-height: 0 !important; }
.bl-hero h2 { font-size: clamp(2rem, 4vw, 2.75rem); font-weight: 700; letter-spacing: -0.02em; color: var(--ink); margin: 0 0 10px; }
.bl-hero p { font-size: 1.0625rem; color: var(--ink-2); max-width: 620px; margin: 0 auto; }
.bl-list { max-width: var(--sec-w) !important; margin: 0 auto !important; padding: 8px 20px var(--sec-y) !important; min-height: 0 !important; background: var(--sec-tint); max-width: none !important; padding-left: max(20px, calc((100% - var(--sec-w)) / 2)) !important; padding-right: max(20px, calc((100% - var(--sec-w)) / 2)) !important; }
.bl-card { background: #fff; border: 1px solid #e6ebf5; border-radius: 18px; overflow: hidden; box-shadow: 0 2px 12px rgba(31,45,90,.08); display: flex; flex-direction: column; text-align: left; transition: transform .2s ease, box-shadow .2s ease; }
.bl-card:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(31,45,90,.14); }
.bl-img { display: block; aspect-ratio: 16 / 10; background: #e8eef7; overflow: hidden; }
.bl-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.bl-card:hover .bl-img img { transform: scale(1.03); }
.bl-body { padding: 20px 22px 24px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.bl-date { font-size: .8125rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--brand-strong); }
.bl-body h3 { margin: 0; font-size: 1.1875rem; line-height: 1.3; font-weight: 700; color: var(--ink); }
.bl-body h3 a { color: inherit; text-decoration: none; }
.bl-body h3 a:hover { color: var(--brand-strong); }
.bl-body p { margin: 0; font-size: .9375rem; line-height: 1.55; color: var(--ink-2); }
.bl-more { margin-top: auto; padding-top: 6px; font-weight: 600; color: var(--link); text-decoration: none; min-height: 44px; display: inline-flex; align-items: center; gap: 6px; }
.bl-more:hover { text-decoration: underline; }
.bl-featured { flex-direction: row; margin: 0 0 24px; }
.bl-featured .bl-img { flex: 1.15; aspect-ratio: auto; min-height: 320px; }
.bl-featured .bl-body { flex: 1; justify-content: center; padding: 36px; gap: 14px; }
.bl-featured .bl-body h3 { font-size: clamp(1.5rem, 2.6vw, 2rem); letter-spacing: -0.01em; }
.bl-featured .bl-body p { font-size: 1.0625rem; }
.bl-featured .bl-more { margin-top: 8px; }
.bl-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.bl-empty { text-align: center; color: var(--ink-2); }
@media (max-width: 900px) {
    .bl-grid { grid-template-columns: 1fr 1fr; }
    .bl-featured { flex-direction: column; }
    .bl-featured .bl-img { min-height: 0; aspect-ratio: 16 / 10; }
    .bl-featured .bl-body { padding: 22px; }
}
@media (max-width: 600px) { .bl-grid { grid-template-columns: 1fr; } }

/* Single article */
.bl-post { max-width: 760px !important; margin: 0 auto !important; padding: 28px 20px var(--sec-y) !important; min-height: 0 !important; display: block !important; text-align: left; }
.bl-crumbs a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; color: var(--link); text-decoration: none; }
.bl-post-head { margin: 8px 0 24px; }
.bl-post-head h1 { font-size: clamp(1.9rem, 4vw, 2.75rem); line-height: 1.15; letter-spacing: -0.02em; font-weight: 700; color: var(--ink); margin: 8px 0 0; text-align: left !important; }
.bl-post-img { margin: 0 0 32px; }
.bl-post-img img { width: 100%; height: auto; max-height: 460px; object-fit: cover; border-radius: 18px; display: block; }
.bl-article { font-size: 1.125rem; line-height: 1.7; color: var(--ink); }
.bl-article h1, .bl-article h2, .bl-article h3 { color: var(--ink); line-height: 1.25; margin: 1.6em 0 .5em; letter-spacing: -0.01em; text-align: left; }
.bl-article h2 { font-size: 1.6rem; } .bl-article h3 { font-size: 1.25rem; }
.bl-article p { margin: 0 0 1.1em; }
.bl-article ul, .bl-article ol { margin: 0 0 1.2em; padding-left: 1.4em; }
.bl-article ul { list-style: disc; } .bl-article ol { list-style: decimal; }
.bl-article li { margin: .35em 0; list-style: inherit; }
.bl-article a { color: var(--link); text-decoration: underline; }
.bl-article img { max-width: 100%; height: auto; border-radius: 12px; }
.bl-post-back { margin-top: 40px; }

/* ===== Reviews: infinite horizontal marquee ===== */
.review-marquee { overflow: hidden; margin: 28px 0 0; -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); }
.review-track { display: flex; width: max-content; animation: review-scroll 70s linear infinite; }
.review-marquee:hover .review-track, .review-marquee:focus-within .review-track { animation-play-state: paused; }
.review-set { display: flex; gap: 20px; padding-right: 20px; }
.review-set .review-card { flex: 0 0 340px; width: 340px; margin: 0; display: flex; flex-direction: column; break-inside: auto; white-space: normal; }
.review-set .review-card blockquote { flex: 1; }
.review-set .review-card figcaption { margin-top: auto; }
@keyframes review-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (max-width: 600px) { .review-set .review-card { flex-basis: 280px; width: 280px; } }
@media (prefers-reduced-motion: reduce) {
    .review-marquee { overflow-x: auto; -webkit-mask-image: none; mask-image: none; }
    .review-track { animation: none; }
    .review-set[aria-hidden="true"] { display: none; }
}

/* ===== Trust bar: titled "two advisors" section ===== */
.trust-bar { padding: clamp(40px, 5vw, 64px) max(20px, calc((100% - var(--sec-w)) / 2)) !important; text-align: center; border-left: 0; border-right: 0; }
.trust-title { font-size: clamp(1.5rem, 2.6vw, 2rem); font-weight: 700; letter-spacing: -0.015em; color: var(--ink); margin: 0 0 8px !important; text-align: center !important; }
.trust-lede { margin: 0 auto 28px; color: var(--ink-2); font-size: 1.0625rem; max-width: 620px; text-align: center; }
.trust-bar-inner { max-width: none !important; margin: 0 !important; padding: 0 !important; gap: 20px; }
.trust-tile { border-radius: 18px; border: 1px solid #e6ebf5; box-shadow: 0 2px 12px rgba(31,45,90,.08); padding: 22px 22px; text-align: left; align-items: flex-start; }
.trust-tile strong { font-size: 2rem; line-height: 1.1; color: var(--brand-strong); font-weight: 700; }
.trust-tile span { font-size: .9375rem; color: var(--ink-2); text-align: left; }
.bl-list > .bl-grid { max-width: none !important; margin: 0 !important; padding: 0 !important; width: 100% !important; }
.bl-list > .bl-featured { max-width: none !important; margin: 0 0 24px !important; }
.bl-article, .bl-post > .bl-article { max-width: none !important; margin: 0 !important; padding: 0 !important; }

/* Reviews: manual scroll + JS autoplay (replaces CSS animation) */
.review-marquee { overflow-x: auto !important; overflow-y: hidden; scrollbar-width: none; -webkit-overflow-scrolling: touch; cursor: grab; touch-action: pan-x pan-y; }
.review-marquee::-webkit-scrollbar { display: none; }
.review-track { animation: none !important; }
.review-set[aria-hidden="true"] { display: flex !important; }
@media (prefers-reduced-motion: reduce) { .review-set[aria-hidden="true"] { display: none !important; } }

/* Destination CTA + tiles */
.btn.dest-cta, .dest-tile .btn { display: inline-flex !important; align-items: center; justify-content: center; gap: 8px; width: auto !important; min-width: 0 !important; min-height: 48px; padding: 0 24px !important; text-align: center !important; white-space: nowrap; }
.dest-tile .btn * { text-align: center; }
.dest-tile-body .btn { align-self: flex-start; margin-top: auto; }
@media (min-width: 900px) {
    .dest-section .dest-tile { flex: 1 1 0; min-width: 260px; }
}

/* Whole-card click + home blog teaser */
.bl-card { position: relative; }
.bl-card h3 a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.bl-card:focus-within { outline: 3px solid var(--brand-strong); outline-offset: 2px; }
.bl-card h3 a:focus-visible { outline: none; }
.bl-card .bl-more { padding-top: 6px; }
.blog-teaser .bl-body h3 { font-size: 1.1875rem; }
.bl-all { margin: 28px 0 0; text-align: center; }
.bl-all a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 22px; border-radius: 999px; border: 1.5px solid var(--brand-strong); color: var(--brand-strong); font-weight: 600; text-decoration: none; }
.bl-all a:hover { background: var(--brand-strong); color: #fff; }
.blog-teaser > .bl-grid { margin-top: 28px !important; }

/* Breathing room under section titles */
.dest-section > h2, .fav-inner > h2, .testimonials-inner > h2, .blog-teaser > h2 { margin-bottom: clamp(28px, 4vw, 44px) !important; }
.blog-teaser > .bl-grid, .blog-teaser > .blog-teaser-grid { margin-top: 0 !important; }
.review-marquee { margin-top: 0; }
.call-advisors-inner > .call-advisors-grid:first-child { margin-top: 0; }

/* Home favourites: bigger, photo-first cards (still a horizontal scroller) */
.fav-wrap .fav-card { flex: 0 0 min(390px, 84vw); }
.fav-wrap .fav-img { aspect-ratio: 4 / 3; }
.fav-wrap .fav-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.fav-wrap .fav-card:hover .fav-img img { transform: scale(1.04); }
.fav-wrap .fav-tag { padding: 14px 20px; border-radius: 0 0 16px 0; }
.fav-wrap .fav-price { font-size: 2rem; }
.fav-wrap .fav-content { min-height: 0; padding: 20px 22px 24px; }
.fav-wrap .fav-content h3 { font-size: 1.25rem; min-height: 2.6em; }
.fav-wrap .fav-dest { font-size: 1rem; }
.fav-wrap .dest-arrow { top: 36%; }
.fav-wrap .dest-carousel { scroll-snap-type: none !important; scroll-behavior: auto; }

/* ===== Disney page redesign (2026) ===== */
.dz-hero.about-section { padding: 0 !important; background: radial-gradient(120% 140% at 0% 0%, #4f6aa6 0%, #34487f 45%, #263561 100%) !important; }
.dz-hero .about-container { max-width: var(--sec-w) !important; margin: 0 auto !important; width: 100%; padding: clamp(48px, 7vw, 88px) 20px !important; gap: clamp(28px, 5vw, 64px); align-items: center; box-sizing: border-box; }
.dz-hero .about-LeftText { max-width: none !important; flex: 1 1 0; text-align: left; }
.dz-hero-title { color: #fff !important; font-size: clamp(2.25rem, 5vw, 3.5rem) !important; line-height: 1.05 !important; font-weight: 700 !important; letter-spacing: -0.025em; margin: 0 0 18px !important; text-align: left !important; }
.dz-hero .hero-sub { font-size: clamp(1.0625rem, 1.6vw, 1.25rem) !important; line-height: 1.5; color: rgba(255,255,255,.88) !important; font-weight: 400 !important; max-width: 520px; margin: 0 0 28px !important; }
.dz-hero .hero-cta-row { display: flex; flex-wrap: wrap; gap: 12px; }
.dz-hero .cta-primary, .dz-hero .cta-secondary { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; padding: 0 26px; border-radius: 999px; font-weight: 600; margin: 0; }
.dz-hero .cta-secondary { border: 1.5px solid rgba(255,255,255,.7); color: #fff !important; background: rgba(255,255,255,.08); }
.dz-hero .cta-secondary:hover { background: rgba(255,255,255,.18); }
.dz-eyebrow { margin: 0 0 10px !important; font-size: .8125rem !important; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--brand-strong) !important; line-height: 1.3 !important; }
.dz-eyebrow-light { color: rgba(255,255,255,.75) !important; }
.dz-form-card { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.25); border-radius: 24px; padding: clamp(20px, 3vw, 32px) !important; -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); box-shadow: 0 20px 50px rgba(15,23,60,.3); box-sizing: border-box; }
.dz-form-card form, .dz-form-card > * { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }

/* split sections */
.dz-split { gap: clamp(32px, 6vw, 80px) !important; }
.dz-text h2 { font-size: clamp(1.75rem, 3vw, 2.5rem) !important; line-height: 1.12 !important; font-weight: 700; letter-spacing: -0.02em; margin: 0 0 16px !important; }
.dz-text p { font-size: 1.0625rem; line-height: 1.6; }
.dz-text .cta-primary { margin-top: 8px; }
.dz-media img { aspect-ratio: 4 / 3; object-fit: cover !important; border-radius: 24px; box-shadow: 0 24px 48px rgba(31,41,80,.18); }
.dz-media figcaption { text-align: left; padding-left: 4px; }
.dz-checks li { padding: 8px 0 8px 34px; font-size: 1.0625rem; }
.dz-checks li::before { top: 11px; width: 20px; height: 20px; background-color: var(--brand-strong); }

/* guides: tappable cards */
.dz-cards { gap: 24px; }
.dz-card { border-radius: 22px; border-color: #e6ebf5; padding: 28px; box-shadow: 0 2px 12px rgba(31,45,90,.08); transition: transform .2s ease, box-shadow .2s ease; }
.dz-guide { position: relative; }
.dz-guide:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(31,45,90,.16); }
.dz-guide-ico { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; background: #eaf0fb; font-size: 1.6rem; margin-bottom: 18px; }
.dz-guide .btn::after { content: ""; position: absolute; inset: 0; border-radius: 22px; }
.dz-guide:focus-within { outline: 3px solid var(--brand-strong); outline-offset: 2px; }
.dz-guide .btn:focus-visible { outline: none; }
.dz-card h3 { font-size: 1.3125rem; font-weight: 700; }

/* why-us: 2x2 */
.dz-cards-4 { grid-template-columns: repeat(2, 1fr); }
.dz-why { padding: 28px 30px; background: #fff; box-shadow: 0 2px 12px rgba(31,45,90,.08); }
.dz-why h3 { font-size: 1.25rem; }

/* official promos panel */
.dz-promo { background: linear-gradient(135deg, #2f3f73 0%, #4f6aa6 100%); border-radius: 28px; padding: clamp(32px, 6vw, 64px) clamp(20px, 5vw, 56px); color: #fff; }
.dz-promo h2 { color: #fff !important; }
.dz-promo .dz-lede { color: rgba(255,255,255,.85); font-size: 1.0625rem; }
.dz-promo .dz-actions { margin-bottom: 24px; }
.dz-promo .btn { background: rgba(255,255,255,.14) !important; color: #fff !important; border: 1.5px solid rgba(255,255,255,.55) !important; border-radius: 999px; min-height: 48px; padding: 0 24px !important; display: inline-flex; align-items: center; }
.dz-promo .btn:hover { background: rgba(255,255,255,.26) !important; }
.dz-promo .cta-primary { background: #fff !important; color: #263561 !important; }

@media (max-width: 900px) {
    .dz-hero .about-container { flex-direction: column; align-items: stretch; }
    .dz-cards-4 { grid-template-columns: 1fr; }
    .dz-cards-3 { grid-template-columns: 1fr; }
}
.dz-hero .about-LeftText { padding-left: 0 !important; padding-right: 0 !important; margin: 0 !important; }
.dz-hero .about-container { padding-left: 18px !important; padding-right: 18px !important; }
.dz-hero .about-LeftText.dz-form-card { padding: clamp(20px, 3vw, 32px) !important; max-width: 480px !important; flex: 0 1 460px; }
@media (max-width: 900px) { .dz-hero .about-LeftText.dz-form-card { flex: none; max-width: none !important; } }
.dz-white-steps .how-it-works { background: #fff !important; }
.dz-white-steps .step-card { background: var(--sec-tint); box-shadow: none; }
.dz-guide-ico { display: none; }

/* ===== Disney sub-pages (cruise / packages / parks) redesign ===== */
:is(#hero-disney-cruise, #hero-disney-parks, #hero-disney-forfaits) {
  background: radial-gradient(120% 140% at 0% 0%, #4f6aa6 0%, #34487f 45%, #263561 100%) !important;
  padding: 0 !important;
}
:is(#hero-disney-cruise, #hero-disney-parks, #hero-disney-forfaits)::before,
:is(#hero-disney-cruise, #hero-disney-parks, #hero-disney-forfaits)::after { display: none !important; }
:is(#hero-disney-cruise, #hero-disney-parks, #hero-disney-forfaits) :is(.dc-wrap, .dp-wrap, .df-wrap) {
  max-width: var(--sec-w) !important; padding: clamp(48px, 7vw, 88px) 20px !important; box-sizing: border-box;
}
:is(#hero-disney-cruise, #hero-disney-parks, #hero-disney-forfaits) :is(.dc-grid, .dp-grid, .df-grid) {
  grid-template-columns: 1.4fr 1fr !important; gap: clamp(28px, 5vw, 64px) !important; align-items: center !important;
}
:is(#hero-disney-cruise, #hero-disney-parks, #hero-disney-forfaits) :is(.dc-title, .dp-title, .df-title) {
  font-size: clamp(2rem, 4.2vw, 3rem) !important; line-height: 1.08 !important; font-weight: 700 !important;
  letter-spacing: -0.025em !important; text-shadow: none !important; margin: 0 0 18px !important; text-align: left !important; color: #fff !important;
}
:is(#hero-disney-cruise, #hero-disney-parks, #hero-disney-forfaits) :is(.dc-text, .dp-text, .df-text) {
  font-size: clamp(1.0625rem, 1.5vw, 1.1875rem) !important; line-height: 1.55 !important; color: rgba(255,255,255,.88) !important; max-width: 560px !important; text-align: left;
}
:is(#hero-disney-cruise, #hero-disney-parks, #hero-disney-forfaits) :is(.dc-phone, .dp-phone, .df-phone) {
  background: rgba(255,255,255,.12) !important; border: 1px solid rgba(255,255,255,.25) !important; border-radius: 24px !important;
  padding: clamp(22px, 3vw, 32px) !important; -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); box-shadow: 0 20px 50px rgba(15,23,60,.3) !important; text-align: left;
}
:is(#hero-disney-cruise, #hero-disney-parks, #hero-disney-forfaits) :is(.dc-phone, .dp-phone, .df-phone) h3 { font-size: 1.25rem !important; font-weight: 700 !important; margin: 0 0 10px !important; text-align: left; }
:is(#hero-disney-cruise, #hero-disney-parks, #hero-disney-forfaits) :is(.dc-phone, .dp-phone, .df-phone) p { font-size: 1rem !important; line-height: 1.5 !important; color: rgba(255,255,255,.88) !important; text-align: left; }
:is(#hero-disney-cruise, #hero-disney-parks, #hero-disney-forfaits) :is(.dc-call, .dp-call, .df-call) {
  background: #fff !important; color: #263561 !important; border-radius: 999px !important; min-height: 52px; font-weight: 600 !important; box-shadow: none !important; font-size: 1.0625rem;
}
:is(#hero-disney-cruise, #hero-disney-parks, #hero-disney-forfaits) :is(.dc-call, .dp-call, .df-call):hover { background: #eef2fb !important; }
@media (max-width: 900px) {
  :is(#hero-disney-cruise, #hero-disney-parks, #hero-disney-forfaits) :is(.dc-grid, .dp-grid, .df-grid) { grid-template-columns: 1fr !important; }
}

/* content */
:is(#content-disney-cruise, #content-disney-parks, #content-disney-forfaits) {
  max-width: none !important; margin: 0 !important; background: #fff;
  padding: var(--sec-y) max(20px, calc((100% - var(--sec-w)) / 2)) !important; box-sizing: border-box;
}
:is(#content-disney-cruise, #content-disney-parks, #content-disney-forfaits) > h2 {
  font-size: clamp(1.625rem, 2.8vw, 2.25rem) !important; line-height: 1.15 !important; font-weight: 700; letter-spacing: -0.02em; color: var(--ink);
  margin: clamp(40px, 5vw, 64px) 0 14px !important; text-align: left;
}
:is(#content-disney-cruise, #content-disney-parks, #content-disney-forfaits) > h2:first-child { margin-top: 0 !important; }
:is(#content-disney-cruise, #content-disney-parks, #content-disney-forfaits) :is(.dc-lede, .dp-lede, .df-lede) {
  font-size: 1.0625rem !important; line-height: 1.65 !important; color: var(--ink-2) !important; max-width: 760px !important; margin: 0 0 28px !important;
}
:is(#content-disney-cruise, #content-disney-parks, #content-disney-forfaits) :is(.dc-box, .dp-box, .df-box, .df-points, .df-rhythm-card, .dc-photo-card, .dp-park-card) {
  background: #fff !important; border: 1px solid #e6ebf5 !important; border-radius: 22px !important; box-shadow: 0 2px 12px rgba(31,45,90,.08) !important; padding: 28px;
}
:is(#content-disney-cruise, #content-disney-parks, #content-disney-forfaits) :is(.dc-box, .dp-box, .df-box, .df-points) { background: var(--sec-tint) !important; box-shadow: none !important; }
:is(#content-disney-cruise, #content-disney-parks, #content-disney-forfaits) :is(.dc-box, .dp-box, .df-box, .df-points) h3 { font-size: 1.25rem; font-weight: 700; color: var(--ink); margin: 0 0 14px !important; }
:is(#content-disney-cruise, #content-disney-parks, #content-disney-forfaits) :is(.dc-box, .dp-box, .df-box, .df-points) ul { margin: 0 !important; padding: 0; list-style: none; }
:is(#content-disney-cruise, #content-disney-parks, #content-disney-forfaits) :is(.dc-box, .dp-box, .df-box, .df-points) li {
  position: relative; padding: 8px 0 8px 32px; margin: 0 !important; color: var(--ink-2); line-height: 1.5; font-size: 1.0625rem; list-style: none;
}
:is(#content-disney-cruise, #content-disney-parks, #content-disney-forfaits) :is(.dc-box, .dp-box, .df-box, .df-points) li::before {
  content: ""; position: absolute; left: 0; top: 11px; width: 20px; height: 20px; border-radius: 50%;
  background: var(--brand-strong) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat;
}
:is(#content-disney-cruise, #content-disney-parks, #content-disney-forfaits) :is(.dc-split, .dp-split, .df-split) { gap: 24px !important; }
:is(#content-disney-cruise, #content-disney-parks, #content-disney-forfaits) :is(.dc-photo-grid, .dp-park-grid, .df-photo-row, .df-rhythm) { gap: 24px !important; }
/* image cards */
:is(#content-disney-cruise, #content-disney-parks) :is(.dc-photo-card, .dp-park-card) { padding: 0 !important; overflow: hidden; transition: transform .2s ease, box-shadow .2s ease; }
:is(#content-disney-cruise, #content-disney-parks) :is(.dc-photo-card, .dp-park-card):hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(31,45,90,.16) !important; }
:is(#content-disney-cruise, #content-disney-parks) :is(.dc-photo-card, .dp-park-card) img { width: 100%; aspect-ratio: 4 / 3; height: auto !important; object-fit: cover; display: block; }
:is(.dc-card-body, .dp-park-body) { padding: 22px 24px 26px !important; }
:is(.dc-card-body, .dp-park-body) h3 { font-size: 1.25rem !important; font-weight: 700; color: var(--ink); margin: 0 0 8px !important; }
:is(.dc-card-body, .dp-park-body) p { color: var(--ink-2); line-height: 1.55; margin: 0; }
#content-disney-forfaits .df-photo { border-radius: 24px !important; box-shadow: 0 24px 48px rgba(31,45,90,.18) !important; }
#content-disney-forfaits .df-photo img { height: 100% !important; min-height: 320px; }
#content-disney-forfaits .df-rhythm-card h4 { font-size: 1.25rem; font-weight: 700; color: var(--brand-strong); margin: 0 0 8px; }
/* numbered steps */
#content-disney-cruise .dc-steps { list-style: none !important; counter-reset: dcs; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
#content-disney-cruise .dc-steps li {
  counter-increment: dcs; position: relative; background: var(--sec-tint); border-radius: 20px; padding: 24px 24px 24px 76px !important; margin: 0 !important;
  color: var(--ink-2); line-height: 1.5; font-size: 1.0625rem; list-style: none !important;
}
#content-disney-cruise .dc-steps li::before {
  content: counter(dcs); position: absolute; left: 24px; top: 22px; width: 38px; height: 38px; border-radius: 50%;
  background: var(--brand-strong); color: #fff; display: grid; place-items: center; font-weight: 700;
}
@media (max-width: 700px) { #content-disney-cruise .dc-steps { grid-template-columns: 1fr; } }
/* itinerary table */
#content-disney-parks .dp-table { width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid #e6ebf5; border-radius: 20px; overflow: hidden; background: #fff; }
#content-disney-parks .dp-table th { background: var(--brand-strong); color: #fff; text-align: left; padding: 14px 20px; font-weight: 600; }
#content-disney-parks .dp-table td { padding: 16px 20px; border-top: 1px solid #eef1f8; color: var(--ink-2); line-height: 1.5; }
#content-disney-parks .dp-table td:first-child { font-weight: 700; color: var(--ink); white-space: nowrap; width: 1%; }
#content-disney-parks .dp-table tbody tr:nth-child(even) td { background: var(--sec-tint); }

/* SEO + FAQ band */
.seo-container {
  max-width: none !important; margin: 0 !important; background: var(--sec-tint); box-sizing: border-box;
  padding: var(--sec-y) max(20px, calc((100% - var(--sec-w)) / 2)) !important;
}
.seo-container > h2 { font-size: clamp(1.625rem, 2.8vw, 2.25rem); font-weight: 700; letter-spacing: -0.02em; color: var(--ink); margin: clamp(40px, 5vw, 64px) 0 20px; }
.seo-container .note { color: var(--ink-2); font-size: 1.0625rem; line-height: 1.6; max-width: 760px; margin: 0 0 8px; }
.seo-grid { gap: 24px !important; margin-top: 24px !important; }
.seo-card, .seo-container .park-card { background: #fff !important; border: 1px solid #e6ebf5; border-radius: 22px !important; padding: 28px !important; box-shadow: 0 2px 12px rgba(31,45,90,.08) !important; }
.seo-card h2, .seo-container .park-card h3 { font-size: 1.25rem !important; font-weight: 700; line-height: 1.25; color: var(--ink); margin: 0 0 12px !important; }
.seo-card p, .seo-card li, .seo-container .park-card p { color: var(--ink-2); line-height: 1.6; font-size: 1.0625rem; }
.seo-card h3 { font-size: 1.0625rem; margin: 16px 0 6px; color: var(--ink); }
.seo-container .faq details { background: #fff; border: 1px solid #e6ebf5; border-radius: 16px; padding: 4px 20px; margin: 12px 0; max-width: 860px; }
.seo-container .faq summary { min-height: 52px; display: flex; align-items: center; font-weight: 600; color: var(--ink); cursor: pointer; }
.seo-container .faq details p { color: var(--ink-2); line-height: 1.6; margin: 0 0 16px; }
.seo-container .call-advisors { margin-top: 48px; }

/* sub-pages: neutralize generic section>div spacing */
:is(#hero-disney-cruise, #hero-disney-parks, #hero-disney-forfaits) { min-height: 0 !important; }
:is(#hero-disney-cruise, #hero-disney-parks, #hero-disney-forfaits) :is(.dc-wrap, .dp-wrap, .df-wrap) { margin: 0 auto !important; width: 100%; }
:is(#hero-disney-cruise, #hero-disney-parks, #hero-disney-forfaits) :is(.dc-grid, .dp-grid, .df-grid) { padding: 0 !important; margin: 0 !important; max-width: none !important; }
:is(#content-disney-cruise, #content-disney-parks, #content-disney-forfaits) { min-height: 0 !important; }
:is(#content-disney-cruise, #content-disney-parks, #content-disney-forfaits) > :is(.dc-photo-grid, .dp-park-grid, .df-photo-row, .dc-split, .dp-split, .df-split, .df-rhythm, .dc-steps, .dp-table) {
  max-width: none !important; width: 100%; margin: 0 !important; padding: 0 !important; box-sizing: border-box;
}
:is(#content-disney-cruise, #content-disney-parks, #content-disney-forfaits) :is(.dc-box, .dp-box, .df-box, .df-points, .dc-photo-card, .dp-park-card, .df-rhythm-card) { margin: 0 !important; }
:is(#content-disney-cruise, #content-disney-parks) :is(.dc-photo-card, .dp-park-card) { padding: 0 !important; }
:is(#content-disney-cruise, #content-disney-parks, #content-disney-forfaits) :is(.dc-box, .dp-box, .df-box, .df-points, .df-rhythm-card) { padding: 28px !important; }
.seo-container > :is(.seo-grid, .park-grid, .faq) { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; width: 100%; box-sizing: border-box; }
.seo-container .call-advisors { max-width: none; }
#content-disney-parks .dp-table thead th { background: var(--brand-strong) !important; color: #fff !important; }
#content-disney-parks .dp-table { border: 1px solid #e6ebf5 !important; border-radius: 20px !important; overflow: hidden; }
.seo-container .note { border-left: 0 !important; background: transparent !important; padding: 0 !important; box-shadow: none !important; }
#content-disney-forfaits .df-photo-row { align-items: center; } #content-disney-forfaits .df-photo img { min-height: 0; aspect-ratio: 4 / 3; height: auto !important; }

/* Cruise page lower sections */
.seo-container.seo-white { background: #fff; }
.seo-container > .seo-title { margin-top: 0 !important; }
.seo-container.seo-white > h2:first-child { margin-top: 0; }
.seo-list { list-style: none !important; margin: 16px 0 0 !important; padding: 0 !important; }
.seo-list li, .seo-card ul li {
  position: relative; list-style: none !important; padding: 7px 0 7px 32px; margin: 0 !important; color: var(--ink-2); line-height: 1.5; font-size: 1.0625rem;
}
.seo-list li::before, .seo-card ul li::before {
  content: ""; position: absolute; left: 0; top: 10px; width: 20px; height: 20px; border-radius: 50%;
  background: var(--brand-strong) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat;
}
.seo-card { display: flex; flex-direction: column; }
.seo-card p { margin: 0 0 12px; }
.seo-card h3 { font-size: .8125rem !important; text-transform: uppercase; letter-spacing: .08em; color: var(--brand-strong) !important; margin: 20px 0 4px !important; }
.seo-container .faq details { max-width: none; transition: box-shadow .2s ease; }
.seo-container .faq details[open] { box-shadow: 0 8px 22px rgba(31,45,90,.1); }
.seo-container .faq summary { list-style: none; justify-content: space-between; gap: 16px; font-size: 1.0625rem; }
.seo-container .faq summary::-webkit-details-marker { display: none; }
.seo-container .faq summary::after { content: "+"; flex: none; width: 32px; height: 32px; border-radius: 50%; background: #eaf0fb; color: var(--brand-strong); display: grid; place-items: center; font-size: 1.25rem; font-weight: 600; }
.seo-container .faq details[open] summary::after { content: "–"; }
.seo-container > .seo-center { text-align: center; margin: 0 0 32px !important; }

/* Packages page: rhythm cards + spacing */
#content-disney-forfaits .df-section-title + .df-rhythm, #content-disney-forfaits > h2 + .df-rhythm { margin-top: 24px !important; }
#content-disney-forfaits .df-rhythm { margin-top: 24px !important; align-items: stretch; }
#content-disney-forfaits .df-rhythm-card { background: var(--sec-tint) !important; border: 0 !important; box-shadow: none !important; padding: 28px !important; }
#content-disney-forfaits .df-rhythm-card h4 { font-size: 1.375rem; margin: 0 0 10px; }
#content-disney-forfaits .df-rhythm-card p { font-size: 1.0625rem; color: var(--ink-2); line-height: 1.55; margin: 0; }
#content-disney-forfaits .df-box { align-self: stretch; }

/* Parks page */
.seo-container .park-grid { grid-template-columns: repeat(4, 1fr) !important; gap: 20px !important; margin-top: 24px !important; max-width: none !important; }
.seo-container .park-card { grid-column: auto !important; }
.seo-container .park-card h3 { font-size: 1.125rem !important; }
.seo-container .park-card p { font-size: 1rem; }
.seo-container .park-grid + .seo-callout { margin-top: 32px; }
.seo-callout { margin-top: 32px; background: linear-gradient(135deg, #2f3f73 0%, #4f6aa6 100%); border-radius: 28px; padding: clamp(28px, 5vw, 48px); color: #fff; }
.seo-callout h2 { color: #fff !important; margin: 0 0 12px !important; font-size: clamp(1.5rem, 2.6vw, 2rem) !important; font-weight: 700; letter-spacing: -0.02em; }
.seo-callout p { color: rgba(255,255,255,.9); font-size: 1.0625rem; line-height: 1.6; margin: 0; max-width: 760px; }
@media (max-width: 1000px) { .seo-container .park-grid { grid-template-columns: 1fr 1fr !important; } }
@media (max-width: 600px) { .seo-container .park-grid { grid-template-columns: 1fr !important; } }
#content-disney-parks > .dp-lede + .dp-park-grid { margin-top: 0 !important; }
#content-disney-parks .dp-park-card img { aspect-ratio: 16 / 10 !important; }

/* Language switcher (FR | EN) */
.topnav-content > .lang-switch { display: inline-flex; align-items: center; gap: 2px; margin: 1px 8px 1px 14px; padding: 1px; border-radius: 999px; background: rgba(255,255,255,.16); flex-grow: 0; }
.topnav-content > .lang-switch a { display: inline-block; padding: 0 11px; border-radius: 999px; font-size: 13px; font-weight: 600; letter-spacing: .04em; color: #fff !important; text-decoration: none !important; line-height: 1.5; }
.topnav-content > .lang-switch a:hover { background: rgba(255,255,255,.22); }
.topnav-content > .lang-switch a.active { background: #fff; color: var(--brand-strong, #3d5590) !important; cursor: default; }
.topnav-content > .lang-switch a::before { display: none; }
.topnav-content > .lang-switch { align-self: center; height: auto; margin-top: 0; margin-bottom: 0; }
.topnav-content > .lang-switch a { flex: 0 0 auto; margin: 0; }
@media (max-width: 1023px) {
    .topnav-content { align-items: center; }
    .topnav-content > .lang-switch { margin-left: auto; margin-right: 8px; }
}
@media (max-width: 1023px) {
    .topnav-content > .mobile-noshow, .topnav-content > .blank { display: none !important; }
    .topnav-content { justify-content: flex-end; height: 19px; }
    .topnav-content > .lang-switch { margin: 0; }
}
/* Offer request: neutralize generic section>div padding + prevent grid blow-out on mobile */
.or-page .or-wrap { padding: 0 !important; margin: 0 auto !important; width: 100%; box-sizing: border-box; }
.or-page .or-grid > * { min-width: 0; }
.or-page .or-offer-img img { max-width: 100%; }
@media (max-width: 900px) {
    .or-page .or-grid { grid-template-columns: minmax(0, 1fr) !important; }
    .or-page .or-row { grid-template-columns: minmax(0, 1fr) !important; }
    .or-page .or-form { padding: 20px 18px; }
}
.or-page .or-form { width: 100% !important; max-width: 100% !important; min-width: 0 !important; box-sizing: border-box; }


/* ===== Typography: Outfit (headings) + Plus Jakarta Sans (body) ===== */
:root{--font-head:'Outfit','Plus Jakarta Sans',system-ui,sans-serif;--font-body:'Plus Jakarta Sans','Manrope',system-ui,sans-serif}
body,input,button,select,textarea,p,li,a,label,span,td,th{font-family:var(--font-body)}
h1,h2,h3,.dz-head h2,.dz-hero h1{font-family:var(--font-head);font-weight:600;letter-spacing:-.01em}
h4,h5,h6{font-family:var(--font-body)}


/* ===== Navbar polish: SVG icons ===== */
.nav-ico{flex:0 0 auto;width:18px;height:18px;display:inline-block;vertical-align:middle}
.topnav-content > a.mobile-noshow{gap:7px}
.topnav-content > a.mobile-noshow .nav-ico{width:15px;height:15px;opacity:.95}
.mainnav-button-text p{display:flex;align-items:center;justify-content:center;gap:8px;font-size:1.5em;white-space:nowrap}
.mainnav-button-text p .nav-ico{width:19px;height:19px;color:#4f6aa6;transition:transform .25s ease,color .2s ease}
.mainnav-button-text:hover p .nav-ico{transform:translateY(-2px) scale(1.08);color:#232428}
.mainnav-button2 .mainnav-button-text p .nav-ico,.mainnav-button2 .mainnav-button-text:hover p .nav-ico{color:#fff}
.mainnav-button2:hover .mainnav-button-text p .nav-ico{color:#232428}
.mainnav-button-text p::after{position:absolute;left:0;right:0;bottom:-8px;transform:none;margin:0}
.mainnav-button-text p{position:relative}
.mainnav-button-text p::after{width:0;left:50%;transform:translateX(-50%)}
.menu1 ul li a.nav-current .mainnav-button-text p{color:#232428;font-weight:700}
.menu1 ul li a.nav-current .mainnav-button-text p::after{width:100%;height:3px;border-radius:3px;background:#4f6aa6}
.menu1 ul li a.nav-current .nav-ico{color:#232428}
.mainnav-button2{box-shadow:0 6px 16px rgba(79,106,166,.35);transition:box-shadow .2s,transform .2s,background-color .2s}
.mainnav-button2:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(79,106,166,.45)}
.navbar-mobile>li>a{gap:14px}
.navbar-mobile>li>a .nav-ico{width:22px;height:22px;opacity:.9}

/* Top bar: keep phone / account links on one line */
.topnav-content > a.mobile-noshow{white-space:nowrap;flex-grow:0;flex-shrink:0}
.topnav-content > a.mobile-noshow[href^="tel:"]{margin-right:22px}
.topnav-content > .blank{flex-grow:1;width:auto}
.topnav-content > .lang-switch{margin-left:16px}

/* CTA button: icon + text always share the same color (white -> dark on hover) */
.mainnav-button2 .mainnav-button-text p,
.mainnav-button2 .mainnav-button-text p span,
.mainnav-button2 .mainnav-button-text p .nav-ico{color:#fff !important;transition:color .2s ease}
.mainnav-button2:hover .mainnav-button-text p,
.mainnav-button2:hover .mainnav-button-text p span,
.mainnav-button2:hover .mainnav-button-text p .nav-ico{color:#232428 !important}
.mainnav-button2 .mainnav-button-text:hover p .nav-ico{transform:none}


/* ===== Home destinations: bigger cards, credit overlaid on the photo so every card is identical ===== */
.dest-section .dest-tile{flex:0 0 min(440px,86vw) !important}
.dest-section .dest-carousel{gap:24px;padding-left:0 !important;padding-right:0 !important;scroll-padding-left:0}
.dest-section .dest-photo{position:relative;padding:12px}
.dest-section .dest-photo img{aspect-ratio:3/2;object-fit:cover;border-radius:12px}
.dest-section .dest-photo figcaption{position:absolute;left:22px;bottom:22px;right:auto;max-width:calc(100% - 44px);min-height:0;margin:0;padding:3px 9px;border-radius:7px;background:rgba(15,23,42,.62);color:#fff;font-size:11px;line-height:1.35;backdrop-filter:blur(2px)}
.dest-section .dest-tile-body{padding:10px 22px 24px}
.dest-section .dest-tile-body h3{font-size:1.3em}
.dest-section .dest-tile-body p{font-size:1rem;min-height:3.2em}
.dest-section .dest-arrow{top:34%}

/* Home hero (mobile): breathing room between the CTA buttons and the form */
@media (max-width: 1023px) {
    .hero-static .hero-cta-row { margin-bottom: 28px; }
    .hero-static .about-LeftText:has(.topform-contactform) { margin-top: 12px; }
    .hero-static .topform-contactform { margin-top: 8px; }
}

/* Destination arrows: visible on desktop so the row is clearly scrollable */
@media (hover: hover) and (min-width: 900px) {
    .dest-section .dest-arrow { display: flex !important; width: 48px; height: 48px; font-size: 18px; transition: opacity .2s, background .2s, transform .2s; }
    .dest-section .dest-arrow:hover { transform: scale(1.06); }
    .dest-section .dest-prev { left: 10px; }
    .dest-section .dest-next { right: 10px; }
    .dest-section .dest-arrow[disabled] { opacity: .35; cursor: default; transform: none; }
}

/* Destinations row: contained in the page column, like "Nos coups de coeur" */
.dest-section > .dest-carousel-wrap { width: 100% !important; margin: 0 !important; }
.dest-section .dest-carousel { padding-left: 0 !important; padding-right: 0 !important; scroll-padding-left: 0 !important; }
@media (hover: hover) and (min-width: 900px) {
    .dest-section .dest-prev { left: -14px; }
    .dest-section .dest-next { right: -14px; }
}

/* Mobile: cookie banner sits above the sticky call/quote bar */
@media (max-width: 800px) {
    .cookie-banner { bottom: calc(84px + env(safe-area-inset-bottom, 0px)) !important; z-index: 10060 !important; }
}

/* "Obtenir un prix" buttons: text stays white on hover (darker bg for contrast) */
.mainnav-button2:hover { background-color: #3d5590 !important; }
.mainnav-button2:hover .mainnav-button-text p,
.mainnav-button2:hover .mainnav-button-text p span,
.mainnav-button2:hover .mainnav-button-text p .nav-ico,
.mainnav-button2 .mainnav-button-text:hover p { color: #fff !important; }
.sticky-cta .sticky-cta-quote,
.sticky-cta .sticky-cta-quote:hover,
.sticky-cta .sticky-cta-quote:focus,
.sticky-cta .sticky-cta-quote:active { color: #fff !important; }

/* Mobile: more compact header + logos */
@media (max-width: 1023px) {
    .navbar { height: 105px; }
    .mainnav { height: 70px; padding: 8px 15px; }
    .mainnav-content > .logo { height: 54px; min-width: 84px; max-width: 84px; }
    .mainnav-content > img { height: 54px !important; margin: 0 0 0 4px !important; }
    .navbar-button { top: 43px; right: 10px; width: 48px; height: 48px; min-width: 48px; max-width: 48px; }
    .navbar-button img { width: 22px; height: 22px; }
    body { margin-top: 149px !important; }
}

/* "Who do you want to call?" page */
.callpage { background: #f4f7fb; padding: 36px 20px 56px; }
.callpage-wrap { max-width: 760px; margin: 0 auto; text-align: center; }
.callpage h1 { font-family: var(--font-head, inherit); font-size: clamp(1.7rem, 6vw, 2.3rem); color: #232428; margin: 0 0 8px; }
.callpage-lede { color: #555; margin: 0 0 26px; }
.callpage-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; }
.callpage-card { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 22px 18px 24px; background: #fff; border-radius: 20px; border: 1px solid #e3e9f4; box-shadow: 0 6px 20px rgba(79,106,166,.10); text-decoration: none; color: #232428; transition: transform .2s, box-shadow .2s; }
.callpage-card:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(79,106,166,.18); }
.callpage-card img { width: 190px; max-width: 70%; height: auto; margin-bottom: 4px; }
.callpage-name { font-family: var(--font-head, inherit); font-weight: 600; font-size: 1.25rem; }
.callpage-role { color: #666; font-size: .92rem; margin-bottom: 10px; }
.callpage-num { display: inline-flex; align-items: center; gap: 10px; padding: 14px 24px; border-radius: 14px; background: #4f6aa6; color: #fff; font-weight: 700; font-size: 1.15rem; }
.callpage-num svg { width: 20px; height: 20px; }
.callpage-card:hover .callpage-num { background: #3d5590; }
.callpage-or { margin-top: 26px; color: #555; }
.callpage-or a { color: #4f6aa6; font-weight: 600; }
.callpage-card .callpage-photo { display: block; width: 104px; height: 104px; border-radius: 50%; overflow: hidden; margin-bottom: 6px; box-shadow: 0 0 0 3px #fff, 0 0 0 4px #e3e9f4; }
.callpage-card .callpage-photo img { width: 262px; margin-left: -4px !important; margin-top: -4px !important; max-width: none; height: auto; display: block; }

/* Touch/mobile: keep carousel arrows visible so people know the rows scroll */
@media (hover: none), (max-width: 899px) {
    .dest-section .dest-arrow, .fav-wrap .dest-arrow {
        display: flex !important; width: 38px; height: 38px; font-size: 14px;
        box-shadow: 0 2px 10px rgba(0,0,0,.22); z-index: 3;
    }
    .dest-section .dest-prev, .fav-wrap .dest-prev { left: 4px; }
    .dest-section .dest-next, .fav-wrap .dest-next { right: 4px; }
    .dest-section .dest-arrow[disabled], .fav-wrap .dest-arrow[disabled] { opacity: 0; pointer-events: none; }
}

/* WOW logo link (wraps the img) */
.wow-logo-link { display: inline-flex; flex-shrink: 0; cursor: pointer; }
@media (max-width: 1023px) {
    .mainnav-content > .wow-logo-link { margin-left: 4px; }
    .mainnav-content > .wow-logo-link > img { height: 54px !important; margin: 0 !important; }
}
.sticky-cta .sticky-cta-quote:hover, .sticky-cta .sticky-cta-quote:active { background: #3d5590; }
.sticky-cta .sticky-cta-call:hover, .sticky-cta .sticky-cta-call:active { background: #eef2fb; }

/* Hotel cards: no image placeholder, tier shown as a small badge */
.resort-tile .resort-tier { display: inline-block; align-self: flex-start; margin-bottom: 8px; padding: 3px 10px; border-radius: 999px; background: #eef2fb; color: #3d5590; font-size: 12px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; }
.resort-tile .dest-tile-body { padding-top: 22px !important; }
.resort-row .dest-arrow, .resort-section .dest-arrow { top: 45% !important; }
.resort-tile { flex-basis: min(300px, 82vw); }

/* Hotel row, mobile: align with page column, arrows tucked bottom-right so they don't cover text */
@media (max-width: 899px) {
    .dz-inner { padding-left: 20px !important; padding-right: 20px !important; }
    .resort-section .resort-row { padding: 0 !important; }
    .resort-row .dest-carousel-wrap { position: relative; }
    .resort-section .resort-row .dest-arrow { top: auto !important; bottom: 40px !important; width: 38px; height: 38px; }
    .resort-section .resort-row .dest-prev { left: auto !important; right: 62px !important; }
    .resort-section .resort-row .dest-next { right: 14px !important; }
    .resort-tile { flex-basis: min(300px, 86%); }
}
