.elementor-3288 .elementor-element.elementor-element-5dc2558{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3288 .elementor-element.elementor-element-1001b6a{--display:flex;}.elementor-3288 .elementor-element.elementor-element-627d3ac1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3288 .elementor-element.elementor-element-68e796d3{--display:flex;}.elementor-3288 .elementor-element.elementor-element-5bdddead{--item-display:flex;--read-more-alignment:1;--grid-row-gap:25px;--grid-column-gap:25px;}.elementor-3288 .elementor-element.elementor-element-5bdddead > .elementor-widget-container{margin:0px 5px 0px 5px;}.elementor-3288 .elementor-element.elementor-element-5bdddead .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.76 * 100% );}.elementor-3288 .elementor-element.elementor-element-5bdddead:after{content:"0.76";}.elementor-3288 .elementor-element.elementor-element-5bdddead .elementor-post__thumbnail__link{width:100%;}.elementor-3288 .elementor-element.elementor-element-5bdddead .elementor-post__meta-data span + span:before{content:"•";}.elementor-3288 .elementor-element.elementor-element-5bdddead .elementor-post__text{margin-top:20px;}.elementor-3288 .elementor-element.elementor-element-5bdddead .elementor-post__read-more{color:var( --e-global-color-astglobalcolor0 );}.elementor-3288 .elementor-element.elementor-element-5bdddead .elementor-pagination{text-align:center;font-family:"Montserrat", Sans-serif;margin-top:10px;}body:not(.rtl) .elementor-3288 .elementor-element.elementor-element-5bdddead .elementor-pagination .page-numbers:not(:first-child){margin-left:calc( 14px/2 );}body:not(.rtl) .elementor-3288 .elementor-element.elementor-element-5bdddead .elementor-pagination .page-numbers:not(:last-child){margin-right:calc( 14px/2 );}body.rtl .elementor-3288 .elementor-element.elementor-element-5bdddead .elementor-pagination .page-numbers:not(:first-child){margin-right:calc( 14px/2 );}body.rtl .elementor-3288 .elementor-element.elementor-element-5bdddead .elementor-pagination .page-numbers:not(:last-child){margin-left:calc( 14px/2 );}.elementor-3288 .elementor-element.elementor-element-503c22d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3288 .elementor-element.elementor-element-e9b89c3{--display:flex;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-3288 .elementor-element.elementor-element-5bdddead .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.5 * 100% );}.elementor-3288 .elementor-element.elementor-element-5bdddead:after{content:"0.5";}.elementor-3288 .elementor-element.elementor-element-5bdddead .elementor-post__thumbnail__link{width:100%;}}/* Start custom CSS *//* ============================================================
   VIAGER STRASBOURG - CSS COMPLET v3
   À coller dans : Réglages de la page > Avancé > CSS personnalisé
   Remplace intégralement tout le CSS précédent.
   ============================================================ */

.ov-stras-hero *, .ov-stras-breadcrumb *, .ov-stras-page-wrapper *,
.ov-stras-cta-band *, .ov-stras-faq-section * { box-sizing: border-box !important; }

/* ===== VARIABLES ===== */
.ov-stras-hero, .ov-stras-breadcrumb, .ov-stras-page-wrapper,
.ov-stras-cta-band, .ov-stras-faq-section {
  --bleu: #213c47; --bleu-light: #2e5263; --bleu-pale: #e6eef1;
  --bleu-tres-pale: #f4f7f8; --orange: #ec6052; --orange-dark: #d44e41;
  --text: #2d2d2d; --text-light: #5a6a72;
  --radius: 12px; --shadow: 0 4px 24px rgba(33,60,71,0.10);
}

/* ===== HERO ===== */
.ov-stras-hero {
  position: relative !important; background: #213c47 !important;
  min-height: 560px !important; display: flex !important;
  align-items: center !important; overflow: hidden !important;
  margin: 0 !important; padding: 0 !important;
}
.ov-stras-hero__bg {
  position: absolute !important; inset: 0 !important;
  background-image: url('https://osez-viager.fr/wp-content/uploads/2026/03/Le-parlement-europeen-de-Strasbourg.webp') !important;
  background-size: cover !important; background-position: center 35% !important; opacity: 0.55 !important;
}
.ov-stras-hero__overlay {
  position: absolute !important; inset: 0 !important;
  background: linear-gradient(100deg, rgba(33,60,71,0.82) 50%, rgba(33,60,71,0.25) 100%) !important;
}
.ov-stras-hero__content {
  position: relative !important; z-index: 2 !important;
  max-width: 1100px !important; margin: 0 auto !important;
  padding: 80px 40px !important; width: 100% !important;
}
.ov-stras-hero__tag {
  display: inline-block !important; background: #ec6052 !important; color: #fff !important;
  font-size: 11px !important; font-weight: 700 !important; font-family: 'Montserrat', sans-serif !important;
  letter-spacing: 0.12em !important; text-transform: uppercase !important;
  padding: 6px 14px !important; border-radius: 4px !important; margin-bottom: 20px !important;
}
.ov-stras-hero__title {
  font-size: clamp(26px, 4vw, 42px) !important; font-weight: 800 !important;
  font-family: 'Montserrat', sans-serif !important; color: #ffffff !important;
  line-height: 1.2 !important; max-width: 660px !important; margin-bottom: 20px !important;
  text-transform: none !important; letter-spacing: normal !important;
}
.ov-stras-hero__title em { color: #ec6052 !important; font-style: normal !important; }
.ov-stras-hero__subtitle {
  color: rgba(255,255,255,0.90) !important; font-size: 15px !important;
  font-family: 'Montserrat', sans-serif !important; max-width: 540px !important;
  font-weight: 500 !important; margin-bottom: 0 !important;
}

/* ===== BTN PRIMARY ===== */
.ov-stras-btn-primary {
  display: inline-flex !important; align-items: center !important; gap: 8px !important;
  background: #ec6052 !important; color: #fff !important; font-size: 13px !important;
  font-weight: 700 !important; font-family: 'Montserrat', sans-serif !important;
  padding: 14px 28px !important; border-radius: 12px !important; text-decoration: none !important;
  border: none !important; cursor: pointer !important;
  transition: background 0.2s, transform 0.2s, box-shadow 0.2s !important;
  box-shadow: 0 4px 16px rgba(236,96,82,0.35) !important; margin-top: 20px !important;
}
.ov-stras-btn-primary:hover {
  background: #d44e41 !important; transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(236,96,82,0.4) !important;
}

/* ===== BREADCRUMB ===== */
.ov-stras-breadcrumb { background: #f4f7f8 !important; padding: 12px 0 !important; border-bottom: 1px solid #dde6ea !important; margin: 0 !important; }
.ov-stras-breadcrumb__inner { max-width: 1100px !important; margin: 0 auto !important; padding: 0 40px !important; font-size: 12px !important; font-family: 'Montserrat', sans-serif !important; color: #5a6a72 !important; }
.ov-stras-breadcrumb__inner a { color: #213c47 !important; text-decoration: none !important; font-weight: 600 !important; font-family: 'Montserrat', sans-serif !important; }
.ov-stras-breadcrumb__inner a:hover { text-decoration: underline !important; }
.ov-stras-breadcrumb__inner span { margin: 0 8px !important; }

/* ===== LAYOUT ===== */
.ov-stras-page-wrapper {
  max-width: 1100px !important; margin: 0 auto !important;
  padding: 0 40px !important;
}
.ov-stras-content-grid {
  display: grid !important; grid-template-columns: 1fr 320px !important;
  gap: 60px !important; padding: 60px 0 !important; align-items: start !important;
}
/* Bloc 2 : pas de padding-top pour coller sous le widget annonces */
.ov-stras-content-grid--bloc2 {
  padding-top: 0 !important;
  padding-bottom: 40px !important;
}

/* ===== WIDGET ANNONCES ELEMENTOR POSTS : contenu dans la colonne main ===== */
/*
   Le widget Posts d'Elementor est posé entre les 2 widgets HTML.
   On le contraint à rester dans le même gabarit max-width + padding
   que .ov-stras-page-wrapper, et on lui affecte la même largeur
   que la colonne "main" (1fr sur 1fr+320px avec gap 60px).
   La sidebar du bloc 1 continue à descendre naturellement via sticky.
*/

/* Section Elementor qui contient le widget Posts */
.ov-stras-annonces-section {
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 0 40px !important;
  /* Reproduire la largeur de la colonne main :
     1100px - 40px*2 (padding) - 60px (gap) - 320px (sidebar) = ~640px */
  padding-right: calc(40px + 320px + 60px) !important;
}

/*
   SI vous ne pouvez pas ajouter une classe CSS ID sur la section Elementor,
   utilisez ce sélecteur de secours qui cible le widget Posts directement
   quand il est posé dans une section sans classe spéciale :
*/
.elementor-widget-posts.ov-stras-posts-widget {
  max-width: calc(1100px - 80px - 320px - 60px) !important;
  margin-left: 40px !important;
}

/* Forcer les colonnes du widget Posts à rester dans leur conteneur */
.ov-stras-annonces-section .elementor-posts,
.ov-stras-annonces-section .elementor-posts-container {
  width: 100% !important;
  max-width: 100% !important;
}

/* ===== ESPACEMENT INTER-BLOCS ===== */
/* Réduire l'espace en bas du bloc 1 (section formules) */
.ov-stras-section-block#formule {
  margin-bottom: 16px !important;
}
/* Réduire l'espace en haut du bloc 2 (section investir) */
.ov-stras-section-block#investir {
  margin-top: 16px !important;
}

/* ===== TYPOGRAPHY ===== */
.ov-stras-section-title {
  font-size: 22px !important; font-weight: 800 !important; font-family: 'Montserrat', sans-serif !important;
  color: #213c47 !important; margin-top: 0 !important; margin-bottom: 20px !important;
  padding-bottom: 12px !important; border-bottom: 3px solid #ec6052 !important;
  display: block !important; width: fit-content !important;
  text-transform: none !important; letter-spacing: normal !important; line-height: 1.3 !important;
}
.ov-stras-subsection-title {
  font-size: 16px !important; font-weight: 700 !important; font-family: 'Montserrat', sans-serif !important;
  color: #213c47 !important; margin: 40px 0 14px !important;
  text-transform: none !important; letter-spacing: normal !important; line-height: 1.3 !important;
}
.ov-stras-page-wrapper p { margin-bottom: 16px !important; color: #2d2d2d !important; font-size: 14px !important; font-family: 'Montserrat', sans-serif !important; line-height: 1.7 !important; }
a.ov-stras-link-orange { color: #ec6052 !important; font-weight: 700 !important; text-decoration: none !important; font-family: 'Montserrat', sans-serif !important; }
a.ov-stras-link-orange:hover { text-decoration: underline !important; }
.ov-stras-section-block { margin: 48px 0 !important; }

/* ===== IMAGE INTERCALÉE ===== */
.ov-stras-section-img { margin: 0 !important; text-align: center !important; }
.ov-stras-section-img img { width: 65% !important; height: 420px !important; object-fit: cover !important; object-position: center 40% !important; display: inline-block !important; border-radius: 12px !important; }

/* ===== CHIFFRES BAND ===== */
.ov-stras-chiffres-band { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 16px !important; margin: 32px 0 !important; }
.ov-stras-chiffre-item { text-align: center !important; padding: 20px 12px !important; border-radius: 12px !important; background: #f4f7f8 !important; border-top: 3px solid #213c47 !important; }
.ov-stras-chiffre-item:nth-child(even) { border-top-color: #ec6052 !important; }
.ov-stras-chiffre-item__value { font-size: 24px !important; font-weight: 800 !important; font-family: 'Montserrat', sans-serif !important; color: #213c47 !important; margin-bottom: 4px !important; }
.ov-stras-chiffre-item:nth-child(even) .ov-stras-chiffre-item__value { color: #ec6052 !important; }
.ov-stras-chiffre-item__label { font-size: 11px !important; color: #5a6a72 !important; line-height: 1.4 !important; font-family: 'Montserrat', sans-serif !important; }

/* ===== INFO BOX ===== */
.ov-stras-info-box { background: #f4f7f8 !important; border-radius: 12px !important; padding: 24px 28px !important; margin: 24px 0 !important; border-left: 4px solid #213c47 !important; }
.ov-stras-info-box--warning { background: #fff8f7 !important; border-left-color: #ec6052 !important; }
.ov-stras-info-box__title { font-size: 13px !important; font-weight: 700 !important; font-family: 'Montserrat', sans-serif !important; color: #213c47 !important; margin-bottom: 8px !important; display: flex !important; align-items: center !important; gap: 8px !important; }
.ov-stras-info-box--warning .ov-stras-info-box__title { color: #ec6052 !important; }
.ov-stras-info-box p { margin-bottom: 0 !important; font-size: 13px !important; font-family: 'Montserrat', sans-serif !important; }

/* ===== KEY POINTS ===== */
.ov-stras-key-points { display: flex !important; flex-direction: column !important; gap: 10px !important; margin: 20px 0 32px !important; }
.ov-stras-key-point { display: flex !important; align-items: flex-start !important; gap: 12px !important; background: #f4f7f8 !important; border-radius: 12px !important; padding: 14px 18px !important; border-left: 4px solid #ec6052 !important; }
.ov-stras-key-point__icon { flex-shrink: 0 !important; width: 22px !important; height: 22px !important; background: #ec6052 !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; color: #fff !important; font-size: 12px !important; font-weight: 700 !important; font-family: 'Montserrat', sans-serif !important; }
.ov-stras-key-point__text { font-size: 13px !important; line-height: 1.6 !important; font-family: 'Montserrat', sans-serif !important; color: #2d2d2d !important; }
.ov-stras-key-point__text strong { color: #213c47 !important; }

/* ===== PRINCIPE VISUAL ===== */
.ov-stras-principe-visual { display: grid !important; grid-template-columns: 1fr auto 1fr auto 1fr !important; gap: 0 !important; align-items: center !important; margin: 32px 0 40px !important; }
.ov-stras-principe-bloc { text-align: center !important; padding: 24px 16px !important; border-radius: 12px !important; }
.ov-stras-principe-bloc--vendeur { background: #f4f7f8 !important; border: 2px solid #213c47 !important; }
.ov-stras-principe-bloc--mecanisme { background: #213c47 !important; }
.ov-stras-principe-bloc--acheteur { background: #fff8f7 !important; border: 2px solid #ec6052 !important; }
.ov-stras-principe-bloc__icon { font-size: 28px !important; margin-bottom: 8px !important; }
.ov-stras-principe-bloc__label { font-size: 10px !important; font-weight: 700 !important; font-family: 'Montserrat', sans-serif !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; margin-bottom: 6px !important; }
.ov-stras-principe-bloc--vendeur .ov-stras-principe-bloc__label { color: #213c47 !important; }
.ov-stras-principe-bloc--mecanisme .ov-stras-principe-bloc__label { color: #ec6052 !important; }
.ov-stras-principe-bloc--acheteur .ov-stras-principe-bloc__label { color: #ec6052 !important; }
.ov-stras-principe-bloc__text { font-size: 12px !important; line-height: 1.5 !important; font-family: 'Montserrat', sans-serif !important; }
.ov-stras-principe-bloc--mecanisme .ov-stras-principe-bloc__text { color: rgba(255,255,255,0.92) !important; }
.ov-stras-principe-arrow { font-size: 24px !important; color: #ec6052 !important; font-weight: 800 !important; text-align: center !important; padding: 0 8px !important; }

/* ===== QUARTIER CARDS ===== */
.ov-stras-quartier-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 16px !important; margin: 20px 0 28px !important; }
.ov-stras-quartier-card { background: #fff !important; border-radius: 12px !important; padding: 22px 24px !important; border: 1.5px solid #dde6ea !important; transition: box-shadow 0.2s, transform 0.2s, border-color 0.2s !important; }
.ov-stras-quartier-card:hover { box-shadow: 0 4px 24px rgba(33,60,71,0.10) !important; transform: translateY(-2px) !important; border-color: #213c47 !important; }
.ov-stras-quartier-card--premium { border-top: 4px solid #213c47 !important; }
.ov-stras-quartier-card--intermediaire { border-top: 4px solid #2e5263 !important; }
.ov-stras-quartier-card--accessible { border-top: 4px solid #ec6052 !important; }
.ov-stras-quartier-card__name { font-size: 15px !important; font-weight: 800 !important; font-family: 'Montserrat', sans-serif !important; color: #213c47 !important; margin-bottom: 4px !important; }
.ov-stras-quartier-card__price { font-size: 12px !important; font-weight: 700 !important; font-family: 'Montserrat', sans-serif !important; color: #ec6052 !important; margin-bottom: 10px !important; }
.ov-stras-quartier-card__tags { display: flex !important; flex-wrap: nowrap !important; gap: 6px !important; margin-bottom: 10px !important; overflow: hidden !important; }
.ov-stras-quartier-card__tag { background: #f4f7f8 !important; color: #213c47 !important; font-size: 10px !important; font-weight: 600 !important; font-family: 'Montserrat', sans-serif !important; padding: 3px 10px !important; border-radius: 20px !important; white-space: nowrap !important; }
.ov-stras-quartier-card__desc { font-size: 12.5px !important; line-height: 1.6 !important; font-family: 'Montserrat', sans-serif !important; color: #2d2d2d !important; margin: 0 !important; }

/* ===== ENCART RÉCAP INVESTISSEMENT ===== */
.ov-stras-invest-recap { background: linear-gradient(135deg, #213c47 0%, #2e5263 100%) !important; border-radius: 12px !important; padding: 28px 32px !important; margin: 28px 0 !important; }
.ov-stras-invest-recap__title { font-size: 17px !important; font-weight: 800 !important; font-family: 'Montserrat', sans-serif !important; color: #fff !important; margin-bottom: 16px !important; }
.ov-stras-invest-recap > p { font-size: 13px !important; color: rgba(255,255,255,0.92) !important; margin-bottom: 12px !important; font-family: 'Montserrat', sans-serif !important; }
.ov-stras-invest-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
.ov-stras-invest-item { background: rgba(255,255,255,0.12) !important; border-radius: 8px !important; padding: 14px 16px !important; border-left: 3px solid #ec6052 !important; }
.ov-stras-invest-item__label { font-size: 12px !important; font-weight: 800 !important; font-family: 'Montserrat', sans-serif !important; color: #ec6052 !important; text-transform: uppercase !important; letter-spacing: 0.04em !important; margin-bottom: 6px !important; line-height: 1.3 !important; }
.ov-stras-invest-item__value { font-size: 12.5px !important; font-family: 'Montserrat', sans-serif !important; color: rgba(255,255,255,0.95) !important; line-height: 1.5 !important; }

/* ===== BTN SECONDAIRE CTA BAND ===== */
.ov-stras-cta-band__btns { display: flex !important; gap: 16px !important; justify-content: center !important; align-items: center !important; flex-wrap: wrap !important; }
.ov-stras-btn-secondary { display: inline-flex !important; align-items: center !important; gap: 8px !important; background: transparent !important; color: #fff !important; font-size: 14px !important; font-weight: 600 !important; font-family: 'Montserrat', sans-serif !important; padding: 15px 28px !important; border-radius: 12px !important; border: 2px solid rgba(255,255,255,0.65) !important; text-decoration: none !important; transition: border-color 0.2s, background 0.2s !important; }
.ov-stras-btn-secondary:hover { border-color: #fff !important; background: rgba(255,255,255,0.10) !important; color: #fff !important; text-decoration: none !important; }

/* ===== ACCOMP BLOCK ===== */
.ov-stras-accomp-block { background: linear-gradient(135deg, #213c47 0%, #2e5263 100%) !important; border-radius: 12px !important; padding: 32px 36px !important; margin: 32px 0 !important; }
.ov-stras-accomp-block__title { font-size: 18px !important; font-weight: 800 !important; font-family: 'Montserrat', sans-serif !important; margin-bottom: 16px !important; color: #fff !important; }
.ov-stras-accomp-block p { font-size: 13.5px !important; line-height: 1.75 !important; font-family: 'Montserrat', sans-serif !important; color: rgba(255,255,255,0.92) !important; margin-bottom: 14px !important; }
.ov-stras-accomp-block p:last-of-type { margin-bottom: 0 !important; }
.ov-stras-accomp-block strong { color: #fff !important; }

/* ===== FAQ ===== */
.ov-stras-faq-section { margin: 48px 0 !important; }
.ov-stras-faq-list { display: flex !important; flex-direction: column !important; gap: 10px !important; list-style: none !important; padding: 0 !important; margin: 0 !important; }
.ov-stras-faq-item { border-radius: 12px !important; border: 1.5px solid #dde6ea !important; overflow: hidden !important; transition: box-shadow 0.2s !important; margin: 0 !important; background: #fff !important; }
.ov-stras-faq-item.open { box-shadow: 0 4px 24px rgba(33,60,71,0.10) !important; border-color: #213c47 !important; }
.faq-question-heading { margin: 0 !important; padding: 0 !important; font-size: inherit !important; font-weight: inherit !important; border: none !important; }
.ov-stras-faq-question { width: 100% !important; background: #fff !important; border: none !important; padding: 20px 24px !important; display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 16px !important; cursor: pointer !important; text-align: left !important; font-size: 14px !important; font-weight: 700 !important; font-family: 'Montserrat', sans-serif !important; color: #213c47 !important; transition: background 0.15s !important; text-transform: none !important; letter-spacing: normal !important; line-height: 1.4 !important; box-shadow: none !important; outline: none !important; }
.ov-stras-faq-question:hover { background: #f4f7f8 !important; }
.ov-stras-faq-item.open .ov-stras-faq-question { background: #213c47 !important; color: #fff !important; }
.ov-stras-faq-chevron { flex-shrink: 0 !important; width: 28px !important; height: 28px !important; border-radius: 50% !important; background: #f4f7f8 !important; display: flex !important; align-items: center !important; justify-content: center !important; transition: transform 0.3s, background 0.2s !important; min-width: 28px !important; }
.ov-stras-faq-item.open .ov-stras-faq-chevron { transform: rotate(180deg) !important; background: rgba(255,255,255,0.2) !important; }
.ov-stras-faq-chevron svg { display: block !important; }
.ov-stras-faq-item.open .ov-stras-faq-chevron svg path { stroke: #fff !important; }
.ov-stras-faq-answer { max-height: 0 !important; overflow: hidden !important; transition: max-height 0.4s ease !important; }
.ov-stras-faq-item.open .ov-stras-faq-answer { max-height: none !important; }
.ov-stras-faq-answer__inner { padding: 20px 24px !important; font-size: 13px !important; line-height: 1.75 !important; color: #2d2d2d !important; background: #fff !important; border-top: 1px solid #eef2f4 !important; font-family: 'Montserrat', sans-serif !important; }
.ov-stras-faq-answer__inner a { color: #ec6052 !important; font-weight: 600 !important; text-decoration: none !important; }
.ov-stras-faq-answer__inner a:hover { text-decoration: underline !important; }

/* ===== SIDEBAR ===== */
.ov-stras-sidebar { position: sticky !important; top: 24px !important; display: flex !important; flex-direction: column !important; gap: 20px !important; }
.ov-stras-sidebar-cta { background: #213c47 !important; border-radius: 12px !important; padding: 28px 24px !important; text-align: center !important; }
.ov-stras-sidebar-cta__icon { font-size: 32px !important; margin-bottom: 12px !important; }
.ov-stras-sidebar-cta__title { font-size: 16px !important; font-weight: 800 !important; font-family: 'Montserrat', sans-serif !important; margin-bottom: 10px !important; color: #fff !important; }
.ov-stras-sidebar-cta__text { font-size: 12.5px !important; color: rgba(255,255,255,0.85) !important; margin-bottom: 0 !important; line-height: 1.6 !important; font-family: 'Montserrat', sans-serif !important; }
.ov-stras-sidebar-cta .ov-stras-btn-primary { width: 100% !important; justify-content: center !important; font-size: 12px !important; }
.ov-stras-sidebar-links { background: #f4f7f8 !important; border-radius: 12px !important; padding: 20px 22px !important; }
.ov-stras-sidebar-links__title { font-size: 12px !important; font-weight: 700 !important; font-family: 'Montserrat', sans-serif !important; text-transform: uppercase !important; letter-spacing: 0.08em !important; color: #213c47 !important; margin-bottom: 14px !important; }
.ov-stras-sidebar-link-list { list-style: none !important; display: flex !important; flex-direction: column !important; gap: 0 !important; padding: 0 !important; margin: 0 !important; }
.ov-stras-sidebar-link-list li a { display: flex !important; align-items: center !important; gap: 8px !important; padding: 9px 0 !important; font-size: 12.5px !important; font-weight: 600 !important; font-family: 'Montserrat', sans-serif !important; color: #213c47 !important; text-decoration: none !important; border-bottom: 1px solid #dde6ea !important; transition: color 0.15s !important; }
.ov-stras-sidebar-link-list li:last-child a { border-bottom: none !important; }
.ov-stras-sidebar-link-list li a:hover { color: #ec6052 !important; }
.ov-stras-sidebar-link-list li a::before { content: '→' !important; color: #ec6052 !important; font-weight: 700 !important; }
.ov-stras-sidebar-note { background: #ec6052 !important; border-radius: 12px !important; padding: 20px 22px !important; color: #fff !important; }
.ov-stras-sidebar-note__title { font-size: 13px !important; font-weight: 700 !important; font-family: 'Montserrat', sans-serif !important; margin-bottom: 8px !important; color: #fff !important; }
.ov-stras-sidebar-note p { font-size: 12px !important; color: rgba(255,255,255,0.95) !important; margin-bottom: 0 !important; font-family: 'Montserrat', sans-serif !important; }

/* ===== CTA BAND ===== */
.ov-stras-cta-band { background: linear-gradient(135deg, #213c47 0%, #2e5263 100%) !important; padding: 56px 40px !important; text-align: center !important; margin: 0 !important; }
.ov-stras-cta-band__title { font-size: 24px !important; font-weight: 800 !important; font-family: 'Montserrat', sans-serif !important; color: #fff !important; margin-bottom: 12px !important; }
.ov-stras-cta-band__sub { font-size: 15px !important; color: rgba(255,255,255,0.85) !important; margin-bottom: 36px !important; font-family: 'Montserrat', sans-serif !important; }
.ov-stras-cta-band .ov-stras-btn-primary { font-size: 14px !important; padding: 16px 36px !important; width: auto !important; }

/* ===== SURCHARGES ELEMENTOR - CONTRASTES CORRIGÉS ===== */
/* Règle générale : tout texte sur fond sombre = blanc ou blanc quasi-pur */
.ov-stras-accomp-block p,
.ov-stras-accomp-block { color: rgba(255,255,255,0.92) !important; }
.ov-stras-accomp-block strong,
.ov-stras-accomp-block .ov-stras-accomp-block__title { color: #ffffff !important; }

.ov-stras-invest-recap > p,
.ov-stras-invest-recap { color: rgba(255,255,255,0.92) !important; }
.ov-stras-invest-recap .ov-stras-invest-recap__title { color: #ffffff !important; }
.ov-stras-invest-item__value { color: rgba(255,255,255,0.95) !important; }

.ov-stras-sidebar-cta p,
.ov-stras-sidebar-cta .ov-stras-sidebar-cta__text { color: rgba(255,255,255,0.85) !important; }
.ov-stras-sidebar-cta .ov-stras-sidebar-cta__title { color: #ffffff !important; }

.ov-stras-sidebar-note p { color: rgba(255,255,255,0.95) !important; }
.ov-stras-sidebar-note .ov-stras-sidebar-note__title { color: #ffffff !important; }

.ov-stras-cta-band p,
.ov-stras-cta-band .ov-stras-cta-band__sub { color: rgba(255,255,255,0.85) !important; }
.ov-stras-cta-band .ov-stras-cta-band__title { color: #ffffff !important; }

.ov-stras-principe-bloc--mecanisme p { color: rgba(255,255,255,0.92) !important; }

/* ===== BLOC LIEN ARTICLE ===== */
.ov-stras-article-link-block {
  display: flex !important; align-items: flex-start !important; gap: 16px !important;
  background: #f4f7f8 !important; border-radius: 12px !important;
  padding: 22px 26px !important; margin: 28px 0 0 !important;
  border-left: 4px solid #213c47 !important;
}
.ov-stras-article-link-block__icon { font-size: 28px !important; flex-shrink: 0 !important; margin-top: 2px !important; }
.ov-stras-article-link-block__label {
  font-size: 10px !important; font-weight: 700 !important; font-family: 'Montserrat', sans-serif !important;
  text-transform: uppercase !important; letter-spacing: 0.1em !important;
  color: #ec6052 !important; margin-bottom: 6px !important;
}
.ov-stras-article-link-block__text {
  font-size: 13px !important; line-height: 1.65 !important; font-family: 'Montserrat', sans-serif !important;
  color: #2d2d2d !important; margin-bottom: 10px !important;
}

/* ===== CARDS INVESTIR ===== */
.ov-stras-investir-cards {
  display: grid !important; grid-template-columns: 1fr 1fr !important;
  gap: 14px !important; margin: 24px 0 32px !important;
}
.ov-stras-investir-card {
  background: #f4f7f8 !important; border-radius: 12px !important;
  padding: 22px !important; border-top: 4px solid #213c47 !important;
}
.ov-stras-investir-card:nth-child(even) { border-top-color: #ec6052 !important; }
.ov-stras-investir-card__icon { font-size: 26px !important; margin-bottom: 10px !important; display: block !important; }
.ov-stras-investir-card__title {
  font-size: 14px !important; font-weight: 800 !important; font-family: 'Montserrat', sans-serif !important;
  color: #213c47 !important; margin-bottom: 8px !important; line-height: 1.3 !important;
}
.ov-stras-investir-card__text {
  font-size: 12.5px !important; line-height: 1.65 !important; font-family: 'Montserrat', sans-serif !important;
  color: #5a6a72 !important; margin: 0 !important;
}

/* ===== DOUBLE CTA ACHETER / INVESTIR ===== */
.ov-stras-investir-cta-grid {
  display: grid !important; grid-template-columns: 1fr 1fr !important;
  gap: 16px !important; margin: 0 0 8px !important; align-items: stretch !important;
}
/* Carte bleue : #213c47 assombri 25% pour contraste WCAG AA, teinte charte conservée */
.ov-stras-investir-cta-card {
  display: flex !important; flex-direction: column !important;
  background: linear-gradient(145deg, #162830 0%, #1a333d 100%) !important;
  border-radius: 12px !important; padding: 28px !important;
  text-decoration: none !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
  box-shadow: 0 4px 20px rgba(33,60,71,0.25) !important;
}
/* Carte orange : #ec6052 charte avec calque sombre pour contraste texte blanc */
.ov-stras-investir-cta-card--alt {
  background: linear-gradient(145deg, rgba(0,0,0,0.42) 0%, rgba(0,0,0,0.28) 100%), #ec6052 !important;
  box-shadow: 0 4px 20px rgba(236,96,82,0.30) !important;
}
.ov-stras-investir-cta-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 32px rgba(33,60,71,0.30) !important;
  text-decoration: none !important;
}
.ov-stras-investir-cta-card--alt:hover {
  box-shadow: 0 8px 32px rgba(236,96,82,0.40) !important;
}
.ov-stras-investir-cta-card__icon { font-size: 30px !important; display: block !important; margin-bottom: 12px !important; }
.ov-stras-investir-cta-card__title {
  font-size: 15px !important; font-weight: 800 !important; font-family: 'Montserrat', sans-serif !important;
  color: #ffffff !important; margin-bottom: 10px !important; line-height: 1.3 !important;
}
/* Texte blanc pur - contraste WCAG AAA sur fond sombre */
/* La double règle p + classe force le blanc par-dessus .ov-stras-page-wrapper p */
.ov-stras-investir-cta-card__text,
.ov-stras-investir-cta-card p.ov-stras-investir-cta-card__text,
.ov-stras-page-wrapper .ov-stras-investir-cta-card p,
.ov-stras-page-wrapper .ov-stras-investir-cta-card .ov-stras-investir-cta-card__text {
  font-size: 12.5px !important; line-height: 1.65 !important; font-family: 'Montserrat', sans-serif !important;
  color: rgba(255,255,255,0.95) !important;
  flex-grow: 1 !important;
  margin-bottom: 0 !important;
  padding-bottom: 16px !important;
}
/* Lien aligné en bas via flex */
.ov-stras-investir-cta-card__link {
  display: inline-block !important; font-size: 12px !important; font-weight: 700 !important;
  font-family: 'Montserrat', sans-serif !important; color: #ffffff !important;
  border-bottom: 2px solid rgba(255,255,255,0.50) !important;
  padding-bottom: 2px !important; transition: border-color 0.2s !important;
}
.ov-stras-investir-cta-card:hover .ov-stras-investir-cta-card__link {
  border-color: rgba(255,255,255,0.95) !important;
}

/* ===== SIDEBAR BLOC 2 (masquée) ===== */
.ov-stras-sidebar--bloc2 { display: none !important; }

/* ===== RESPONSIVE ===== */
@media (max-width: 900px) {
  .ov-stras-content-grid { grid-template-columns: 1fr !important; gap: 40px !important; }
  .ov-stras-sidebar { position: static !important; }
  .ov-stras-quartier-grid { grid-template-columns: 1fr !important; }
  .ov-stras-chiffres-band { grid-template-columns: 1fr 1fr !important; }
  .ov-stras-principe-visual { grid-template-columns: 1fr !important; gap: 12px !important; }
  .ov-stras-principe-arrow { transform: rotate(90deg) !important; padding: 4px 0 !important; }
  .ov-stras-page-wrapper { padding: 0 20px !important; }
  .ov-stras-hero__content { padding: 60px 20px 48px !important; }
  .ov-stras-cta-band { padding: 40px 20px !important; }
  .ov-stras-breadcrumb__inner { padding: 0 20px !important; }
  .ov-stras-invest-grid { grid-template-columns: 1fr !important; }
  .ov-stras-cta-band__btns { flex-direction: column !important; align-items: center !important; }
  .ov-stras-btn-secondary { width: 100% !important; justify-content: center !important; }
  .ov-stras-section-img img { width: 90% !important; height: 300px !important; }
  .ov-stras-investir-cards { grid-template-columns: 1fr !important; }
  .ov-stras-investir-cta-grid { grid-template-columns: 1fr !important; }
  .ov-stras-article-link-block { flex-direction: column !important; gap: 10px !important; }
  .ov-stras-annonces-section { padding-right: 20px !important; }
}
@media (max-width: 480px) {
  .ov-stras-hero__title { font-size: 22px !important; }
  .ov-stras-btn-primary { width: 100% !important; justify-content: center !important; }
  .ov-stras-chiffres-band { grid-template-columns: 1fr 1fr !important; }
  .ov-stras-section-img img { width: 100% !important; height: 240px !important; }
  .ov-stras-investir-cta-card { padding: 22px 20px !important; }
}/* End custom CSS */