/* =========================================================================
   1. GLOBAL RESET, DESIGN TOKENS & BASE TYPOGRAPHY
   ========================================================================= */
:root {
    --fogya-red: #cc0e0e;
    --premium-slate: #1e293b;
    --light-slate: #f1f5f9;
    --text-main: #0f172a;
    --text-muted: #64748b;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    font-family: 'Poppins', sans-serif;
    color: var(--text-main);
    background-color: #f8fafc;
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
}

/* Dashicons Front-End Alignment Fix */
.dashicons {
    display: inline-block;
    vertical-align: middle;
    line-height: 1;
}

/* =========================================================================
   2. GPU-ACCELERATED FLOATING CONTACT ACTIONS (IOS WEBKIT STABLE)
   ========================================================================= */
.floating-btn {
    position: fixed;
    bottom: 45px;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
    z-index: 9999;
    opacity: 0.95;
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.25s ease;
    will-change: transform;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
}

.btn-svg {
    display: block;
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    box-sizing: border-box;
    z-index: 3;
    transform-origin: center center;
}

/* TELEFON ARAMA BUTONU */
.btn-call {
    --ring-color: #f59e0b;
    left: 45px;
    background-color: #5b75a6;
}

.btn-call .btn-svg {
    animation: phone-wiggle-action 3.2s ease-in-out infinite;
}

.btn-call .btn-svg path {
    fill: #ffffff;
    stroke: #ffffff;
    stroke-width: 0.8px;
    paint-order: stroke fill;
}

/* WHATSAPP BUTONU */
.btn-whatsapp {
    right: 45px;
    background-color: #25d366;
}

/* Hover States */
.floating-btn:hover {
    transform: scale(1.1) translateY(-4px);
    opacity: 1;
}

.floating-btn:active {
    transform: scale(0.9);
}

/* DUAL PULSE RING SYSTEM */
.pulse-ring {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    z-index: 1;
    box-sizing: border-box;
    pointer-events: none;
}

.btn-call .ring-inner {
    border: 4px solid var(--ring-color);
    animation: phone-wave-inner 3.2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

.btn-call .ring-outer {
    border: 2px solid var(--ring-color);
    opacity: 0.4;
    animation: phone-wave-outer 1.6s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

/* KEYFRAMES */
@keyframes phone-wave-inner {
    0%, 100% { transform: scale(1); opacity: 0; }
    50% { transform: scale(1.3); opacity: 0.8; }
}

@keyframes phone-wave-outer {
    0% { transform: scale(1); opacity: 0.8; }
    80%, 100% { transform: scale(1.65); opacity: 0; }
}

@keyframes phone-wiggle-action {
    0%, 38%, 52%, 100% { transform: rotate(0); }
    40% { transform: rotate(-35deg); }
    43% { transform: rotate(13deg); }
    46% { transform: rotate(-25deg); }
    49% { transform: rotate(8deg); }
}

/* MOBILE BREAKPOINTS */
@media (max-width: 768px) {
    .floating-btn {
        bottom: 30px;
        width: 50px;
        height: 50px;
    }

    .btn-call { left: 30px; }
    .btn-whatsapp { right: 30px; }

    .btn-call .btn-svg,
    .btn-whatsapp .btn-svg {
        width: 32px;
        height: 32px;
        max-width: 32px;
        max-height: 32px;
    }

    .btn-call .btn-svg path {
        stroke-width: 0.6px;
    }
}