.okod-button-wrap { --okb-block-bg:#fff; --okb-block-overlay:rgba(0,0,0,.35); position:relative; isolation:isolate; display:flex; align-items:center; width:100%; min-height:240px; padding:40px; overflow:hidden; background-color:var(--okb-block-bg); background-position:center; background-repeat:no-repeat; background-size:cover; }
.okod-button-wrap__overlay { position:absolute; z-index:-1; inset:0; background:transparent; pointer-events:none; }
.okod-button-wrap.has-background-image .okod-button-wrap__overlay { background:var(--okb-block-overlay); }
.okod-button { --okb-bg:#f5c400; --okb-hover-bg:#111; --okb-text:#111; --okb-hover-text:#fff; --okb-duration:350ms; position:relative; isolation:isolate; display:inline-flex; align-items:center; justify-content:center; gap:14px; min-width:230px; min-height:58px; padding:14px 28px; overflow:hidden; color:var(--okb-text); background-color:var(--okb-bg); border-radius:8px; text-align:center; text-decoration:none!important; transition:color var(--okb-duration) ease,background-color var(--okb-duration) ease,transform var(--okb-duration) cubic-bezier(.22,1,.36,1),box-shadow var(--okb-duration) ease; }
.okod-button:hover,.okod-button:focus,.okod-button:focus-visible,.okod-button:visited { text-decoration:none!important; }
.okod-button:hover,.okod-button:focus-visible { color:var(--okb-hover-text); outline:none; }
.okod-button__overlay { position:absolute; z-index:-1; inset:0; background:transparent; transition:background-color var(--okb-duration) ease,transform var(--okb-duration) cubic-bezier(.22,1,.36,1); }
.okod-button__text,.okod-button__icon { position:relative; z-index:2; }
.okod-button__text { font-size:17px; font-weight:900; line-height:1.1; letter-spacing:.04em; }
.okod-button__icon { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; width:19px; font-size:19px; transition:transform var(--okb-duration) cubic-bezier(.22,1,.36,1); }
.okod-button__icon svg { display:block; width:1em; height:1em; fill:currentColor; }
.okod-button--icon-before .okod-button__text { order:2; }.okod-button--icon-before .okod-button__icon { order:1; }
.okod-button--hover-shine::after { position:absolute; z-index:1; inset:-70% auto -70% -35%; width:18%; content:""; background:rgba(255,255,255,.55); filter:blur(1px); transform:rotate(18deg); transition:left calc(var(--okb-duration) * 1.45) ease; }
.okod-button--hover-shine:hover::after,.okod-button--hover-shine:focus-visible::after { left:125%; }
.okod-button--hover-shine:hover,.okod-button--hover-shine:focus-visible,.okod-button--hover-lift:hover,.okod-button--hover-lift:focus-visible,.okod-button--hover-scale:hover,.okod-button--hover-scale:focus-visible,.okod-button--hover-arrow:hover,.okod-button--hover-arrow:focus-visible { background-color:var(--okb-hover-bg); }
.okod-button--hover-sweep .okod-button__overlay { background:var(--okb-hover-bg); transform:scaleX(0); transform-origin:left; }
.okod-button--hover-sweep:hover .okod-button__overlay,.okod-button--hover-sweep:focus-visible .okod-button__overlay { transform:scaleX(1); }
.okod-button--hover-lift:hover,.okod-button--hover-lift:focus-visible { transform:translateY(-7px); box-shadow:0 16px 35px rgba(0,0,0,.25); }
.okod-button--hover-scale:hover,.okod-button--hover-scale:focus-visible { transform:scale(1.055); }
.okod-button--hover-arrow:hover .okod-button__icon,.okod-button--hover-arrow:focus-visible .okod-button__icon { transform:translateX(8px); }
.okod-button--idle-pulse { animation:okb-pulse 2.2s ease-in-out infinite; }.okod-button--idle-float { animation:okb-float 3s ease-in-out infinite; }.okod-button--idle-glow { animation:okb-glow 2.2s ease-in-out infinite; }
@keyframes okb-pulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.045)} }
@keyframes okb-float { 0%,100%{translate:0 0} 50%{translate:0 -7px} }
@keyframes okb-glow { 0%,100%{box-shadow:0 0 0 rgba(245,196,0,0)} 50%{box-shadow:0 0 28px color-mix(in srgb,var(--okb-bg) 55%,transparent)} }
@media (prefers-reduced-motion:reduce) { .okod-button,.okod-button::after,.okod-button__overlay,.okod-button__icon { animation:none!important; transition-duration:.01ms!important; } }
