/* GFSX V17 — refined Discord-inspired review rail with aligned media */
.gfsx-reviews-section{
  position:relative;isolation:isolate;overflow:hidden;
  padding:77px 0 82px;
  border-top:1px solid #1a304b;border-bottom:1px solid #1a304b;
  background:radial-gradient(ellipse 56% 78% at 5% 118%,rgba(19,77,162,.12),transparent 76%),
             radial-gradient(ellipse 50% 87% at 100% -27%,rgba(24,83,178,.12),transparent 78%),
             linear-gradient(180deg,#090e18 0%,#0b1220 58%,#090e18 100%);
}
.gfsx-reviews-section::before{
  content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.10;
  background-image:radial-gradient(#507cae .7px,transparent .7px);background-size:26px 26px;
  mask-image:linear-gradient(180deg,#000,transparent 90%);
}
.gfsx-reviews-top{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:34px}
.gfsx-reviews-heading{max-width:690px;min-width:0}
.gfsx-reviews-heading h2{
  color:#f4f7fc;margin:0 0 12px;
  font:800 clamp(29px,3.0vw,44px)/1.15 'Manrope',Arial,sans-serif;
  text-transform:none;letter-spacing:-.042em;
}
.gfsx-reviews-heading h2 span{color:#6aaeff}
.gfsx-reviews-heading p{font:500 13px/1.8 'Manrope',Arial,sans-serif;color:#a6b7ce;margin:0;max-width:610px}
.gfsx-reviews-side{display:flex;flex-direction:column;align-items:flex-end;gap:13px;min-width:225px;padding-bottom:1px}
.gfsx-reviews-total{display:flex;align-items:flex-end;flex-direction:column;gap:5px;text-align:right}
.gfsx-reviews-total strong{font:900 clamp(40px,4.3vw,62px)/1 'Archivo Black',Arial,sans-serif;color:#f5f8ff;letter-spacing:-.063em}
.gfsx-reviews-total span{font:800 10px/1.5 'Manrope',Arial,sans-serif;letter-spacing:.09em;color:#8db4e5}
.gfsx-review-channel-link{display:inline-flex;gap:10px;align-items:center;justify-content:center;border:1px solid #2e5480;border-radius:999px;background:#102038;color:#e5efff;padding:12px 17px;font:800 11px/1.2 'Manrope',Arial,sans-serif;text-decoration:none;transition:background .2s,border-color .2s}
.gfsx-review-channel-link:hover{background:#17345a;border-color:#68a9fa}
.gfsx-review-channel-link:focus-visible{outline:2px solid #82c9ff;outline-offset:4px}
.gfsx-review-carousel{position:relative}
.gfsx-review-marquee{position:relative;overflow:hidden;padding:7px 0 13px;mask-image:linear-gradient(90deg,transparent,#000 4.5%,#000 95.5%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 4.5%,#000 95.5%,transparent)}
.gfsx-review-slide-area{min-height:0}
.gfsx-review-track{display:flex;align-items:stretch;gap:15px;width:max-content;will-change:transform}
.gfsx-review-group{display:flex;align-items:stretch;gap:15px;flex-shrink:0}
.gfsx-review-card{
  box-sizing:border-box;width:345px;min-width:345px;flex:0 0 345px;height:365px;
  display:flex;flex-direction:column;align-self:stretch;gap:11px;overflow:hidden;
  padding:16px 17px 15px;border-radius:14px;border:1px solid #344357;
  background:linear-gradient(165deg,#222932 0%,#1d232c 62%,#1b2129 100%);
  color:#e6edf6;box-shadow:0 12px 32px rgba(0,0,0,.25);
  transition:border-color .2s,background .2s;
}
.gfsx-review-card:hover,.gfsx-review-card:focus-within{border-color:#526e90;background:linear-gradient(165deg,#262e39,#202831)}
.gfsx-review-card-top{display:flex;align-items:center;gap:10px;flex-shrink:0;min-height:39px}
.gfsx-review-avatar-wrap{flex:0 0 auto}
.gfsx-review-avatar{box-sizing:border-box;width:39px;height:39px;border-radius:50%;display:block;object-fit:cover;background:#252c35;border:1px solid #4c6381}
.gfsx-review-avatar-fallback{display:grid;place-items:center;background:linear-gradient(145deg,#468dee,#315bb3);color:white;font:800 15px/1 'Manrope',Arial,sans-serif}
.gfsx-review-who{min-width:0;display:flex;flex-direction:column;gap:4px}
.gfsx-review-title-row{display:flex;align-items:center;gap:8px;min-width:0}
.gfsx-review-author{font:800 12.5px/1.2 'Manrope',Arial,sans-serif;color:#f6f9fc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:218px}
.gfsx-review-badge{flex:0 0 auto;border:1px solid #4e89de;background:#2d63bb;color:#f1f7ff;border-radius:5px;padding:4px 6px;font:800 9px/1 'Manrope',Arial,sans-serif;letter-spacing:.035em;text-transform:uppercase}
.gfsx-review-meta-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font:500 10px/1.3 'Manrope',Arial,sans-serif;color:#a8b6c6}
.gfsx-review-date{color:#91a1b5}
/* Flex spacer puts every attached image at the same vertical position. */
.gfsx-review-message{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:10px;overflow:hidden}
.gfsx-review-text{font:500 12px/1.57 'Manrope',Arial,sans-serif;color:#e0e8f2;overflow-wrap:anywhere;white-space:normal;display:-webkit-box;-webkit-line-clamp:7;line-clamp:7;-webkit-box-orient:vertical;overflow:hidden;flex:0 1 auto;max-height:133px}
.gfsx-review-text a{color:#87c3ff;text-decoration:none}.gfsx-review-text a:hover{text-decoration:underline}
.gfsx-discord-mention{display:inline-block;border-radius:4px;padding:0 4px;color:#e0e0ff;background:#4d568459;font-weight:800}
.gfsx-review-media{display:grid;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:7px;min-width:0;min-height:0;height:116px;max-height:116px;flex:0 0 116px;margin-top:auto;overflow:hidden}
.gfsx-review-media-link{box-sizing:border-box;display:block;height:116px;min-width:0;border:1px solid #3a536f;border-radius:9px;overflow:hidden;background:#151b22}
.gfsx-review-media-image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .23s}
.gfsx-review-media-link:hover img{transform:scale(1.035)}
.gfsx-review-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #39495b;padding-top:11px;margin-top:0;flex:0 0 auto}
.gfsx-review-footer::before{content:'COMMUNITY REVIEW';font:800 9px/1 'Manrope',Arial,sans-serif;letter-spacing:.075em;color:#91a4ba}
.gfsx-review-source{white-space:nowrap;font:800 10px/1 'Manrope',Arial,sans-serif;color:#a0ceff;text-decoration:none}
.gfsx-review-source:hover{text-decoration:underline}
.gfsx-review-source:focus-visible{outline:2px solid #87c9ff;outline-offset:3px}
.gfsx-review-empty{display:grid;place-items:center;text-align:center;min-height:310px;padding:32px;border:1px dashed #295079;border-radius:14px;background:#101a29;color:#adc1da;font:600 13px/1.8 'Manrope',Arial,sans-serif}
/* Hero review row and small note keep their established design while acting as links. */
a.hero-v5-reviews{text-decoration:none;cursor:pointer}
a.hero-v5-reviews:focus-visible,.hero-v5-proof-link:focus-visible{outline:2px solid #82c9ff;outline-offset:4px;border-radius:4px}
.hero-v5-proof-link{color:inherit;text-decoration:none;cursor:pointer}
@media(max-width:1050px){.gfsx-reviews-section{padding:69px 0}.gfsx-review-card{width:332px;min-width:332px;flex-basis:332px;height:365px}}
@media(max-width:700px){
 .gfsx-reviews-section{padding:57px 0}
 .gfsx-reviews-top{flex-direction:column;align-items:flex-start;gap:23px;margin-bottom:24px}
 .gfsx-reviews-side{align-items:flex-start;min-width:0;width:100%;gap:11px}
 .gfsx-reviews-total{align-items:flex-start;text-align:left}
 .gfsx-reviews-heading h2{font-size:clamp(27px,7.8vw,36px)}
 .gfsx-reviews-heading p{font-size:12px}
 .gfsx-review-card{width:min(314px,82vw);min-width:min(314px,82vw);flex-basis:min(314px,82vw);height:354px;padding:15px 14px 14px;gap:9px}
 .gfsx-review-media,.gfsx-review-media-link{height:110px;max-height:110px}
 .gfsx-review-media{flex-basis:110px}
 .gfsx-review-author{max-width:158px}
 .gfsx-review-marquee{mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
}
@media(prefers-reduced-motion:reduce){.gfsx-review-track{transform:none!important;will-change:auto}.gfsx-review-card,.gfsx-review-channel-link,.gfsx-review-media-image{transition:none!important}}

/* V18: edge-to-edge review rail, centred call to action and Discord count */
.gfsx-reviews-section{padding:79px 0 78px}
.gfsx-reviews-intro{position:relative;z-index:1;margin-bottom:26px}
.gfsx-reviews-heading{max-width:none}
.gfsx-reviews-heading h2{font-family:'Manrope',Arial,sans-serif;font-weight:800;font-size:clamp(27px,2.2vw,35px);line-height:1.3;letter-spacing:-.035em;margin:0 0 8px}
.gfsx-reviews-heading h2 span{color:#74b1ff}
.gfsx-reviews-heading p{font-size:14px;line-height:1.6;color:#a7b6c9;max-width:none;margin:0 0 23px}
.gfsx-review-count-pill{
 display:inline-flex;gap:9px;align-items:center;max-width:100%;width:max-content;
 border:1px solid rgba(127,153,188,.23);border-radius:999px;
 color:#d9e2f4;text-decoration:none;background:rgba(36,47,67,.62);
 padding:10px 15px;font:500 13px/1.2 'Manrope',Arial,sans-serif;
 transition:background .2s,border-color .2s,transform .2s
}
.gfsx-review-count-pill:hover{border-color:#649de1;background:#1f304b;transform:translateY(-1px)}
.gfsx-review-count-pill:focus-visible{outline:2px solid #80c6ff;outline-offset:4px}
.gfsx-review-count-pill strong{font-weight:900;color:#85a4ff;font-variant-numeric:tabular-nums}
.gfsx-review-count-pill b{color:#f4f8ff;font-weight:800}
.gfsx-review-discord-icon{width:21px;height:21px;display:inline-flex;align-items:center;justify-content:center;color:#7689ff}
.gfsx-reviews-outro{display:flex;justify-content:center;align-items:center;margin-top:28px}
.gfsx-review-channel-link{
 border:1px solid rgba(122,150,188,.32);background:rgba(16,24,38,.64);
 color:#e9f2ff;font:800 13px/1.2 'Manrope',Arial,sans-serif;
 border-radius:999px;padding:13px 23px;min-height:43px;box-shadow:0 8px 22px rgba(0,0,0,.15)
}
.gfsx-review-channel-link:hover{background:#1c3554;border-color:#649fed}
/* Carousel extends to both screen edges, regardless of the centred .container. */
.gfsx-review-carousel{width:100%;max-width:100%;margin:0;position:relative}
.gfsx-review-marquee{
 width:100%;padding:4px 0 7px;
 mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
 -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)
}
.gfsx-review-track,.gfsx-review-group{gap:17px}
.gfsx-review-card{
 width:318px;min-width:318px;flex:0 0 318px;height:335px;
 padding:16px;gap:10px;border:1px solid #313d51;
 background:linear-gradient(165deg,#1e2531 0%,#151b26 100%);box-shadow:0 10px 25px rgba(0,0,0,.22)
}
.gfsx-review-card:hover{border-color:#526e90;background:linear-gradient(165deg,#252d3a,#1c2430)}
.gfsx-review-text{font-size:11.5px;line-height:1.55;-webkit-line-clamp:6;line-clamp:6;max-height:112px}
.gfsx-review-media,.gfsx-review-media-link{height:105px;max-height:105px}
.gfsx-review-media{flex-basis:105px}
.gfsx-review-author{font-size:12px}
.gfsx-review-footer{padding-top:9px}
/* The hero live total is as prominent as the 4.9 rating, not the suffix. */
.hero-v5-review-count strong{font-size:13px;line-height:1;font-weight:800;letter-spacing:-.03em;color:#fff}
@media(max-width:1050px){
 .gfsx-reviews-section{padding:66px 0}
 .gfsx-review-card{width:310px;min-width:310px;flex-basis:310px;height:335px}
 .gfsx-review-media,.gfsx-review-media-link{height:105px;max-height:105px}
}
@media(max-width:700px){
 .gfsx-reviews-section{padding:52px 0}
 .gfsx-reviews-heading h2{font-size:clamp(24px,6.9vw,32px)}
 .gfsx-reviews-heading p{font-size:12px;margin-bottom:18px}
 .gfsx-reviews-intro{margin-bottom:22px}
 .gfsx-review-count-pill{font-size:11px;padding:9px 12px}
 .gfsx-review-card{width:min(298px,80vw);min-width:min(298px,80vw);flex-basis:min(298px,80vw);height:324px;padding:14px}
 .gfsx-review-media,.gfsx-review-media-link{height:102px;max-height:102px}
 .gfsx-review-media{flex-basis:102px}
 .gfsx-reviews-outro{margin-top:21px}
 .hero-v5-review-count strong{font-size:13px}
}


/* V19: centred trust badge and headline, clear Discord-access footer */
.gfsx-reviews-intro{text-align:center;margin-bottom:29px}
.gfsx-reviews-heading{max-width:760px;margin:0 auto}
.gfsx-reviews-heading h2{font-size:clamp(30px,3vw,43px);font-weight:900;line-height:1.22;letter-spacing:-.045em;margin-bottom:9px}
.gfsx-reviews-heading h2 span{color:#79b8ff}
.gfsx-reviews-heading p{font-size:14px;line-height:1.65;max-width:660px;margin:0 auto 21px;color:#afc4df}
.gfsx-review-count-pill{display:flex;align-items:center;justify-content:center;gap:7px;max-width:max-content;margin:0 auto;padding:11px 21px;font-size:13px;border-color:#355376;background:linear-gradient(135deg,#14243c,#1a263b);box-shadow:0 6px 20px #0002}
.gfsx-review-count-pill strong{color:#83b5ff;font-size:14px;font-weight:900}
.gfsx-review-count-pill span{color:#e5eeff;font-weight:700}
.gfsx-review-badge{text-transform:none;letter-spacing:0;border-color:#3866a3;background:#253e64;color:#bfe0ff;padding:4px 7px;font-size:10px}
.gfsx-review-footer::before{content:'DISCORD MEMBERS ONLY';font-size:8.5px;letter-spacing:.05em;color:#9fb6d3}
.gfsx-review-source{font-size:10px;color:#b6d8ff}
.gfsx-review-media-link{cursor:zoom-in;position:relative}
.gfsx-review-media-link:focus-visible{outline:2px solid #90c4ff;outline-offset:2px}
.gfsx-review-media-link::after{content:'⤢';position:absolute;right:7px;top:6px;font:900 14px/1 Arial,sans-serif;color:#fff;background:#05090ebf;border:1px solid #ffffff29;border-radius:6px;padding:5px 6px;opacity:0;transform:translateY(2px);transition:opacity .17s,transform .17s}
.gfsx-review-media-link:hover::after,.gfsx-review-media-link:focus-visible::after{opacity:1;transform:none}

/* Full-screen picture viewer; dialog removes itself from layout while closed. */
.gfsx-review-lightbox{box-sizing:border-box;padding:0;max-width:none;max-height:none;width:100vw;height:100dvh;position:fixed;inset:0;border:0;background:rgba(3,8,17,.97);color:white;overflow:hidden}
.gfsx-review-lightbox::backdrop{background:rgba(2,5,13,.88)}
.gfsx-review-lightbox[open]{display:flex;flex-direction:column;align-items:stretch}
.gfsx-review-lightbox-top{height:72px;flex:0 0 72px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px clamp(16px,3vw,45px);border-bottom:1px solid rgba(121,165,218,.17);background:#0b1420}
.gfsx-review-lightbox-label{font:800 14px/1.4 'Manrope',Arial,sans-serif;color:#f0f5fe;min-width:0;max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gfsx-review-lightbox-close{width:43px;height:43px;flex:0 0 43px;border:1px solid #47617e;border-radius:12px;background:#1c2a3c;color:white;font-size:26px;line-height:1;cursor:pointer;display:grid;place-items:center}
.gfsx-review-lightbox-close:hover{background:#234d7b;border-color:#80bfff}
.gfsx-review-lightbox-close:focus-visible{outline:2px solid #8ad0ff;outline-offset:3px}
.gfsx-review-lightbox-stage{flex:1;min-height:0;min-width:0;display:flex;align-items:center;justify-content:center;padding:clamp(12px,3vw,30px)}
.gfsx-review-lightbox-image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 18px 75px #0008;border-radius:6px}
.gfsx-review-lightbox-fallback{display:none;text-align:center;color:#bdd2f0;font:600 13px/1.7 'Manrope',Arial,sans-serif;max-width:450px}
.gfsx-review-lightbox-image.is-broken{display:none}
.gfsx-review-lightbox-image.is-broken + .gfsx-review-lightbox-fallback{display:block}
@media(max-width:700px){
 .gfsx-reviews-intro{margin-bottom:22px}
 .gfsx-reviews-heading h2{font-size:clamp(28px,7vw,37px)}
 .gfsx-reviews-heading p{font-size:12px;margin-bottom:18px}
 .gfsx-review-count-pill{padding:10px 15px}
 .gfsx-review-footer::before{font-size:8px}
 .gfsx-review-lightbox-top{height:61px;flex-basis:61px}
}
