/**
 * Customer Reviews — Pure CSS
 */

.sh-reviews { padding: 6rem 0; background: var(--pi-bg-card, #ffffff); border-top: 1px solid var(--pi-border-light, #f1f5f9); position: relative; overflow: hidden; }

/* Background Pattern */
.sh-reviews__bg-pattern { position: absolute; inset: 0; opacity: 0.03; pointer-events: none; background-image: linear-gradient(#2563EB 1px, transparent 1px), linear-gradient(90deg, #2563EB 1px, transparent 1px); background-size: 20px 20px; }

/* Container */
.sh-reviews__container { max-width: 1200px; margin: 0 auto; padding: 0 1rem; position: relative; z-index: 10; }

/* Header */
.sh-reviews__header { text-align: center; max-width: 56rem; margin: 0 auto 4rem; position: relative; }
.sh-reviews__watermark { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3.75rem; font-weight: 900; color: var(--pi-border-light, #f1f5f9); opacity: 0.5; user-select: none; z-index: 0; letter-spacing: 0.1em; line-height: 1; pointer-events: none; white-space: nowrap; }
@media (min-width: 768px) { .sh-reviews__watermark { font-size: 8.75rem; } }

.sh-reviews__header-inner { position: relative; z-index: 10; display: inline-block; padding: 1rem 3rem; }

/* Brackets */
.sh-reviews__bracket { position: absolute; width: 2rem; height: 2rem; }
.sh-reviews__bracket--tl { top: 0; left: 0; border-top: 2px solid color-mix(in srgb, var(--pi-primary, #007d3d) 40%, transparent); border-left: 2px solid color-mix(in srgb, var(--pi-primary, #007d3d) 40%, transparent); }
.sh-reviews__bracket--tr { top: 0; right: 0; border-top: 2px solid color-mix(in srgb, var(--pi-primary, #007d3d) 40%, transparent); border-right: 2px solid color-mix(in srgb, var(--pi-primary, #007d3d) 40%, transparent); }
.sh-reviews__bracket--bl { bottom: 0; left: 0; border-bottom: 2px solid color-mix(in srgb, var(--pi-primary, #007d3d) 40%, transparent); border-left: 2px solid color-mix(in srgb, var(--pi-primary, #007d3d) 40%, transparent); }
.sh-reviews__bracket--br { bottom: 0; right: 0; border-bottom: 2px solid color-mix(in srgb, var(--pi-primary, #007d3d) 40%, transparent); border-right: 2px solid color-mix(in srgb, var(--pi-primary, #007d3d) 40%, transparent); }

/* Label */
.sh-reviews__label { display: flex; align-items: center; justify-content: center; gap: 0.5rem; color: var(--pi-primary, #007d3d); font-weight: 700; text-transform: uppercase; font-size: 0.625rem; letter-spacing: 0.1em; margin-bottom: 1rem; white-space: nowrap; }
@media (min-width: 768px) { .sh-reviews__label { font-size: 0.875rem; letter-spacing: 0.3em; gap: 0.75rem; } }

.sh-reviews__label-line { width: 2rem; height: 1px; background: linear-gradient(to right, transparent, var(--pi-primary, #007d3d)); }
@media (min-width: 768px) { .sh-reviews__label-line { width: 3rem; } }
.sh-reviews__label-line--right { background: linear-gradient(to left, transparent, var(--pi-primary, #007d3d)); }

.sh-reviews__title { font-size: 2.25rem; font-weight: 900; color: var(--pi-text, #1e293b); margin: 0 0 1.5rem; }
@media (min-width: 768px) { .sh-reviews__title { font-size: 3rem; } }
.sh-reviews__title-accent { color: var(--pi-primary, #007d3d); }

/* Dots */
.sh-reviews__dots { display: flex; justify-content: center; gap: 0.5rem; }
.sh-reviews__dot { border-radius: 9999px; }
.sh-reviews__dot--sm { width: 0.5rem; height: 0.5rem; background: color-mix(in srgb, var(--pi-primary, #007d3d) 40%, transparent); }
.sh-reviews__dot--md { width: 0.5rem; height: 0.5rem; background: color-mix(in srgb, var(--pi-primary, #007d3d) 60%, transparent); }
.sh-reviews__dot--lg { width: 3rem; height: 0.5rem; background: var(--pi-primary, #007d3d); }

/* Cards Grid (horizontal scroll mobile, grid desktop) */
.sh-reviews__grid { display: flex; gap: 1.5rem; overflow-x: auto; scroll-snap-type: x mandatory; padding: 1rem 1rem 1.5rem; margin: 0 -1rem; }
@media (min-width: 768px) { .sh-reviews__grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 2rem; overflow: visible; padding: 1rem 0 2rem; margin: 0; } }

/* Card */
.sh-reviews__card { min-width: 85vw; scroll-snap-align: center; background: var(--pi-bg-card, #ffffff); border-radius: 1rem; overflow: hidden; box-shadow: 0 4px 12px rgba(0,0,0,0.08); border: 1px solid var(--pi-border-light, #f1f5f9); transition: box-shadow 0.3s; }
@media (min-width: 768px) { .sh-reviews__card { min-width: 0; } }
.sh-reviews__card:hover { box-shadow: 0 12px 32px rgba(0,0,0,0.12); }

/* Card Image */
.sh-reviews__card-img { aspect-ratio: 16 / 9; overflow: hidden; position: relative; }
.sh-reviews__card-photo { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s; }
.sh-reviews__card:hover .sh-reviews__card-photo { transform: scale(1.1); }

.sh-reviews__card-badge { position: absolute; top: 1rem; right: 1rem; background: rgba(255,255,255,0.9); backdrop-filter: blur(8px); padding: 0.25rem 0.75rem; border-radius: 9999px; font-size: 0.75rem; font-weight: 700; color: var(--pi-primary, #007d3d); box-shadow: 0 1px 3px rgba(0,0,0,0.1); border: 1px solid rgba(255,255,255,0.5); }

/* Card Body */
.sh-reviews__card-body { padding: 2rem; }

.sh-reviews__stars { display: flex; align-items: center; gap: 0.25rem; color: #facc15; margin-bottom: 1rem; }
.sh-reviews__star { width: 1rem; height: 1rem; }

.sh-reviews__card-title { font-weight: 700; font-size: 1.25rem; color: var(--pi-text, #1e293b); margin: 0 0 0.75rem; transition: color 0.3s; }
.sh-reviews__card:hover .sh-reviews__card-title { color: var(--pi-primary, #007d3d); }

.sh-reviews__card-text { color: var(--pi-text-2, #475569); font-size: 0.875rem; line-height: 1.625; margin: 0 0 1.5rem; }

/* Author */
.sh-reviews__card-author { display: flex; align-items: center; gap: 1rem; padding-top: 1.5rem; border-top: 1px solid var(--pi-border-light, #f1f5f9); }

.sh-reviews__avatar { width: 2.5rem; height: 2.5rem; border-radius: 50%; object-fit: cover; outline: 2px solid color-mix(in srgb, var(--pi-primary, #007d3d) 20%, transparent); outline-offset: 2px; }

.sh-reviews__author-name { font-weight: 700; color: var(--pi-text, #1e293b); font-size: 0.875rem; display: flex; align-items: center; gap: 0.5rem; }

.sh-reviews__verified { width: 1rem; height: 1rem; color: var(--pi-primary, #007d3d); }

.sh-reviews__author-location { font-size: 0.75rem; color: var(--pi-text-3, #94a3b8); }

/* Dark Mode */
.dark .sh-reviews { background: var(--pi-bg-card, #1e293b); border-top-color: var(--pi-border, #334155); }
.dark .sh-reviews__watermark { color: rgba(255,255,255,0.05); }
.dark .sh-reviews__title { color: var(--pi-text, #f1f5f9); }
.dark .sh-reviews__card { background: var(--pi-bg-card, #1e293b); border-color: var(--pi-border, #334155); }
.dark .sh-reviews__card-badge { background: rgba(30,41,59,0.9); color: var(--pi-primary, #007d3d); border-color: var(--pi-border, #334155); }
.dark .sh-reviews__card-title { color: var(--pi-text, #f1f5f9); }
.dark .sh-reviews__card-text { color: var(--pi-text-2, #e2e8f0); }
.dark .sh-reviews__card-author { border-top-color: var(--pi-border, #334155); }
.dark .sh-reviews__author-name { color: var(--pi-text, #f1f5f9); }
