@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;900&family=Space+Grotesk:wght@700;900&display=swap');
/*
Theme Name: DaCosta Consulting (Light, v1.1)
Theme URI: https://dacostaconsulting.ca
Author: DaCosta Consulting
Description: Clean, Elementor-first theme. Improved mobile header, no default page padding, and utility classes for tighter heroes.
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU GPL v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dacosta
Tags: elementor, minimal, responsive, full-width, custom-logo
*/

:root {
  --dc-bg: #F7F8FA;
  --dc-surface: #FFFFFF;
  --dc-text: #0F172A;
  --dc-muted: #6B7280;
  --dc-border: #E5E7EB;
  --dc-accent: #2563EB;
  --dc-accent-2: #8B5CF6;
  --dc-radius: 16px;
  --dc-container: 1200px;
  --dc-font: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{overflow-x:hidden}
body{
  margin:0;background:var(--dc-bg);color:var(--dc-text);font-family: "Inter", sans-serif;line-height:1.6;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--dc-accent);text-decoration:none}
a:hover{opacity:.92}

.container{max-width:var(--dc-container);margin:0 auto;padding:clamp(14px,3vw,24px)}
.card{background:var(--dc-surface);border:1px solid var(--dc-border);border-radius:var(--dc-radius);padding:clamp(14px,2.6vw,22px)}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:transparent;border-bottom:1px solid transparent;transition: background .25s ease, border-color .25s ease, box-shadow .25s ease}
.site-header.is-solid{background:var(--dc-surface);border-bottom-color:var(--dc-border);box-shadow: 0 6px 18px rgba(2,6,23,.06)}
.header-inner{display:flex;align-items:center;gap:18px;justify-content:space-between;padding:12px 0}
.brand{display:flex;align-items:center;gap:10px}
.brand__title{font-weight:750;font-size:clamp(18px,2.2vw,22px);letter-spacing:.2px}

.nav-toggle{display:none;align-items:center;justify-content:center;width:42px;height:42px;border-radius:10px;border:1px solid var(--dc-border);background:#fff}
.nav-toggle span{display:block;width:18px;height:2px;background:#111;border-radius:2px;position:relative}
.nav-toggle span:before,.nav-toggle span:after{content:"";position:absolute;left:0;width:18px;height:2px;background:#111;border-radius:2px}
.nav-toggle span:before{top:-6px}.nav-toggle span:after{top:6px}

.primary-nav{display:flex;gap:10px;flex-wrap:wrap}
.primary-nav ul{display:flex;gap:10px;margin:0;padding:0;list-style:none}
.primary-nav a{padding:10px 14px;border-radius:999px;color:var(--dc-text)}
.primary-nav a.is-active{background:var(--dc-bg)}

/* Mobile nav */
@media (max-width: 767px){
  .header-inner{padding:10px 16px}
  .brand__title{font-size:18px}
  .nav-toggle{display:flex}
  .primary-nav{position:absolute;left:0;right:0;top:100%;display:none}
  .site-header.is-open .primary-nav{display:block}
  .primary-nav ul{flex-direction:column;background:var(--dc-surface);border-top:1px solid var(--dc-border);box-shadow:0 10px 24px rgba(2,6,23,.08)}
  .primary-nav a{padding:14px 18px}
}

/* Footer */
.site-footer{background:var(--dc-surface);border-top:1px solid var(--dc-border);color:#334155}
.footer-inner{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:18px 0}

/* Buttons */
.button,.wp-element-button,.wp-block-button__link{display:inline-block;padding:12px 18px;border-radius:999px;background:var(--dc-accent);color:#fff;font-weight:700;border:1px solid color-mix(in oklab, var(--dc-accent), black 10%);box-shadow:0 6px 18px rgba(37,99,235,.15)}
.button--alt{background:linear-gradient(90deg,var(--dc-accent),var(--dc-accent-2));color:#fff}
.button--ghost{background:transparent;border:1px solid var(--dc-border);color:var(--dc-text)}
.button:hover{transform:translateY(-1px);transition:transform .15s ease}
.magnetic{will-change:transform;transition:transform .15s ease}

/* Content wrapper: default NO padding (Elementor controls spacing) */
.site-content{padding:0}

/* Optional helpers */
.with-padding .site-content{padding:clamp(10px,2.2vw,18px) 0}
.no-margin .site-content{padding:0}

/* Forms, tables */
input,select,textarea{background:#fff;border:1px solid var(--dc-border);color:var(--dc-text);border-radius:12px;padding:10px 12px}
input::placeholder,textarea::placeholder{color:#9CA3AF}
table{width:100%;border-collapse:collapse;background:var(--dc-surface)}
td,th{padding:10px;border-bottom:1px solid var(--dc-border)}

/* Reveal & progress bar */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .5s ease, transform .6s ease}
.reveal.is-visible{opacity:1;transform:none}
.reveal.delay-1{transition-delay:.08s}.reveal.delay-2{transition-delay:.16s}.reveal.delay-3{transition-delay:.24s}
.dc-scrollbar{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:left center;transform:scaleX(0);background:linear-gradient(90deg,var(--dc-accent),var(--dc-accent-2));z-index:9999}

/* Hero mobile alignment utilities */
@media (max-width: 767px){
  .dc-hero-light .elementor-container{align-items:flex-start}
  .dc-hero-light .elementor-widget-wrap{align-items:flex-start !important}
  .dc-hero-light .elementor-widget{text-align:left}
  .dc-hero-light{padding-left:20px !important;padding-right:20px !important}
}

/* Remove accidental hover fill on headings */
.elementor-widget-heading:hover,
.elementor-widget-heading .elementor-heading-title:hover{background:transparent !important;box-shadow:none !important}
