/* GeoSurveyPro Elementor Widgets styles (minimal baseline).
   These styles are intentionally lightweight to avoid conflicts.
   When the GeoSurveyPro theme is active, the theme styles will dominate. */

.gsp-container{max-width:1400px;margin:0 auto;padding:0 18px;}
.gsp-section{padding:56px 0;}
.gsp-section--dark{background:#11190C;color:#F3F1EE;}
.gsp-section__head{margin-bottom:20px;}
.gsp-section__title{margin:0 0 8px;font-size:34px;line-height:1.1;font-weight:800;letter-spacing:-.4px;}
.gsp-section__subtitle{margin:0;color:rgba(17,25,12,.70);max-width:72ch;line-height:1.7;}
.gsp-section__title--light{color:#F3F1EE;}
.gsp-section__subtitle--light{color:rgba(243,241,238,.72);}
.gsp-muted{color:rgba(17,25,12,.66);}
.gsp-muted--light{color:rgba(243,241,238,.68);}

.gsp-grid{display:grid;gap:16px;}
.gsp-grid--2{grid-template-columns:repeat(2,1fr);}
.gsp-grid--3{grid-template-columns:repeat(3,1fr);}
.gsp-grid--4{grid-template-columns:repeat(4,1fr);}
@media (max-width: 1024px){
  .gsp-grid--4{grid-template-columns:repeat(2,1fr);}
  .gsp-grid--3{grid-template-columns:repeat(2,1fr);}
}
@media (max-width: 620px){
  .gsp-grid--4,.gsp-grid--3,.gsp-grid--2{grid-template-columns:1fr;}
}

.gsp-card{display:block;border-radius:18px;overflow:hidden;border:1px solid rgba(17,25,12,.10);background:#fff;text-decoration:none;color:inherit;box-shadow:0 12px 26px rgba(0,0,0,.06);}
.gsp-section--dark .gsp-card{background:rgba(243,241,238,.03);border-color:rgba(243,241,238,.10);box-shadow:none;}
.gsp-card__cover{display:block;position:relative;overflow:hidden;}
.gsp-card__cover img{width:100%;height:100%;object-fit:cover;display:block;}
.gsp-card__body{padding:14px 14px 16px;}
.gsp-card__title{margin:0 0 8px;font-size:18px;line-height:1.35;font-weight:800;letter-spacing:-.2px;}
.gsp-card__text{margin:0;color:rgba(17,25,12,.70);line-height:1.7;font-size:14px;}
.gsp-section--dark .gsp-card__text{color:rgba(243,241,238,.72);}

.gsp-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:10px 14px;border:1px solid rgba(17,25,12,.18);background:transparent;color:inherit;font-weight:700;text-decoration:none;font-size:14px;}
.gsp-btn--outline-dark{border-color:rgba(17,25,12,.30);}
.gsp-btn--outline{border-color:rgba(243,241,238,.25);}
.gsp-section__cta{margin-top:18px;}

.gsp-link{color:inherit;text-decoration:none;font-weight:700;}
.gsp-link--lime{color:#E1FF00;}

.gsp-video__thumb{position:relative;aspect-ratio:16/9;overflow:hidden;}
.gsp-video__play{position:absolute;inset:auto auto 14px 14px;width:44px;height:44px;border-radius:999px;background:rgba(0,0,0,.45);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;}
