/*
 * OBT Page Builder Button Library — v0.6.01
 * Bibliothèque locale normalisée.
 * Correction v0.5.93 : les entrées dites "style" sont des FORMES neutres.
 * Extension v0.5.97 : boutons ajoutables/supprimables, icônes optionnelles et previews relatives.
 * Aucune forme n'impose de couleur : fond, texte, bordure et hover restent contrôlés par variables.
 */

.obt-button-catalog {
    --obt-btn-bg: var(--obt-button-color, #d6b569);
    --obt-btn-fg: var(--obt-button-text-color, #111111);
    --obt-btn-border: var(--obt-button-border-color, var(--obt-btn-bg));
    --obt-btn-hover-bg: var(--obt-button-hover-color, var(--obt-btn-bg));
    --obt-btn-hover-fg: var(--obt-button-hover-text-color, #ffffff);
    --obt-btn-hover-border: var(--obt-button-hover-border-color, var(--obt-btn-hover-bg));
    --obt-lib-bg: var(--obt-btn-bg);
    --obt-lib-fg: var(--obt-btn-fg);
    --obt-lib-border: var(--obt-btn-border);
    --obt-lib-hover-bg: var(--obt-btn-hover-bg);
    --obt-lib-hover-fg: var(--obt-btn-hover-fg);
    --obt-lib-hover-border: var(--obt-btn-hover-border);
    --obt-shape-radius: 3px;
    --obt-shape-border-width: 1px;
    --obt-shape-border-style: solid;
    --obt-shape-padding-y: 9px;
    --obt-shape-padding-x: 18px;
    --obt-shape-min-height: 38px;
    --obt-shape-min-width: 0;
    --obt-shape-width: auto;
    --obt-shape-shadow: none;
    --obt-shape-clip: none;
    --obt-shape-backdrop: none;
    --obt-shape-font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --obt-shape-font-size: 12px;
    --obt-shape-font-weight: 800;
    --obt-shape-letter-spacing: .035em;
    --obt-shape-text-transform: none;
    --obt-shape-text-decoration: none;
    --obt-shape-text-underline-offset: auto;
    appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
    min-height: var(--obt-shape-min-height) !important;
    min-width: var(--obt-shape-min-width) !important;
    width: var(--obt-shape-width) !important;
    max-width: 100% !important;
    padding: var(--obt-shape-padding-y) var(--obt-shape-padding-x) !important;
    border-width: var(--obt-shape-border-width) !important;
    border-style: var(--obt-shape-border-style) !important;
    border-color: var(--obt-btn-border) !important;
    border-radius: var(--obt-shape-radius) !important;
    background: var(--obt-btn-bg) !important;
    color: var(--obt-btn-fg) !important;
    box-shadow: var(--obt-shape-shadow) !important;
    clip-path: var(--obt-shape-clip) !important;
    backdrop-filter: var(--obt-shape-backdrop) !important;
    text-decoration: var(--obt-shape-text-decoration) !important;
    text-underline-offset: var(--obt-shape-text-underline-offset) !important;
    text-align: center !important;
    font-family: var(--obt-shape-font-family) !important;
    font-size: var(--obt-shape-font-size) !important;
    font-weight: var(--obt-shape-font-weight) !important;
    line-height: 1.15 !important;
    letter-spacing: var(--obt-shape-letter-spacing) !important;
    text-transform: var(--obt-shape-text-transform) !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    cursor: pointer !important;
    transform: translateZ(0) !important;
    transition: transform .22s ease, box-shadow .22s ease, filter .22s ease, opacity .22s ease, background .22s ease, color .22s ease, border-color .22s ease, letter-spacing .22s ease, padding .22s ease !important;
}
.obt-button-catalog::before,
.obt-button-catalog::after {
    content: "" !important;
    position: absolute !important;
    pointer-events: none !important;
    transition: transform .28s ease, opacity .28s ease, inset .28s ease, clip-path .28s ease, background .28s ease !important;
}
.obt-button-catalog:hover,
.obt-button-catalog:focus-visible,
.obt-button-catalog.is-preview-playing {
    background: var(--obt-btn-hover-bg) !important;
    color: var(--obt-btn-hover-fg) !important;
    border-color: var(--obt-btn-hover-border) !important;
}
.obt-button-catalog:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--obt-btn-border) 62%, #ffffff) !important;
    outline-offset: 3px !important;
}
.obt-button-catalog.builder-button-preview-sample,
.builder-button-choice-sample.obt-button-catalog {
    min-width: 118px !important;
    width: auto !important;
}
.builder-button-choice-grid .builder-button-choice-sample.obt-button-catalog {
    min-width: 104px !important;
    max-width: 132px !important;
    min-height: 32px !important;
    padding: 6px 10px !important;
    font-size: 11px !important;
    overflow: hidden !important;
}
.builder-button-choice-grid[data-choice-kind="style"] .builder-button-choice-sample.obt-button-catalog {
    color: #111111 !important;
    background: #ffffff !important;
}

/* Formes neutres v0.5.95 : sélection compacte et diversifiée, aucune couleur prédéfinie. */
.obt-button-catalog.obt-btn-style-lib-style-solid-gold{--obt-shape-radius:2px;--obt-shape-border-width:1px;--obt-shape-padding-x:18px;}
.obt-button-catalog.obt-btn-style-lib-style-outline-gold{--obt-shape-radius:7px;--obt-shape-border-width:1px;--obt-shape-padding-x:18px;}
.obt-button-catalog.obt-btn-style-lib-style-ghost-gold{--obt-shape-radius:4px;--obt-shape-border-width:1px;--obt-shape-border-style:dashed;}
.obt-button-catalog.obt-btn-style-lib-style-soft-gold{--obt-shape-radius:14px;--obt-shape-border-width:1px;--obt-shape-padding-x:19px;}
.obt-button-catalog.obt-btn-style-lib-style-dark-orchestra{--obt-shape-radius:0px;--obt-shape-border-width:1px;--obt-shape-min-height:40px;--obt-shape-padding-x:20px;}
.obt-button-catalog.obt-btn-style-lib-style-light-orchestra{--obt-shape-radius:0px;--obt-shape-border-width:1px;--obt-shape-min-height:34px;--obt-shape-padding-y:7px;--obt-shape-padding-x:13px;}
.obt-button-catalog.obt-btn-style-lib-style-pill-gold{--obt-shape-radius:999px;--obt-shape-border-width:1px;--obt-shape-padding-x:24px;}
.obt-button-catalog.obt-btn-style-lib-style-square-gold{--obt-shape-radius:999px;--obt-shape-border-width:1px;--obt-shape-min-height:34px;--obt-shape-padding-y:7px;--obt-shape-padding-x:14px;--obt-shape-font-size:12px;}
.obt-button-catalog.obt-btn-style-lib-style-minimal-gold{--obt-shape-radius:0px;--obt-shape-border-width:0 0 1px 0;--obt-shape-min-height:30px;--obt-shape-padding-y:5px;--obt-shape-padding-x:4px;--obt-shape-text-decoration:none;}
.obt-button-catalog.obt-btn-style-lib-style-editorial-gold{--obt-shape-radius:0px;--obt-shape-border-width:1px 0;--obt-shape-min-height:30px;--obt-shape-padding-y:5px;--obt-shape-padding-x:6px;--obt-shape-letter-spacing:.08em;}
.obt-button-catalog.obt-btn-style-lib-style-prestige-gold{--obt-shape-radius:3px;--obt-shape-border-width:1px;--obt-shape-shadow:inset 0 0 0 2px color-mix(in srgb,var(--obt-btn-border) 45%,transparent);}
.obt-button-catalog.obt-btn-style-lib-style-stage-gold{--obt-shape-radius:0px;--obt-shape-clip:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%);--obt-shape-padding-x:23px;}
.obt-button-catalog.obt-btn-style-lib-style-frame-gold{--obt-shape-radius:0px;--obt-shape-clip:polygon(0 0,calc(100% - 12px) 0,100% 100%,12px 100%);--obt-shape-padding-x:23px;}
.obt-button-catalog.obt-btn-style-lib-style-double-gold{--obt-shape-radius:3px;--obt-shape-border-width:3px;--obt-shape-border-style:double;--obt-shape-padding-x:18px;}
.obt-button-catalog.obt-btn-style-lib-style-underline-gold{--obt-shape-radius:0px;--obt-shape-border-width:0 0 2px 0;--obt-shape-padding-x:7px;--obt-shape-min-height:31px;}
.obt-button-catalog.obt-btn-style-lib-style-split-left{--obt-shape-radius:2px;--obt-shape-border-width:1px 1px 1px 3px;--obt-shape-padding-x:17px;}
.obt-button-catalog.obt-btn-style-lib-style-cut-corner{--obt-shape-radius:0px;--obt-shape-clip:polygon(9px 0,calc(100% - 9px) 0,100% 9px,100% calc(100% - 9px),calc(100% - 9px) 100%,9px 100%,0 calc(100% - 9px),0 9px);--obt-shape-padding-x:21px;}
.obt-button-catalog.obt-btn-style-lib-style-shadow-gold{--obt-shape-radius:2px;--obt-shape-border-width:1px;--obt-shape-shadow:4px 4px 0 color-mix(in srgb,var(--obt-btn-border) 42%,transparent);}
.obt-button-catalog.obt-btn-style-lib-style-glass-gold{--obt-shape-radius:12px;--obt-shape-border-width:1px;--obt-shape-shadow:inset 0 1px 0 rgba(255,255,255,.25);--obt-shape-backdrop:blur(6px);}
.obt-button-catalog.obt-btn-style-lib-style-ribbon-gold{--obt-shape-radius:0px;--obt-shape-clip:polygon(9% 0,91% 0,100% 50%,91% 100%,9% 100%,0 50%);--obt-shape-padding-x:28px;}
.obt-button-catalog.obt-btn-style-lib-style-mono-gold{--obt-shape-radius:0px;--obt-shape-border-width:1px;--obt-shape-font-family:ui-monospace,SFMono-Regular,Menlo,monospace;--obt-shape-letter-spacing:.09em;--obt-shape-padding-x:15px;}
.obt-button-catalog.obt-btn-style-lib-style-link-gold{--obt-shape-radius:0px;--obt-shape-border-width:0px;--obt-shape-min-height:26px;--obt-shape-padding-y:3px;--obt-shape-padding-x:0px;--obt-shape-text-decoration:underline;--obt-shape-text-underline-offset:5px;}
.obt-button-catalog.obt-btn-style-lib-style-block-gold{--obt-shape-radius:2px;--obt-shape-border-width:1px;--obt-shape-min-width:132px;--obt-shape-padding-x:20px;}
.obt-button-catalog.obt-btn-style-lib-style-invert-gold{--obt-shape-radius:3px;--obt-shape-border-width:1px;--obt-shape-min-height:48px;--obt-shape-padding-x:20px;}
.obt-button-catalog.obt-btn-style-lib-style-outline-fill{--obt-shape-radius:5px;--obt-shape-border-width:2px;--obt-shape-min-height:38px;--obt-shape-padding-x:16px;}
.obt-button-catalog.obt-btn-style-lib-style-brass{--obt-shape-radius:4px;--obt-shape-border-width:1px;--obt-shape-shadow:inset 1px 1px 0 rgba(255,255,255,.32),inset -1px -1px 0 rgba(0,0,0,.18);}
.obt-button-catalog.obt-btn-style-lib-style-opera{--obt-shape-radius:2px;--obt-shape-border-width:1px;--obt-shape-font-family:Georgia,serif;--obt-shape-letter-spacing:.06em;}
.obt-button-catalog.obt-btn-style-lib-style-quiet-border{--obt-shape-radius:5px;--obt-shape-border-width:1px;--obt-shape-min-height:32px;--obt-shape-padding-y:6px;--obt-shape-padding-x:14px;}
.obt-button-catalog.obt-btn-style-lib-style-wide{--obt-shape-radius:2px;--obt-shape-border-width:1px;--obt-shape-letter-spacing:.14em;--obt-shape-padding-x:18px;}
.obt-button-catalog.obt-btn-style-lib-style-thin{--obt-shape-radius:2px;--obt-shape-border-width:1px;--obt-shape-min-height:30px;--obt-shape-padding-y:5px;--obt-shape-padding-x:12px;--obt-shape-font-weight:700;}
.obt-button-catalog.obt-btn-style-lib-style-heavy{--obt-shape-radius:2px;--obt-shape-border-width:2px;--obt-shape-min-height:46px;--obt-shape-font-weight:900;}
.obt-button-catalog.obt-btn-style-lib-style-left-accent{--obt-shape-radius:0px;--obt-shape-border-width:1px;--obt-shape-shadow:inset 4px 0 0 var(--obt-btn-border);--obt-shape-padding-left:22px;}
.obt-button-catalog.obt-btn-style-lib-style-right-accent{--obt-shape-radius:0px;--obt-shape-border-width:1px;--obt-shape-shadow:inset -4px 0 0 var(--obt-btn-border);}
.obt-button-catalog.obt-btn-style-lib-style-diagonal{--obt-shape-radius:0px;--obt-shape-clip:polygon(0 0,calc(100% - 16px) 0,100% 100%,16px 100%);--obt-shape-padding-x:24px;}
.obt-button-catalog.obt-btn-style-lib-style-paper{--obt-shape-radius:1px;--obt-shape-border-width:1px;--obt-shape-shadow:0 2px 0 color-mix(in srgb,var(--obt-btn-border) 18%,transparent);}
.obt-button-catalog.obt-btn-style-lib-style-soft-shadow{--obt-shape-radius:9px;--obt-shape-border-width:1px;--obt-shape-shadow:0 10px 22px rgba(0,0,0,.12);}
.obt-button-catalog.obt-btn-style-lib-style-layered{--obt-shape-radius:3px;--obt-shape-border-width:1px;--obt-shape-shadow:3px 3px 0 color-mix(in srgb,var(--obt-btn-border) 36%,transparent),6px 6px 0 color-mix(in srgb,var(--obt-btn-border) 14%,transparent);}
.obt-button-catalog.obt-btn-style-lib-style-pill-outline{--obt-shape-radius:999px;--obt-shape-border-width:2px;--obt-shape-padding-x:24px;}
.obt-button-catalog.obt-btn-style-lib-style-compact{--obt-shape-radius:3px;--obt-shape-border-width:1px;--obt-shape-min-height:28px;--obt-shape-padding-y:4px;--obt-shape-padding-x:10px;--obt-shape-font-size:11px;}
.obt-button-catalog.obt-btn-style-lib-style-full{--obt-shape-radius:2px;--obt-shape-border-width:1px;--obt-shape-width:min(100%,240px);}
.obt-button-catalog.obt-btn-style-lib-style-nav{--obt-shape-radius:0px;--obt-shape-border-width:0 0 2px 0;--obt-shape-padding-x:6px;--obt-shape-min-height:30px;--obt-shape-letter-spacing:.07em;}
.obt-button-catalog.obt-btn-style-lib-style-ticket{--obt-shape-radius:4px;--obt-shape-border-style:dashed;--obt-shape-border-width:1px;--obt-shape-padding-x:20px;}
.obt-button-catalog.obt-btn-style-lib-style-contrast{--obt-shape-radius:0px;--obt-shape-border-width:2px;--obt-shape-padding-x:20px;}
.obt-button-catalog.obt-btn-style-lib-style-bronze{--obt-shape-radius:6px;--obt-shape-border-width:1px;--obt-shape-shadow:inset 0 -3px 0 rgba(0,0,0,.20);}
.obt-button-catalog.obt-btn-style-lib-style-ivory{--obt-shape-radius:18px;--obt-shape-border-width:1px;--obt-shape-min-height:38px;--obt-shape-padding-x:20px;}
.obt-button-catalog.obt-btn-style-lib-style-crimson{--obt-shape-radius:2px;--obt-shape-border-width:1px;--obt-shape-min-height:46px;--obt-shape-letter-spacing:.05em;}
.obt-button-catalog.obt-btn-style-lib-style-navy{--obt-shape-radius:2px;--obt-shape-border-width:1px;--obt-shape-min-height:50px;--obt-shape-padding-x:16px;}
.obt-button-catalog.obt-btn-style-lib-style-charcoal{--obt-shape-radius:0px;--obt-shape-border-width:1px;--obt-shape-clip:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%);}
.obt-button-catalog.obt-btn-style-lib-style-white-black{--obt-shape-radius:0px;--obt-shape-border-width:1px;--obt-shape-clip:polygon(10px 0,100% 0,100% 100%,0 100%,0 10px);}
.obt-button-catalog.obt-btn-style-lib-style-black-white{--obt-shape-radius:0px;--obt-shape-border-width:1px;--obt-shape-clip:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%);}
.obt-button-catalog.obt-btn-style-lib-style-gradient-warm{--obt-shape-radius:999px;--obt-shape-border-width:1px;--obt-shape-min-height:34px;--obt-shape-padding-x:22px;}
.obt-button-catalog.obt-btn-style-lib-style-gradient-cool{--obt-shape-radius:999px;--obt-shape-border-width:1px;--obt-shape-min-height:48px;--obt-shape-padding-x:24px;}
.obt-button-catalog.obt-btn-style-lib-style-inset{--obt-shape-radius:5px;--obt-shape-border-width:1px;--obt-shape-shadow:inset 0 3px 8px rgba(0,0,0,.18);}
.obt-button-catalog.obt-btn-style-lib-style-top-line{--obt-shape-radius:0px;--obt-shape-border-width:2px 0 0 0;--obt-shape-padding-x:8px;}
.obt-button-catalog.obt-btn-style-lib-style-bottom-line{--obt-shape-radius:0px;--obt-shape-border-width:0 0 2px 0;--obt-shape-padding-x:8px;}
.obt-button-catalog.obt-btn-style-lib-style-angled-left{--obt-shape-radius:0px;--obt-shape-clip:polygon(14px 0,100% 0,100% 100%,14px 100%,0 50%);--obt-shape-padding-left:24px;}
.obt-button-catalog.obt-btn-style-lib-style-angled-right{--obt-shape-radius:0px;--obt-shape-clip:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%);--obt-shape-padding-right:24px;}
.obt-button-catalog.obt-btn-style-lib-style-badge{--obt-shape-radius:999px;--obt-shape-border-width:1px;--obt-shape-min-height:28px;--obt-shape-padding-y:4px;--obt-shape-padding-x:12px;--obt-shape-font-size:11px;}
.obt-button-catalog.obt-btn-style-lib-style-tab{--obt-shape-radius:8px 8px 0 0;--obt-shape-border-width:1px 1px 0 1px;--obt-shape-min-height:36px;}
.obt-button-catalog.obt-btn-style-lib-style-capsule-split{--obt-shape-radius:999px;--obt-shape-border-width:1px;--obt-shape-shadow:inset 18px 0 0 color-mix(in srgb,var(--obt-btn-border) 18%,transparent);--obt-shape-padding-left:28px;}

/* Effets hover v0.5.95 : plus lisibles en modale et réellement appliqués au rendu sauvegardé. */
@keyframes obtFxFloatStrong {0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes obtFxPulseStrong {0%,100%{transform:scale(1)}50%{transform:scale(1.075)}}
@keyframes obtFxPopStrong {0%{transform:scale(.92)}55%{transform:scale(1.11)}100%{transform:scale(1)}}
@keyframes obtFxBounceStrong {0%,100%{transform:translateY(0)}28%{transform:translateY(-9px)}62%{transform:translateY(3px)}}
@keyframes obtFxWobbleStrong {0%,100%{transform:translateX(0) rotate(0)}20%{transform:translateX(-5px) rotate(-1.5deg)}45%{transform:translateX(4px) rotate(1.2deg)}70%{transform:translateX(-2px) rotate(-.6deg)}}
@keyframes obtFxBuzzStrong {0%,100%{transform:translateX(0)}16%{transform:translateX(-2px)}32%{transform:translateX(2px)}48%{transform:translateX(-2px)}64%{transform:translateX(2px)}80%{transform:translateX(-1px)}}
@keyframes obtFxShineStrong {from{transform:translateX(-160%) skewX(-20deg)}to{transform:translateX(280%) skewX(-20deg)}}
@keyframes obtFxBreatheStrong {0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--obt-lib-bg) 0%,transparent)}50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--obt-lib-bg) 28%,transparent)}}
@keyframes obtFxSwingStrong {20%{transform:rotate(4deg)}40%{transform:rotate(-3deg)}60%{transform:rotate(2deg)}80%{transform:rotate(-1deg)}100%{transform:rotate(0)}}
@keyframes obtFxJelloStrong {0%,100%{transform:skewX(0) skewY(0)}30%{transform:skewX(-10deg) skewY(-2deg)}55%{transform:skewX(7deg) skewY(1deg)}75%{transform:skewX(-3deg)}}
@keyframes obtFxFlashStrong {0%,100%{filter:brightness(1)}45%{filter:brightness(1.75) saturate(1.15)}}
@keyframes obtFxHeartStrong {0%,100%{transform:scale(1)}20%{transform:scale(1.12)}38%{transform:scale(.96)}58%{transform:scale(1.08)}76%{transform:scale(1)}}
@keyframes obtFxBlurImpact {0%,100%{filter:blur(0)}45%{filter:blur(1px) brightness(1.08)}}
@keyframes obtFxRingPulse {0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--obt-lib-bg) 34%,transparent)}100%{box-shadow:0 0 0 8px transparent}}
.obt-button-catalog[class*="obt-btn-anim-lib-fx-"]{will-change:transform,filter,box-shadow,letter-spacing,background-size;}
.obt-button-catalog.obt-btn-anim-lib-fx-none::before,.obt-button-catalog.obt-btn-anim-lib-fx-none::after{display:none!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-lift:hover,.obt-button-catalog.obt-btn-anim-lib-fx-lift:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-lift.is-preview-playing{transform:translateY(-5px)!important;box-shadow:0 10px 18px rgba(0,0,0,.20)!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-float:hover,.obt-button-catalog.obt-btn-anim-lib-fx-float:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-float.is-preview-playing{animation:obtFxFloatStrong .78s ease-in-out both!important;box-shadow:0 9px 16px rgba(0,0,0,.18)!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-sink:hover,.obt-button-catalog.obt-btn-anim-lib-fx-sink:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-sink.is-preview-playing{transform:translateY(4px)!important;box-shadow:inset 0 3px 8px rgba(0,0,0,.22)!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-grow:hover,.obt-button-catalog.obt-btn-anim-lib-fx-grow:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-grow.is-preview-playing{transform:scale(1.075)!important;box-shadow:0 9px 20px rgba(0,0,0,.18)!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-shrink:hover,.obt-button-catalog.obt-btn-anim-lib-fx-shrink:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-shrink.is-preview-playing{transform:scale(.93)!important;filter:saturate(1.1)!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-pulse:hover,.obt-button-catalog.obt-btn-anim-lib-fx-pulse:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-pulse.is-preview-playing{animation:obtFxPulseStrong .62s ease-in-out both!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-pop:hover,.obt-button-catalog.obt-btn-anim-lib-fx-pop:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-pop.is-preview-playing{animation:obtFxPopStrong .48s cubic-bezier(.2,1.25,.35,1) both!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-bounce:hover,.obt-button-catalog.obt-btn-anim-lib-fx-bounce:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-bounce.is-preview-playing{animation:obtFxBounceStrong .62s ease both!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-slide-right:hover,.obt-button-catalog.obt-btn-anim-lib-fx-slide-right:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-slide-right.is-preview-playing{transform:translateX(8px)!important;box-shadow:-6px 0 0 color-mix(in srgb,var(--obt-lib-hover-bg) 38%,transparent)!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-slide-left:hover,.obt-button-catalog.obt-btn-anim-lib-fx-slide-left:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-slide-left.is-preview-playing{transform:translateX(-8px)!important;box-shadow:6px 0 0 color-mix(in srgb,var(--obt-lib-hover-bg) 38%,transparent)!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-slide-up:hover,.obt-button-catalog.obt-btn-anim-lib-fx-slide-up:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-slide-up.is-preview-playing{transform:translateY(-7px)!important;box-shadow:0 10px 0 color-mix(in srgb,var(--obt-lib-hover-bg) 22%,transparent)!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-slide-down:hover,.obt-button-catalog.obt-btn-anim-lib-fx-slide-down:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-slide-down.is-preview-playing{transform:translateY(7px)!important;box-shadow:0 -8px 0 color-mix(in srgb,var(--obt-lib-hover-bg) 20%,transparent)!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-sweep-right{background-size:0 100%!important;background-repeat:no-repeat!important;background-image:linear-gradient(var(--obt-lib-hover-bg),var(--obt-lib-hover-bg))!important;background-position:left!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-sweep-right:hover,.obt-button-catalog.obt-btn-anim-lib-fx-sweep-right:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-sweep-right.is-preview-playing{background-size:100% 100%!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-sweep-left{background-size:0 100%!important;background-repeat:no-repeat!important;background-image:linear-gradient(var(--obt-lib-hover-bg),var(--obt-lib-hover-bg))!important;background-position:right!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-sweep-left:hover,.obt-button-catalog.obt-btn-anim-lib-fx-sweep-left:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-sweep-left.is-preview-playing{background-size:100% 100%!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-sweep-up{background-size:100% 0!important;background-repeat:no-repeat!important;background-image:linear-gradient(var(--obt-lib-hover-bg),var(--obt-lib-hover-bg))!important;background-position:bottom!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-sweep-up:hover,.obt-button-catalog.obt-btn-anim-lib-fx-sweep-up:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-sweep-up.is-preview-playing{background-size:100% 100%!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-sweep-down{background-size:100% 0!important;background-repeat:no-repeat!important;background-image:linear-gradient(var(--obt-lib-hover-bg),var(--obt-lib-hover-bg))!important;background-position:top!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-sweep-down:hover,.obt-button-catalog.obt-btn-anim-lib-fx-sweep-down:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-sweep-down.is-preview-playing{background-size:100% 100%!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-underline-left::after{left:10px;right:10px;bottom:5px;height:2px;background:currentColor!important;transform:scaleX(0);transform-origin:left;opacity:.9}.obt-button-catalog.obt-btn-anim-lib-fx-underline-left:hover::after,.obt-button-catalog.obt-btn-anim-lib-fx-underline-left:focus-visible::after,.obt-button-catalog.obt-btn-anim-lib-fx-underline-left.is-preview-playing::after{transform:scaleX(1)}
.obt-button-catalog.obt-btn-anim-lib-fx-underline-center::after{left:10px;right:10px;bottom:5px;height:2px;background:currentColor!important;transform:scaleX(0);transform-origin:center;opacity:.9}.obt-button-catalog.obt-btn-anim-lib-fx-underline-center:hover::after,.obt-button-catalog.obt-btn-anim-lib-fx-underline-center:focus-visible::after,.obt-button-catalog.obt-btn-anim-lib-fx-underline-center.is-preview-playing::after{transform:scaleX(1)}
.obt-button-catalog.obt-btn-anim-lib-fx-overline::before{left:10px;right:10px;top:5px;height:2px;background:currentColor!important;transform:scaleX(0);transform-origin:center;opacity:.9}.obt-button-catalog.obt-btn-anim-lib-fx-overline:hover::before,.obt-button-catalog.obt-btn-anim-lib-fx-overline:focus-visible::before,.obt-button-catalog.obt-btn-anim-lib-fx-overline.is-preview-playing::before{transform:scaleX(1)}
.obt-button-catalog.obt-btn-anim-lib-fx-glow:hover,.obt-button-catalog.obt-btn-anim-lib-fx-glow:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-glow.is-preview-playing{box-shadow:0 0 0 3px color-mix(in srgb,var(--obt-lib-bg) 32%,transparent),0 0 22px color-mix(in srgb,var(--obt-lib-bg) 46%,transparent)!important;filter:saturate(1.2)!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-shadow:hover,.obt-button-catalog.obt-btn-anim-lib-fx-shadow:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-shadow.is-preview-playing{box-shadow:0 13px 22px rgba(0,0,0,.24)!important;transform:translateY(-2px)!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-forward:hover,.obt-button-catalog.obt-btn-anim-lib-fx-forward:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-forward.is-preview-playing{transform:translateX(9px) scale(1.015)!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-backward:hover,.obt-button-catalog.obt-btn-anim-lib-fx-backward:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-backward.is-preview-playing{transform:translateX(-9px) scale(1.015)!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-rotate:hover,.obt-button-catalog.obt-btn-anim-lib-fx-rotate:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-rotate.is-preview-playing{transform:rotate(-3deg) scale(1.025)!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-tilt:hover,.obt-button-catalog.obt-btn-anim-lib-fx-tilt:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-tilt.is-preview-playing{transform:perspective(240px) rotateX(6deg) rotateY(-7deg)!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-skew:hover,.obt-button-catalog.obt-btn-anim-lib-fx-skew:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-skew.is-preview-playing{transform:skewX(-9deg)!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-wobble:hover,.obt-button-catalog.obt-btn-anim-lib-fx-wobble:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-wobble.is-preview-playing{animation:obtFxWobbleStrong .62s ease both!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-buzz:hover,.obt-button-catalog.obt-btn-anim-lib-fx-buzz:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-buzz.is-preview-playing{animation:obtFxBuzzStrong .34s linear both!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-ripple::after{inset:50%;border-radius:999px;background:rgba(255,255,255,.42)!important;opacity:0;transform:translate(-50%,-50%) scale(0)}.obt-button-catalog.obt-btn-anim-lib-fx-ripple:hover::after,.obt-button-catalog.obt-btn-anim-lib-fx-ripple:focus-visible::after,.obt-button-catalog.obt-btn-anim-lib-fx-ripple.is-preview-playing::after{opacity:1;transform:translate(-50%,-50%) scale(8)}
.obt-button-catalog.obt-btn-anim-lib-fx-border:hover,.obt-button-catalog.obt-btn-anim-lib-fx-border:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-border.is-preview-playing{box-shadow:inset 0 0 0 3px currentColor,0 0 0 4px color-mix(in srgb,var(--obt-lib-bg) 20%,transparent)!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-shine::after,.obt-button-catalog.obt-btn-anim-lib-fx-glass-shine::after{inset:-35% auto -35% -50%;width:46%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.70),transparent)!important;transform:translateX(-160%) skewX(-20deg)}.obt-button-catalog.obt-btn-anim-lib-fx-shine:hover::after,.obt-button-catalog.obt-btn-anim-lib-fx-shine:focus-visible::after,.obt-button-catalog.obt-btn-anim-lib-fx-shine.is-preview-playing::after,.obt-button-catalog.obt-btn-anim-lib-fx-glass-shine:hover::after,.obt-button-catalog.obt-btn-anim-lib-fx-glass-shine:focus-visible::after,.obt-button-catalog.obt-btn-anim-lib-fx-glass-shine.is-preview-playing::after{animation:obtFxShineStrong .72s ease both!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-breathe:hover,.obt-button-catalog.obt-btn-anim-lib-fx-breathe:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-breathe.is-preview-playing{animation:obtFxBreatheStrong .95s ease both!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-focus:hover,.obt-button-catalog.obt-btn-anim-lib-fx-focus:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-focus.is-preview-playing{outline:2px solid var(--obt-lib-hover-border)!important;outline-offset:4px!important;filter:contrast(1.18) saturate(1.15)!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-swing:hover,.obt-button-catalog.obt-btn-anim-lib-fx-swing:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-swing.is-preview-playing{animation:obtFxSwingStrong .62s ease both!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-jello:hover,.obt-button-catalog.obt-btn-anim-lib-fx-jello:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-jello.is-preview-playing{animation:obtFxJelloStrong .62s ease both!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-flash:hover,.obt-button-catalog.obt-btn-anim-lib-fx-flash:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-flash.is-preview-playing{animation:obtFxFlashStrong .38s ease both!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-heart:hover,.obt-button-catalog.obt-btn-anim-lib-fx-heart:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-heart.is-preview-playing{animation:obtFxHeartStrong .58s ease both!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-fade:hover,.obt-button-catalog.obt-btn-anim-lib-fx-fade:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-fade.is-preview-playing{opacity:.68!important;transform:scale(.985)!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-brighten:hover,.obt-button-catalog.obt-btn-anim-lib-fx-brighten:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-brighten.is-preview-playing{filter:brightness(1.35) saturate(1.25)!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-dim:hover,.obt-button-catalog.obt-btn-anim-lib-fx-dim:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-dim.is-preview-playing{filter:brightness(.72) saturate(.9)!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-line-slide::after{left:8px;right:8px;bottom:5px;height:2px;background:currentColor!important;transform:translateX(-130%);opacity:.95}.obt-button-catalog.obt-btn-anim-lib-fx-line-slide:hover::after,.obt-button-catalog.obt-btn-anim-lib-fx-line-slide:focus-visible::after,.obt-button-catalog.obt-btn-anim-lib-fx-line-slide.is-preview-playing::after{transform:translateX(0)}
.obt-button-catalog.obt-btn-anim-lib-fx-double-line::before,.obt-button-catalog.obt-btn-anim-lib-fx-double-line::after{left:9px;right:9px;height:2px;background:currentColor!important;transform:scaleX(0);opacity:.95}.obt-button-catalog.obt-btn-anim-lib-fx-double-line::before{top:5px}.obt-button-catalog.obt-btn-anim-lib-fx-double-line::after{bottom:5px}.obt-button-catalog.obt-btn-anim-lib-fx-double-line:hover::before,.obt-button-catalog.obt-btn-anim-lib-fx-double-line:hover::after,.obt-button-catalog.obt-btn-anim-lib-fx-double-line:focus-visible::before,.obt-button-catalog.obt-btn-anim-lib-fx-double-line:focus-visible::after,.obt-button-catalog.obt-btn-anim-lib-fx-double-line.is-preview-playing::before,.obt-button-catalog.obt-btn-anim-lib-fx-double-line.is-preview-playing::after{transform:scaleX(1)}
.obt-button-catalog.obt-btn-anim-lib-fx-corner::before{inset:5px;border:2px solid currentColor!important;border-width:2px 0 0 2px!important;opacity:0;transform:translate(-5px,-5px)}.obt-button-catalog.obt-btn-anim-lib-fx-corner::after{inset:5px;border:2px solid currentColor!important;border-width:0 2px 2px 0!important;opacity:0;transform:translate(5px,5px)}.obt-button-catalog.obt-btn-anim-lib-fx-corner:hover::before,.obt-button-catalog.obt-btn-anim-lib-fx-corner:hover::after,.obt-button-catalog.obt-btn-anim-lib-fx-corner:focus-visible::before,.obt-button-catalog.obt-btn-anim-lib-fx-corner:focus-visible::after,.obt-button-catalog.obt-btn-anim-lib-fx-corner.is-preview-playing::before,.obt-button-catalog.obt-btn-anim-lib-fx-corner.is-preview-playing::after{opacity:.9;transform:translate(0,0)}
.obt-button-catalog.obt-btn-anim-lib-fx-border-draw::before{inset:3px;border:2px solid currentColor!important;clip-path:inset(0 100% 100% 0);opacity:.95}.obt-button-catalog.obt-btn-anim-lib-fx-border-draw:hover::before,.obt-button-catalog.obt-btn-anim-lib-fx-border-draw:focus-visible::before,.obt-button-catalog.obt-btn-anim-lib-fx-border-draw.is-preview-playing::before{clip-path:inset(0)}
.obt-button-catalog.obt-btn-anim-lib-fx-fill-center{background-size:0 100%!important;background-repeat:no-repeat!important;background-image:linear-gradient(var(--obt-lib-hover-bg),var(--obt-lib-hover-bg))!important;background-position:center!important}.obt-button-catalog.obt-btn-anim-lib-fx-fill-center:hover,.obt-button-catalog.obt-btn-anim-lib-fx-fill-center:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-fill-center.is-preview-playing{background-size:100% 100%!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-fill-bottom{background-size:100% 0!important;background-repeat:no-repeat!important;background-image:linear-gradient(var(--obt-lib-hover-bg),var(--obt-lib-hover-bg))!important;background-position:bottom!important}.obt-button-catalog.obt-btn-anim-lib-fx-fill-bottom:hover,.obt-button-catalog.obt-btn-anim-lib-fx-fill-bottom:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-fill-bottom.is-preview-playing{background-size:100% 100%!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-glass-shine::after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),rgba(255,255,255,.80),rgba(255,255,255,.16),transparent)!important;filter:blur(.3px)}
.obt-button-catalog.obt-btn-anim-lib-fx-soft-glow:hover,.obt-button-catalog.obt-btn-anim-lib-fx-soft-glow:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-soft-glow.is-preview-playing{box-shadow:0 0 0 4px color-mix(in srgb,var(--obt-lib-bg) 16%,transparent),0 16px 30px color-mix(in srgb,var(--obt-lib-bg) 28%,transparent)!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-hard-shadow:hover,.obt-button-catalog.obt-btn-anim-lib-fx-hard-shadow:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-hard-shadow.is-preview-playing{box-shadow:7px 7px 0 #111!important;transform:translate(-3px,-3px)!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-step:hover,.obt-button-catalog.obt-btn-anim-lib-fx-step:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-step.is-preview-playing{transform:translate(6px,-6px)!important;box-shadow:-4px 4px 0 color-mix(in srgb,var(--obt-lib-bg) 26%,transparent)!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-drop:hover,.obt-button-catalog.obt-btn-anim-lib-fx-drop:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-drop.is-preview-playing{transform:translateY(6px)!important;filter:brightness(.96)!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-press:hover,.obt-button-catalog.obt-btn-anim-lib-fx-press:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-press.is-preview-playing{transform:translateY(3px) scale(.965)!important;box-shadow:inset 0 3px 7px rgba(0,0,0,.25)!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-expand-letter:hover,.obt-button-catalog.obt-btn-anim-lib-fx-expand-letter:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-expand-letter.is-preview-playing{letter-spacing:.18em!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-contract-letter{letter-spacing:.1em!important}.obt-button-catalog.obt-btn-anim-lib-fx-contract-letter:hover,.obt-button-catalog.obt-btn-anim-lib-fx-contract-letter:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-contract-letter.is-preview-playing{letter-spacing:-.01em!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-blur:hover,.obt-button-catalog.obt-btn-anim-lib-fx-blur:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-blur.is-preview-playing{animation:obtFxBlurImpact .38s ease both!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-unblur{filter:blur(.45px)}.obt-button-catalog.obt-btn-anim-lib-fx-unblur:hover,.obt-button-catalog.obt-btn-anim-lib-fx-unblur:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-unblur.is-preview-playing{filter:blur(0) contrast(1.16)!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-color-swap:hover,.obt-button-catalog.obt-btn-anim-lib-fx-color-swap:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-color-swap.is-preview-playing{background:var(--obt-lib-hover-fg)!important;color:var(--obt-lib-hover-bg)!important;border-color:var(--obt-lib-hover-bg)!important;filter:saturate(1.18)!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-ring:hover,.obt-button-catalog.obt-btn-anim-lib-fx-ring:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-ring.is-preview-playing{animation:obtFxRingPulse .62s ease both!important;}
.obt-button-catalog.obt-btn-anim-lib-fx-magnetic:hover,.obt-button-catalog.obt-btn-anim-lib-fx-magnetic:focus-visible,.obt-button-catalog.obt-btn-anim-lib-fx-magnetic.is-preview-playing{transform:translate(6px,-4px) scale(1.04)!important;filter:saturate(1.2)!important;box-shadow:0 12px 24px rgba(0,0,0,.18)!important;}

/* v0.5.75 — dans la modale Animation, les effets relatifs restent au repos et se déclenchent uniquement au survol/focus de la vignette. */
.builder-button-choice-grid[data-choice-kind="animation"] .builder-button-choice-sample.is-preview-hover-only {
    will-change: transform, filter, opacity, box-shadow, letter-spacing, background-position !important;
}
.builder-button-choice-grid[data-choice-kind="animation"] .builder-button-choice-sample.is-preview-hover-only:not(.is-preview-playing) {
    animation: none !important;
}
.builder-button-choice-grid[data-choice-kind="animation"] .builder-button-choice-card:hover .builder-button-choice-sample.is-preview-hover-only,
.builder-button-choice-grid[data-choice-kind="animation"] .builder-button-choice-card:focus-visible .builder-button-choice-sample.is-preview-hover-only,
.builder-button-choice-grid[data-choice-kind="animation"] .builder-button-choice-card:focus-within .builder-button-choice-sample.is-preview-hover-only {
    animation-play-state: running !important;
}


/* Modale Forme : aucun hover, aucun effet, aucune animation dans cette fenêtre. */
.builder-button-choice-grid[data-choice-kind="style"] .builder-button-choice-sample,
.builder-button-choice-grid[data-choice-kind="style"] .builder-button-choice-sample:hover,
.builder-button-choice-grid[data-choice-kind="style"] .builder-button-choice-card:hover .builder-button-choice-sample,
.builder-button-choice-grid[data-choice-kind="style"] .builder-button-choice-card:focus-visible .builder-button-choice-sample,
.builder-button-choice-grid[data-choice-kind="style"] .builder-button-choice-card:focus-within .builder-button-choice-sample {
    animation: none !important;
    transform: translateZ(0) !important;
    filter: none !important;
    background: var(--obt-btn-bg) !important;
    color: var(--obt-btn-fg) !important;
    border-color: var(--obt-btn-border) !important;
}
.builder-button-choice-grid[data-choice-kind="style"] .builder-button-choice-sample::before,
.builder-button-choice-grid[data-choice-kind="style"] .builder-button-choice-sample::after {
    opacity: 0 !important;
    display: none !important;
}
.builder-button-choice-grid[data-choice-kind="animation"] .builder-button-choice-sample.is-preview-hover-only {
    will-change: transform, filter, opacity, box-shadow, letter-spacing, background-position !important;
}
.builder-button-choice-grid[data-choice-kind="animation"] .builder-button-choice-sample.is-preview-hover-only:not(.is-preview-playing) {
    animation: none !important;
}
.builder-button-choice-card.is-recommended .builder-button-choice-meta::after {
    content: " · recommandé";
    font-weight: 800;
    color: #8a5d00;
}


/* v0.5.95 — Aperçus admin : bordure noire fine et compacte.
 * Cette règle ne change pas le rendu public. Elle s'applique uniquement aux vignettes
 * des modales Forme/Effet et aux aperçus du panneau d'édition, pour rendre chaque
 * silhouette immédiatement lisible, même quand la forme réelle n'a pas de bordure.
 */
.builder-button-choice-grid .builder-button-choice-sample.obt-button-catalog,
.builder-button-choice-grid .builder-button-choice-sample.obt-button-catalog:hover,
.builder-button-choice-grid .builder-button-choice-card:hover .builder-button-choice-sample.obt-button-catalog,
.builder-button-choice-grid .builder-button-choice-card:focus-visible .builder-button-choice-sample.obt-button-catalog,
.builder-button-choice-grid .builder-button-choice-card:focus-within .builder-button-choice-sample.obt-button-catalog,
.builder-button-preview .builder-button-preview-sample.obt-button-catalog,
[data-builder-button-editor] .builder-button-preview-sample.obt-button-catalog {
    --obt-button-border-color: #000000 !important;
    --obt-button-hover-border-color: #000000 !important;
    border-color: #000000 !important;
    border-style: solid !important;
    border-width: 1px !important;
    box-shadow: none !important;
}
.builder-button-choice-grid[data-choice-kind="style"] .builder-button-choice-sample.obt-button-catalog,
.builder-button-choice-grid[data-choice-kind="style"] .builder-button-choice-sample.obt-button-catalog:hover,
.builder-button-choice-grid[data-choice-kind="style"] .builder-button-choice-card:hover .builder-button-choice-sample.obt-button-catalog,
.builder-button-choice-grid[data-choice-kind="style"] .builder-button-choice-card:focus-visible .builder-button-choice-sample.obt-button-catalog,
.builder-button-choice-grid[data-choice-kind="style"] .builder-button-choice-card:focus-within .builder-button-choice-sample.obt-button-catalog {
    border-color: #000000 !important;
}
.builder-button-choice-grid[data-choice-kind="animation"] .builder-button-choice-sample.obt-button-catalog,
.builder-button-choice-grid[data-choice-kind="animation"] .builder-button-choice-sample.obt-button-catalog:hover,
.builder-button-choice-grid[data-choice-kind="animation"] .builder-button-choice-card:hover .builder-button-choice-sample.obt-button-catalog,
.builder-button-choice-grid[data-choice-kind="animation"] .builder-button-choice-card:focus-visible .builder-button-choice-sample.obt-button-catalog,
.builder-button-choice-grid[data-choice-kind="animation"] .builder-button-choice-card:focus-within .builder-button-choice-sample.obt-button-catalog {
    border-color: #000000 !important;
}

.obt-button-catalog.obt-btn-anim-lib-fx-none::before,
.obt-button-catalog.obt-btn-anim-lib-fx-none::after { display: none !important; }
@media (prefers-reduced-motion: reduce) {
    .obt-button-catalog,
    .obt-button-catalog::before,
    .obt-button-catalog::after {
        animation: none !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}


/* v0.5.96 — Réutilisation hors hero.
 * Les aperçus des modules texte, image/texte, média, CTA, citation et modules automatiques
 * utilisent le même moteur que le hero, sans double catalogue et sans couleur prédéfinie.
 */
.builder-module-button-editor .builder-button-style-row {
    grid-template-columns: minmax(150px, .9fr) minmax(150px, .9fr) repeat(4, minmax(92px, .62fr)) minmax(150px, 1fr);
    align-items: end;
}
.builder-module-button-editor .builder-button-preview {
    min-height: 46px;
    align-items: center;
}
.builder-module-button-editor .builder-button-choice-button {
    height: 38px;
}
@media (max-width: 1280px) {
    .builder-module-button-editor .builder-button-style-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .builder-module-button-editor .builder-button-preview {
        grid-column: 1 / -1;
    }
}
@media (max-width: 760px) {
    .builder-module-button-editor .builder-button-style-row {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* v0.5.97 — Gestion réutilisable, icônes et previews relatives. */
.obt-button-catalog .obt-button-icon {
    position: relative !important;
    z-index: 2 !important;
    flex: 0 0 auto !important;
    color: var(--obt-button-icon-color, currentColor) !important;
    margin-right: .48em !important;
    line-height: 1 !important;
}
.obt-button-catalog .obt-button-label {
    position: relative !important;
    z-index: 2 !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
.obt-button-catalog.builder-button-preview-sample,
.builder-button-choice-sample.obt-button-catalog {
    min-width: 0 !important;
    width: auto !important;
    max-width: 100% !important;
}
.builder-button-choice-grid .builder-button-choice-sample.obt-button-catalog {
    min-width: 0 !important;
    max-width: 128px !important;
    width: fit-content !important;
    min-height: var(--obt-shape-min-height) !important;
    padding: calc(var(--obt-shape-padding-y) * .72) calc(var(--obt-shape-padding-x) * .72) !important;
}
.builder-button-preview .builder-button-preview-sample.obt-button-catalog,
.builder-hero-button-preview-line .builder-button-preview-sample.obt-button-catalog {
    width: fit-content !important;
    min-width: 0 !important;
    max-width: min(100%, 260px) !important;
}
.builder-button-choice-grid[data-choice-kind="style"] .builder-button-choice-sample.obt-button-catalog {
    border-width: max(1px, min(var(--obt-shape-border-width), 2px)) !important;
}


/* v0.6.01 — Aperçu strict : les vignettes utilisent les mêmes dimensions et variables que le rendu final.
 * On conserve uniquement une bordure noire de lecture dans les modales/panneaux, sans modifier les proportions.
 */
.builder-button-choice-grid .builder-button-choice-sample.obt-button-catalog,
.builder-button-choice-grid .builder-button-choice-sample.obt-button-catalog:hover,
.builder-button-choice-grid .builder-button-choice-card:hover .builder-button-choice-sample.obt-button-catalog,
.builder-button-choice-grid .builder-button-choice-card:focus-visible .builder-button-choice-sample.obt-button-catalog,
.builder-button-choice-grid .builder-button-choice-card:focus-within .builder-button-choice-sample.obt-button-catalog,
.builder-button-preview .builder-button-preview-sample.obt-button-catalog,
.builder-hero-button-preview-line .builder-button-preview-sample.obt-button-catalog,
[data-builder-button-editor] .builder-button-preview-sample.obt-button-catalog {
    display: inline-flex !important;
    align-self: center !important;
    justify-self: center !important;
    width: var(--obt-shape-width) !important;
    min-width: var(--obt-shape-min-width) !important;
    max-width: 100% !important;
    min-height: var(--obt-shape-min-height) !important;
    padding: var(--obt-shape-padding-y) var(--obt-shape-padding-x) !important;
    border-width: var(--obt-shape-border-width) !important;
    border-style: var(--obt-shape-border-style) !important;
    border-color: #000000 !important;
    border-radius: var(--obt-shape-radius) !important;
    clip-path: var(--obt-shape-clip) !important;
    box-shadow: var(--obt-shape-shadow) !important;
    font-family: var(--obt-shape-font-family) !important;
    font-size: var(--obt-shape-font-size) !important;
    font-weight: var(--obt-shape-font-weight) !important;
    letter-spacing: var(--obt-shape-letter-spacing) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
.builder-button-choice-grid[data-choice-kind="style"] .builder-button-choice-sample.obt-button-catalog,
.builder-button-choice-grid[data-choice-kind="style"] .builder-button-choice-sample.obt-button-catalog:hover,
.builder-button-choice-grid[data-choice-kind="style"] .builder-button-choice-card:hover .builder-button-choice-sample.obt-button-catalog,
.builder-button-choice-grid[data-choice-kind="style"] .builder-button-choice-card:focus-visible .builder-button-choice-sample.obt-button-catalog,
.builder-button-choice-grid[data-choice-kind="style"] .builder-button-choice-card:focus-within .builder-button-choice-sample.obt-button-catalog {
    background: var(--obt-btn-bg) !important;
    color: var(--obt-btn-fg) !important;
    transform: translateZ(0) !important;
    filter: none !important;
    animation: none !important;
}
.builder-button-choice-grid[data-choice-kind="style"] .builder-button-choice-sample.obt-button-catalog::before,
.builder-button-choice-grid[data-choice-kind="style"] .builder-button-choice-sample.obt-button-catalog::after {
    display: none !important;
    opacity: 0 !important;
}
.builder-button-choice-grid .builder-button-choice-sample.obt-button-catalog .obt-button-label,
.builder-button-preview .builder-button-preview-sample.obt-button-catalog .obt-button-label {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
