/* SpeedBlog Pro - Responsive CSS | v1.0.0 | Developer: Niloy */

/* ============================================================
   1440px+ Wide Screens
   ============================================================ */
@media (min-width: 1440px) {
    :root { --sb-container-padding: 40px; }
    .sb-share-float { display: flex; }
    .sb-post-grid--standard { grid-template-columns: repeat(3, 1fr); }
    .sb-related-posts__grid { grid-template-columns: repeat(4, 1fr); }
}

/* ============================================================
   1200px — Large Desktop
   ============================================================ */
@media (max-width: 1200px) {
    :root {
        --sb-content-width: 1100px;
        --sb-sidebar-width: 290px;
    }
    .sb-post-grid--standard { grid-template-columns: repeat(3, 1fr); }
    .sb-related-posts__grid { grid-template-columns: repeat(3, 1fr); }
    .sb-footer__grid--cols-4 { grid-template-columns: repeat(2, 1fr); }
    .sb-footer__main { padding: 50px 0 30px; }
}

/* ============================================================
   1024px — Tablet Landscape / Small Desktop
   ============================================================ */
@media (max-width: 1024px) {
    :root { --sb-sidebar-width: 260px; }

    .sb-layout { grid-template-columns: 1fr; }
    .sb-layout--left-sidebar { grid-template-columns: 1fr; }
    .sb-sidebar { position: static; }

    .sb-featured-grid { grid-template-columns: 1fr; }
    .sb-featured-grid__secondary { grid-template-columns: repeat(2, 1fr); grid-template-rows: auto; }

    .sb-post-grid--standard { grid-template-columns: repeat(2, 1fr); }
    .sb-post-grid--masonry { columns: 2; }
    .sb-related-posts__grid { grid-template-columns: repeat(2, 1fr); }

    .sb-404 { grid-template-columns: 1fr; text-align: center; }
    .sb-404__illustration { order: -1; display: flex; justify-content: center; }
    .sb-404__desc { margin: 0 auto var(--sb-spacing-xl); }
    .sb-404__actions { justify-content: center; }
    .sb-404__cats-list { justify-content: center; }

    .sb-header__inner { height: var(--sb-header-sticky-height); }
    .sb-nav { display: none; }
    .sb-mobile-toggle { display: flex; }
    .sb-logo { border-right: none; padding-right: 0; margin-right: 0; }

    .sb-slider__content { padding: var(--sb-spacing-xl) var(--sb-spacing-xl) var(--sb-spacing-lg); }
    .sb-slider__slide { min-height: 380px; }

    .sb-comment-form__row { grid-template-columns: 1fr 1fr; }
}

/* ============================================================
   768px — Tablet Portrait
   ============================================================ */
@media (max-width: 768px) {
    :root {
        --sb-header-height: 60px;
        --sb-spacing-3xl: 48px;
    }

    .sb-post-grid--standard { grid-template-columns: repeat(2, 1fr); gap: var(--sb-spacing-lg); }
    .sb-post-grid--masonry { columns: 2; }
    .sb-related-posts__grid { grid-template-columns: repeat(2, 1fr); }

    .sb-card--list { flex-direction: column; }
    .sb-card--list__thumb { width: 100%; height: 200px; }
    .sb-card--search { flex-direction: column; }
    .sb-card--search .sb-card--list__thumb { width: 100%; height: 160px; }

    .sb-post-nav { grid-template-columns: 1fr; }

    .sb-author-box { flex-direction: column; text-align: center; align-items: center; }
    .sb-author-box__info { text-align: center; }

    .sb-author-archive-box { flex-direction: column; text-align: center; }

    .sb-comment-form__row { grid-template-columns: 1fr; }
    .sb-comment__content { margin-left: 0; }
    .sb-comment__pending { margin-left: 0; }
    .sb-comment .children { padding-left: var(--sb-spacing-md); }

    .sb-footer__grid--cols-3 { grid-template-columns: 1fr; }
    .sb-footer__grid--cols-4 { grid-template-columns: 1fr; }
    .sb-footer__main { padding: 40px 0 24px; }
    .sb-footer__about { text-align: center; }
    .sb-footer__social { justify-content: center; }
    .sb-footer__heading::after { left: 50%; transform: translateX(-50%); }
    .sb-footer__bottom-inner { flex-direction: column; text-align: center; align-items: center; }

    .sb-newsletter { padding: var(--sb-spacing-2xl) var(--sb-spacing-lg); }
    .sb-newsletter-form { flex-direction: column; border-radius: var(--sb-radius-md); overflow: visible; box-shadow: none; }
    .sb-newsletter-form input[type="email"] { border-radius: var(--sb-radius-md); margin-bottom: var(--sb-spacing-sm); }
    .sb-newsletter-form button { border-radius: var(--sb-radius-md); padding: 14px; }

    .sb-slider__slide { min-height: 320px; }
    .sb-slider__title { font-size: 1.4rem; }
    .sb-slider__content { padding: var(--sb-spacing-lg); }
    .sb-slider__arrow { width: 38px; height: 38px; }

    .sb-featured-grid { grid-template-columns: 1fr; }
    .sb-featured-grid__secondary { grid-template-columns: repeat(2, 1fr); }

    .sb-share-buttons--horizontal { flex-wrap: wrap; }
    .sb-toc { display: none; }

    /* Single hero */
    .sb-single-hero { min-height: 400px; }
    .sb-single-hero__title { font-size: 1.6rem; }
    .sb-single-hero__content { padding: var(--sb-spacing-2xl) 0; }

    #sb-back-to-top { bottom: 20px; right: 20px; }

    .sb-breadcrumb__list { font-size: 0.75rem; }
}

/* ============================================================
   576px — Mobile Large
   ============================================================ */
@media (max-width: 576px) {
    :root {
        --sb-container-padding: 16px;
        --sb-spacing-2xl: 32px;
    }

    h1 { font-size: 1.6rem; }
    h2 { font-size: 1.3rem; }

    .sb-post-grid--standard { grid-template-columns: 1fr; gap: var(--sb-spacing-md); }
    .sb-post-grid--masonry { columns: 1; }
    .sb-related-posts__grid { grid-template-columns: repeat(2, 1fr); gap: var(--sb-spacing-md); }

    .sb-featured-grid__secondary { grid-template-columns: 1fr; }

    .sb-slider__slide { min-height: 280px; }
    .sb-slider__title { font-size: 1.2rem; }
    .sb-slider__excerpt { display: none; }
    .sb-slider__arrow { display: none; } /* Swipe on mobile */
    .sb-slider__dots { right: 50%; transform: translateX(50%); }

    .sb-card--list__thumb { height: 160px; }

    .sb-single-hero { min-height: 320px; }
    .sb-single-hero__title { font-size: 1.4rem; }
    .sb-single-hero__meta { flex-direction: column; align-items: flex-start; }
    .sb-single-header-simple__title { font-size: 1.5rem; }

    .sb-author-box { padding: var(--sb-spacing-lg); }
    .sb-author-box__img { width: 72px; height: 72px; }

    .sb-post-nav__item { flex-direction: column; gap: var(--sb-spacing-sm); }
    .sb-post-nav__next { text-align: left; }

    .sb-404 { padding: var(--sb-spacing-2xl) 0; }
    .sb-404__code { font-size: 5rem; }
    .sb-404__title { font-size: 1.6rem; }
    .sb-404__illustration img { max-width: 260px; }

    .sb-footer__grid--cols-2,
    .sb-footer__grid--cols-3,
    .sb-footer__grid--cols-4 { grid-template-columns: 1fr; }

    .sb-search-panel { padding-top: 60px; }

    .sb-breadcrumb { overflow-x: auto; }
    .sb-breadcrumb__list { flex-wrap: nowrap; }

    .sb-topbar { display: none; }

    .sb-comment .children { padding-left: var(--sb-spacing-sm); }

    .sb-section-title { flex-wrap: wrap; }
    .sb-section-title .sb-btn { margin-left: 0; }
}

/* ============================================================
   320px — Small Phones
   ============================================================ */
@media (max-width: 320px) {
    :root { --sb-container-padding: 12px; }
    .sb-logo__site-name { font-size: 1.1rem; }
    .sb-slider__content { padding: var(--sb-spacing-md); }
    .sb-post-grid--standard { gap: var(--sb-spacing-sm); }
    .sb-related-posts__grid { grid-template-columns: 1fr; }
}

/* ============================================================
   RETINA / HIGH DPI
   ============================================================ */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .sb-logo img { image-rendering: -webkit-optimize-contrast; }
}

/* ============================================================
   REDUCED MOTION
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
    .sb-slider__track { transition: none; }
    .sb-card:hover { transform: none; }
}

/* ============================================================
   PRINT
   ============================================================ */
@media print {
    .sb-topbar, .sb-header__actions, .sb-mobile-toggle,
    .sb-hero-slider, .sb-newsletter, .sb-cat-section,
    .sb-sidebar, .sb-footer, #sb-back-to-top,
    .sb-related-posts, .sb-post-nav, .sb-share-buttons,
    .sb-share-float, .sb-cookie-bar, #sb-progress-bar,
    .sb-ad-slot, .sb-comments-section .sb-comment-form { display: none !important; }

    .sb-layout { grid-template-columns: 1fr !important; }
    .sb-single__content { font-size: 11pt; line-height: 1.6; }
    .sb-single__title { font-size: 18pt; }
    a[href]::after { content: " (" attr(href) ")"; font-size: 0.8em; }
    .sb-toc { break-inside: avoid; }
}
