
@import url('https://fonts.googleapis.com/css2?family=Great+Vibes&display=swap');

* { box-sizing: border-box; }
body {
  margin: 0; padding: 0;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
  background: url('../assets/rose-blur-overlay.png') no-repeat center center fixed;
  background-size: cover;
  color: #14253d;
}
.overlay { background: rgba(255,255,255,0.85); min-height: 100vh; padding: 24px; }
header { text-align: center; padding: 12px 0 8px; }
header h1 { margin: 0; font-size: 2rem; color: #0b3a6a; letter-spacing: 0.2px; }
header h2 { margin: 6px 0 2px; font-weight: 500; color: #0b3a6a; }
header .author { font-family: 'Great Vibes', cursive; font-size: 2.1rem; color: #3b3b3b; margin-top: 8px; }
main { max-width: 1000px; margin: 0 auto; }
section { background: rgba(255,255,255,0.92); border-radius: 14px; padding: 22px; margin: 18px 0;
          box-shadow: 0 8px 24px rgba(0,0,0,0.05); }
h3 { color: #0b3a6a; margin-top: 0; letter-spacing: 0.2px; }
.lead { font-size: 1.05rem; line-height: 1.7; }
.grid-2 { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
.grid-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.card { background: rgba(255,255,255,0.96); border-radius: 12px; padding: 18px; box-shadow: 0 6px 18px rgba(0,0,0,0.05); }
.badge { display:inline-block; padding: 6px 12px; border-radius: 999px; background:#e6eff9; color:#0b3a6a; font-weight:600; font-size: 0.9rem; }
.price { font-size: 1.1rem; font-weight: 700; margin-top: 10px; }
ul { padding-left: 18px; }
.kv { display:grid; grid-template-columns: 140px 1fr; gap: 8px; }
.kv .k { font-weight:600; color:#0b3a6a; }
.cta { display:inline-block; padding:10px 16px; border-radius:10px; border:1px solid #0b3a6a; text-decoration:none; color:#0b3a6a; margin-top:8px; }
.lang-selector { margin-top: 12px; }
.lang-selector select { padding: 8px 10px; border-radius: 8px; border: 1px solid #cbd5e1; font-size: 0.95rem; background: #fff; }
.contact-grid { display:grid; grid-template-columns: repeat(2,1fr); gap: 16px; }
form { display:grid; gap: 12px; margin-top: 8px; }
input, textarea { padding: 10px; border-radius: 8px; border: 1px solid #cbd5e1; font-size: 1rem; }
button { background:#0b3a6a; color:white; border:none; padding:10px 14px; border-radius:10px; cursor:pointer; font-size:1rem; }
button:hover { opacity: 0.95; }
footer { text-align:center; padding: 28px 8px; opacity: 0.9; }
@media (max-width: 860px) {
  .grid-2, .grid-3, .contact-grid { grid-template-columns: 1fr; }
}

.social-icons { margin-top: 12px; }
.social-icons a { margin: 0 6px; display:inline-block; transition: transform 0.2s ease; }
.social-icons a:hover { transform: scale(1.1); opacity:0.9; }

.main-nav { margin-top: 16px; text-align: center; }
.main-nav a { margin: 0 10px; text-decoration: none; color: #0b3a6a; font-weight: 500; }
.main-nav a:hover { text-decoration: underline; }
@media (max-width: 600px) {
  .main-nav { display: flex; flex-wrap: wrap; justify-content: center; }
  .main-nav a { margin: 6px; }
}

.lang-flags { margin-top: 12px; font-size: 1.6rem; }
.lang-flags a { margin: 0 6px; text-decoration: none; transition: transform 0.2s ease; }
.lang-flags a:hover { transform: scale(1.2); }

.subtitle { 
  font-family: 'Open Sans', sans-serif;
  font-size: 1rem;
  color: #333;
  margin-top: 4px;
}


/* --- FIX: Background image for Coordonnées (loaded from css/style.css) --- */
section#coordonnees {
  position: relative;
  background: url('../assets/coordonnees-bg.jpg') center/cover no-repeat fixed;
  color: #000;
  min-height: 420px;
  padding: 48px 24px;
}

section#coordonnees::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0.65);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index: 0;
  border-radius: inherit;
}

section#coordonnees > * {
  position: relative;
  z-index: 1;
}

/* Ensure inner cards/blocks are transparent to show the background */
section#coordonnees .contact-grid,
section#coordonnees .card,
section#coordonnees .container {
  background: transparent !important;
}


/* --- Apply Strasbourg photo as background for Coordonnées --- */
section#coordonnees {
  background: url('../assets/strasbourg-bg.jpg') center/cover no-repeat fixed !important;
}


/* --- FINAL FIX: Strasbourg background for Coordonnées --- */
section#coordonnees,
section#coordonnees .container,
section#coordonnees .contact-grid,
section#coordonnees .card {
  background: transparent !important;
}

section#coordonnees {
  background: url('../assets/strasbourg-bg.jpg') center/cover no-repeat fixed !important;
  position: relative !important;
  z-index: 0 !important;
  min-height: 420px !important;
  padding: 48px 24px !important;
}

section#coordonnees::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0.65) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  z-index: -1;
}


/* --- Update: show full Strasbourg photo without zoom --- */
section#coordonnees {
  background: url('../assets/strasbourg-bg.jpg') center center no-repeat fixed !important;
  background-size: contain !important;
  background-color: transparent !important;
}


/* --- Update: show full Strasbourg photo without zoom and remove overlay --- */
section#coordonnees::before {
  display: none !important;
}

section#coordonnees {
  background: url('../assets/strasbourg-bg.jpg') center center no-repeat !important;
  background-size: contain !important;
  background-color: transparent !important;
}


/* --- FIX: Strasbourg background on full Coordonnées section --- */
section#coordonnees,
section#coordonnees .container,
section#coordonnees .contact-grid,
section#coordonnees .card {
  background: transparent !important;
}

section#coordonnees {
  background: url('../assets/strasbourg-bg.jpg') center top / cover no-repeat fixed !important;
  position: relative;
  z-index: 0;
  min-height: 420px;
  padding: 48px 24px;
}


/* --- FIX: Show Strasbourg photo fully without zoom --- */
section#coordonnees,
section#coordonnees .container,
section#coordonnees .contact-grid,
section#coordonnees .card {
  background: transparent !important;
}

section#coordonnees {
  background: url('../assets/strasbourg-bg.jpg') top center no-repeat !important;
  background-size: contain !important;
  background-color: transparent !important;
  position: relative !important;
  min-height: 500px !important;
  padding: 48px 24px !important;
}


/* --- DEFINITIVE FIX: Strasbourg background on Coordonnées full section --- */
section#coordonnees {
  background-image: url('../assets/strasbourg-bg.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  min-height: 600px !important;
  position: relative !important;
  z-index: 0 !important;
}

section#coordonnees .card,
section#coordonnees .contact-grid,
section#coordonnees .container {
  background: transparent !important;
  box-shadow: none !important;
}


/* --- Improve visibility of Coordonnées info with white overlay box --- */
section#coordonnees .contact-grid {
  background: rgba(255, 255, 255, 0.85) !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.15) !important;
  padding: 24px !important;
  color: #002855 !important; /* dark blue text */
}

section#coordonnees .contact-grid h2,
section#coordonnees .contact-grid p,
section#coordonnees .contact-grid a,
section#coordonnees .contact-grid button {
  color: #002855 !important;
}


/* Apply Strasbourg background to all contact sections (FR, EN, VI) */
section.contact-section {
  background: url('../images/strasbourg-bg.jpg') no-repeat center center;
  background-size: cover;
  position: relative;
}

section.contact-section .contact-grid {
  background: rgba(255, 255, 255, 0.85);
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.15);
  padding: 24px;
  color: #002855;
}


/* Unified Strasbourg background for all contact sections (FR, EN, VI) */
section.contact-section {
  background: url('../images/strasbourg-bg.jpg') no-repeat center center;
  background-size: cover;
  position: relative;
}

section.contact-section .contact-grid {
  background: rgba(255, 255, 255, 0.85);
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.15);
  padding: 24px;
  color: #002855;
}
