/* Samskruthi Properties - UI/UX enhancements */

/* Icon sprite defaults */
.sp-icon { width: 40px; height: 40px; stroke: var(--ast-global-color-0); fill: none; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; margin-bottom: 14px; display: inline-block; transition: transform .35s ease; }
.sp-icon-wrap { display:inline-flex; align-items:center; justify-content:center; width:64px; height:64px; border-radius: 50%; background: rgba(184,134,59,0.1); margin-bottom: 16px; }
.sp-icon-wrap .sp-icon { margin-bottom: 0; }

/* Scroll reveal */
.sp-reveal { opacity: 0; transform: translateY(28px); transition: opacity .7s cubic-bezier(.22,.61,.36,1), transform .7s cubic-bezier(.22,.61,.36,1); }
.sp-reveal.sp-visible { opacity: 1; transform: translateY(0); }
.sp-reveal-1 { transition-delay: .08s; }
.sp-reveal-2 { transition-delay: .16s; }
.sp-reveal-3 { transition-delay: .24s; }
.sp-reveal-4 { transition-delay: .32s; }
.sp-reveal-5 { transition-delay: .4s; }
.sp-reveal-6 { transition-delay: .48s; }

@media (prefers-reduced-motion: reduce) {
  .sp-reveal { opacity: 1; transform: none; transition: none; }
}

/* Card hover lift */
.wp-block-column.has-background,
.sp-card {
  transition: transform .35s ease, box-shadow .35s ease;
}
.wp-block-column.has-background:hover,
.sp-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px -18px rgba(20,16,6,0.35);
}
.wp-block-column.has-background:hover .sp-icon,
.sp-card:hover .sp-icon {
  transform: scale(1.12) rotate(-4deg);
}

/* Project image hover zoom */
.wp-block-image { overflow: hidden; border-radius: 6px; }
.wp-block-image img { transition: transform .6s cubic-bezier(.22,.61,.36,1); }
.wp-block-image:hover img { transform: scale(1.06); }

/* Buttons */
.wp-block-button__link { transition: transform .25s ease, box-shadow .25s ease, opacity .25s ease; }
.wp-block-button__link:hover { transform: translateY(-3px); box-shadow: 0 12px 24px -10px rgba(20,16,6,0.4); opacity: .95; }

/* Sticky header */
#masthead.sp-stuck { box-shadow: 0 4px 20px rgba(20,16,6,0.08); }
#masthead { transition: box-shadow .3s ease; }

/* Stats counter */
.sp-stats { display: flex; flex-wrap: wrap; gap: 2rem; justify-content: center; text-align: center; }
.sp-stat { min-width: 160px; }
.sp-stat-num { font-size: 2.6rem; font-weight: 700; color: var(--ast-global-color-0); line-height: 1; font-family: var(--ast-heading-font-family, inherit); }
.sp-stat-label { margin-top: .5rem; font-size: .95rem; letter-spacing: .5px; text-transform: uppercase; opacity: .85; }

/* Back to top */
#sp-to-top {
  position: fixed; right: 22px; bottom: 22px; width: 46px; height: 46px; border-radius: 50%;
  background: var(--ast-global-color-0); color: #fff; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 10px 24px -8px rgba(20,16,6,0.5); opacity: 0; visibility: hidden; transform: translateY(12px);
  transition: opacity .3s ease, transform .3s ease, visibility .3s;
  z-index: 999; cursor: pointer; border: none;
}
#sp-to-top.sp-show { opacity: 1; visibility: visible; transform: translateY(0); }
#sp-to-top svg { width: 20px; height: 20px; stroke: #fff; fill: none; stroke-width: 2; }
#sp-to-top:hover { filter: brightness(1.1); transform: translateY(-3px); }

/* Divider accent under section headings that carry .sp-underline */
.sp-underline { position: relative; padding-bottom: .6rem; }
.sp-underline::after {
  content: ""; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%);
  width: 56px; height: 3px; background: var(--ast-global-color-0); border-radius: 2px;
}

/* Smooth anchor scroll */
html { scroll-behavior: smooth; }

/* Footer credit line */
.sp-credit { opacity: .75; font-size: .85rem; }
.sp-credit a { color: inherit; text-decoration: underline; }

/* Land->Development->Construction->Value flow infographic */
.sp-flow-mobile-row { display: flex; align-items: center; gap: 1rem; padding: .85rem 0; border-bottom: 1px solid var(--ast-global-color-6); }
.sp-flow-mobile-row:last-child { border-bottom: none; }
.sp-flow-mobile-row strong { color: var(--ast-global-color-2); font-size: 1.05rem; }
.sp-flow-sub { color: var(--ast-global-color-3); font-size: .88rem; }

@media (max-width: 640px) {
  .sp-flow-desktop { display: none !important; }
  .sp-flow-mobile { display: block !important; }
}
