/* =========================================================
   ICONS, ACTIONS & FLOATING UI — PREMIUM
   JP INFRA DEVELOPERS
   ========================================================= */

/* ================= CORE ICON BUTTON ================= */
.icon-btn,
.pc-action-btn,
.pc-share-btn,
.pc-like,
.team-icon,
.share-circle,
.floating-btn{
  width:36px;
  height:36px;
  display:flex;
  align-items:center;
  justify-content:center;

 background: var(--brand); /* Dynamic: #000 replaced */
  color:var(--accent);
  border:1px solid var(--accent);
  border-radius:50%;

  cursor:pointer;
  transition:
    background .25s ease,
    color .25s ease,
    transform .2s ease,
    box-shadow .25s ease;
}

/* Hover / Focus */
.icon-btn:hover,
.pc-action-btn:hover,
.pc-share-btn:hover,
.pc-like:hover,
.team-icon:hover,
.share-circle:hover,
.floating-btn:hover,
.icon-btn:focus-visible{
 background: var(--accent);
  color: var(--brand-dark); /* Replaced #000 */
  transform:translateY(-1px);
  box-shadow: 0 6px 14px rgba(var(--brand-dark-rgb), 0.25); /* Dynamic shadow */
}

/* ================= ICON INSIDE ================= */
.pc-action-btn i,
.pc-share-btn i,
.pc-like i,
.team-icon i,
.share-circle i,
.floating-btn i{
  font-size:18px;
  line-height:1;
  pointer-events:none;
}

/* ================= ACTION CONTAINER ================= */
.pc-image{
  position:relative;
}

.pc-actions{
  position:absolute;
  display:flex;
  gap:8px;
  top:12px;
  right:12px;
  z-index:5;
}

/* ================= SAVE / LIKE ================= */
.pc-like{
  position:absolute;
  bottom:10px;
  right:10px;
  z-index:10;
}

/* Active (saved) */
.pc-save.active,
.pc-like.active{
  background: var(--brand-dark); /* Static #000 replaced */
  box-shadow: 0 0 0 2px rgba(var(--accent-rgb), 0.35); /* Dynamic accent glow */
}

.pc-save.active i,
.pc-like.active i{
  color:var(--accent);
}

/* Tiny heart pulse */
.pc-save.active{
  animation:heartPulse .35s ease;
}
@keyframes heartPulse{
  0%{transform:scale(1)}
  50%{transform:scale(1.12)}
  100%{transform:scale(1)}
}

/* ================= SHARE MODAL ================= */
.share-modal{
  position:fixed;
  inset:0;
  background: rgba(var(--brand-dark-rgb), 0.65); /* Dynamic overlay */
  display:none;
  align-items:center;
  justify-content:center;
  z-index:1200;
}

.share-modal.show{
  display:flex;
}

.share-box{
  background: var(--brand-dark); /* Dynamic: #000 replaced */
  border: 1px solid var(--accent);
  padding:22px;
  min-width:260px;
  text-align:center;
  box-shadow: 0 20px 40px rgba(var(--brand-dark-rgb), 0.45);
}

.share-box h4{
  color:var(--accent);
  font-size:13px;
  letter-spacing:.18em;
  margin-bottom:14px;
  text-transform:uppercase;
}

.share-box button{
  width:100%;
  padding:10px;
  margin:6px 0;

  background: var(--brand); /* Static #000 replaced */
  color:var(--accent);
  border:1px solid var(--accent);

  cursor:pointer;
  font-size:11px;
  letter-spacing:.15em;
  text-transform:uppercase;
  transition:.25s ease;
}

.share-box button:hover{
  background:var(--accent);
  color: var(--brand-dark); /* Replaced #000 */
}

/* ================= FLOATING BUTTONS ================= */
.floating-whatsapp,
.floating-up{
  position:fixed;
  right:20px;
  width:46px;
  height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:999;

  border-radius:50%;
  border:1px solid var(--accent);
}

.floating-whatsapp{
  bottom:80px;
  background:#25D366;
  border-color:#25D366;
  color: var(--text-on-dark); /* Replaced #000 for better contrast */
}

.floating-up{
  bottom:20px;
 background: var(--brand); /* Dynamic: #000 replaced */
  color: var(--accent);
}

.floating-up:hover{
  background: var(--accent);
  color: var(--brand-dark); /* Replaced #000 */
}

/* ================= PRICE HOVER ================= */
.pc-price-wrap{
  position:relative;
  font-weight:700;
}

.pc-price-hover{
  position:absolute;
  left:0;
  top:100%;

  background: var(--brand-dark); /* Static #000 replaced */
  color:var(--accent);
  border:1px solid var(--accent);

  padding:6px 8px;
  font-size:.75rem;
  white-space:nowrap;
  display:none;
  z-index:5;
}

.pc-price-wrap:hover .pc-price-hover{
  display:block;
}

/* ================= TEAM ICONS ================= */
.team-icon{
  background: var(--brand-dark); /* Static #000 replaced */
  color:var(--accent);
}

.team-icon:hover{
  background: var(--accent);
  color: var(--brand-dark); /* Replaced #000 */
}
