/*
Theme Name: Grid Basic
Author: You
Version: 1.0
*/

.gb-card { border: 1px solid #eee; border-radius: 8px; overflow: hidden; background: #fff; height: 100%; }
.gb-body { padding: 12px; }
.gb-cat { font-size: 12px; text-transform: uppercase; opacity: .75; margin-bottom: 6px; }
.gb-title { font-size: 16px; margin: 0 0 8px; line-height: 1.25; }
.gb-excerpt { font-size: 13px; opacity: .9; margin: 0; }



.gb-thumb {
  width: 100%;
  padding-top: 133%; /* 4:3 inversé -> portrait */
  position: relative;
  overflow: hidden;
  background: #f3f3f3;
}

.gb-thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}


.gb-badge{
  position:absolute;
  top:10px;
  left:10px;
  z-index:3;
  font-size:12px;
  font-weight:700;
  padding:6px 10px;
  border-radius:999px;
  color:#fff;
  backdrop-filter: blur(4px);
  box-shadow: 0 6px 18px rgba(0,0,0,.18);
  user-select:none;
}

/* Online = vert + pulse */
.gb-badge.is-online{
  background: rgba(40,167,69,.95); /* Bootstrap success */
  animation: gbPulse 1.2s infinite;
}

/* Offline = gris/rouge léger, sans animation */
.gb-badge.is-offline{
  background: rgba(108,117,125,.92); /* Bootstrap secondary */
}

@keyframes gbPulse{
  0%   { transform: scale(1);   opacity: 1; }
  50%  { transform: scale(1.06); opacity: .65; }
  100% { transform: scale(1);   opacity: 1; }
}
