/**
 * Blog Listing Template Styles - Quylo Child Theme
 */

/* ── Shimmer Text (matches landing page) ── */
.shimmer-text {
    background: linear-gradient(90deg, #00BFBD 0%, #E0F7FA 40%, #00BFBD 70%, #E0F7FA 100%);
    background-size: 200% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: blog-shimmer-wave 3s linear infinite;
}
@keyframes blog-shimmer-wave {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}

/* ── Blog Listing Section: Override sky to green (#00BFBD) ── */
.blog-listing-section .text-sky { color: #00BFBD !important; }
.blog-listing-section .bg-sky { background-color: #00BFBD !important; }
.blog-listing-section .bg-sky\/10 { background-color: rgba(0,191,189,0.1) !important; }
.blog-listing-section .bg-sky\/8 { background-color: rgba(0,191,189,0.08) !important; }
.blog-listing-section .border-sky\/20 { border-color: rgba(0,191,189,0.2) !important; }
.blog-listing-section .border-sky\/15 { border-color: rgba(0,191,189,0.15) !important; }
.blog-listing-section .ring-sky\/20 { --tw-ring-color: rgba(0,191,189,0.2); }
.blog-listing-section .text-sky\/30 { color: rgba(0,191,189,0.3) !important; }
.blog-listing-section .group-hover\:text-sky:hover,
.blog-listing-section .hover\:text-sky:hover { color: #00BFBD !important; }
.blog-listing-section .hover\:bg-sky-dark:hover { background-color: #009a9a !important; }

/* Card/group hover - force green (override any blue) */
.blog-listing-section .group:hover h2,
.blog-listing-section .group:hover h3,
.blog-listing-section .blog-card:hover h3,
.blog-listing-section .featured-card:hover h2 { color: #00BFBD !important; }

/* Remove tabbing / focus outline */
.blog-listing-section a:focus,
.blog-listing-section a:focus-visible,
.blog-listing-section .cat-pill:focus,
.blog-listing-section .page-numbers:focus {
    outline: none !important;
    box-shadow: none !important;
}

/* ── Particle effect for banner ── */
.particle {
    position: absolute;
    border-radius: 50%;
    background: rgba(75, 192, 242, 0.15);
    pointer-events: none;
    animation: float-particle linear infinite;
}

@keyframes float-particle {
    0% { transform: translateY(0) scale(1); opacity: 0; }
    10% { opacity: 1; }
    90% { opacity: 1; }
    100% { transform: translateY(-100vh) scale(0.5); opacity: 0; }
}

/* ── Blog Card ── */
.blog-card {
    background: #fff;
    border-radius: 1.25rem;
    overflow: hidden;
    border: 1px solid rgba(10,13,35,.06);
    transition: all 0.4s cubic-bezier(.4,0,.2,1);
}

.blog-card:hover {
    transform: translateY(-6px);
    border-color: rgba(0,191,189,.2);
    box-shadow: 0 20px 50px -12px rgba(0,191,189,.15);
}

.blog-card-img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(.4,0,.2,1);
}

.blog-card:hover .blog-card-img {
    transform: scale(1.05);
}

/* ── Category Pill ── */
.cat-pill {
    padding: 0.5rem 1.25rem;
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 600;
    border: 1px solid rgba(10,13,35,.1);
    background: #fff;
    color: #0A0D23;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.cat-pill:hover {
    border-color: rgba(0,191,189,.3);
    color: #00BFBD;
}

.cat-pill.active {
    background: #00BFBD;
    color: #fff;
    border-color: #00BFBD;
}

/* ── Search Box ── */
.blog-search {
    background: #fff;
    border: 1px solid rgba(10,13,35,.1);
    border-radius: 1rem;
    padding: 1rem 1.25rem 1rem 3rem;
    font-size: 1rem;
    width: 100%;
    transition: all 0.3s ease;
    outline: none;
    color: #0A0D23;
}

.blog-search::placeholder { color: #9ca3af; }

.blog-search:focus {
    border-color: #00BFBD;
    box-shadow: 0 0 0 3px rgba(0,191,189,.12);
}

/* ── Featured Post ── */
.featured-card {
    background: linear-gradient(135deg, #0A0D23 0%, #1A1F36 100%);
    border-radius: 1.5rem;
    overflow: hidden;
    border: 1px solid rgba(0,191,189,.15);
    transition: all 0.4s cubic-bezier(.4,0,.2,1);
}

.featured-card:hover {
    border-color: rgba(0,191,189,.35);
    box-shadow: 0 25px 60px -12px rgba(0,191,189,.2);
}

/* ── Pagination ── */
.page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 0.75rem;
    font-size: 0.9rem;
    font-weight: 600;
    border: 1px solid rgba(10,13,35,.1);
    background: #fff;
    color: #0A0D23;
    transition: all 0.3s ease;
    text-decoration: none;
}

.page-numbers:hover {
    border-color: rgba(0,191,189,.3);
    color: #00BFBD;
}

.page-numbers.current {
    background: #00BFBD;
    color: #fff;
    border-color: #00BFBD;
}

.page-numbers.dots {
    border: none;
    background: transparent;
}

/* ── Counter badge ── */
.cat-counter {
    background: linear-gradient(135deg, #00BFBD, #009a9a);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.15rem 0.5rem;
    border-radius: 9999px;
    margin-left: 0.5rem;
    min-width: 1.5rem;
    text-align: center;
}
