/* ===================================================================
   FICHIER CSS PRINCIPAL - Vacances Dominique
   Version complète restructurée et commentée
   ================================================================= */

/* ===================================================================
   SECTION 1 : VARIABLES CSS GLOBALES
   ================================================================= */
:root {
  /* Couleurs principales */
  --dominique-vert-principal: #1a5d3a;
  --dominique-vert-fonce: #0f3d29;
  --dominique-vert-clair: #2d7a4f;
  --dominique-orange: #ff6b35;
  --dominique-orange-clair: #ff8a5b;
  --dominique-blanc-casse: #fafafa;
  --dominique-gris-clair: #f1f5f9;
  
  /* Variables responsives pour grands écrans */
  --dominique-content-width: 1200px;
  --dominique-font-scale: 1;
  --dominique-spacing-scale: 1;
}

/* ===================================================================
   SECTION 2 : STYLES GLOBAUX DE BASE
   ================================================================= */

/* Background global */
html {
  background: linear-gradient(135deg, var(--dominique-gris-clair) 0%, var(--dominique-blanc-casse) 100%) !important;
}

/* Conteneur principal */
.w3-content {
  background-color: transparent;
  box-shadow: 0 0 20px rgba(0,0,0,0.1);
  border-radius: 8px;
  overflow: visible !important;
  max-width: 1200px !important;
}

/* Classes utilitaires W3 */
.w3-margin-0 { margin: 0 !important; }
.w3-padding-tiny { padding: 2px 4px !important; }
.w3-padding-0 { padding: 0 !important; }
.w3-padding-left { padding-left: 16px !important; }

/* ===================================================================
   SECTION 3 : SYSTÈME DE THÈMES W3
   ================================================================= */

.w3-theme-loupe {
  color: var(--dominique-orange);
}

.w3-theme-loupe:hover {
  color: var(--dominique-orange);
  cursor: pointer;
}

.w3-theme-sepa-txt {
  border-top: var(--dominique-orange) 2px solid;
  margin-top: 2px;
  padding-top: 2px;
}

.w3-theme-none { display: none; }
.w3-theme-ptr { cursor: pointer; }

.w3-theme-buta {
  border: 2px outset;
  text-decoration: none;
}

.w3-theme-cls {
  cursor: pointer;
  font-size: 24px;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  position: absolute;
  right: 0;
  top: 0;
  font-weight: bold;
}

.w3-theme-w100 {
  width: 100%;
  padding: 6px 16px;
  border: 0;
}

.w3-theme-tit {
  color: #fff !important;
  background: linear-gradient(var(--dominique-vert-fonce), var(--dominique-vert-principal)) !important;
  padding-bottom: 2px;
}

.w3-theme-tit a {
  color: #fff !important;
  text-decoration: none !important;
  padding: 5px;
}

.w3-theme-tit div.w3-center:hover div i,
.w3-theme-tit div.w3-center:hover h5 {
  color: var(--dominique-vert-clair) !important;
}

.w3-theme-vert {
  color: #fff !important;
  background-color: var(--dominique-vert-principal) !important;
}

.w3-theme-vertnews {
  color: var(--dominique-vert-fonce) !important;
  background-color: var(--dominique-vert-clair) !important;
  padding: 2px;
  font-weight: bold;
  border: 0;
}

.w3-theme-vertnews:hover {
  color: #fff !important;
  background-color: var(--dominique-orange) !important;
}

.w3-theme-text {
  color: var(--dominique-vert-fonce) !important;
  background-color: #fff !important;
}

.titre {
  background-color: var(--dominique-orange) !important;
  color: var(--dominique-vert-principal) !important;
}

.w3-theme-ora {
  color: #fff !important;
  background-color: var(--dominique-orange) !important;
}

a.w3-theme-ora:hover,
input.w3-theme-ora:hover,
button.w3-theme-ora:hover,
span.w3-theme-ora:hover,
.w3-theme-ora span:hover {
  background-color: var(--dominique-vert-fonce) !important;
  color: #fff !important;
}

.w3-theme-border-ora {
  border-color: var(--dominique-orange) !important;
}

.w3-hover-theme {
  transition: all .3s ease;
}

.w3-hover-theme:hover,
button.w3-hover-theme:hover,
.w3-theme-vert.w3-opennav a:hover {
  color: var(--dominique-orange) !important;
  background-color: var(--dominique-vert-fonce) !important;
  opacity: 1 !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.w3-theme-vert .w3-hover-theme p {
  text-align: center !important;
  margin: 0 !important;
}

.w3-theme-vert .w3-hover-theme p i {
  font-size: 36px !important;
}

.w3-theme-vert p a.w3-hover-theme {
  font-size: 24px !important;
  text-decoration: none !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
  line-height: normal;
}

.w3-theme-vert p a.w3-hover-theme i {
  font-size: 22px !important;
}

.w3-theme-sep {
  color: var(--dominique-vert-fonce) !important;
  background-color: var(--dominique-orange) !important;
}

/* ===================================================================
   SECTION 4 : ICÔNES FONTAWESOME
   ================================================================= */

.w3-fa {
  font-size: 36px !important;
  color: var(--dominique-vert-clair);
}

.w3-faico {
  font-size: 36px !important;
}

.fa-envelope:hover {
  color: var(--dominique-vert-principal);
}

.fa-calendar-alt:hover {
  color: var(--dominique-orange);
}

.w3-fanews {
  font-size: 48px !important;
  color: #fff;
}

.w3-fanews:hover {
  color: var(--dominique-vert-clair);
}

.w3-faslide {
  font-size: 36px !important;
  color: var(--dominique-vert-principal);
}

.w3-faslide:hover {
  color: var(--dominique-orange);
}

.w3-fadet {
  font-size: 30px !important;
  color: var(--dominique-vert-principal);
}

.w3-fadet:hover {
  font-size: 32px !important;
  color: var(--dominique-vert-clair);
}

/* ===================================================================
   SECTION 5 : NAVIGATION PRINCIPALE (DESKTOP + MOBILE)
   ================================================================= */

/* ----- 5.1 : Barre de navigation principale ----- */
.w3-bar {
  background: linear-gradient(135deg, var(--dominique-vert-principal) 0%, var(--dominique-vert-fonce) 100%) !important;
  border-radius: 0;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  overflow: hidden;
}

.w3-bar .w3-bar-item {
  border-radius: 8px;
  margin: 0 2px;
  transition: all 0.3s ease;
}

.w3-bar .w3-bar-item:hover {
  background-color: rgba(255,107,53,0.9) !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}

.w3-bar .w3-bar-item:first-child {
  margin-left: 0;
  border-radius: 0;
}

/* ----- 5.2 : Conteneur navigation ----- */
.dominique-nav-container {
  height: 65px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  position: relative;
  overflow: visible !important;
}

/* ----- 5.3 : Logo ----- */
.dominique-nav-logo {
  flex-shrink: 0;
  order: 0;
}

.dominique-nav-logo img {
  height: 60px;
  width: auto;
  display: block;
}

/* ----- 5.4 : Navigation centre (Desktop) ----- */
.dominique-nav-center {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 1;
  gap: 4px;
}

.dominique-nav-item {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 12px 16px;
  margin: 0 2px;
  border-radius: 6px;
  transition: all 0.3s ease;
  text-decoration: none;
  color: inherit;
}

.dominique-nav-item i {
  font-size: 16px;
}

.dominique-nav-item span {
  font-size: 14px;
  font-weight: 500;
}

/* ----- 5.5 : Dropdown "Découvrir" ----- */
.dominique-nav-dropdown {
  position: relative;
}

.dominique-nav-dropdown .dominique-nav-item {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 12px 16px;
  margin: 0 2px;
  border-radius: 6px;
  transition: all 0.3s ease;
  background: transparent;
  border: none;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
}

.dominique-nav-dropdown .dominique-nav-item i {
  font-size: 16px;
}

.dominique-nav-dropdown .dominique-nav-item span {
  font-size: 14px;
  font-weight: 500;
}

.dominique-nav-dropdown:hover .dominique-nav-item {
  color: var(--dominique-orange) !important;
  background-color: var(--dominique-vert-fonce) !important;
}

/* Contenu dropdown */
.dominique-dropdown-content {
  display: none;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  min-width: 280px;
  max-width: 350px;
  max-height: 500px;
  overflow-y: auto;
  background: white !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
  border-radius: 10px;
  margin-top: 0;
  padding: 6px;
  z-index: 9999;
  border: 1px solid rgba(26,93,58,0.08);
}

.dominique-nav-dropdown:hover .dominique-dropdown-content {
  display: block !important;
}

.dominique-dropdown-content .w3-bar-item,
.dominique-dropdown-content .w3-button {
  display: block !important;
  padding: 12px 16px !important;
  color: var(--dominique-vert-principal) !important;
  background: white !important;
  text-decoration: none !important;
  transition: all 0.25s ease;
  border: none;
  border-radius: 6px;
  font-size: 14px !important;
  font-weight: 500;
  text-align: left;
  white-space: normal;
  line-height: 1.4;
  margin: 2px 0;
}

.dominique-dropdown-content .titre {
  background: white !important;
  color: var(--dominique-vert-principal) !important;
}

.dominique-dropdown-content .w3-bar-item.active,
.dominique-dropdown-content .w3-button.active {
  color: var(--dominique-orange) !important;
  background: rgba(255,107,53,0.08) !important;
  font-weight: 600;
  border-left: 3px solid var(--dominique-orange);
  padding-left: 13px !important;
}

.dominique-dropdown-content .w3-bar-item:hover,
.dominique-dropdown-content .w3-button:hover {
  background: rgba(26,93,58,0.06) !important;
  color: var(--dominique-vert-fonce) !important;
  transform: translateX(2px);
  border-left: 3px solid var(--dominique-orange);
  padding-left: 13px !important;
}

.dominique-dropdown-content::-webkit-scrollbar {
  width: 6px;
}

.dominique-dropdown-content::-webkit-scrollbar-track {
  background: transparent;
}

.dominique-dropdown-content::-webkit-scrollbar-thumb {
  background: var(--dominique-vert-clair);
  border-radius: 3px;
}

/* ----- 5.6 : Navigation droite (Desktop) ----- */
.dominique-nav-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

/* Séparateur avant téléphone */
.dominique-phone-separator::before {
  content: '';
  position: absolute;
  left: -8px;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 28px;
  background: rgba(255,255,255,0.3);
}

.dominique-phone-separator {
  position: relative;
  margin-left: 8px !important;
}

/* Items de contact */
.dominique-contact-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 6px;
  transition: all 0.3s ease;
}

.dominique-contact-item i,
.dominique-devis-btn i {
  font-size: 16px !important;
}

.dominique-phone-number {
  font-weight: 600 !important;
  font-size: 14px !important;
  color: white !important;
}

.dominique-contact-item span {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: white !important;
}

/* Bouton devis */
.dominique-devis-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 16px;
  margin-left: 4px;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.3s ease;
}

.dominique-devis-btn .fa-calculator {
  color: var(--dominique-orange);
  font-size: 16px !important;
}

.dominique-devis-btn span {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: white !important;
}

/* ----- 5.7 : Menu hamburger (Mobile) ----- */
.dominique-hamburger {
  padding: 18px !important;
  border-radius: 6px;
  transition: all 0.3s ease;
}

.dominique-hamburger i {
  font-size: 20px;
  color: var(--dominique-orange);
}

.dominique-hamburger:hover {
  background-color: var(--dominique-vert-fonce) !important;
}

/* ----- 5.8 : Menu mobile déroulant ----- */
.dominique-mobile-menu {
  border-top: 1px solid rgba(255,255,255,0.1);
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

.dominique-mobile-menu .w3-bar-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  border-bottom: 1px solid rgba(255,255,255,0.05);
  transition: all 0.3s ease;
}

.dominique-mobile-menu .w3-bar-item i {
  width: 20px;
  color: var(--dominique-vert-clair);
  font-size: 16px;
}

.dominique-mobile-menu .w3-bar-item:hover {
  background-color: var(--dominique-vert-fonce) !important;
  color: var(--dominique-orange) !important;
}

/* Page active mobile - Texte orange uniquement */
.dominique-mobile-menu > .w3-bar-item.w3-theme-ora {
  background-color: var(--dominique-vert-principal) !important;
  color: var(--dominique-orange) !important;
  font-weight: 600;
}

.dominique-mobile-menu > .w3-bar-item.w3-theme-ora i {
  color: var(--dominique-orange) !important;
}

/* Accordéon mobile */
.dominique-mobile-accordion {
  background-color: rgba(15,61,41,0.3) !important;
}

.dominique-mobile-accordion .w3-bar-item {
  padding-left: 40px !important;
  font-size: 14px;
}

/* ===================================================================
   SECTION 6 : FOOTER MODERNE (TOUT EN UN)
   ================================================================= */

/* ----- 6.1 : Footer principal ----- */
.dominique-footer {
  background: linear-gradient(135deg, var(--dominique-vert-fonce) 0%, var(--dominique-vert-principal) 100%);
  padding: 40px 0 0 0;
  margin-top: 40px;
  position: relative;
  overflow: hidden;
  color: white;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.dominique-footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><circle cx='15' cy='20' r='1' fill='rgba(255,255,255,0.08)'/><circle cx='80' cy='40' r='1.5' fill='rgba(255,255,255,0.06)'/><circle cx='40' cy='70' r='1' fill='rgba(255,255,255,0.08)'/></svg>") repeat;
  opacity: 0.4;
  pointer-events: none;
}

/* ----- 6.2 : Conteneur footer ----- */
.dominique-footer-content {
  position: relative;
  z-index: 2;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 60px !important;
  width: 100%;
}

/* ----- 6.3 : Grid principal (3 colonnes) ----- */
.dominique-footer-main {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
  gap: 80px;
  align-items: start;
  margin-bottom: 30px;
  width: 100%;
}

/* Tous les enfants utilisent la largeur complète */
.dominique-footer * {
  max-width: none;
}

.dominique-footer-main > * {
  width: 100%;
}

/* ----- 6.4 : Colonne 1 - Logo ----- */
.dominique-footer-logo {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.dominique-footer-logo img {
  max-width: 220px;
  width: 100%;
  height: auto;
  filter: brightness(1.1);
  margin-bottom: 15px;
}

.dominique-footer-tagline {
  color: rgba(255, 255, 255, 0.9);
  font-size: 14px;
  font-style: italic;
  margin: 0;
}

/* ----- 6.5 : Colonne 2 - Description ----- */
.dominique-footer-description {
  color: rgba(255, 255, 255, 0.95);
  line-height: 1.6;
  font-size: 15px;
}

.dominique-footer-description h4 {
  color: var(--dominique-orange);
  font-size: 18px;
  font-weight: 600;
  margin: 0 0 15px 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

.dominique-footer-description h4 i {
  color: var(--dominique-orange);
  font-size: 16px;
}

.dominique-footer-description p {
  margin: 0 0 15px 0;
}

.dominique-footer-destinations {
  color: var(--dominique-orange);
  font-weight: 500;
  margin: 0;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  line-height: 1.5;
}

.dominique-footer-destinations i {
  font-size: 14px;
  margin-top: 3px;
  flex-shrink: 0;
}

/* ----- 6.6 : Colonne 3 - Liens utiles ----- */
.dominique-footer-links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-left: 20px;
  border-left: 1px solid rgba(255, 255, 255, 0.2);
}

.dominique-footer-links h4 {
  color: white;
  font-size: 16px;
  font-weight: 600;
  margin: 0 0 20px 0;
}

.dominique-footer-link-list {
  list-style: none;
  padding: 0;
  margin: 0;
  width: 100%;
}

.dominique-footer-link-list li {
  margin-bottom: 6px;
}

.dominique-footer-link-list a {
  color: rgba(255, 255, 255, 0.9);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 4px 0;
  transition: all 0.3s ease;
  font-size: 14px;
}

.dominique-footer-link-list a:hover {
  color: var(--dominique-orange);
  transform: translateX(5px);
}

.dominique-footer-link-list a i {
  width: 16px;
  font-size: 14px;
  color: var(--dominique-orange);
}

/* ----- 6.7 : Réseaux sociaux ----- */
.dominique-footer-social {
  margin-top: 20px;
  padding-top: 15px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.dominique-footer-social h5 {
  color: white;
  font-size: 14px;
  margin: 0 0 10px 0;
  font-weight: 500;
}

.dominique-social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  color: white;
  text-decoration: none;
  transition: all 0.3s ease;
  backdrop-filter: blur(10px);
  margin-right: 8px;
}

.dominique-social-link:hover {
  background: var(--dominique-orange);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(255, 107, 53, 0.3);
  color: white;
}

.dominique-social-link i {
  font-size: 18px;
}

/* ----- 6.8 : Copyright ----- */
.dominique-footer-copyright {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  padding: 20px 0;
  text-align: center;
  color: rgba(255, 255, 255, 0.8);
  font-size: 13px;
  background: rgba(0, 0, 0, 0.1);
}

.dominique-footer-copyright a {
  color: var(--dominique-orange);
  text-decoration: none;
  transition: opacity 0.3s ease;
}

.dominique-footer-copyright a:hover {
  opacity: 0.8;
}

/* ----- 6.9 : Footer mobile ----- */
.dominique-footer-mobile {
  background: var(--dominique-vert-principal);
  padding: 15px;
  text-align: center;
  border-top: 3px solid var(--dominique-orange);
}

.dominique-footer-mobile a {
  color: white;
  text-decoration: none;
  font-weight: 600;
  font-size: 16px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border-radius: 25px;
  background: rgba(255, 255, 255, 0.1);
  transition: all 0.3s ease;
}

.dominique-footer-mobile a:hover {
  background: var(--dominique-orange);
  transform: translateY(-1px);
}

.dominique-footer-mobile a i {
  font-size: 14px;
}

/* Footer ancien (compatibilité) */
footer {
  background: var(--dominique-vert-principal);
  padding: 20px 0px 10px 0px;
  color: #fff;
}

footer a {
  color: #fff;
  text-decoration: none;
}

/* ===================================================================
   SECTION 7 : CAROUSEL ET SLIDES
   ================================================================= */

#suiteSite {
  display: none;
  max-width: 1200px;
  text-align: center;
  margin: auto;
}

#suiteSite i {
  padding-top: 10vw;
  font-size: 10vw !important;
  color: var(--dominique-orange);
}

.mySlides img {
  width: 100%;
}

.mySlides a .w3-theme-vert:hover {
  background-color: var(--dominique-orange) !important;
}

.promos img {
  max-width: 100%;
  width: 100%;
  border-radius: 8px;
  transition: transform 0.3s ease;
}

.promos img:hover {
  transform: scale(1.02);
}

/* ===================================================================
   SECTION 8 : BADGES ET CONTRÔLES
   ================================================================= */

.w3-badge {
  height: 13px;
  width: 13px;
  padding: 0;
}

.w3-left,
.w3-right,
.w3-badge {
  cursor: pointer;
}

/* ===== CALENDRIER ===== */
.calend div.w3-modal-content{max-width:404px;padding-bottom:4px;}
.calend div.w3-modal-content span.w3-hover-theme{cursor:pointer;font-size:20px;padding-top:3px!important;padding-bottom:3px!important;position:absolute;right:0;top:0;font-weight:bold;}
.calend div.caltit{width:404px;text-align:center;background-color:var(--dominique-orange);color:#ffffff;font-size:24px;}
.calend div table{padding:0;border-spacing:2px;border:0;}
.calend div table tr.nett{clear:both;}
.calend div table th{font-size:16px;text-align:center;}
.calend div table th.mois{background-color:var(--dominique-vert-fonce);color:#ffffff;text-align:center;}
.calend div table th.mois span.gau{float:left;padding-left:2px;}
.calend div table th.mois span.dro{float:right;padding-right:2px;}
.calend div table th.mois span i{font-size:28px !important;}
.calend div table th.mois span i.selmois{cursor:pointer;}
.calend div table th.mois span i.selmois:hover{color:var(--dominique-orange);}
.calend div table td{padding:1px 3px 1px 3px;font-size:14px;text-align:center;color:var(--dominique-orange);}
.calend div table td.act{border:1px #808080 solid;cursor:pointer;}
.calend div table td.act:hover{border:1px #ffffff solid;background-color:var(--dominique-vert-fonce);color:#ffffff;}
.calend div table td.ina{border:1px #808080 solid;opacity:0.6;}
.calend div table td.fer{border:1px #000000 solid;background-color:var(--dominique-vert-clair);color:var(--dominique-vert-fonce);}
.calend div table td.deb{border:1px var(--dominique-vert-fonce) solid;background-color:#ffffff;color:var(--dominique-vert-fonce);cursor:pointer;}
.calend div table td.deb:hover{border:1px #ffffff solid;background-color:var(--dominique-vert-fonce);color:#ffffff;}
.calend div table td.sel{border:1px var(--dominique-orange) solid;background-color:var(--dominique-orange);color:#ffffff;border-radius:3px;cursor:pointer;}
.calend div table td.sel:hover{border:1px #ffffff solid;background-color:var(--dominique-vert-fonce);color:#ffffff;}
.calend div.calgau{float:left;}
.calend div.caldro{float:right;}

/* ===== RESPONSIVE DESKTOP STANDARD ===== */
@media only screen and (min-width:781px){
.prodtour{max-width:24%;}
.faqtour{max-width:49%;}
.sepaproduit{max-width:1%;width:1%;}
.cache-petit-gen{display:block!important}
.voir-petit-gen{display:none!important}
}
@media only screen and (min-width:601px){.w3-half{width:50%}}
@media only screen and (max-width:968px){
.dominique-footer-main{grid-template-columns:1fr;gap:30px;text-align:center;}
.dominique-footer-links{border-left:none;border-top:1px solid rgba(255,255,255,0.2);padding-left:0;padding-top:20px;align-items:center;}
.dominique-footer-logo{align-items:center;}
}
@media only screen and (max-width:600px){
#suiteSite,.w3-content{max-width:calc(100vw - 2vw) !important;}
.dominique-nav-container{height:55px;padding:0 15px;}
.dominique-nav-logo img{height:35px;}
.dominique-footer{padding:30px 0 0 0;}
.dominique-footer-content{padding:0 15px;}
.dominique-footer-main{gap:25px;}
.dominique-footer-description{font-size:14px;}
}

/* ===================================================================
   CORRECTION : RESPONSIVE POUR GRANDS ÉCRANS (comme CaribHolidays)
   ================================================================= */

/* Écrans moyens (1200px - 1599px) */
@media (min-width: 1200px) and (max-width: 1599px) {
  :root {
    --dominique-content-width: 1400px;
    --dominique-font-scale: 1.05;
    --dominique-spacing-scale: 1.1;
  }

  .w3-content {
    max-width: 1400px !important;
  }

  body {
    font-size: calc(16px * var(--dominique-font-scale));
  }

  h1 { font-size: calc(32px * var(--dominique-font-scale)); }
  h2 { font-size: calc(28px * var(--dominique-font-scale)); }
  h3 { font-size: calc(24px * var(--dominique-font-scale)); }
  
  /* NAVBAR proportionnelle comme CaribHolidays */
  .dominique-nav-container {
    height: 70px;
    padding: 0 25px;
  }
  
  .dominique-nav-logo img {
    height: 65px;
  }
  
  .dominique-nav-item {
    padding: 13px 18px;
    gap: 7px;
  }
  
  .dominique-nav-item i {
    font-size: 17px;
  }
  
  .dominique-nav-item span {
    font-size: 15px;
  }
  
  .dominique-contact-item {
    padding: 11px 13px;
  }
  
  /* Tous les textes à droite proportionnés */
  .dominique-phone-number {
    font-size: 15px !important;
  }
  
  .dominique-contact-item span {
    font-size: 15px !important;
  }
  
  .dominique-contact-item i,
  .dominique-devis-btn i {
    font-size: 17px !important;
  }
  
  .dominique-devis-btn {
    padding: 11px 18px;
  }
  
  .dominique-devis-btn span {
    font-size: 15px !important;
  }
  
  /* Dropdown Découvrir */
  .dominique-nav-dropdown .dominique-nav-item {
    padding: 13px 18px;
  }
  
  .dominique-nav-dropdown .dominique-nav-item i {
    font-size: 17px;
  }
  
  .dominique-nav-dropdown .dominique-nav-item span {
    font-size: 15px;
  }
  
  /* Séparateur proportionné */
  .dominique-phone-separator::before {
    height: 30px;
  }
}

/* Grands écrans (1600px - 1919px) */
@media (min-width: 1600px) and (max-width: 1919px) {
  :root {
    --dominique-content-width: 1600px;
    --dominique-font-scale: 1.08;
    --dominique-spacing-scale: 1.15;
  }

  .w3-content {
    max-width: 1600px !important;
  }

  body {
    font-size: calc(16px * var(--dominique-font-scale));
  }

  h1 { font-size: calc(32px * var(--dominique-font-scale)); }
  h2 { font-size: calc(28px * var(--dominique-font-scale)); }
  h3 { font-size: calc(24px * var(--dominique-font-scale)); }
  
  /* NAVBAR proportionnelle comme CaribHolidays */
  .dominique-nav-container {
    height: 75px;
    padding: 0 30px;
  }
  
  .dominique-nav-logo img {
    height: 70px;
  }
  
  .dominique-nav-item {
    padding: 14px 20px;
    gap: 7px;
  }
  
  .dominique-nav-item i {
    font-size: 18px;
  }
  
  .dominique-nav-item span {
    font-size: 16px;
  }
  
  .dominique-contact-item {
    padding: 12px 14px;
  }
  
  /* Tous les textes à droite proportionnés */
  .dominique-phone-number {
    font-size: 16px !important;
  }
  
  .dominique-contact-item span {
    font-size: 16px !important;
  }
  
  .dominique-contact-item i,
  .dominique-devis-btn i {
    font-size: 18px !important;
  }
  
  .dominique-devis-btn {
    padding: 12px 20px;
  }
  
  .dominique-devis-btn span {
    font-size: 16px !important;
  }
  
  /* Dropdown Découvrir */
  .dominique-nav-dropdown .dominique-nav-item {
    padding: 14px 20px;
  }
  
  .dominique-nav-dropdown .dominique-nav-item i {
    font-size: 18px;
  }
  
  .dominique-nav-dropdown .dominique-nav-item span {
    font-size: 16px;
  }
  
  /* Séparateur proportionné */
  .dominique-phone-separator::before {
    height: 32px;
  }
}

/* Très grands écrans 2K/4K (≥ 1920px) */
@media (min-width: 1920px) {
  :root {
    --dominique-content-width: 1800px;
    --dominique-font-scale: 1.12;
    --dominique-spacing-scale: 1.2;
  }

  .w3-content {
    max-width: 1800px !important;
  }

  body {
    font-size: calc(16px * var(--dominique-font-scale));
  }

  h1 { font-size: calc(32px * var(--dominique-font-scale)); }
  h2 { font-size: calc(28px * var(--dominique-font-scale)); }
  h3 { font-size: calc(24px * var(--dominique-font-scale)); }
  
  /* NAVBAR taille maximum comme CaribHolidays */
  .dominique-nav-container {
    height: 80px;
    padding: 0 40px;
  }
  
  .dominique-nav-logo img {
    height: 75px;
  }
  
  .dominique-nav-item {
    padding: 15px 22px;
    gap: 8px;
  }
  
  .dominique-nav-item i {
    font-size: 19px;
  }
  
  .dominique-nav-item span {
    font-size: 17px;
  }
  
  .dominique-contact-item {
    padding: 13px 15px;
  }
  
  /* Tous les textes à droite proportionnés */
  .dominique-phone-number {
    font-size: 17px !important;
  }
  
  .dominique-contact-item span {
    font-size: 17px !important;
  }
  
  .dominique-contact-item i,
  .dominique-devis-btn i {
    font-size: 19px !important;
  }
  
  .dominique-devis-btn {
    padding: 13px 22px;
  }
  
  .dominique-devis-btn span {
    font-size: 17px !important;
  }
  
  /* Dropdown Découvrir */
  .dominique-nav-dropdown .dominique-nav-item {
    padding: 15px 22px;
  }
  
  .dominique-nav-dropdown .dominique-nav-item i {
    font-size: 19px;
  }
  
  .dominique-nav-dropdown .dominique-nav-item span {
    font-size: 17px;
  }
  
  /* Séparateur proportionné */
  .dominique-phone-separator::before {
    height: 34px;
  }
}