/* themes & layout kept from previous fixed version, + intro styles */
.gbp-theme-dark { background:#0b0b0d; color:#e6e6ea; padding:12px; }
.gbp-theme-dark a { color:#a5c8ff; }
.gbp-theme-dark .gbp-slide { background:#141418; border:1px solid #222; }
.gbp-theme-dark .gbp-nav { background:#1f1f24; border:1px solid #2a2a30; color:#ddd; }
.gbp-theme-dark .gbp-nav:hover { background:#292933; }
.gbp-theme-dark .gbp-avg { background:#141418; border:1px solid #222; }
.gbp-theme-dark .gbp-time { color:#9b9ca3; }
.gbp-theme-dark .gbp-attrib { color:#9b9ca3; }

.gbp-theme-light { background:#ffffff; color:#121317; padding:12px; }
.gbp-theme-light a { color:#0b57d0; }
.gbp-theme-light .gbp-slide { background:#ffffff; border:1px solid #e6e8ef; }
.gbp-theme-light .gbp-nav { background:#f4f6fb; border:1px solid #e1e6f2; color:#2a2f3a; }
.gbp-theme-light .gbp-nav:hover { background:#e9edf7; }
.gbp-theme-light .gbp-avg { background:#f9fbff; border:1px solid #e6e8ef; }
.gbp-theme-light .gbp-time { color:#606775; }
.gbp-theme-light .gbp-attrib { color:#6b7280; }

.gbp-theme-contrast { background:#000; color:#fff; padding:12px; }
.gbp-theme-contrast a { color:#8bb9ff; }
.gbp-theme-contrast .gbp-slide { background:#0d0f12; border:1px solid #3a3f46; }
.gbp-theme-contrast .gbp-nav { background:#1a1f27; border:1px solid #3a3f46; color:#e6e6e6; }
.gbp-theme-contrast .gbp-nav:hover { background:#243041; }
.gbp-theme-contrast .gbp-avg { background:#0d0f12; border:1px solid #3a3f46; }
.gbp-theme-contrast .gbp-time { color:#b6bcc6; }
.gbp-theme-contrast .gbp-attrib { color:#aab2bd; }

.gbp-theme-minimal { background:transparent; color:inherit; padding:0; }
.gbp-theme-minimal .gbp-slide { background:transparent; border:0; }
.gbp-theme-minimal .gbp-avg { background:transparent; border:0; }
.gbp-theme-minimal .gbp-nav { background:transparent; border:1px solid currentColor; }
.gbp-theme-minimal .gbp-attrib { opacity:.7; }

.gbp-intro { margin-bottom: 12px; }
.gbp-intro--boxed { border:1px solid currentColor; padding:12px; border-radius: 6px; }
.gbp-intro--plain { border:0; padding:0; }

.gbp-carousel { position: relative; overflow: visible; }
.gbp-viewport { position: relative; overflow: hidden; transition: height .3s ease; }
.gbp-track { display: grid; grid-auto-flow: column; grid-auto-columns: 100%; gap: 12px; transition: transform .45s ease; will-change: transform; position: relative; }
.gbp-slide { display: grid; grid-template-columns: 64px 1fr; gap: 16px; padding: 16px; box-sizing: border-box; }
.gbp-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; cursor: pointer; font-size: 24px; line-height: 32px; text-align: center; z-index: 2; }
.gbp-prev { left: 8px; } .gbp-next { right: 8px; }

.gbp-list-mode .gbp-track { display:block; transform:none; }
.gbp-list-mode .gbp-slide { display:block; }

.gbp-avatar { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; background:#26262b; display:block; }
.gbp-avatar--placeholder { display:flex; align-items:center; justify-content:center; font-size:24px; color:#999; }
.gbp-head { display:flex; justify-content: space-between; align-items: center; gap: 12px; }
.gbp-author { font-weight: 600; }
.gbp-time { font-size: 13px; margin: 4px 0 6px; }
.gbp-text { }

.gbp-stars { letter-spacing: 1px; display:inline-block; }
.gbp-stars--sm { font-size: 18px; }
.gbp-stars--md { font-size: 24px; }
.gbp-stars--lg { font-size: 28px; }
.gbp-stars--xl { font-size: 36px; }
.gbp-stars-faded { opacity: .25; }
.gbp-star-half { background: linear-gradient(90deg, currentColor 50%, rgba(255,255,255,0.25) 50%); -webkit-background-clip: text; color: transparent; }

.gbp-stars--c-gold { color: #ffcc00; }
.gbp-stars--c-white { color: #ffffff; }
.gbp-stars--c-blue { color: #69a3ff; }
.gbp-stars-empty--c-white40 { color:#ffffff; opacity:.4; }

.gbp-badge { padding: 4px 8px; border:1px solid transparent; border-radius: 6px; line-height: 1.1; }
.gbp-badge.r5 { background:#0e4b2e; border-color:#16603b; color:#c9ffe2; }

.gbp-link { text-decoration:none; }
.gbp-link:hover { text-decoration: underline; }
.gbp-attrib { margin-top: 12px; display:flex; align-items:center; gap:8px; font-size: 12px; align-items:center; }
.gbp-google-logo { display:block; height:20px; width:auto; max-width:100%; object-fit: contain; }

.gbp-empty { padding: 16px; border:1px dashed #2a2a30; color:#a0a0a8; }
.gbp-avg { display:flex; align-items:center; gap:12px; padding: 10px 12px; margin: 0 0 10px; }

.gbp-fade .gbp-track { display:block; position:relative; }
.gbp-fade .gbp-slide { position:absolute; top:0; left:0; width:100%; opacity:0; transition: opacity .6s ease; }
.gbp-fade .gbp-slide.gbp-active { position:absolute; opacity:1; }

@media (max-width: 640px){
  .gbp-slide { grid-template-columns: 48px 1fr; padding: 12px; }
  .gbp-avatar { width: 48px; height: 48px; }
  .gbp-nav { width: 32px; height: 32px; font-size: 20px; line-height: 28px; }
}
