:root {
  --obt-accent-color: #d6b569;
  --obt-accent-contrast-color: #111111;
  --obt-secondary-color: #ababab;
  --obt-background-color: #ffffff;
  --obt-surface-color: #f7f4ef;
  --obt-surface-alt-color: #ffffff;
  --obt-text-color: #222222;
  --obt-muted-text-color: #666666;
  --obt-border-color: #e5e0d7;
  --obt-link-color: #a2762f;
  --obt-link-hover-color: #6f4a13;
  --obt-header-background: #000000;
  --obt-header-text-color: #ffffff;
  --obt-header-link-hover-color: #d6b569;
  --obt-nav-active-color: #d6b569;
  --obt-footer-background: #111111;
  --obt-footer-text-color: #ffffff;
  --obt-footer-link-color: #d6b569;
  --obt-button-background: #d6b569;
  --obt-button-text-color: #111111;
  --obt-button-border-color: #d6b569;
  --obt-button-hover-background: #111111;
  --obt-button-hover-text-color: #ffffff;
  --obt-button-hover-border-color: #111111;
  --obt-button-focus-ring-color: #d6b569;
  --obt-hero-background-color: #111111;
  --obt-hero-text-color: #ffffff;
  --obt-hero-overlay-color: #000000;
  --obt-form-background: #ffffff;
  --obt-form-border-color: #d8d8d8;
  --obt-success-color: #15803d;
  --obt-warning-color: #b7791f;
  --obt-danger-color: #b42318;
  --theme-title-frame-main: #111111;
  --theme-title-frame-main-light: #111111;
  --theme-title-frame-main-dark: #ffffff;
  --theme-title-frame-accent: #da2021;
  --theme-title-frame-width: fit-content;
  --theme-title-frame-height: auto;
  --theme-title-frame-line-width: 80px;
  --theme-title-frame-thickness: 1px;
  --theme-title-frame-padding-x: 80px;
  --theme-title-frame-padding-top: 40px;
  --theme-title-frame-padding-bottom: 30px;
  --theme-title-frame-text-gap: 50px;
  --obt-button-radius: 2px;
  --obt-card-radius: 4px;
  --obt-input-radius: 2px;
  --obt-image-radius: 4px;
  --obt-logo-width: 53px;
  --obt-container-width: 1206px;
  --obt-header-height: 0px;
  --obt-hero-min-height: 240px;
  --obt-section-spacing: 39px;
  --obt-content-density: 0.78;
  --obt-button-height: 42px;
  --obt-button-padding-x: 22px;
  --obt-button-border-width: 1px;
  --obt-button-focus-ring-width: 3px;
  --obt-button-group-gap: 12px;
  --obt-shadow: 0 24px 70px rgba(17, 24, 39, .22);
  --obt-transition-speed: 160ms;
  --obt-font-body: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --obt-font-heading: Oswald, Arial, sans-serif;
  --obt-font-ui: Oswald, Arial, sans-serif;
  --obt-body-font-size: 16px;
  --obt-body-line-height: 1.2;
  --obt-paragraph-spacing: 18px;
  --obt-lead-font-size: 16px;
  --obt-lead-line-height: 1.55;
  --obt-h1-font-size: 47px;
  --obt-h2-font-size: 36px;
  --obt-h3-font-size: 26px;
  --obt-heading-line-height: 1.14;
  --obt-heading-letter-spacing: 0.2px;
  --obt-heading-weight: 700;
  --obt-button-font-size: 13px;
  --obt-button-font-weight: 600;
  --obt-button-letter-spacing: 0.3px;
  --obt-module-card-gap: 19px;
  --obt-module-card-padding: 20px;
  --obt-module-media-gap: 28px;
  --obt-module-media-min-height: 280px;
  --obt-module-gallery-columns: 3;
  --obt-module-gallery-gap: 18px;
  --obt-module-gallery-thumb-height: 240px;
  --obt-module-dynamic-columns: 3;
  --obt-module-metrics-card-height: 150px;
  --obt-module-icon-size: 34px;
  --obt-tablet-module-columns: 2;
  --obt-mobile-section-spacing: 42px;
  --obt-mobile-module-gap: 18px;
  --obt-mobile-card-padding: 18px;
  --obt-mobile-gallery-thumb-height: auto;
  --obt-mobile-logo-width: 180px;
  --obt-mobile-title-scale: 0.82;
  --obt-mobile-text-scale: 0.96;
  --obt-menu-font-weight: 900;
  --obt-heading-transform: none;
  --obt-button-text-transform: none;
  --obt-header-text-size: 12px;
  --obt-menu-spacing: 8px;
  --obt-hero-overlay-rgba: rgba(0,0,0,0.050);
  --obt-hero-content-width: 1071px;
}

/* Norme front-office : toutes les grandes familles visuelles consomment les mêmes variables. */
html, body { background: var(--obt-background-color); color: var(--obt-text-color); font-family: var(--obt-font-body)!important; font-size: var(--obt-body-font-size); line-height: var(--obt-body-line-height); }
body, main, section, article, p, li, input, textarea, select, label, .cms-front-page, .obt-public-page, .cms-content, .obt-home-section, .page-content { font-family: var(--obt-font-body)!important; }
.container, .obt-header-inner, .cms-content .container { max-width: var(--obt-container-width)!important; }
h1, h2, h3, h4, h5, h6, .title h2, .slide-title2, .slide-kicker, .cms-block-title, .event-title, .press-title, .member-title { font-family: var(--obt-font-heading)!important; font-weight: var(--obt-heading-weight)!important; line-height: var(--obt-heading-line-height)!important; letter-spacing: var(--obt-heading-letter-spacing)!important; text-transform: var(--obt-heading-transform)!important; color: var(--obt-text-color); }
h1, .page-title h1, .event-public-hero h1, .press-article-card h1, .reservation-confirmation-card h1, .account-card h1, .slide-title2 { font-size: clamp(32px, 5vw, var(--obt-h1-font-size))!important; }
h2, .title h2, .cms-block-title h2, .cms-block-title h3, .section-title { font-size: clamp(24px, 3.6vw, var(--obt-h2-font-size))!important; }
h3, .event-card h3, .press-card h3, .member-card h3, .obt-highlight-card h3, .media-public-body h3, .agenda-public-body h3 { font-size: clamp(18px, 2.3vw, var(--obt-h3-font-size))!important; }
p, .cms-rich-text, .obt-richtext, .cms-content p, .page-content p { font-size: var(--obt-body-font-size)!important; line-height: var(--obt-body-line-height)!important; margin-bottom: var(--obt-paragraph-spacing); }
.lead, .obt-lead, .slide-text, .event-public-main .lead, .press-article-excerpt, .offer-intro { font-size: var(--obt-lead-font-size)!important; line-height: var(--obt-lead-line-height)!important; }
a, .title h2 span, .title span, .fun-fact h3, .event-date, .legal-footer-links a { color: var(--obt-link-color); transition: color var(--obt-transition-speed) ease, background-color var(--obt-transition-speed) ease, border-color var(--obt-transition-speed) ease; }
a:hover, a:focus { color: var(--obt-link-hover-color); }
header, .header, .responsive-header, .obt-public-header { min-height: var(--obt-header-height); background: var(--obt-header-background); color: var(--obt-header-text-color); }
header nav a, .responsive-header a, nav a, .obt-public-header, .obt-public-header * { color: var(--obt-header-text-color); font-family: var(--obt-font-ui)!important; }
header nav a, .responsive-header a, nav a { font-weight: var(--obt-menu-font-weight)!important; }
header nav a:hover, header nav a:focus, .responsive-header a:hover, nav .active > a, nav a.active { color: var(--obt-header-link-hover-color); }
.logo img, .obt-header-logo img, .obt-public-header .obt-header-logo img, .responsive-logo img, .obt-mobile-logo img { width: var(--obt-logo-width)!important; max-width: var(--obt-logo-width)!important; height: auto!important; object-fit: contain!important; }
.hero, .rev_slider_wrapper, .page-title, .main-banner, .cms-front-hero-slider, .obt-client-hero { min-height: var(--obt-hero-min-height); background-color: var(--obt-hero-background-color); color: var(--obt-hero-text-color); }
.hero::before, .main-banner::before { background: var(--obt-hero-overlay-color); }
.site-main > section:not(.cms-front-hero-slider), .site-main .cms-section, .site-main .obt-home-section, .site-main .page-section, .site-main .event-section, .site-main .press-section { padding-top: var(--obt-section-spacing)!important; padding-bottom: var(--obt-section-spacing)!important; }
body.front-template-home .site-main { padding-top: 0!important; }
body.front-template-home .cms-front-hero-slider, body.front-template-home .rev_slider_wrapper, body.front-template-home .main-banner, body.front-template-home .obt-client-hero { margin-top: 0!important; padding-top: 0!important; }
.button, button, .btn-primary, .btn-secondary, input[type="submit"], .event-booking-btn, .front-account-access a, .obt-button, .contact-form button { min-height: var(--obt-button-height); border-radius: var(--obt-button-radius); border-width: var(--obt-button-border-width)!important; border-style: solid!important; border-color: var(--obt-button-border-color); padding-left: var(--obt-button-padding-x)!important; padding-right: var(--obt-button-padding-x)!important; background: var(--obt-button-background); color: var(--obt-button-text-color); font-family: var(--obt-font-ui)!important; font-size: var(--obt-button-font-size)!important; font-weight: var(--obt-button-font-weight)!important; letter-spacing: var(--obt-button-letter-spacing)!important; transition: all var(--obt-transition-speed) ease; }
.button:hover, button:hover, .btn-primary:hover, input[type="submit"]:hover, .event-booking-btn:hover, .front-account-access a:hover, .obt-button:hover { background: var(--obt-button-hover-background); color: var(--obt-button-hover-text-color); border-color: var(--obt-button-hover-border-color); }
.button:focus-visible, button:focus-visible, .btn-primary:focus-visible, .btn-secondary:focus-visible, input[type="submit"]:focus-visible, .event-booking-btn:focus-visible, .front-account-access a:focus-visible, .obt-button:focus-visible, .cms-button:focus-visible { outline: var(--obt-button-focus-ring-width) solid var(--obt-button-focus-ring-color)!important; outline-offset: 3px!important; }
.obt-button-group, .cms-button-group, .obt-hero-actions, .cms-block-actions, .front-account-access { gap: var(--obt-button-group-gap)!important; }
.theme-btn, .obt-button, .event-booking-btn { border-width: var(--obt-button-border-width)!important; padding-left: var(--obt-button-padding-x)!important; padding-right: var(--obt-button-padding-x)!important; letter-spacing: var(--obt-button-letter-spacing)!important; }
input, textarea, select { border-radius: var(--obt-input-radius)!important; border-color: var(--obt-form-border-color)!important; background: var(--obt-form-background)!important; color: var(--obt-text-color)!important; font-family: var(--obt-font-ui)!important; }
.panel, .card, .media-card, .event-card, .account-panel, .press-card, .member-card, .booking-card, .sponsor-card, .obt-card, .obt-highlight-card { border-radius: var(--obt-card-radius)!important; background: var(--obt-surface-color)!important; border-color: var(--obt-border-color)!important; box-shadow: var(--obt-shadow)!important; }
.media-card img, .event-card img, .press-card img, .member-card img { border-radius: var(--obt-image-radius); }
.muted, .text-muted, small, .event-location, .article-meta, .cms-meta { color: var(--obt-muted-text-color)!important; }
footer, .bottom-footer, .obt-public-footer { background: var(--obt-footer-background)!important; color: var(--obt-footer-text-color)!important; }
footer a, .bottom-footer a, footer .contact-info li { color: var(--obt-footer-link-color)!important; }
footer a:hover, .bottom-footer a:hover { color: var(--obt-footer-text-color)!important; }
footer .button, footer button { background: var(--obt-accent-color); color: var(--obt-accent-contrast-color); }
.front-account-access a { border-color: var(--obt-accent-color); color: var(--obt-accent-color); }
.theme-accent-bg { background: var(--obt-accent-color); }
.theme-surface-bg { background: var(--obt-surface-color); }
.alert-success, .status-success { color: var(--obt-success-color); }
.alert-warning, .status-warning { color: var(--obt-warning-color); }
.alert-danger, .status-danger, .error { color: var(--obt-danger-color); }
.cms-component .obt-card-grid,
.cms-component .obt-highlight-grid,
.cms-component .cms-dynamic-events,
.cms-component .cms-dynamic-members,
.cms-component .obt-member-grid { display: grid!important; grid-template-columns: repeat(var(--obt-module-dynamic-columns), minmax(0, 1fr))!important; gap: var(--obt-module-card-gap)!important; }
.cms-component .obt-info-card,
.cms-component .obt-highlight-card,
.cms-component .cms-event-card,
.cms-component .cms-member-card,
.cms-component .cms-metric-item { padding: var(--obt-module-card-padding); border-radius: var(--obt-card-radius); }
.cms-component .cms-auto-intro { max-width: 820px; margin: 0 auto calc(var(--obt-module-card-gap) * 1.1)!important; text-align: center; }
.cms-media-text { display: grid!important; grid-template-columns: minmax(0, var(--cms-media-column, 48%)) minmax(0, 1fr)!important; gap: var(--obt-module-media-gap)!important; align-items: center!important; }
.cms-image-position-right .cms-media { order: 2!important; }
.cms-image-position-right .cms-media-text-copy { order: 1!important; }
.cms-image-position-left .cms-media { order: 1!important; }
.cms-image-position-left .cms-media-text-copy { order: 2!important; }
.cms-media-text .cms-media img,
.cms-media-text .cms-media video { width: 100%!important; min-height: var(--obt-module-media-min-height)!important; max-height: calc(var(--obt-module-media-min-height) * 1.55)!important; object-fit: cover!important; }
.cms-block-image_text .cms-media-text .cms-media img,
.cms-block-image_text .cms-media-text .cms-media video { width: 100%!important; height: auto!important; min-height: 0!important; max-height: none!important; aspect-ratio: auto!important; object-fit: contain!important; object-position: center center!important; }
.cms-block-image_text,
.cms-public-page .cms-block.cms-block-image_text { background: var(--obt-image-text-module-bg, #ffffff)!important; }
.cms-block-image_text > .container { background: transparent!important; }
.cms-gallery-grid { display: grid!important; grid-template-columns: repeat(var(--obt-module-gallery-columns), minmax(0, 1fr))!important; gap: var(--obt-module-gallery-gap)!important; }
.cms-gallery-grid .cms-media { margin: 0!important; overflow: hidden!important; border-radius: var(--obt-image-radius)!important; }
.cms-gallery-grid .cms-media img { width: 100%!important; height: var(--obt-module-gallery-thumb-height)!important; object-fit: cover!important; transition: transform var(--obt-transition-speed) ease, opacity var(--obt-transition-speed) ease!important; }
.cms-gallery-grid a:hover img,
.cms-gallery-grid a:focus img { transform: scale(1.035); opacity: .94; }
.cms-block-gallery,
.cms-public-page .cms-block.cms-block-gallery { background: var(--obt-gallery-module-bg, #ffffff)!important; background-color: var(--obt-gallery-module-bg, #ffffff)!important; }
.cms-block-gallery > .container { background: transparent!important; }
.cms-gallery-grid.cms-gallery-layout-mosaic { grid-template-columns: repeat(4, minmax(0, 1fr))!important; gap: clamp(8px, 1.2vw, 14px)!important; }
.cms-gallery-grid.cms-gallery-layout-triptych,
.cms-gallery-grid.cms-gallery-layout-three_equal { grid-template-columns: repeat(3, minmax(0, 1fr))!important; }
.cms-gallery-grid.cms-gallery-layout-featured_left { grid-template-columns: repeat(3, minmax(0, 1fr))!important; grid-auto-flow: dense; }
.cms-gallery-grid.cms-gallery-layout-featured_left .cms-gallery-item:first-child { grid-column: span 2; grid-row: span 2; }
.cms-gallery-grid.cms-gallery-layout-featured_center { grid-template-columns: repeat(4, minmax(0, 1fr))!important; grid-auto-flow: dense; }
.cms-gallery-grid.cms-gallery-layout-featured_center .cms-gallery-item:first-child { grid-column: 2 / span 2; grid-row: span 2; }
.cms-gallery-caption { display: grid; gap: 4px; padding: 12px 14px; font-family: var(--obt-font-ui); line-height: 1.35; background: rgba(255,255,255,.96); color: #111; }
.cms-gallery-caption strong { font-size: .98rem; font-weight: 700; }
.cms-gallery-caption span,
.cms-gallery-caption em { font-size: .88rem; }
.cms-gallery-caption em { opacity: .78; font-style: normal; }
.cms-gallery-caption-below .cms-media,
.cms-gallery-caption-below_modal .cms-media { display: flex; flex-direction: column; background: #fff; }
.cms-gallery-caption-hover .cms-gallery-caption,
.cms-gallery-caption-hover_modal .cms-gallery-caption { position: absolute; left: 0; right: 0; bottom: 0; transform: translateY(100%); transition: transform .28s ease; background: linear-gradient(180deg, rgba(12,12,14,.18), rgba(12,12,14,.86)); color: #fff; }
.cms-gallery-caption-hover .cms-gallery-item:hover .cms-gallery-caption,
.cms-gallery-caption-hover .cms-gallery-item:focus-within .cms-gallery-caption,
.cms-gallery-caption-hover_modal .cms-gallery-item:hover .cms-gallery-caption,
.cms-gallery-caption-hover_modal .cms-gallery-item:focus-within .cms-gallery-caption { transform: translateY(0); }
.cms-custom-metrics { display: grid!important; grid-template-columns: repeat(var(--obt-module-dynamic-columns), minmax(0, 1fr))!important; gap: var(--obt-module-card-gap)!important; }
.cms-custom-metrics .cms-metric-item { min-height: var(--obt-module-metrics-card-height)!important; display: grid!important; place-items: center!important; text-align: center!important; }
.cms-metric-icon,
.cms-block-title .cms-title-icon { font-size: var(--obt-module-icon-size)!important; }
.cms-dynamic-events .cms-event-card > span { color: var(--obt-accent-color)!important; font-family: var(--obt-font-ui)!important; font-weight: 700!important; }
.cms-dynamic-members .cms-member-card > strong { color: var(--obt-muted-text-color)!important; font-family: var(--obt-font-ui)!important; }
@media (min-width: 768px) and (max-width: 1199px) {
  .cms-component .obt-card-grid,
  .cms-component .obt-highlight-grid,
  .cms-component .cms-dynamic-events,
  .cms-component .cms-dynamic-members,
  .cms-component .obt-member-grid,
  .cms-custom-metrics,
  .cms-gallery-grid { grid-template-columns: repeat(var(--obt-tablet-module-columns), minmax(0, 1fr))!important; }
}
@media (max-width: 991px) {
  .cms-component .obt-card-grid,
  .cms-component .obt-highlight-grid,
  .cms-component .cms-dynamic-events,
  .cms-component .cms-dynamic-members,
  .cms-component .obt-member-grid,
  .cms-custom-metrics,
  .cms-gallery-grid,
  .cms-media-text { grid-template-columns: 1fr!important; gap: var(--obt-mobile-module-gap)!important; }
  .cms-component .obt-info-card,
  .cms-component .obt-highlight-card,
  .cms-component .cms-event-card,
  .cms-component .cms-member-card,
  .cms-component .cms-metric-item { padding: var(--obt-mobile-card-padding)!important; }
  .cms-image-position-right .cms-media,
  .cms-image-position-left .cms-media,
  .cms-image-position-right .cms-media-text-copy,
  .cms-image-position-left .cms-media-text-copy { order: initial!important; }
  .cms-media-text .cms-media img,
  .cms-media-text .cms-media video { min-height: 0!important; height: auto!important; max-height: none!important; }
  .cms-gallery-grid .cms-media img { min-height: 0!important; height: var(--obt-mobile-gallery-thumb-height)!important; max-height: none!important; }
  .cms-gallery-grid.cms-gallery-layout-mosaic,
  .cms-gallery-grid.cms-gallery-layout-triptych,
  .cms-gallery-grid.cms-gallery-layout-three_equal,
  .cms-gallery-grid.cms-gallery-layout-featured_left,
  .cms-gallery-grid.cms-gallery-layout-featured_center { grid-template-columns: 1fr!important; }
  .cms-gallery-grid.cms-gallery-layout-featured_left .cms-gallery-item:first-child,
  .cms-gallery-grid.cms-gallery-layout-featured_center .cms-gallery-item:first-child { grid-column: auto!important; grid-row: auto!important; }
  .cms-block-title.cms-title-frame-on,
  .cms-block-title.cms-title-frame-auto { max-width: calc(100vw - 32px)!important; padding-left: min(var(--theme-title-frame-padding-x), 44px)!important; padding-right: min(var(--theme-title-frame-padding-x), 44px)!important; }
}

body.front-template-home .obt-public-header{position:relative!important;inset:auto!important;background:var(--obt-header-background)!important;}
body:not(.front-template-home) .obt-public-header{position:absolute!important;inset:0 0 auto 0!important;z-index:1100!important;background:rgba(0,0,0,0.900)!important;}

.obt-public-header, .obt-public-header .obt-header-inner { min-height: var(--obt-header-height)!important; }
.obt-public-header .obt-header-inner { padding-top: max(0px, calc(var(--obt-header-height) / 8))!important; padding-bottom: max(0px, calc(var(--obt-header-height) / 8))!important; }
.obt-public-header nav li a, .obt-public-header nav li a .obt-menu-label, .responsive-header.obt-responsive-header ul li a { font-family: var(--obt-font-ui)!important; font-size: var(--obt-header-text-size)!important; font-weight: var(--obt-menu-font-weight)!important; color: var(--obt-header-text-color)!important; }
.obt-public-header nav a.is-current, .obt-public-header nav a.is-current .obt-menu-label, .responsive-header.obt-responsive-header a.is-current, .responsive-header.obt-responsive-header a.is-current .obt-menu-label { color: var(--obt-nav-active-color)!important; }
.obt-public-header nav > ul, .obt-header-nav > ul { gap: 0 var(--obt-menu-spacing)!important; }
.obt-public-header .logo img, .obt-public-header .obt-header-logo img, .responsive-logo img { width: var(--obt-logo-width)!important; max-width: var(--obt-logo-width)!important; }

@media (min-width:981px){html body .obt-public-header{display:block!important;position:fixed!important;top:0!important;right:0!important;bottom:auto!important;left:0!important;width:100%!important;opacity:1!important;visibility:visible!important;transform:none!important;z-index:2147480000!important;background:var(--obt-header-background)!important;border-bottom:0!important;outline:0!important;box-shadow:none!important;}}

.slider .slide-title2, .cms-front-hero-slider .slide-title2, .obt-client-hero .slide-title2, .slider .slide-kicker { font-family: var(--obt-font-heading)!important; }
.slider .slide-title2, .cms-front-hero-slider .slide-title2, .obt-client-hero .slide-title2 { color: var(--hero-title-color, var(--obt-hero-text-color))!important; }
.slider .slide-kicker, .cms-front-hero-slider .slide-kicker, .obt-client-hero .slide-kicker { color: var(--hero-subtitle-color, var(--obt-hero-text-color))!important; }
.slider .slide-text, .cms-front-hero-slider .slide-text, .obt-client-hero .slide-text { max-width: var(--obt-hero-content-width)!important; font-family: var(--obt-font-body)!important; color: var(--hero-text-color, var(--obt-hero-text-color))!important; }
.slider .slide-text *, .cms-front-hero-slider .slide-text *, .obt-client-hero .slide-text * { color: inherit!important; }
.tp-banner > ul > li::after, .cms-front-hero-slider .tp-banner > ul > li::after, .obt-client-hero .tp-banner > ul > li::after { background: var(--obt-hero-overlay-rgba)!important; }
.button, button, .btn-primary, .btn-secondary, input[type="submit"], .event-booking-btn, .front-account-access a, .obt-button { background:var(--obt-button-background)!important;color:var(--obt-button-text-color)!important;border-color:var(--obt-button-border-color)!important; font-size: var(--obt-button-font-size)!important; font-weight: var(--obt-button-font-weight)!important; text-transform: var(--obt-button-text-transform)!important; border-width: var(--obt-button-border-width)!important; padding-left: var(--obt-button-padding-x)!important; padding-right: var(--obt-button-padding-x)!important; letter-spacing: var(--obt-button-letter-spacing)!important; }
.panel, .card, .media-card, .event-card, .account-panel, .press-card, .member-card, .booking-card, .sponsor-card, .obt-highlight-card { box-shadow:none!important;border-color:var(--obt-border-color)!important; }
input, textarea, select { background:var(--obt-form-background)!important;border-color:var(--obt-form-border-color)!important; }
.media-card img, .event-card img, .press-card img, .member-card img { border-radius: 4px; }
a:not(.button):not(.btn-primary):not(.btn-secondary):not(.obt-button):not(.cms-button):not(.obt-button-catalog) { text-decoration:none; }
.obt-slider-nav,
.cms-front-hero-slider .obt-slider-nav,
.obt-client-hero .obt-slider-nav,
.rev_slider_wrapper .tparrows,
.rev_slider_wrapper .tp-leftarrow,
.rev_slider_wrapper .tp-rightarrow,
.rev_slider .tparrows,
.rev_slider .tp-leftarrow,
.rev_slider .tp-rightarrow {
  background: transparent!important;
  border-color: transparent!important;
  box-shadow: none!important;
}
.cms-front-hero-slider .obt-slider-nav,
.obt-client-hero .obt-slider-nav {
  opacity: .18;
  color: rgba(255,255,255,.58)!important;
  text-shadow: 0 2px 12px rgba(0,0,0,.58)!important;
}
.cms-front-hero-slider:hover .obt-slider-nav,
.cms-front-hero-slider:focus-within .obt-slider-nav,
.obt-client-hero:hover .obt-slider-nav,
.obt-client-hero:focus-within .obt-slider-nav {
  opacity: .56;
}
.cms-front-hero-slider .obt-slider-nav:hover,
.cms-front-hero-slider .obt-slider-nav:focus,
.obt-client-hero .obt-slider-nav:hover,
.obt-client-hero .obt-slider-nav:focus {
  background: transparent!important;
  color: #fff!important;
  opacity: .92;
}

/* v0.5.59 — stabilisation responsive/accessibilité du slider */
.cms-front-hero-slider .tp-banner:focus-visible,.obt-client-hero .tp-banner:focus-visible{box-shadow:inset 0 0 0 2px var(--obt-accent-color)!important;}
.cms-front-hero-slider .tp-banner>ul>li,.obt-client-hero .tp-banner>ul>li{background:var(--obt-hero-background-color)!important;}
.cms-front-hero-slider .slide-title2:empty,.cms-front-hero-slider .slide-kicker:empty,.cms-front-hero-slider .slide-text:empty,.obt-client-hero .slide-title2:empty,.obt-client-hero .slide-kicker:empty,.obt-client-hero .slide-text:empty{display:none!important;}
.cms-front-hero-slider .obt-hero-actions .obt-button,.obt-client-hero .obt-hero-actions .obt-button{max-width:100%;white-space:normal;text-align:center;}
.cms-front-hero-slider .obt-slider-dots button[aria-current="true"],.obt-client-hero .obt-slider-dots button[aria-current="true"]{transform:scale(1.08)!important;}
@media (max-width:760px){.cms-front-hero-slider,.cms-front-hero-slider .tp-banner-container,.cms-front-hero-slider .tp-banner,.cms-front-hero-slider .tp-banner>ul,.cms-front-hero-slider .tp-banner>ul>li,.obt-client-hero,.obt-client-hero .tp-banner-container,.obt-client-hero .tp-banner,.obt-client-hero .tp-banner>ul,.obt-client-hero .tp-banner>ul>li{min-height:clamp(520px,72vh,660px)!important}.cms-front-hero-slider .tp-banner>ul>li,.obt-client-hero .tp-banner>ul>li{padding:78px 18px 92px!important}.cms-front-hero-slider .slide-title2,.obt-client-hero .slide-title2{font-size:clamp(25px,8.2vw,38px)!important;line-height:1.06!important}.cms-front-hero-slider .slide-text,.obt-client-hero .slide-text{max-height:8.8em!important;font-size:14px!important;line-height:1.55!important}.cms-front-hero-slider .obt-hero-actions,.obt-client-hero .obt-hero-actions{display:flex!important;width:min(100%,340px)!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important}.cms-front-hero-slider .obt-hero-actions .obt-button,.obt-client-hero .obt-hero-actions .obt-button{width:100%!important;}}
@media (prefers-reduced-motion:reduce){.cms-front-hero-slider *,.obt-client-hero *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;}}

/* Boutons Hero : rendu pris en charge par la bibliothèque locale normalisée obt-button-library.css. */




/* Catalogue local des boutons Hero chargé par assets/page-builder/buttons/obt-button-library.css. */


/* v0.6.29 — Galerie : ratios natifs, survol centré, largeur album étendue. */
.cms-block-gallery.cms-gallery-width-wide > .container,
.cms-public-page .cms-block.cms-block-gallery.cms-gallery-width-wide > .container,
.builder-live-render.cms-block-gallery.cms-gallery-width-wide > .container,
.builder-block-preview .cms-block-gallery.cms-gallery-width-wide > .container,
.cms-builder-preview-frame .cms-block-gallery.cms-gallery-width-wide > .container {
    width: min(100%, 1920px) !important;
    max-width: 1920px !important;
}
.cms-gallery-grid,
.cms-gallery-grid.cms-gallery-layout-mosaic,
.cms-gallery-grid.cms-gallery-layout-triptych,
.cms-gallery-grid.cms-gallery-layout-three_equal,
.cms-gallery-grid.cms-gallery-layout-featured_left,
.cms-gallery-grid.cms-gallery-layout-featured_center {
    align-items: start !important;
}
.cms-gallery-grid.cms-gallery-layout-mosaic {
    display: block !important;
    columns: 4 220px !important;
    column-gap: clamp(8px, 1.2vw, 16px) !important;
}
.cms-gallery-grid.cms-gallery-layout-mosaic .cms-gallery-item {
    display: block !important;
    break-inside: avoid !important;
    margin: 0 0 clamp(8px, 1.2vw, 16px) !important;
}
.cms-gallery-grid .cms-gallery-item {
    color: inherit !important;
    text-decoration: none !important;
    cursor: zoom-in !important;
}
.cms-gallery-grid .cms-media {
    position: relative !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    background: transparent !important;
}
.cms-gallery-grid .cms-media img,
.builder-block-preview .cms-gallery-grid .cms-media img,
.cms-builder-preview-frame .cms-gallery-grid .cms-media img,
.builder-live-render .cms-gallery-grid .cms-media img,
.builder-canvas-render .cms-gallery-grid .cms-media img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
}
.cms-gallery-grid .cms-gallery-item.is-portrait .cms-media img {
    width: auto !important;
    max-width: 100% !important;
    max-height: min(760px, 78vh) !important;
    margin-inline: auto !important;
}
.cms-gallery-caption-hover .cms-gallery-caption,
.cms-gallery-caption-hover_modal .cms-gallery-caption {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 7px !important;
    padding: clamp(16px, 3vw, 28px) !important;
    text-align: center !important;
    font-family: var(--obt-font-body, system-ui, sans-serif) !important;
    background: linear-gradient(180deg, rgba(10,10,12,.22), rgba(10,10,12,.78)) !important;
    color: #fff !important;
    opacity: 0 !important;
    transform: none !important;
    transition: opacity .28s ease !important;
}
.cms-gallery-caption-hover .cms-gallery-caption strong,
.cms-gallery-caption-hover_modal .cms-gallery-caption strong {
    font-family: var(--obt-font-heading, inherit) !important;
    font-size: clamp(1rem, 1.5vw, 1.35rem) !important;
    line-height: 1.2 !important;
}
.cms-gallery-caption-hover .cms-gallery-caption span,
.cms-gallery-caption-hover_modal .cms-gallery-caption span {
    max-width: 44rem !important;
    line-height: 1.55 !important;
}
.cms-gallery-caption-hover .cms-gallery-item:hover .cms-gallery-caption,
.cms-gallery-caption-hover .cms-gallery-item:focus-within .cms-gallery-caption,
.cms-gallery-caption-hover_modal .cms-gallery-item:hover .cms-gallery-caption,
.cms-gallery-caption-hover_modal .cms-gallery-item:focus-within .cms-gallery-caption {
    opacity: 1 !important;
    transform: none !important;
}
.cms-gallery-lightbox {
    position: fixed !important;
    inset: 0 !important;
    z-index: 20000 !important;
    display: grid !important;
    place-items: center !important;
}
.cms-gallery-lightbox[hidden] { display: none !important; }
@media (max-width: 991px) {
    .cms-gallery-grid.cms-gallery-layout-mosaic {
        columns: 1 !important;
    }
    .cms-gallery-grid .cms-gallery-item.is-portrait .cms-media img {
        width: 100% !important;
        max-height: none !important;
    }
}
