/*
   LNK_DT Lucide Icons Overrides
   Styles for the official Lucide Vanilla JS integration.
*/

.lucide {
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  stroke-width: 2px;
  stroke: currentColor;
  fill: none;
  vertical-align: middle;
  flex-shrink: 0;
}

.mobile-tab-bar .lucide { width:24px; height:24px; margin-bottom:4px; }
.footer-social .lucide, .social-grid .lucide { width:20px; height:20px; }
.contact-icon.lucide { width:24px; height:24px; color:var(--teal); }
.service-card .lucide { display:block; width:32px; height:32px; color:var(--teal); margin:0 auto 12px; transition:transform .3s cubic-bezier(.175,.885,.32,1.275); }
.service-card:hover .lucide { transform:scale(1.1); }
.service-card.active .lucide { transform:scale(1.15); }
.admin-promo-icon .lucide { width:28px; height:28px; color:var(--teal); }
.admin-promo-label .lucide { width:18px; height:18px; margin-right:8px; }
svg.bi,.lc-icon { background:none !important; -webkit-mask:none !important; mask:none !important; }

.brand-icon { display:inline-block; width:20px; height:20px; fill:currentColor; vertical-align:middle; flex-shrink:0; transition:transform .2s ease; }
.social-link:hover .brand-icon,.contact-social-links a:hover .brand-icon { transform:scale(1.1); }

/* CROSS-PAGE BUTTON REGRESSION GUARDS */
.portfolio-empty-cta-btn:hover { background:var(--coral); color:var(--cream); transform:translateY(-2px); }

/* Global catalogue FAB — single canonical definition. */
.lnk-wa-fab {
  position:fixed !important;
  inset:auto max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) auto !important;
  z-index:2147483000 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:56px !important;
  height:56px !important;
  min-width:56px !important;
  min-height:56px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:50% !important;
  background:var(--dark) !important;
  color:var(--cream) !important;
  text-decoration:none !important;
  box-shadow:0 6px 18px rgba(0,26,23,.28) !important;
  transform:none;
  float:none !important;
}
.lnk-wa-fab:hover { transform:translateY(-3px) scale(1.05); background:var(--teal) !important; }
.lnk-wa-fab .lnk-wa-pulse {
  position:absolute !important;
  inset:-6px !important;
  border-radius:50%;
  border:2px solid var(--teal);
  pointer-events:none;
  opacity:0;
  animation:lnk-wa-pulse 2.4s ease-out infinite;
}

/* Deterministic icon fallback: avoids a blank FAB if Lucide initializes late. */
.lnk-wa-fab::after {
  content:"" !important;
  display:block !important;
  width:26px !important;
  height:26px !important;
  flex:none !important;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFF9F0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10h18'/%3E%3Cpath d='M5 10v10h14V10'/%3E%3Cpath d='m3 10 2-6h14l2 6'/%3E%3Cpath d='M8 10v2a4 4 0 0 0 8 0v-2'/%3E%3C/svg%3E") center/contain no-repeat !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:none !important;
}
.lnk-wa-fab > svg,
.lnk-wa-fab > .lucide,
.lnk-wa-fab > i[data-lucide] {
  position:absolute !important;
  width:26px !important;
  height:26px !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

@media(max-width:760px){
  .lnk-wa-fab {
    inset:auto max(16px,env(safe-area-inset-right)) max(92px,calc(68px + env(safe-area-inset-bottom))) auto !important;
    width:52px !important;
    height:52px !important;
    min-width:52px !important;
    min-height:52px !important;
  }
}
@media(max-width:480px){
  .lnk-wa-fab { width:50px !important; height:50px !important; min-width:50px !important; min-height:50px !important; }
  .lnk-wa-fab::after { width:24px !important; height:24px !important; }
}
@media(prefers-reduced-motion:reduce){ .lnk-wa-fab { transition:none; } }

@keyframes lnk-wa-pulse { 0%{transform:scale(.9);opacity:.55} 100%{transform:scale(1.25);opacity:0} }

/* Rebuild trigger: canonical FAB source is part of the stable core bundle. */
