:root{
  --ink:#201F1F;
  --brand:#FB6F56;
  --btn-radius:140px;
  --min-scale-x:.62;
  --outline-origin-x:50%;
  --breath-duration: 8s;
}

.cta-breath{ position:relative; display:inline-block; }

.cta-breath-btn{
  position:relative; z-index:2; display:inline-flex; align-items:center; gap:16px;
  background:transparent; color:var(--ink)!important; border-radius:120px;
  border:1px solid #B7B4B4; letter-spacing:.2px; font-family:"Unbounded",sans-serif;
  font-weight:300; text-decoration:none; padding:18px 24px; font-size:18px;
}
.cta-breath-btn:hover, .cta-breath-btn:focus{ background:#fff; border-color:#fff; }
.cta-breath-label{ white-space:nowrap; }
.cta-breath-icon{ flex:0 0 auto; rotate:-45deg; }

/* outline (hover only) */
.cta-breath-outline{
  position:absolute; inset:-7px; width:calc(100% + 14px); height:calc(100% + 14px);
  pointer-events:none; z-index:3; opacity:0; transition:opacity .25s ease;
}
.cta-breath:hover .cta-breath-outline{ opacity:1; }

.cta-breath-outline rect{
  transform-box:fill-box; transform-origin:var(--outline-origin-x) 50%;
  transition:transform .8s cubic-bezier(.4,0,.2,1);
  vector-effect:non-scaling-stroke; rx:var(--btn-radius); ry:var(--btn-radius);
}

/* breathing (σταθερός ρυθμός) */
.cta-breath:hover .cta-breath-outline rect{
  animation: cta-breath-breathing var(--breath-duration) ease-in-out infinite;
}

@keyframes cta-breath-breathing{
  0% {transform:scaleX(1);} 25% {transform:scaleX(var(--min-scale-x));}
  50% {transform:scaleX(1);} 75% {transform:scaleX(var(--min-scale-x));}
  100% {transform:scaleX(1);}
}

/* baseline responsive — η τυπογραφία ελέγχεται και από Elementor */
@media (max-width:1024px){
  .cta-breath-btn{ font-size:16px; gap:10px; }
}
