/**
 * Stupina Popoviciu — Responsive (mobile-first enhancements)
 * Breakpoints: 480 / 640 / 768 / 960 / 1200 / 1440 / 1920
 */

/* ——— ≥480px ——— */
@media (min-width: 480px) {
  .woocommerce .products,
  .woocommerce-page .products {
    grid-template-columns: repeat(2, 1fr);
  }

  .sp-usp {
    /* grid handled in home.css */
  }

  .sp-cookie__actions {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .sp-cookie__actions .sp-btn {
    flex: 1 1 auto;
  }
}

/* ——— ≥640px ——— */
@media (min-width: 640px) {
  .sp-grid--2 {
    grid-template-columns: repeat(2, 1fr);
  }

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

  .sp-home-blog__grid,
  .sp-blog-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .sp-newsletter__form {
    grid-template-columns: 1fr auto;
    align-items: start;
  }

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

/* ——— ≥768px ——— */
@media (min-width: 768px) {
  .sp-topbar__inner {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    text-align: left;
  }

  .sp-topbar__item--left {
    justify-self: start;
  }

  .sp-topbar__item--center {
    justify-self: center;
    text-align: center;
  }

  .sp-topbar__item--right {
    justify-self: end;
  }

  .sp-header__logo-img {
    width: var(--sp-logo-w);
  }

  .sp-header__logo-img--desktop {
    display: block;
  }

  .sp-header__logo-img--mobile {
    display: none;
  }

  .sp-header.is-sticky .sp-header__logo-img,
  .sp-header.is-scrolled .sp-header__logo-img {
    width: calc(var(--sp-logo-w) * 0.88);
  }

  .sp-header__search {
    display: flex;
  }

  .sp-grid--3 {
    grid-template-columns: repeat(3, 1fr);
  }

  .sp-usp {
    /* grid handled in home.css */
  }

  .sp-story {
    /* layout handled in home.css */
  }

  .sp-story__media,
  .sp-story__placeholder {
    min-height: 22rem;
  }

  .sp-promo {
    grid-template-columns: 1.2fr 0.8fr;
    align-items: center;
  }

  .sp-contact {
    grid-template-columns: 0.9fr 1.1fr;
  }

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

  .sp-about-values {
    grid-template-columns: repeat(2, 1fr);
  }

  .sp-single-product__grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--sp-space-9);
    align-items: start;
  }

  .woocommerce .products,
  .woocommerce-page .products {
    grid-template-columns: repeat(3, 1fr);
  }

  .sp-filters-toggle,
  .sp-filters-sticky-bar {
    display: none;
  }

  .sp-shop__layout {
    grid-template-columns: 15.5rem 1fr;
    align-items: start;
  }

  .sp-shop__filters {
    position: sticky;
    top: calc(var(--sp-header-h-sticky) + 1rem);
  }

  .sp-cart-layout,
  .woocommerce-cart .woocommerce {
    grid-template-columns: 1.4fr 0.85fr;
    align-items: start;
  }

  .woocommerce-checkout .col2-set {
    grid-template-columns: 1fr 1fr;
  }

  .woocommerce-account .woocommerce {
    display: grid;
    grid-template-columns: 14rem 1fr;
    gap: var(--sp-space-7);
    align-items: start;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation {
    margin-bottom: 0;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    flex-direction: column;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation a {
    width: 100%;
  }

  .sp-content-layout--with-sidebar {
    grid-template-columns: 1fr 17rem;
  }

  .sp-footer__bottom-inner {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }

  .sp-cookie {
    left: auto;
    right: var(--sp-gutter);
    margin-inline: 0;
  }
}

/* ——— ≥960px ——— */
@media (min-width: 960px) {
  .sp-header__menu-toggle {
    display: none;
  }

  .sp-header__nav-wrap,
  .sp-nav {
    display: block;
  }

  .sp-grid--4 {
    grid-template-columns: repeat(4, 1fr);
  }

  .sp-footer__widgets {
    grid-template-columns: 1.3fr repeat(3, 1fr);
  }

  .sp-home-blog__grid,
  .sp-blog-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .woocommerce .products.columns-4,
  .woocommerce-page .products.columns-4 {
    grid-template-columns: repeat(4, 1fr);
  }

  .sp-hero {
    align-items: center;
    min-height: min(84vh, 46rem);
  }

  .sp-hero__content {
    max-width: 40rem;
  }

  .sp-sticky-atc__title {
    font-size: var(--sp-fs-base);
  }
}

/* ——— ≥1200px ——— */
@media (min-width: 1200px) {
  .sp-shop__layout {
    grid-template-columns: 17rem 1fr;
  }

  .woocommerce .products,
  .woocommerce-page .products {
    gap: var(--sp-space-7);
  }

  .sp-single-product__grid {
    gap: var(--sp-space-10);
  }

  .sp-about-values {
    grid-template-columns: repeat(3, 1fr);
  }

  .sp-mega {
    min-width: 56rem;
  }
}

/* ——— ≥1440px ——— */
@media (min-width: 1440px) {
  :root {
    --sp-container: 76rem;
    --sp-container-wide: 90rem;
  }

  .sp-hero {
    min-height: min(80vh, 48rem);
  }
}

/* ——— ≥1920px ——— */
@media (min-width: 1920px) {
  :root {
    --sp-container: 80rem;
  }
}

/* ——— Mobile-only refinements ——— */
@media (max-width: 767.98px) {
  .sp-topbar__sep,
  .sp-topbar__extra {
    display: none;
  }

  .sp-header__actions .sp-header__action--account-label,
  .sp-header__action-label {
    display: none;
  }

  .woocommerce table.shop_table_responsive tr,
  .woocommerce-page table.shop_table_responsive tr {
    display: block;
    margin-bottom: var(--sp-space-4);
    border: 1px solid var(--sp-border);
    border-radius: var(--sp-radius-md);
    background: var(--sp-surface);
    padding: var(--sp-space-3);
  }

  .woocommerce table.shop_table_responsive tr td,
  .woocommerce-page table.shop_table_responsive tr td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border: 0 !important;
    padding: var(--sp-space-2) 0 !important;
  }

  .sp-single-post__featured {
    aspect-ratio: 16 / 10;
    border-radius: var(--sp-radius-lg);
  }

  body.single-product {
    padding-bottom: 5.5rem;
  }
}

/* ——— Short height / landscape phones ——— */
@media (max-height: 500px) and (orientation: landscape) {
  .sp-hero {
    min-height: auto;
  }

  .sp-hero__content {
    padding-block: var(--sp-space-8);
  }
}

/* ——— Print ——— */
@media print {
  .sp-topbar,
  .sp-header,
  .sp-footer,
  .sp-cookie,
  .sp-sticky-atc,
  .sp-mini-cart,
  .sp-toast-stack,
  .sp-mobile-nav {
    display: none !important;
  }

  body {
    background: #fff;
    color: #000;
  }

  a {
    text-decoration: underline;
  }
}
