/* ============================================================
   Geo Features Grid Widget
   All critical properties use !important to prevent theme /
   Bootstrap / plugin CSS overrides.
   ============================================================ */

/* ---- Section wrapper ---- */
.geo-fg-section {
    position: relative !important;
    padding: 80px 0 !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

/* ---- Dark overlay (visible only when bg image set) ---- */
.geo-fg-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(12, 9, 9, 0.75) !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

/* ---- Container ---- */
.geo-fg-container {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;

    margin: 0 auto !important;
    padding: 0 0px !important;
    box-sizing: border-box !important;
}


.elementor-532 .elementor-element.elementor-element-b664e9b .geo-fg-item:first-child {
    padding-left: 0 !important;
}

/* ---- Flex row ---- */
.geo-fg-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

/* ---- Column  (width injected per-instance) ---- */
.geo-fg-col {
    flex: 0 0 25% !important;
    max-width: 25% !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-shrink: 0 !important;
    position: relative !important;
}

/* ============================================================
   ITEM  (the card / feature block)
   ============================================================ */
.geo-fg-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    padding: 40px 20px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    position: relative !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
    background-size: cover !important;
    background-position: center !important;
}

/* ---- Icon-position variants ---- */
.geo-fg-item.icon-left {
    flex-direction: row !important;
    align-items: flex-start !important;
    text-align: left !important;
}

.geo-fg-item.icon-right {
    flex-direction: row-reverse !important;
    align-items: flex-start !important;
    text-align: left !important;
}

.geo-fg-item.icon-bottom {
    flex-direction: column-reverse !important;
}

/* ---- Icon wrapper ---- */
.geo-fg-icon-wrap {
    flex-shrink: 0 !important;
    margin-bottom: 26px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.geo-fg-item.icon-left .geo-fg-icon-wrap {
    margin-bottom: 0 !important;
    margin-right: 20px !important;
    margin-top: 3px !important;
}

.geo-fg-item.icon-right .geo-fg-icon-wrap {
    margin-bottom: 0 !important;
    margin-left: 20px !important;
    margin-top: 3px !important;
}

.geo-fg-item.icon-bottom .geo-fg-icon-wrap {
    margin-bottom: 0 !important;
    margin-top: 26px !important;
}

/* ---- Icon box (the circle / box container) ---- */
.geo-fg-icon-box {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.3);
    background: rgba(255, 255, 255, 0.03);
    color: #D7A16E;
    font-size: 24px;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
}

/* SVG / image / font icons */
.geo-fg-icon-box i {
    color: currentColor;
    font-size: 1em;
    line-height: 1;
    display: inline-block;
}

.geo-fg-icon-box svg {
    display: inline-block;
    width: 1em;
    height: 1em;
    fill: currentColor;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.geo-fg-icon-box img {
    width: 1em !important;
    height: 1em !important;
    display: block !important;
    object-fit: contain !important;
}

/* ---- Icon hover ---- */
.geo-fg-item:hover .geo-fg-icon-box {
    transform: scale(1.08) !important;
    color: #D7A16E;
    border-color: #D7A16E;
    background: rgba(215, 161, 110, 0.15);
}

/* ---- Content (text side) ---- */
.geo-fg-content {
    flex: 1 !important;
    min-width: 0 !important;
}

/* ---- Title ---- */
.geo-fg-title {
    font-size: 18px;
    font-weight: 600;
    color: #ffffff;
    margin: 0 0 12px 0;
    padding: 0;
    line-height: 1.4;
    transition: color 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
    border: none !important;
    background: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

.geo-fg-item:hover .geo-fg-title {
    color: #D7A16E;
}

/* ---- Description ---- */
.geo-fg-desc {
    font-size: 14px;
    font-weight: 300;
    line-height: 1.65em;
    color: rgba(255, 255, 255, 0.55);
    margin: 0 auto !important;
    padding: 0 !important;
    max-width: 280px !important;
    text-transform: none !important;
}

.geo-fg-item.icon-left .geo-fg-desc,
.geo-fg-item.icon-right .geo-fg-desc {
    margin: 0 !important;
}

/* ============================================================
   TABLET  (≤991px)
   col widths and separators injected per-instance
   ============================================================ */
@media (max-width: 991px) {
    .geo-fg-section {
        padding: 60px 0 !important;
    }

    .geo-fg-col {
        flex: 0 0 50% !important;
        max-width: 50% !important;
    }
}

/* ============================================================
   MOBILE  (≤575px)
   ============================================================ */
@media (max-width: 575px) {
    .geo-fg-section {
        padding: 40px 0 !important;
    }

    .geo-fg-container {
        padding: 0 18px !important;
    }

    .geo-fg-col {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    .geo-fg-item {
        padding: 28px 12px !important;
    }

    .geo-fg-desc {
        font-size: 13.5px !important;
    }
}