/* ======================================================
   GLOBAL MEDIA
====================================================== */

.service-img{
  height:230px;
  object-fit:cover;
}

.cat-img{
  height:220px;
  object-fit:cover;
}

.check-dot{
  width:24px;
  height:24px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(241,132,29,.12);
  color:var(--gofripe-orange);
  font-weight:900;
}

/* ======================================================
   LANGUAGE SWITCH (INLINE)
====================================================== */

.lang-switch{
  display:flex;
  align-items:center;
  gap:.35rem;
  padding:.25rem .5rem;
  border:1px solid #E5E7EB;
  border-radius:999px;
  background:#fff;
}

.lang-btn{
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.08em;
  text-decoration:none;
  color:var(--muted);
  padding:.25rem .55rem;
  border-radius:999px;
  transition:all .2s ease;
}

.lang-btn:hover{
  color:var(--gofripe-green);
}

.lang-btn.active{
  background:rgba(10,131,57,.12);
  color:var(--gofripe-green);
}

.lang-sep{
  color:#D1D5DB;
  font-size:.7rem;
}

/* ======================================================
   LANGUAGE DROPDOWN
====================================================== */

.lang-current{
  border:1px solid #E5E7EB;
  background:#fff;
  font-size:.8rem;
  font-weight:700;
  border-radius:999px;
  padding:.45rem .9rem;
  display:flex;
  align-items:center;
  gap:.4rem;
}

.lang-current:hover{
  background:#F9FAFB;
}

.dropdown-menu{
  border-radius:14px;
  padding:.25rem;
}

.dropdown-item{
  font-size:.85rem;
  border-radius:10px;
  padding:.45rem .6rem;
}

.dropdown-item.active{
  background:rgba(10,131,57,.12);
  color:var(--gofripe-green);
  font-weight:700;
}

.flag{
  font-size:1.1rem;
  line-height:1;
}

/* ======================================================
   NAVBAR – GOFRIPE (STABLE & PRO)
====================================================== */

.navbar-gofripe{
  background:#fff;
  min-height:72px;
}

.navbar-gofripe .navbar-brand{
  padding:0;
}

.brand-logo{
  height:42px;
  width:auto;
  display:block;
}

/* Nav links */
.nav-link-gofripe{
  color:var(--text);
  font-weight:600;
  padding:.55rem .75rem;
  border-radius:999px;
  transition:background .2s ease;
}

.nav-link-gofripe:hover{
  background:rgba(17,24,39,.06);
}

/* CTA */
.btn-cta-nav{
  border-radius:14px;
  padding:.65rem 1.1rem;
}

/* Responsive navbar */
@media (max-width: 991px){
  .brand-logo{
    height:34px;
  }
}

/* ======================================================
   PUSH NOTIFICATION BUTTON
====================================================== */

.btn-push{
  width:40px;
  height:40px;
  border-radius:999px;
  border:1px solid #e5e7eb;
  background:#fff;
  font-size:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:all .2s ease;
}

.btn-push:hover{
  background:#f8f9fa;
}

.btn-push.active{
  background:#f7931e;
  border-color:#f7931e;
  color:#fff;
}

/* ======================================================
   PUSH TOOLTIP (FLOATING – NO LAYOUT SHIFT)
====================================================== */

.push-wrapper{
  position:relative;
}

.push-tooltip{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  width:240px;
  background:#111827;
  color:#fff;
  padding:.75rem .9rem;
  border-radius:12px;
  font-size:.8rem;
  line-height:1.4;
  box-shadow:0 15px 40px rgba(0,0,0,.35);

  opacity:0;
  visibility:hidden;
  transform:translateY(-6px);
  transition:all .2s ease;

  z-index:9999;
}

.push-tooltip strong{
  display:block;
  margin-bottom:.25rem;
}

.push-wrapper:hover .push-tooltip{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

/* Mobile tooltip centering */
@media (max-width: 576px){
  .push-tooltip{
    right:auto;
    left:50%;
    transform:translateX(-50%) translateY(-6px);
  }

  .push-wrapper:hover .push-tooltip{
    transform:translateX(-50%) translateY(0);
  }
}

/* ======================================================
   FOOTER – GOFRIPE
====================================================== */

.footer-dark{
  background:radial-gradient(circle at top left, #121820, #070B10);
  color:#D1D5DB;
  padding:4rem 0 2.5rem;
}

.footer-container{
  max-width:1200px;
}

/* Brand */
.footer-brand-wrap{
  display:flex;
  align-items:center;
  gap:.75rem;
  margin-bottom:1rem;
}

.footer-logo{
  width:48px;
  height:auto;
}

.footer-brand-text{
  font-size:1.5rem;
  font-weight:800;
  color:#fff;
}

/* Text */
.footer-about{
  color:#9CA3AF;
  max-width:420px;
  line-height:1.7;
}

/* Titles */
.footer-title{
  color:#fff;
  font-weight:700;
  margin-bottom:1rem;
}

/* Links */
.footer-links,
.footer-contact{
  list-style:none;
  padding:0;
  margin:0;
}

.footer-links li{
  margin-bottom:.5rem;
}

.footer-links a{
  color:#9CA3AF;
  text-decoration:none;
  transition:color .2s ease;
}

.footer-links a:hover{
  color:#fff;
}

/* Contact */
.footer-contact li{
  margin-bottom:.45rem;
  color:#9CA3AF;
}

.footer-contact strong{
  color:#fff;
  font-weight:600;
}

/* Divider */
.footer-divider{
  height:1px;
  background:rgba(255,255,255,.08);
  margin:2.5rem 0 1.5rem;
}

/* Bottom */
.footer-bottom{
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
  justify-content:space-between;
  align-items:center;
}

.footer-copy{
  color:#9CA3AF;
  font-size:.9rem;
}

/* Social */
.footer-social{
  display:flex;
  gap:.75rem;
}

.footer-social a{
  width:38px;
  height:38px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  text-decoration:none;
  font-size:1.05rem;
}

.footer-social a:hover{
  background:rgba(241,132,29,.9);
}

/* Footer mobile */
@media (max-width: 576px){
  .footer-dark{
    padding:3rem 0 2rem;
  }

  .footer-brand-text{
    font-size:1.3rem;
  }

  .footer-logo{
    width:56px;
  }

  .footer-bottom{
    flex-direction:column;
    align-items:flex-start;
  }
}
