/* CafePart Service Buttons 1.0.0 — intentionally scoped; no global header/z-index rules. */
.cpsb{--cpsb-text:#e5edf3;--cpsb-hover:#fff;--cpsb-accent:#45c5e5;--cpsb-panel:#12354d;--cpsb-icon:46px;--cpsb-font:14px;--cpsb-gap:18px;--cpsb-icon-gap:9px;--cpsb-shine:.3;--cpsb-duration:.9s;--cpsb-period:12s;--cpsb-lift:1px;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px var(--cpsb-gap);direction:rtl;max-width:100%;margin:0;padding:5px 2px;font-family:inherit;line-height:1.5}
.cpsb,.cpsb *{box-sizing:border-box}
.cpsb .cpsb-item{position:relative;display:inline-flex;flex:0 1 auto;align-items:center;gap:var(--cpsb-icon-gap);min-height:44px;max-width:100%;padding:3px 2px;color:var(--cpsb-text);text-decoration:none!important;border:0;background:transparent;box-shadow:none;outline-offset:5px;border-radius:5px;isolation:isolate;transition:color .22s ease,background-color .22s ease}
.cpsb .cpsb-item:visited{color:var(--cpsb-text)}
.cpsb .cpsb-item:is(:hover,:focus-visible){color:var(--cpsb-hover)}
.cpsb .cpsb-item:focus-visible{outline:2px solid var(--cpsb-accent)}
.cpsb .cpsb-disabled{cursor:default}
.cpsb .cpsb-label{position:relative;display:block;font-family:inherit;font-size:var(--cpsb-font);font-weight:500;line-height:1.65;white-space:nowrap;padding-block:3px 7px;direction:rtl;unicode-bidi:plaintext}
.cpsb .cpsb-icon{position:relative;display:block;flex:0 0 var(--cpsb-icon);width:var(--cpsb-icon);height:var(--cpsb-icon);transition:transform .28s ease;isolation:isolate}
.cpsb .cpsb-item:is(:hover,:focus-visible) .cpsb-icon{transform:translateY(calc(-1 * var(--cpsb-lift)))}
.cpsb .cpsb-frame{position:absolute;inset:2px;border:2px solid transparent;border-radius:10px;background:linear-gradient(var(--cpsb-panel),var(--cpsb-panel)) padding-box,linear-gradient(135deg,#f7fbfc 0%,#a2b2c0 24%,#edf3f6 43%,#637d93 70%,#e2eaf0 100%) border-box;box-shadow:inset 0 0 0 1px #ffffff12,0 1px 2px #001b2930;pointer-events:none}
.cpsb .cpsb-svg{position:relative;display:block;width:100%;height:100%;overflow:visible;z-index:1;pointer-events:none}
.cpsb .cpsb-glint{position:absolute;inset:2px;border-radius:9px;overflow:hidden;pointer-events:none;z-index:2}
.cpsb .cpsb-glint:after{content:"";position:absolute;top:-45%;left:-95%;width:40%;height:190%;background:linear-gradient(90deg,transparent,#fff,transparent);transform:translateX(0) rotate(24deg);opacity:0}
.cpsb--shine.cpsb--idle .cpsb-glint:after{animation:cpsb-idle var(--cpsb-period) ease-in-out infinite;animation-delay:calc(var(--cpsb-index) * 2s + 1s)}
.cpsb--shine .cpsb-item:is(:hover,:focus-visible) .cpsb-glint:after{animation:cpsb-shimmer var(--cpsb-duration) ease-out 1 both}
.cpsb .cpsb-orbit{display:none;position:absolute;inset:12% -13%;border:1px solid transparent;border-right-color:var(--cpsb-accent);border-bottom-color:var(--cpsb-accent);border-radius:50%;transform:rotate(-28deg) scaleY(.58);opacity:.38;pointer-events:none;z-index:3;transition:opacity .3s ease}
.cpsb--orbit .cpsb-orbit{display:block}
.cpsb .cpsb-type-smt .cpsb-orbit{display:none}
.cpsb--orbit .cpsb-item:is(:hover,:focus-visible) .cpsb-orbit{opacity:.65}
.cpsb .cpsb-line{display:none;position:absolute;bottom:1px;left:0;right:0;height:1px;background:linear-gradient(90deg,var(--cpsb-accent),#c0d0dc70);transform-origin:right;opacity:.58;transition:opacity .25s ease}
.cpsb .cpsb-line:before{content:"";position:absolute;left:0;top:-1.5px;width:4px;height:4px;border-radius:50%;background:var(--cpsb-accent)}
.cpsb--underline .cpsb-line{display:block}
.cpsb .cpsb-item:is(:hover,:focus-visible) .cpsb-line{opacity:.9}
.cpsb .cpsb-trail{stroke:var(--cpsb-accent);stroke-width:1.5;stroke-dasharray:45;stroke-dashoffset:45;opacity:0}
.cpsb .cpsb-circuit{stroke:var(--cpsb-accent);stroke-width:1.4;opacity:.5}
.cpsb .cpsb-cell{fill:var(--cpsb-accent);opacity:.35;transform-box:fill-box;transform-origin:bottom}
.cpsb .cpsb-cell-2{opacity:.23}.cpsb .cpsb-cell-3{opacity:.12}
.cpsb--motion .cpsb-item:is(:hover,:focus-visible) .cpsb-plane{animation:cpsb-fly var(--cpsb-duration) cubic-bezier(.2,.7,.3,1) 1 both}
.cpsb--motion .cpsb-item:is(:hover,:focus-visible) .cpsb-trail{animation:cpsb-trail var(--cpsb-duration) ease-out 1 both}
.cpsb--motion .cpsb-item:is(:hover,:focus-visible) .cpsb-nozzle{animation:cpsb-place var(--cpsb-duration) ease-in-out 1 both}
.cpsb--motion .cpsb-item:is(:hover,:focus-visible) .cpsb-chip{animation:cpsb-chip var(--cpsb-duration) ease-in-out 1 both}
.cpsb--motion .cpsb-item:is(:hover,:focus-visible) .cpsb-circuit{animation:cpsb-pulse var(--cpsb-duration) ease 1 both}
.cpsb--motion .cpsb-item:is(:hover,:focus-visible) .cpsb-cell{animation:cpsb-charge var(--cpsb-duration) ease-out 1 both}
.cpsb--motion .cpsb-item:is(:hover,:focus-visible) .cpsb-cell-2{animation-delay:.12s}
.cpsb--motion .cpsb-item:is(:hover,:focus-visible) .cpsb-cell-3{animation-delay:.24s}
.cpsb--clean .cpsb-frame{background:none;border:0;box-shadow:none}
.cpsb--clean .cpsb-orbit{opacity:.2}
.cpsb--rail .cpsb-item{padding:5px 9px;border:1px solid #b1c4d420;border-bottom-color:#b1c4d470;border-radius:8px;background:linear-gradient(130deg,#ffffff04,#00102022)}
.cpsb--rail .cpsb-frame{background:none;border:0;box-shadow:none}
.cpsb--rail .cpsb-item:is(:hover,:focus-visible){background-color:#ffffff06}
@keyframes cpsb-shimmer{0%{transform:translateX(0) rotate(24deg);opacity:0}20%{opacity:var(--cpsb-shine)}80%{opacity:var(--cpsb-shine)}100%{transform:translateX(570%) rotate(24deg);opacity:0}}
@keyframes cpsb-idle{0%,88%{transform:translateX(0) rotate(24deg);opacity:0}90%{opacity:var(--cpsb-shine)}98%{opacity:var(--cpsb-shine)}100%{transform:translateX(570%) rotate(24deg);opacity:0}}
@keyframes cpsb-fly{0%{transform:translate(0,0)}48%{transform:translate(5px,-5px)}76%{transform:translate(4px,-4px)}100%{transform:translate(0,0)}}
@keyframes cpsb-trail{0%{stroke-dashoffset:45;opacity:0}40%{opacity:.65}70%{stroke-dashoffset:0;opacity:.35}100%{stroke-dashoffset:-10;opacity:0}}
@keyframes cpsb-place{0%,100%{transform:translateY(0)}35%,55%{transform:translateY(7px)}}
@keyframes cpsb-chip{0%{transform:translateY(-3px)}55%,100%{transform:translateY(0)}}
@keyframes cpsb-pulse{0%,45%,100%{opacity:.5}65%{opacity:1}}
@keyframes cpsb-charge{0%{opacity:.15;transform:scaleY(.3)}65%{opacity:.85;transform:scaleY(1)}100%{opacity:.55;transform:scaleY(1)}}
@media(max-width:767px){.cpsb{--cpsb-icon:36px;--cpsb-font:12px;--cpsb-gap:10px;--cpsb-icon-gap:5px}.cpsb .cpsb-frame{border-radius:8px}.cpsb .cpsb-label{padding-bottom:5px}}
@media(prefers-reduced-motion:reduce){.cpsb *,.cpsb *:before,.cpsb *:after{animation:none!important;transition:none!important}.cpsb .cpsb-item:is(:hover,:focus-visible) .cpsb-icon{transform:none}.cpsb .cpsb-glint:after{opacity:0!important}}
@media(forced-colors:active){.cpsb .cpsb-frame{border-color:ButtonText}.cpsb .cpsb-svg{forced-color-adjust:none}.cpsb .cpsb-item:focus-visible{outline:2px solid Highlight}}

/* 1.1.0: dedicated mobile strip, outside the theme's desktop header. */
#cpsb-mobilebar[hidden],.cpsb-mobilebar{display:none!important}
@media(max-width:767px){
  #cpsb-mobilebar:not([hidden]){display:block!important;position:relative;clear:both;box-sizing:border-box;width:100%;max-width:100%;margin:0;padding:5px 8px 6px;background:#053d63;color:#e5edf3;border-top:1px solid #ffffff15;border-bottom:1px solid #ffffff18;z-index:2}
  /* Prevent a second copy if this theme also renders the Elementor desktop header. */
  .elementor-location-header .elementor-widget-cafepart_service_buttons,.elementor-147 .elementor-element-c656bce{display:none!important}
  #cpsb-mobilebar .cpsb{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:0!important;width:100%;max-width:100%;padding:0;--cpsb-panel:#12354d;--cpsb-icon:30px;--cpsb-font:11px;--cpsb-icon-gap:5px;--cpsb-shine:.26;--cpsb-cycle:12s}
  #cpsb-mobilebar .cpsb-item{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-width:0;width:100%;min-height:64px;margin:0;padding:3px 4px;background:#053d63;color:#e5edf3}
  #cpsb-mobilebar .cpsb-item+.cpsb-item{border-right:1px solid #ffffff12;border-radius:0}
  #cpsb-mobilebar .cpsb-label{font-size:clamp(10px,2.9vw,12px);line-height:1.7;padding:2px 0 5px;white-space:normal;text-align:center;overflow-wrap:anywhere}
  #cpsb-mobilebar .cpsb-icon{width:30px;height:30px;flex:0 0 30px}
  #cpsb-mobilebar .cpsb--mobile_auto.cpsb--motion .cpsb-plane{animation:cpsb-mobile-fly var(--cpsb-cycle) ease-in-out infinite}
  #cpsb-mobilebar .cpsb--mobile_auto.cpsb--motion .cpsb-trail{animation:cpsb-mobile-trail var(--cpsb-cycle) ease-in-out infinite}
  #cpsb-mobilebar .cpsb--mobile_auto.cpsb--motion .cpsb-nozzle{animation:cpsb-mobile-place var(--cpsb-cycle) ease-in-out infinite}
  #cpsb-mobilebar .cpsb--mobile_auto.cpsb--motion .cpsb-chip{animation:cpsb-mobile-chip var(--cpsb-cycle) ease-in-out infinite}
  #cpsb-mobilebar .cpsb--mobile_auto.cpsb--motion .cpsb-circuit{animation:cpsb-mobile-pulse var(--cpsb-cycle) ease-in-out infinite}
  #cpsb-mobilebar .cpsb--mobile_auto.cpsb--motion .cpsb-cell{animation:cpsb-mobile-charge var(--cpsb-cycle) ease-in-out infinite}
  #cpsb-mobilebar .cpsb--mobile_auto.cpsb--shine.cpsb--idle .cpsb-glint:after{animation:cpsb-mobile-glint var(--cpsb-cycle) ease-out infinite}
  #cpsb-mobilebar .cpsb--mobile_auto .cpsb-item *{animation-delay:calc(var(--cpsb-index) * 3s + 1s)}
  #cpsb-mobilebar .cpsb--mobile_auto.cpsb--shine.cpsb--idle .cpsb-glint:after{animation-delay:calc(var(--cpsb-index) * 3s + 1s)}
  #cpsb-mobilebar .cpsb--mobile_auto .cpsb-cell-2{animation-delay:calc(var(--cpsb-index) * 3s + 1.16s)}
  #cpsb-mobilebar .cpsb--mobile_auto .cpsb-cell-3{animation-delay:calc(var(--cpsb-index) * 3s + 1.32s)}
  #cpsb-mobilebar.cpsb-paused *,#cpsb-mobilebar.cpsb-paused *:after,#cpsb-mobilebar.cpsb-offscreen *,#cpsb-mobilebar.cpsb-offscreen *:after{animation-play-state:paused!important}
}
@keyframes cpsb-mobile-fly{0%,10%,100%{transform:translate(0,0)}4%{transform:translate(5px,-5px)}7%{transform:translate(4px,-4px)}}
@keyframes cpsb-mobile-trail{0%,10%,100%{stroke-dashoffset:45;opacity:0}4%{opacity:.65}7%{stroke-dashoffset:0;opacity:.35}9%{stroke-dashoffset:-10;opacity:0}}
@keyframes cpsb-mobile-place{0%,10%,100%{transform:translateY(0)}4%,6%{transform:translateY(7px)}}
@keyframes cpsb-mobile-chip{0%{transform:translateY(-3px)}6%,100%{transform:translateY(0)}}
@keyframes cpsb-mobile-pulse{0%,3%,10%,100%{opacity:.5}6%{opacity:1}}
@keyframes cpsb-mobile-charge{0%,100%{opacity:.25;transform:scaleY(1)}2%{opacity:.15;transform:scaleY(.3)}7%{opacity:.85;transform:scaleY(1)}12%,98%{opacity:.35;transform:scaleY(1)}}
@keyframes cpsb-mobile-glint{0%,12%,100%{transform:translateX(0) rotate(24deg);opacity:0}2%,8%{opacity:var(--cpsb-shine)}10%{transform:translateX(570%) rotate(24deg);opacity:0}}
@media(prefers-reduced-motion:reduce){#cpsb-mobilebar *,#cpsb-mobilebar *:before,#cpsb-mobilebar *:after{animation:none!important;transition:none!important}}
