/*
Theme Name: Sult Portfolio
Theme URI: https://paintbysult.com
Author: Sult
Description: A quiet, muted blue-grey portfolio theme for original pastel, gel pen and pencil artwork. Includes a light/dark toggle.
Version: 1.0
Requires at least: 6.0
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: sult-portfolio
*/

:root{
  --ink:#2b3640;
  --ink-soft:#4f6673;
  --ink-faint:#7c8b93;
  --line:#dbe2e6;
  --paper:#f6f8f9;
  --accent:#3d5a68;
  --accent-soft:#e7edf0;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
}

html[data-theme="dark"]{
  --ink:#e7ebee;
  --ink-soft:#9fb6c2;
  --ink-faint:#8fa3ad;
  --line:#2a333c;
  --paper:#171d24;
  --accent:#e7ebee;
  --accent-soft:#26313a;
}

*{ box-sizing:border-box; }

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  transition:background-color .2s ease, color .2s ease;
}

a{ color:var(--accent); text-decoration:none; border-bottom:1px solid var(--line); }
a:hover{ border-color:var(--accent); }

.site-wrap{ max-width:820px; margin:0 auto; padding:56px 24px 80px; }

.site-header{ text-align:center; margin-bottom:48px; }

.site-logo{ margin:0 0 4px; line-height:0; }
.site-logo svg{ display:inline-block; }
.logo-circle{ fill:var(--ink); transition:fill .2s ease; }
.logo-mono{ fill:var(--paper); font-family:var(--serif); font-size:26px; transition:fill .2s ease; }
.logo-word{ fill:var(--ink); font-family:var(--serif); font-size:22px; }

.site-tagline{ margin:10px 0 28px; color:var(--ink-faint); font-size:13px; letter-spacing:2px; text-transform:uppercase; }

.main-nav{ display:flex; justify-content:center; align-items:center; gap:22px; flex-wrap:wrap; }
.main-nav ul{ list-style:none; display:flex; gap:22px; margin:0; padding:0; flex-wrap:wrap; justify-content:center; }
.main-nav a{ border:none; color:var(--ink-soft); font-size:14px; letter-spacing:.5px; text-transform:uppercase; }
.main-nav a:hover{ color:var(--accent); }

.theme-toggle{
  border:1px solid var(--line);
  background:var(--accent-soft);
  color:var(--ink-soft);
  border-radius:20px;
  padding:5px 14px;
  font-size:12px;
  cursor:pointer;
  letter-spacing:.5px;
}
.theme-toggle:hover{ color:var(--ink); }

.content-area{ min-height:40vh; }

.page-title{ font-family:var(--serif); font-weight:400; font-size:32px; margin:0 0 24px; }

.entry-content p.lead{ font-family:var(--serif); font-size:20px; color:var(--ink-soft); font-style:italic; }
.entry-content p{ margin:0 0 20px; }
.entry-content img{ max-width:100%; height:auto; border-radius:2px; }

.gallery-category{
  font-family:var(--serif);
  font-weight:400;
  font-size:22px;
  margin:44px 0 4px;
  padding-top:20px;
  border-top:1px solid var(--line);
}
.gallery-category:first-of-type{ border-top:none; padding-top:0; margin-top:20px; }

.gallery-meta{ display:block; color:var(--ink-faint); font-size:11px; margin-top:2px; }

.gallery-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));
  gap:18px;
  margin-top:28px;
  list-style:none;
  padding:0;
}
.gallery-grid li{ margin:0; }
.gallery-grid figure{ margin:0; }
.gallery-grid img{
  width:100%;
  height:220px;
  object-fit:cover;
  border-radius:2px;
  border:1px solid var(--line);
  display:block;
}
.gallery-grid figcaption{
  margin-top:8px;
  font-size:13px;
  color:var(--ink-faint);
  text-align:center;
}

.site-footer{
  margin-top:64px;
  padding-top:24px;
  border-top:1px solid var(--line);
  text-align:center;
  color:var(--ink-faint);
  font-size:13px;
}

.sult-lightbox-overlay{
  position:fixed; inset:0;
  background:rgba(10,13,16,.92);
  display:none; align-items:center; justify-content:center;
  z-index:9999; cursor:zoom-out; padding:24px;
}
.sult-lightbox-overlay.active{ display:flex; }
.sult-lightbox-overlay img{
  max-width:92vw; max-height:92vh;
  border-radius:2px;
  box-shadow:0 10px 40px rgba(0,0,0,.5);
}
.sult-lightbox-close{
  position:fixed; top:20px; right:28px;
  color:#fff; font-size:28px; line-height:1;
  cursor:pointer; z-index:10000;
}
.gallery-grid a.sult-lightbox-trigger{ border:none; display:block; }
.gallery-grid img{ cursor:zoom-in; }

@media (max-width:600px){
  .site-wrap{ padding:36px 18px 60px; }
  .page-title{ font-size:26px; }
}
