/**
 * Theme Name: Blocksy Child
 * Description: Blocksy Child theme
 * Author: Creative Themes
 * Template: blocksy
 * Text Domain: blocksy
 */

/* Layout fixes — colors are controlled by Customizer */

/* Force Stackable columns to row on desktop */
.stk-wm-svc-icons > .stk-inner-blocks.stk-block-content,
.stk-wm-stats > .stk-inner-blocks.stk-block-content,
.stk-wm-port-r1 > .stk-inner-blocks.stk-block-content,
.stk-wm-port-r2 > .stk-inner-blocks.stk-block-content,
.stk-wm-hero > .stk-inner-blocks.stk-block-content,
.stk-wm-cta > .stk-inner-blocks.stk-block-content {
    flex-direction: row !important;
    flex-wrap: wrap !important;
}
.stk-wm-svc-icons > .stk-inner-blocks > .stk-block-column { flex: 1 1 30% !important; }
.stk-wm-stats > .stk-inner-blocks > .stk-block-column { flex: 1 1 22% !important; }
.stk-wm-port-r1 > .stk-inner-blocks > .stk-block-column,
.stk-wm-port-r2 > .stk-inner-blocks > .stk-block-column { flex: 1 1 30% !important; }
.stk-wm-hero { min-height: 500px !important; display: flex !important; align-items: center !important; justify-content: center !important; }
.stk-wm-hero > .stk-inner-blocks { width: 100%; }
.stk-wm-hero-btns .stk-inner-blocks { display: flex !important; flex-direction: row !important; gap: 16px !important; justify-content: center !important; }
.stk-wm-hero-btns .stk-block-button { flex: 0 0 auto !important; }
.stk-wm-cta > .stk-inner-blocks { width: 100%; }

/* Contact page */
.stk-wm-ct-fields input, .stk-wm-ct-fields select, .stk-wm-ct-fields textarea {
    width: 100% !important; box-sizing: border-box !important;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .stk-wm-svc-icons > .stk-inner-blocks.stk-block-content { flex-direction: column !important; }
    .stk-wm-stats > .stk-inner-blocks.stk-block-content { flex-direction: row !important; flex-wrap: wrap !important; }
    .stk-wm-stats > .stk-inner-blocks > .stk-block-column { flex: 1 1 45% !important; }
    .stk-wm-hero .stk-block-heading__text { font-size: 32px !important; }
    .stk-wm-ct-body > .stk-inner-blocks.stk-block-content { flex-direction: column !important; }
    .stk-wm-ct-form { flex: 1 1 100% !important; width: 100% !important; }
    .stk-wm-ct-info { flex: 1 1 100% !important; width: 100% !important; }
    .stk-wm-svc1 > .stk-inner-blocks.stk-block-content,
    .stk-wm-svc2 > .stk-inner-blocks.stk-block-content,
    .stk-wm-svc3 > .stk-inner-blocks.stk-block-content { flex-direction: column !important; }
    .stk-wm-svc1 > .stk-inner-blocks > .stk-block-column,
    .stk-wm-svc2 > .stk-inner-blocks > .stk-block-column,
    .stk-wm-svc3 > .stk-inner-blocks > .stk-block-column { flex: 1 1 100% !important; }
    .stk-wm-process > .stk-inner-blocks.stk-block-content { flex-wrap: wrap !important; }
    .stk-wm-process > .stk-inner-blocks > .stk-block-column { flex: 1 1 45% !important; }
    .stk-wm-pf-cta > .stk-inner-blocks.stk-block-content { flex-direction: column !important; text-align: center; }
}




/* ===== Scroll reveal animations ===== */
@keyframes wmFadeUp {
  from { opacity: 0; transform: translateY(40px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes wmFadeScale {
  from { opacity: 0; transform: scale(0.85) translateY(30px); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}
.wm-reveal {
  opacity: 0;
  transform: translateY(40px);
}
.wm-reveal.wm-visible {
  animation: wmFadeUp 0.7s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.wm-reveal-scale {
  opacity: 0;
  transform: scale(0.85) translateY(30px);
}
.wm-reveal-scale.wm-visible {
  animation: wmFadeScale 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
/* Stagger children */
.wm-stagger > * { opacity: 0; }
.wm-stagger.wm-visible > * {
  animation: wmFadeUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.wm-stagger.wm-visible > *:nth-child(1) { animation-delay: 0s; }
.wm-stagger.wm-visible > *:nth-child(2) { animation-delay: 0.12s; }
.wm-stagger.wm-visible > *:nth-child(3) { animation-delay: 0.24s; }
.wm-stagger.wm-visible > *:nth-child(4) { animation-delay: 0.36s; }
.wm-stagger.wm-visible > *:nth-child(5) { animation-delay: 0.48s; }
.wm-stagger.wm-visible > *:nth-child(6) { animation-delay: 0.6s; }

/* Portfolio image reveals */
.wm-port-grid .wm-img-reveal {
  opacity: 0;
  transform: translateY(30px) scale(0.95);
  transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  display: inline-block;
  width: 100%;
  margin-bottom: 16px;
  break-inside: avoid;
}
.wm-port-grid .wm-img-reveal.wm-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.wm-port-grid .wm-img-reveal img {
  width: 100%;
  border-radius: 12px;
  display: block;
}

/* ===== Header & UI overrides ===== */
/* Hamburger trigger - blue */
.ct-header-trigger svg,
.ct-header-trigger svg line {
  color: #2D7DD2 !important;
  stroke: #2D7DD2 !important;
}
/* Footer text navy on white */
footer, footer p, footer span, footer a, footer li,
footer .ct-widget, footer .ct-widget p, footer .ct-widget a,
[data-footer], [data-footer] p, [data-footer] a, [data-footer] span,
.ct-footer [class*="ct-container"] { color: #1B2A4A !important; }
footer a:hover, [data-footer] a:hover { color: #2D7DD2 !important; }

/* Hero text white overrides */
.wm-hero p,
.wm-hero .wm-btn-outline,
.wm-hero .wm-btn-primary,
.wm-hero a {
  color: #ffffff !important;
}
.wm-hero .wm-btn-outline {
  border-color: #ffffff !important;
  background: transparent !important;
}

/* ===== Subpage layout: sticky header + flush content ===== */
body:not(.home) header.ct-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 99999 !important;
}
body:not(.home) .hero-section {
  display: none !important;
}
body:not(.home) .ct-container-full[data-vertical-spacing] {
  padding-top: 0 !important;
}
body:not(.home) .entry-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
body:not(.home) .site-main {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
