/*
Theme Name: OneAck
Theme URI: https://oneack.com
Author: OneAck Team
Author URI: https://oneack.com
Description: A premium, editorial WordPress theme for oneack.com covering tech news and software downloads. Ships with a scheduled NewsAPI content pipeline (3x daily, 6 curated stories per section), automatic title SEO optimization, and a minimal, distraction-free wp-admin login screen.
Version: 1.1.0
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: oneack
Tags: news, blog, downloads, minimal, editorial, custom-colors
*/

/* =========================================================
   Design tokens — refined editorial palette
   Warm paper background, terracotta accent, deep ink for
   contrast and structure. Generous whitespace, hairline
   rules instead of heavy borders, small-caps eyebrow labels.
   ========================================================= */
:root{
  --oa-bg:            #F7F5F0;
  --oa-bg-raised:     #FFFFFF;
  --oa-ink:           #1C1B18;
  --oa-ink-soft:      #63594C;
  --oa-line:          #E4DFD3;
  --oa-accent:        #C7684A;
  --oa-accent-dark:   #A5533A;
  --oa-accent-tint:   #F1DED2;
  --oa-navy:          #22303D;
  --oa-tag-tech:      #45647E;
  --oa-tag-science:   #6E7C5C;
  --oa-tag-health:    #A5533A;
  --oa-radius-lg:     4px;
  --oa-radius-md:     3px;
  --oa-radius-sm:     2px;
  --oa-shadow:        0 1px 2px rgba(28,27,24,0.04);
  --oa-shadow-lg:     0 20px 48px rgba(28,27,24,0.10);
  --oa-font-display:  'Fraunces', 'Times New Roman', serif;
  --oa-font-body:     'Inter', -apple-system, 'Helvetica Neue', Arial, sans-serif;
  --oa-max-width:     1240px;
  --oa-tracking:      .08em;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--oa-bg);
  color:var(--oa-ink);
  font-family:var(--oa-font-body);
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; height:auto; display:block; }
h1,h2,h3,h4{
  font-family:var(--oa-font-display);
  font-weight:600;
  color:var(--oa-ink);
  line-height:1.15;
  letter-spacing:-.01em;
  margin:0 0 .5em;
}
.oa-container{ max-width:var(--oa-max-width); margin:0 auto; padding:0 40px; }
.oa-eyebrow{
  font-size:11px; font-weight:600; letter-spacing:var(--oa-tracking); text-transform:uppercase;
  color:var(--oa-accent-dark);
}

/* ---------- Header ---------- */
.oa-header{ background:var(--oa-bg-raised); border-bottom:1px solid var(--oa-line); position:sticky; top:0; z-index:50; }
.oa-header-inner{ display:flex; align-items:center; justify-content:space-between; padding:22px 40px; max-width:var(--oa-max-width); margin:0 auto; gap:24px; }
.oa-logo{ font-family:var(--oa-font-display); font-size:26px; font-weight:700; color:var(--oa-ink); letter-spacing:-.01em; }
.oa-logo em{ font-style:normal; color:var(--oa-accent); }
.oa-nav{ flex:1; }
.oa-nav ul{ list-style:none; display:flex; gap:36px; margin:0; padding:0; }
.oa-nav a{
  color:var(--oa-ink-soft); font-weight:600; font-size:12.5px; text-transform:uppercase; letter-spacing:var(--oa-tracking);
  position:relative; padding-bottom:4px;
}
.oa-nav a::after{ content:''; position:absolute; left:0; right:100%; bottom:0; height:1px; background:var(--oa-accent); transition:right .25s ease; }
.oa-nav a:hover, .oa-nav .current-menu-item a{ color:var(--oa-ink); }
.oa-nav a:hover::after, .oa-nav .current-menu-item a::after{ right:0; }

.oa-search-toggle{
  display:flex; align-items:center; justify-content:center; width:38px; height:38px;
  border:1px solid var(--oa-line); background:transparent; border-radius:50%; color:var(--oa-ink-soft); cursor:pointer;
  transition:border-color .2s ease, color .2s ease;
}
.oa-search-toggle:hover{ border-color:var(--oa-accent); color:var(--oa-accent-dark); }
.oa-search-panel{ max-height:0; overflow:hidden; border-top:0 solid var(--oa-line); transition:max-height .25s ease; background:var(--oa-bg); }
.oa-search-panel.is-open{ max-height:120px; border-top-width:1px; }
.oa-search-panel .oa-container{ padding-top:20px; padding-bottom:20px; }
.oa-search-form{ display:flex; gap:10px; max-width:520px; }
.oa-search-form input[type="search"]{
  flex:1; padding:12px 16px; border:1px solid var(--oa-line); border-radius:2px; font-size:15px; background:#fff; color:var(--oa-ink);
}
.oa-search-form input[type="search"]:focus{ outline:none; border-color:var(--oa-accent); }
.oa-search-form button{
  padding:12px 22px; border:1px solid var(--oa-ink); background:var(--oa-ink); color:#fff; border-radius:2px; font-weight:600; font-size:13px; text-transform:uppercase; letter-spacing:.04em; cursor:pointer;
}
.oa-search-form button:hover{ background:var(--oa-accent); border-color:var(--oa-accent); }

/* ---------- Category badge ---------- */
.oa-badge{ display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:600; letter-spacing:var(--oa-tracking); text-transform:uppercase; color:var(--oa-accent-dark); }
.oa-badge::before{ content:''; width:6px; height:6px; border-radius:50%; background:var(--oa-accent); }
.oa-badge.cat-tech{ color:var(--oa-tag-tech); }
.oa-badge.cat-tech::before{ background:var(--oa-tag-tech); }
.oa-badge.cat-science{ color:var(--oa-tag-science); }
.oa-badge.cat-science::before{ background:var(--oa-tag-science); }
.oa-badge.cat-health{ color:var(--oa-tag-health); }
.oa-badge.cat-health::before{ background:var(--oa-tag-health); }

/* ---------- Grid / cards ---------- */
.oa-section-heading{ display:flex; align-items:baseline; justify-content:space-between; padding:40px 0 20px; }
.oa-section-heading h2{ font-size:22px; margin:0; }
.oa-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--oa-line); border:1px solid var(--oa-line); margin-bottom:64px; }
.oa-card{ background:var(--oa-bg-raised); display:flex; flex-direction:column; transition:background .2s ease; }
.oa-card:hover{ background:#FCFBF8; }
.oa-card-thumb{ aspect-ratio:16/10; overflow:hidden; background:var(--oa-accent-tint); }
.oa-card-thumb img{ width:100%; height:100%; object-fit:cover; }
.oa-card-body{ padding:24px 24px 28px; display:flex; flex-direction:column; gap:10px; flex:1; }
.oa-card-title{ font-size:19px; margin:0; }
.oa-card-excerpt{ color:var(--oa-ink-soft); font-size:14.5px; }
.oa-card-meta{ margin-top:auto; padding-top:8px; display:flex; align-items:center; gap:10px; font-size:12px; color:var(--oa-ink-soft); border-top:1px solid var(--oa-line); }

/* ---------- Article ---------- */
.oa-article{ max-width:720px; margin:0 auto; padding:64px 40px 120px; }
.oa-article-header{ margin-bottom:32px; text-align:left; }
.oa-article-title{ font-size:42px; margin-top:14px; }
.oa-article-meta{ color:var(--oa-ink-soft); font-size:13px; margin-top:14px; letter-spacing:.02em; border-top:1px solid var(--oa-line); border-bottom:1px solid var(--oa-line); padding:14px 0; }
.oa-article-content{ font-size:18px; }
.oa-article-content p{ margin:0 0 1.4em; }
.oa-article-content h2{ margin-top:1.6em; font-size:26px; }
.oa-source-note{ margin-top:44px; padding:20px 24px; background:var(--oa-bg); border-left:2px solid var(--oa-accent); font-size:14px; color:var(--oa-ink-soft); }
.oa-source-note a{ color:var(--oa-accent-dark); font-weight:600; }

/* ---------- Pagination ---------- */
.oa-pagination{ display:flex; justify-content:center; padding:24px 0 64px; }
.oa-pagination .nav-links,
.oa-pagination .page-numbers{ display:flex; align-items:center; gap:8px; list-style:none; margin:0; padding:0; }
.oa-pagination .page-numbers{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:40px; height:40px; padding:0 14px;
  border:1px solid var(--oa-line); border-radius:2px;
  color:var(--oa-ink-soft); font-size:13px; font-weight:600; letter-spacing:.02em;
  background:var(--oa-bg-raised); transition:all .18s ease;
}
.oa-pagination a.page-numbers:hover{ border-color:var(--oa-accent); color:var(--oa-accent-dark); }
.oa-pagination .page-numbers.current{ background:var(--oa-ink); border-color:var(--oa-ink); color:#fff; }
.oa-pagination .page-numbers.dots{ border:none; background:none; color:var(--oa-ink-soft); }

/* ---------- Footer ---------- */
.oa-footer{ background:var(--oa-bg-raised); color:var(--oa-ink-soft); padding:56px 40px 28px; margin-top:20px; border-top:1px solid var(--oa-line); }
.oa-footer-inner{ max-width:var(--oa-max-width); margin:0 auto; display:grid; grid-template-columns:2fr 1fr; gap:40px; }
.oa-footer h4{ color:var(--oa-ink); font-size:12px; text-transform:uppercase; letter-spacing:var(--oa-tracking); margin-bottom:16px; }
.oa-footer p, .oa-footer li{ font-size:14px; color:var(--oa-ink-soft); }
.oa-footer ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.oa-footer a:hover{ color:var(--oa-accent-dark); }
.oa-footer-bottom{ max-width:var(--oa-max-width); margin:40px auto 0; padding-top:20px; border-top:1px solid var(--oa-line); font-size:12px; color:var(--oa-ink-soft); }

/* ---------- 404 ---------- */
.oa-404{ max-width:600px; margin:0 auto; padding:100px 0 140px; text-align:center; }
.oa-404-title{ font-size:36px; margin:14px 0 16px; }
.oa-404-text{ color:var(--oa-ink-soft); font-size:16px; margin-bottom:32px; }
.oa-404-search{ display:flex; justify-content:center; margin-bottom:32px; }
.oa-404-search .oa-search-form{ max-width:420px; width:100%; }

/* ---------- Responsive ---------- */
@media (max-width: 960px){
  .oa-grid{ grid-template-columns:repeat(2,1fr); }
  .oa-footer-inner{ grid-template-columns:1fr 1fr; }
}
@media (max-width: 640px){
  .oa-container{ padding:0 20px; }
  .oa-grid{ grid-template-columns:1fr; }
  .oa-nav{ display:none; }
  .oa-article{ padding:40px 20px 80px; }
  .oa-article-title{ font-size:30px; }
  .oa-footer-inner{ grid-template-columns:1fr; }
}

a:focus-visible, button:focus-visible{ outline:2px solid var(--oa-accent); outline-offset:2px; }
@media (prefers-reduced-motion: reduce){ *{ animation:none !important; transition:none !important; } }
