/* Trustpilot-style Review Widget (left-sidebar block widget) */
.custom-review-box.dem-product-rating{
  background:#fff;
  padding:15px;
  margin:10px 0;
  font-family:inherit;
  color:inherit;
}

.dem-product-rating .dem-svg-defs{position:absolute;width:0;height:0;overflow:hidden;}

.dem-product-rating .store-rating-section{
  display:block;
  text-decoration:none;
  color:inherit;
  border-radius:6px;
}

.dem-product-rating .store-rating-section:focus-visible{
  outline:2px solid #44900b;
  outline-offset:4px;
}

.dem-product-rating .rating-title{
  text-align:center;
  font-size:26px;
  font-weight:600;
  margin:0 0 10px;
}

.dem-product-rating .star-container{
  display:flex;
  justify-content:center;
  gap:2px;
  margin:0 auto 6px;
  max-width:200px;
}

/* Keep sidebar SVG stars gold even if theme SVG rules change. */
.dem-product-rating .dem-star{
  display:block;
  flex:0 0 auto;
  fill:#F0C419;
}
.dem-product-rating .dem-star use{fill:#F0C419;}

.dem-product-rating .rating-columns{
  display:flex;
  gap:12px;
  align-items:stretch;
  padding-top:6px;
}
.dem-product-rating .rating-score-column{flex:0 0 30%; max-width:30%;}
.dem-product-rating .rating-percentage-column{flex:1 1 auto;}

.dem-product-rating .score-value{
  background:rgb(68,144,11);
  padding:6px 8px;
  text-align:center;
  color:#fff;
  font-size:30px;
  line-height:1.1;
}
.dem-product-rating .score-label{
  background:#444;
  padding:6px 8px;
  text-align:center;
  color:#fff;
  font-size:16px;
  line-height:1.2;
}

.dem-product-rating .percentage-value{
  text-align:center;
  font-size:32px;
  line-height:1.1;
  margin:0;
}
.dem-product-rating .percentage-description{
  margin:4px 0 0;
  font-size:14px;
  line-height:1.4;
}

.dem-product-rating .rating-divider{
  border:0;
  border-top:1px solid #ebebeb;
  margin:15px 0 0;
}

.dem-product-rating .review-item{
  border:1px solid #ebebeb;
  border-radius:9px;
  padding:15px;
  margin:15px 0 0;
}
.dem-product-rating .review-item:last-child{margin-bottom:0;}
.dem-product-rating .unicode-star-small{
  color:#F0C419;
  font-size:16px;
  letter-spacing:2px;
  margin:0 0 6px;
}
.dem-product-rating .review-author{margin:0 0 6px;}
.dem-product-rating .review-text{margin:0;}

@media (max-width: 768px){
  .dem-product-rating .rating-columns{flex-direction:column;}
  .dem-product-rating .rating-score-column,
  .dem-product-rating .rating-percentage-column{max-width:100%; flex:1 1 auto;}
}
/* =========================================
   GP single product summary top rows
   Wrapper-safe version
   ========================================= */

/* Attribute summary wrapper in cart context */
.add-to-cart-panel .dem-attr-summary-wrapper {
	position: absolute;
	bottom: 180px;
	width: 166px;
}

/* Reserve the desktop product sidebar column before the later sidebar markup parses. */
@media (min-width: 769px) {
	body.woocommerce.single-product.left-sidebar.one-container .site-content {
		display: grid;
		grid-template-columns: minmax(0, 30%) minmax(0, 70%);
	}

	body.woocommerce.single-product.left-sidebar.one-container .site-content > .content-area {
		grid-column: 2;
		min-width: 0;
		width: auto;
	}

	body.woocommerce.single-product.left-sidebar.one-container .site-content > .is-left-sidebar {
		grid-column: 1;
		grid-row: 1;
		min-width: 0;
		width: auto;
	}
}

/* ===== Footer Layout: Sticky at bottom ===== */
/* Make body a flex container so footer stays at bottom on short pages */
body {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

/* Main site content container grows to fill available space */
.site {
	flex: 1 0 auto;
	display: flex;
	flex-direction: column;
	width: 100%;
}

/* GeneratePress sets .container.grid-container width:auto.
   In a flex context this can shrink-fit the full page container, so force it back to full width. */
#page.container.grid-container {
	width: 100%;
}

/* Footer is pushed to bottom and doesn't shrink */
.site-footer {
	flex-shrink: 0;
}
