/* GF Reviews Display — widget styles */
.gfrd-widget {
  --gfrd-bg: #fff;
  --gfrd-fg: #1a1a1a;
  --gfrd-muted: #6b7280;
  --gfrd-border: #e5e7eb;
  --gfrd-star: #fbbc05;
  --gfrd-radius: 10px;
  --gfrd-cols: 3;
  --gfrd-google-blue: #4285F4;
  color: var(--e-global-color-text, var(--gfrd-fg));
}
.gfrd-empty { padding: 24px; text-align: center; color: var(--gfrd-muted); }

/* Header */
.gfrd-header {
  display: flex; align-items: center; gap: 16px; justify-content: center;
  padding: 16px; margin-bottom: 16px;
  border: 1px solid var(--gfrd-border); border-radius: var(--gfrd-radius);
  background: var(--gfrd-bg);
}
.gfrd-header-rating { display: flex; align-items: center; line-height: 1; gap: 10px; }
.gfrd-avg { font-size: 32px; font-weight: 700; }
.gfrd-header-meta strong { display: block; font-size: 16px; }
.gfrd-header-meta small { color: var(--gfrd-muted); }

.gfrd-rating {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Stars */
.gfrd-stars { 
	flex-shrink: 0;
    display: flex;
	gap:2px;
}
.gfrd-stars .gfrd-star {
	width:20px;height:20px;
}
.gfrd-stars-lg { }
.gfrd-stars-lg .gfrd-star {
	width:30px;height:30px;
}

/* Grid */
.gfrd-grid {
  display: grid;
  grid-template-columns: repeat(var(--gfrd-cols), minmax(0, 1fr));
  gap: 16px;
}
@media (min-width: 769px) {
	.gfrd-header-meta {
		display: flex;
		gap: 10px;
		align-items: center;
	}
}
@media (max-width: 768px) { 
	.gfrd-header-rating {
		flex-direction:column;
	}
	.gfrd-grid { grid-template-columns: 1fr; } 
}

/* List */
.gfrd-list { display: flex; flex-direction: column; gap: 12px; }

/* Card */
.gfrd-card {
  background: var(--gfrd-bg);
  border: 1px solid var(--gfrd-border);
  border-radius: var(--gfrd-radius);
  padding: 16px;
  display: flex; flex-direction: column; gap: 10px;
}
.gfrd-card-header { display: flex; align-items: center; gap: 10px; }
.gfrd-avatar {
  width: 40px!important; height: 40px!important;
  object-fit: cover; background: transparent!important;
  display: flex; align-items: center; justify-content: center;
  font-weight: 600; color: var(--gfrd-muted);
}
.gfrd-card-meta { flex: 1; min-width: 0; }
.gfrd-author { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gfrd-time { font-size: 12px; color: var(--gfrd-muted); }
.gfrd-text { font-size: 14px; line-height: 1.5; white-space: pre-wrap; }
.gfrd-more {
  align-self: flex-start; background: none!important; border: none!important;
  color: var(--e-global-color-primary, var(--gfrd-google-blue))!important; cursor: pointer; padding: 0!important; font-size: 13px!important;
}
.gfrd-more:hover { text-decoration: underline; }

/* Carousel — true infinite, transform-based */
.gfrd-carousel {
  position: relative;
}
.gfrd-viewport {
  overflow: hidden;
}
.gfrd-track {
  display: flex;
  gap: var(--gfrd-gap);
  will-change: transform;
}
/* Slides get their width set inline by JS so the math always matches the gap. */
.gfrd-slide {
  flex-shrink: 0;
}

.gfrd-nav {
  position: absolute!important; top: 50%!important; transform: translateY(-50%)!important;
  width: 36px!important; height: 36px!important; border-radius: 50%!important;
  border: 1px solid var(--gfrd-border)!important; background: rgb(255 255 255 / 34%) !important;
  font-size: 22px; cursor: pointer!important; z-index: 2!important;
  box-shadow: 0 2px 6px rgba(0,0,0,.08);
  padding:0!important;
  backdrop-filter: blur(4px);
}
.gfrd-nav:after {
  content:"";
  position:absolute;
  width:8px;
  height:8px;
  border: 2px solid var(--e-global-color-primary, var(--gfrd-google-blue));
  border-width:0 0 2px 2px;
  left: 50%;
    top: 50%;
}
.gfrd-prev { 
  left: -20px; 
}
.gfrd-prev:after { 
  transform:translate(-30%,-50%) rotate(45deg);
}
.gfrd-next { 
  right: -20px;
}
.gfrd-next:after { 
  transform:translate(-60%,-50%) rotate(-132deg); 
}

/* Badge */
.gfrd-badge {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 10px 14px;
  border: 1px solid var(--gfrd-border); border-radius: var(--gfrd-radius);
  text-decoration: none; color: inherit; background: #fff;
  transition: box-shadow .2s;
}
.gfrd-badge:hover { box-shadow: 0 2px 8px rgba(0,0,0,.08); }
.gfrd-badge-rating { font-weight: 600; font-size: 14px; }
.gfrd-badge small { color: var(--gfrd-muted); display: block; }

/* Trust seal */
.gfrd-seal {
  display: inline-flex; flex-direction: column; align-items: center;
  gap: 6px; padding: 18px 22px;
  border: 1px solid var(--gfrd-border); border-radius: 14px;
  background: #fff; text-decoration: none; color: inherit;
  text-align: center; min-width: 220px;
  transition: transform .15s, box-shadow .2s;
}
.gfrd-seal:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(0,0,0,.08); }
.gfrd-seal-stars { line-height: 1; }
.gfrd-seal-score { font-size: 28px; font-weight: 700; line-height: 1; }
.gfrd-seal-label { font-size: 13px; color: var(--gfrd-fg); font-weight: 600; }
.gfrd-seal-verified {
  font-size: 11px; color: var(--gfrd-muted);
  display: inline-flex; align-items: center; gap: 4px;
  margin-top: 2px;
}
