.wpfcp-wrap{
    position:fixed;
    right:var(--wpfcp-right,18px);
    bottom:var(--wpfcp-bottom,18px);
    z-index:9999;
    display:flex;
    flex-direction:column;
    gap:var(--wpfcp-gap,10px);
    align-items:flex-end;
}
.wpfcp-wrap::before{
    content:"";
    position:absolute;
    right:8px;
    top:8px;
    bottom:8px;
    width:1px;
    background:linear-gradient(180deg,rgba(15,23,42,0),rgba(15,23,42,.12),rgba(15,23,42,0));
    pointer-events:none;
}
.wpfcp-brand-card{
    position:relative;
    overflow:hidden;
    width:min(292px, calc(100vw - 32px));
    padding:16px 18px;
    border-radius:20px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,0) 42%),
        linear-gradient(180deg, rgba(7,22,41,.98), rgba(16,59,102,.96));
    color:#fff;
    box-shadow:0 18px 46px rgba(2,12,27,.18);
    border:1px solid rgba(255,255,255,.10);
    display:flex;
    flex-direction:column;
    gap:5px;
    backdrop-filter:saturate(120%) blur(8px);
}
.wpfcp-brand-card::after{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:4px;
    background:linear-gradient(180deg,#60a5fa,#ffffff);
    opacity:.92;
}
.wpfcp-brand-name{
    font:700 15px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    letter-spacing:.03em;
    text-transform:uppercase;
}
.wpfcp-brand-tagline{
    font:500 12px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    color:rgba(255,255,255,.78);
}
.wpfcp-button{
    position:relative;
    overflow:hidden;
    min-height:var(--wpfcp-size,52px);
    min-width:var(--wpfcp-size,52px);
    padding:0 16px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    text-decoration:none;
    font:600 14px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    letter-spacing:.01em;
    color:var(--wpfcp-button-text,var(--wpfcp-text,#fff));
    background:linear-gradient(135deg,var(--wpfcp-accent,#103b66),#1c5a93);
    border:1px solid rgba(255,255,255,.16);
    box-shadow:0 12px 32px rgba(15,23,42,.14);
    transition:transform .18s ease, box-shadow .18s ease, filter .18s ease, border-color .18s ease;
    will-change:transform;
    backdrop-filter:saturate(140%) blur(6px);
}
.wpfcp-button::before{
    content:"";
    position:absolute;
    inset:1px;
    border-radius:inherit;
    background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,0) 48%);
    pointer-events:none;
}
.wpfcp-button:hover,
.wpfcp-button:focus-visible{
    transform:translateY(-2px);
    box-shadow:0 18px 40px rgba(15,23,42,.20);
    border-color:rgba(255,255,255,.26);
    color:var(--wpfcp-button-text,var(--wpfcp-text,#fff));
    filter:saturate(1.05);
    outline:none;
}
.wpfcp-button:focus-visible{
    box-shadow:0 0 0 3px rgba(255,255,255,.85),0 0 0 6px rgba(16,59,102,.28),0 16px 36px rgba(15,23,42,.20);
}
.wpfcp-phone{
    --wpfcp-button-text:#ffffff;
    --wpfcp-icon-color:#ffffff;
    background:linear-gradient(135deg,#dc2626,#991b1b);
}
.wpfcp-offer{
    --wpfcp-button-text:#ffffff;
    --wpfcp-icon-color:#ffffff;
    background:linear-gradient(135deg,#365fb8,#243d7a);
}
.wpfcp-appointment{
    --wpfcp-button-text:#1f2937;
    --wpfcp-icon-color:#dc2626;
    background:linear-gradient(135deg,#ffffff,#eef2f7);
    border-color:rgba(15,23,42,.10);
}
.wpfcp-email{
    --wpfcp-button-text:#111827;
    --wpfcp-icon-color:#000000;
    background:linear-gradient(135deg,#ffffff,#eef2f7);
    border-color:rgba(15,23,42,.10);
}
.wpfcp-whatsapp{
    --wpfcp-button-text:#ffffff;
    --wpfcp-icon-color:#ffffff;
    background:linear-gradient(135deg,#16a34a,#166534);
}
.wpfcp-chat{
    --wpfcp-button-text:#ffffff;
    --wpfcp-icon-color:#ffffff;
    background:linear-gradient(135deg,#16a34a,#166534);
}
.wpfcp-icon{
    position:relative;
    z-index:1;
    font-size:18px;
    line-height:1;
    width:18px;
    text-align:center;
    color:var(--wpfcp-icon-color,currentColor);
}
.wpfcp-label{
    position:relative;
    z-index:1;
    white-space:nowrap;
}

@media (prefers-reduced-motion: reduce){
    .wpfcp-button{transition:none}
}
@media (max-width: 767px){
    .wpfcp-wrap{right:max(12px, var(--wpfcp-right,18px)); bottom:max(12px, var(--wpfcp-bottom,18px));}
    .wpfcp-brand-card{width:min(254px, calc(100vw - 28px)); padding:13px 15px 13px 16px; border-radius:18px;}
    .wpfcp-button{padding:0 14px; font-size:13px; min-height:48px;}
    body.wpfcp-hide-mobile .wpfcp-wrap{display:none;}
}
