/*
Theme Name: Hamilton Auto FT8
Theme URI: https://autoft8.com
Author: Andrei Ivanoff
Author URI: https://qslworld.com
Description: Proper WordPress theme for the Hamilton Auto FT8 site. Home and Setup content is fully editable as normal WordPress Pages (via a block pattern that preserves the design), navigation is managed in Appearance > Menus, and shared values like the version number and download filenames live in Appearance > Hamilton Settings. Multilingual via one Page per language plus a language-switcher menu.
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: Proprietary
Text Domain: autoft8
*/

:root{
  --bg:#181513; --bg-card:#1f1a16;
  --ink:#ece2c8; --ink-dim:#b8ad96; --ink-faint:#7a7367;
  --amber:#d29842; --amber-glow:rgba(210,152,66,0.18); --amber-line:rgba(210,152,66,0.35);
  --red:#d05a4a; --green:#8bb074;
  --rule:rgba(236,226,200,0.12);
  --serif:'Bitter',Georgia,serif;
  --sans:'IBM Plex Sans','Noto Sans JP','Noto Sans KR','Noto Sans SC',system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.65;font-size:16px;
  background-image:radial-gradient(ellipse at top,#2a2520 0%,transparent 50%),radial-gradient(ellipse at bottom right,rgba(210,152,66,0.04) 0%,transparent 60%);
  min-height:100vh;-webkit-font-smoothing:antialiased;}
a{color:var(--amber);}
.shell{max-width:880px;margin:0 auto;padding:60px 32px 80px;}

/* Top bar + language picker + menu */
.top-bar{display:flex;justify-content:space-between;align-items:center;padding-bottom:22px;margin-bottom:40px;border-bottom:1px solid var(--rule);flex-wrap:wrap;gap:12px;}
.meta-strip{font-family:var(--mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-faint);display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;}
.aft-mainnav{display:flex;gap:20px;font-family:var(--mono);font-size:12px;letter-spacing:0.08em;text-transform:uppercase;list-style:none;align-items:center;}
.aft-mainnav a{color:var(--ink-faint);text-decoration:none;}
.aft-mainnav a:hover{color:var(--amber);}
.aft-mainnav .current-menu-item>a{color:var(--amber);}
.lang-picker{position:relative;}
.lang-picker-button{font-family:var(--mono);font-size:12px;letter-spacing:0.06em;color:var(--ink-dim);background:none;border:1px solid var(--rule);border-radius:6px;padding:6px 12px;cursor:pointer;display:flex;gap:8px;align-items:center;text-transform:uppercase;}
.lang-picker-button:hover{color:var(--amber);border-color:var(--amber-line);}
.lang-picker-button svg{width:10px;height:10px;opacity:0.7;}
.lang-picker-menu{position:absolute;right:0;top:calc(100% + 6px);background:var(--bg-card);border:1px solid var(--rule);border-radius:8px;padding:6px;display:none;min-width:160px;z-index:50;max-height:320px;overflow:auto;}
.lang-picker-menu.open{display:block;}
.lang-picker-menu a{display:flex;gap:10px;align-items:center;padding:7px 10px;font-size:13px;color:var(--ink-dim);text-decoration:none;border-radius:5px;}
.lang-picker-menu a:hover{background:rgba(210,152,66,0.1);color:var(--amber);}
.lang-picker-menu a.current{color:var(--amber);}
.lang-picker-menu .code{font-family:var(--mono);font-size:10px;text-transform:uppercase;color:var(--ink-faint);width:18px;}

/* Hero */
.hero{margin-bottom:56px;}
.hero-eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--amber);margin-bottom:18px;}
.hero h1{font-family:var(--serif);font-size:54px;line-height:1.05;font-weight:800;letter-spacing:-0.02em;margin-bottom:22px;}
.hero h1 .accent{color:var(--amber);}
.hero-lede{font-size:19px;color:var(--ink-dim);max-width:640px;}

/* Sequence */
.sequence{margin-bottom:56px;}
.sequence-label{font-family:var(--mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:18px;}
.sequence-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
.seq-step{background:var(--bg-card);border:1px solid var(--rule);border-radius:8px;padding:16px;}
.seq-num{font-family:var(--mono);font-size:12px;color:var(--amber);margin-bottom:8px;}
.seq-title{font-family:var(--serif);font-weight:600;font-size:15px;margin-bottom:6px;}
.seq-detail{font-size:12.5px;color:var(--ink-faint);line-height:1.5;}

/* Triplet */
.triplet{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-bottom:56px;}
.triplet .item .num{font-family:var(--mono);font-size:12px;color:var(--amber);margin-bottom:10px;}
.triplet .item h3{font-family:var(--serif);font-size:19px;font-weight:700;margin-bottom:10px;}
.triplet .item p{font-size:14.5px;color:var(--ink-dim);}

/* Download card */
.download-card{background:var(--bg-card);border:1px solid var(--amber-line);border-radius:12px;padding:34px;margin-bottom:36px;}
.download-grid{display:flex;justify-content:space-between;gap:32px;align-items:center;flex-wrap:wrap;}
.download-meta h2{font-family:var(--serif);font-size:26px;font-weight:700;margin-bottom:8px;}
.download-meta>p{color:var(--ink-dim);margin-bottom:18px;}
.download-specs{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;font-size:13px;}
.download-specs dt{font-family:var(--mono);font-size:11px;letter-spacing:0.08em;color:var(--ink-faint);text-transform:uppercase;}
.download-specs dd{color:var(--ink-dim);}
.btn-download{display:inline-flex;gap:10px;align-items:center;background:var(--amber);color:#1a1410;font-weight:700;font-size:16px;padding:16px 28px;border-radius:8px;text-decoration:none;white-space:nowrap;}
.btn-download:hover{filter:brightness(1.08);}
.btn-download svg{width:18px;height:18px;}
.download-secondary{margin-top:22px;padding-top:18px;border-top:1px solid var(--rule);font-size:13.5px;color:var(--ink-dim);display:flex;gap:12px;flex-wrap:wrap;align-items:center;}
.download-secondary a{text-decoration:none;}
.download-secondary .sep{color:var(--ink-faint);}

/* Help banner */
.help-banner{display:flex;justify-content:space-between;align-items:center;gap:24px;background:rgba(210,152,66,0.06);border:1px solid var(--rule);border-radius:10px;padding:24px 28px;margin-bottom:36px;flex-wrap:wrap;}
.help-banner h3{font-family:var(--serif);font-size:19px;margin-bottom:6px;}
.help-banner p{font-size:14px;color:var(--ink-dim);max-width:520px;}
.help-banner-cta{display:inline-flex;gap:8px;align-items:center;font-family:var(--mono);font-size:12px;letter-spacing:0.06em;text-transform:uppercase;color:var(--amber);text-decoration:none;white-space:nowrap;}
.help-banner-cta svg{width:16px;height:16px;}

/* Notice */
.notice{border:1px solid var(--rule);border-left:3px solid var(--red);border-radius:8px;padding:26px 28px;margin-bottom:48px;background:rgba(208,90,74,0.04);}
.notice-label{font-family:var(--mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--red);margin-bottom:12px;}
.notice h3{font-family:var(--serif);font-size:20px;margin-bottom:14px;}
.notice p{font-size:14.5px;color:var(--ink-dim);margin-bottom:12px;}
.notice .citation{font-size:12.5px;color:var(--ink-faint);}

/* Footer */
footer.aft-footer{border-top:1px solid var(--rule);padding-top:24px;font-family:var(--mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;}
footer.aft-footer a{color:var(--ink-faint);text-decoration:none;}
footer.aft-footer a:hover{color:var(--amber);}

/* Generic article (tutorials, pages, posts) */
.aft-article-title{font-family:var(--serif);font-size:40px;line-height:1.12;font-weight:800;letter-spacing:-0.015em;margin-bottom:10px;}
.aft-article-meta{font-family:var(--mono);font-size:12px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:28px;}
.aft-article-body{font-size:17px;}
.aft-article-body h2{font-family:var(--serif);font-size:26px;font-weight:700;margin:38px 0 14px;padding-top:12px;border-top:1px solid var(--rule);}
.aft-article-body h3{font-family:var(--serif);font-size:20px;font-weight:600;color:var(--amber);margin:26px 0 10px;}
.aft-article-body p{margin-bottom:16px;}
.aft-article-body ul,.aft-article-body ol{margin:0 0 18px 22px;color:var(--ink-dim);}
.aft-article-body li{margin-bottom:8px;}
.aft-article-body code{font-family:var(--mono);font-size:0.9em;background:rgba(236,226,200,0.08);padding:2px 6px;border-radius:4px;}
.aft-article-body table{width:100%;border-collapse:collapse;margin:18px 0 24px;font-size:15px;}
.aft-article-body th,.aft-article-body td{text-align:left;padding:10px 14px;border:1px solid var(--rule);vertical-align:top;}
.aft-article-body th{background:rgba(210,152,66,0.08);font-weight:600;white-space:nowrap;}
.aft-article-body td{color:var(--ink-dim);}

/* Archive cards */
.aft-archive-head h1{font-family:var(--serif);font-size:34px;font-weight:800;margin-bottom:32px;}
.aft-card-list{display:flex;flex-direction:column;gap:24px;}
.aft-card{background:var(--bg-card);border:1px solid var(--rule);border-radius:10px;padding:24px 26px;}
.aft-card-title{font-family:var(--serif);font-size:22px;font-weight:700;margin-bottom:8px;}
.aft-card-title a{color:var(--ink);text-decoration:none;}
.aft-card-title a:hover{color:var(--amber);}
.aft-card-excerpt{color:var(--ink-dim);margin-bottom:14px;}
.aft-card-more{font-family:var(--mono);font-size:12px;letter-spacing:0.06em;text-transform:uppercase;text-decoration:none;}

@media(max-width:760px){
  .shell{padding:40px 20px 60px;}
  .hero h1{font-size:38px;}
  .sequence-flow{grid-template-columns:repeat(2,1fr);}
  .triplet{grid-template-columns:1fr;}
}

.aft-article-body .note,.note{background:rgba(210,152,66,0.06);border-left:3px solid var(--amber-line);border-radius:6px;padding:12px 16px;margin:14px 0;font-size:15px;color:var(--ink-dim);}
.note strong{color:var(--amber);font-family:var(--mono);font-size:11px;text-transform:uppercase;}


/* Image hero (English home) */
.hero-image{margin:0 0 56px;}
.hero-image img{display:block;width:100%;height:auto;border-radius:8px;}

/* Custom logo replacing the brand text in the top bar */
.meta-strip .aft-has-logo{display:inline-flex;align-items:center;line-height:0;}
.meta-strip .aft-has-logo img,
.meta-strip .aft-logo-img,
.meta-strip img.custom-logo{
  max-height:40px !important;
  max-width:200px !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain;
  display:block;
}

/* Hamilton Pro — highlighted CTA in the main nav. */
.aft-mainnav .aft-nav-cta > a{
  color:#fff;
  background:#0e9f5a;
  padding:6px 14px;
  border-radius:6px;
  font-weight:600;
  letter-spacing:0.06em;
  transition:background .15s ease;
}
.aft-mainnav .aft-nav-cta > a:hover{
  background:#0c8a4e;
  color:#fff;
}

/* "NEW" badge on the Programming Tool button */
.aft-mainnav .aft-nav-cta > a{ position:relative; }
.aft-nav-badge{
  position:absolute; top:-8px; right:-10px;
  background:#d6332e; color:#fff;
  font-size:9px; font-weight:700; letter-spacing:0.08em;
  padding:2px 6px; border-radius:10px; line-height:1.4; text-transform:uppercase;
}

/* Force the logo/tagline strip onto its own row so the nav sits below it */
.top-bar .meta-strip{ flex:1 1 100%; }

/* PMPro section headings sit on the dark page bg — make them readable */
.pmpro_section_title,
.aft-article-body .pmpro_section_title{ color:var(--ink); }
