/*
 * عيادتي — General styles.
 * Design tokens (CSS variables) live here so Tailwind config can reference them.
 * Only include base resets, component classes, and utilities that are hard to
 * express with Tailwind alone (color-mix, gradients on text, Swiper overrides, etc.).
 */

:root {
    --radius: 1.25rem;

    --background: oklch(0.985 0.008 90);
    --foreground: oklch(0.2 0.03 230);
    --ink: oklch(0.16 0.04 230);

    --card: #ffffff;
    --card-foreground: oklch(0.2 0.03 230);

    --primary: oklch(0.62 0.13 225);
    --primary-foreground: oklch(0.985 0.008 90);
    --primary-glow: oklch(0.78 0.13 220);
    --primary-deep: oklch(0.32 0.09 230);

    --accent: oklch(0.78 0.13 85);
    --accent-foreground: oklch(0.22 0.05 85);

    --muted: oklch(0.96 0.012 220);
    --muted-foreground: oklch(0.46 0.02 230);

    --border: oklch(0.92 0.02 220);

    --gradient-primary: linear-gradient(
        135deg,
        oklch(0.52 0.14 232),
        oklch(0.72 0.14 218) 55%,
        oklch(0.86 0.09 210)
    );
    --gradient-hero: linear-gradient(
        135deg,
        oklch(0.22 0.08 235) 0%,
        oklch(0.36 0.12 228) 45%,
        oklch(0.55 0.14 218) 100%
    );
    --gradient-soft: linear-gradient(
        180deg,
        oklch(0.985 0.012 220) 0%,
        oklch(0.955 0.028 222) 55%,
        oklch(0.92 0.045 220) 100%
    );
    --gradient-accent: linear-gradient(
        135deg,
        oklch(0.84 0.14 88),
        oklch(0.7 0.16 65)
    );
    --gradient-sky: linear-gradient(
        135deg,
        oklch(0.55 0.14 232) 0%,
        oklch(0.68 0.13 218) 55%,
        oklch(0.82 0.1 210) 100%
    );

    --shadow-glow: 0 30px 80px -30px
        color-mix(in oklab, var(--primary-deep) 55%, transparent);
    --shadow-card: 0 20px 60px -24px
        color-mix(in oklab, var(--primary-deep) 22%, transparent);
    --shadow-gold: 0 20px 50px -20px
        color-mix(in oklab, var(--accent) 55%, transparent);
}

* {
    border-color: var(--border);
}
html {
    scroll-behavior: smooth;
}
body {
    background: var(--background);
    color: var(--foreground);
    font-family: "Cairo", sans-serif;
    -webkit-font-smoothing: antialiased;
}
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Cairo", sans-serif;
    letter-spacing: -0.01em;
}
::selection {
    background: color-mix(in oklab, var(--primary) 30%, transparent);
}

/* ---------- Layout helpers ---------- */
.container-x {
    width: 100%;
    max-width: 1240px;
    margin-inline: auto;
    padding-inline: 1.25rem;
}

/* ---------- Reusable components ---------- */
.glass-card {
    background: color-mix(in oklab, white 78%, transparent);
    backdrop-filter: blur(14px);
    border: 1px solid color-mix(in oklab, white 60%, transparent);
    box-shadow: var(--shadow-card);
}

.gradient-text {
    background: var(--gradient-primary);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.btn-hero {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.95rem 1.8rem;
    border-radius: 999px;
    font-weight: 700;
    color: white;
    background: var(--gradient-primary);
    box-shadow: var(--shadow-glow);
    transition:
        transform 0.25s ease,
        filter 0.25s ease;
}
.btn-hero:hover {
    transform: translateY(-2px);
    filter: brightness(1.05);
}

.section-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.4rem 0.9rem;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--primary);
    background: color-mix(in oklab, var(--primary) 12%, transparent);
    letter-spacing: 0.02em;
}

/* ---------- Color-mix based utilities (Tailwind can't express these directly) ---------- */
.text-ink-soft {
    color: color-mix(in oklab, var(--ink) 70%, transparent);
}
.text-primary-soft {
    color: color-mix(in oklab, var(--primary) 30%, transparent);
}
.bg-primary-tint {
    background: color-mix(in oklab, var(--primary) 10%, transparent);
}
.text-huge {
    font-size: clamp(2.5rem, 7vw, 5rem);
}

/* ---------- Swiper overrides ---------- */
.swiper-button-next,
.swiper-button-prev {
    color: white !important;
    width: 52px !important;
    height: 52px !important;
    background: color-mix(in oklab, white 14%, transparent);
    backdrop-filter: blur(14px);
    border: 1px solid color-mix(in oklab, white 25%, transparent);
    border-radius: 999px;
    transition: all 0.3s ease;
}
.swiper-button-next:hover,
.swiper-button-prev:hover {
    background: var(--accent) !important;
    border-color: var(--accent) !important;
    transform: scale(1.06);
}
.swiper-button-next::after,
.swiper-button-prev::after {
    font-size: 16px !important;
    font-weight: 900;
}
.swiper-pagination-bullet {
    background: white !important;
    opacity: 0.4 !important;
    width: 8px !important;
    height: 8px !important;
    transition: all 0.35s ease;
}
.swiper-pagination-bullet-active {
    opacity: 1 !important;
    width: 32px !important;
    border-radius: 999px !important;
    background: var(--accent) !important;
}
.pagination-dark .swiper-pagination-bullet {
    background: var(--primary) !important;
}

.hero-swiper .swiper-button-next {
    right: 24px !important;
    left: auto !important;
}
.hero-swiper .swiper-button-prev {
    left: 24px !important;
    right: auto !important;
}
.hero-swiper .swiper-pagination {
    bottom: 78px !important;
}

/* Ken-burns hero effect */
@keyframes kenburns {
    0% {
        transform: scale(1.05) translate(0, 0);
    }
    100% {
        transform: scale(1.18) translate(-1.5%, -1%);
    }
}
.hero-kenburns {
    animation: kenburns 12s ease-out infinite alternate;
}

/* ---------- WhatsApp floating button ---------- */
.wa-float {
    position: fixed;
    bottom: 24px;
    left: 24px;
    z-index: 60;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: #25d366;
    color: #fff;
    display: grid;
    place-items: center;
    box-shadow: 0 10px 25px rgba(37, 211, 102, 0.5);
    transition: transform 0.25s ease;
}
.wa-float:hover {
    transform: scale(1.08);
}
.wa-float::before {
    content: "";
    position: absolute;
    inset: -6px;
    border-radius: 50%;
    background: #25d366;
    opacity: 0.35;
    z-index: -1;
    animation: wa-pulse 1.8s ease-out infinite;
}
@keyframes wa-pulse {
    0% {
        transform: scale(1);
        opacity: 0.5;
    }
    100% {
        transform: scale(1.6);
        opacity: 0;
    }
}

.form-input {
    width: 100%;
    background: white;
    border: 1px solid var(--border);
    border-radius: 0.85rem;
    padding: 0.75rem 1rem;
    font: inherit;
    color: inherit;
    outline: none;
    transition:
        border-color 0.2s,
        box-shadow 0.2s;
}
.form-input:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 4px color-mix(in oklab, var(--primary) 15%, transparent);
}
