/* Snagably style sheet. Co-authors: Comanderanch and Claude. Plan approved 2026-10-08 (A3). */
:root{
  --sn-accent:#C6FF3D;
  --sn-page:#0E1116;
  --sn-page-2:#12161C;
  --sn-card:#171B22;
  --sn-border:#262C36;
  --sn-border-2:#3A4250;
  --sn-text:#E8ECF2;
  --sn-text-2:#B4BDCA;
  --sn-muted:#8A94A3;
  --sn-radius:8px;
  --sn-head:'Archivo Black',sans-serif;
  --sn-body:'Inter',sans-serif;
}

/* Page base: also repoints the theme's own color presets to the dark palette */
html body{
  --wp--preset--color--base:var(--sn-page);
  --wp--preset--color--contrast:var(--sn-text);
  --wp--preset--color--accent-1:var(--sn-accent);
  background:var(--sn-page);
  color:var(--sn-text);
  font-family:var(--sn-body);
  line-height:1.6;
}
html body .wp-site-blocks{background:var(--sn-page);color:var(--sn-text)}

/* Headings and wordmark */
html body :is(h1,h2,h3,h4,h5,h6),
html body .wp-block-site-title,
html body .wp-block-site-title a{
  font-family:var(--sn-head);
  font-weight:400;
  letter-spacing:-0.5px;
  line-height:1.15;
  color:var(--sn-text);
}
html body h1{font-size:clamp(2rem,6vw,3.5rem)}
html body h2{font-size:clamp(1.6rem,4vw,2.25rem)}

/* Links */
html body a{color:var(--sn-text);text-decoration:none}
html body a:hover,html body a:focus-visible{color:var(--sn-accent)}
html body .wp-block-post-content a:not(.wp-element-button):not(.wp-block-button__link){
  color:var(--sn-accent);
  text-decoration:underline;
  text-underline-offset:3px;
}
html body :focus-visible{outline:2px solid var(--sn-accent);outline-offset:2px}
html body ::selection{background:var(--sn-accent);color:var(--sn-page)}

/* Header and footer */
html body header.wp-block-template-part{border-bottom:1px solid var(--sn-border)}
html body footer.wp-block-template-part{border-top:1px solid var(--sn-border);color:var(--sn-muted)}
html body .wp-block-navigation a{font-weight:500;min-height:44px;display:inline-flex;align-items:center}

/* Buttons: solid lime, 8px, glow on hover */
html body .wp-block-button__link,
html body .wp-element-button,
html body .sn-btn{
  background:var(--sn-accent);
  color:var(--sn-page);
  border:1px solid var(--sn-accent);
  border-radius:var(--sn-radius);
  font-family:var(--sn-body);
  font-weight:700;
  text-decoration:none;
  padding:14px 28px;
  min-height:44px;
  transition:box-shadow .15s ease;
}
html body .wp-block-button__link:hover,
html body .wp-element-button:hover,
html body .sn-btn:hover{
  background:var(--sn-accent);
  color:var(--sn-page);
  box-shadow:0 0 18px rgba(198,255,61,.55);
}
html body .is-style-outline .wp-block-button__link,
html body .sn-btn--ghost{
  background:transparent;
  color:var(--sn-text);
  border:1px solid var(--sn-border-2);
}
html body .is-style-outline .wp-block-button__link:hover,
html body .sn-btn--ghost:hover{
  border-color:var(--sn-accent);
  color:var(--sn-accent);
  box-shadow:none;
}

/* Cards */
html body .sn-card{
  background:var(--sn-card);
  border:1px solid var(--sn-border);
  border-radius:var(--sn-radius);
  padding:20px;
  color:var(--sn-text);
}
html body .sn-card:hover{border-color:var(--sn-accent)}
html body .sn-card--best{position:relative;border:2px solid var(--sn-accent)}
html body .sn-tag{
  display:inline-block;
  background:var(--sn-accent);
  color:var(--sn-page);
  font-family:var(--sn-head);
  font-size:12px;
  letter-spacing:1px;
  padding:6px 12px;
  border-radius:6px;
}
html body .sn-soon{
  display:inline-block;
  border:1px solid var(--sn-border-2);
  color:var(--sn-text-2);
  font-size:10px;
  font-weight:700;
  letter-spacing:1px;
  padding:5px 8px;
  border-radius:6px;
}
html body .sn-price{font-family:var(--sn-head);color:var(--sn-accent)}
html body .sn-disclosure{font-size:13px;line-height:1.6;color:var(--sn-muted)}

/* Forms */
html body :is(input[type=text],input[type=email],input[type=password],input[type=search],input[type=number],textarea,select){
  background:var(--sn-card);
  color:var(--sn-text);
  border:1px solid var(--sn-border);
  border-radius:var(--sn-radius);
  padding:12px 16px;
  font-family:var(--sn-body);
  font-size:16px;
}
html body ::placeholder{color:var(--sn-muted)}

/* Media, rules, quotes */
html body :is(img,figure img){border-radius:var(--sn-radius)}
html body :is(hr,.wp-block-separator){border-color:var(--sn-border);background:var(--sn-border);color:var(--sn-border)}
html body .wp-block-quote{border-left:3px solid var(--sn-accent);color:var(--sn-text-2)}

/* D1 fix: repoint the rest of the theme palette to the dark look */
html body{
  --wp--preset--color--accent-2:var(--sn-card);
  --wp--preset--color--accent-3:var(--sn-accent);
  --wp--preset--color--accent-4:var(--sn-muted);
  --wp--preset--color--accent-5:var(--sn-page-2);
  --wp--preset--color--accent-6:var(--sn-border);
}

/* D2: plain buttons get the lime button style (inside the page only, not the admin bar) */
html body .wp-site-blocks :is(button,input[type=submit],input[type=button]){
  background:var(--sn-accent);
  color:var(--sn-page);
  border:1px solid var(--sn-accent);
  border-radius:var(--sn-radius);
  font-family:var(--sn-body);
  font-size:15px;
  font-weight:700;
  padding:12px 22px;
  min-height:44px;
  cursor:pointer;
  transition:box-shadow .15s ease;
}
html body .wp-site-blocks :is(button,input[type=submit],input[type=button]):hover{
  box-shadow:0 0 18px rgba(198,255,61,.55);
}

/* D2: footer */
html body .sn-footer{border-top:1px solid var(--sn-border);background:var(--sn-page);color:var(--sn-muted)}
html body .sn-footer__in{max-width:1200px;margin:0 auto;padding:40px 24px;display:flex;flex-direction:column;gap:20px}
html body .sn-footer__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
html body .sn-footer__brand{font-family:var(--sn-head);font-size:22px;color:var(--sn-text);letter-spacing:-0.5px}
html body .sn-footer__brand span{color:var(--sn-accent)}
html body .sn-footer__links{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:14px;font-weight:500}
html body .sn-footer__links a{min-height:44px;display:inline-flex;align-items:center}
html body .sn-footer__note{font-size:13px;line-height:1.6;color:var(--sn-muted)}
