/* ============================================
   Responsive Breakpoints — Nordic Minimalist
   ============================================ */

/* ---------- Tablet (max-width: 1024px) ---------- */
@media (max-width: 1024px) {
    .services-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .about-grid {
        grid-template-columns: 1fr;
        gap: var(--s-2xl);
    }

    .about-features {
        grid-template-columns: 1fr 1fr;
    }

    .stats-bar {
        grid-template-columns: repeat(2, 1fr);
    }

    .contact-grid {
        grid-template-columns: 1fr;
        gap: var(--s-2xl);
    }

    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--s-xl);
    }

    .hero-visual { display: none; }
    .hero-content { max-width: 100%; }

    .hero-grid {
        grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
        gap: var(--s-2xl);
    }
    .hero-portrait { max-width: 320px; }
    .hero-portrait-name { font-size: 1rem; }
    .hero-portrait-title { font-size: 0.72rem; }

    .hero-stats { gap: var(--s-xl); }

    .testimonial-card {
        min-width: calc(50% - var(--s-lg) / 2);
    }
}

/* ---------- Mobile Large (max-width: 768px) ---------- */
@media (max-width: 768px) {
    :root {
        --header-h: 64px;
    }

    .container {
        padding: 0 var(--s-md);
    }

    .section {
        padding: var(--s-2xl) 0;
    }

    /* Header */
    .header-topbar { display: none; }

    .nav-menu {
        position: fixed;
        top: 0;
        right: -100%;
        width: 84%;
        max-width: 360px;
        height: 100vh;
        background: var(--c-bg);
        box-shadow: -1px 0 0 var(--c-line);
        padding: calc(var(--header-h) + var(--s-lg)) var(--s-lg) var(--s-lg);
        transition: right var(--t);
        overflow-y: auto;
        z-index: 999;
    }

    .nav-menu.active { right: 0; }

    .nav-list {
        flex-direction: column;
        gap: 0;
        align-items: stretch;
    }

    .nav-list li a {
        display: block;
        padding: 16px 0;
        font-size: 1rem;
        border-bottom: 1px solid var(--c-line);
    }

    .nav-list li a::after { display: none; }

    .nav-cta { display: none; }
    .nav-toggle { display: flex; }

    /* Overlay */
    .nav-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(20, 20, 20, 0.4);
        z-index: 998;
        opacity: 0;
        visibility: hidden;
        transition: opacity var(--t), visibility var(--t);
    }

    .nav-overlay.active {
        opacity: 1;
        visibility: visible;
    }

    /* Hero */
    .hero {
        min-height: auto;
        padding: var(--s-2xl) 0;
    }

    .hero-grid {
        grid-template-columns: 1fr;
        gap: var(--s-xl);
    }
    .hero-portrait {
        max-width: 280px;
        justify-self: center;
        order: -1;
    }
    .hero-portrait-frame { padding: 10px; }
    .hero-portrait-frame::before { inset: 4px; }
    .hero-portrait-caption {
        margin-left: 10px;
        padding: var(--s-sm) 0 0 var(--s-sm);
    }

    .hero-title { max-width: 100%; }

    .hero-stats {
        flex-direction: column;
        gap: var(--s-md);
        align-items: flex-start;
    }

    .hero-stat {
        display: flex;
        align-items: baseline;
        gap: var(--s-sm);
        width: 100%;
        padding-bottom: var(--s-xs);
        border-bottom: 1px solid var(--c-line);
    }
    .hero-stat:last-child { border-bottom: 0; }

    .hero-stat-number { font-size: 1.6rem; }
    .hero-stat-label { flex: 1; font-size: 0.62rem; }

    .hero-buttons { flex-direction: column; align-items: stretch; }
    .hero-buttons .btn { width: 100%; }
    .hero-buttons .btn--ghost {
        border: 1px solid var(--c-line-2);
        border-bottom: 1px solid var(--c-line-2);
        padding: 14px 22px;
        margin-left: 0;
        text-align: center;
        border-radius: var(--r-sm);
    }

    /* Services */
    .services-grid { grid-template-columns: 1fr; }
    .service-card { min-height: auto; }
    .services-cta { flex-direction: column; align-items: flex-start; padding: var(--s-lg); }
    .services-cta-actions { width: 100%; }
    .services-cta-actions .btn { flex: 1; }

    /* About */
    .about-features { grid-template-columns: 1fr; }

    /* Stats */
    .stats-bar { grid-template-columns: repeat(2, 1fr); }

    /* Testimonials */
    .testimonial-card { min-width: 100%; }
    .testimonials-track { flex-direction: column; }

    .about-portrait { max-width: 320px; padding: 10px; }
    .about-portrait-caption { padding: 8px 16px; bottom: -22px; max-width: calc(100% - 24px); }
    .about-portrait-name { font-size: 0.85rem; }
    .about-portrait-title { font-size: 0.55rem; letter-spacing: 0.18em; }
    .about-image-badge { top: -14px; right: -10px; left: auto; padding: 14px 16px; min-width: 70px; }
    .about-image-badge .badge-number { font-size: 1.4rem; }

    /* FAQ */
    .faq-question {
        padding: var(--s-md) var(--s-2xs);
        font-size: 0.95rem;
    }
    .faq-answer-inner {
        padding: 0 var(--s-2xs) var(--s-md);
    }

    /* Contact */
    .contact-grid { grid-template-columns: 1fr; gap: var(--s-xl); }
    .contact-form { padding: var(--s-lg); }
    .form-row { grid-template-columns: 1fr; gap: 0; }
    .contact-info-text p { white-space: normal; }

    /* Footer */
    .footer-grid { grid-template-columns: 1fr; gap: var(--s-lg); }
    .footer-hours ul li { flex-direction: column; gap: 2px; }

    /* Posts */
    .posts-grid { grid-template-columns: 1fr; }

    /* WhatsApp */
    .whatsapp-float { bottom: 16px; right: 16px; }
    .whatsapp-float a { width: 48px; height: 48px; }
    .whatsapp-tooltip { display: none; }
}

/* ---------- Mobile Small (max-width: 480px) ---------- */
@media (max-width: 480px) {
    .container { padding: 0 var(--s-sm); }

    .hero-title { font-size: 1.9rem; }
    .hero-subtitle { font-size: 0.98rem; }
    .hero-stat-number { font-size: 1.4rem; }

    .section-header { margin-bottom: var(--s-lg); }

    .btn--lg { padding: 18px 28px; font-size: 0.9rem; }
    .stat-number { font-size: 1.6rem; }

    .service-card { padding: var(--s-md); }

    .error-404 h1 { font-size: 4rem; }
}

/* ---------- Single Hizmet — Responsive ---------- */
@media (max-width: 1024px) {
    .hizmet-layout {
        grid-template-columns: 1fr;
        gap: var(--s-2xl);
    }
    .hizmet-sidebar {
        position: static;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: var(--s-md);
    }
}

@media (max-width: 768px) {
    .hizmet-sidebar { grid-template-columns: 1fr; }
    .hizmet-hero__title { font-size: 2.4rem; }
    .hizmet-hero__lead { font-size: 0.98rem; }
}

/* ---------- Blog Index — Responsive ---------- */
@media (max-width: 1024px) {
    .blog-featured__card { grid-template-columns: 1fr; }
    .blog-featured__image { height: 320px; }
    .blog-featured__content {
        border-left: 0;
        border-top: 1px solid var(--c-line);
        padding: var(--s-xl);
    }
    .blog-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
    .blog-hero { padding: var(--s-2xl) 0 var(--s-xl); }
    .blog-hero__title { font-size: 2.4rem; }
    .blog-featured { padding: var(--s-xl) 0; }
    .blog-featured__image { height: 240px; }
    .blog-featured__content { padding: var(--s-lg); }
    .blog-featured__excerpt { max-width: 100%; }
    .blog-grid { grid-template-columns: 1fr; }
    .blog-card__image-wrap { height: 180px; }
    .blog-card__body { padding: var(--s-md); }
}

@media (max-width: 480px) {
    .blog-hero__title { font-size: 2rem; }
    .blog-featured__image { height: 200px; }
    .blog-featured__content { padding: var(--s-md); }
}
