:root{
  --select-bg: var(--rb-main-color, #111); /* 배경색(없으면 #111) */
  --select-fg: #fff;                       /* 글자색 */
}

::selection{
  background-color: var(--select-bg);
  color: var(--select-fg);
  text-shadow: none; /* 가독성 */
}
::-moz-selection{
  background-color: var(--select-bg);
  color: var(--select-fg);
}


.cp-cta-btn {
   --cp-contact-cta-gap: 16px;
    display: inline-flex;
    align-items: center;
    gap: var(--cp-contact-cta-gap);
    color: var(--cta-btn-color, #FFF);
    text-decoration: none;
    font-weight: 700;
    letter-spacing: .04em;
    position: relative;
    padding-right: 7px;
    cursor: pointer;
}
.cp-cta-btn .cp-cta-label{
    font-size: clamp(12px, 1.4vw, 14px);
    text-transform: uppercase;
}
.cp-cta-btn .cp-cta-line{
    position: relative;
    width: clamp(56px, 10vw, 96px);
    height: 1px;
    background: currentColor;
}
.cp-cta-btn .cp-cta-line::after{
content:"";
position: absolute; right: -1px; top: 50%;
width: 8px; height: 8px;
border-top: 1px solid currentColor;
border-right: 1px solid currentColor;
transform: translateY(-50%) rotate(45deg);
}
.cp-cta-btn:focus-visible{
outline: var(--cta-btn-color, #FFF); outline-offset: 4px;
}
.cp-cta-btn:hover .cp-cta-line{ transform: translateX(4px); }
.cp-cta-btn,
.cp-cta-btn .cp-cta-line{ transition: transform .2s ease; }