/* Praia Media Theme - Custom Styles (Dark Mode Only) */

/* Glass Navigation */
.glass-nav {
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    background-color: rgba(253, 253, 253, 0.8);
}

.dark .glass-nav {
    background-color: rgba(10, 10, 10, 0.8);
}

/* Hero Gradient Overlay */
.hero-gradient {
    background: linear-gradient(180deg, rgba(253, 253, 253, 0) 0%, rgba(253, 253, 253, 1) 100%);
}

.dark .hero-gradient {
    background: linear-gradient(180deg, rgba(10, 10, 10, 0) 0%, rgba(10, 10, 10, 1) 100%);
}

/* AI-themed Hero Background */
.hero-ai-bg {
    background:
        /* Subtle grid pattern */
        linear-gradient(rgba(0, 0, 0, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 0, 0, 0.03) 1px, transparent 1px),
        /* Radial gradients for depth */
        radial-gradient(ellipse at 20% 50%, rgba(99, 102, 241, 0.08) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 20%, rgba(139, 92, 246, 0.06) 0%, transparent 40%),
        radial-gradient(ellipse at 60% 80%, rgba(59, 130, 246, 0.05) 0%, transparent 45%),
        /* Base gradient */
        linear-gradient(135deg, #FDFDFD 0%, #f8fafc 50%, #f1f5f9 100%);
    background-size: 60px 60px, 60px 60px, 100% 100%, 100% 100%, 100% 100%, 100% 100%;
}

/* Section backgrounds - Light mode */
section,
article,
div {
    transition: background-color 0.3s ease, color 0.3s ease;
}

.bg-page {
    background-color: #FDFDFD;
}

.dark .bg-page {
    background-color: #0A0A0A;
}

.bg-page-alt {
    background-color: #f8fafc;
}

.dark .bg-page-alt {
    background-color: #080808;
}

.bg-page-card {
    background-color: #ffffff;
}

.dark .bg-page-card {
    background-color: #0A0A0A;
}

/* Text colors */
.text-heading {
    color: #0f172a;
}

.dark .text-heading {
    color: #ffffff;
}

.text-body {
    color: #475569;
}

.dark .text-body {
    color: #cbd5e1;
}

.text-muted {
    color: #64748b;
}

.dark .text-muted {
    color: #94a3b8;
}

/* Border colors */
.border-subtle {
    border-color: #e2e8f0;
}

.dark .border-subtle {
    border-color: #334155;
}

/* Buttons */
.btn-primary {
    background-color: #0f172a;
    color: #ffffff;
    transition: opacity 0.2s ease;
}

.btn-primary:hover {
    opacity: 0.8;
}

.dark .btn-primary {
    background-color: #ffffff;
    color: #0f172a;
}

/* Contact section */
.bg-contact {
    background-color: #0f172a;
}

.dark .bg-contact {
    background-color: #000000;
}

/* Divider line */
.divider-line {
    background-color: #0f172a;
}

.dark .divider-line {
    background-color: #ffffff;
}

/* Image placeholder */
.image-placeholder {
    background-color: #e2e8f0;
}

.dark .image-placeholder {
    background-color: #334155;
}

/* Product card hover */
.product-card:hover {
    background-color: #f8fafc;
}

.dark .product-card:hover {
    background-color: #111111;
}

/* Footer */
.bg-footer {
    background-color: #0f172a;
}

.dark .bg-footer {
    background-color: #000000;
}

.dark .hero-ai-bg {
    background:
        /* Subtle grid pattern */
        linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px),
        /* Radial gradients for depth */
        radial-gradient(ellipse at 20% 50%, rgba(99, 102, 241, 0.15) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 20%, rgba(139, 92, 246, 0.12) 0%, transparent 40%),
        radial-gradient(ellipse at 60% 80%, rgba(59, 130, 246, 0.10) 0%, transparent 45%),
        /* Base gradient */
        linear-gradient(135deg, #0A0A0A 0%, #0f0f0f 50%, #111111 100%);
    background-size: 60px 60px, 60px 60px, 100% 100%, 100% 100%, 100% 100%, 100% 100%;
}

/* Animated floating orbs */
.hero-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(50px);
    opacity: 0.5;
}

.dark .hero-orb {
    opacity: 0.7;
}

.hero-orb-1 {
    width: 500px;
    height: 500px;
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.5), rgba(139, 92, 246, 0.35));
    top: 5%;
    left: 5%;
    animation: float1 8s ease-in-out infinite;
}

.hero-orb-2 {
    width: 400px;
    height: 400px;
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.45), rgba(99, 102, 241, 0.3));
    top: 40%;
    right: 10%;
    animation: float2 10s ease-in-out infinite;
}

.hero-orb-3 {
    width: 350px;
    height: 350px;
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.4), rgba(59, 130, 246, 0.3));
    bottom: 10%;
    left: 25%;
    animation: float3 12s ease-in-out infinite;
}

@keyframes float1 {
    0%, 100% {
        transform: translate(0, 0) scale(1);
    }
    33% {
        transform: translate(80px, -60px) scale(1.15);
    }
    66% {
        transform: translate(-40px, 40px) scale(0.9);
    }
}

@keyframes float2 {
    0%, 100% {
        transform: translate(0, 0) scale(1);
    }
    25% {
        transform: translate(-70px, 50px) scale(1.1);
    }
    50% {
        transform: translate(60px, -30px) scale(0.85);
    }
    75% {
        transform: translate(-30px, -60px) scale(1.05);
    }
}

@keyframes float3 {
    0%, 100% {
        transform: translate(0, 0) scale(1);
    }
    20% {
        transform: translate(50px, -70px) scale(1.2);
    }
    40% {
        transform: translate(-60px, -20px) scale(0.9);
    }
    60% {
        transform: translate(30px, 60px) scale(1.1);
    }
    80% {
        transform: translate(-40px, 30px) scale(0.95);
    }
}

/* Line Clamp Utility */
.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Blog post prose: normal weight in light mode for readability */
html:not(.dark) .prose p {
    font-weight: 400;
}

/* WordPress-specific overrides */
.wp-block-image img {
    max-width: 100%;
    height: auto;
}

.wp-block-gallery {
    margin-bottom: 2rem;
}

/* Admin bar spacing */
.admin-bar header.fixed {
    top: 32px;
}

@media screen and (max-width: 782px) {
    .admin-bar header.fixed {
        top: 46px;
    }
}

/* Form focus states */
input:focus,
textarea:focus {
    outline: none;
}

/* Smooth scrolling */
html {
    scroll-behavior: smooth;
}

/* Selection color */
::selection {
    background-color: #000;
    color: #fff;
}

.dark ::selection {
    background-color: #fff;
    color: #000;
}

/* Navigation menu items */
.glass-nav a,
.glass-nav .menu-item a {
    color: #0f172a;
    transition: color 0.2s ease, opacity 0.2s ease;
}

.dark .glass-nav a,
.dark .glass-nav .menu-item a {
    color: #f8fafc;
}

.glass-nav a:hover,
.glass-nav .menu-item a:hover {
    opacity: 0.6;
}

.dark .glass-nav a:hover,
.dark .glass-nav .menu-item a:hover {
    color: #ffffff;
}

/* CTA button: override the nav link color rule for correct contrast */
.glass-nav .btn-primary {
    color: #ffffff;
}

.dark .glass-nav .btn-primary {
    color: #0f172a;
}

.menu-item a {
    transition: opacity 0.2s ease;
}

.menu-item a:hover {
    opacity: 0.6;
}

/* Footer social menu */
.menu-social li a {
    color: rgb(107, 114, 128);
    transition: color 0.2s ease;
}

.menu-social li a:hover {
    color: #fff;
}

/* Avatar styling */
.avatar {
    filter: grayscale(100%);
}

/* Comment styling */
.comment-list {
    list-style: none;
    padding: 0;
}

.comment {
    padding: 1.5rem 0;
    border-bottom: 1px solid rgb(30, 41, 59);
}

/* Pagination styling */
.page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2rem;
    height: 2rem;
}

.page-numbers.current {
    font-weight: bold;
}

/* Mobile menu (future implementation) */
@media (max-width: 768px) {
    .mobile-menu-open {
        overflow: hidden;
    }
}
