/*
Theme Name: Simple Systems
Theme URI: https://simplesys.dev/
Author: Simple Systems
Author URI: https://simplesys.dev/
Description: A focused, responsive block theme for Simple ITAM and Simple Monitor. Free software downloads with optional community support. Edit content and links in the WordPress Site Editor.
Version: 1.0.3
Requires at least: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: simple-systems
Tags: block-patterns, full-site-editing, custom-colors, custom-logo, wide-blocks
*/

html { scroll-behavior: smooth; scroll-padding-top: 32px; }
body { -webkit-font-smoothing: antialiased; }
* { box-sizing: border-box; }
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * + *, .site-main > * + * { margin-block-start: 0; }
a { text-underline-offset: 4px; }
a:hover { text-decoration: underline; }
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, [tabindex]:focus-visible { outline: 3px solid #8bbdff; outline-offset: 5px; }
.skip-link { position:absolute; left:16px; top:-100px; z-index:1000; background:#6de5bd; color:#09251b; padding:12px 20px; border-radius:6px; }
.skip-link:focus { top:16px; }
.section-shell, .site-header-inner, .site-footer-inner { width: min(1200px, 100%); max-width:1200px !important; margin-left:auto !important; margin-right:auto !important; }
.site-main, .site-header, .site-footer { max-width: none !important; }
.site-main { margin-top: 0 !important; }
.site-header { border-bottom:1px solid #1d2a37; padding:25px 0; }
.site-header-inner { display:flex; justify-content:space-between; align-items:center; gap:28px; }
.brand p, .site-header p { margin:0; }
.brand-link { display:flex; gap:13px; align-items:center; color:#edf3f8; font-weight:650; font-size:17px; line-height:1.3; letter-spacing:-.03em; }
.brand-link:hover { text-decoration:none; }
.brand-domain { display:block; color:#7e90a3; font-size:11px; letter-spacing:.09em; font-weight:400; margin-top:4px; }
.brand-icon { display:flex; align-items:center; justify-content:center; flex-shrink:0; width:39px; height:39px; border:1px solid #477f6e; background:#11291f; border-radius:9px; font-size:30px; font-weight:700; line-height:1; padding-bottom:5px; color:#6de5bd; }
.brand-icon span { color:#edf3f8; }
.site-navigation { margin-top:0 !important; }
.site-navigation .wp-block-navigation__container { gap:30px; }
.nav-support { color:#6de5bd; }
.site-navigation .wp-block-navigation__responsive-container.is-menu-open { background:#0b1017; color:#edf3f8; padding:32px; }
.site-navigation .wp-block-navigation__responsive-container-open, .site-navigation .wp-block-navigation__responsive-container-close { color:#edf3f8; }
.hero { padding-top:92px; padding-bottom:80px; }
.hero-columns { gap:55px; align-items:center !important; }
.hero-copy { max-width:650px; }
.eyebrow { font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace; color:#6de5bd; font-size:10px; font-weight:500; line-height:1.6; letter-spacing:.14em; margin-bottom:22px; }
.hero-eyebrow { display:flex; align-items:center; gap:10px; font-size:10px; letter-spacing:.09em; }
.status-dot { display:inline-block; width:6px; height:6px; border-radius:50%; background:#6de5bd; flex-shrink:0; box-shadow:0 0 12px #6de5bd55; }
.hero-title { font-size:clamp(44px,5.6vw,76px); line-height:1.03; font-weight:650; letter-spacing:-.055em; margin:0 0 25px; }
.accent { color:#6de5bd; }
.hero-description { font-size:17px; line-height:1.75; color:#a6b4c4; max-width:480px; margin-bottom:30px; }
.hero .wp-block-buttons { gap:13px; }
.hero .wp-block-button__link span { margin-left:10px; }
.wp-block-button__link { transition:background-color .15s ease, color .15s ease; text-decoration:none; }
.wp-block-button__link[href]:hover { background:#9bf3d4; color:#09251b; text-decoration:none; }
.wp-block-button.is-style-outline .wp-block-button__link { border:1px solid #344250; background:transparent; color:#d5e0eb; padding:13px 21px; }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background:#17232f; color:#fff; }
.hero-footnote { margin-top:20px; margin-bottom:0; color:#8294a7; font-size:11px; }
.system-art { height:368px; position:relative; overflow:hidden; border:1px solid #20303c; border-radius:14px; background:radial-gradient(ellipse at 50% 50%,#17362e55,transparent 65%),#0d151e; }
.art-grid { position:absolute; inset:0; background-image:linear-gradient(#22334244 1px,transparent 1px),linear-gradient(90deg,#22334244 1px,transparent 1px); background-size:26px 26px; mask-image:radial-gradient(ellipse,black,transparent 85%); }
.art-label, .art-bottom { position:absolute; font-family:Consolas,monospace; letter-spacing:.12em; font-size:9px; color:#7d94a5; left:0; width:100%; text-align:center; }
.art-label { top:23px; }
.art-bottom { bottom:23px; font-size:8px; }
.art-bottom .status-dot { margin-right:6px; height:5px; width:5px; }
.art-node { position:absolute; display:flex; align-items:center; gap:13px; left:50%; transform:translateX(-50%); width:270px; height:66px; background:#14202a; border:1px solid #355347; box-shadow:0 12px 24px #0003; border-radius:9px; padding:12px 15px; font-size:14px; font-weight:600; }
.art-itam { top:66px; }
.art-monitor { bottom:62px; border-color:#2e4968; }
.art-node small { display:block; font-family:Consolas,monospace; font-weight:400; font-size:8px; letter-spacing:.1em; color:#8fa2b5; margin-top:2px; }
.art-node b { margin-left:auto; color:#637a8c; font-family:Consolas,monospace; font-size:10px; font-weight:400; }
.node-icon { display:grid; place-items:center; width:33px; height:33px; border-radius:5px; background:#1b3b31; color:#6de5bd; font-size:24px; }
.art-monitor .node-icon { background:#1d3149; color:#8bbdff; }
.art-core { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:57px; height:57px; border:1px solid #507564; border-radius:12px; background:#13291f; display:grid; place-items:center; box-shadow:0 0 40px #6de5bd14; font-size:40px; font-weight:650; line-height:1; color:#6de5bd; padding-bottom:6px; }
.art-core > span > span { color:white; }
.art-connector { position:absolute; left:50%; width:1px; background:#3e6b59; height:25px; }
.art-connector-top { top:132px; }
.art-connector-bottom { bottom:128px; height:27px; background:#3c5973; }
.value-strip { padding:25px 0; border-block:1px solid #23303e; }
.value-columns { gap:24px; }
.value-columns p { margin:0; font-size:13px; }
.value-columns strong { color:#d7e1eb; font-weight:550; }
.value-columns .muted { margin-left:25px; font-size:12px; }
.strip-icon { color:#6de5bd; margin-right:9px; }
.muted { color:#a6b4c4; }
.tools-section { padding:86px 0 80px; }
h2 { font-size:clamp(29px,3.2vw,42px); font-weight:650; line-height:1.15; letter-spacing:-.035em; }
.section-heading .eyebrow { margin-bottom:13px; }
.section-heading h2 { margin-bottom:15px; }
.section-intro { color:#a6b4c4; margin-bottom:33px; font-size:15px; }
.product-columns { gap:24px; align-items:stretch !important; }
.product-columns > .wp-block-column { display:flex; }
.product-card { border:1px solid #293746; border-radius:12px; background:#111923; overflow:hidden; width:100%; display:flex; flex-direction:column; }
.product-copy { padding:30px 30px 0; }
.product-eyebrow { margin:0 0 16px; font-size:9px; }
.product-name { font-size:30px; font-weight:600; letter-spacing:-.035em; margin:0 0 12px; }
.product-tagline { margin:0 0 9px; color:#e0e9f1; font-size:16px; }
.product-description { color:#a6b4c4; font-size:14px; line-height:1.75; margin:0 0 22px; min-height:74px; }
.product-monitor .product-eyebrow { color:#8bbdff; }
.product-demo { margin:0 30px 24px !important; border:1px solid #2b3a47; border-radius:8px; background:#0c131c; font-family:Consolas,monospace; font-size:10px; min-width:0; }
.demo-top { padding:12px; border-bottom:1px solid #25323e; display:flex; align-items:center; gap:12px; color:#9bafbf; font-size:9px; }
.demo-dots { font-size:7px; letter-spacing:2px; color:#466070; }
.demo-live { margin-left:auto; font-size:7px; letter-spacing:.1em; color:#6de5bd; }
.demo-stats { display:flex; padding:20px 15px; gap:10px; }
.demo-stats > div { flex:1; }
.demo-stats strong { display:block; color:#e8eff5; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:23px; line-height:1.4; font-weight:550; }
.demo-stats span { color:#7890a4; font-size:8px; }
.demo-table { padding:0 14px; }
.demo-row { display:grid; grid-template-columns:1fr 1fr 1fr; gap:6px; align-items:center; border-top:1px solid #1d2b36; padding:9px 0; color:#a8b8c7; font-size:8px; }
.demo-label { color:#7f95a8; font-size:7px; }
.demo-tag { color:#7dd4b4; font-size:7px; }
.product-demo figcaption { color:#8c9eaf; font-size:8px; padding:11px 14px; border-top:1px solid #1d2b36; }
.monitor-readout { display:flex; justify-content:space-between; align-items:center; padding:18px 15px 5px; }
.demo-muted { display:block; font-size:7px; color:#7e95a9; letter-spacing:.1em; }
.monitor-readout strong { display:block; font-size:12px; font-weight:500; color:#d6e5f0; margin-top:4px; }
.demo-status { color:#6de5bd; font-size:8px; }
.demo-chart { height:111px; margin:0 16px; padding:16px 0 0; display:flex; gap:4px; align-items:flex-end; background:repeating-linear-gradient(to top,#24324155 0,#24324155 1px,transparent 1px,transparent 30px); }
.demo-chart i { display:block; flex:1; background:linear-gradient(#8bbdff,#497ba6); border-radius:2px 2px 0 0; opacity:.85; }
.chart-legend { display:flex; justify-content:space-between; margin:6px 15px 13px; font-size:7px; color:#7e95a9; }
.demo-metrics { display:flex; gap:16px; border-top:1px solid #1d2b36; padding:12px 15px; font-size:7px; color:#a8b8c7; }
.demo-metrics i { display:inline-block; width:4px; height:4px; background:#8bbdff; border-radius:50%; margin-right:4px; }
.product-download { border-top:1px solid #263442; padding:20px 30px 24px; margin-top:auto !important; }
.product-free { font-family:Consolas,monospace; font-size:9px; color:#6de5bd; letter-spacing:.11em; margin:0 0 12px; }
.download-pending .wp-block-button__link:not([href]) { background:#23342e; color:#b8d9cb; cursor:default; border:1px solid #3c5b4b; }
.download-note { color:#8a9daf; font-size:11px; margin:11px 0 0; }
.about-section { padding:65px 0 75px; border-top:1px solid #23303e; }
.about-columns { gap:70px; }
.about-title .eyebrow { font-size:9px; }
.about-copy p { color:#a6b4c4; font-size:14px; }
.about-copy .large-copy { color:#e0e9f1; font-size:20px; line-height:1.6; margin:0 0 22px; }
.support-section { padding:0 0 80px; }
.support-panel { padding:48px; border:1px solid #3d5f51; border-radius:12px; background:radial-gradient(ellipse at 100% 10%,#254f3c55,transparent 65%),#111e1a; }
.support-panel h2 { max-width:700px; font-size:clamp(32px,4vw,50px); }
.support-description { max-width:650px; color:#b2c5bb; font-size:15px; line-height:1.8; }
.support-note { color:#9ab7a8; font-size:11px; margin:16px 0 0; }
.coffee-button .wp-block-button__link:not([href]) { color:#e9d8cd; border-color:#765847; background:#3b2e27; }
.faq-section { padding:0 0 80px; }
.faq-columns { gap:70px; }
.faq-columns .wp-block-column:first-child { flex-basis:40% !important; flex-grow:0; }
.faq-list .wp-block-details { border-bottom:1px solid #293746; padding:18px 0; margin:0; }
.faq-list .wp-block-details:first-child { border-top:1px solid #293746; }
.faq-list summary { cursor:pointer; font-weight:500; font-size:14px; color:#dce7ef; }
.faq-list .wp-block-details p { font-size:14px; color:#a6b4c4; margin:14px 0 0; }
.site-footer { border-top:1px solid #23303e; padding:32px 0 40px; }
.site-footer-inner { display:flex; justify-content:space-between; gap:24px; align-items:flex-start; }
.site-footer p { margin:0; }
.footer-brand { font-size:18px; font-weight:600; color:#edf3f8; letter-spacing:-.03em; }
.footer-note { font-size:11px; color:#8296a8; margin-top:5px !important; }
.footer-right { text-align:right; }
.footer-links { display:flex; gap:25px; font-size:12px; }
.footer-links a { color:#b4c4d2; }
.content-shell { max-width:850px !important; padding:70px 0 90px; min-height:60vh; }
.content-shell > h1 { font-size:clamp(35px,5vw,60px); }
.content-shell .wp-block-post-content { overflow-wrap:anywhere; }
.content-shell img { max-width:100%; height:auto; }
.post-summary { padding:25px 0; border-bottom:1px solid #293746; }
.post-summary .wp-block-post-title { font-size:30px; }
.post-summary .wp-block-post-title a { color:#edf3f8; }
.wp-block-post-template { padding:0; list-style:none; }
.wp-block-query-pagination, .post-navigation { display:flex; flex-wrap:wrap; gap:20px; margin-top:30px; }
.wp-block-search { margin-top:30px; }
.wp-block-search__input { background:#121b25; border:1px solid #3f5364; color:#edf3f8; padding:12px; min-width:0; border-radius:5px; }
.wp-block-search__button { background:#6de5bd; color:#09251b; border:0; border-radius:5px; padding:12px 20px; }
.wp-block-quote { border-left:2px solid #6de5bd; padding-left:22px; }
.wp-block-table td, .wp-block-table th { border-color:#344453; }
.wp-block-code { padding:20px; overflow:auto; }
.alignwide { max-width:1200px; }
.alignfull { max-width:none; }
.wp-block-image figcaption { color:#a6b4c4; }
.screen-reader-text { clip-path:inset(50%); height:1px; overflow:hidden; position:absolute; width:1px; white-space:nowrap; }

@media (max-width:1279px) {
  .section-shell, .site-header-inner, .site-footer-inner { width:calc(100% - 64px); }
  .content-shell { width:calc(100% - 64px); }
  .hero-columns { gap:30px; }
  .hero-title { font-size:clamp(44px,6vw,72px); }
}
@media (max-width:900px) {
  .hero { padding-top:65px; }
  .hero-title { font-size:50px; }
  .hero-eyebrow { font-size:8px; }
  .hero-description { font-size:15px; }
  .product-copy { padding:24px 22px 0; }
  .product-demo { margin:0 22px 24px !important; }
  .product-download { padding:20px 22px 24px; }
  .about-columns, .faq-columns { gap:35px; }
  .demo-metrics { gap:8px; }
}
@media (max-width:781px) {
  .hero-columns, .product-columns, .about-columns, .faq-columns { flex-direction:column; }
  .hero-columns { align-items:stretch !important; }
  .wp-block-columns > .wp-block-column { width:100%; }
  .hero { padding-top:48px; padding-bottom:42px; }
  .hero-columns { gap:36px; }
  .hero-title { font-size:clamp(46px,9vw,68px); }
  .hero-eyebrow { font-size:9px; }
  .hero-description { font-size:16px; max-width:540px; }
  .system-art { height:345px; }
  .art-connector-top { height:13px; }
  .art-connector-bottom { height:15px; }
  .art-itam { top:65px; }
  .value-columns { flex-direction:row !important; gap:20px; }
  .value-columns p { font-size:11px; }
  .value-columns .muted { margin-left:0; font-size:10px; }
  .tools-section { padding:55px 0; }
  .product-description { min-height:0; }
  .product-columns { gap:25px; }
  .product-demo { margin:0 22px 24px !important; }
  .demo-row { font-size:10px; }
  .demo-tag { font-size:9px; }
  .about-section { padding:45px 0; }
  .about-columns, .faq-columns { gap:25px; }
  .support-section { padding-bottom:55px; }
  .support-panel { padding:30px; }
  .faq-section { padding-bottom:50px; }
  .site-footer-inner { flex-direction:column; }
  .footer-right { text-align:left; }
  .preview-nav { gap:10px 18px; justify-content:flex-end; }
  .preview-nav a { font-size:12px; }
}
@media (max-width:480px) {
  .section-shell, .site-header-inner, .site-footer-inner, .content-shell { width:calc(100% - 40px); }
  .site-header { padding:20px 0; }
  .brand-link { font-size:15px; gap:10px; }
  .brand-icon { width:34px; height:34px; font-size:26px; }
  .hero-title { font-size:47px; }
  .hero-eyebrow { font-size:8px; letter-spacing:.04em; }
  .hero .wp-block-buttons { gap:12px; }
  .wp-block-button__link { font-size:13px; }
  .value-columns { flex-direction:column !important; gap:14px; }
  .value-columns p { font-size:13px; }
  .value-columns .muted { font-size:12px; margin-left:25px; }
  .product-name { font-size:29px; }
  .support-panel { padding:25px; }
  .footer-links { gap:18px; font-size:11px; }
  .preview-nav { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { transition:none !important; animation:none !important; }
}

/* Product screenshots: subtle lift and focus feedback. */
.ssdl-about-page main .wp-block-image img { cursor: zoom-in; transition: transform .2s ease, box-shadow .2s ease; border-radius: 8px; }
@media (hover: hover) { .ssdl-about-page main .wp-block-image:hover img { transform: translateY(-3px) scale(1.01); box-shadow: 0 12px 28px rgba(0,0,0,.32); } }
.ssdl-about-page main .wp-block-image:focus-within { outline: 2px solid #67e0bc; outline-offset: 5px; border-radius: 8px; }
@media (prefers-reduced-motion: reduce) { .ssdl-about-page main .wp-block-image img { transition: none; } .ssdl-about-page main .wp-block-image:hover img { transform: none; } }

/* Consistent heading alignment throughout page content. */
body .wp-site-blocks main :is(h1,h2,h3,h4,h5,h6) { text-align: left !important; }

body .wp-site-blocks main.content-shell > .wp-block-post-title { max-width: var(--wp--style--global--content-size, 760px) !important; margin-left: auto !important; margin-right: auto !important; }
