/* Goba Core Elementor widgets — complementary to theme.css */

.goba-widget-section { padding: 12px 0; }
.goba-hero-empty {
  background: var(--goba-bg-2, #e9eee9);
  border: 1px dashed var(--goba-border, #d7e0d7);
  border-radius: var(--radius, 10px);
  color: #7a867e;
  padding: 22px;
  text-align: center;
  font-size: 14px;
}
.goba-cols-2 { grid-template-columns: repeat(2, 1fr); }
.goba-cols-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1024px) {
  .goba-cols-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .goba-cols-2, .goba-cols-3, .goba-cols-4 { grid-template-columns: 1fr; }
}

.goba-section-actions { text-align: center; margin-top: 28px; }
.goba-btn-dark { border-color: var(--goba-green, #1e5c32); color: var(--goba-green, #1e5c32); }
.goba-btn-dark:hover { background: var(--goba-green, #1e5c32); color: #fff; }

.goba-hero-slide { transition: opacity 1.3s ease; }
.goba-hero-slide.active { z-index: 2; }
.goba-hero-caption { transition: opacity .35s ease; }
.goba-hero-caption.goba-fade { opacity: 0; }
.goba-hero-nav { position: absolute; bottom: 26px; right: 50%; transform: translateX(50%); display: flex; gap: 10px; align-items: center; z-index: 10; }
.goba-hero-dot {
  width: 10px; height: 10px; border-radius: 50%; border: none; padding: 0; cursor: pointer;
  background: rgba(255, 255, 255, .4);
  transition: width .55s cubic-bezier(.4, 0, .2, 1), border-radius .55s cubic-bezier(.4, 0, .2, 1), background-color .55s ease;
}
.goba-hero-dot.active { width: 42px; border-radius: 999px; background: #fff; }

/* Video lightbox */
.goba-video-lightbox {
  position: fixed; inset: 0; z-index: 99999; display: none;
  background: rgba(4, 14, 8, .94); align-items: center; justify-content: center;
}
.goba-video-lightbox.open { display: flex; }
.goba-video-lightbox .goba-vl-frame iframe { width: min(900px, 92vw); height: min(506px, 56vw); border: 0; border-radius: 10px; }
.goba-video-lightbox .goba-vl-frame video { display: block; background: #000; }
.goba-video-lightbox .goba-vl-close {
  position: absolute; top: 22px; left: 28px; width: 44px; height: 44px;
  border-radius: 50%; border: 2px solid rgba(255,255,255,.5); background: transparent;
  color: #fff; font-size: 20px; cursor: pointer;
}
