/*
 Theme Name:   Steinmester GP Child
 Theme URI:    https://steinmester.no
 Description:  Steinmester child theme for GeneratePress. Stone products website.
 Author:       Ovanap
 Author URI:   https://ovanap.no
 Template:     generatepress
 Version:      1.0.0
 Text Domain:  steinmester-gp-child
*/

/* No CSS here — all styles in /assets/css/steinmester-landing.css */
/* === INNER PAGES: remove GP top gap === */

/* 1. Kill GeneratePress top spacing on all inner pages */
.page:not(.home) #content,
.page:not(.home) .site-content,
.page:not(.home) .content-area,
.page:not(.home) .site-main,
.page:not(.home) .inside-article,
.page:not(.home) .entry-content,
.page:not(.home) .entry-content:not(:first-child) {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* 2. Remove GP content box look on inner pages */
.page:not(.home) .inside-article {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 3. Hidden page title must not leave space */
.page:not(.home) .entry-header {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  height: 0 !important;
  line-height: 0 !important;
}

/* 4. First block on inner page starts flush */
.page:not(.home) .entry-content > *:first-child,
.page:not(.home) .entry-content > section:first-child {
  margin-top: 0 !important;
}
/* =========================================================
   FORCE FIXED WOO SINGLE PRODUCT GALLERY
   Keeps same frame for all images
   Small images stay centered, not stretched
   ========================================================= */

/* Main gallery column */
.single-product .woocommerce div.product div.images {
  width: 100%;
}

/* Fixed viewport height */
.single-product .woocommerce div.product div.images .flex-viewport {
  height: 620px !important;
  min-height: 620px !important;
  max-height: 620px !important;
  background: #F7F5F2 !important;
  border: 1px solid #E5E1DC !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

/* Woo slider wrapper */
.single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
  height: 620px !important;
}

/* Every slide uses same frame */
.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image {
  height: 620px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #F7F5F2 !important;
  overflow: hidden !important;
}

/* Link wrapper inside slide */
.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image a {
  width: 100% !important;
  height: 620px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

/* Main product image */
.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img,
.single-product .woocommerce div.product div.images .flex-viewport img,
.single-product .woocommerce div.product div.images img.wp-post-image {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #F7F5F2 !important;
  padding: 16px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Thumbnail grid */
.single-product .woocommerce div.product div.images .flex-control-thumbs {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin-top: 14px !important;
}

/* Thumbnail cell fixed */
.single-product .woocommerce div.product div.images .flex-control-thumbs li {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  background: #F7F5F2 !important;
  border: 1px solid #E5E1DC !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Thumbnail image fixed */
.single-product .woocommerce div.product div.images .flex-control-thumbs li img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  padding: 8px !important;
  background: #F7F5F2 !important;
  opacity: 1 !important;
  border-radius: 0 !important;
}

/* Active thumb border */
.single-product .woocommerce div.product div.images .flex-control-thumbs li img.flex-active {
  outline: 2px solid #C4956A !important;
  outline-offset: -2px !important;
}

/* Mobile */
@media (max-width: 768px) {
  .single-product .woocommerce div.product div.images .flex-viewport,
  .single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper,
  .single-product .woocommerce div.product div.images .woocommerce-product-gallery__image,
  .single-product .woocommerce div.product div.images .woocommerce-product-gallery__image a {
    height: 380px !important;
    min-height: 380px !important;
    max-height: 380px !important;
  }

  .single-product .woocommerce div.product div.images .flex-control-thumbs {
    gap: 8px !important;
  }
}
/* =========================================================
   WOO GALLERY FIXED IMAGE FRAME
   ADD THIS AT THE END OF style.css
   ========================================================= */

:root {
  --sm-woo-img-bg: #F7F5F2;
  --sm-woo-border: #E5E1DC;
  --sm-woo-radius: 12px;
}

/* Main image frame */
.single-product .woocommerce-product-gallery {
  position: relative;
}

.single-product .woocommerce div.product div.images .flex-viewport {
  height: 620px !important;
  min-height: 620px !important;
  max-height: 620px !important;
  background: var(--sm-woo-img-bg) !important;
  border: 1px solid var(--sm-woo-border) !important;
  border-radius: var(--sm-woo-radius) !important;
  overflow: hidden !important;
}

.single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
  height: 620px !important;
  min-height: 620px !important;
  max-height: 620px !important;
}

.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image,
.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image.flex-active-slide {
  height: 620px !important;
  min-height: 620px !important;
  max-height: 620px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--sm-woo-img-bg) !important;
  overflow: hidden !important;
}

.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image a {
  width: 100% !important;
  height: 620px !important;
  min-height: 620px !important;
  max-height: 620px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img,
.single-product .woocommerce div.product div.images .flex-viewport img,
.single-product .woocommerce div.product div.images img.wp-post-image {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  padding: 16px !important;
  background: var(--sm-woo-img-bg) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Thumbnails */
.single-product .woocommerce div.product div.images .flex-control-thumbs {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin-top: 14px !important;
}

.single-product .woocommerce div.product div.images .flex-control-thumbs li {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  aspect-ratio: 1 / 1 !important;
  background: var(--sm-woo-img-bg) !important;
  border: 1px solid var(--sm-woo-border) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.single-product .woocommerce div.product div.images .flex-control-thumbs li img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: var(--sm-woo-img-bg) !important;
  padding: 8px !important;
  opacity: 1 !important;
  border-radius: 0 !important;
}

.single-product .woocommerce div.product div.images .flex-control-thumbs li img.flex-active {
  outline: 2px solid #C4956A !important;
  outline-offset: -2px !important;
}

/* Shop cards */
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img {
  width: 100% !important;
  height: 320px !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: var(--sm-woo-img-bg) !important;
  padding: 14px !important;
  border-bottom: 1px solid var(--sm-woo-border) !important;
}

/* Cart spacing */
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content {
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 56px 32px 72px !important;
  font-family: 'Source Sans 3', sans-serif !important;
}

.woocommerce-cart h1,
.woocommerce-checkout h1,
.woocommerce-cart h2,
.woocommerce-checkout h2 {
  font-family: 'Cormorant Garamond', serif !important;
  color: #2C3338 !important;
}

.wc-block-cart {
  padding: 56px 0 !important;
}

.wc-block-cart .wc-block-cart__main {
  padding-right: 48px !important;
}

.wc-block-components-sidebar {
  padding-left: 48px !important;
}

.wc-block-cart-items .wc-block-cart-items__row {
  padding: 28px 0 !important;
  border-bottom: 1px solid var(--sm-woo-border) !important;
}

.wc-block-cart-item__image img,
.woocommerce-cart table.cart td.product-thumbnail img {
  width: 96px !important;
  height: 96px !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: var(--sm-woo-img-bg) !important;
  border: 1px solid var(--sm-woo-border) !important;
  border-radius: 10px !important;
  padding: 8px !important;
}

@media (max-width: 768px) {
  .single-product .woocommerce div.product div.images .flex-viewport,
  .single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper,
  .single-product .woocommerce div.product div.images .woocommerce-product-gallery__image,
  .single-product .woocommerce div.product div.images .woocommerce-product-gallery__image.flex-active-slide,
  .single-product .woocommerce div.product div.images .woocommerce-product-gallery__image a {
    height: 380px !important;
    min-height: 380px !important;
    max-height: 380px !important;
  }

  .single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img {
    padding: 12px !important;
  }

  .single-product .woocommerce div.product div.images .flex-control-thumbs {
    gap: 8px !important;
  }

  .woocommerce ul.products li.product a img,
  .woocommerce-page ul.products li.product a img {
    height: 260px !important;
    padding: 10px !important;
  }

  .woocommerce-cart .entry-content,
  .woocommerce-checkout .entry-content {
    padding: 32px 16px 48px !important;
  }

  .wc-block-cart .wc-block-cart__main {
    padding-right: 0 !important;
  }

  .wc-block-components-sidebar {
    padding-left: 0 !important;
    margin-top: 28px !important;
  }

  .wc-block-cart-item__image img,
  .woocommerce-cart table.cart td.product-thumbnail img {
    width: 82px !important;
    height: 82px !important;
  }
}