/*
 * page-projets.css
 * CSS externalisé depuis page-projets.php pour performance
 * Chargé via wp_enqueue_style dans functions.php
 */
:root {
  --accent: #ffffff;
  --accent-dark: #e5e5e5;
  --accent-light: #b8b8b8;
  --accent-muted: #9e9e9e;
  --bg-card: #1a1a1a;
  --bg-card-hover: #1f1f1f;
  --bg-section: #151515;
  --text-main: #ffffff;
  --text-secondary: #d4d4d4;
  --text-light: #b8b8b8;
  --text-muted: #8a8a8a;
  --border-card: #2a2a2a;
  --border-light: #333333;
  --border-accent: #404040;
  --bg-page: #0f0f0f;
  --shadow-light: rgba(255, 255, 255, 0.05);
  --shadow-dark: rgba(0, 0, 0, 0.3);
  --gradient-primary: linear-gradient(135deg, #1a1a1a 0%, #151515 100%);
  --gradient-card: linear-gradient(145deg, #1a1a1a 0%, #161616 100%);
  --gradient-hover: linear-gradient(145deg, #1f1f1f 0%, #1a1a1a 100%);
}
html, body {
  background: var(--bg-page) !important;
  color: var(--text-main);
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  line-height: 1.6;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.exp-wrap {
  background: var(--bg-page);
  color: var(--text-main);
  min-height: 100vh;
  position: relative;
}

.exp-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 32px 24px;
}
.exp-hero {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  padding: 64px 40px;
  margin: 0 0 48px;
  background: var(--gradient-primary);
  border: 1px solid var(--border-card);
  box-shadow: 0 8px 32px var(--shadow-dark), inset 0 1px 0 var(--shadow-light);
}
.exp-kicker {
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 13px;
  color: var(--accent-muted);
  margin-bottom: 16px;
  display: inline-block;
}

.exp-title {
  margin: 0 0 24px;
  font-size: clamp(32px, 5vw, 56px);
  line-height: 1.1;
  font-weight: 900;
  color: var(--accent);
  letter-spacing: -0.02em;
}

.exp-tagline {
  color: var(--text-secondary);
  font-size: 18px;
  line-height: 1.7;
  max-width: 840px;
  margin-bottom: 32px;
  font-weight: 400;
}
.exp-badge {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  background: var(--bg-card);
  border: 1px solid var(--border-accent);
  border-radius: 50px;
  padding: 12px 20px;
  font-weight: 600;
  font-size: 14px;
  color: var(--text-secondary);
  box-shadow: 0 2px 8px var(--shadow-dark);
}
.exp-badge i {
  display: inline-block;
  width: 8px;
  height: 8px;
  min-width: 8px;
  min-height: 8px;
  max-width: 8px;
  max-height: 8px;
  border-radius: 50%;
  background: var(--accent);
  flex-shrink: 0;
}
.packs-hero {
  margin-bottom: 64px;
  margin-top: 0;
  background: none;
  padding: 0;
}
.packs-hero-title {
  font-size: clamp(28px, 4.5vw, 48px);
  font-weight: 900;
  color: var(--white);
  letter-spacing: -1px;
  line-height: 1.1;
  text-shadow: 0 2px 12px #181818;
  margin-bottom: 0.7em;
  text-align: center;
}
.packs-hero-title > div {
  font-size: 1.18rem;
  font-weight: 400;
  color: var(--accent-light);
  margin-top: 0.5rem;
  letter-spacing: 0;
  text-shadow: none;
}
.packs-info {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
  margin-bottom: 32px;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
.pack-card {
  background: var(--gradient-card);
  border-radius: 16px;
  box-shadow: 0 4px 16px var(--shadow-dark), inset 0 1px 0 var(--shadow-light);
  padding: 32px 24px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  border: 1px solid var(--border-card);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  backdrop-filter: blur(10px);
}
.pack-card.active {
  background: var(--accent);
  color: var(--bg-page);
  border: 1px solid var(--accent);
  box-shadow: 0 8px 32px rgba(255, 255, 255, 0.1), 0 2px 8px var(--shadow-dark);
  transform: translateY(-2px);
}
.pack-card:not(.active):hover {
  background: var(--gradient-hover);
  border-color: var(--border-accent);
  transform: translateY(-4px);
  box-shadow: 0 8px 24px var(--shadow-dark), inset 0 1px 0 var(--shadow-light);
}
.pack-card .pack-title {
  font-size: 20px;
  font-weight: 700;
  color: var(--accent);
  margin-bottom: 12px;
  letter-spacing: -0.01em;
}
.pack-card.active .pack-title {
  color: var(--bg-page);
}
.pack-card .pack-desc {
  font-size: 15px;
  color: var(--text-light);
  line-height: 1.5;
  font-weight: 400;
}
.pack-card.active .pack-desc {
  color: var(--bg-page);
}
.infobox-gallery-section {
  display: flex;
  justify-content: center;
  margin: 48px 0;
  align-items: flex-start;
  background: var(--gradient-card);
  border-radius: 24px;
  border: 1px solid var(--border-card);
  box-shadow: 0 8px 32px var(--shadow-dark), inset 0 1px 0 var(--shadow-light);
  padding: 48px 32px;
  backdrop-filter: blur(10px);
}
.infobox-gallery-details {
  width: 100%;
  margin: auto;
  padding: 0;
  color: var(--text-main);
}
.gallery-inner { position:relative; }
.infobox-location {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
  color: var(--accent-light);
}
.infobox-location-icon svg { filter: drop-shadow(0 2px 8px #2196f3); }
.infobox-location-text {
  font-size: 18px;
  color: var(--accent);
  font-weight: 600;
  letter-spacing: -0.01em;
}
.infobox-shortdesc-sep {
  height: 3px;
  background: linear-gradient(90deg, var(--accent) 0%, var(--accent-light) 100%);
  border-radius: 2px;
  margin: 24px 0;
  width: 64px;
  opacity: 0.8;
}
.infobox-shortdesc {
  font-size: 16px;
  color: var(--text-secondary);
  margin-bottom: 32px;
  line-height: 1.6;
  font-weight: 400;
}
.infobox-infos {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
  margin-bottom: 32px;
}
.infobox-info-block {
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--bg-section);
  border-radius: 12px;
  padding: 16px 20px;
  box-sizing: border-box;
  box-shadow: 0 2px 8px var(--shadow-dark), inset 0 1px 0 var(--shadow-light);
  border: 1px solid var(--border-card);
  font-size: 14px;
}
.infobox-info-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  min-height: 32px;
  flex-shrink: 0;
}

.infobox-info-label {
  font-size: 13px;
  color: var(--text-muted);
  font-weight: 500;
  margin-bottom: 4px;
}

.infobox-info-value {
  font-size: 16px;
  color: var(--accent);
  font-weight: 600;
  letter-spacing: -0.01em;
}
.custom-gallery {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
  gap: 16px !important;
  margin-top: 32px;
}
.custom-gallery img, .custom-gallery video {
  height: 200px !important;
  object-fit: cover !important;
  border-radius: 12px !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  display: block !important;
  vertical-align: bottom !important;
  background: var(--bg-section);
  box-shadow: 0 4px 16px var(--shadow-dark), inset 0 1px 0 var(--shadow-light);
  border: 1px solid var(--border-card);
}
.custom-gallery img:hover, .custom-gallery video:hover {
  transform: translateY(-4px) scale(1.02) !important;
  box-shadow: 0 8px 32px var(--shadow-dark), 0 4px 16px rgba(255, 255, 255, 0.05) !important;
  border-color: var(--border-accent) !important;
}
.modal { display: none !important; position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; background: rgba(0,0,0,0.85) !important; justify-content: center !important; align-items: center !important; z-index: 999999 !important; cursor: pointer !important; }
.modal.active { display: flex !important; }
.modal img { max-width: 90% !important; max-height: 90% !important; border-radius: 8px !important; box-shadow: 0 0 30px rgba(255,255,255,0.3) !important; cursor: default !important; pointer-events: none !important; }
.modal-close { position: fixed !important; top: 20px !important; right: 30px !important; font-size: 30px !important; font-weight: bold !important; color: white !important; cursor: pointer !important; z-index: 1000000 !important; user-select: none !important; }
.modal-close:hover { color: #bbb !important; }
.site-logo-img img {
    filter: none;
}

/* Amélioration globale de la page */
.exp-wrap {
  background-attachment: fixed;
}

.exp-wrap::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image:
    radial-gradient(circle at 25% 25%, rgba(255, 255, 255, 0.02) 0%, transparent 50%),
    radial-gradient(circle at 75% 75%, rgba(255, 255, 255, 0.01) 0%, transparent 50%);
  pointer-events: none;
  z-index: 0;
}

.exp-container {
  position: relative;
  z-index: 1;
}

/* Amélioration des transitions globales */
* {
  scroll-behavior: smooth;
}

/* Focus states améliorés */
.pack-card:focus-visible,
.infobox-info-block:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

/* Amélioration de l'accessibilité */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
@media (max-width: 768px) {
  .exp-container {
    padding: 24px 16px;
  }

  .exp-hero {
    padding: 48px 24px;
    margin-bottom: 32px;
  }

  .exp-title {
    font-size: clamp(28px, 8vw, 40px);
  }

  .exp-tagline {
    font-size: 16px;
  }

  .packs-info {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .pack-card {
    padding: 24px 20px;
  }

  .infobox-gallery-section {
    margin: 32px 0;
    padding: 32px 20px;
    border-radius: 20px;
  }

  .infobox-infos {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  .infobox-info-block {
    flex-direction: column;
    text-align: center;
    gap: 8px;
    padding: 16px;
  }

  .custom-gallery {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }

  .custom-gallery img, .custom-gallery video {
    height: 140px !important;
    border-radius: 8px !important;
  }

  .custom-gallery video {
    grid-column: span 2 !important;
    min-height: 180px !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}
.ast-primary-header-bar.ast-primary-header {
    background: transparent;
}
.pack-card[data-pack="altitude"]::before,
.pack-card[data-pack="immersion"]::before,
.pack-card[data-pack="fullride"]::before,
.pack-card[data-pack="all"]::before {
    content: "";
    position: absolute;
    z-index: 0;
    opacity: 0.13;
    pointer-events: none;
    background-repeat: no-repeat;
    background-position: center;
    transition: background-image 0.18s;
}
/* SVG blanc par défaut */
.pack-card[data-pack="altitude"]::before {
    left: 61%;
    top: 40%;
    width: 220px;
    height: 220px;
    transform: translate(-50%, -50%) rotate(-18deg);
    background-image: url('data:image/svg+xml;utf8,<svg fill="white" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 511 511"><g><path d="M503.5,160H439v-0.5c0-12.958-10.542-23.5-23.5-23.5S392,146.542,392,159.5v0.5h-64.5c-4.142,0-7.5,3.358-7.5,7.5 s3.358,7.5,7.5,7.5H384v8.5c0,0.168,0.01,0.333,0.013,0.5h-48.357c-0.007,0-0.014,0-0.021,0H175.378c-0.013,0-0.026,0-0.039,0 h-48.352c0.003-0.167,0.013-0.332,0.013-0.5V175h56.5c4.142,0,7.5-3.358,7.5-7.5s-3.358-7.5-7.5-7.5H119v-0.5 c0-12.958-10.542-23.5-23.5-23.5S72,146.542,72,159.5v0.5H7.5c-4.142,0-7.5,3.358-7.5,7.5s3.358,7.5,7.5,7.5H64v8.5 c0,17.369,14.131,31.5,31.5,31.5c11.737,0,21.987-6.457,27.406-16h47.188l6.997,20.991C182.476,236.146,197.536,247,214.564,247 H248v17h-40.5c-17.369,0-31.5,14.131-31.5,31.5v48c0,17.369,14.131,31.5,31.5,31.5h96c17.369,0,31.5-14.131,31.5-31.5v-48 c0-17.369-14.131-31.5-31.5-31.5H263v-17h33.436c17.029,0,32.088-10.854,37.473-27.009L340.906,199h47.188 c5.419,9.543,15.669,16,27.406,16c17.369,0,31.5-14.131,31.5-31.5V175h56.5c4.142,0,7.5-3.358,7.5-7.5S507.642,160,503.5,160z M87,159.5c0-4.687,3.813-8.5,8.5-8.5s8.5,3.813,8.5,8.5v0.5H87V159.5z M95.5,200c-9.098,0-16.5-7.402-16.5-16.5V175h33v8.5 C112,192.598,104.598,200,95.5,200z M320,295.5v48c0,9.098-7.402,16.5-16.5,16.5h-96c-9.098,0-16.5-7.402-16.5-16.5v-48 c0-9.098,7.402-16.5,16.5-16.5h96C312.598,279,320,286.402,320,295.5z M319.678,215.248c-3.34,10.02-12.68,16.752-23.243,16.752 h-81.871c-10.563,0-19.903-6.732-23.243-16.752L185.906,199h139.188L319.678,215.248z M407,159.5c0-4.687,3.813-8.5,8.5-8.5 s8.5,3.813,8.5,8.5v0.5h-17V159.5z M432,183.5c0,9.098-7.402-16.5-16.5-16.5s-16.5,7.402-16.5,16.5V175h33V183.5z"/><path d="M231.5,288c-17.369,0-31.5,14.131-31.5,31.5s14.131,31.5,31.5,31.5s31.5-14.131,31.5-31.5S248.869,288,231.5,288z M231.5,336c-9.098,0-16.5-7.402-16.5-16.5s7.402-16.5,16.5-16.5s16.5,7.402,16.5,16.5S240.598,336,231.5,336z"/><path d="M287.5,303h8c4.142,0,7.5-3.358,7.5-7.5s-3.358-7.5-7.5-7.5h-8c-4.142,0-7.5,3.358-7.5,7.5S283.358,303,287.5,303z"/><path d="M231.5,312c-1.97,0-3.91,0.8-5.3,2.2c-1.4,1.39-2.2,3.33-2.2,5.3s0.8,3.91,2.2,5.3c1.39,1.4,3.33,2.2,5.3,2.2 c1.97,0,3.91-0.8,5.3-2.2c1.4-1.39,2.2-3.33,2.2-5.3s-0.8-3.91-2.2-5.3C235.41,312.8,233.47,312,231.5,312z"/></g></svg>');
    background-size: 220px 220px;
}
.pack-card[data-pack="immersion"]::before {
    left: 22%;
    top: 71%;
    width: 220px;
    height: 220px;
    transform: translate(-50%, -50%) rotate(12deg);
    background-image: url('data:image/svg+xml;utf8,<svg fill="white" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><g><path d="M445.995,92.856c0-6.627-0.995-13.169-2.959-19.449c-1.296-4.149-5.713-6.461-9.863-5.164 c-4.15,1.297-6.463,5.713-5.164,9.863c1.487,4.757,2.241,9.72,2.241,14.751c0,27.22-22.146,49.364-49.366,49.364 s-49.364-22.145-49.364-49.364c0-27.221,22.145-49.366,49.364-49.366c11.603,0,22.88,4.114,31.756,11.582 c3.327,2.8,8.293,2.372,11.092-0.954c2.799-3.326,2.372-8.292-0.954-11.092c-11.709-9.854-26.588-15.281-41.894-15.281 c-35.902,0-65.109,29.209-65.109,65.11s29.208,65.109,65.109,65.109C416.786,157.966,445.995,128.759,445.995,92.856z"></path> <path d="M380.885,59.413c-18.44,0-33.443,15.003-33.443,33.443s15.003,33.443,33.443,33.443s33.443-15.002,33.443-33.443 S399.325,59.413,380.885,59.413z M380.885,110.554c-9.759,0-17.698-7.94-17.698-17.698s7.94-17.698,17.698-17.698 s17.698,7.94,17.698,17.698C398.583,102.615,390.644,110.554,380.885,110.554z"></path> <path d="M245.291,69.408h-94.708c-10.954,0-19.866,8.913-19.866,19.867v84.501c0,10.954,8.912,19.866,19.866,19.866h94.708 c10.954,0,19.866-8.912,19.866-19.866V89.274C265.158,78.319,256.245,69.408,245.291,69.408z M249.413,173.774 c0,2.273-1.848,4.121-4.121,4.121h-94.708c-2.273,0-4.121-1.848-4.121-4.121V89.274c0-2.273,1.848-4.122,4.121-4.122h94.708 c2.273,0,4.121,1.85,4.121,4.122V173.774z"></path> <path d="M197.938,308.866c28.447,0,51.589-23.143,51.589-51.589s-23.143-51.589-51.589-51.589s-51.589,23.143-51.589,51.589 S169.491,308.866,197.938,308.866z M197.938,221.434c19.765,0,35.844,16.08,35.844,35.844s-16.08,35.844-35.844,35.844 s-35.844-16.08-35.844-35.844S178.172,221.434,197.938,221.434z"></path> <path d="M257.938,282.205c0,14.701,11.96,26.66,26.66,26.66s26.66-11.96,26.66-26.66c0-14.7-11.96-26.66-26.66-26.66 C269.898,255.546,257.938,267.506,257.938,282.205z M295.514,282.205c0,6.019-4.897,10.915-10.915,10.915 c-6.019,0-10.915-4.897-10.915-10.915c0-6.019,4.897-10.915,10.915-10.915C290.617,271.291,295.514,276.188,295.514,282.205z"></path> <path d="M400.883,230.395c4.348,0,7.872-3.525,7.872-7.872s-3.525-7.872-7.872-7.872H295.901c-4.348,0-7.872,3.525-7.872,7.872 s3.525,7.872,7.872,7.872H400.883z"></path> <path d="M46.132,470.649c25.393,0,47.393-14.791,57.85-36.207h104.418v2.151c0,2.92,0.528,5.72,1.491,8.309 c-30.979,1.952-55.588,27.764-55.588,59.226c0,4.348,3.525,7.872,7.872,7.872h202.958c4.348,0,7.872-3.525,7.872-7.872 c0-30.95-23.815-56.43-54.081-59.111c0.99-2.622,1.536-5.46,1.536-8.425v-2.151h8.132c18.881,0,34.242-15.361,34.242-34.241 c0-18.881-15.361-34.242-34.242-34.242h-8.132v-15.275h89.345c13.415,0,24.329-10.913,24.329-24.329V185.712h18.161 c11.825,0,21.446-9.62,21.446-21.446V21.446C473.741,9.62,464.121,0,452.295,0H309.473c-11.825,0-21.446,9.62-21.446,21.446v13.203 H119.053c-13.415,0-24.328,10.913-24.328,24.329v267.379c0,13.415,10.913,24.329,24.328,24.329h29.323 c4.348,0,7.872-3.525,7.872-7.872s-3.525-7.872-7.872-7.872h-29.323c-4.733,0-8.583-3.85-8.583-8.584V58.976 c0-4.733,3.85-8.584,8.583-8.584h168.974v113.874c0,11.825,9.62,21.446,21.446,21.446h108.916v140.643 c0,4.733-3.85,8.584-8.584,8.584h-97.217h-96.316h-36.405c-4.348,0-7.872,3.525-7.872,7.872s3.525,7.872,7.872,7.872h28.533v15.275 H103.981c-10.457-21.416-32.457-36.207-57.85-36.207c-4.348,0-7.872,3.525-7.872,7.872v125.151 C38.259,467.124,41.784,470.649,46.132,470.649z M309.473,169.967c-3.144,0-5.701-2.557-5.701-5.701V42.52V21.446 c0-3.144,2.557-5.701,5.701-5.701h142.822c3.144,0,5.701,2.557,5.701,5.701v142.822c0,3.144-2.557,5.701-5.701,5.701h-26.034 H309.473V169.967z M320.46,381.704h8.132c10.2,0,18.497,8.298,18.497,18.497c0,10.198-8.298,18.496-18.497,18.496h-8.132V381.704z M224.144,426.569v-52.738v-23.147h80.571v23.147v52.738v10.023c0,4.508-3.667,8.177-8.177,8.177c-7.249,0-8.178-7.104-8.178-12.732 c0-4.812,0-9.623,0-14.435c0-4.137,0-8.272,0-12.409c0-13.389-11.732-24.533-25.078-23.904 c-12.776,0.603-22.785,11.302-22.785,24.358v30.945c0,4.508-3.669,8.177-8.177,8.177c-4.509,0-8.178-3.669-8.178-8.177v-10.023 H224.144z M232.321,460.514c13.19,0 23.922-10.732 23.922-23.922v-30.945c0-4.557 3.49-8.429 7.781-8.63 c4.679-0.22 8.593,3.528 8.593,8.177c0,0,0,31.395 0,31.4c0,10.36 7.004,19.777 16.87,22.855c1.695,0.529 3.711,1.066 5.499,1.066 h18.662c21.361,0 39.185,15.437 42.902,35.741H170.76c3.717-20.304 21.54-35.741 42.902-35.741h18.66V460.514z M110.461,393.703 c-0.024-4.037-0.489-8.055-1.193-12.027c8.746,0.483 17.739,0.026 26.526,0.026c16.103,0 32.206,0 48.308,0 c1.354,0 24.298,0 24.298,0v36.993c0,0-99.126,0-99.127,0c0.979-0.008 1.199-11.034 1.199-12.387V394.09 C110.47,393.962,110.462,393.833,110.461,393.703z M54.004,346.134c0-0.371,11.991,3.595 13.051,4.103 c4.154,1.99 8.018,4.575 11.45,7.647c10.226,9.155 16.22,22.477 16.22,36.207c0,0,0,12.217 0,12.218 c0,23.48-17.556,44.167-40.722,47.957C54.004,454.267,54.004,346.143,54.004,346.134z"></path> </g></svg>');
    background-size: 220px 220px;
}
.pack-card[data-pack="fullride"]::before {
    left: 75%;
    top: 50%;
    width: 220px;
    height: 220px;
    transform: translate(-50%, -50%) rotate(-8deg);
    background-image: url('data:image/svg+xml;utf8,<svg fill="white" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><path d="M16 1.25c-8.146 0-14.75 6.604-14.75 14.75s6.604 14.75 14.75 14.75c8.146 0 14.75-6.604 14.75-14.75v0c-0.010-8.142-6.608-14.74-14.749-14.75h-0.001zM18.453 20.25h-4.907l-2.454-4.25 2.454-4.25h4.923l2.439 4.248zM20.198 11.75h8.34c0.451 1.272 0.712 2.74 0.712 4.268 0 2.788-0.868 5.374-2.349 7.501l0.028-0.043zM27.919 10.25h-13.506l4.181-7.242c4.137 0.858 7.512 3.548 9.29 7.164l0.035 0.078zM16 2.75c0.331 0 0.656 0.026 0.982 0.050l-6.755 11.701-4.172-7.226c2.433-2.777 5.985-4.522 9.945-4.524h0zM5.056 8.544l6.758 11.706h-8.353c-0.451-1.272-0.712-2.739-0.712-4.268 0-2.78 0.863-5.358 2.335-7.482l-0.029 0.044zM4.081 21.75h13.506l-4.18 7.242c-4.138-0.858-7.513-3.548-9.291-7.164l-0.035-0.078zM16 29.25c-0.331 0-0.656-0.026-0.982-0.050l6.754-11.697 4.157 7.241c-2.432 2.766-5.977 4.503-9.929 4.506h-0z"></path></svg>');
    background-size: 220px 220px;
}
.pack-card[data-pack="all"]::before {
    left: 50%;
    top: 50%;
    width: 110px;
    height: 110px;
    transform: translate(-50%, -50%) rotate(0deg);
    background-image: url('data:image/svg+xml;utf8,<svg fill="white" height="200px" width="200px" version="1.1" viewBox="0 0 512.00 512.00" xmlns="http://www.w3.org/2000/svg"><g><path d="M488.349,74.252c-12.968-2.571-25.571,5.843-28.154,18.812l-1.344,6.759C411.069,37.799,336.582,0,256.002,0 C154.201,0,62.083,60.286,21.317,153.584c-5.293,12.116,0.236,26.23,12.352,31.524c12.116,5.296,26.232-0.238,31.524-12.352 C98.338,96.897,173.235,47.883,256.002,47.883c66.27,0,127.469,31.446,166.259,82.914l-14.283-2.841 c-12.965-2.573-25.571,5.843-28.154,18.812c-2.578,12.968,5.842,25.573,18.81,28.152l67.039,13.334 c1.55,0.308,3.114,0.46,4.673,0.46c4.697,0,9.334-1.385,13.299-4.035c5.281-3.527,8.945-9.01,10.182-15.236l13.332-67.039 C509.736,89.434,501.317,76.831,488.349,74.252z"></path><path d="M478.333,326.893c-12.121-5.297-26.233,0.235-31.526,12.352c-33.148,75.858-108.041,124.874-190.805,124.874 c-66.267,0-127.463-31.441-166.249-82.9l14.277,2.841c12.971,2.576,25.571-5.842,28.154-18.81 c2.581-12.968-5.842-25.573-18.81-28.154l-67.039-13.335c-6.228-1.235-12.691,0.048-17.972,3.575 c-5.281,3.527-8.943,9.008-10.181,15.235L4.845,409.612c-2.579,12.968,5.842,25.573,18.81,28.154 c1.577,0.313,3.149,0.464,4.697,0.464c11.189,0,21.188-7.883,23.455-19.274l1.347-6.767 c47.781,62.018,122.267,99.815,202.848,99.815c101.794,0,193.913-60.286,234.682-153.583 C495.976,346.301,490.446,332.187,478.333,326.893z"></path><path d="M348.864,200.072l-79.805-51.924c-7.941-5.167-18.175-5.165-26.114-0.002l-63.847,41.542 c-0.01,0.006-0.016,0.011-0.026,0.016l-0.262,0.171l-0.059,0.038l-15.611,10.158c-11.082,7.211-14.221,22.042-7.012,33.124 c2.989,4.59,7.291,7.795,12.086,9.489v69.18c0.002,13.224,10.719,23.943,23.943,23.943h127.691 c13.22,0,23.941-10.719,23.941-23.941v-69.183c4.795-1.693,9.096-4.894,12.086-9.486 C363.087,222.113,359.948,207.282,348.864,200.072z"></path></g></svg>');
    background-size: 110px 110px;
}
/* SVG noir quand active */
.pack-card.active[data-pack="altitude"]::before {
    background-image: url('data:image/svg+xml;utf8,<svg fill="black" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 511 511"><g><path d="M503.5,160H439v-0.5c0-12.958-10.542-23.5-23.5-23.5S392,146.542,392,159.5v0.5h-64.5c-4.142,0-7.5,3.358-7.5,7.5 s3.358,7.5,7.5,7.5H384v8.5c0,0.168,0.01,0.333,0.013,0.5h-48.357c-0.007,0-0.014,0-0.021,0H175.378c-0.013,0-0.026,0-0.039,0 h-48.352c0.003-0.167,0.013-0.332,0.013-0.5V175h56.5c4.142,0,7.5-3.358,7.5-7.5s-3.358-7.5-7.5-7.5H119v-0.5 c0-12.958-10.542-23.5-23.5-23.5S72,146.542,72,159.5v0.5H7.5c-4.142,0-7.5,3.358-7.5,7.5s3.358,7.5,7.5,7.5H64v8.5 c0,17.369,14.131,31.5,31.5,31.5c11.737,0,21.987-6.457,27.406-16h47.188l6.997,20.991C182.476,236.146,197.536,247,214.564,247 H248v17h-40.5c-17.369,0-31.5,14.131-31.5,31.5v48c0,17.369,14.131,31.5,31.5,31.5h96c17.369,0,31.5-14.131,31.5-31.5v-48 c0-17.369-14.131-31.5-31.5-31.5H263v-17h33.436c17.029,0,32.088-10.854,37.473-27.009L340.906,199h47.188 c5.419,9.543,15.669,16,27.406,16c17.369,0,31.5-14.131,31.5-31.5V175h56.5c4.142,0,7.5-3.358,7.5-7.5S507.642,160,503.5,160z M87,159.5c0-4.687,3.813-8.5,8.5-8.5s8.5,3.813,8.5,8.5v0.5H87V159.5z M95.5,200c-9.098,0-16.5-7.402-16.5-16.5V175h33v8.5 C112,192.598,104.598,200,95.5,200z M320,295.5v48c0,9.098-7.402,16.5-16.5,16.5h-96c-9.098,0-16.5-7.402-16.5-16.5v-48 c0-9.098,7.402-16.5,16.5-16.5h96C312.598,279,320,286.402,320,295.5z M319.678,215.248c-3.34,10.02-12.68,16.752-23.243,16.752 h-81.871c-10.563,0-19.903-6.732-23.243-16.752L185.906,199h139.188L319.678,215.248z M407,159.5c0-4.687,3.813-8.5,8.5-8.5 s8.5,3.813,8.5,8.5v0.5h-17V159.5z M432,183.5c0,9.098-7.402-16.5-16.5-16.5s-16.5,7.402-16.5,16.5V175h33V183.5z"/><path d="M231.5,288c-17.369,0-31.5,14.131-31.5,31.5s14.131,31.5,31.5,31.5s31.5-14.131,31.5-31.5S248.869,288,231.5,288z M231.5,336c-9.098,0-16.5-7.402-16.5-16.5s7.402-16.5,16.5-16.5s16.5,7.402,16.5,16.5S240.598,336,231.5,336z"/><path d="M287.5,303h8c4.142,0,7.5-3.358,7.5-7.5s-3.358-7.5-7.5-7.5h-8c-4.142,0-7.5,3.358-7.5,7.5S283.358,303,287.5,303z"/><path d="M231.5,312c-1.97,0-3.91,0.8-5.3,2.2c-1.4,1.39-2.2,3.33-2.2,5.3s0.8,3.91,2.2,5.3c1.39,1.4,3.33,2.2,5.3,2.2 c1.97,0,3.91-0.8,5.3-2.2c1.4-1.39,2.2-3.33,2.2-5.3s-0.8-3.91-2.2-5.3C235.41,312.8,233.47,312,231.5,312z"/></g></svg>');
}
.pack-card.active[data-pack="immersion"]::before {
    background-image: url('data:image/svg+xml;utf8,<svg fill="black" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><g><path d="M445.995,92.856c0-6.627-0.995-13.169-2.959-19.449c-1.296-4.149-5.713-6.461-9.863-5.164 c-4.15,1.297-6.463,5.713-5.164,9.863c1.487,4.757,2.241,9.72,2.241,14.751c0,27.22-22.146,49.364-49.366,49.364 s-49.364-22.145-49.364-49.364c0-27.221,22.145-49.366,49.364-49.366c11.603,0,22.88,4.114,31.756,11.582 c3.327,2.8,8.293,2.372,11.092-0.954c2.799-3.326,2.372-8.292-0.954-11.092c-11.709-9.854-26.588-15.281-41.894-15.281 c-35.902,0-65.109,29.209-65.109,65.11s29.208,65.109,65.109,65.109C416.786,157.966,445.995,128.759,445.995,92.856z"></path> <path d="M380.885,59.413c-18.44,0-33.443,15.003-33.443,33.443s15.003,33.443,33.443,33.443s33.443-15.002,33.443-33.443 S399.325,59.413,380.885,59.413z M380.885,110.554c-9.759,0-17.698-7.94-17.698-17.698s7.94-17.698,17.698-17.698 s17.698,7.94,17.698,17.698C398.583,102.615,390.644,110.554,380.885,110.554z"></path> <path d="M245.291,69.408h-94.708c-10.954,0-19.866,8.913-19.866,19.867v84.501c0,10.954,8.912,19.866,19.866,19.866h94.708 c10.954,0,19.866-8.912,19.866-19.866V89.274C265.158,78.319,256.245,69.408,245.291,69.408z M249.413,173.774 c0,2.273-1.848,4.121-4.121,4.121h-94.708c-2.273,0-4.121-1.848-4.121-4.121V89.274c0-2.273,1.848-4.122,4.121-4.122h94.708 c2.273,0,4.121,1.85,4.121,4.122V173.774z"></path> <path d="M197.938,308.866c28.447,0,51.589-23.143,51.589-51.589s-23.143-51.589-51.589-51.589s-51.589,23.143-51.589,51.589 S169.491,308.866,197.938,308.866z M197.938,221.434c19.765,0,35.844,16.08,35.844,35.844s-16.08,35.844-35.844,35.844 s-35.844-16.08-35.844-35.844S178.172,221.434,197.938,221.434z"></path> <path d="M257.938,282.205c0,14.701,11.96,26.66,26.66,26.66s26.66-11.96,26.66-26.66c0-14.7-11.96-26.66-26.66-26.66 C269.898,255.546,257.938,267.506,257.938,282.205z M295.514,282.205c0,6.019-4.897,10.915-10.915,10.915 c-6.019,0-10.915-4.897-10.915-10.915c0-6.019,4.897-10.915,10.915-10.915C290.617,271.291,295.514,276.188,295.514,282.205z"></path> <path d="M400.883,230.395c4.348,0,7.872-3.525,7.872-7.872s-3.525-7.872-7.872-7.872H295.901c-4.348,0-7.872,3.525-7.872,7.872 s3.525,7.872,7.872,7.872H400.883z"></path> <path d="M46.132,470.649c25.393,0,47.393-14.791,57.85-36.207h104.418v2.151c0,2.92,0.528,5.72,1.491,8.309 c-30.979,1.952-55.588,27.764-55.588,59.226c0,4.348,3.525,7.872,7.872,7.872h202.958c4.348,0,7.872-3.525,7.872-7.872 c0-30.95-23.815-56.43-54.081-59.111c0.99-2.622,1.536-5.46,1.536-8.425v-2.151h8.132c18.881,0,34.242-15.361,34.242-34.241 c0-18.881-15.361-34.242-34.242-34.242h-8.132v-15.275h89.345c13.415,0,24.329-10.913,24.329-24.329V185.712h18.161 c11.825,0,21.446-9.62,21.446-21.446V21.446C473.741,9.62,464.121,0,452.295,0H309.473c-11.825,0-21.446,9.62-21.446,21.446v13.203 H119.053c-13.415,0-24.328,10.913-24.328,24.329v267.379c0,13.415,10.913,24.329,24.328,24.329h29.323 c4.348,0,7.872-3.525,7.872-7.872s-3.525-7.872-7.872-7.872h-29.323c-4.733,0-8.583-3.85-8.583-8.584V58.976 c0-4.733,3.85-8.584,8.583-8.584h168.974v113.874c0,11.825,9.62,21.446,21.446,21.446h108.916v140.643 c0,4.733-3.85,8.584-8.584,8.584h-97.217h-96.316h-36.405c-4.348,0-7.872,3.525-7.872,7.872s3.525,7.872,7.872,7.872h28.533v15.275 H103.981c-10.457-21.416-32.457-36.207-57.85-36.207c-4.348,0-7.872,3.525-7.872,7.872v125.151 C38.259,467.124,41.784,470.649,46.132,470.649z M309.473,169.967c-3.144,0-5.701-2.557-5.701-5.701V42.52V21.446 c0-3.144,2.557-5.701,5.701-5.701h142.822c3.144,0,5.701,2.557,5.701,5.701v142.822c0,3.144-2.557,5.701-5.701,5.701h-26.034 H309.473V169.967z M320.46,381.704h8.132c10.2,0,18.497,8.298,18.497,18.497c0,10.198-8.298,18.496-18.497,18.496h-8.132V381.704z M224.144,426.569v-52.738v-23.147h80.571v23.147v52.738v10.023c0,4.508-3.667,8.177-8.177,8.177c-7.249,0-8.178-7.104-8.178-12.732 c0-4.812,0-9.623,0-14.435c0-4.137,0-8.272,0-12.409c0-13.389-11.732-24.533-25.078-23.904 c-12.776,0.603-22.785,11.302-22.785,24.358v30.945c0,4.508-3.669,8.177-8.177,8.177c-4.509,0-8.178-3.669-8.178-8.177v-10.023 H224.144z M232.321,460.514c13.19,0 23.922-10.732 23.922-23.922v-30.945c0-4.557 3.49-8.429 7.781-8.63 c4.679-0.22 8.593,3.528 8.593,8.177c0,0,0,31.395 0,31.4c0,10.36 7.004,19.777 16.87,22.855c1.695,0.529 3.711,1.066 5.499,1.066 h18.662c21.361,0 39.185,15.437 42.902,35.741H170.76c3.717-20.304 21.54-35.741 42.902-35.741h18.66V460.514z M110.461,393.703 c-0.024-4.037-0.489-8.055-1.193-12.027c8.746,0.483 17.739,0.026 26.526,0.026c16.103,0 32.206,0 48.308,0 c1.354,0 24.298,0 24.298,0v36.993c0,0-99.126,0-99.127,0c0.979-0.008 1.199-11.034 1.199-12.387V394.09 C110.47,393.962,110.462,393.833,110.461,393.703z M54.004,346.134c0-0.371,11.991,3.595 13.051,4.103 c4.154,1.99 8.018,4.575 11.45,7.647c10.226,9.155 16.22,22.477 16.22,36.207c0,0,0,12.217 0,12.218 c0,23.48-17.556,44.167-40.722,47.957C54.004,454.267,54.004,346.143,54.004,346.134z"></path> </g></svg>');
    background-size: 220px 220px;
}
.pack-card.active[data-pack="fullride"]::before {
    background-image: url('data:image/svg+xml;utf8,<svg fill="black" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><path d="M16 1.25c-8.146 0-14.75 6.604-14.75 14.75s6.604 14.75 14.75 14.75c8.146 0 14.75-6.604 14.75-14.75v0c-0.010-8.142-6.608-14.74-14.749-14.75h-0.001zM18.453 20.25h-4.907l-2.454-4.25 2.454-4.25h4.923l2.439 4.248zM20.198 11.75h8.34c0.451 1.272 0.712 2.74 0.712 4.268 0 2.788-0.868 5.374-2.349 7.501l0.028-0.043zM27.919 10.25h-13.506l4.181-7.242c4.137 0.858 7.512 3.548 9.29 7.164l0.035 0.078zM16 2.75c0.331 0 0.656 0.026 0.982 0.050l-6.755 11.701-4.172-7.226c2.433-2.777 5.985-4.522 9.945-4.524h0zM5.056 8.544l6.758 11.706h-8.353c-0.451-1.272-0.712-2.739-0.712-4.268 0-2.78 0.863-5.358 2.335-7.482l-0.029 0.044zM4.081 21.75h13.506l-4.18 7.242c-4.138-0.858-7.513-3.548-9.291-7.164l-0.035-0.078zM16 29.25c-0.331 0-0.656-0.026-0.982-0.050l6.754-11.697 4.157 7.241c-2.432 2.766-5.977 4.503-9.929 4.506h-0z"></path></svg>');
}
.pack-card.active[data-pack="all"]::before {
    background-image: url('data:image/svg+xml;utf8,<svg fill="black" height="200px" width="200px" version="1.1" viewBox="0 0 512.00 512.00" xmlns="http://www.w3.org/2000/svg"><g><path d="M488.349,74.252c-12.968-2.571-25.571,5.843-28.154,18.812l-1.344,6.759C411.069,37.799,336.582,0,256.002,0 C154.201,0,62.083,60.286,21.317,153.584c-5.293,12.116,0.236,26.23,12.352,31.524c12.116,5.296,26.232-0.238,31.524-12.352 C98.338,96.897,173.235,47.883,256.002,47.883c66.27,0,127.469,31.446,166.259,82.914l-14.283-2.841 c-12.965-2.573-25.571,5.843-28.154,18.812c-2.578,12.968,5.842,25.573,18.81,28.152l67.039,13.334 c1.55,0.308,3.114,0.46,4.673,0.46c4.697,0,9.334-1.385,13.299-4.035c5.281-3.527,8.945-9.01,10.182-15.236l13.332-67.039 C509.736,89.434,501.317,76.831,488.349,74.252z"></path><path d="M478.333,326.893c-12.121-5.297-26.233,0.235-31.526,12.352c-33.148,75.858-108.041,124.874-190.805,124.874 c-66.267,0-127.463-31.441-166.249-82.9l14.277,2.841c12.971,2.576,25.571-5.842,28.154-18.81 c2.581-12.968-5.842-25.573-18.81-28.154l-67.039-13.335c-6.228-1.235-12.691,0.048-17.972,3.575 c-5.281,3.527-8.943,9.008-10.181,15.235L4.845,409.612c-2.579,12.968,5.842,25.573,18.81,28.154 c1.577,0.313,3.149,0.464,4.697,0.464c11.189,0,21.188-7.883,23.455-19.274l1.347-6.767 c47.781,62.018,122.267,99.815,202.848,99.815c101.794,0,193.913-60.286,234.682-153.583 C495.976,346.301,490.446,332.187,478.333,326.893z"></path><path d="M348.864,200.072l-79.805-51.924c-7.941-5.167-18.175-5.165-26.114-0.002l-63.847,41.542 c-0.01,0.006-0.016,0.011-0.026,0.016l-0.262,0.171l-0.059,0.038l-15.611,10.158c-11.082,7.211-14.221,22.042-7.012,33.124 c2.989,4.59,7.291,7.795,12.086,9.489v69.18c0.002,13.224,10.719,23.943,23.943,23.943h127.691 c13.22,0,23.941-10.719,23.941-23.941v-69.183c4.795-1.693,9.096-4.894,12.086-9.486 C363.087,222.113,359.948,207.282,348.864,200.072z"></path></g></svg>');
}
.pack-card:not(.active):hover {
  border: 1.5px solid var(--accent);
  box-shadow: 0 4px 24px rgba(33,150,243,0.13);
  transform: translateY(-4px) scale(1.03);
  z-index: 2;
  transition: border 0.18s, box-shadow 0.18s, transform 0.18s;
}

/* === STYLES SUPPLÉMENTAIRES MODERNES === */

/* Animations d'apparition pour les éléments */
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slideInLeft {
  0% {
    opacity: 0;
    transform: translateX(-50px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes slideInRight {
  0% {
    opacity: 0;
    transform: translateX(50px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes scaleIn {
  0% {
    opacity: 0;
    transform: scale(0.9);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

/* Animation pour le hero */
.exp-hero {
  animation: fadeInUp 0.8s ease-out;
}

.exp-title {
  animation: slideInLeft 0.8s ease-out 0.2s both;
  position: relative;
}

.exp-title::after {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 0;
  width: 80px;
  height: 3px;
  background: linear-gradient(90deg, var(--accent) 0%, var(--accent-light) 100%);
  border-radius: 2px;
  animation: slideInLeft 0.6s ease-out 0.6s both;
}

.exp-tagline {
  animation: fadeInUp 0.8s ease-out 0.4s both;
}

.exp-badge {
  animation: scaleIn 0.6s ease-out 0.8s both;
  transition: all 0.3s ease;
}

.exp-badge:hover {
  transform: scale(1.05);
  border-color: var(--accent);
}

/* Animations pour les pack cards */
.pack-card:nth-child(1) {
  animation: fadeInUp 0.6s ease-out 0.5s both;
}

.pack-card:nth-child(2) {
  animation: fadeInUp 0.6s ease-out 0.7s both;
}

.pack-card:nth-child(3) {
  animation: fadeInUp 0.6s ease-out 0.9s both;
}

.pack-card:nth-child(4) {
  animation: fadeInUp 0.6s ease-out 1.1s both;
}

/* Effet de brillance sur les pack cards */
.pack-card {
  position: relative;
  overflow: hidden;
}

.pack-card::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);
  transition: left 0.6s ease;
  pointer-events: none;
}

.pack-card:hover::after {
  left: 100%;
}

/* Amélioration des cartes de projets */
.infobox-gallery-section {
  animation: fadeInUp 0.8s ease-out;
  position: relative;
  overflow: hidden;
}

.infobox-gallery-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(24,24,24,0.95) 0%, rgba(17,17,17,0.98) 100%);
  border-radius: 20px;
  z-index: -1;
}

/* Effet de grain subtil */
.infobox-gallery-section::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image:
    radial-gradient(circle at 1px 1px, rgba(255,255,255,0.02) 1px, transparent 0);
  background-size: 20px 20px;
  pointer-events: none;
  z-index: 1;
  border-radius: 20px;
}

/* Animation pour les info blocks */
.infobox-info-block {
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.infobox-info-block::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.05), transparent);
  transition: left 0.4s ease;
}

.infobox-info-block:hover::before {
  left: 100%;
}

.infobox-info-block:hover {
  transform: translateY(-2px);
  background: linear-gradient(135deg, var(--border-card) 0%, rgba(34,34,34,0.8) 100%);
  box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}

/* Amélioration des icônes */
.infobox-info-icon,
.infobox-location-icon {
  transition: transform 0.3s ease;
}

.infobox-info-block:hover .infobox-info-icon,
.infobox-location:hover .infobox-location-icon {
  transform: scale(1.1) rotate(5deg);
}

/* Animation pour la galerie */
.custom-gallery img,
.custom-gallery video {
  transition: all 0.3s ease !important;
  position: relative;
}

.custom-gallery img::before,
.custom-gallery video::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(45deg, transparent 30%, rgba(255,255,255,0.1) 50%, transparent 70%);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
  border-radius: 8px;
}

.custom-gallery img:hover::before,
.custom-gallery video:hover::before {
  opacity: 1;
}

.custom-gallery img:hover,
.custom-gallery video:hover {
  transform: scale(1.05) !important;
  box-shadow: 0 8px 25px rgba(0,0,0,0.3) !important;
  z-index: 2;
}

/* Amélioration de la modale */
.modal {
  backdrop-filter: blur(10px) !important;
  background: rgba(0,0,0,0.9) !important;
}

.modal img {
  animation: scaleIn 0.3s ease-out !important;
  filter: drop-shadow(0 10px 30px rgba(0,0,0,0.5)) !important;
}

.modal-close {
  background: rgba(255,255,255,0.1) !important;
  border-radius: 50% !important;
  width: 40px !important;
  height: 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.3s ease !important;
  backdrop-filter: blur(10px) !important;
}

.modal-close:hover {
  background: rgba(255,255,255,0.2) !important;
  transform: scale(1.1) !important;
}

/* Effet de parallaxe subtil sur scroll */
.infobox-gallery-section {
  transform-style: preserve-3d;
}

/* Amélioration du séparateur */
.infobox-shortdesc-sep {
  position: relative;
  overflow: hidden;
}

.infobox-shortdesc-sep::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, var(--accent) 0%, var(--accent-light) 100%);
  animation: slideInLeft 0.8s ease-out 1.2s both;
}

/* Responsive amélioré */
@media (max-width: 768px) {
  .exp-title::after {
    width: 60px;
    transform: translateX(-50%);
  }

  .pack-card::after {
    display: none;
  }

  .infobox-info-block:hover {
    transform: none;
  }
}

/* ── Embeds vidéo + visite virtuelle dans les projets ── */
.projet-embed {
    margin-top: 24px;
}
.projet-embed-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 12px;
}
.projet-embed-video {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%; /* 16:9 */
    height: 0;
    overflow: hidden;
    border-radius: 12px;
    background: #000;
}
.projet-embed-video iframe {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    border-radius: 12px;
}
.projet-embed-tour {
    width: 100%;
    height: 500px;
    border-radius: 12px;
    overflow: hidden;
    background: #111;
}
.projet-embed-tour iframe {
    width: 100%;
    height: 100%;
    border: none;
    border-radius: 12px;
}
@media (max-width: 600px) {
    .projet-embed-tour {
        height: 480px;
    }
}
.projet-embed-tour-wrap {
    position: relative;
}
.projet-embed-tour-fullscreen {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 12px;
    padding: 10px 20px;
    background: #2196f3;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    border-radius: 8px;
    text-decoration: none;
    width: fit-content;
    transition: background 0.2s;
    letter-spacing: 0.03em;
}
.projet-embed-tour-fullscreen:hover {
    background: #1976d2;
    color: #fff;
    text-decoration: none;
}
.projet-embed-tour-fullscreen svg {
    flex-shrink: 0;
}
