/*
Theme Name: Afterhours — notes2noone
Theme URI: https://notes2noone.ca/
Author: notes2noone
Description: A custom, dark editorial WordPress theme for honest, unfiltered personal writing.
Version: 1.0.3
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: afterhours-notes2noone
Tags: blog, one-column, custom-logo, custom-menu, featured-images, editor-style
*/
:root {
  --ah-bg: #101014;
  --ah-panel: #191620;
  --ah-panel-2: #241d30;
  --ah-text: #f0edf5;
  --ah-muted: #a6a0b2;
  --ah-line: #342843;
  --ah-accent: #a978ff;
  --ah-accent-soft: #2b1d43;
  --ah-width: 1120px;
  --ah-reading: 720px;
  --ah-radius: 4px;
  color-scheme: dark;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background:
    radial-gradient(ellipse at 12% 0%, rgba(169,120,255,.085), transparent 34rem),
    var(--ah-bg);
  color: var(--ah-text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 17px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--ah-accent); text-decoration-thickness: 1px; text-underline-offset: 4px; }
a:hover { color: #c8aaff; }
a:focus-visible, button:focus-visible, input:focus-visible {
  outline: 2px solid var(--ah-accent); outline-offset: 4px;
}
img { max-width: 100%; height: auto; }
button, input { font: inherit; }
.ah-skip { position:absolute; left:-9999px; top:1rem; z-index:999; background:var(--ah-text); color:var(--ah-bg); padding:.7rem 1rem; }
.ah-skip:focus { left:1rem; }
.ah-shell { width:100%; max-width:none; padding-inline:max(1.25rem, calc((100vw - var(--ah-width)) / 2)); margin-inline:auto; }
.ah-topline { border-bottom:1px solid var(--ah-line); font-size:.72rem; text-transform:uppercase; letter-spacing:.16em; color:var(--ah-muted); }
.ah-topline-inner { display:flex; justify-content:space-between; gap:1rem; padding:.72rem 0; }
.ah-header { padding:2rem 0 1.7rem; border-bottom:1px solid var(--ah-line); }
.ah-brand-row { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; }
.ah-brand { min-width:0; }
.ah-site-title { color:var(--ah-text); font-family:Georgia, "Times New Roman", serif; font-size:clamp(2.35rem, 6vw, 4.7rem); letter-spacing:-.075em; line-height:.95; text-decoration:none; display:inline-block; }
.ah-site-title span { color:var(--ah-accent); }
.ah-tagline { margin:.85rem 0 0; color:var(--ah-muted); max-width:35rem; font-size:.95rem; }
#ah-primary-nav { display:block; width:100%; padding-top:1.5rem; }
#ah-primary-nav ul { display:flex !important; flex-direction:row; align-items:center; flex-wrap:wrap; gap:.4rem 1.6rem; list-style:none; padding:0; margin:0; }
#ah-primary-nav li { display:block; margin:0; padding:0; list-style:none; }
#ah-primary-nav a { display:inline-block; color:var(--ah-text); text-decoration:none; font-size:.8rem; text-transform:uppercase; letter-spacing:.12em; }
#ah-primary-nav a:hover { color:var(--ah-accent); }
.ah-menu-toggle { display:none; border:1px solid var(--ah-line); color:var(--ah-text); background:transparent; padding:.45rem .7rem; }
.ah-hero { padding:3.2rem 0 2.7rem; border-bottom:1px solid var(--ah-line); }
.ah-kicker { color:var(--ah-accent); text-transform:uppercase; letter-spacing:.18em; font-size:.72rem; font-weight:700; margin:0 0 .8rem; }
.ah-hero h1 { max-width:850px; margin:0; font-family:Georgia, "Times New Roman", serif; font-size:clamp(2.25rem, 5.2vw, 4.5rem); font-weight:400; letter-spacing:-.055em; line-height:1.05; }
.ah-hero p:not(.ah-kicker) { max-width:640px; color:var(--ah-muted); font-size:1.04rem; margin:1.2rem 0 0; }
.ah-content { display:grid; grid-template-columns:minmax(0, 1fr) 250px; gap:4.5rem; padding:3rem 0 5rem; align-items:start; }
.ah-main { min-width:0; }
.ah-section-head { display:flex; justify-content:space-between; align-items:baseline; gap:1rem; border-bottom:1px solid var(--ah-line); padding-bottom:.9rem; margin-bottom:1.6rem; }
.ah-section-head h2 { font-family:Georgia, "Times New Roman", serif; font-size:1.8rem; font-weight:400; letter-spacing:-.04em; margin:0; }
.ah-section-head span { color:var(--ah-muted); text-transform:uppercase; letter-spacing:.13em; font-size:.68rem; }
.ah-post-card { padding:0 0 2rem; margin-bottom:2rem; border-bottom:1px solid var(--ah-line); }
.ah-post-meta { color:var(--ah-muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.12em; display:flex; gap:.65rem; flex-wrap:wrap; align-items:center; }
.ah-post-meta .ah-dot { color:var(--ah-accent); }
.ah-post-title { font-family:Georgia, "Times New Roman", serif; font-weight:400; font-size:clamp(1.7rem, 3vw, 2.55rem); letter-spacing:-.045em; line-height:1.13; margin:.55rem 0 .65rem; }
.ah-post-title a { color:var(--ah-text); text-decoration:none; }
.ah-post-title a:hover { color:var(--ah-accent); }
.ah-excerpt { color:#c0c0be; max-width:740px; }
.ah-excerpt p { margin:.5rem 0; }
.ah-read-more { display:inline-flex; gap:.55rem; align-items:center; margin-top:.7rem; color:var(--ah-accent); text-transform:uppercase; letter-spacing:.1em; font-size:.72rem; text-decoration:none; }
.ah-sidebar { border-left:1px solid var(--ah-line); padding-left:1.5rem; }
.ah-side-block { margin-bottom:2.3rem; }
.ah-side-block h2 { margin:0 0 .8rem; font-size:.72rem; color:var(--ah-accent); text-transform:uppercase; letter-spacing:.16em; }
.ah-side-block p { margin:0; color:var(--ah-muted); font-size:.9rem; line-height:1.7; }
.ah-side-list { list-style:none; padding:0; margin:0; }
.ah-side-list li { border-bottom:1px solid var(--ah-line); padding:.55rem 0; font-size:.9rem; }
.ah-side-list a { color:var(--ah-text); text-decoration:none; }
.ah-side-list a:hover { color:var(--ah-accent); }
.ah-post-article { max-width:var(--ah-reading); margin:0 auto; padding:4rem 0 5rem; }
.ah-post-article .ah-post-title { font-size:clamp(2.4rem, 6vw, 4.7rem); margin:.7rem 0 1rem; line-height:1.02; }
.ah-post-article .ah-post-meta { margin-bottom:2rem; }
.ah-featured-image { margin:2rem 0; }
.ah-featured-image img { width:100%; border-radius:var(--ah-radius); display:block; }
.entry-content { font-size:1.08rem; line-height:1.9; overflow-wrap:anywhere; }
.entry-content > * { margin-block:0 1.45em; }
.entry-content h2, .entry-content h3, .entry-content h4 { font-family:Georgia, "Times New Roman", serif; font-weight:400; line-height:1.2; letter-spacing:-.035em; margin-top:2.2em; }
.entry-content h2 { font-size:2rem; }
.entry-content h3 { font-size:1.55rem; }
.entry-content blockquote { margin:2rem 0; padding:.2rem 0 .2rem 1.4rem; border-left:3px solid var(--ah-accent); color:#c6c2bc; font-family:Georgia, "Times New Roman", serif; font-size:1.25rem; }
.entry-content code { background:var(--ah-panel-2); padding:.15rem .35rem; border-radius:3px; }
.entry-content pre { background:var(--ah-panel); border:1px solid var(--ah-line); padding:1rem; overflow:auto; }
.entry-content hr { border:0; border-top:1px solid var(--ah-line); margin:3rem 0; }
.entry-content figure { margin:2rem 0; }
.entry-content figcaption { color:var(--ah-muted); font-size:.8rem; }
.ah-post-footer { margin-top:3rem; padding-top:1.5rem; border-top:1px solid var(--ah-line); color:var(--ah-muted); font-size:.85rem; }
.ah-post-nav {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:1rem;
  margin-top:2rem;
}
.ah-post-nav > div { min-width:0; }
.ah-post-nav a {
  display:block;
  height:100%;
  box-sizing:border-box;
  min-width:0;
  overflow-wrap:anywhere;
  background:var(--ah-panel);
  border:1px solid var(--ah-line);
  border-radius:var(--ah-radius);
  padding:1.1rem 1.2rem;
  text-decoration:none;
  color:var(--ah-text);
  transition:border-color .2s ease, background-color .2s ease;
}
.ah-post-nav a:hover {
  border-color:var(--ah-accent);
  background:var(--ah-panel-2);
}
.ah-post-nav small {
  display:block;
  margin-bottom:.5rem;
  color:var(--ah-muted);
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:.65rem;
}
.ah-post-nav a:focus-visible {
  outline:2px solid var(--ah-accent);
  outline-offset:3px;
}
.ah-pagination { display:flex; gap:.5rem; flex-wrap:wrap; margin-top:2rem; }
.ah-pagination a, .ah-pagination span { border:1px solid var(--ah-line); padding:.45rem .75rem; text-decoration:none; }
.ah-pagination .current { background:var(--ah-accent-soft); border-color:var(--ah-accent); color:var(--ah-text); }
.ah-empty { padding:2rem; background:var(--ah-panel); color:var(--ah-muted); }
.ah-footer { border-top:1px solid var(--ah-line); padding:2rem 0; color:var(--ah-muted); font-size:.8rem; }
.ah-footer-inner { display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.ah-footer strong { color:var(--ah-text); font-weight:500; }
.ah-search-form { display:flex; gap:.4rem; }
.ah-search-form input[type="search"] { min-width:0; width:100%; background:var(--ah-panel); color:var(--ah-text); border:1px solid var(--ah-line); padding:.65rem .7rem; }
.ah-search-form button { background:var(--ah-accent); color:#100c17; border:0; padding:.65rem .8rem; cursor:pointer; }
.screen-reader-text { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width: 800px) {
  .ah-content { grid-template-columns:1fr; gap:2.5rem; padding-top:2rem; }
  .ah-sidebar { border-left:0; border-top:1px solid var(--ah-line); padding:1.5rem 0 0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }
  .ah-side-block { margin:0; }
  .ah-brand-row { align-items:flex-start; }
  .ah-hero { padding:2.5rem 0 2rem; }
}
@media (max-width: 560px) {
  body { font-size:16px; }
  .ah-shell { width:100%; padding-inline:.75rem; }
  .ah-topline-inner { font-size:.62rem; }
  .ah-brand-row { display:block; }
  .ah-site-title { font-size:3.15rem; }
  .ah-tagline { font-size:.88rem; }
  .ah-menu-toggle { display:inline-block; margin-top:1.25rem; }
  #ah-primary-nav { display:none; padding-top:1rem; }
  #ah-primary-nav.is-open { display:block; }
  #ah-primary-nav ul { flex-direction:column !important; align-items:flex-start; gap:.35rem; }
  #ah-primary-nav a { padding:.3rem 0; }
  .ah-sidebar { grid-template-columns:1fr; }
  .ah-post-nav { grid-template-columns:1fr; }
  .ah-post-article { padding:2.5rem 0 3.5rem; }
  .entry-content { font-size:1.02rem; }
}

/* Widget compatibility and footer layout */
.ah-footer-widgets { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:1.5rem; padding-block:1.5rem; }
.ah-footer-widget { min-width:0; }
.ah-footer-nav ul { display:flex; flex-wrap:wrap; gap:.75rem 1.25rem; list-style:none; padding:0; margin:1rem 0 0; }
.ah-footer-nav a { color:var(--ah-muted); text-decoration:none; }
.ah-footer-nav a:hover { color:var(--ah-accent); }
.ah-sidebar .widget ul { padding-left:1.2rem; }
.ah-sidebar .widget a { color:var(--ah-text); }
.ah-sidebar .widget a:hover { color:var(--ah-accent); }

/* AFTERHOURS DEPTH PASS 1 */

/* Atmospheric background: subtle light, never a flat purple wash. */
body {
  background:
    radial-gradient(ellipse at 12% 0%, rgba(169,120,255,.11), transparent 34rem),
    radial-gradient(ellipse at 88% 38%, rgba(103,62,157,.075), transparent 38rem),
    radial-gradient(ellipse at 50% 100%, rgba(169,120,255,.045), transparent 32rem),
    var(--ah-bg);
  background-attachment: scroll;
}

/* Give the header its own quiet layer. */
.ah-header {
  position: relative;
  background: linear-gradient(
    135deg,
    rgba(169,120,255,.055),
    rgba(25,22,32,.30) 42%,
    rgba(16,16,20,.12)
  );
  box-shadow: 0 12px 35px rgba(0,0,0,.14);
}

.ah-header .ah-site-title {
  text-shadow: 0 0 32px rgba(169,120,255,.10);
}

/* Navigation feels more tactile without changing its layout. */
#ah-primary-nav a {
  transition: color .2s ease, text-shadow .2s ease;
}

#ah-primary-nav a:hover {
  text-shadow: 0 0 16px rgba(169,120,255,.28);
}

/* Turn the existing post rows into restrained floating surfaces. */
.ah-post-card {
  padding: 1.6rem 1.65rem 1.7rem !important;
  margin: 0 0 2rem !important;
  border: 2px solid #7045a0 !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, #30213f 0%, #211a2b 55%, #19171f 100%) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.65), 0 0 18px rgba(142,78,207,.22) !important;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.ah-post-card:hover {
  transform: translateY(-4px);
  border-color: #bd8aff !important;
  box-shadow: 0 18px 38px rgba(0,0,0,.7), 0 0 26px rgba(169,120,255,.35) !important;
}

.ah-post-card .ah-post-title a {
  transition: color .2s ease, text-shadow .2s ease;
}

.ah-post-card .ah-post-title a:hover {
  text-shadow: 0 0 22px rgba(169,120,255,.13);
}

/* Add depth to featured images while keeping their original shape. */
.ah-featured-image img {
  box-shadow:
    0 16px 38px rgba(0,0,0,.30),
    0 0 0 1px rgba(169,120,255,.12);
}

/* A calm reading surface: keep the text itself easy to read. */
.ah-post-article {
  position: relative;
}

.ah-post-article .ah-post-title {
  text-shadow: 0 3px 24px rgba(169,120,255,.07);
}

/* Existing previous/next cards get a smoother sense of elevation. */
.ah-post-nav a {
  box-shadow:
    0 6px 18px rgba(0,0,0,.13),
    inset 0 1px 0 rgba(255,255,255,.025);
  transition:
    transform .2s ease,
    border-color .2s ease,
    background-color .2s ease,
    box-shadow .2s ease;
}

.ah-post-nav a:hover {
  transform: translateY(-2px);
  box-shadow:
    0 12px 25px rgba(0,0,0,.22),
    0 0 18px rgba(169,120,255,.055);
}

/* A little separation for the sidebar, without changing its layout. */
.ah-sidebar {
  border-color: rgba(169,120,255,.17);
}

.ah-side-block h2 {
  text-shadow: 0 0 18px rgba(169,120,255,.12);
}

/* Keep keyboard focus visible and avoid motion for those who disable it. */
@media (prefers-reduced-motion: reduce) {
  .ah-post-card,
  .ah-post-card .ah-post-title a,
  .ah-post-nav a,
  #ah-primary-nav a {
    transition: none !important;
  }

  .ah-post-card:hover,
  .ah-post-nav a:hover {
    transform: none;
  }
}

/* Keep the new surfaces comfortable on smaller screens. */
@media (max-width: 560px) {
  .ah-post-card {
    padding: 1.1rem 1rem 1.2rem;
    border-radius: 6px;
  }

  .ah-post-card:hover,
  .ah-post-nav a:hover {
    transform: none;
  }
}

/* NEXUS BLUE ACCENTS */
:root {
    --n2n-nexus-blue: #00bfff;
    --n2n-nexus-blue-light: #58caff;
}

a:hover,
a:focus-visible {
    color: var(--n2n-nexus-blue-light);
    text-shadow: 0 0 10px #00bfff55;
}

button:hover,
input[type=submit]:hover,
.wp-element-button:hover,
.wp-block-button__link:hover {
    border-color: var(--n2n-nexus-blue);
    box-shadow: 0 0 14px #00bfff55;
}

button:focus-visible,
a:focus-visible,
input:focus-visible {
    outline: 2px solid var(--n2n-nexus-blue);
    outline-offset: 3px;
}

.main-navigation .current-menu-item > a,
.main-navigation a:hover {
    color: var(--n2n-nexus-blue-light);
    text-shadow: 0 0 12px #00bfff55;
}

::selection {
    background: #00bfff66;
    color: white;
}

/* NEXUS BLUE — LIVE THEME ACCENTS */
:root {
    --n2n-blue: #00bfff;
    --n2n-blue-light: #58caff;
}

/* Main navigation */
#ah-primary-nav a,
.ah-nav a {
    color: #58caff !important;
    transition: color .25s ease, text-shadow .25s ease;
}

#ah-primary-nav a:hover,
#ah-primary-nav a:focus,
.ah-nav a:hover,
.ah-nav a:focus {
    color: #00bfff !important;
    text-shadow: 0 0 12px #00bfff99 !important;
}

/* Header */
.ah-header {
    border-bottom: 1px solid #00bfff88 !important;
    box-shadow: 0 8px 25px #00bfff22 !important;
}

/* Read More links and pagination */
a.ah-read-more,
.ah-pagination a,
.ah-pagination .current {
    color: #58caff !important;
    border-color: #00bfff88 !important;
}

a.ah-read-more:hover,
.ah-pagination a:hover {
    color: #ffffff !important;
    background: #007fae !important;
    box-shadow: 0 0 16px #00bfff66 !important;
}

/* Search and other buttons */
.wp-block-search__button,
button.wp-element-button,
.wp-block-button__link {
    border-color: #00bfff !important;
    box-shadow: 0 0 8px #00bfff33 !important;
}

/* Article links */
.entry-content a,
.entry-summary a {
    color: #58caff !important;
}

.entry-content a:hover,
.entry-summary a:hover {
    color: #00bfff !important;
    text-shadow: 0 0 10px #00bfff66;
}

