.lbo-official{width:100%;margin:18px 0 24px;--lbo-motion:250ms}.lbo-official--full{width:100vw;max-width:100vw;position:relative;left:50%;transform:translateX(-50%)}.lbo-official__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px}.lbo-official__button{position:relative;box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-width:0;min-height:126px;padding:16px 10px 26px;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--lbo-bg),white 13%),var(--lbo-bg) 55%,color-mix(in srgb,var(--lbo-bg),black 34%));color:#fff!important;text-decoration:none!important;text-align:center;border-radius:0!important;isolation:isolate}.lbo-official__button:not(.lbo-official__button--inactive):hover{filter:brightness(1.14)}.lbo-official__button:focus-visible{outline:3px solid #ffcb43;outline-offset:-4px}.lbo-official__button--inactive{cursor:default}.lbo-official__words{position:relative;display:grid;place-items:center;width:100%;height:72px}.lbo-official__title,.lbo-official__cta{grid-area:1/1;display:flex;align-items:center;justify-content:center;width:100%;overflow-wrap:anywhere;font-size:clamp(12px,1.35vw,19px);font-weight:800;line-height:1.2;letter-spacing:.015em;text-shadow:0 1px 3px #0005;transition:opacity var(--lbo-motion),transform var(--lbo-motion)}.lbo-official--caps .lbo-official__title,.lbo-official--caps .lbo-official__cta{text-transform:uppercase}.lbo-official__cta{opacity:0;transform:translateY(10px);color:#fff2b8}.lbo-official.is-cta .lbo-official__title{opacity:0;transform:translateY(-10px)}.lbo-official.is-cta .lbo-official__cta{opacity:1;transform:translateY(0)}.lbo-official[data-animation="fade"] .lbo-official__title,.lbo-official[data-animation="fade"] .lbo-official__cta,.lbo-official[data-animation="none"] .lbo-official__title,.lbo-official[data-animation="none"] .lbo-official__cta{transform:none!important}.lbo-official[data-animation="none"]{--lbo-motion:0ms}.lbo-official__flag{position:absolute;bottom:13px;width:66px;height:8px;background:linear-gradient(90deg,#0055a4 0 33.333%,#fff 33.333% 66.666%,#ef4135 66.666%);box-shadow:0 1px 5px #0003}@media(max-width:767px){.lbo-official__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lbo-official__button{min-height:112px;padding:12px 7px 24px}.lbo-official__title,.lbo-official__cta{font-size:clamp(11px,3vw,16px)}.lbo-official__words{height:65px}}@media(prefers-reduced-motion:reduce){.lbo-official__title,.lbo-official__cta{transition:none!important}}


/* v1.2.2: premium effects rebuilt, with true 0-100% opacity and visible motion. */
.lbo-official__button{--lbo-power:calc(var(--lbo-effect-power,75)/100);isolation:isolate;transition:filter .25s ease;touch-action:manipulation}
.lbo-official__words,.lbo-official__flag{position:relative;z-index:3}
.lbo-official__flag{position:absolute}
.lbo-official__button::before,.lbo-official__button::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0}
/* An actual moving bright band, not a low-alpha white wash. */
.lbo-official__button[data-effect="shine"]::before{opacity:var(--lbo-power);inset:-35% -80%;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.08) 42%,rgba(255,255,255,.92) 48%,#fff 50%,rgba(255,255,255,.92) 52%,rgba(255,255,255,.08) 58%,transparent 62%);transform:translateX(-65%);animation:lbo-v122-shine var(--lbo-effect-speed,4s) linear infinite;mix-blend-mode:screen}
.lbo-official__button[data-effect="halo"]::before{opacity:var(--lbo-power);background:radial-gradient(ellipse at 50% 50%,var(--lbo-effect-color,#fff) 0%,rgba(255,255,255,.7) 18%,transparent 73%);animation:lbo-v122-halo var(--lbo-effect-speed,4s) ease-in-out infinite alternate;mix-blend-mode:screen}
.lbo-official__button[data-effect="gradient"]::before{opacity:var(--lbo-power);inset:0;background:linear-gradient(110deg,transparent 0%,var(--lbo-effect-color,#fff) 40%,rgba(255,255,255,.8) 50%,transparent 75%);background-size:300% 100%;animation:lbo-v122-gradient var(--lbo-effect-speed,4s) linear infinite;mix-blend-mode:screen}
.lbo-official__button[data-effect="border"]::after{opacity:var(--lbo-power);inset:3px;border:3px solid var(--lbo-effect-color,#fff);box-shadow:inset 0 0 22px 4px var(--lbo-effect-color,#fff),0 0 12px 2px var(--lbo-effect-color,#fff);animation:lbo-v122-border var(--lbo-effect-speed,4s) ease-in-out infinite}
.lbo-official__button[data-effect="tricolor"]::after{opacity:var(--lbo-power);inset:auto 0 0;height:10px;background:linear-gradient(90deg,#0055a4 0 33.333%,#fff 33.333% 66.666%,#ef4135 66.666%);background-size:200% 100%;animation:lbo-v122-gradient var(--lbo-effect-speed,4s) linear infinite}
.lbo-official__button[data-effect="tricolor"] .lbo-official__flag{animation:lbo-v122-flag var(--lbo-effect-speed,4s) ease-in-out infinite}
@keyframes lbo-v122-shine{0%{transform:translateX(-65%)}100%{transform:translateX(65%)}}
@keyframes lbo-v122-halo{0%{transform:scale(.65);filter:brightness(.8)}100%{transform:scale(1.4);filter:brightness(1.8)}}
@keyframes lbo-v122-gradient{0%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes lbo-v122-border{0%,100%{filter:brightness(.65)}50%{filter:brightness(1.9)}}
@keyframes lbo-v122-flag{0%,100%{filter:brightness(1)}50%{filter:brightness(2.2)}}
@media(hover:hover) and (pointer:fine){.lbo-official__button:not(.lbo-official__button--inactive):hover{filter:brightness(1.12)}}
.lbo-official__button:active{filter:brightness(1.2)}
@media(prefers-reduced-motion:reduce){.lbo-official__button::before,.lbo-official__button::after,.lbo-official__flag{animation:none!important}}

/* Contacts sans fond : effets premium indépendants des quatre boutons */
.lbo-official .lbo-contact-strip{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:clamp(14px,4vw,64px);padding:17px 12px 10px;background:transparent}
.lbo-official .lbo-contact-item{--lbo-contact-color:#1767bf;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:6px 5px;color:var(--lbo-contact-color);font-size:clamp(13px,1.35vw,17px);font-weight:750;text-decoration:none!important;background:transparent!important;border:0;position:relative;isolation:isolate;transition:transform .2s ease,filter .2s ease}
.lbo-official .lbo-contact-icon{display:inline-flex;align-items:center;justify-content:center;width:39px;height:39px;flex:0 0 39px;position:relative}
.lbo-official .lbo-contact-icon svg{width:31px;height:31px;position:relative;z-index:2;filter:drop-shadow(0 0 2px currentColor)}
.lbo-official .lbo-contact-label{position:relative;z-index:2}
.lbo-official .lbo-contact-strip--caps .lbo-contact-label{text-transform:uppercase}
.lbo-official .lbo-contact-item--inactive{opacity:.5;cursor:default}
.lbo-official .lbo-contact-item:not(.lbo-contact-item--inactive)::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;opacity:calc(var(--lbo-contact-power,85) / 100);background:linear-gradient(105deg,transparent 20%,transparent 37%,rgba(255,255,255,.9) 48%,transparent 59%,transparent 80%);background-size:250% 100%;mix-blend-mode:screen;animation:lboContactSweep 3.6s ease-in-out infinite}
.lbo-official .lbo-contact-item[data-contact-effect="none"]::before{display:none}
.lbo-official .lbo-contact-item[data-contact-effect="halo"] .lbo-contact-icon svg{animation:lboContactHalo 2.4s ease-in-out infinite}
.lbo-official .lbo-contact-item[data-contact-effect="pulse"] .lbo-contact-icon{animation:lboContactPulse 2s ease-in-out infinite}
.lbo-official .lbo-contact-item[data-contact-effect="border"] .lbo-contact-icon::after{content:"";position:absolute;inset:1px;border:2px solid currentColor;border-radius:50%;opacity:.85;animation:lboContactBorder 2.6s ease-in-out infinite}
@keyframes lboContactSweep{0%{background-position:130% 0}55%,100%{background-position:-130% 0}}
@keyframes lboContactHalo{0%,100%{filter:drop-shadow(0 0 2px currentColor)}50%{filter:drop-shadow(0 0 10px currentColor) drop-shadow(0 0 5px currentColor)}}
@keyframes lboContactPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}
@keyframes lboContactBorder{0%,100%{transform:scale(.88);opacity:.3}50%{transform:scale(1.15);opacity:1}}
@media(hover:hover) and (pointer:fine){.lbo-official .lbo-contact-item:not(.lbo-contact-item--inactive):hover{transform:translateY(-3px);filter:brightness(1.2)}}
@media(max-width:520px){.lbo-official .lbo-contact-strip{gap:8px 14px;padding:12px 4px}.lbo-official .lbo-contact-item{font-size:12px;gap:5px}.lbo-official .lbo-contact-icon{width:28px;height:30px;flex-basis:28px}.lbo-official .lbo-contact-icon svg{width:25px;height:25px}}
@media(prefers-reduced-motion:reduce){.lbo-official .lbo-contact-item,.lbo-official .lbo-contact-item::before,.lbo-official .lbo-contact-icon,.lbo-official .lbo-contact-icon svg,.lbo-official .lbo-contact-icon::after{animation:none!important;transition:none!important}}

/* v1.3.1: dimensions SVG verrouillees contre les regles globales du theme */
.lbo-official .lbo-contact-strip .lbo-contact-item .lbo-contact-icon{width:42px!important;height:42px!important;min-width:42px!important;max-width:42px!important;flex:0 0 42px!important;overflow:visible!important}
.lbo-official .lbo-contact-strip .lbo-contact-item .lbo-contact-icon>svg{display:block!important;width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;max-width:32px!important;max-height:32px!important;flex:none!important;transform-origin:center center}
@media(max-width:520px){.lbo-official .lbo-contact-strip .lbo-contact-item .lbo-contact-icon{width:34px!important;height:34px!important;min-width:34px!important;max-width:34px!important;flex-basis:34px!important}.lbo-official .lbo-contact-strip .lbo-contact-item .lbo-contact-icon>svg{width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;max-width:28px!important;max-height:28px!important}}

/* v1.3.2 : effets de contact réellement distincts, visibles sur fond clair.
   La puissance règle l'amplitude (pas une couche blanche invisible). */
.lbo-official .lbo-contact-item{--lbo-strength:calc(var(--lbo-contact-power,85)/100);}
.lbo-official .lbo-contact-item::before{display:none!important}
.lbo-official .lbo-contact-item .lbo-contact-icon svg{animation:none;filter:none;transform:none}
.lbo-official .lbo-contact-item .lbo-contact-icon{animation:none}
.lbo-official .lbo-contact-item .lbo-contact-icon::after{display:none}
.lbo-official .lbo-contact-item[data-contact-effect="shine"] .lbo-contact-icon svg{animation:lbo132shine 2.6s ease-in-out infinite;filter:drop-shadow(0 0 calc(2px + 6px * var(--lbo-strength)) currentColor)}
.lbo-official .lbo-contact-item[data-contact-effect="halo"] .lbo-contact-icon svg{animation:lbo132halo 2.8s ease-in-out infinite}
.lbo-official .lbo-contact-item[data-contact-effect="pulse"] .lbo-contact-icon svg{animation:lbo132pulse 1.7s ease-in-out infinite}
.lbo-official .lbo-contact-item[data-contact-effect="border"] .lbo-contact-icon::after{display:block;content:"";position:absolute;inset:0;border:2px solid currentColor;border-radius:50%;animation:lbo132border 2.4s ease-in-out infinite;pointer-events:none}
@keyframes lbo132shine{0%,18%,100%{filter:drop-shadow(0 0 1px currentColor);opacity:1}38%,53%{filter:drop-shadow(0 0 9px currentColor) drop-shadow(0 0 13px currentColor);opacity:.65}62%{filter:drop-shadow(0 0 3px currentColor);opacity:1}}
@keyframes lbo132halo{0%,100%{filter:drop-shadow(0 0 1px currentColor);opacity:1}50%{filter:drop-shadow(0 0 12px currentColor) drop-shadow(0 0 18px currentColor);opacity:.78}}
@keyframes lbo132pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.28)}}
@keyframes lbo132border{0%,100%{transform:scale(.84);opacity:.15}50%{transform:scale(1.16);opacity:1;box-shadow:0 0 11px currentColor}}
/* Intensité 0 = pas d'animation, puissance >0 : modulation de visibilité. */
.lbo-official .lbo-contact-item[style*="--lbo-contact-power:0"] .lbo-contact-icon svg,.lbo-official .lbo-contact-item[style*="--lbo-contact-power:0"] .lbo-contact-icon::after{animation:none!important;filter:none!important}
@media(prefers-reduced-motion:reduce){.lbo-official .lbo-contact-item .lbo-contact-icon svg,.lbo-official .lbo-contact-item .lbo-contact-icon::after{animation:none!important}}

/* v1.3.4 : animation homogène, visible sur les trois contacts sans fond */
.lbo-official .lbo-contact-strip .lbo-contact-item[data-contact-effect="shine"] .lbo-contact-icon svg{animation:lbo134Glow 2.6s ease-in-out infinite!important}
.lbo-official .lbo-contact-strip .lbo-contact-item[data-contact-effect="halo"] .lbo-contact-icon svg{animation:lbo134Glow 2.6s ease-in-out infinite!important}
@keyframes lbo134Glow{0%,100%{opacity:1;filter:drop-shadow(0 0 1px currentColor)}45%{opacity:.82;filter:drop-shadow(0 0 8px currentColor) drop-shadow(0 0 13px currentColor)}65%{opacity:1;filter:drop-shadow(0 0 3px currentColor)}}
.lbo-official .lbo-contact-strip .lbo-contact-item[data-contact-effect="pulse"] .lbo-contact-icon svg{animation:lbo132pulse 1.7s ease-in-out infinite!important}
@media(prefers-reduced-motion:reduce){.lbo-official .lbo-contact-strip .lbo-contact-item .lbo-contact-icon svg{animation:none!important}}
