
.gmgr-section{
  --gmgr-green:#31483c;
  --gmgr-dark:#1f2924;
  --gmgr-muted:#6f766f;
  --gmgr-border:rgba(255,255,255,.16);
  --gmgr-white:#fff;
  background:var(--gmgr-green);
  color:var(--gmgr-white);
  padding:88px 18px;
}
.gmgr-inner{width:min(1180px,100%);margin:0 auto}
.gmgr-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:34px}
.gmgr-title{margin:0 0 12px;color:#fff;font-size:clamp(34px,5vw,54px);line-height:1.06}
.gmgr-intro{margin:0;max-width:680px;color:rgba(255,255,255,.78);font-size:16px;line-height:1.7}
.gmgr-summary{flex:0 0 auto;text-align:right;padding:14px 18px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:rgba(255,255,255,.07);backdrop-filter:blur(6px)}
.gmgr-summary-rating{font-size:25px;font-weight:800;line-height:1.1}
.gmgr-summary-rating span,.gmgr-stars{color:#f6cf66}
.gmgr-summary-count{margin-top:5px;color:rgba(255,255,255,.72);font-size:13px}

/* One-row carousel */
.gmgr-carousel-shell{position:relative}
.gmgr-grid{
  display:flex;
  flex-wrap:nowrap;
  gap:18px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  -ms-overflow-style:none;
  overscroll-behavior-inline:contain;
  padding:2px;
}
.gmgr-grid::-webkit-scrollbar{display:none}
.gmgr-card{
  display:flex;
  flex:0 0 calc((100% - 36px)/3);
  flex-direction:column;
  box-sizing:border-box;
  min-width:0;
  scroll-snap-align:start;
  background:rgba(255,255,255,.075);
  border:1px solid var(--gmgr-border);
  border-radius:20px;
  padding:24px;
  box-shadow:0 10px 30px rgba(9,19,14,.10);
  backdrop-filter:blur(7px);
  transition:transform .22s ease,border-color .22s ease,background .22s ease;
}
.gmgr-card:hover{transform:translateY(-2px);background:rgba(255,255,255,.095);border-color:rgba(255,255,255,.25)}
.gmgr-author{display:flex;align-items:center;gap:12px;margin-bottom:15px}
.gmgr-avatar-link{display:block;flex:0 0 auto}
.gmgr-avatar{display:flex;width:44px;height:44px;min-width:44px;border-radius:50%;object-fit:cover;align-items:center;justify-content:center;background:rgba(255,255,255,.15);color:#fff;font-weight:800;text-decoration:none}
.gmgr-author-copy{display:flex;flex-direction:column;min-width:0;line-height:1.3}
.gmgr-author-name{color:#fff!important;font-weight:750;text-decoration:none;overflow-wrap:anywhere}
.gmgr-date,.gmgr-visit{color:rgba(255,255,255,.64);font-size:12px;margin-top:2px}
.gmgr-rating{margin-bottom:12px;font-size:17px;letter-spacing:.06em}
.gmgr-text{
  margin:0;
  color:#fff!important;
  line-height:1.7;
  white-space:pre-line;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:6;
  overflow:hidden;
}
.gmgr-card.is-expanded .gmgr-text{-webkit-line-clamp:unset;display:block}
.gmgr-more{
  align-self:flex-start;
  margin:9px 0 0;
  padding:0;
  border:0;
  background:none;
  color:rgba(255,255,255,.8);
  font:inherit;
  font-size:12px;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
}
.gmgr-more[hidden]{display:none}
.gmgr-translated{margin:12px 0 0;color:rgba(255,255,255,.58)!important;font-size:12px}
.gmgr-card-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:auto;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);font-size:12px}
.gmgr-card-footer a,.gmgr-all-link{color:#fff!important;text-underline-offset:3px}
.gmgr-report{opacity:.65}

/* Elegant controls */
.gmgr-nav{
  position:absolute;
  z-index:3;
  top:50%;
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.24);
  background:rgba(31,41,36,.86);
  color:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
  transform:translateY(-50%);
  box-shadow:0 8px 24px rgba(0,0,0,.18);
  backdrop-filter:blur(8px);
  transition:opacity .2s ease,transform .2s ease,background .2s ease;
}
.gmgr-nav span{font-size:31px;line-height:1;margin-top:-2px}
.gmgr-prev{left:-22px}
.gmgr-next{right:-22px}
.gmgr-nav:hover{background:rgba(31,41,36,.98);transform:translateY(-50%) scale(1.04)}
.gmgr-nav:disabled{opacity:.25;cursor:default;transform:translateY(-50%)}
.gmgr-nav:focus-visible,.gmgr-more:focus-visible,.gmgr-grid:focus-visible{outline:2px solid #fff;outline-offset:3px}

.gmgr-attribution{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-top:24px;padding-top:18px;border-top:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.7);font-size:11px;line-height:1.5}
.gmgr-attribution>div{display:flex;flex-direction:column;gap:3px;max-width:780px}
.gmgr-attribution strong{color:#fff;font-size:13px}
.gmgr-all-link{flex:0 0 auto;font-size:12px}
.gmgr-empty{color:rgba(255,255,255,.78)}
.gmgr-admin-error{padding:14px 16px;border-left:4px solid #d63638;background:#fff;color:#1d2327}
.gmgr-editor-placeholder{padding:26px;border:1px dashed #8c8f94;border-radius:12px;background:#f6f7f7;color:#1e1e1e}
.gmgr-editor-placeholder p{margin:8px 0 0}

@media(max-width:1020px){
  .gmgr-card{flex-basis:calc((100% - 18px)/2)}
  .gmgr-prev{left:-12px}
  .gmgr-next{right:-12px}
}
@media(max-width:760px){
  .gmgr-section{padding:64px 18px}
  .gmgr-heading-row{align-items:flex-start;flex-direction:column;gap:20px}
  .gmgr-summary{text-align:left}
  .gmgr-card{flex-basis:100%;padding:22px}
  .gmgr-grid{gap:14px}
  .gmgr-nav{width:40px;height:40px;top:auto;bottom:-58px;transform:none}
  .gmgr-nav:hover{transform:scale(1.04)}
  .gmgr-nav:disabled{transform:none}
  .gmgr-prev{left:calc(50% - 50px)}
  .gmgr-next{right:calc(50% - 50px)}
  .gmgr-attribution{flex-direction:column;margin-top:78px}
}
@media(prefers-reduced-motion:reduce){
  .gmgr-grid{scroll-behavior:auto}
  .gmgr-card,.gmgr-nav{transition:none}
}
