/* =========================================================
   WOOCOMMERCE — FULL-WIDTH + CLEAN, EVEN PRODUCT GRID
   ========================================================= */

/* 0) Make Woo archives/search a true one-column layout */
body.woocommerce-page .site-content,
body.post-type-archive-product .site-content,
body.tax-product_cat .site-content,
body.tax-product_tag .site-content,
body.woocommerce-shop .site-content,
body.search .site-content {
  display: block !important;
}
body.woocommerce-page .site-content .col-full,
body.post-type-archive-product .site-content .col-full,
body.tax-product_cat .site-content .col-full,
body.tax-product_tag .site-content .col-full,
body.woocommerce-shop .site-content .col-full,
body.search .site-content .col-full {
  display: block !important;           /* cancel flex row */
  max-width: 1200px;                   /* tweak if you want wider/narrower */
  margin: 0 auto !important;
}
#primary.content-area {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  text-align: left !important;
}
#secondary.widget-area { display: none !important; } /* hide actual sidebar */

/* 1) Ensure header/sorting show above grid and span full width */
.woocommerce-breadcrumb,
.woocommerce-products-header,
.woocommerce-products-header__title,
.woocommerce-result-count,
.woocommerce-ordering,
.storefront-sorting {
  width: 100% !important;
  float: none !important;
  clear: both !important;
  display: block !important;
}

/* 2) Even, responsive PRODUCT GRID (cards) */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 24px;
  width: 100%;
  clear: both !important;
  margin-top: 1rem;
}

/* 3) Product CARD look + equal heights */
.woocommerce ul.products li.product {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  height: 100%;
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: 12px;
  padding: 16px;
  transition: box-shadow .2s ease, transform .2s ease;
}
.woocommerce ul.products li.product:hover {
  box-shadow: 0 8px 28px rgba(0,0,0,.06);
  transform: translateY(-2px);
}

/* 4) Image area: consistent aspect + containment */
.woocommerce ul.products li.product a img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain;
  aspect-ratio: 1 / 1;                 /* keeps tiles even */
  margin: 0 0 12px 0 !important;
  border-radius: 8px;
}

/* 5) Title + price spacing */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 1rem;
  line-height: 1.25rem;
  min-height: 2.5rem;                  /* two lines reserve to align rows */
  margin: 6px 0 8px 0 !important;
}
.woocommerce ul.products li.product .price {
  margin-top: 0;
  font-weight: 600;
}

/* 6) Put CTA(s) at the BOTTOM so rows align */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.add_to_cart_button,
.woocommerce ul.products li.product a.product_type_variable,
.woocommerce ul.products li.product a.product_type_grouped {
  margin-top: auto !important;
  width: 100%;
  text-align: center;
  border-radius: 8px;
}

/* 7) Defensive: if parent grid exists somewhere, force list to span full row */
.woocommerce .site-main ul.products,
.woocommerce-page .site-main ul.products {
  grid-column: 1 / -1 !important;
}

/* =========================================================
   FOOTER CREDITS — HIDE
   ========================================================= */
.site-footer .site-info { display: none !important; }
.storefront-handheld-footer-bar .powered-by { display: none !important; }

/* =========================================================
   BLOG / NEWS — GRID CARDS (LIMITED TO BLOG ARCHIVES ONLY)
   (was hitting Woo pages because of `.archive .site-main`)
   ========================================================= */

/* Only blog archives & main blog, not Woo archives */
.blog .site-main,
body.blog .site-main,
body.archive.post-type-archive-post .site-main {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  grid-gap: 30px;
}

/* Blog post card */
.blog article,
body.archive.post-type-archive-post article {
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  background: #fff;
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: transform .2s ease, box-shadow .2s ease;
}
.blog article:hover,
body.archive.post-type-archive-post article:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 20px rgba(0,0,0,.08);
}
.blog article img,
body.archive.post-type-archive-post article img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  margin-bottom: 15px;
}
.blog article h2.entry-title,
body.archive.post-type-archive-post article h2.entry-title {
  font-size: 1.3rem;
  margin-bottom: 10px;
  color: #2a2a2a;
}
.blog .entry-meta,
body.archive.post-type-archive-post .entry-meta {
  font-size: 0.85rem;
  color: #666;
  margin-bottom: 10px;
}
.blog .entry-summary,
body.archive.post-type-archive-post .entry-summary {
  font-size: 0.95rem;
  line-height: 1.5;
  margin-bottom: 15px;
}
.blog .entry-summary a.more-link,
body.archive.post-type-archive-post .entry-summary a.more-link {
  display: inline-block;
  background: #3c9d40;
  color: #fff !important;
  padding: 10px 18px;
  border-radius: 6px;
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 600;
  transition: background .2s ease;
}
.blog .entry-summary a.more-link:hover,
body.archive.post-type-archive-post .entry-summary a.more-link:hover {
  background: #2e7b31;
}

/* =========================================================
   BLOG META / AUTHOR / COMMENTS — HIDE
   ========================================================= */
.blog .entry-header .entry-meta,
body.archive.post-type-archive-post .entry-header .entry-meta,
.single-post .entry-header .entry-meta,
.blog .entry-header .posted-on,
body.archive.post-type-archive-post .entry-header .posted-on,
.single-post .entry-header .posted-on,
.blog .entry-header .byline,
body.archive.post-type-archive-post .entry-header .byline,
.single-post .entry-header .byline,
.blog .entry-header .author,
body.archive.post-type-archive-post .entry-header .author,
.single-post .entry-header .author,
.blog .entry-header .comments-link,
body.archive.post-type-archive-post .entry-header .comments-link,
.single-post .entry-header .comments-link { display: none !important; }

/* Optional: hide footer cats/tags on posts */
.blog .entry-footer,
body.archive.post-type-archive-post .entry-footer,
.single-post .entry-footer { display: none !important; }

.blog .byline,
body.archive.post-type-archive-post .byline,
.single-post .byline,
.blog .author.vcard,
body.archive.post-type-archive-post .author.vcard,
.single-post .author.vcard,
.blog .comments-link,
body.archive.post-type-archive-post .comments-link,
.single-post .comments-link,
.blog .entry-meta,
body.archive.post-type-archive-post .entry-meta,
.single-post .entry-meta { display: none !important; }

.entry-header .entry-meta,
.entry-header .posted-on,
.entry-header .byline,
.entry-header .author,
.entry-header .vcard,
.entry-header .comments-link,
.entry-header a[rel="author"] { display: none !important; }

/* If meta is rendered as the first child, hide it */
.blog article .entry-header > *:first-child,
body.archive.post-type-archive-post article .entry-header > *:first-child,
.single-post article .entry-header > *:first-child { display: none !important; }

/* Hide comment areas on single posts */
.single-post .comments-area,
.single-post #comments,
.single-post .comment-respond,
.single-post .comments-title { display: none !important; }

.entry-meta .meta-sep,
.entry-footer .meta-sep { display: none !important; }
/* Gallery logos - make them even squares */
.wp-block-gallery .wp-block-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;   /* no stretching */
  object-position: center;
  background: #fff;      /* optional: white box behind transparent logos */
  border: 1px solid #e9ecef;
  border-radius: 10px;
  padding: 12px;
  aspect-ratio: 1 / 1;   /* keeps every logo in a square frame */
}
/* Strong target so we beat theme/plugin rules */
.site-header .menu-toggle,
button.menu-toggle {
  position: relative !important;
  width: 32px !important;
  height: 24px !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  font-size: 0 !important;        /* hides "Izbornik" text */
  line-height: 0 !important;
  overflow: visible !important;
}

/* Hide any labels/icons the theme injects */
.site-header .menu-toggle .menu-toggle-text,
.site-header .menu-toggle .menu-text,
.site-header .menu-toggle .toggle-text,
.site-header .menu-toggle svg,
.site-header .menu-toggle i,
.site-header .menu-toggle .dashicons,
.site-header .menu-toggle .icon {
  display: none !important;
}

/* Draw a true 3-line hamburger with one pseudo element */
.site-header .menu-toggle::before {
  content: '' !important;
  position: absolute;
  left: 50%;
  top: 50%;
  width: 26px;                    /* bar length */
  height: 2px;                    /* bar thickness */
  background: #000;
  border-radius: 2px;
  transform: translate(-50%, -50%);
  /* This creates the top and bottom bars */
  box-shadow: 0 -8px 0 0 #000, 0 8px 0 0 #000;
}

/* Ensure any theme line isn't drawn */
.site-header .menu-toggle::after { content: none !important; }
/* Hide any stray line/icon that the theme still outputs inside the menu button */
.site-header .menu-toggle span,
.site-header .menu-toggle i,
.site-header .menu-toggle svg,
.site-header .menu-toggle .dashicons,
.site-header .menu-toggle .icon {
  display: none !important;
}
@media (max-width: 1024px) {
    body,
    .site-content,
    .ast-container,
    .content-area,
    .entry-content,
    .woocommerce-page #primary {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}