
/* Mobile: disable loading overlay (major Speed Index win) */
@media (max-width: 768px) {
    body.loading-overlay-showing .loading-overlay {
        display: none !important;
    }
}

/* Images: faster rendering */
img {
    height: auto;
}

.service-button {
    display: block;
    margin: 20px 0;
    width: 100%;
    height: 80px;
}

.service-button:focus {
    color: white;
}

.service-card {
    border-top-left-radius: var(--border-radius2x) !important;
    border-top-right-radius: var(--border-radius2x) !important;;
}

.section-title:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    height: 4px;
    width: 50px;
    background: var(--primary);

}

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}

.text-center {
    text-align: center;
}

.copyright {
    color: #C9C9C9 !important;
    font-weight: bold;
}

.copyright:hover {
    color: white !important;
}

.floating-buttons {
    position: fixed;
    right: 15px;
    bottom: 60px;
    z-index: 1040;
}

.floating-buttons .item {
    border: 1px solid #e1e4ea;
    border-radius: 50%;
    font-size: 20px;
    display: flex;
    align-items: center;
    padding: 10px;
    color: #fff;
    margin-bottom: 10px;
    z-index: 1040;
}

.line-clamp-3 {
    line-clamp: 3;
}


@media (max-width: 991px) {

    .floating-buttons {
        bottom: 30px;
        right: 10px;
    }

    .custom-element-wrapper.custom-element-5 {
        display: none;
        top: 18%;
        left: 21%;
        width: 150px;
        height: 150px;
    }

    .main-img {
        display: none;
        width: 30%;
        top: 20% !important;
        left: 30% !important;
    }
}


/***************************************
  CLS FIX PACK (geopg.ge)
***************************************/

/* 1) Icon replacement (img -> inline svg) reserve space */
.icon-slot{
    display:inline-block;
    width:72px;
    height:73px;
    line-height:0;
}
.icon-slot img,
.icon-slot svg{
    width:100% !important;
    height:100% !important;
    display:block;
}

/* 2) Hero image reserve slot (prevents "Unsized image element") */
.hero-img-slot{
    width:100%;
    max-width:520px;        /* სურვილისამებრ */
    margin-left:auto;       /* align right because text-end */
    aspect-ratio: 1 / 1;    /* შეცვალე თუ plumber.png არაა კვადრატი */
}
.hero-img-slot > img{
    width:100% !important;
    height:100% !important;
    object-fit: contain;    /* ან cover */
    display:block;
}

/* 3) Make sure main image itself has stable layout */
img.main-img{
    display:block;
    height:auto;
}

/* 4) Overlay plugin should not affect document flow */
.loading-overlay,
.loading-overlay-showing,
.loading-overlay.loading-overlay-showing{
    position:fixed !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
}

/* 5) Prevent scrollbar/layout jump when overlay toggles body scroll */
html{
    scrollbar-gutter: stable both-edges;
}

/* 6) Appear animations must be transform/opacity only (avoid layout properties) */
.appear-animation{
    will-change: transform, opacity;
}


/* === CLS FIX: Hero image stable slot === */
.hero-img-slot {
    width: 100%;
    max-width: 520px;      /* დიზაინზე თუ გინდა, დატოვე */
    margin-left: auto;     /* text-end გვერდზე სწორად დასაჯდეს */
    aspect-ratio: 1 / 1;   /* 520x520 */
    position: relative;
}

.hero-img-slot picture,
.hero-img-slot img {
    display: block;
    width: 100%;
    height: 100%;
}

.hero-img-slot img {
    object-fit: contain;   /* ან cover თუ გინდა */
}

:root {
    --header-h: 96px; /* აქ ჩაწერე შენი ჰედერის რეალური სიმაღლე */
}


/* თუ sticky-ზე ჰედერი სხვა სიმაღლეზე გადადის, გაასწორე რომ ორივე state ერთნაირი იყოს */
.sticky-header-enabled #header,
.sticky-header-active #header {
    height: var(--header-h);
}


/* HERO IMAGE SLOT */
.hero-img-slot {
    width: 100%;
    max-width: 520px;
    margin-left: auto;
    aspect-ratio: 1 / 1;
    position: relative;
}
.hero-img-slot img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
}


/* Footer logo: CLS safe */
.footer-logo {
    display: block;
}

/* TOP.GE counter: reserve space */
.top-ge-counter-slot {
    width: 88px;
    height: 31px;
    margin: 0 auto;
    display: block;
}

/* Prevent scrollbar jump (loading overlay fix) */
html {
    scrollbar-gutter: stable;
    overflow-y: scroll;
}


/* Contrast fix მხოლოდ Hero სექციაში */
.section.border-0.m-0.bg-transparent.p-relative h2.text-color-grey {
    color: rgba(33, 37, 41, 0.78) !important; /* ოდნავ უფრო მუქი, მაგრამ still “grey” */
}


/* Neutralize negative sticky jump */
html.sticky-header-enabled #header,
html.sticky-header-active #header,
html.sticky-header-negative #header {
    top: 0 !important;
    transform: none !important;
    margin-top: 0 !important;
}
