/*
Theme Name: digithreemedia.com
Theme URI: https://digithreemedia.com
Description: Standalone Elementor-ready WordPress theme for digithreemedia.com. Includes a visible admin setup screen for creating site pages, SEO metadata, navigation and homepage.
Author: digithreemedia.com
Version: 1.0.2
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: digithreemedia-theme
*/

:root { --dgm-ink:#17233B; --dgm-muted:#536078; --dgm-accent:#5C58E8; --dgm-mint:#56C8B1; }
html { scroll-behavior:smooth; }
body { color:var(--dgm-ink); }
a { transition:color .2s ease, background-color .2s ease; }
.dgm-skip-link { position:absolute; left:-9999px; top:8px; z-index:100000; background:#fff; padding:12px 16px; border-radius:8px; }
.dgm-skip-link:focus { left:8px; }
.dgm-site-header { position:relative; z-index:1000; background:rgba(255,255,255,.96); border-bottom:1px solid #ECEEF4; }
.dgm-header-inner { max-width:1200px; min-height:78px; margin:auto; padding:0 24px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.dgm-brand { color:var(--dgm-ink); font-size:20px; font-weight:800; letter-spacing:-.04em; text-decoration:none; }
.dgm-brand img { display:block; max-height:52px; width:auto; }
.dgm-brand span { color:var(--dgm-accent); }
.dgm-nav ul { display:flex; align-items:center; gap:24px; list-style:none; margin:0; padding:0; }
.dgm-nav a { color:var(--dgm-ink); font-size:14px; font-weight:600; text-decoration:none; }
.dgm-nav a:hover,.dgm-nav .current-menu-item>a { color:var(--dgm-accent); }
.dgm-nav .sub-menu { display:none; position:absolute; min-width:250px; max-height:70vh; overflow:auto; padding:12px; background:#fff; border:1px solid #ECEEF4; border-radius:16px; box-shadow:0 18px 50px rgba(23,35,59,.12); }
.dgm-nav li:hover>.sub-menu,.dgm-nav li:focus-within>.sub-menu { display:block; }
.dgm-nav .sub-menu li { padding:9px 8px; }
.dgm-nav-toggle { display:none; border:1px solid #D9DDEA; border-radius:999px; padding:10px 14px; background:#fff; color:var(--dgm-ink); font:inherit; font-weight:700; }
.dgm-header-cta { border-radius:999px; padding:12px 18px; background:var(--dgm-accent); color:#fff; text-decoration:none; font-weight:700; font-size:14px; }
.dgm-site-footer { margin-top:64px; background:#17233B; color:#fff; }
.dgm-footer-inner { max-width:1200px; margin:auto; padding:56px 24px 28px; }
.dgm-footer-top { display:flex; align-items:flex-start; justify-content:space-between; gap:32px; padding-bottom:32px; }
.dgm-footer-top p { max-width:500px; color:#D9DDEA; }
.dgm-footer-brand { color:#fff; font-size:22px; font-weight:800; text-decoration:none; }
.dgm-footer-nav ul { display:flex; flex-wrap:wrap; gap:12px 20px; list-style:none; margin:0; padding:0; }
.dgm-footer-nav a { color:#E7E8F2; text-decoration:none; font-size:14px; }
.dgm-footer-bottom { border-top:1px solid rgba(255,255,255,.18); padding-top:20px; color:#C6CCDA; font-size:13px; }
.dgm-content-fallback { max-width:1160px; margin:0 auto; padding:60px 24px; }
.dgm-contact-form { display:grid; gap:16px; max-width:700px; }
.dgm-contact-form label { display:grid; gap:7px; color:var(--dgm-ink); font-weight:600; }
.dgm-contact-form input,.dgm-contact-form select,.dgm-contact-form textarea { width:100%; box-sizing:border-box; border:1px solid #D9DDEA; border-radius:12px; padding:13px 15px; background:#fff; color:var(--dgm-ink); font:inherit; }
.dgm-contact-form button { justify-self:start; border:0; border-radius:999px; padding:14px 24px; background:var(--dgm-accent); color:#fff; font:inherit; font-weight:700; cursor:pointer; }
.dgm-contact-form button:hover { background:#3530B4; }
.dgm-form-status,.dgm-form-error { padding:12px 16px; border-radius:12px; }
.dgm-form-status { background:#EAF8F5; } .dgm-form-error { background:#FFF0EE; }
.dgm-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.dgm-scroll-progress { position:fixed; z-index:999999; top:0; left:0; width:100%; height:3px; transform:scaleX(0); transform-origin:left; background:linear-gradient(90deg,var(--dgm-accent),var(--dgm-mint)); pointer-events:none; }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .dgm-reveal { animation:none!important; transition:none!important; } }
@media (max-width:980px) {
 .dgm-nav-toggle { display:inline-flex; }
 .dgm-nav { display:none; position:absolute; left:16px; right:16px; top:calc(100% - 2px); padding:18px; background:#fff; border:1px solid #ECEEF4; border-radius:18px; box-shadow:0 18px 50px rgba(23,35,59,.12); }
 .dgm-nav.is-open { display:block; }
 .dgm-nav ul { align-items:stretch; flex-direction:column; gap:0; }
 .dgm-nav a { display:block; padding:12px 8px; }
 .dgm-nav .sub-menu { display:block; position:static; max-height:none; overflow:visible; padding:0 0 0 14px; border:0; box-shadow:none; }
 .dgm-header-cta { display:none; }
}
@media (max-width:640px) { .dgm-footer-top { flex-direction:column; } .dgm-header-inner { min-height:68px; } }
