/* =========================================================
   Pantone Floating Contact – Frontend Styles
   ========================================================= */

/* Widget wrapper */
.pfc-widget {
    position: fixed;
    z-index: 99999;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
}
.pfc-widget.pfc-right {
    align-items: flex-end;
}

/* ── Item list ───────────────────────────────────────────── */
.pfc-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    margin-bottom: 12px !important;

    /* Hidden by default */
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    pointer-events: none;
    transition: max-height .35s cubic-bezier(.4,0,.2,1),
                opacity   .25s ease;
}
.pfc-list .pfc-item {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
}
.pfc-list.is-open {
    max-height: 600px;
    opacity: 1;
    pointer-events: auto;
}

/* ── Single button ───────────────────────────────────────── */
.pfc-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    background: var(--pfc-color, #333) !important;
    color: #fff !important;
    border-radius: 50px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,.2) !important;
    transition: transform .2s ease, box-shadow .2s ease !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    height: 44px !important;
    padding: 0 24px !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    letter-spacing: .02em !important;
    box-sizing: border-box !important;
    border: none !important;
    max-width: 100vw !important;
    line-height: normal !important;
}
.pfc-btn:hover {
    transform: translateY(-2px) scale(1.04) !important;
    box-shadow: 0 6px 18px rgba(0,0,0,.28) !important;
}

/* ── Toggle button ───────────────────────────────────────── */
.pfc-toggle {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #0f172a;
    color: #fff;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 14px rgba(0,0,0,.3);
    transition: background .2s ease, transform .2s ease;
    outline: none;
    flex-shrink: 0;
}
.pfc-toggle:hover {
    background: #1e293b;
    transform: scale(1.08);
}
.pfc-toggle-open,
.pfc-toggle-close {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.pfc-toggle svg {
    width: 22px;
    height: 22px;
    transition: opacity .2s ease, transform .2s ease;
}
.pfc-toggle {
    position: relative;
}
/* Open state icon */
.pfc-toggle-open  svg { opacity: 1;  transform: rotate(0deg)   scale(1);   }
.pfc-toggle-close svg { opacity: 0;  transform: rotate(90deg)  scale(.6);  }

/* When list is open – swap icons */
.pfc-widget.is-open .pfc-toggle-open  svg { opacity: 0; transform: rotate(-90deg) scale(.6); }
.pfc-widget.is-open .pfc-toggle-close svg { opacity: 1; transform: rotate(0deg)   scale(1);  }

/* Pulse ring on toggle */
.pfc-toggle::after {
    content: '';
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    border: 2px solid rgba(15,23,42,.3);
    animation: pfc-pulse 2.2s ease-out infinite;
}
@keyframes pfc-pulse {
    0%   { transform: scale(1);   opacity: .7; }
    70%  { transform: scale(1.5); opacity: 0;  }
    100% { transform: scale(1.5); opacity: 0;  }
}

/* ── Right-side alignment ────────────────────────────────── */
.pfc-right .pfc-list {
    align-items: flex-end;
}

/* ── Item slide-in animation ─────────────────────────────── */
.pfc-list.is-open .pfc-item {
    animation: pfc-slide-in .25s ease both;
}
.pfc-list.is-open .pfc-item:nth-child(1) { animation-delay: .03s; }
.pfc-list.is-open .pfc-item:nth-child(2) { animation-delay: .07s; }
.pfc-list.is-open .pfc-item:nth-child(3) { animation-delay: .11s; }
.pfc-list.is-open .pfc-item:nth-child(4) { animation-delay: .15s; }
.pfc-list.is-open .pfc-item:nth-child(5) { animation-delay: .19s; }
.pfc-list.is-open .pfc-item:nth-child(6) { animation-delay: .23s; }

@keyframes pfc-slide-in {
    from { opacity: 0; transform: translateY(12px); }
    to   { opacity: 1; transform: translateY(0);    }
}

/* ── Mobile ──────────────────────────────────────────────── */
@media (max-width: 640px) {
    .pfc-btn  { height: 40px; padding: 0 20px; font-size: 14px; }
    .pfc-toggle { width: 46px; height: 46px; }
    .pfc-toggle svg { width: 20px; height: 20px; }
}
