@charset "UTF-8";
@import url(main.css);
@media (max-width: 600px) { a.navbar-brand { height: 10vh !important; width: 50vw !important; padding-top: 5px !important; } }

/**************************************AJUSTEMENTS SEO************************************/
#navbarSupportedContent > ul > li.dropdown.px-4 > div > a:nth-child(1) { font-size: 0.8em !important; }

#navbarSupportedContent > ul > li.dropdown.px-4 > div > ul a { transition: all 0.5s ease; }

.seo-hero-card { background-color: black; }

.seo-hero-title { font-weight: 400 !important; font-size: 4rem !important; font-family: "Alex Brush" !important; }

/*======================== CUSTOM FORMULAIRE DE CONTACT ======================*/
.mb-4.titles.text-center.tally-form-title { color: #d4a643; text-transform: uppercase; font-family: 'Central Station Std Bold'; }

/*======================== CUSTOM COOKIES ======================*/
div#termsfeed-com---nb { border-radius: 5px; margin: 10px; }

/*======================== CUSTOM BLOC SEO ======================*/
.card.card-cover.h-100.overflow-hidden.rounded-4.shadow-lg { border-radius: 0px !important; background-color: black; border: 1px solid rgba(218, 176, 69, 0.14) !important; }

.mx-auto.third-activity-div.col-lg-11.px-4.py-4.mb-4.mt-5.bg-primaryColor.text-color-primary.rounded-3.shadow-lg.position-relative, .mx-auto.second-activity-div.col-lg-11.px-4.py-4.mb-5.mt-5.rounded-3.shadow-lg.bg-primaryColor.text-color-primary.position-relative, .mx-auto.first-activity-div.col-lg-11.px-4.py-4.mb-5.mt-5.bg-primaryColor.text-color-primary.rounded-3.shadow-lg.position-relative { margin-top: 100px !important; margin-bottom: 100px !important; }

/*======================== CUSTOM NAVBAR ======================*/
.spacer { display: none; }

.navbar { transition: all 0.3s ease; }

.navbar.scrolled { background-color: rgba(71, 10, 68, 0.5) !important; backdrop-filter: blur(1rem); }

/* 📱 Responsive : navbar TOUJOURS visible */
@media (max-width: 991px) { .navbar { background-color: rgba(71, 10, 11, 0.5) !important; backdrop-filter: blur(1rem); } }

button.navbar-toggler { background-color: #DAB045 !important; }

.animated-border-button:after { background-color: #FFF; }

.navbar-brand { height: 11vh !important; width: 11vw !important; }

.logo_nav { height: 10vh !important; }

.mb-4.titles.text-center.tally-form-title, .display-6.titles.fw-bold.text-body-emphasis.lh-1.mb-5.first-activity-title, .display-6.titles.fw-bold.text-body-emphasis.lh-1.mb-5.second-activity-title, .display-6.titles.fw-bold.text-body-emphasis.lh-1.mb-5.third-activity-title, h5.mb-4, h5.mb-3, .fs-6.animated-border-button.obftrucs { background: linear-gradient(135deg, #c8922a 0%, #e8c96d 30%, #f5e27a 50%, #d4a535 70%, #b8841f 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; filter: drop-shadow(0 0 12px rgba(218, 176, 69, 0.5)); font-family: 'Central Station Std Bold' !important; text-transform: uppercase; font-weight: 800 !important; }

a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone { padding: 1rem 2rem !important; border-radius: 5px !important; }

/*======================================================================== HERO D'ACCUEIL ========================================================================*/
.hlr-section, .hlr-section *, .hlr-section *::before, .hlr-section *::after { box-sizing: border-box; }

/* ── SECTION PRINCIPALE ── */
.hlr-section { position: relative; width: 100%; min-height: 100vh; background: #000; overflow: hidden; cursor: none; display: flex; flex-direction: column; align-items: center; justify-content: center; margin: 0; padding: 0; }

/* ── IMAGE PLEINE PAGE ── */
.hlr-bg { position: absolute; inset: 0; background-image: url("https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2F5LRhzmooBPQrBMIzRs8Ciz4aH2j2%2Fthumbnails%2FChatGPT_Image_24_sept_2026_10_50_21_1sro.webp"); background-size: cover; background-position: center bottom; opacity: 0; transform: scale(1.06); animation: hlrReveal 2s cubic-bezier(0.16, 1, 0.3, 1) 0.1s forwards; z-index: 0; }

/* ── OVERLAYS ── */
.hlr-overlay-bottom { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, 0.96) 0%, rgba(0, 0, 0, 0.82) 30%, rgba(0, 0, 0, 0.6) 60%, rgba(0, 0, 0, 0.45) 100%); z-index: 1; }

.hlr-overlay-top { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0.6) 30%, rgba(0, 0, 0, 0.82) 60%, rgba(0, 0, 0, 0.96) 100%); z-index: 1; }

.hlr-overlay-sides { position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 50%, transparent 40%, rgba(0, 0, 0, 0.45) 100%); z-index: 1; }

.hlr-overlay-tint { position: absolute; inset: 0; background: rgba(112, 21, 23, 0.1); z-index: 1; mix-blend-mode: multiply; }

/* ── HALO DORÉ SOURIS ── */
.hlr-halo { position: absolute; width: 650px; height: 650px; border-radius: 50%; background: radial-gradient(circle, rgba(218, 176, 69, 0.16) 0%, rgba(218, 176, 69, 0.07) 35%, transparent 65%); transform: translate(-50%, -50%); pointer-events: none; z-index: 2; filter: blur(10px); transition: opacity 0.5s ease; }

/* ── CONTENU CENTRÉ ── */
.hlr-content { position: relative; z-index: 5; width: 100%; max-width: 1300px; padding: 4vh 6vw 0; display: flex; flex-direction: column; align-items: center; text-align: center; margin: 0 auto; }

/* ── LOGO ── */
.hlr-logo { margin: 0 0 0 0; padding: 0; opacity: 0; animation: hlrFadeUp 0.9s ease 0.4s forwards; display: flex; align-items: center; justify-content: center; }

.hlr-logo-img { max-width: 300px; margin-bottom: 50px; width: auto; object-fit: contain; display: block; filter: drop-shadow(0 0 24px rgba(218, 176, 69, 0.4)) brightness(1.05); }

/* ── SÉPARATEUR ── */
.hlr-sep { display: flex; align-items: center; gap: 0.7rem; margin: 0 0 1.2rem 0; padding: 0; opacity: 0; animation: hlrFadeUp 0.9s ease 0.7s forwards; }

.hlr-sep-line { width: 50px; height: 1px; display: block; }

.hlr-sep-line-left { background: linear-gradient(90deg, transparent, #e8c96d); }

.hlr-sep-line-right { background: linear-gradient(90deg, #e8c96d, transparent); }

.hlr-sep-diamond { width: 5px; height: 5px; background: #DAB045; transform: rotate(45deg); display: block; box-shadow: 0 0 10px rgba(218, 176, 69, 0.9), 0 0 24px rgba(218, 176, 69, 0.5); }

.hlr-title-gold { background: linear-gradient(135deg, #c8922a 0%, #e8c96d 30%, #f5e27a 50%, #d4a535 70%, #b8841f 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; filter: drop-shadow(0 0 12px rgba(218, 176, 69, 0.5)); }

/* ── TITRE PRINCIPAL ── */
.hlr-title { font-family: 'Alex Brush' !important; font-size: 4vw; color: #fff; line-height: 0.7; margin: 0 0 1.6rem 0; padding: 0; opacity: 0; animation: hlrFadeUp 1s ease 0.9s forwards; text-shadow: 0 2px 40px rgba(218, 176, 69, 0.15); }

/* ── ACCROCHE ── */
.hlr-tagline { font-size: 1rem; font-weight: 300; font-style: italic; color: rgba(255, 255, 255, 0.55); max-width: 740px; margin: 0 0 2rem 0; padding: 0; opacity: 0; animation: hlrFadeUp 0.9s ease 1.1s forwards; }

/* ── BOUTONS ── */
.hlr-buttons { display: flex; gap: 1rem; flex-wrap: wrap; justify-content: center; align-items: center; opacity: 0; animation: hlrFadeUp 0.9s ease 1.3s forwards; margin: 0; padding: 0; font-weight: 600 !important; }

button.sc-a7ae6819-5.fmjRBS, a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone, .hlr-btn { font-size: 0.7rem; letter-spacing: 0.22em; text-transform: uppercase; text-decoration: none; padding: 1.25rem 2rem; border-radius: 5px; cursor: none; transition: all 0.32s ease; position: relative; overflow: hidden; display: inline-block; line-height: 1; font-weight: 600 !important; }

button.sc-a7ae6819-5.fmjRBS::after, a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone::after, .hlr-btn::after { content: ''; position: absolute; inset: 0; border-radius: 5px; opacity: 0; transition: opacity 0.3s; pointer-events: none; }

button.sc-a7ae6819-5.fmjRBS, a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone, .hlr-btn-primary { background: linear-gradient(135deg, #c8922a 0%, #e8c96d 40%, #f0d96a 55%, #d4a535 75%, #b8841f 100%); background-size: 200% auto; color: #000 !important; border: none; font-weight: 600 !important; }

button.sc-a7ae6819-5.fmjRBS::after, a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone::after, .hlr-btn-primary::after { background: rgba(255, 255, 255, 0.14); }

button.sc-a7ae6819-5.fmjRBS:hover::after, a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone:hover::after, .hlr-btn-primary:hover::after { opacity: 1; }

button.sc-a7ae6819-5.fmjRBS:hover, a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone:hover, .hlr-btn-primary:hover { background-position: right center; box-shadow: 0 0 30px rgba(218, 176, 69, 0.65), 0 8px 24px rgba(0, 0, 0, 0.5); transform: translateY(-2px); }

.hlr-btn-secondary, a.hlr-btn-secondary:visited { background: transparent; color: #fff !important; border: 1.5px solid rgba(218, 176, 69, 0.45); }

.hlr-btn-secondary::after { background: rgba(218, 176, 69, 0.07); }

.hlr-btn-secondary:hover::after { opacity: 1; }

.hlr-btn-secondary:hover { border-color: #DAB045; color: #DAB045; transform: translateY(-2px); }

/* ── LIGNE ROUGE BAS ── */
.hlr-rouge { position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, transparent, #6a1570 30%, #9e21a7 70%, transparent); opacity: 0.45; z-index: 20; }

/* ── CURSEUR ÉTOILE 4 BRANCHES ── */
.hlr-cursor { position: fixed; width: 20px; height: 20px; pointer-events: none; z-index: 9999; animation: hlrStarSpin 6s linear infinite; }

.hlr-cursor svg { width: 100%; height: 100%; display: block; filter: drop-shadow(0 0 4px rgba(218, 176, 69, 0.95)) drop-shadow(0 0 10px rgba(218, 176, 69, 0.5)); }

@keyframes hlrStarSpin { from { transform: translate(-50%, -50%) rotate(0deg); }
  to { transform: translate(-50%, -50%) rotate(360deg); } }

/* ── KEYFRAMES ── */
@keyframes hlrReveal { from { opacity: 0;
    transform: scale(1.08); }
  to { opacity: 1;
    transform: scale(1.02); } }

@keyframes hlrFadeUp { from { opacity: 0;
    transform: translateY(18px); }
  to { opacity: 1;
    transform: translateY(0); } }

/* ── RESPONSIVE ── */
@media (max-width: 768px) { .hlr-section { cursor: auto; } .hlr-cursor { display: none; } .hlr-title { letter-spacing: 0.04em; font-size: clamp(1.8rem, 7vw, 2.8rem); } .hlr-content { padding: 18vh 8vw 8vh; } }

/*======================================================================= PRESENTATION ======================================================================*/
.blc-section, .blc-section *, .blc-section *::before, .blc-section *::after { box-sizing: border-box; }

.blc-section { background: #000; width: 100%; padding: 8vw 0; cursor: none; display: flex; align-items: center; justify-content: center; overflow: hidden; position: relative; }

.blc-inner { width: 100%; max-width: 1400px; padding: 0 5vw; display: flex; align-items: center; gap: 6vw; margin: 0 auto; }

/* ── Grain subtil ── */
.blc-section::before { content: ''; position: absolute; inset: 0; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E"); pointer-events: none; z-index: 0; opacity: 0.5; }

/* ══════════════ COLONNE IMAGES ══════════════ */
.blc-images { position: relative; flex: 0 0 52%; z-index: 1; display: flex; flex-direction: row; align-items: flex-start; gap: 0.8rem; }

/* Image principale — plus haute, légèrement plus large */
.blc-img-main { width: 58%; aspect-ratio: 2/3; object-fit: cover; display: block; flex-shrink: 0; outline: 1px solid rgba(218, 176, 69, 0.22); outline-offset: -1px; box-shadow: -6px 10px 40px rgba(0, 0, 0, 0.75), 0 0 0 1px rgba(218, 176, 69, 0.08); opacity: 0; transform: translateY(20px); transition: opacity 0.9s ease, transform 0.9s ease; }

/* Image secondaire — plus petite, décalée vers le bas */
.blc-img-secondary { width: 44%; aspect-ratio: 2/3; object-fit: cover; display: block; flex-shrink: 0; margin-top: 3.5rem; outline: 1px solid rgba(218, 176, 69, 0.16); outline-offset: -1px; box-shadow: 6px 10px 36px rgba(0, 0, 0, 0.7), 0 0 0 1px rgba(218, 176, 69, 0.06); opacity: 0; transform: translateY(20px); transition: opacity 0.9s ease 0.2s, transform 0.9s ease 0.2s; }

/* Éléments cachés */
.blc-img-line { display: none; }

.blc-img-diamond { display: none; }

.blc-img-sep { display: none; }

/* Numéro décoratif */
.blc-img-num { position: absolute; bottom: -2.5rem; left: -1rem; font-family: 'Georgia', serif; font-size: 5rem; font-weight: 700 !important; color: transparent; -webkit-text-stroke: 1px rgba(218, 176, 69, 0.06); line-height: 1; z-index: 0; user-select: none; pointer-events: none; }

/* ══════════════ COLONNE TEXTE ══════════════ */
.blc-text { flex: 1; position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 0; }

/* Overline */
.blc-overline { display: flex; align-items: center; gap: 0.8rem; margin: 0 0 1.4rem 0; opacity: 0; transform: translateX(20px); transition: opacity 0.8s ease 0.3s, transform 0.8s ease 0.3s; }

.blc-overline-line { width: 28px; height: 1px; background: #DAB045; display: block; flex-shrink: 0; }

.blc-overline span { font-family: 'Lato', sans-serif; font-size: 0.65rem; font-weight: 700 !important; letter-spacing: 0.28em; text-transform: uppercase; color: #DAB045; }

/* Titre */
.blc-title { font-family: 'Alex Brush' !important; font-size: 5vw; color: #fff; line-height: 0.7; margin: 0 0 0.3rem 0; padding: 0; opacity: 0; transform: translateX(20px); transition: opacity 0.9s ease 0.45s, transform 0.9s ease 0.45s; text-shadow: 0 2px 30px rgba(218, 176, 69, 0.1); }

/* Mot mis en valeur en doré */
.blc-title-gold { background: linear-gradient(135deg, #c8922a 0%, #e8c96d 30%, #f5e27a 50%, #d4a535 70%, #b8841f 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; filter: drop-shadow(0 0 10px rgba(218, 176, 69, 0.4)); }

/* Lieu en Caveat doré */
.blc-location { font-family: 'Caveat', cursive; font-size: clamp(1.1rem, 1.8vw, 1.5rem); background: linear-gradient(135deg, #c8922a 0%, #e8c96d 35%, #f5e27a 50%, #d4a535 70%, #b8841f 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; font-weight: 700 !important; margin: 0 0 1.6rem 0; padding: 0; opacity: 0; transform: translateX(20px); transition: opacity 0.9s ease 0.55s, transform 0.9s ease 0.55s; filter: drop-shadow(0 0 8px rgba(218, 176, 69, 0.35)); }

/* Séparateur */
.blc-sep { display: flex; align-items: center; gap: 0.7rem; margin: 0 0 1.8rem 0; opacity: 0; transform: translateX(20px); transition: opacity 0.8s ease 0.6s, transform 0.8s ease 0.6s; }

.blc-sep-line-left { width: 36px; height: 1px; background: linear-gradient(90deg, #e8c96d, transparent); display: block; }

.blc-sep-line-right { width: 20px; height: 1px; background: linear-gradient(90deg, transparent, rgba(218, 176, 69, 0.3)); display: block; }

.blc-sep-diamond { width: 5px; height: 5px; background: #DAB045; transform: rotate(45deg); display: block; box-shadow: 0 0 8px rgba(218, 176, 69, 0.8); }

/* Paragraphes */
.blc-para { font-size: clamp(0.65rem, 1vw, 1.05rem); color: rgba(255, 255, 255, 0.62); margin: 0 0 1rem 0; padding: 0; max-width: 480px; opacity: 0; line-height: 1.7; transform: translateX(20px); transition: opacity 0.9s ease, transform 0.9s ease; }

.blc-para:nth-child(1) { transition-delay: 0.7s; }

.blc-para:nth-child(2) { transition-delay: 0.85s; margin-bottom: 2.2rem; }

/* Capsule localisation */
.blc-badge { display: inline-flex; align-items: center; gap: 0.5rem; border: 1px solid rgba(218, 176, 69, 0.25); padding: 0.45rem 0.9rem; margin: 0 0 2.2rem 0; opacity: 0; transform: translateX(20px); transition: opacity 0.8s ease 0.95s, transform 0.8s ease 0.95s; }

.blc-badge-dot { width: 4px; height: 4px; background: #DAB045; border-radius: 50%; box-shadow: 0 0 6px rgba(218, 176, 69, 0.8); flex-shrink: 0; }

.blc-badge span { font-family: 'Lato', sans-serif; font-size: 0.65rem; font-weight: 700 !important; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(218, 176, 69, 0.7); }

/* Ligne bordeaux déco */
.blc-rouge-accent { width: 3px; height: 50px; background: linear-gradient(to bottom, #701517, transparent); position: absolute; left: -2rem; top: 30%; opacity: 0.5; }

/* ── Visible state (JS IntersectionObserver) ── */
.blc-section.blc-visible .blc-img-main, .blc-section.blc-visible .blc-img-secondary { opacity: 1; transform: translateY(0); }

.blc-section.blc-visible .blc-overline, .blc-section.blc-visible .blc-title, .blc-section.blc-visible .blc-location, .blc-section.blc-visible .blc-sep, .blc-section.blc-visible .blc-para, .blc-section.blc-visible .blc-badge { opacity: 1; transform: translateX(0); }

/* ── CURSEUR ÉTOILE (partagé) ── */
@keyframes blcStarSpin { from { transform: translate(-50%, -50%) rotate(0deg); }
  to { transform: translate(-50%, -50%) rotate(360deg); } }

/* ── RESPONSIVE ── */
@media (max-width: 900px) { .blc-section { padding: 12vw 0; } .blc-inner { flex-direction: column; padding: 0 6vw; gap: 3rem; } .blc-images { flex: none; width: 100%; } .blc-img-main { width: 54%; } .blc-img-secondary { width: 42%; margin-top: 2rem; } .blc-rouge-accent { display: none; } .blc-para { max-width: 100%; } }

/*======================================================================= APERCU DES ESPACES ====================================================================*/
.esp-section, .esp-section *, .esp-section *::before, .esp-section *::after { box-sizing: border-box; }

.esp-section { background: #000; width: 100%; padding: 7vw 0 6vw; position: relative; overflow: hidden; cursor: none; }

/* Grain subtil */
.esp-section::before { content: ''; position: absolute; inset: 0; background-image: url(https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2F5LRhzmooBPQrBMIzRs8Ciz4aH2j2%2Fimages%2FMatieres_47rz.webp); background-size: cover; background-position: center; pointer-events: none; z-index: 0; }

/* Ligne dorée haut */
.esp-section::after { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(218, 176, 69, 0.3) 30%, rgba(218, 176, 69, 0.3) 70%, transparent); z-index: 1; }

/* ── WRAPPER ── */
.esp-inner { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 5vw; position: relative; z-index: 2; }

/* ── HEADER ── */
.esp-header { text-align: center; margin-bottom: 4rem; opacity: 0; transform: translateY(20px); transition: opacity 0.9s ease, transform 0.9s ease; }

.esp-overline { display: flex; align-items: center; justify-content: center; gap: 0.8rem; margin-bottom: 1rem; }

.esp-overline-line { width: 28px; height: 1px; display: block; background: #DAB045; flex-shrink: 0; }

.esp-overline span { font-family: 'Lato', sans-serif; font-size: 0.65rem; font-weight: 700 !important; letter-spacing: 0.28em; text-transform: uppercase; color: #DAB045; }

.esp-title { font-family: 'Alex Brush' !important; font-size: 4vw; color: #fff; margin: 0 0 0.4rem 0; text-shadow: 0 2px 30px rgba(218, 176, 69, 0.1); }

.esp-title-sub { font-family: 'Alex Brush' !important; font-size: 2vw; background: linear-gradient(135deg, #c8922a 0%, #e8c96d 35%, #f5e27a 50%, #d4a535 70%, #b8841f 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; filter: drop-shadow(0 0 8px rgba(218, 176, 69, 0.35)); }

/* ── GRILLE CARTES ── */
.esp-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-bottom: 3.5rem; }

/* ── CARTE ── */
.esp-card { display: flex; flex-direction: column; background: #0a0a0a; border: 1px solid rgba(218, 176, 69, 0.14); position: relative; overflow: hidden; opacity: 0; transform: translateY(28px); transition: opacity 0.9s ease, transform 0.9s ease, border-color 0.3s ease; }

.esp-card:nth-child(1) { transition-delay: 0.15s; }

.esp-card:nth-child(2) { transition-delay: 0.3s; }

.esp-card:nth-child(3) { transition-delay: 0.45s; }

.esp-card:hover { border-color: rgba(218, 176, 69, 0.4); }

.esp-card:hover .esp-card-img img { transform: scale(1.05); }

/* Coin doré décoratif */
.esp-card::before { content: ''; position: absolute; top: 0; left: 0; width: 30px; height: 30px; border-top: 1px solid rgba(218, 176, 69, 0.5); border-left: 1px solid rgba(218, 176, 69, 0.5); z-index: 2; pointer-events: none; }

.esp-card::after { content: ''; position: absolute; bottom: 0; right: 0; width: 30px; height: 30px; border-bottom: 1px solid rgba(218, 176, 69, 0.5); border-right: 1px solid rgba(218, 176, 69, 0.5); z-index: 2; pointer-events: none; }

/* Zone image */
.esp-card-img { width: 100%; aspect-ratio: 4/3; overflow: hidden; position: relative; background: #111; }

.esp-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.6s ease; }

/* Overlay dégradé sur l'image */
.esp-card-img::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, 0.55) 0%, transparent 60%); z-index: 1; }

/* Placeholder si pas d'image */
.esp-card-img-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background: #0d0d0d; }

.esp-card-img-placeholder svg { width: 36px; height: 36px; opacity: 0.15; }

/* Numéro de carte */
.esp-card-num { position: absolute; top: 0.8rem; right: 1rem; font-family: 'Georgia', serif; font-size: 0.65rem; font-weight: 700 !important; letter-spacing: 0.2em; color: rgba(218, 176, 69, 0.45); z-index: 3; }

/* Corps de la carte */
.esp-card-body { padding: 1.4rem 1.4rem 1.6rem; display: flex; flex-direction: column; flex: 1; }

/* Séparateur doré */
.esp-card-sep { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.9rem; }

.esp-card-sep-line { width: 20px; height: 1px; background: linear-gradient(90deg, #e8c96d, transparent); display: block; }

.esp-card-sep-dot { width: 3px; height: 3px; background: #DAB045; border-radius: 50%; box-shadow: 0 0 5px rgba(218, 176, 69, 0.8); display: block; }

/* Titre carte */
.esp-card-title { font-family: 'Central Station Std Bold' !important; font-size: clamp(1rem, 1.4vw, 1.15rem); font-weight: 700 !important; color: #fff; text-transform: uppercase; letter-spacing: 0.08em; margin: 0 0 0.7rem 0; padding: 0; }

/* Texte carte */
.esp-card-text { font-size: clamp(0.78rem, 1vw, 1rem); font-weight: 300; color: rgba(255, 255, 255, 0.55); line-height: 1.75; margin: 0; padding: 0; }

/* ── BOUTON CENTRÉ ── */
.esp-cta { display: flex; justify-content: center; opacity: 0; transform: translateY(16px); transition: opacity 0.9s ease 0.7s, transform 0.9s ease 0.7s; }

.esp-btn { font-family: 'Lato', sans-serif; font-size: 0.72rem; font-weight: 700 !important; letter-spacing: 0.22em; text-transform: uppercase; text-decoration: none; padding: 1rem 2.6rem; border-radius: 5px; cursor: none; display: inline-block; position: relative; overflow: hidden; background: linear-gradient(135deg, #c8922a 0%, #e8c96d 40%, #f0d96a 55%, #d4a535 75%, #b8841f 100%); background-size: 200% auto; color: #000; border: none; transition: background-position 0.4s ease, box-shadow 0.3s ease, transform 0.3s ease; }

.esp-btn::after { content: ''; position: absolute; inset: 0; background: rgba(255, 255, 255, 0.12); opacity: 0; border-radius: 5px; transition: opacity 0.3s; }

.esp-btn:hover::after { opacity: 1; }

.esp-btn:hover { background-position: right center; box-shadow: 0 0 30px rgba(218, 176, 69, 0.6), 0 8px 24px rgba(0, 0, 0, 0.5); transform: translateY(-2px); }

/* ── HALO SOURIS ── */
.esp-halo { position: fixed; width: 600px; height: 600px; border-radius: 50%; background: radial-gradient(circle, rgba(218, 176, 69, 0.14) 0%, rgba(218, 176, 69, 0.06) 35%, transparent 65%); transform: translate(-50%, -50%); pointer-events: none; z-index: 9997; filter: blur(10px); opacity: 0; transition: opacity 0.4s ease; }

/* ── CURSEUR ÉTOILE ── */
.esp-cursor { position: fixed; width: 20px; height: 20px; pointer-events: none; z-index: 9999; animation: espStarSpin 6s linear infinite; display: none; }

.esp-cursor svg { width: 100%; height: 100%; display: block; filter: drop-shadow(0 0 4px rgba(218, 176, 69, 0.95)) drop-shadow(0 0 10px rgba(218, 176, 69, 0.5)); }

@keyframes espStarSpin { from { transform: translate(-50%, -50%) rotate(0deg); }
  to { transform: translate(-50%, -50%) rotate(360deg); } }

/* ── LIGNE ROUGE BAS ── */
.esp-rouge { position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, transparent, #701517 30%, #701517 70%, transparent); opacity: 0.45; z-index: 1; }

/* ── VISIBLE (scroll reveal) ── */
.esp-section.esp-visible .esp-header, .esp-section.esp-visible .esp-card, .esp-section.esp-visible .esp-cta { opacity: 1; transform: translateY(0); }

/* ── RESPONSIVE ── */
@media (max-width: 900px) { .esp-grid { grid-template-columns: 1fr; gap: 1.2rem; } .esp-section { cursor: auto; } .esp-cursor { display: none !important; } }

@media (min-width: 601px) and (max-width: 900px) { .esp-grid { grid-template-columns: repeat(2, 1fr); } }

/*====================================================================== ATTENTIONS PERSONNALISEES ===============================================================*/
.att-section, .att-section *, .att-section *::before, .att-section *::after { box-sizing: border-box; }

.att-section { position: relative; width: 100%; padding: 7vh 0; overflow: hidden; cursor: none; display: flex; align-items: center; justify-content: center; min-height: 420px; }

/* ── IMAGE DE FOND ── */
.att-bg { position: absolute; inset: 0; background-image: url("https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2F5LRhzmooBPQrBMIzRs8Ciz4aH2j2%2Fimages%2FMatieres_1_vrlz.webp"); background-size: cover; background-position: center; z-index: 0; transform: scale(1.03); transition: transform 8s ease; }

/* ── OVERLAYS ── */
.att-overlay { position: absolute; inset: 0; background: linear-gradient(105deg, rgba(0, 0, 0, 0.88) 0%, rgba(0, 0, 0, 0.72) 45%, rgba(0, 0, 0, 0.5) 100%); z-index: 1; }

.att-overlay-tint { position: absolute; inset: 0; background: rgba(112, 21, 23, 0.08); z-index: 1; mix-blend-mode: multiply; }

/* Lignes dorées haut et bas */
.att-line-top, .att-line-bottom { position: absolute; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(218, 176, 69, 0.35) 30%, rgba(218, 176, 69, 0.35) 70%, transparent); z-index: 2; }

.att-line-top { top: 0; }

.att-line-bottom { bottom: 0; }

/* ── HALO SOURIS ── */
.att-halo { position: fixed; width: 600px; height: 600px; border-radius: 50%; background: radial-gradient(circle, rgba(218, 176, 69, 0.13) 0%, rgba(218, 176, 69, 0.05) 35%, transparent 65%); transform: translate(-50%, -50%); pointer-events: none; z-index: 9997; filter: blur(10px); opacity: 0; transition: opacity 0.4s ease; }

/* ── CURSEUR ÉTOILE ── */
.att-cursor { position: fixed; width: 20px; height: 20px; pointer-events: none; z-index: 9999; display: none; animation: attStarSpin 6s linear infinite; }

.att-cursor svg { width: 100%; height: 100%; display: block; filter: drop-shadow(0 0 4px rgba(218, 176, 69, 0.95)) drop-shadow(0 0 10px rgba(218, 176, 69, 0.5)); }

@keyframes attStarSpin { from { transform: translate(-50%, -50%) rotate(0deg); }
  to { transform: translate(-50%, -50%) rotate(360deg); } }

/* ── CONTENU ── */
.att-inner { position: relative; z-index: 3; width: 100%; margin: 0 auto; padding: 0 6vw; display: flex; flex-direction: column; align-items: center; text-align: center; }

/* Overline */
.att-overline { display: flex; align-items: center; justify-content: center; gap: 0.8rem; margin-bottom: 1.2rem; opacity: 0; transform: translateY(16px); transition: opacity 0.8s ease 0.1s, transform 0.8s ease 0.1s; }

.att-overline-line { width: 28px; height: 1px; background: #DAB045; display: block; flex-shrink: 0; }

.att-overline span { font-family: 'Lato', sans-serif; font-size: 0.65rem; font-weight: 700; letter-spacing: 0.28em; text-transform: uppercase; color: #DAB045; }

/* Titre principal */
.att-title { font-family: 'Alex Brush' !important; font-size: 4vw; color: #fff; margin: 0 0 0.5rem 0; padding: 0; text-shadow: 0 2px 30px rgba(218, 176, 69, 0.12); opacity: 0; transform: translateY(16px); transition: opacity 0.9s ease 0.25s, transform 0.9s ease 0.25s; }

/* Mot doré */
.att-title-gold { background: linear-gradient(135deg, #c8922a 0%, #e8c96d 30%, #f5e27a 50%, #d4a535 70%, #b8841f 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; filter: drop-shadow(0 0 10px rgba(218, 176, 69, 0.4)); }

/* Séparateur */
.att-sep { display: flex; align-items: center; justify-content: center; gap: 0.6rem; margin: 0.8rem 0 1.4rem 0; opacity: 0; transform: translateY(16px); transition: opacity 0.8s ease 0.4s, transform 0.8s ease 0.4s; }

.att-sep-line-l { width: 36px; height: 1px; background: linear-gradient(90deg, #e8c96d, transparent); display: block; }

.att-sep-line-r { width: 16px; height: 1px; background: linear-gradient(90deg, transparent, rgba(218, 176, 69, 0.3)); display: block; }

.att-sep-diamond { width: 5px; height: 5px; background: #DAB045; transform: rotate(45deg); display: block; box-shadow: 0 0 8px rgba(218, 176, 69, 0.8); }

/* Texte */
.att-text { font-family: 'Lato', sans-serif; font-size: clamp(0.82rem, 1.1vw, 1.2rem); font-weight: 300; color: rgba(255, 255, 255, 0.6); line-height: 1.8; max-width: 560px; margin: 0 0 0.7rem 0; padding: 0; opacity: 0; transform: translateY(16px); transition: opacity 0.9s ease 0.55s, transform 0.9s ease 0.55s; }

.att-text + .att-text { font-style: italic; color: rgba(255, 255, 255, 0.42); font-size: clamp(0.78rem, 1vw, 1rem); margin-bottom: 2rem; transition-delay: 0.65s; }

/* Bouton */
.att-btn { font-family: 'Lato', sans-serif; font-size: 0.72rem; font-weight: 700 !important; letter-spacing: 0.22em; text-transform: uppercase; text-decoration: none; padding: 0.95rem 2.4rem; border-radius: 5px; cursor: none; display: inline-block; position: relative; overflow: hidden; background: linear-gradient(135deg, #c8922a 0%, #e8c96d 40%, #f0d96a 55%, #d4a535 75%, #b8841f 100%); background-size: 200% auto; color: #000; border: none; transition: background-position 0.4s ease, box-shadow 0.3s ease, transform 0.3s ease; opacity: 0; transform: translateY(16px); /* La transition d'apparition est sur le wrapper */ }

.att-btn-wrap { opacity: 0; transform: translateY(16px); margin-top: 30px; transition: opacity 0.9s ease 0.8s, transform 0.9s ease 0.8s; }

.att-btn::after { content: ''; position: absolute; inset: 0; background: rgba(255, 255, 255, 0.12); opacity: 0; border-radius: 5px; transition: opacity 0.3s; pointer-events: none; }

.att-btn:hover::after { opacity: 1; }

.att-btn:hover { background-position: right center; box-shadow: 0 0 28px rgba(218, 176, 69, 0.6), 0 8px 24px rgba(0, 0, 0, 0.5); transform: translateY(-2px); }

/* Visible */
.att-section.att-visible .att-overline, .att-section.att-visible .att-title, .att-section.att-visible .att-sep, .att-section.att-visible .att-text, .att-section.att-visible .att-btn-wrap { opacity: 1; transform: translateY(0); }

/* Le bouton lui-même hérite du wrapper */
.att-section.att-visible .att-btn { opacity: 1; transform: translateY(0); }

/* ── RESPONSIVE ── */
@media (max-width: 768px) { .att-section { min-height: 340px; padding: 6vh 0; cursor: auto; } .att-cursor { display: none !important; } .att-title { font-size: clamp(1.3rem, 5vw, 1.8rem); } }

/*======================================================================= LOCALISATION =======================================================================*/
.loc-section, .loc-section *, .loc-section *::before, .loc-section *::after { box-sizing: border-box; }

.loc-section { position: relative; background: #000; overflow: hidden; padding: 9vh 0; display: grid; grid-template-columns: 5fr 6fr; gap: 0; align-items: center; cursor: none; }

/* Grain */
.loc-section::before { content: ''; position: absolute; inset: 0; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='ng'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23ng)' opacity='1'/%3E%3C/svg%3E"); background-size: 180px; opacity: .035; pointer-events: none; z-index: 0; }

/* Lignes dorées haut/bas */
.loc-section::after { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(218, 176, 69, 0.3) 30%, rgba(218, 176, 69, 0.3) 70%, transparent); z-index: 1; }

.loc-line-bottom { position: absolute; bottom: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(218, 176, 69, 0.3) 30%, rgba(218, 176, 69, 0.3) 70%, transparent); z-index: 1; }

/* ── IMAGE DE FOND ── */
.loc-bg { position: absolute; inset: 0; z-index: 0; display: none; }

.loc-bg-overlay { position: absolute; inset: 0; z-index: 1; display: none; }

/* ══ COLONNE TEXTE ══ */
.loc-text-col { position: relative; z-index: 3; display: flex; flex-direction: column; gap: 1.6rem; padding-left: 17vw; }

/* Overline */
.loc-overline { display: inline-flex; align-items: center; gap: 0.7rem; opacity: 0; animation: locFadeUp 0.7s ease 0.1s forwards; }

.loc-overline-line { display: block; width: 28px; height: 1px; background: #DAB045; flex-shrink: 0; }

.loc-overline span { font-family: 'Lato', sans-serif; font-size: 0.65rem; font-weight: 700 !important; letter-spacing: 0.28em; text-transform: uppercase; color: #DAB045; }

/* Titre */
.loc-titre { font-family: 'Alex Brush' !important; font-size: 4vw; line-height: 0.7; color: #fff; margin: 0; padding: 0; opacity: 0; animation: locFadeUp 0.8s ease 0.25s forwards; text-shadow: 0 2px 30px rgba(218, 176, 69, 0.1); }

.loc-titre-gold { background: linear-gradient(135deg, #c8922a 0%, #e8c96d 30%, #f5e27a 50%, #d4a535 70%, #b8841f 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; filter: drop-shadow(0 0 10px rgba(218, 176, 69, 0.4)); }

/* Séparateur */
.loc-sep { display: flex; align-items: center; gap: 0.6rem; opacity: 0; animation: locFadeUp 0.7s ease 0.5s forwards; }

.loc-sep-l { width: 36px; height: 1px; background: linear-gradient(90deg, #e8c96d, transparent); display: block; }

.loc-sep-r { width: 16px; height: 1px; background: linear-gradient(90deg, transparent, rgba(218, 176, 69, 0.3)); display: block; }

.loc-sep-diamond { width: 5px; height: 5px; background: #DAB045; transform: rotate(45deg); display: block; box-shadow: 0 0 8px rgba(218, 176, 69, 0.8); }

/* Texte */
.loc-desc { font-size: clamp(0.65rem, 1vw, 1.05rem); color: rgba(255, 255, 255, 0.58); margin: 0; padding: 0; line-height: 1.7; max-width: 420px; opacity: 0; animation: locFadeUp 0.8s ease 0.62s forwards; }

/* ══ COLONNE CARTE SVG ══ */
.loc-map-col { position: relative; z-index: 3; display: flex; align-items: center; justify-content: center; padding-right: 2vw; opacity: 0; animation: locFadeUp 0.9s ease 0.3s forwards; }

.loc-map-wrap { width: 100%; max-width: 600px; }

.loc-map-wrap svg { width: 100%; height: auto; display: block; overflow: visible; }

/* Tooltip hover */
.loc-map-dot { cursor: none; }

.loc-map-dot .dot-label { opacity: 0; transition: opacity 0.2s ease; pointer-events: none; }

.loc-map-dot:hover .dot-label { opacity: 1; }

/* ── HALO + CURSEUR ── */
.loc-halo { position: fixed; width: 600px; height: 600px; border-radius: 50%; background: radial-gradient(circle, rgba(218, 176, 69, 0.13) 0%, rgba(218, 176, 69, 0.05) 35%, transparent 65%); transform: translate(-50%, -50%); pointer-events: none; z-index: 9997; filter: blur(10px); opacity: 0; transition: opacity 0.4s ease; }

.loc-cursor { position: fixed; width: 20px; height: 20px; pointer-events: none; z-index: 9999; display: none; animation: locStarSpin 6s linear infinite; }

.loc-cursor svg { width: 100%; height: 100%; display: block; filter: drop-shadow(0 0 4px rgba(218, 176, 69, 0.95)) drop-shadow(0 0 10px rgba(218, 176, 69, 0.5)); }

@keyframes locStarSpin { from { transform: translate(-50%, -50%) rotate(0deg); }
  to { transform: translate(-50%, -50%) rotate(360deg); } }

/* ── KEYFRAMES ── */
@keyframes locFadeUp { from { opacity: 0;
    transform: translateY(18px); }
  to { opacity: 1;
    transform: translateY(0); } }

/* ── RESPONSIVE TABLETTE ── */
@media (max-width: 900px) { .loc-section { grid-template-columns: 1fr; padding: 70px 32px; gap: 45px; cursor: auto; } .loc-text-col { width: 100%; padding-left: 0; gap: 22px; } .loc-map-col { width: 100%; padding-right: 0; order: -1; } .loc-map-wrap { width: 100%; max-width: 100%; margin: 0 auto; overflow: hidden; } .loc-map-wrap iframe { display: block; width: 100% !important; max-width: 100%; height: 420px; border: 0; } .loc-map-wrap svg { width: 100%; height: auto; max-width: 100%; } .loc-overline { gap: 10px; } .loc-overline span { font-size: 11px; letter-spacing: 2px; } .loc-overline-line { width: 26px; } .loc-titre { font-size: 56px; line-height: 0.88; } .loc-desc { width: 100%; max-width: 100%; font-size: 16px; line-height: 1.7; } .loc-sep { margin: 2px 0; } .loc-text-col .hlr-buttons { display: flex; flex-wrap: wrap; width: 100%; gap: 12px; justify-content: flex-start !important; } .loc-text-col .hlr-btn { max-width: 100%; white-space: normal; text-align: center; } .loc-cursor, .loc-halo { display: none !important; } }

/* ── RESPONSIVE MOBILE ── */
@media (max-width: 600px) { .loc-section { padding: 50px 18px; gap: 32px; } .loc-text-col { gap: 18px; } .loc-map-col { width: 100%; } .loc-map-wrap { width: 100%; max-width: 100%; } .loc-map-wrap iframe { width: 100% !important; height: 320px; } .loc-overline { gap: 8px; } .loc-overline span { font-size: 10px; letter-spacing: 1.8px; } .loc-overline-line { width: 22px; } .loc-titre { font-size: 46px; line-height: 0.9; } .loc-desc { font-size: 15px; line-height: 1.7; } .loc-sep-l { width: 30px; } .loc-sep-r { width: 15px; } .loc-text-col .hlr-buttons { display: flex; flex-direction: column; width: 100%; gap: 10px; } .loc-text-col .hlr-btn { display: block; width: 100%; max-width: 100%; text-align: center; } }

/* ── TRÈS PETIT MOBILE ── */
@media (max-width: 400px) { .loc-section { padding: 42px 14px; gap: 28px; } .loc-map-wrap iframe { height: 280px; } .loc-titre { font-size: 40px; } .loc-desc { font-size: 14.5px; } .loc-overline span { font-size: 9px; letter-spacing: 1.6px; } }

/*================================================================= EN TETE : PAGES SECONDAIRES =====================================================================*/
.pgh-section, .pgh-section *, .pgh-section *::before, .pgh-section *::after { box-sizing: border-box; }

.pgh-section { position: relative; width: 100%; min-height: 72vh; display: flex; align-items: center; justify-content: center; overflow: hidden; cursor: none; background: #000; }

/* ── IMAGE DE FOND ── */
.pgh-bg { position: absolute; inset: 0; background-image: url("https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2F5LRhzmooBPQrBMIzRs8Ciz4aH2j2%2Fimages%2FParentheseAngeline_Rose_8ije.webp"); background-size: cover; background-position: center 35%; z-index: 0; opacity: 0; transform: scale(1.05); animation: pghReveal 1.8s cubic-bezier(0.16, 1, 0.3, 1) 0.1s forwards; }

/* Overlays */
.pgh-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, 0.97) 0%, rgba(0, 0, 0, 0.75) 28%, rgba(0, 0, 0, 0.35) 60%, rgba(0, 0, 0, 0.15) 100%); z-index: 1; }

.pgh-overlay-sides { position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 80%, transparent 40%, rgba(0, 0, 0, 0.5) 100%); z-index: 1; }

.pgh-overlay-tint { position: absolute; inset: 0; background: rgba(112, 21, 23, 0.08); z-index: 1; mix-blend-mode: multiply; }

/* ── HALO SOURIS ── */
.pgh-halo { position: fixed; width: 600px; height: 600px; border-radius: 50%; background: radial-gradient(circle, rgba(218, 176, 69, 0.13) 0%, rgba(218, 176, 69, 0.05) 35%, transparent 65%); transform: translate(-50%, -50%); pointer-events: none; z-index: 9997; filter: blur(10px); opacity: 0; transition: opacity 0.4s ease; }

/* ── CURSEUR ÉTOILE ── */
.pgh-cursor { position: fixed; width: 20px; height: 20px; pointer-events: none; z-index: 9999; display: none; animation: pghStarSpin 6s linear infinite; }

.pgh-cursor svg { width: 100%; height: 100%; display: block; filter: drop-shadow(0 0 4px rgba(218, 176, 69, 0.95)) drop-shadow(0 0 10px rgba(218, 176, 69, 0.5)); }

@keyframes pghStarSpin { from { transform: translate(-50%, -50%) rotate(0deg); }
  to { transform: translate(-50%, -50%) rotate(360deg); } }

/* ── CONTENU ── */
.pgh-inner { position: relative; z-index: 5; width: 100%; max-width: 1300px; margin: 0 auto; padding: 0 5vw; display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 0; }

/* ── COLONNE GAUCHE — Logo ── */
.pgh-left { flex: 0 0 auto; display: flex; justify-content: center; align-items: center; padding-right: 3vw; opacity: 0; animation: pghFadeUp 0.9s ease 0.5s forwards; }

.pgh-logo-img { max-width: 400px; width: auto; object-fit: contain; display: block; filter: drop-shadow(0 0 24px rgba(218, 176, 69, 0.35)) brightness(1.05); }

/* Fallback si logo absent */
.pgh-logo-fallback { font-size: 1.6rem; font-weight: 700; background: linear-gradient(135deg, #c8922a 0%, #e8c96d 35%, #f5e27a 50%, #d4a535 70%, #b8841f 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; filter: drop-shadow(0 0 12px rgba(218, 176, 69, 0.4)); white-space: nowrap; }

/* ── TRAIT VERTICAL SÉPARATEUR ── */
.pgh-divider { flex: 0 0 1px; align-self: stretch; min-height: 100px; background: linear-gradient(to bottom, transparent, rgba(218, 176, 69, 0.5) 25%, rgba(218, 176, 69, 0.5) 75%, transparent); opacity: 0; animation: pghFadeUp 0.9s ease 0.7s forwards; }

/* ── COLONNE DROITE — Titre + texte ── */
.pgh-right { flex: 1; display: flex; flex-direction: column; align-items: flex-start; text-align: left; gap: 0; padding-left: 4vw; }

/* Overline */
.pgh-overline { display: flex; align-items: center; gap: 0.7rem; margin-bottom: 1.9rem; opacity: 0; animation: pghFadeUp 0.8s ease 0.6s forwards; }

.pgh-overline-line { width: 24px; height: 1px; background: #DAB045; display: block; flex-shrink: 0; }

.pgh-overline span { font-family: 'Lato', sans-serif; font-size: 0.62rem; font-weight: 700; letter-spacing: 0.28em; text-transform: uppercase; color: #DAB045; }

/* Titre */
.pgh-title { font-family: 'Alex Brush' !important; font-size: 4vw; color: #fff; line-height: 0.7; margin: 0 0 0.3rem 0; padding: 0; opacity: 0; animation: pghFadeUp 0.9s ease 0.75s forwards; text-shadow: 0 2px 30px rgba(218, 176, 69, 0.12); }

.pgh-title-gold { background: linear-gradient(135deg, #c8922a 0%, #e8c96d 30%, #f5e27a 50%, #d4a535 70%, #b8841f 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; filter: drop-shadow(0 0 10px rgba(218, 176, 69, 0.4)); }

/* Sous-titre Caveat */
.pgh-caveat { font-family: 'Caveat', cursive; font-size: clamp(1rem, 1.6vw, 1.3rem); font-weight: 600 !important; background: linear-gradient(135deg, #c8922a 0%, #e8c96d 35%, #f5e27a 50%, #d4a535 70%, #b8841f 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; filter: drop-shadow(0 0 8px rgba(218, 176, 69, 0.3)); margin: 0 0 1rem 0; opacity: 0; animation: pghFadeUp 0.8s ease 0.85s forwards; }

/* Séparateur */
.pgh-sep { display: flex; align-items: center; gap: 0.6rem; margin: 0 0 1.1rem 0; opacity: 0; animation: pghFadeUp 0.8s ease 0.95s forwards; }

.pgh-sep-l { width: 30px; height: 1px; background: linear-gradient(90deg, #e8c96d, transparent); display: block; }

.pgh-sep-r { width: 14px; height: 1px; background: linear-gradient(90deg, transparent, rgba(218, 176, 69, 0.3)); display: block; }

.pgh-sep-diamond { width: 4px; height: 4px; background: #DAB045; transform: rotate(45deg); display: block; box-shadow: 0 0 7px rgba(218, 176, 69, 0.8); }

/* Description */
.pgh-desc { font-size: 1rem; font-weight: 300; font-style: italic; color: rgba(255, 255, 255, 0.52); line-height: 1.75; max-width: 700px; margin: 0; padding: 0; text-align: left; opacity: 0; animation: pghFadeUp 0.9s ease 1.05s forwards; }

/* Ligne rouge bas */
.pgh-rouge { position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, transparent, #701517 30%, #701517 70%, transparent); opacity: 0.45; z-index: 6; }

/* ── KEYFRAMES ── */
@keyframes pghReveal { from { opacity: 0;
    transform: scale(1.07); }
  to { opacity: 1;
    transform: scale(1.02); } }

@keyframes pghFadeUp { from { opacity: 0;
    transform: translateY(16px); }
  to { opacity: 1;
    transform: translateY(0); } }

/* ── RESPONSIVE ── */
@media (max-width: 768px) { .pgh-section { min-height: 85vh; cursor: auto; } .pgh-inner { flex-direction: column; align-items: center; text-align: center; gap: 1.5rem; padding: 4vh 6vw; } .pgh-left { padding-right: 0; } .pgh-right { align-items: center; text-align: center; padding-left: 0; } .pgh-divider { display: none; } .pgh-cursor { display: none !important; } .pgh-desc { max-width: 100%; text-align: center; } }

/*======================================================================== TOUS LES ESPACES =====================================================================*/
.spc-section, .spc-section *, .spc-section *::before, .spc-section *::after { box-sizing: border-box; }

.spc-section { background: #000; width: 100%; padding: 8vw 0 7vw; position: relative; overflow: hidden; cursor: none; }

/* Grain */
.spc-section::before { content: ''; position: absolute; inset: 0; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E"); pointer-events: none; z-index: 0; }

/* Lignes dorées haut/bas */
.spc-line-top, .spc-line-bottom { position: absolute; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(218, 176, 69, 0.28) 30%, rgba(218, 176, 69, 0.28) 70%, transparent); z-index: 1; }

.spc-line-top { top: 0; }

.spc-line-bottom { bottom: 0; }

/* ── WRAPPER ── */
.spc-inner { width: 100%; max-width: 1240px; margin: 0 auto; padding: 0 5vw; position: relative; z-index: 2; }

/* ── HEADER ── */
.spc-header { text-align: center; margin-bottom: 4rem; opacity: 0; transform: translateY(20px); transition: opacity 0.9s ease, transform 0.9s ease; }

.spc-overline { display: flex; align-items: center; justify-content: center; gap: 0.8rem; margin-bottom: 0.9rem; }

.spc-overline-line { width: 28px; height: 1px; background: #DAB045; display: block; flex-shrink: 0; }

.spc-overline span { font-family: 'Lato', sans-serif; font-size: 0.63rem; font-weight: 700 !important; letter-spacing: 0.28em; text-transform: uppercase; color: #DAB045; }

.spc-title { font-family: 'Central Station Std Bold' !important; font-size: clamp(1.6rem, 3vw, 2.6rem); font-weight: 700 !important; color: #fff; text-transform: uppercase; letter-spacing: 0.06em; margin: 0 0 0.3rem 0; text-shadow: 0 2px 30px rgba(218, 176, 69, 0.1); }

.spc-title-gold { background: linear-gradient(135deg, #c8922a 0%, #e8c96d 30%, #f5e27a 50%, #d4a535 70%, #b8841f 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; filter: drop-shadow(0 0 10px rgba(218, 176, 69, 0.4)); }

.spc-title-sub { font-family: 'Caveat', cursive; font-size: clamp(1rem, 1.6vw, 1.3rem); font-weight: 600 !important; background: linear-gradient(135deg, #c8922a 0%, #e8c96d 35%, #f5e27a 50%, #d4a535 70%, #b8841f 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; filter: drop-shadow(0 0 8px rgba(218, 176, 69, 0.3)); }

/* ── GRILLE 3×2 ── */
.spc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.6rem; margin-bottom: 3.5rem; align-items: stretch; }

/* ── CARTE ── */
.spc-card { position: relative; background: #080808; border: 1px solid rgba(218, 176, 69, 0.12); display: flex; flex-direction: column; overflow: hidden; opacity: 0; transform: translateY(28px); transition: opacity 0.8s ease, transform 0.8s ease, border-color 0.3s ease; }

/* Délais échelonnés */
.spc-card:nth-child(1) { transition-delay: 0.05s; }

.spc-card:nth-child(2) { transition-delay: 0.15s; }

.spc-card:nth-child(3) { transition-delay: 0.25s; }

.spc-card:nth-child(4) { transition-delay: 0.35s; }

.spc-card:nth-child(5) { transition-delay: 0.45s; }

.spc-card:nth-child(6) { transition-delay: 0.55s; }

.spc-card:hover { border-color: rgba(218, 176, 69, 0.38); }

.spc-card:hover .spc-card-img img { transform: scale(1.06); }

.spc-card:hover .spc-card-img-overlay { opacity: 1; }

/* Coins dorés */
.spc-card::before { content: ''; position: absolute; top: 0; left: 0; width: 24px; height: 24px; border-top: 1px solid rgba(218, 176, 69, 0.55); border-left: 1px solid rgba(218, 176, 69, 0.55); z-index: 2; pointer-events: none; transition: width 0.3s ease, height 0.3s ease; }

.spc-card::after { content: ''; position: absolute; bottom: 0; right: 0; width: 24px; height: 24px; border-bottom: 1px solid rgba(218, 176, 69, 0.55); border-right: 1px solid rgba(218, 176, 69, 0.55); z-index: 2; pointer-events: none; transition: width 0.3s ease, height 0.3s ease; }

.spc-card:hover::before, .spc-card:hover::after { width: 36px; height: 36px; }

/* ── ZONE IMAGE ── */
.spc-card-img { width: 100%; aspect-ratio: 16/9; overflow: hidden; position: relative; background: #0d0d0d; flex-shrink: 0; }

.spc-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.7s ease; }

.spc-card-img-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, 0.65) 0%, transparent 55%); opacity: 0.5; transition: opacity 0.3s ease; z-index: 1; }

/* Numéro */
.spc-card-num { position: absolute; top: 0.7rem; right: 0.8rem; font-family: 'Georgia', serif; font-size: 0.6rem; font-weight: 700 !important; letter-spacing: 0.18em; color: rgba(218, 176, 69, 0.5); z-index: 3; }

/* Carte spéciale pièce secrète */
.spc-card--secret { background: #050505; border-color: rgba(112, 21, 23, 0.3); }

.spc-card--secret::before { border-color: rgba(112, 21, 23, 0.5); }

.spc-card--secret::after { border-color: rgba(112, 21, 23, 0.5); }

.spc-card--secret:hover { border-color: rgba(218, 176, 69, 0.3); }

/* ── CORPS CARTE ── */
.spc-card { height: 100%; }

.spc-card-body { padding: 1.4rem 1.5rem 1.6rem; display: flex; flex-direction: column; flex: 1; gap: 0.6rem; }

.spc-card-text { flex: 1; }

/* Sep */
.spc-card-sep { display: flex; align-items: center; gap: 0.5rem; }

.spc-card-sep-line { width: 18px; height: 1px; background: linear-gradient(90deg, #e8c96d, transparent); display: block; }

.spc-card-sep-dot { width: 3px; height: 3px; background: #DAB045; border-radius: 50%; box-shadow: 0 0 5px rgba(218, 176, 69, 0.8); display: block; }

/* Titre carte */
.spc-card-title { font-family: 'Central Station Std Bold' !important; font-size: clamp(0.95rem, 1.3vw, 1.1rem); font-weight: 700 !important; color: #fff; text-transform: uppercase; letter-spacing: 0.08em; margin: 0; padding: 0; }

/* Texte */
.spc-card-text { font-family: 'Lato', sans-serif; font-size: clamp(0.75rem, 0.95vw, 1rem); font-weight: 300; color: rgba(255, 255, 255, 0.52); line-height: 1.7; margin: 0; padding: 0; }

/* Liste features */
.spc-card-features { display: grid; grid-template-columns: 1fr 1fr; gap: 0.3rem 0.5rem; margin-top: 0.3rem; padding-top: 0.8rem; border-top: 1px solid rgba(218, 176, 69, 0.1); list-style: none; padding-left: 0; }

.spc-card-features li { display: flex; align-items: center; gap: 0.4rem; font-family: 'Lato', sans-serif; font-size: 0.65rem; font-weight: 600 !important; letter-spacing: 0.06em; text-transform: uppercase; color: rgba(218, 176, 69, 0.65); }

.spc-card-features li::before { content: ''; display: block; width: 3px; height: 3px; background: #DAB045; flex-shrink: 0; clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%); box-shadow: 0 0 4px rgba(218, 176, 69, 0.6); }

.spc-card--secret .spc-card-features li { color: rgba(218, 176, 69, 0.45); }

/* ── HALO + CURSEUR ── */
.spc-halo { position: fixed; width: 600px; height: 600px; border-radius: 50%; background: radial-gradient(circle, rgba(218, 176, 69, 0.13) 0%, rgba(218, 176, 69, 0.05) 35%, transparent 65%); transform: translate(-50%, -50%); pointer-events: none; z-index: 9997; filter: blur(10px); opacity: 0; transition: opacity 0.4s ease; }

.spc-cursor { position: fixed; width: 20px; height: 20px; pointer-events: none; z-index: 9999; display: none; animation: spcStarSpin 6s linear infinite; }

.spc-cursor svg { width: 100%; height: 100%; display: block; filter: drop-shadow(0 0 4px rgba(218, 176, 69, 0.95)) drop-shadow(0 0 10px rgba(218, 176, 69, 0.5)); }

@keyframes spcStarSpin { from { transform: translate(-50%, -50%) rotate(0deg); }
  to { transform: translate(-50%, -50%) rotate(360deg); } }

/* ── VISIBLE ── */
.spc-section.spc-visible .spc-header, .spc-section.spc-visible .spc-card { opacity: 1; transform: translateY(0); }

/* ── RESPONSIVE ── */
@media (max-width: 1024px) { .spc-grid { grid-template-columns: repeat(2, 1fr); } }

@media (max-width: 600px) { .spc-grid { grid-template-columns: 1fr; } .spc-section { cursor: auto; } .spc-cursor { display: none !important; } }

/*======================================================================== L'EXPERIENCE =========================================================================*/
.xpr-section, .xpr-section *, .xpr-section *::before, .xpr-section *::after { box-sizing: border-box; }

.xpr-section { background: #000; width: 100%; padding: 8vw 0; position: relative; overflow: hidden; cursor: none; }

/* Grain */
.xpr-section::before { content: ''; position: absolute; inset: 0; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E"); pointer-events: none; z-index: 0; }

.xpr-line-top, .xpr-line-bottom { position: absolute; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(218, 176, 69, 0.28) 30%, rgba(218, 176, 69, 0.28) 70%, transparent); z-index: 1; }

.xpr-line-top { top: 0; }

.xpr-line-bottom { bottom: 0; }

/* ── WRAPPER ── */
.xpr-inner { max-width: 1240px; margin: 0 auto; padding: 0 5vw; position: relative; z-index: 2; }

/* ── HEADER ── */
.xpr-header { text-align: center; margin-bottom: 5rem; opacity: 0; transform: translateY(20px); transition: opacity 0.9s ease, transform 0.9s ease; }

.xpr-overline { display: flex; align-items: center; justify-content: center; gap: 0.8rem; margin-bottom: 0.9rem; }

.xpr-overline-line { width: 28px; height: 1px; background: #DAB045; display: block; flex-shrink: 0; }

.xpr-overline span { font-family: 'Lato', sans-serif; font-size: 0.63rem; font-weight: 700 !important; letter-spacing: 0.28em; text-transform: uppercase; color: #DAB045; }

.xpr-title { font-family: 'Central Station Std Bold' !important; font-size: clamp(1.6rem, 3vw, 2.6rem); font-weight: 700 !important; color: #fff; text-transform: uppercase; letter-spacing: 0.06em; margin: 0 0 0.3rem 0; text-shadow: 0 2px 30px rgba(218, 176, 69, 0.1); }

.xpr-title-gold { background: linear-gradient(135deg, #c8922a 0%, #e8c96d 30%, #f5e27a 50%, #d4a535 70%, #b8841f 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; filter: drop-shadow(0 0 10px rgba(218, 176, 69, 0.4)); }

.xpr-title-sub { font-family: 'Caveat', cursive; font-size: clamp(1rem, 1.6vw, 1.3rem); font-weight: 600 !important; background: linear-gradient(135deg, #c8922a 0%, #e8c96d 35%, #f5e27a 50%, #d4a535 70%, #b8841f 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; filter: drop-shadow(0 0 8px rgba(218, 176, 69, 0.3)); }

/* ══════════════════════════ TIMELINE HORIZONTALE ══════════════════════════ */
.xpr-track { position: relative; display: flex; align-items: flex-start; gap: 0; }

/* Ligne horizontale reliant les nœuds */
.xpr-track::before { content: ''; position: absolute; top: 29px; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent 0%, rgba(218, 176, 69, 0.4) 5%, rgba(218, 176, 69, 0.4) 95%, transparent 100%); z-index: 0; }

/* ── ÉTAPE ── */
.xpr-step { flex: 1; display: flex; flex-direction: column; align-items: center; position: relative; z-index: 1; opacity: 0; transform: translateY(24px); transition: opacity 0.9s ease, transform 0.9s ease; }

.xpr-step:nth-child(1) { transition-delay: 0.1s; }

.xpr-step:nth-child(2) { transition-delay: 0.25s; }

.xpr-step:nth-child(3) { transition-delay: 0.4s; }

.xpr-step:nth-child(4) { transition-delay: 0.55s; }

/* ── NŒUD DIAMANT ── */
.xpr-node { width: 60px; height: 60px; background: #000; border: 1px solid #DAB045; transform: rotate(45deg); display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-bottom: 2rem; box-shadow: 0 0 16px rgba(218, 176, 69, 0.35), inset 0 0 12px rgba(218, 176, 69, 0.06); position: relative; transition: box-shadow 0.3s ease, background 0.3s ease; }

.xpr-node::before { content: ''; position: absolute; inset: 3px; background: linear-gradient(135deg, rgba(218, 176, 69, 0.1), transparent); }

.xpr-step:hover .xpr-node { background: rgba(218, 176, 69, 0.08); box-shadow: 0 0 28px rgba(218, 176, 69, 0.65), inset 0 0 12px rgba(218, 176, 69, 0.08); }

.xpr-node-icon { transform: rotate(-45deg); display: flex; align-items: center; justify-content: center; position: relative; z-index: 1; }

.xpr-node-icon svg { width: 22px; height: 22px; stroke: #DAB045; fill: none; stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 0 5px rgba(218, 176, 69, 0.6)); transition: filter 0.3s ease; }

.xpr-step:hover .xpr-node-icon svg { filter: drop-shadow(0 0 10px rgba(218, 176, 69, 0.9)); }

/* Trait vertical depuis le nœud vers le contenu */
.xpr-node-stem { position: absolute; top: 60px; width: 1px; height: 28px; background: linear-gradient(to bottom, rgba(218, 176, 69, 0.45), transparent); }

/* ── CONTENU ── */
.xpr-step-body { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 0 1.2rem; }

/* Tag Caveat */
.xpr-step-tag { font-family: 'Caveat', cursive; font-size: 0.95rem; font-weight: 700 !important; background: linear-gradient(135deg, #c8922a 0%, #e8c96d 40%, #d4a535 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; filter: drop-shadow(0 0 6px rgba(218, 176, 69, 0.3)); margin-bottom: 0.5rem; display: block; }

/* Séparateur */
.xpr-step-sep { display: flex; align-items: center; justify-content: center; gap: 0.4rem; margin-bottom: 0.8rem; }

.xpr-step-sep-line { width: 18px; height: 1px; background: linear-gradient(90deg, transparent, rgba(218, 176, 69, 0.5)); display: block; }

.xpr-step-sep-line.r { background: linear-gradient(90deg, rgba(218, 176, 69, 0.5), transparent); }

.xpr-step-sep-dot { width: 3px; height: 3px; background: #DAB045; border-radius: 50%; display: block; box-shadow: 0 0 5px rgba(218, 176, 69, 0.8); }

/* Titre */
.xpr-step-title { font-family: 'Central Station Std Bold' !important; font-size: clamp(0.88rem, 1.2vw, 1rem); font-weight: 700 !important; color: #fff; text-transform: uppercase; letter-spacing: 0.07em; line-height: 1.25; margin: 0 0 0.8rem 0; padding: 0; }

/* Texte */
.xpr-step-text { font-family: 'Lato', sans-serif; font-size: clamp(0.74rem, 0.95vw, 0.84rem); font-weight: 300; color: rgba(255, 255, 255, 0.52); line-height: 1.75; margin: 0; padding: 0; }

.xpr-step-text + .xpr-step-text { margin-top: 0.5rem; }

/* ── HALO + CURSEUR ── */
.xpr-halo { position: fixed; width: 600px; height: 600px; border-radius: 50%; background: radial-gradient(circle, rgba(218, 176, 69, 0.12) 0%, rgba(218, 176, 69, 0.04) 35%, transparent 65%); transform: translate(-50%, -50%); pointer-events: none; z-index: 9997; filter: blur(10px); opacity: 0; transition: opacity 0.4s ease; }

.xpr-cursor { position: fixed; width: 20px; height: 20px; pointer-events: none; z-index: 9999; display: none; animation: xprStarSpin 6s linear infinite; }

.xpr-cursor svg { width: 100%; height: 100%; display: block; filter: drop-shadow(0 0 4px rgba(218, 176, 69, 0.95)) drop-shadow(0 0 10px rgba(218, 176, 69, 0.5)); }

@keyframes xprStarSpin { from { transform: translate(-50%, -50%) rotate(0deg); }
  to { transform: translate(-50%, -50%) rotate(360deg); } }

/* ── VISIBLE ── */
.xpr-section.xpr-visible .xpr-header, .xpr-section.xpr-visible .xpr-step { opacity: 1; transform: translateY(0); }

/* ── RESPONSIVE ── */
@media (max-width: 800px) { .xpr-track { flex-direction: column; gap: 2.5rem; } .xpr-track::before { display: none; } .xpr-step { align-items: flex-start; } .xpr-step-body { align-items: flex-start; text-align: left; padding: 0; } .xpr-step-sep { justify-content: flex-start; } .xpr-section { cursor: auto; } .xpr-cursor { display: none !important; } }

/*======================================================================== GALERIE D'IMAGES =====================================================================*/
.gal-section, .gal-section *, .gal-section *::before, .gal-section *::after { box-sizing: border-box; }

.gal-section { background: #000; width: 100%; padding: 6vw 0; position: relative; overflow: hidden; cursor: none; }

/* Lignes dorées haut/bas */
.gal-line-top, .gal-line-bottom { position: absolute; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(218, 176, 69, 0.28) 30%, rgba(218, 176, 69, 0.28) 70%, transparent); z-index: 1; }

.gal-line-top { top: 0; }

.gal-line-bottom { bottom: 0; }

/* ── WRAPPER ── */
.gal-inner { max-width: 1300px; margin: 0 auto; padding: 0 3vw; position: relative; z-index: 2; }

/* ══════════════════════════ GRILLE MASONRY CSS ══════════════════════════ */
.gal-grid { columns: 3; column-gap: 10px; }

/* ── ITEM ── */
.gal-item { break-inside: avoid; position: relative; overflow: hidden; display: block; margin-bottom: 10px; opacity: 0; transform: translateY(20px); transition: opacity 0.8s ease, transform 0.8s ease; background: #0a0a0a; }

/* Délais échelonnés */
.gal-item:nth-child(1) { transition-delay: 0.05s; }

.gal-item:nth-child(2) { transition-delay: 0.12s; }

.gal-item:nth-child(3) { transition-delay: 0.19s; }

.gal-item:nth-child(4) { transition-delay: 0.26s; }

.gal-item:nth-child(5) { transition-delay: 0.33s; }

.gal-item:nth-child(6) { transition-delay: 0.40s; }

.gal-item:nth-child(7) { transition-delay: 0.47s; }

.gal-item:nth-child(8) { transition-delay: 0.54s; }

.gal-item:nth-child(9) { transition-delay: 0.61s; }

/* Image */
.gal-item img { width: 100%; height: auto; display: block; transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94); filter: brightness(0.92); }

.gal-item:hover img { transform: scale(1.04); filter: brightness(1); }

/* Overlay au hover — voile doré subtil */
.gal-item-overlay { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(218, 176, 69, 0.04) 0%, transparent 60%); opacity: 0; transition: opacity 0.4s ease; z-index: 1; pointer-events: none; }

.gal-item:hover .gal-item-overlay { opacity: 1; }

/* Bordure dorée fine au hover */
.gal-item::before { content: ''; position: absolute; inset: 0; border: 1px solid rgba(218, 176, 69, 0); z-index: 2; transition: border-color 0.4s ease; pointer-events: none; }

.gal-item:hover::before { border-color: rgba(218, 176, 69, 0.25); }

/* Coins dorés au hover */
.gal-item::after { content: ''; position: absolute; top: 8px; left: 8px; width: 18px; height: 18px; border-top: 1px solid rgba(218, 176, 69, 0); border-left: 1px solid rgba(218, 176, 69, 0); z-index: 3; transition: border-color 0.4s ease 0.05s, width 0.3s ease, height 0.3s ease; pointer-events: none; }

.gal-item:hover::after { border-color: rgba(218, 176, 69, 0.6); width: 22px; height: 22px; }

/* ── HALO + CURSEUR ── */
.gal-halo { position: fixed; width: 500px; height: 500px; border-radius: 50%; background: radial-gradient(circle, rgba(218, 176, 69, 0.1) 0%, rgba(218, 176, 69, 0.04) 35%, transparent 65%); transform: translate(-50%, -50%); pointer-events: none; z-index: 9997; filter: blur(8px); opacity: 0; transition: opacity 0.4s ease; }

.gal-cursor { position: fixed; width: 20px; height: 20px; pointer-events: none; z-index: 9999; display: none; animation: galStarSpin 6s linear infinite; }

.gal-cursor svg { width: 100%; height: 100%; display: block; filter: drop-shadow(0 0 4px rgba(218, 176, 69, 0.95)) drop-shadow(0 0 10px rgba(218, 176, 69, 0.5)); }

@keyframes galStarSpin { from { transform: translate(-50%, -50%) rotate(0deg); }
  to { transform: translate(-50%, -50%) rotate(360deg); } }

/* ── VISIBLE ── */
.gal-section.gal-visible .gal-item { opacity: 1; transform: translateY(0); }

/* ── RESPONSIVE ── */
@media (max-width: 900px) { .gal-grid { columns: 2; } }

@media (max-width: 500px) { .gal-grid { columns: 1; } .gal-section { cursor: auto; } .gal-cursor { display: none !important; } }

/* ══════════════════════════ LIGHTBOX ══════════════════════════ */
.gal-lightbox { position: fixed; inset: 0; background: rgba(0, 0, 0, 0.96); z-index: 99999; display: flex; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: opacity 0.35s ease; cursor: none; }

/* Curseur étoile dans la lightbox */
.gal-lb-cursor { position: fixed; width: 20px; height: 20px; pointer-events: none; z-index: 100000; display: none; animation: galStarSpin 6s linear infinite; }

.gal-lb-cursor svg { width: 100%; height: 100%; display: block; filter: drop-shadow(0 0 4px rgba(218, 176, 69, 0.95)) drop-shadow(0 0 10px rgba(218, 176, 69, 0.5)); }

/* Curseur pointer sur les boutons de la lightbox */
.gal-lb-close, .gal-lb-prev, .gal-lb-next { cursor: none; }

.gal-lightbox.gal-lb-open { opacity: 1; pointer-events: all; }

/* Grain sur l'overlay */
.gal-lightbox::before { content: ''; position: absolute; inset: 0; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E"); pointer-events: none; z-index: 0; }

/* Image centrale */
.gal-lb-img { position: relative; z-index: 1; max-width: 88vw; max-height: 88vh; object-fit: contain; display: block; opacity: 0; transform: scale(0.95); transition: opacity 0.35s ease 0.05s, transform 0.35s ease 0.05s; outline: 1px solid rgba(218, 176, 69, 0.2); box-shadow: 0 0 60px rgba(0, 0, 0, 0.8), 0 0 0 1px rgba(218, 176, 69, 0.08); }

.gal-lightbox.gal-lb-open .gal-lb-img { opacity: 1; transform: scale(1); }

/* Bouton fermer */
.gal-lb-close { position: absolute; top: 1.5rem; right: 1.5rem; z-index: 2; width: 40px; height: 40px; background: none; border: 1px solid rgba(218, 176, 69, 0.35); cursor: none; display: flex; align-items: center; justify-content: center; transition: border-color 0.3s ease, background 0.3s ease; transform: rotate(45deg); }

.gal-lb-close:hover { border-color: rgba(218, 176, 69, 0.8); background: rgba(218, 176, 69, 0.06); }

.gal-lb-close svg { transform: rotate(-45deg); width: 14px; height: 14px; stroke: #DAB045; stroke-width: 1.5; fill: none; }

/* Nav précédent / suivant */
.gal-lb-prev, .gal-lb-next { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 44px; height: 44px; background: none; border: 1px solid rgba(218, 176, 69, 0.25); cursor: none; display: flex; align-items: center; justify-content: center; transition: border-color 0.3s ease, background 0.3s ease; }

.gal-lb-prev { left: 1.5rem; }

.gal-lb-next { right: 1.5rem; }

.gal-lb-prev:hover, .gal-lb-next:hover { border-color: rgba(218, 176, 69, 0.7); background: rgba(218, 176, 69, 0.06); }

.gal-lb-prev svg, .gal-lb-next svg { width: 14px; height: 14px; stroke: #DAB045; stroke-width: 1.5; fill: none; }

/* Compteur */
.gal-lb-count { position: absolute; bottom: 1.5rem; left: 50%; transform: translateX(-50%); z-index: 2; font-family: 'Lato', sans-serif; font-size: 0.65rem; font-weight: 700; letter-spacing: 0.2em; color: rgba(218, 176, 69, 0.5); text-transform: uppercase; }

/* Ligne déco bas */
.gal-lb-line { position: absolute; bottom: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(218, 176, 69, 0.25) 30%, rgba(218, 176, 69, 0.25) 70%, transparent); z-index: 1; }

/* Curseur pointeur sur les items */
.gal-item { cursor: none; }

/***********************************************GOOGLE AVIS*************************************************************/
/*======================================================================== CONTENEUR GÉNÉRAL DU BLOC AVIS ========================================================================*/
div.googleReviews-div, div.googleReviews-div * { box-sizing: border-box !important; }

div.googleReviews-div { position: relative !important; overflow: hidden !important; margin: 0 !important; padding: 20px 0 100px 0 !important; background: transparent !important; }

/*======================================================================== CARTE PRINCIPALE GOOGLE ========================================================================*/
div.googleReviews-div > div.container { position: relative !important; z-index: 2 !important; width: 94% !important; max-width: 1200px !important; margin: 0 auto 55px auto !important; padding: 0 !important; }

div.googleReviews-div > div.container > div.card { position: relative !important; overflow: hidden !important; padding: 12px 28px !important; color: #ffffff !important; background: linear-gradient(135deg, #3f054370, rgba(30, 5, 8, 0.92)) !important; border: 1px solid rgba(218, 176, 69, 0.35) !important; border-radius: 5px !important; box-shadow: 0 25px 70px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.05) !important; }

div.googleReviews-div > div.container > div.card::before { content: "" !important; position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 2px !important; background: linear-gradient(90deg, transparent, #DAB045, #f5e27a, #DAB045, transparent) !important; }

div.googleReviews-div div.d-lg-flex.align-items-lg-center { gap: 18px !important; }

div.googleReviews-div div.align-items-lg-center h3 { margin: 0 0 8px 0 !important; color: #ffffff !important; font-size: 1.45rem !important; font-weight: 600 !important; letter-spacing: 0.02em !important; }

div.googleReviews-div div.align-items-lg-center span { color: rgba(255, 255, 255, 0.72) !important; font-size: 0.9rem !important; }

/*======================================================================== LOGO DE LA FICHE GOOGLE ========================================================================*/
div.googleReviews-div div.container img.avatar-google-place { width: 82px !important; height: 82px !important; margin: 0 18px 0 0 !important; padding: 8px !important; object-fit: contain !important; background-color: #ffffff !important; border: 1px solid rgba(218, 176, 69, 0.7) !important; border-radius: 50% !important; box-shadow: 0 0 25px rgba(218, 176, 69, 0.2) !important; }

/*======================================================================== ÉTOILES ========================================================================*/
div.googleReviews-div i.star { margin-left: 3px !important; color: #DAB045 !important; filter: drop-shadow(0 0 5px rgba(218, 176, 69, 0.45)) !important; }

/*======================================================================== BOUTON VOIR LA FICHE ========================================================================*/
div.googleReviews-div div.justify-content-lg-end a#maps-url { display: inline-flex !important; align-items: center !important; justify-content: center !important; min-width: 175px !important; padding: 16px 24px !important; color: #080808 !important; background: linear-gradient(135deg, #c8922a 0%, #e8c96d 40%, #f0d96a 55%, #d4a535 75%, #b8841f 100%) !important; background-size: 200% auto !important; border: 1px solid #DAB045 !important; border-radius: 5px !important; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3) !important; font-size: 0.72rem !important; font-weight: 700 !important; line-height: 1 !important; letter-spacing: 0.16em !important; text-decoration: none !important; text-transform: uppercase !important; transition: transform 0.3s ease, box-shadow 0.3s ease, background-position 0.3s ease !important; }

div.googleReviews-div div.justify-content-lg-end a#maps-url:hover { color: #080808 !important; background-position: right center !important; transform: translateY(-3px) !important; box-shadow: 0 0 28px rgba(218, 176, 69, 0.48), 0 12px 30px rgba(0, 0, 0, 0.4) !important; }

/*======================================================================== CARTES DES AVIS ========================================================================*/
div.googleReviews-div div#google-reviews-widget { position: relative !important; z-index: 2 !important; width: 100% !important; max-width: 1500px !important; margin: 0 auto !important; padding: 5px 0 35px 0 !important; }

/*======================================================================== STRUCTURE OWL CAROUSEL ========================================================================*/
div.googleReviews-div div#google-reviews-widget div.owl-stage-outer { width: 100% !important; overflow: hidden !important; }

div.googleReviews-div div#google-reviews-widget div.owl-stage { display: flex !important; align-items: stretch !important; }

div.googleReviews-div div#google-reviews-widget div.owl-item { display: flex !important; min-width: 0 !important; height: auto !important; padding: 0 18px !important; }

/*======================================================================== CARTE INDIVIDUELLE D'UN AVIS ========================================================================*/
div.googleReviews-div div#google-reviews-widget div.owl-item > div.card { position: relative !important; display: flex !important; flex-direction: column !important; width: 100% !important; min-width: 0 !important; min-height: 260px !important; height: auto !important; margin: 15px 0 30px 0 !important; padding: 26px !important; color: #ffffff !important; background: linear-gradient(145deg, rgba(29, 29, 29, 0.98), rgba(8, 8, 8, 0.98)) !important; border: 1px solid rgba(218, 176, 69, 0.2) !important; border-radius: 5px !important; box-shadow: 0 18px 50px rgba(0, 0, 0, 0.38) !important; }

div.googleReviews-div div#google-reviews-widget div.owl-item > div.card::before { content: "“" !important; position: absolute !important; top: 8px !important; right: 22px !important; color: rgba(218, 176, 69, 0.16) !important; font-family: Georgia, serif !important; font-size: 6rem !important; font-weight: 700 !important; line-height: 1 !important; }

div.googleReviews-div div#google-reviews-widget div.owl-item > div.card::after { content: "" !important; position: absolute !important; bottom: 0 !important; left: 26px !important; width: 55px !important; height: 2px !important; background: linear-gradient(90deg, #DAB045, transparent) !important; }

/*======================================================================== EN-TÊTE DE L'AVIS ========================================================================*/
div.googleReviews-div div#google-reviews-widget div.card > div.d-flex { position: relative !important; z-index: 2 !important; justify-content: flex-start !important; min-width: 0 !important; margin: 0 0 20px 0 !important; padding: 0 0 18px 0 !important; border-bottom: 1px solid rgba(218, 176, 69, 0.14) !important; }

div.googleReviews-div div#google-reviews-widget div.card > div.d-flex > div.mx-2 { min-width: 0 !important; color: #ffffff !important; font-size: 1rem !important; font-weight: 600 !important; text-align: left !important; }

div.googleReviews-div div#google-reviews-widget div.card small.text-muted { color: rgba(255, 255, 255, 0.45) !important; font-size: 0.78rem !important; font-weight: 400 !important; }

/*======================================================================== PETIT LOGO GOOGLE DES AVIS ========================================================================*/
div.googleReviews-div div#google-reviews-widget img.avatar-google-reviews { flex-shrink: 0 !important; width: 42px !important; height: 42px !important; margin: 0 10px 0 0 !important; padding: 8px !important; object-fit: contain !important; background-color: #ffffff !important; border: 1px solid rgba(218, 176, 69, 0.4) !important; border-radius: 50% !important; }

/*======================================================================== CONTENU DES AVIS ========================================================================*/
div.googleReviews-div div#google-reviews-widget div.card-body { position: relative !important; z-index: 2 !important; flex-grow: 1 !important; min-width: 0 !important; padding: 0 !important; text-align: left !important; }

div.googleReviews-div div#google-reviews-widget div.card-body span { display: block !important; margin: 0 0 15px 0 !important; }

div.googleReviews-div div#google-reviews-widget div.card-body p.card-text { margin: 0 !important; padding: 0 !important; color: rgba(255, 255, 255, 0.76) !important; font-size: 0.95rem !important; font-weight: 300 !important; font-style: italic !important; line-height: 1.75 !important; white-space: normal !important; overflow: visible !important; overflow-wrap: break-word !important; }

/*======================================================================== FLÈCHES DU CARROUSEL ========================================================================*/
div.googleReviews-div div.owl-nav { display: flex !important; justify-content: center !important; gap: 12px !important; margin-top: 10px !important; }

div.googleReviews-div div.owl-nav button.owl-prev, div.googleReviews-div div.owl-nav button.owl-next { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 48px !important; height: 48px !important; margin: 0 !important; color: #DAB045 !important; background: rgba(112, 21, 23, 0.35) !important; border: 1px solid rgba(218, 176, 69, 0.45) !important; border-radius: 50% !important; box-shadow: none !important; transition: color 0.3s ease, background-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease !important; }

div.googleReviews-div div.owl-nav button.owl-prev span, div.googleReviews-div div.owl-nav button.owl-next span { display: block !important; margin-top: -5px !important; font-size: 2rem !important; font-weight: 300 !important; line-height: 1 !important; }

div.googleReviews-div div.owl-nav button.owl-prev:hover, div.googleReviews-div div.owl-nav button.owl-next:hover { color: #080808 !important; background-color: #DAB045 !important; transform: translateY(-2px) !important; box-shadow: 0 0 22px rgba(218, 176, 69, 0.4) !important; }

/*======================================================================== TABLETTE ========================================================================*/
@media screen and (max-width: 991px) { div.photoTitleText { margin: 75px auto 40px auto !important; padding: 0 20px !important; } div.photoTitleText > div { padding: 0 25px 20px 25px !important; font-size: 2rem !important; } div.googleReviews-div { padding: 15px 0 75px 0 !important; } div.googleReviews-div > div.container { width: 94% !important; margin-bottom: 40px !important; } div.googleReviews-div > div.container > div.card { padding: 28px 20px !important; } div.googleReviews-div div.d-lg-flex.align-items-center, div.googleReviews-div div.d-lg-flex.align-items-lg-center { text-align: center !important; } div.googleReviews-div div.d-lg-flex.align-items-lg-center { display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; } div.googleReviews-div div.container img.avatar-google-place { margin: 0 auto 15px auto !important; } div.googleReviews-div div.justify-content-lg-end { margin: 25px 0 0 0 !important; text-align: center !important; } div.googleReviews-div div#google-reviews-widget div.owl-item { padding: 0 14px !important; } div.googleReviews-div div#google-reviews-widget div.owl-item > div.card { min-height: 0 !important; height: auto !important; margin: 12px 0 28px 0 !important; overflow: hidden !important; } }

/*======================================================================== MOBILE ========================================================================*/
@media screen and (max-width: 767px) { div.googleReviews-div { width: 100% !important; max-width: 100% !important; padding: 10px 0 55px 0 !important; overflow: hidden !important; } /* CARTE GOOGLE */ div.googleReviews-div > div.container { width: calc(100% - 30px) !important; max-width: none !important; margin: 0 auto 30px auto !important; padding: 0 !important; } div.googleReviews-div > div.container > div.card { width: 100% !important; margin: 0 !important; padding: 24px 18px !important; overflow: hidden !important; } div.googleReviews-div div.d-lg-flex.align-items-lg-center { display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; width: 100% !important; gap: 10px !important; text-align: center !important; } div.googleReviews-div div.align-items-lg-center { width: 100% !important; text-align: center !important; } div.googleReviews-div div.align-items-lg-center h3 { width: 100% !important; margin: 0 0 7px 0 !important; font-size: 1.22rem !important; line-height: 1.35 !important; overflow-wrap: break-word !important; } div.googleReviews-div div.align-items-lg-center span { display: block !important; width: 100% !important; font-size: 0.84rem !important; line-height: 1.5 !important; overflow-wrap: break-word !important; } div.googleReviews-div div.container img.avatar-google-place { flex: none !important; width: 68px !important; height: 68px !important; margin: 0 auto 10px auto !important; padding: 7px !important; } /* ÉTOILES */ div.googleReviews-div div.align-items-lg-center span:has(i.star) { display: flex !important; flex-wrap: wrap !important; align-items: center !important; justify-content: center !important; gap: 2px !important; } div.googleReviews-div i.star { margin: 0 2px !important; } /* BOUTON GOOGLE */ div.googleReviews-div div.justify-content-lg-end { display: flex !important; justify-content: center !important; width: 100% !important; margin: 20px 0 0 0 !important; } div.googleReviews-div div.justify-content-lg-end a#maps-url { width: 100% !important; max-width: 290px !important; min-width: 0 !important; padding: 15px 18px !important; font-size: 0.68rem !important; line-height: 1.3 !important; letter-spacing: 0.12em !important; white-space: normal !important; text-align: center !important; } /* CARROUSEL */ div.googleReviews-div div#google-reviews-widget { width: 100% !important; max-width: 100% !important; margin: 0 auto !important; padding: 0 0 20px 0 !important; overflow: hidden !important; } div.googleReviews-div div#google-reviews-widget div.owl-stage-outer { width: 100% !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important; } div.googleReviews-div div#google-reviews-widget div.owl-stage { display: flex !important; align-items: stretch !important; margin: 0 !important; } div.googleReviews-div div#google-reviews-widget div.owl-item { display: flex !important; align-items: stretch !important; min-width: 0 !important; max-width: 100% !important; height: auto !important; padding: 0 12px !important; overflow: hidden !important; } /* CARTE AVIS */ div.googleReviews-div div#google-reviews-widget div.owl-item > div.card { position: relative !important; display: flex !important; flex-direction: column !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; min-height: 0 !important; height: auto !important; margin: 8px 0 20px 0 !important; padding: 22px 20px !important; overflow: hidden !important; } div.googleReviews-div div#google-reviews-widget div.owl-item > div.card::before { top: 8px !important; right: 14px !important; font-size: 4.6rem !important; pointer-events: none !important; } div.googleReviews-div div#google-reviews-widget div.owl-item > div.card::after { left: 20px !important; width: 48px !important; } /* EN-TÊTE DE L'AVIS */ div.googleReviews-div div#google-reviews-widget div.card > div.d-flex { display: flex !important; align-items: center !important; justify-content: flex-start !important; width: 100% !important; min-width: 0 !important; margin: 0 0 16px 0 !important; padding: 0 0 14px 0 !important; overflow: hidden !important; } div.googleReviews-div div#google-reviews-widget img.avatar-google-reviews { flex: 0 0 40px !important; width: 40px !important; height: 40px !important; margin: 0 10px 0 0 !important; padding: 7px !important; } div.googleReviews-div div#google-reviews-widget div.card > div.d-flex > div.mx-2 { flex: 1 1 auto !important; width: auto !important; min-width: 0 !important; margin: 0 !important; font-size: 0.94rem !important; line-height: 1.3 !important; text-align: left !important; white-space: normal !important; overflow-wrap: anywhere !important; word-break: normal !important; } div.googleReviews-div div#google-reviews-widget div.card small.text-muted { display: block !important; margin-top: 3px !important; font-size: 0.72rem !important; line-height: 1.35 !important; white-space: normal !important; } /* CONTENU DE L'AVIS */ div.googleReviews-div div#google-reviews-widget div.card-body { display: block !important; flex: 1 1 auto !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important; text-align: left !important; } div.googleReviews-div div#google-reviews-widget div.card-body span { width: 100% !important; max-width: 100% !important; margin: 0 0 12px 0 !important; overflow: hidden !important; } div.googleReviews-div div#google-reviews-widget div.card-body p.card-text { display: block !important; width: 100% !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; font-size: 0.88rem !important; line-height: 1.65 !important; white-space: normal !important; overflow: visible !important; overflow-wrap: anywhere !important; word-break: normal !important; text-overflow: initial !important; } /* NAVIGATION */ div.googleReviews-div div.owl-nav { display: flex !important; align-items: center !important; justify-content: center !important; gap: 10px !important; width: 100% !important; margin: 4px 0 0 0 !important; } div.googleReviews-div div.owl-nav button.owl-prev, div.googleReviews-div div.owl-nav button.owl-next { flex: 0 0 44px !important; width: 44px !important; height: 44px !important; } div.googleReviews-div div.owl-nav button.owl-prev span, div.googleReviews-div div.owl-nav button.owl-next span { margin-top: -4px !important; font-size: 1.8rem !important; } }

/*======================================================================== PETIT MOBILE ========================================================================*/
@media screen and (max-width: 576px) { div.photoTitleText { margin: 55px auto 30px auto !important; padding: 0 15px !important; } div.photoTitleText > div { padding-right: 0 !important; padding-left: 0 !important; font-size: 1.6rem !important; letter-spacing: 0.03em !important; } div.photoTitleText > div::before, div.photoTitleText > div::after { width: 38px !important; } div.photoTitleText > div::before { left: calc(50% - 46px) !important; } div.photoTitleText > div::after { right: calc(50% - 46px) !important; } div.googleReviews-div { padding: 8px 0 45px 0 !important; } div.googleReviews-div > div.container { width: calc(100% - 24px) !important; margin-bottom: 26px !important; } div.googleReviews-div > div.container > div.card { padding: 21px 15px !important; } div.googleReviews-div div.d-lg-flex.align-items-lg-center { gap: 8px !important; } div.googleReviews-div div.container img.avatar-google-place { width: 62px !important; height: 62px !important; padding: 6px !important; } div.googleReviews-div div.align-items-lg-center h3 { margin-bottom: 5px !important; font-size: 1.12rem !important; } div.googleReviews-div div.align-items-lg-center span { font-size: 0.79rem !important; } div.googleReviews-div div.justify-content-lg-end { margin-top: 18px !important; } div.googleReviews-div div.justify-content-lg-end a#maps-url { width: 100% !important; max-width: 100% !important; padding: 14px 14px !important; font-size: 0.65rem !important; letter-spacing: 0.1em !important; } div.googleReviews-div div#google-reviews-widget div.owl-item { padding: 0 10px !important; } div.googleReviews-div div#google-reviews-widget div.owl-item > div.card { margin: 6px 0 18px 0 !important; padding: 19px 17px !important; } div.googleReviews-div div#google-reviews-widget div.owl-item > div.card::before { right: 10px !important; font-size: 4rem !important; } div.googleReviews-div div#google-reviews-widget div.owl-item > div.card::after { left: 17px !important; width: 42px !important; } div.googleReviews-div div#google-reviews-widget img.avatar-google-reviews { flex-basis: 38px !important; width: 38px !important; height: 38px !important; margin-right: 8px !important; padding: 6px !important; } div.googleReviews-div div#google-reviews-widget div.card > div.d-flex > div.mx-2 { font-size: 0.9rem !important; } div.googleReviews-div div#google-reviews-widget div.card small.text-muted { font-size: 0.7rem !important; } div.googleReviews-div div#google-reviews-widget div.card-body p.card-text { font-size: 0.84rem !important; line-height: 1.6 !important; } div.googleReviews-div div.owl-nav button.owl-prev, div.googleReviews-div div.owl-nav button.owl-next { flex-basis: 42px !important; width: 42px !important; height: 42px !important; } div.googleReviews-div div.owl-nav button.owl-prev span, div.googleReviews-div div.owl-nav button.owl-next span { font-size: 1.7rem !important; } }

/*======================================================================== TRÈS PETIT MOBILE ========================================================================*/
@media screen and (max-width: 390px) { div.googleReviews-div > div.container { width: calc(100% - 20px) !important; } div.googleReviews-div > div.container > div.card { padding: 19px 13px !important; } div.googleReviews-div div.align-items-lg-center h3 { font-size: 1.05rem !important; } div.googleReviews-div div.align-items-lg-center span { font-size: 0.76rem !important; } div.googleReviews-div div#google-reviews-widget div.owl-item { padding: 0 8px !important; } div.googleReviews-div div#google-reviews-widget div.owl-item > div.card { padding: 18px 15px !important; } div.googleReviews-div div#google-reviews-widget div.owl-item > div.card::after { left: 15px !important; } div.googleReviews-div div#google-reviews-widget div.card > div.d-flex > div.mx-2 { font-size: 0.86rem !important; } div.googleReviews-div div#google-reviews-widget div.card-body p.card-text { font-size: 0.82rem !important; line-height: 1.58 !important; } div.googleReviews-div div.justify-content-lg-end a#maps-url { padding: 13px 10px !important; font-size: 0.61rem !important; letter-spacing: 0.08em !important; } }

/*======================================================== FAQ — LA PARENTHÈSE ANGEVINE ========================================================*/
.faq-parenthese, .faq-parenthese *, .faq-parenthese *::before, .faq-parenthese *::after { box-sizing: border-box; }

.faq-parenthese { position: relative; width: 100%; padding: 110px 24px; background: radial-gradient(circle at 50% 0%, rgba(218, 176, 69, 0.08) 0%, rgba(218, 176, 69, 0) 40%), #080808; overflow: hidden; }

.faq-parenthese::before, .faq-parenthese::after { content: ""; position: absolute; left: 50%; width: 1px; height: 55px; background: linear-gradient(to bottom, rgba(218, 176, 69, 0), #DAB045, rgba(218, 176, 69, 0)); }

.faq-parenthese::before { top: 0; }

.faq-parenthese::after { bottom: 0; }

.faq-parenthese-container { position: relative; width: 100%; max-width: 1050px; margin: 0 auto; }

/*==================== TITRE ====================*/
.faq-parenthese-heading { max-width: 760px; margin: 0 auto 60px; text-align: center; }

.faq-parenthese-eyebrow { display: block; margin-bottom: 12px; color: #DAB045; font-family: "Central Station Std Bold", serif; font-size: 14px; font-weight: 800; line-height: 1.4; letter-spacing: 3px; text-transform: uppercase; }

.faq-parenthese-title { margin: 0; color: #ffffff; font-family: "Alex Brush", cursive; font-size: 4vw; line-height: 1.05; }

.faq-parenthese-separator { display: flex; align-items: center; justify-content: center; gap: 12px; margin: 25px 0; }

.faq-parenthese-separator span { display: block; width: 55px; height: 1px; }

.faq-parenthese-separator span:first-child { background: linear-gradient(to right, rgba(218, 176, 69, 0), #DAB045); }

.faq-parenthese-separator span:last-child { background: linear-gradient(to left, rgba(218, 176, 69, 0), #DAB045); }

.faq-parenthese-separator i { display: block; width: 6px; height: 6px; background: #DAB045; box-shadow: 0 0 12px rgba(218, 176, 69, 0.8); transform: rotate(45deg); }

.faq-parenthese-intro { max-width: 640px; margin: 0 auto; color: rgba(255, 255, 255, 0.7); font-size: 1.1rem; line-height: 1.6; }

/*==================== LISTE FAQ ====================*/
.faq-parenthese-list { display: flex; flex-direction: column; gap: 14px; }

.faq-parenthese-item { position: relative; margin: 0; background: #0d0d0d; border: 1px solid rgba(218, 176, 69, 0.22); border-radius: 5px; overflow: hidden; transition: border-color 0.3s ease, background-color 0.3s ease; }

.faq-parenthese-item[open] { background: #111111; border-color: rgba(218, 176, 69, 0.7); }

.faq-parenthese-question { display: grid; grid-template-columns: 45px 1fr 32px; align-items: center; gap: 20px; width: 100%; min-height: 85px; padding: 20px 28px; color: #ffffff; cursor: pointer; list-style: none; }

.faq-parenthese-question::-webkit-details-marker { display: none; }

.faq-parenthese-question::marker { display: none; content: ""; }

.faq-parenthese-number { color: #DAB045; font-family: Georgia, serif; font-size: 14px; font-style: italic; line-height: 1; }

.faq-parenthese-question-text { font-family: "Central Station Std Bold", serif; font-size: 17px; font-weight: 800; line-height: 1.4; letter-spacing: 0.5px; text-transform: uppercase; }

/*==================== ICÔNE + / − ====================*/
.faq-parenthese-icon { position: relative; display: block; width: 30px; height: 30px; border: 1px solid rgba(218, 176, 69, 0.5); border-radius: 50%; }

.faq-parenthese-icon::before, .faq-parenthese-icon::after { content: ""; position: absolute; top: 50%; left: 50%; width: 11px; height: 1px; background: #DAB045; transform: translate(-50%, -50%); transition: transform 0.3s ease; }

.faq-parenthese-icon::after { transform: translate(-50%, -50%) rotate(90deg); }

.faq-parenthese-item[open] .faq-parenthese-icon::after { transform: translate(-50%, -50%) rotate(0deg); }

/*==================== RÉPONSE ====================*/
.faq-parenthese-answer { position: relative; padding: 0 80px 26px 93px; }

.faq-parenthese-answer::before { content: ""; position: absolute; top: 0; left: 93px; width: 45px; height: 1px; background: linear-gradient(to right, #DAB045, rgba(218, 176, 69, 0)); }

.faq-parenthese-answer p { margin: 0; padding-top: 20px; color: rgba(255, 255, 255, 0.72); font-size: 1rem; line-height: 1.7; }

.faq-parenthese-answer p + p { padding-top: 10px; }

/*==================== SURVOL ====================*/
@media (hover: hover) { .faq-parenthese-item:hover { border-color: rgba(218, 176, 69, 0.6); } .faq-parenthese-question:hover .faq-parenthese-icon { background: #DAB045; } .faq-parenthese-question:hover .faq-parenthese-icon::before, .faq-parenthese-question:hover .faq-parenthese-icon::after { background: #080808; } }

/*==================== RESPONSIVE TABLETTE ====================*/
@media (max-width: 991px) { .faq-parenthese { padding: 90px 22px; } .faq-parenthese-title { font-size: 50px; } }

/*==================== RESPONSIVE MOBILE ====================*/
@media (max-width: 767px) { .faq-parenthese { padding: 75px 15px; } .faq-parenthese-heading { margin-bottom: 42px; } .faq-parenthese-eyebrow { font-size: 12px; letter-spacing: 2px; } .faq-parenthese-title { font-size: 41px; } .faq-parenthese-intro { font-size: 15px; } .faq-parenthese-question { grid-template-columns: 1fr 30px; gap: 14px; min-height: 75px; padding: 18px; } .faq-parenthese-number { display: none; } .faq-parenthese-question-text { font-size: 14px; line-height: 1.5; } .faq-parenthese-answer { padding: 0 18px 22px; } .faq-parenthese-answer::before { left: 18px; } .faq-parenthese-answer p { font-size: 14px; line-height: 1.75; } }

@media (max-width: 420px) { .faq-parenthese-title { font-size: 36px; } .faq-parenthese-question-text { font-size: 13px; } }

/* ========================================================= BOUTON ORIGINAL ========================================================= */
.ke-floating-button { position: fixed; right: 25px; bottom: 25px; z-index: 9998; display: inline-block; filter: drop-shadow(0 10px 25px rgba(0, 0, 0, 0.3)); }

.ke-floating-button__click { position: absolute; inset: 0; z-index: 20; width: 100%; height: 100%; padding: 0; background: transparent; border: 0; cursor: pointer; }

/* ========================================================= FORMULAIRE FLOTTANT ========================================================= */
.ke-floating-form { position: fixed; right: 25px; bottom: 95px; z-index: 9999; width: 380px; max-width: 90%; visibility: hidden; opacity: 0; pointer-events: none; transform: translateY(15px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease; }

.ke-floating-form.is-open { visibility: visible; opacity: 1; pointer-events: auto; transform: translateY(0); }

/* ========================================================= CONTENU ========================================================= */
.ke-floating-form__content { width: 100%; max-height: 75vh; padding: 0; overflow-x: hidden; overflow-y: auto; background: transparent; border: 0; box-shadow: 0 18px 45px rgba(0, 0, 0, 0.32); }

/* ========================================================= WIDGET KE-BOOKING ========================================================= */
.ke-floating-form #ke-booking-frame { width: 100%; margin: 0; padding: 0; background: transparent; }

.ke-floating-form iframe { display: block; max-width: 100%; margin: 0 auto; border: 0; }

/* ========================================================= BOUTON FERMER ========================================================= */
.ke-floating-form__close { position: absolute; top: -16px; right: -16px; z-index: 30; display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; padding: 0; color: #ffffff; background: #111111; border: 1px solid #DAB045; border-radius: 50%; box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35); font-size: 24px; line-height: 1; cursor: pointer; transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease; }

.ke-floating-form__close:hover { color: #111111; background-color: #DAB045; transform: rotate(90deg); }

/* ========================================================= MOTEUR COMPLET ========================================================= */
.ke-booking-engine-hidden { display: none; }

/* ========================================================= TABLETTE ========================================================= */
@media screen and (max-width: 767px) { .ke-floating-button { right: 15px; bottom: 15px; } .ke-floating-form { right: 15px; bottom: 85px; width: 370px; max-width: 92%; } }

/* ========================================================= MOBILE ========================================================= */
@media screen and (max-width: 480px) { .ke-floating-button { right: 10px; bottom: 10px; } .ke-floating-form { right: 10px; bottom: 78px; width: 350px; max-width: calc(100% - 20px); } .ke-floating-form__content { max-height: 72vh; } .ke-floating-form__close { top: -12px; right: -4px; width: 34px; height: 34px; font-size: 21px; } }

/*# sourceMappingURL=custom.css.map */