/* Owner-managed additions on the live page: announcement bar, Reviews and owner Edit links. */
.zg-announcement { position: relative; z-index: 50; margin: 0; padding: 10px 6vw; background: var(--zg-primary, #111); color: var(--zg-on-primary, #fff); text-align: center; font-size: 15px; line-height: 1.4; }
.zg-announcement p { margin: 0; padding: 0; color: inherit; }
.zg-announcement a { margin-left: 6px; color: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

.zg-reviews-section { padding: 72px 6vw; background: var(--zg-surface, #fff); color: var(--zg-text, #1d1d1f); }
.zg-reviews { max-width: 1200px; margin: 0 auto; }
.zg-reviews__intro { max-width: 640px; margin-bottom: 28px; }
.zg-reviews-section .zg-kicker { margin: 0; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.zg-reviews__intro h2 { margin: 6px 0 10px; color: inherit; font-size: clamp(28px, 4vw, 40px); line-height: 1.15; }
.zg-reviews__links { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 0; }
.zg-reviews__links a { color: inherit; font-weight: 700; }
.zg-reviews__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 18px; }
.zg-review { display: flex; flex-direction: column; gap: 14px; margin: 0; padding: 24px; border: 1px solid rgba(0, 0, 0, .08); border-radius: 14px; background: var(--zg-background, #fafafa); }
.zg-review__stars { margin: 0; color: var(--zg-highlight, #c58b00); letter-spacing: 2px; font-size: 18px; }
.zg-review__stars span { opacity: .25; }
.zg-review blockquote { flex: 1; margin: 0; padding: 0; border: 0; }
.zg-review blockquote p { margin: 0; font-size: 17px; line-height: 1.55; }
.zg-review figcaption { display: grid; gap: 2px; }
.zg-review figcaption span { opacity: .7; font-size: 14px; }

/* An added Recent Work section uses the template's gallery colors; headings follow them. */
.zg-media-section[style] :is(h2, h3, .zg-kicker, p) { color: inherit; }

/* Shown only to the logged-in owner. */
.zegmatic-customer-page section[id], .zegmatic-customer-page div[id="top"] { position: relative; }
.zg-owner-edit { position: absolute; top: 12px; right: 12px; z-index: 60; padding: 6px 12px; border-radius: 999px; background: #1d2327; color: #fff !important; font: 600 13px/1.2 system-ui, sans-serif; text-decoration: none !important; box-shadow: 0 2px 10px rgba(0, 0, 0, .25); opacity: .85; }
.zg-owner-edit:hover, .zg-owner-edit:focus-visible { opacity: 1; outline: 2px solid #fff; outline-offset: 2px; }
@media (max-width: 640px) {
	.zg-reviews-section { padding: 48px 20px; }
	.zg-owner-edit { top: 8px; right: 8px; font-size: 12px; }
}
