.cctk-quick-contact{
    --cctk-qc-orange:#f58220;
    --cctk-qc-orange-dark:#d9670b;
    --cctk-qc-ink:#322b25;
    --cctk-qc-bg:rgba(255,253,246,.97);
    --cctk-qc-line:rgba(76,59,42,.10);
    --cctk-qc-top:45%;
    position:fixed;
    z-index:99920;
    top:var(--cctk-qc-top);
    font:inherit;
    pointer-events:none;
}
.cctk-quick-contact--right{right:0;transform:translateY(-50%)}
.cctk-quick-contact--left{left:0;transform:translateY(-50%)}

/*
 * Desktop: the rail keeps a constant width. Labels are independent tooltips,
 * so hovering a link never stretches the whole contact panel.
 */
.cctk-quick-contact__desktop{
    position:relative;
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:2px;
    width:58px;
    padding:7px 6px;
    background:var(--cctk-qc-bg);
    border:1px solid var(--cctk-qc-line);
    box-shadow:0 12px 34px rgba(55,42,31,.13),0 2px 8px rgba(55,42,31,.05);
    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);
    pointer-events:auto;
}
.cctk-quick-contact--right .cctk-quick-contact__desktop{
    border-right:0;
    border-radius:18px 0 0 18px;
}
.cctk-quick-contact--left .cctk-quick-contact__desktop{
    border-left:0;
    border-radius:0 18px 18px 0;
}

.cctk-quick-contact__link{
    position:relative;
    box-sizing:border-box;
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    padding:0;
    border:0;
    border-radius:13px;
    color:var(--cctk-qc-orange)!important;
    text-decoration:none!important;
    overflow:visible;
    transition:background-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;
    font-size:13px!important;
    line-height:1!important;
}
.cctk-quick-contact__icon{
    display:grid;
    place-items:center;
    width:22px;
    height:22px;
    color:inherit;
}
.cctk-quick-contact__icon svg,
.cctk-quick-contact__mobile svg{
    display:block;
    width:20px;
    height:20px;
    fill:currentColor;
}

.cctk-quick-contact__label{
    position:absolute;
    top:50%;
    z-index:2;
    display:block;
    width:max-content;
    max-width:190px;
    padding:9px 11px;
    border:1px solid rgba(76,59,42,.09);
    border-radius:10px;
    background:rgba(255,255,255,.98);
    box-shadow:0 9px 26px rgba(55,42,31,.13),0 2px 7px rgba(55,42,31,.05);
    color:var(--cctk-qc-ink);
    font-size:12.5px;
    font-weight:750;
    line-height:1.15;
    letter-spacing:.005em;
    white-space:nowrap;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .16s ease,transform .18s ease,visibility .16s ease;
}
.cctk-quick-contact--right .cctk-quick-contact__label{
    right:calc(100% + 12px);
    transform:translate(5px,-50%);
}
.cctk-quick-contact--left .cctk-quick-contact__label{
    left:calc(100% + 12px);
    transform:translate(-5px,-50%);
}
.cctk-quick-contact__label::after{
    content:"";
    position:absolute;
    top:50%;
    width:8px;
    height:8px;
    margin-top:-4px;
    background:#fff;
    border-top:1px solid rgba(76,59,42,.08);
    border-right:1px solid rgba(76,59,42,.08);
}
.cctk-quick-contact--right .cctk-quick-contact__label::after{
    right:-5px;
    transform:rotate(45deg);
}
.cctk-quick-contact--left .cctk-quick-contact__label::after{
    left:-5px;
    transform:rotate(225deg);
}

.cctk-quick-contact__divider{
    display:block;
    width:24px;
    height:1px;
    margin:5px 0;
    background:var(--cctk-qc-line);
}
.cctk-quick-contact__link--social{
    height:40px;
}
.cctk-quick-contact__link--social .cctk-quick-contact__icon{
    transform:scale(.88);
}
.cctk-quick-contact__link:focus-visible{
    outline:3px solid rgba(245,130,32,.24);
    outline-offset:2px;
}

.cctk-quick-contact__mobile{display:none}

@media (hover:hover) and (min-width:769px){
    .cctk-quick-contact__link:hover,
    .cctk-quick-contact__link:focus-visible{
        background:rgba(245,130,32,.105);
        color:var(--cctk-qc-orange-dark)!important;
        transform:translateY(-1px);
        box-shadow:inset 0 0 0 1px rgba(245,130,32,.06);
    }
    .cctk-quick-contact__link:hover .cctk-quick-contact__label,
    .cctk-quick-contact__link:focus-visible .cctk-quick-contact__label{
        opacity:1;
        visibility:visible;
    }
    .cctk-quick-contact--right .cctk-quick-contact__link:hover .cctk-quick-contact__label,
    .cctk-quick-contact--right .cctk-quick-contact__link:focus-visible .cctk-quick-contact__label,
    .cctk-quick-contact--left .cctk-quick-contact__link:hover .cctk-quick-contact__label,
    .cctk-quick-contact--left .cctk-quick-contact__link:focus-visible .cctk-quick-contact__label{
        transform:translate(0,-50%);
    }
}

@media (max-width:768px){
    .cctk-quick-contact{
        top:auto!important;
        right:auto;
        left:50%;
        bottom:max(10px,env(safe-area-inset-bottom));
        transform:translateX(-50%);
        width:auto;
    }
    .cctk-quick-contact__desktop{display:none}
    .cctk-quick-contact__mobile{
        display:flex;
        align-items:center;
        gap:4px;
        padding:5px;
        border:1px solid var(--cctk-qc-line);
        border-radius:18px;
        background:var(--cctk-qc-bg);
        box-shadow:0 12px 34px rgba(55,42,31,.18);
        -webkit-backdrop-filter:blur(12px);
        backdrop-filter:blur(12px);
        pointer-events:auto;
    }
    .cctk-quick-contact__mobile a{
        display:flex;
        align-items:center;
        justify-content:center;
        gap:8px;
        min-height:44px;
        padding:0 15px;
        border-radius:13px;
        color:var(--cctk-qc-ink)!important;
        text-decoration:none!important;
        font-size:13px!important;
        font-weight:800;
        line-height:1!important;
    }
    .cctk-quick-contact__mobile a:first-child{
        background:var(--cctk-qc-orange);
        color:#fff!important;
    }
    .cctk-quick-contact__mobile a:first-child svg{color:#fff}
    .cctk-quick-contact__mobile a:only-child{
        min-width:118px;
        background:var(--cctk-qc-orange);
        color:#fff!important;
    }
    .cctk-quick-contact__mobile svg{color:var(--cctk-qc-orange)}
    .cctk-quick-contact--no-mobile{display:none!important}
}
@media (min-width:769px){.cctk-quick-contact--no-desktop{display:none!important}}
@media (prefers-reduced-motion:reduce){
    .cctk-quick-contact__link,
    .cctk-quick-contact__label{transition:none}
}

/* Mobile dismiss control: intentionally tiny visually, but easy to tap. */
@media (max-width:768px){
    .cctk-quick-contact__mobile{
        position:relative;
        transition:opacity .18s ease,transform .18s ease;
    }
    .cctk-quick-contact__mobile[hidden]{display:none!important}
    .cctk-quick-contact__mobile.is-dismissing{
        opacity:0;
        transform:translateY(10px) scale(.98);
        pointer-events:none;
    }
    .cctk-quick-contact__dismiss{
        position:absolute;
        top:-12px;
        right:-12px;
        display:grid;
        place-items:center;
        width:30px;
        height:30px;
        margin:0;
        padding:0;
        border:1px solid rgba(76,59,42,.10);
        border-radius:999px;
        background:rgba(255,255,255,.98);
        box-shadow:0 5px 16px rgba(55,42,31,.14);
        color:#766b61;
        cursor:pointer;
        -webkit-tap-highlight-color:transparent;
        transition:color .16s ease,background-color .16s ease,transform .16s ease;
    }
    .cctk-quick-contact__dismiss svg{
        display:block;
        width:15px;
        height:15px;
        fill:currentColor;
    }
    .cctk-quick-contact__dismiss:active{transform:scale(.92)}
    .cctk-quick-contact__dismiss:focus-visible{
        outline:3px solid rgba(245,130,32,.24);
        outline-offset:2px;
    }
}
@media (prefers-reduced-motion:reduce){
    .cctk-quick-contact__mobile,
    .cctk-quick-contact__dismiss{transition:none}
}
