/* =========================================================
   DigiX Technologies — Premium Polish Layer
   Site-wide enhancement pass. Loaded after each page's own
   inline styles, so it upgrades shared components (buttons,
   cards, section headers, links, scrollbar, motion) without
   touching any page's individual layout or token system.
   ========================================================= */

/* ---------- Smoother global motion ---------- */
* {
  scroll-behavior: smooth;
}

/* ---------- Buttons: deeper depth + shine sweep ---------- */
.btn-glass,
.cta-pill,
.btn-outline,
a.btn-glass,
a.cta-pill {
  position: relative;
  overflow: hidden;
  transition: transform .35s cubic-bezier(.22,1,.36,1),
              box-shadow .35s cubic-bezier(.22,1,.36,1),
              filter .35s ease;
  box-shadow: 0 14px 34px -12px rgba(20,32,87,.38);
}

.btn-glass::before,
.cta-pill::before {
  content: "";
  position: absolute;
  top: 0;
  left: -60%;
  width: 40%;
  height: 100%;
  background: linear-gradient(115deg, transparent, rgba(255,255,255,.35), transparent);
  transform: skewX(-20deg);
  transition: left .6s ease;
  pointer-events: none;
}

.btn-glass:hover,
.cta-pill:hover,
.btn-outline:hover {
  transform: translateY(-3px);
  box-shadow: 0 22px 46px -14px rgba(20,32,87,.48);
  filter: saturate(1.08) brightness(1.03);
}

.btn-glass:hover::before,
.cta-pill:hover::before {
  left: 130%;
}

.btn-glass:active,
.cta-pill:active {
  transform: translateY(-1px) scale(.99);
}

/* ---------- Section headings: subtle accent + weight ---------- */
.section-head h2,
.about-content h2,
.why-content h2,
.contact-info h2 {
  letter-spacing: -.01em;
  text-shadow: 0 1px 0 rgba(255,255,255,.4);
}

.section-head .label,
span.label {
  position: relative;
  padding-left: 22px;
}

.section-head .label::before,
span.label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 14px;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, #22B8F0, #1E5EFF);
}

/* ---------- Cards: lift + richer shadow on hover ---------- */
.featured-card,
.service-card,
.blog-card,
.testimonial-card,
.pricing-card,
.portfolio-card,
[class$="-card"] {
  transition: transform .4s cubic-bezier(.22,1,.36,1),
              box-shadow .4s cubic-bezier(.22,1,.36,1);
}

.featured-card:hover,
.service-card:hover,
.blog-card:hover,
.testimonial-card:hover,
.pricing-card:hover,
.portfolio-card:hover,
[class$="-card"]:hover {
  transform: translateY(-6px);
  box-shadow: 0 28px 60px -20px rgba(20,32,87,.35);
}

/* ---------- Links: refined underline sweep ---------- */
.footer-col ul li a,
.footer-social a {
  transition: color .25s ease, transform .25s ease, box-shadow .25s ease;
}

.footer-social a:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 22px -8px rgba(30,94,255,.5);
}

.footer-col ul li a:hover {
  transform: translateX(3px);
}

/* ---------- Images: gentle zoom inside fixed frames ---------- */
.blog-card img,
.portfolio-card img,
.featured-card img {
  transition: transform .6s cubic-bezier(.22,1,.36,1);
}

.blog-card:hover img,
.portfolio-card:hover img,
.featured-card:hover img {
  transform: scale(1.05);
}

/* ---------- Focus states (accessibility + polish) ---------- */
a:focus-visible,
button:focus-visible {
  outline: 2px solid #22B8F0;
  outline-offset: 3px;
  border-radius: 6px;
}

/* ---------- Scrollbar ---------- */
::-webkit-scrollbar {
  width: 11px;
}
::-webkit-scrollbar-track {
  background: #0A0E27;
}
::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #22B8F0, #1E5EFF);
  border-radius: 10px;
  border: 2px solid #0A0E27;
}
::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #1E5EFF, #1340C4);
}

/* ---------- Reveal-on-scroll refinement ----------
   Most pages already toggle a ".is-visible"/".visible" class via
   IntersectionObserver; this just makes the transition read as
   more premium wherever that pattern exists. Harmless if unused. */
.reveal,
[class*="-reveal"] {
  transition: opacity .7s cubic-bezier(.22,1,.36,1),
              transform .7s cubic-bezier(.22,1,.36,1);
}
