
/* ABCOM button polish: lift, glow, shine sweep, press. Disable by toggling this snippet off in WPCode. */
.elementor-button{position:relative;overflow:hidden;transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease,filter .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease}
.elementor-button::after{content:"";position:absolute;top:0;left:-80%;width:45%;height:100%;background:linear-gradient(115deg,transparent,rgba(255,255,255,.38),transparent);transform:skewX(-20deg);transition:left .65s ease;pointer-events:none}
.elementor-button:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(255,75,16,.32),0 3px 8px rgba(0,0,0,.12);filter:saturate(1.08)}
.elementor-button:hover::after{left:135%}
.elementor-button:active{transform:translateY(0) scale(.97);box-shadow:0 4px 10px rgba(255,75,16,.25)}
.elementor-button:focus-visible{outline:3px solid #FFB020;outline-offset:3px}
.abc-navcta{overflow:hidden;position:relative}
.abc-navcta::after{content:"";position:absolute;top:0;left:-80%;width:45%;height:100%;background:linear-gradient(115deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-20deg);transition:left .65s ease;pointer-events:none}
.abc-navcta:hover::after{left:135%}
@media(hover:none){.elementor-button:hover{transform:none;box-shadow:none;filter:none}.elementor-button:hover::after{left:-80%}}
@media(prefers-reduced-motion:reduce){.elementor-button,.elementor-button::after,.abc-navcta::after{transition:none!important}.elementor-button:hover{transform:none}}


/* abc-navfix3: logo, menu, then both buttons grouped to the left */
.elementor-location-header .elementor-section:has(.elementor-widget-nav-menu)>.elementor-container{justify-content:flex-start!important;flex-wrap:nowrap!important}
.elementor-location-header .elementor-section:has(.elementor-widget-nav-menu) .elementor-column:first-child{flex-shrink:0!important}
.elementor-location-header .elementor-section:has(.elementor-widget-nav-menu) .elementor-column:not(:first-child){width:auto!important;flex:0 0 auto!important}
.elementor-location-header .elementor-section:has(.elementor-widget-nav-menu) .elementor-col-66{margin-left:clamp(24px,3vw,56px)!important}
.elementor-location-header .elementor-section:has(.elementor-widget-nav-menu) .elementor-col-66>.elementor-widget-wrap{justify-content:flex-start!important;padding:0!important;margin:0!important}
.elementor-widget-wrap:has(>.abc-navwrap){justify-content:flex-start!important}
.abc-navwrap{margin-left:clamp(10px,1.5vw,28px)}

/* abc-navfix2: tidy header alignment */



/* abc-navfix: keep header buttons inside the viewport */
.elementor-widget-wrap:has(>.abc-navwrap){justify-content:flex-end}
.abc-navwrap{flex:0 0 auto;max-width:none}

html body a.abc-navcta{font-size:15px!important}
@media(max-width:1100px){html body a.abc-navcta{font-size:13px!important}}
#abc-sn{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:9998;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 6px;border-radius:32px;background:rgba(14,18,28,.78);-webkit-backdrop-filter:blur(12px) saturate(1.4);backdrop-filter:blur(12px) saturate(1.4);border:1px solid rgba(255,255,255,.14);box-shadow:0 10px 30px rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;font-family:inherit}
#abc-sn.on{opacity:1;pointer-events:auto}
#abc-sn button{position:relative;width:42px;height:42px;border:0;border-radius:50%;background:transparent;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;touch-action:manipulation;transition:background .2s,transform .2s;-webkit-tap-highlight-color:transparent}
#abc-sn button:hover,#abc-sn button:focus-visible{background:#FF4B10;outline:0;transform:scale(1.08)}
#abc-sn button:active{transform:scale(.94)}
#abc-sn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
#abc-sn .ring{width:46px;height:46px}
#abc-sn .ring svg.r{position:absolute;inset:0;width:46px;height:46px;transform:rotate(-90deg)}
#abc-sn .ring circle{fill:none;stroke-width:3}
#abc-sn .ring .bg{stroke:rgba(255,255,255,.18)}
#abc-sn .ring .fg{stroke:#FF4B10;stroke-linecap:round;transition:stroke-dashoffset .12s linear}
#abc-sn .ring:hover .fg{stroke:#fff}
#abc-sn .sep{width:22px;height:1px;background:rgba(255,255,255,.18);margin:3px 0}
#abc-sn .tip{position:absolute;right:54px;top:50%;transform:translateY(-50%) translateX(6px);white-space:nowrap;background:#111;color:#fff;font-size:12px;font-weight:600;padding:5px 9px;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s}
#abc-sn button:hover .tip{opacity:1;transform:translateY(-50%)}
#abc-sp{position:fixed;right:84px;top:50%;transform:translateY(-50%) translateX(14px);z-index:9997;width:270px;max-height:min(70vh,520px);overflow:auto;padding:10px;border-radius:18px;background:rgba(14,18,28,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 44px rgba(0,0,0,.45);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}
#abc-sp.open{opacity:1;pointer-events:auto;transform:translateY(-50%)}
#abc-sp .hd{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#FFB020;font-weight:700;padding:4px 8px 8px}
#abc-sp a{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border-radius:10px;color:#e8ecf4!important;font-size:13.5px!important;line-height:1.3;text-decoration:none!important;cursor:pointer;transition:background .15s}
#abc-sp a i{font-style:normal;color:#8a93a6;font-size:11px;min-width:16px;padding-top:2px}
#abc-sp a:hover{background:rgba(255,255,255,.09)}
#abc-sp a.act{background:rgba(255,75,16,.18);color:#fff!important}
#abc-sp a.act i{color:#FF4B10;font-weight:700}
@media(max-width:600px){#abc-sn{right:8px;top:auto;bottom:96px;transform:none;padding:6px 4px}#abc-sn button{width:38px;height:38px}#abc-sn .ring{width:42px;height:42px}#abc-sn .ring svg.r{width:42px;height:42px}#abc-sp{right:60px;top:auto;bottom:96px;transform:translateX(14px);width:calc(100vw - 80px)}#abc-sp.open{transform:none}#abc-sn .tip{display:none}}
body.elementor-editor-active #abc-sn,body.elementor-editor-active #abc-sp{display:none}
@media(prefers-reduced-motion:reduce){#abc-sn,#abc-sn *,#abc-sp{transition:none!important}}
