/*
Theme Name: MotoSoft
Theme URI: https://www.motosoft.fi
Author: MotoSoft Oy
Description: MotoSoft ERP marketing site theme. Dark navy hero, light/dark mode, EU funding disclosure. Block theme for the WordPress Site Editor.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
Text Domain: motosoft
*/

:root{--ms-bg:#f7f8fa;--ms-surface:#ffffff;--ms-text:#111827;--ms-muted:#5b6472;--ms-border:#e5e8ee;--ms-accent:#2563eb;--ms-accent-strong:#1d4ed8;--ms-accent-soft:#eaf1fe;--ms-navy-1:#0a1322;--ms-navy-2:#102544;--ms-navy-3:#17335f;--ms-on-navy:#e8eef7;--ms-on-navy-muted:#9db1cf;--ms-shadow-sm:0 1px 2px rgba(16,24,40,.08);--ms-shadow-md:0 6px 20px rgba(16,24,40,.10);--ms-shadow-lg:0 18px 44px rgba(16,24,40,.16)}
html.dark{--ms-bg:#0f1115;--ms-surface:#171a20;--ms-text:#edf0f5;--ms-muted:#9aa4b2;--ms-border:#272c35;--ms-accent:#4f83f7;--ms-accent-strong:#6b96f8;--ms-accent-soft:#1a2540;--ms-shadow-sm:0 1px 2px rgba(0,0,0,.4);--ms-shadow-md:0 6px 20px rgba(0,0,0,.45);--ms-shadow-lg:0 18px 44px rgba(0,0,0,.55)}

body{margin:0;background:var(--ms-bg);color:var(--ms-text);font-family:'Barlow',system-ui,sans-serif;font-size:15.5px;line-height:1.6}
h1,h2,h3,h4{font-family:'Barlow Condensed',system-ui,sans-serif;font-weight:600;line-height:1.1;letter-spacing:-.01em}
a{color:var(--ms-accent);text-decoration:none}
a:hover{color:var(--ms-accent-strong)}
:focus-visible{outline:2px solid var(--ms-accent);outline-offset:2px}
.ms-dark-only{display:none!important}
html.dark .ms-dark-only{display:inline-block!important}
html.dark .ms-light-only{display:none!important}
html[data-lang="en"] .lang-fi{display:none!important}
html:not([data-lang="en"]) .lang-en{display:none!important}

/* Header */
.ms-header{display:flex;flex-wrap:wrap;row-gap:10px;align-items:center;justify-content:space-between;gap:20px;padding:14px 44px;background:var(--ms-surface);border-bottom:1px solid var(--ms-border);position:relative;z-index:5}
.ms-header .ms-logo img{height:44px;width:auto;display:block}
.ms-header nav{display:flex;flex-wrap:wrap;min-width:0;gap:4px;font-size:14.5px}
.ms-header nav a{padding:8px 11px;border-radius:7px;color:var(--ms-text)}
.ms-header nav a:hover,.ms-header nav a[aria-current]{background:var(--ms-accent-soft);color:var(--ms-accent)}
.ms-header nav a[aria-current]{font-weight:600}
.ms-controls{display:flex;align-items:center;gap:10px}
.ms-menu-toggle{display:none;background:none;border:1px solid var(--ms-border);border-radius:7px;padding:8px 11px;cursor:pointer;color:var(--ms-text);font-size:16px;line-height:1}
.ms-menu-toggle:hover{background:var(--ms-accent-soft)}
@media (max-width:1023px){
.ms-menu-toggle{display:inline-flex}
.ms-header nav{display:none;flex-basis:100%;order:10;flex-direction:column;gap:2px;padding:10px 0 4px;border-top:1px solid var(--ms-border);margin-top:10px}
.ms-header nav a{padding:11px 12px;font-size:15.5px}
.ms-header.ms-menu-open nav{display:flex}
}
.ms-chipbtn{font-family:'Barlow',sans-serif;font-size:12.5px;letter-spacing:.06em;white-space:nowrap;background:none;border:1px solid var(--ms-border);border-radius:7px;padding:8px 10px;cursor:pointer;color:var(--ms-text)}
.ms-chipbtn:hover{background:var(--ms-accent-soft)}
.ms-btn,.wp-block-button__link{display:inline-block;font-size:14.5px;padding:11px 22px;background:var(--ms-accent);color:#fff!important;border:none;border-radius:10px;font-weight:500;cursor:pointer}
.ms-btn:hover,.wp-block-button__link:hover{background:var(--ms-accent-strong);color:#fff}
.ms-btn-outline,.is-style-outline .wp-block-button__link{background:none;border:1px solid var(--ms-border);color:var(--ms-text)!important}
.ms-btn-outline:hover,.is-style-outline .wp-block-button__link:hover{background:var(--ms-accent-soft)}
.ms-hero .is-style-outline .wp-block-button__link{border-color:rgba(255,255,255,.25);color:#fff!important}
.ms-hero .is-style-outline .wp-block-button__link:hover{background:rgba(255,255,255,.08)}

/* Hero + title band */
.ms-hero{background:linear-gradient(160deg,var(--ms-navy-1) 0%,var(--ms-navy-2) 55%,var(--ms-navy-3) 100%);color:var(--ms-on-navy);padding:80px 44px 96px}
.ms-hero h1,.ms-band h1,.ms-hero h2,.ms-band h2{color:#fff}
.ms-hero .ms-sub,.ms-band .ms-sub{color:var(--ms-on-navy-muted)}
.ms-badge{display:inline-block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#9db9ea;background:rgba(255,255,255,.07);border-radius:999px;padding:6px 14px}
.ms-band{background:linear-gradient(150deg,var(--ms-navy-1),var(--ms-navy-2));color:#fff;padding:52px 44px}
.ms-band h1{font-size:clamp(32px,5vw,44px);margin:0 0 8px}

/* Cards */
.ms-card{background:var(--ms-surface);border:1px solid var(--ms-border);border-radius:12px;padding:26px;box-shadow:var(--ms-shadow-sm)}
a.ms-card{display:block;color:var(--ms-text)}
a.ms-card:hover{box-shadow:var(--ms-shadow-md);border-color:var(--ms-accent);color:var(--ms-text)}
.ms-kicker{width:38px;height:38px;border-radius:9px;background:var(--ms-accent-soft);color:var(--ms-accent);display:flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:15px;margin-bottom:14px}
.ms-muted{color:var(--ms-muted)}
.ms-navy-panel{background:linear-gradient(150deg,var(--ms-navy-1),var(--ms-navy-2));color:#fff;border-radius:16px;padding:46px 52px}
.ms-navy-panel h2{color:#fff}
.ms-eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ms-accent)}
.ms-navy-panel .ms-eyebrow{color:#8fb0e8}

/* Forms (Contact Form 7 friendly) */
.ms-form input[type=text],.ms-form input[type=email],.ms-form input[type=tel],.ms-form input[type=datetime-local],.ms-form select,.ms-form textarea,
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 input[type=datetime-local],.wpcf7 select,.wpcf7 textarea{width:100%;box-sizing:border-box;font-family:'Barlow',sans-serif;font-size:14.5px;padding:11px 12px;border:1px solid var(--ms-border);border-radius:8px;background:var(--ms-bg);color:var(--ms-text)}
.ms-form label,.wpcf7 label{display:block;font-size:13.5px;font-weight:500;margin-bottom:6px}
.wpcf7 .wpcf7-submit{width:auto;font-size:15px;font-weight:500;padding:12px 26px;background:var(--ms-accent);border:none;border-radius:10px;color:#fff;cursor:pointer}
.wpcf7 .wpcf7-submit:hover{background:var(--ms-accent-strong)}

/* Footer */
.ms-footer{background:var(--ms-surface);border-top:1px solid var(--ms-border);padding:44px 44px 34px;font-size:13.5px}
.ms-footer .ms-logo img{height:40px;width:auto}
.ms-footer-grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.ms-footer-col a{display:block;color:var(--ms-text);margin-bottom:8px;font-size:14px}
.ms-footer-head{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ms-muted);margin-bottom:12px}
.ms-eu-strip{max-width:1240px;margin:30px auto 0;padding-top:22px;border-top:1px solid var(--ms-border);display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.ms-eu-strip .ms-eu-plate{background:#fff;border:1px solid var(--ms-border);border-radius:6px;padding:6px 10px;display:inline-flex}
.ms-eu-strip img{height:36px;display:block}
.ms-legal{max-width:1240px;margin:22px auto 0;padding-top:18px;border-top:1px solid var(--ms-border);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--ms-muted)}
.ms-legal a{color:var(--ms-muted)}

/* Cookie banner */
.ms-cookie{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:50;width:min(760px,calc(100vw - 40px));background:var(--ms-surface);border:1px solid var(--ms-border);border-radius:14px;box-shadow:var(--ms-shadow-lg);padding:18px 22px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.ms-cookie[hidden]{display:none}
.ms-cookie .ms-cookie-text{flex:1;min-width:260px}
.ms-cookie h4{margin:0 0 3px;font-size:14.5px;font-family:'Barlow',sans-serif;font-weight:600}
.ms-cookie p{margin:0;font-size:13px;color:var(--ms-muted)}

/* Layout helpers */
.ms-wrap{max-width:1240px;margin:0 auto}
.ms-section{padding:64px 44px}
@media (max-width:781px){.ms-hero{padding:56px 24px 64px}.ms-band,.ms-section{padding-left:24px;padding-right:24px}.ms-header{padding:12px 20px}.ms-footer-grid{grid-template-columns:1fr}}
