/*
Theme Name: Tech Tapri
Theme URI: https://techtapri.com
Author: Tech Tapri
Description: Bold, dark, text-first news theme for Tech Tapri. Grab a chai. We're spilling tech tea.
Version: 1.2.4
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: techtapri
*/

:root{
  --tt-bg:#121212; --tt-surface:#1C1C1C; --tt-line:#2A2A2A;
  --tt-purple:#7C3AED; --tt-teal:#2EE6C5; --tt-lav:#A78BFA;
  --tt-text:#E6E6EA; --tt-muted:#A1A1AA; --tt-white:#FFFFFF;
  --tt-display:'Anton',Impact,sans-serif;
  --tt-tech:'Audiowide',sans-serif;
  --tt-body:'DM Sans',system-ui,sans-serif;
  --tt-wrap:1320px;
}
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--tt-bg);color:var(--tt-text);font-family:var(--tt-body);font-size:17px;line-height:1.6;}
::selection{background:var(--tt-purple);color:#fff;}
a{color:var(--tt-teal);}
a:hover{color:var(--tt-lav);}
img{max-width:100%;height:auto;}
.tt-wrap{max-width:var(--tt-wrap);margin:0 auto;padding:0 24px;}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}
.skip-link:focus{position:fixed;top:8px;left:8px;width:auto;height:auto;clip:auto;z-index:1000;background:var(--tt-teal);color:var(--tt-bg);padding:8px 14px;border-radius:4px;}

/* ---------- Header ---------- */
.tt-header{border-bottom:1px solid var(--tt-line);box-shadow:0 1px 0 rgba(124,58,237,.45);background:var(--tt-bg);}
.tt-header .tt-wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-top:18px;padding-bottom:18px;}
.tt-brand{font-family:var(--tt-tech);font-size:30px;line-height:1;color:var(--tt-white);text-decoration:none;letter-spacing:1px;}
.tt-brand span{color:var(--tt-teal);text-shadow:0 0 18px rgba(46,230,197,.55);}
.tt-brand:hover{color:var(--tt-white);}
.tt-brand img{max-height:44px;width:auto;display:block;}
.tt-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px;}
.tt-nav a{font-family:var(--tt-tech);font-size:13px;letter-spacing:1.5px;text-transform:uppercase;color:var(--tt-text);text-decoration:none;transition:color .15s,text-shadow .15s;}
.tt-nav a:hover,.tt-nav .current-menu-item > a,.tt-nav .current-cat > a{color:var(--tt-teal);text-shadow:0 0 12px rgba(46,230,197,.6);}

/* ---------- Shared bits ---------- */
.tt-main{padding:32px 0 64px;}
.tt-pill{display:inline-block;align-self:flex-start;font-family:var(--tt-tech);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--tt-teal);border:1px solid rgba(46,230,197,.5);border-radius:999px;padding:3px 10px;text-decoration:none;line-height:1.5;}
a.tt-pill:hover{background:rgba(46,230,197,.12);color:var(--tt-teal);}
.tt-pill--solid{color:var(--tt-bg);background:var(--tt-teal);border-color:var(--tt-teal);padding:6px 14px;font-size:12px;}
a.tt-pill--solid:hover{background:#fff;border-color:#fff;color:var(--tt-bg);}
.tt-kicker{margin:0 0 8px;font-family:var(--tt-tech);font-size:16px;letter-spacing:2px;text-transform:uppercase;color:var(--tt-lav);}
.tt-meta{margin:0;font-size:13px;color:var(--tt-muted);}

/* ---------- Homepage top ---------- */
.tt-top{display:flex;flex-wrap:wrap;gap:32px;align-items:stretch;}
.tt-lead{flex:999 1 640px;min-width:0;background-color:var(--tt-purple);background-image:radial-gradient(rgba(255,255,255,.18) 1.5px,transparent 1.5px);background-size:22px 22px;border-radius:4px;padding:48px 44px;display:flex;flex-direction:column;justify-content:flex-end;gap:18px;min-height:480px;}
.tt-lead h1,.tt-lead h2{margin:0;font-family:var(--tt-display);font-weight:400;font-size:92px;line-height:.95;text-transform:uppercase;letter-spacing:.5px;}
.tt-lead h1 a,.tt-lead h2 a{color:#fff;text-decoration:none;}
.tt-lead h1 a:hover,.tt-lead h2 a:hover{color:var(--tt-bg);}
.tt-lead .tt-dek{margin:0;font-size:20px;line-height:1.45;color:#F3EEFF;max-width:640px;}
.tt-lead .tt-meta{color:#E4D9FF;font-size:14px;}

.tt-hot{flex:1 1 320px;min-width:0;border:1px solid var(--tt-line);border-radius:4px;padding:28px;}
.tt-hot h2{margin:0 0 18px;font-family:var(--tt-tech);font-size:16px;letter-spacing:2px;text-transform:uppercase;color:var(--tt-teal);}
.tt-hot ol{margin:0;padding:0;list-style:none;}
.tt-hot li{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--tt-line);}
.tt-hot li:last-child{border-bottom:0;}
.tt-hot .tt-num{font-family:var(--tt-display);font-size:34px;line-height:1;color:var(--tt-lav);min-width:22px;}
.tt-hot li a{color:#fff;text-decoration:none;font-size:18px;font-weight:700;line-height:1.3;}
.tt-hot li a:hover{color:var(--tt-teal);}

/* ---------- Headline stream ---------- */
.tt-stream{margin-top:56px;}
.tt-item{display:flex;flex-wrap:wrap;gap:8px 28px;padding:28px 0;border-bottom:1px solid var(--tt-line);}
.tt-item .tt-when{flex:0 0 160px;font-size:13px;color:var(--tt-muted);padding-top:6px;}
.tt-item .tt-body{flex:999 1 480px;min-width:0;display:flex;flex-direction:column;gap:10px;}
.tt-item h3,.tt-item h2{margin:0;font-family:var(--tt-display);font-weight:400;font-size:44px;line-height:1.02;text-transform:uppercase;}
.tt-item h3 a,.tt-item h2 a{color:#fff;text-decoration:none;transition:color .15s,text-shadow .15s;}
.tt-item h3 a:hover,.tt-item h2 a:hover{color:var(--tt-teal);text-shadow:0 0 14px rgba(46,230,197,.45);}
.tt-item p{margin:0;font-size:17px;line-height:1.5;color:var(--tt-muted);}
.tt-empty{padding:48px 0;color:var(--tt-muted);}

/* ---------- Pagination ---------- */
.tt-pages{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px;font-family:var(--tt-tech);font-size:13px;letter-spacing:1px;text-transform:uppercase;}
.tt-pages .page-numbers{display:inline-block;padding:10px 16px;border:1px solid var(--tt-line);border-radius:4px;color:var(--tt-text);text-decoration:none;min-width:44px;text-align:center;}
.tt-pages .page-numbers.current,.tt-pages a.page-numbers:hover{border-color:var(--tt-teal);color:var(--tt-teal);}

/* ---------- Archive header ---------- */
.tt-archive-head{padding:24px 0 8px;border-bottom:1px solid var(--tt-purple);margin-bottom:8px;}
.tt-archive-head h1{margin:0;font-family:var(--tt-display);font-weight:400;font-size:88px;line-height:.95;text-transform:uppercase;color:#fff;}
.tt-archive-head p{margin:10px 0 18px;color:var(--tt-muted);}

/* ---------- Single post ---------- */
/* ---------- Content + rail ---------- */
.tt-with-rail{display:flex;flex-wrap:wrap;gap:64px;align-items:flex-start;}
.tt-with-rail > .tt-article,.tt-with-rail > .tt-stream{flex:999 1 640px;min-width:0;max-width:840px;}
.tt-with-rail--home{margin-top:56px;}
.tt-with-rail--home > .tt-stream{margin-top:0;}
.tt-rail{flex:1 1 300px;min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;align-items:start;}
@media (min-width:1100px){.tt-rail{position:sticky;top:24px;}}
.tt-rail-box{border:1px solid var(--tt-line);border-radius:4px;padding:24px;}
.tt-rail-title{margin:0 0 12px;font-family:var(--tt-tech);font-weight:400;font-size:15px;letter-spacing:2px;text-transform:uppercase;color:var(--tt-teal);}
.tt-rail-title a{color:inherit;text-decoration:none;}
.tt-rail-title a:hover{color:#fff;}
.tt-rail-title--alt{color:var(--tt-lav);}
.tt-rail-hot{margin:0;padding:0;list-style:none;}
.tt-rail-hot li{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--tt-line);}
.tt-rail-hot li:last-child{border-bottom:0;padding-bottom:0;}
.tt-rail-hot .tt-num{font-family:var(--tt-display);font-size:30px;line-height:1;color:var(--tt-lav);min-width:20px;}
.tt-rail-hot a,.tt-rail-links a{color:#fff;text-decoration:none;font-weight:700;line-height:1.35;}
.tt-rail-hot a{font-size:16px;}
.tt-rail-links{display:flex;flex-direction:column;gap:12px;}
.tt-rail-links a{font-size:15px;}
.tt-rail-hot a:hover,.tt-rail-links a:hover{color:var(--tt-teal);}
.tt-rail-pills{display:flex;flex-wrap:wrap;gap:8px;}
.tt-rail-pills .tt-pill{padding:6px 12px;}
.tt-article-head{display:flex;flex-direction:column;gap:16px;padding:16px 0 28px;border-bottom:1px solid var(--tt-line);margin-bottom:32px;}
.tt-article-head h1{margin:0;font-family:var(--tt-display);font-weight:400;font-size:72px;line-height:.98;text-transform:uppercase;color:#fff;}
.tt-article-head .tt-dek{margin:0;font-size:21px;line-height:1.45;color:var(--tt-text);}
.tt-content{font-size:18px;line-height:1.75;}
.tt-content p{margin:0 0 1.2em;}
.tt-content h2{font-family:var(--tt-tech);font-weight:400;color:#fff;font-size:24px;margin:40px 0 14px;}
.tt-content h3{font-family:var(--tt-tech);font-weight:400;color:#fff;font-size:20px;margin:32px 0 12px;}
.tt-content a{color:var(--tt-teal);text-underline-offset:3px;}
.tt-content ul,.tt-content ol{padding-left:1.3em;margin:0 0 1.2em;}
.tt-content li{margin-bottom:.4em;}
.tt-content blockquote{margin:28px 0;padding:6px 0 6px 20px;border-left:3px solid var(--tt-teal);color:#fff;font-size:20px;}
.tt-content img{border-radius:4px;}
/* "Rounded" image style = profile photo: auto square crop, circle, fixed size */
.tt-content .wp-block-image.is-style-rounded img,
.tt-content .is-style-rounded img,
.tt-content .wp-block-image.is-style-founder img{width:200px!important;height:200px!important;max-width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:999px;border:0;box-shadow:none;}
.tt-content .wp-block-image.is-style-rounded,.tt-content .wp-block-image.is-style-founder{margin:20px 0;}
.tt-content .wp-block-image.is-style-founder{display:flex;flex-direction:column;align-items:center;text-align:center;}
.tt-content .wp-block-image.is-style-rounded figcaption{text-align:left;}
.tt-content .wp-block-image.is-style-founder figcaption{text-align:center;font-family:var(--tt-tech);font-size:12px;letter-spacing:1.5px;text-transform:uppercase;}
.tt-content figure{margin:28px 0;}
.tt-content figcaption,.tt-content .wp-element-caption{font-size:14px;color:var(--tt-muted);margin-top:8px;}
.tt-content iframe,.tt-content video,.tt-content embed,.tt-content object{max-width:100%;border:0;border-radius:4px;}
.tt-content iframe[src*="youtube"],.tt-content iframe[src*="youtu.be"],.tt-content iframe[src*="vimeo"],.tt-content video{width:100%;height:auto;aspect-ratio:16/9;display:block;}
.tt-content .wp-block-embed{margin:28px 0;}
.tt-content .wp-block-embed__wrapper iframe{width:100%;height:auto;aspect-ratio:16/9;}
.tt-content table{width:100%;border-collapse:collapse;margin:0 0 1.2em;font-size:16px;display:block;overflow-x:auto;}
.tt-content th,.tt-content td{border:1px solid var(--tt-line);padding:10px 12px;text-align:left;}
.tt-content pre,.tt-content code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px;background:var(--tt-surface);border-radius:4px;}
.tt-content pre{padding:16px;overflow-x:auto;}
.tt-content code{padding:2px 6px;}

.tt-tldr{border:1px solid rgba(46,230,197,.55);background:rgba(46,230,197,.06);border-radius:12px;padding:16px 22px;margin:0 0 32px;}
.tt-tldr p{margin:0;}
.tt-tldr p strong{font-family:var(--tt-tech);font-weight:400;color:var(--tt-teal);letter-spacing:1.5px;}
.tt-tldr ul{margin:8px 0 0 18px;padding:0;}
.tt-tea{border:1px solid var(--tt-purple);background:rgba(124,58,237,.10);border-radius:12px;padding:18px 24px;margin:36px 0;box-shadow:0 0 28px rgba(124,58,237,.28);}
.tt-tea h2{margin-top:0!important;color:var(--tt-lav)!important;}
.tt-tea p:last-child{margin-bottom:0;}

.tt-tags{display:flex;flex-wrap:wrap;gap:8px;margin:36px 0 0;padding-top:24px;border-top:1px solid var(--tt-line);}

/* ---------- Pull quote ---------- */
.tt-content .tt-pull{margin:44px 0;display:flex;flex-direction:column;gap:14px;}
.tt-content .tt-pull::before{content:"";display:block;width:72px;height:12px;background:var(--tt-band,var(--tt-teal));}
.tt-content .tt-pull blockquote{margin:0;padding:0;border:0;font-family:var(--tt-display);font-size:46px;line-height:1.08;text-transform:uppercase;color:#fff;}
.tt-content .tt-pull blockquote p{margin:0;}
.tt-content .tt-pull figcaption{font-family:var(--tt-tech);font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--tt-muted);}

/* ---------- Featured images ---------- */
.tt-hero{margin:0 0 32px;}
.tt-hero img{display:block;width:100%;height:auto;border-radius:4px;}
.tt-hero figcaption{font-size:14px;color:var(--tt-muted);margin-top:8px;}
.tt-lead-img{display:block;margin:0 0 6px;}
.tt-lead-img img{display:block;width:100%;max-height:300px;object-fit:cover;border-radius:4px;}
.tt-item .tt-thumb{flex:0 0 220px;display:block;}
.tt-item .tt-thumb img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:4px;}

/* ---------- Editor-only note (readers never see it) ---------- */
.tt-note{border:2px dashed #FF5A1F;background:rgba(255,90,31,.08);border-radius:12px;padding:14px 20px;margin:0 0 28px;font-size:15px;line-height:1.55;}
.tt-note p{margin:0 0 6px;}
.tt-note ul{margin:0 0 10px 18px;padding:0;}

/* ---------- Feature header (stall-colored backdrop) ---------- */
.tt-main{overflow-x:clip;}
.tt-band{
  margin:-32px calc(50% - 50vw) 56px;
  background-color:var(--tt-band,var(--tt-teal));
  background-image:radial-gradient(rgba(0,0,0,.12) 1.5px,transparent 1.5px);
  background-size:22px 22px;
  color:var(--tt-band-ink,#121212);
}
.tt-band-inner{max-width:var(--tt-wrap);margin:0 auto;padding:72px 24px 80px;display:flex;flex-direction:column;gap:22px;}
.tt-band h1{margin:0;max-width:1100px;font-family:var(--tt-display);font-weight:400;font-size:112px;line-height:.92;text-transform:uppercase;color:var(--tt-band-ink,#121212);}
.tt-band .tt-dek{margin:0;max-width:760px;font-size:24px;line-height:1.4;color:var(--tt-band-ink,#121212);}
.tt-band .tt-meta{color:var(--tt-band-ink,#121212);opacity:.78;font-size:14px;}
.tt-band .tt-pill--solid{background:#121212;border-color:#121212;color:var(--tt-band,var(--tt-teal));}
.tt-band a.tt-pill--solid:hover{background:#fff;border-color:#fff;color:#121212;}
body.tt-feature .tt-header{background:var(--tt-band);border-bottom-color:rgba(0,0,0,.2);box-shadow:none;}
body.tt-feature .tt-brand,body.tt-feature .tt-brand span,body.tt-feature .tt-nav a{color:var(--tt-band-ink);text-shadow:none;}
body.tt-feature .tt-nav a:hover{opacity:.7;}

/* ---------- Sideways Hot Tea (rail) ---------- */
.tt-rail-box--hot{position:relative;overflow:hidden;border:0;padding:8px 72px 8px 0;}
.tt-hot-word{position:absolute;top:0;right:-6px;bottom:0;display:flex;align-items:center;writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;font-family:var(--tt-display);font-size:128px;line-height:.85;text-transform:uppercase;letter-spacing:2px;color:var(--tt-purple);pointer-events:none;z-index:0;}
.tt-rail-box--hot > *:not(.tt-hot-word){position:relative;z-index:1;}
.tt-rail-box--hot .tt-rail-title{font-size:14px;letter-spacing:2.5px;}
.tt-rail-box--hot .tt-rail-hot li{border-bottom-color:#fff;padding:18px 0;}
.tt-rail-box--hot .tt-rail-hot .tt-num{font-family:var(--tt-tech);font-size:18px;color:var(--tt-teal);}
.tt-rail-box--hot .tt-rail-hot a{font-size:19px;}
.tt-more{margin-top:56px;}

/* ---------- Pages ---------- */
.tt-page{max-width:780px;margin:0 auto;}
.tt-page h1{margin:16px 0 28px;font-family:var(--tt-display);font-weight:400;font-size:64px;line-height:1;text-transform:uppercase;color:#fff;}

/* ---------- Search form ---------- */
.tt-search{display:flex;gap:8px;max-width:520px;}
.tt-search input[type=search]{flex:1;min-width:0;background:var(--tt-surface);border:1px solid var(--tt-line);color:var(--tt-text);border-radius:4px;padding:12px 14px;font:inherit;}
.tt-search button{background:var(--tt-teal);color:var(--tt-bg);border:0;border-radius:4px;padding:12px 18px;font-family:var(--tt-tech);font-size:13px;letter-spacing:1px;text-transform:uppercase;cursor:pointer;min-height:44px;}
.tt-search button:hover{background:#fff;}

/* ---------- Footer ---------- */
.tt-footer{border-top:1px solid var(--tt-line);}
.tt-footer .tt-wrap{display:flex;flex-direction:column;gap:24px;padding-top:44px;padding-bottom:36px;font-size:14px;color:var(--tt-muted);}
.tt-footer-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;}
.tt-footer-brand{font-family:var(--tt-tech);font-size:34px;line-height:1;color:#fff;letter-spacing:1px;}
.tt-social{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;}
.tt-social .tt-pill{padding:8px 14px;font-size:12px;}
.tt-footer-links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px;}
.tt-footer-links a{color:#fff;text-decoration:none;font-weight:700;font-size:15px;}
.tt-footer-links a:hover{color:var(--tt-teal);}
.tt-footer-legal{margin:0;font-size:13px;color:var(--tt-muted);}
.tt-credit{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:15px;color:var(--tt-text);}
.tt-credit > a:not(.tt-pill){color:#fff;font-weight:700;text-decoration:none;}
.tt-credit > a:not(.tt-pill):hover{color:var(--tt-teal);}

/* ---------- Phones & tablets ---------- */
@media (max-width:900px){
  .tt-band h1{font-size:72px;}
  .tt-content .tt-pull blockquote{font-size:36px;}
  .tt-lead h1,.tt-lead h2{font-size:64px;}
  .tt-article-head h1{font-size:54px;}
  .tt-archive-head h1{font-size:64px;}
}
@media (max-width:600px){
  .tt-wrap{padding:0 16px;}
  .tt-lead{padding:32px 24px;min-height:360px;}
  .tt-lead h1,.tt-lead h2{font-size:46px;}
  .tt-item h3,.tt-item h2{font-size:32px;}
  .tt-item .tt-when{flex-basis:100%;padding-top:0;}
  .tt-item .tt-thumb{flex-basis:100%;order:-1;}
  .tt-band-inner{padding:48px 16px 56px;}
  .tt-band h1{font-size:48px;}
  .tt-band .tt-dek{font-size:19px;}
  .tt-content .tt-pull blockquote{font-size:30px;}
  .tt-hot-word{font-size:96px;}
  .tt-article-head h1{font-size:42px;}
  .tt-archive-head h1{font-size:48px;}
  .tt-page h1{font-size:44px;}
  .tt-brand{font-size:26px;}
}
