/*
Theme Name: U3 Serial
Theme URI: https://uncharted3game.com/
Description: The Uncharted Files — a pulp adventure-serial theme for uncharted3game.com. Aged-dossier aesthetic (sepia paper, halftone texture, rubber-stamp badges, typewriter meta, film-reel motifs) tuned for a text-first, image-sparse multi-game guides & news hub.
Author: uncharted3game.com
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: u3-serial
*/

:root{
  --paper:#efe4cb;
  --paper-2:#e7d9ba;
  --paper-3:#dcc9a0;
  --ink:#241a10;
  --ink-soft:#5a4632;
  --ink-faint:#8a745a;
  --oxblood:#9c2b1f;
  --brass:#a97522;
  --teal:#1f5c56;
  --edge:rgba(36,26,16,.25);
  --edge-2:rgba(36,26,16,.13);
  --shadow:rgba(36,26,16,.22);
  --wrap:1160px;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --slab:"Rockwell","Roboto Slab","Courier New",Georgia,serif;
  --type:"Courier New",ui-monospace,"SFMono-Regular",Menlo,monospace;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--serif);
  font-size:18px;
  line-height:1.68;
  color:var(--ink);
  background-color:var(--paper);
  background-image:
    radial-gradient(var(--edge-2) 1px, transparent 1.4px),
    linear-gradient(180deg, rgba(255,255,255,.35), rgba(220,201,160,.22));
  background-size:14px 14px, 100% 100%;
  background-attachment:fixed, scroll;
}
img{max-width:100%;height:auto}
a{color:var(--oxblood)}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 clamp(1rem,4vw,2rem)}

.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden;word-wrap:normal!important}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:1rem;top:1rem;background:var(--ink);color:var(--paper);padding:.6em 1em;z-index:100;border-radius:2px}

/* ---------- Rubber-stamp badges ---------- */
.stamp{
  display:inline-block;font-family:var(--type);font-weight:700;
  text-transform:uppercase;letter-spacing:.14em;font-size:.62rem;
  color:var(--oxblood);border:2px solid var(--oxblood);
  padding:.28em .5em;border-radius:3px;line-height:1;
  background:rgba(156,43,31,.06);transform:rotate(-2.2deg);
  text-decoration:none;white-space:nowrap;
}
a.stamp:hover{background:var(--oxblood);color:var(--paper)}
.stamp--reel{color:var(--teal);border-color:var(--teal);background:rgba(31,92,86,.06);transform:rotate(-1.4deg)}
.stamp--tag,.stamp--tagsm{color:var(--teal);border-color:var(--teal);background:rgba(31,92,86,.06);transform:rotate(1.4deg)}
a.stamp--tag:hover,a.stamp--tagsm:hover{background:var(--teal);color:var(--paper)}
.stamp--end{color:var(--paper-3);border-color:var(--brass);background:transparent;transform:rotate(-1deg)}

/* ---------- Header ---------- */
.reel-strip{
  height:18px;background-color:#1c140c;
  background-image:repeating-linear-gradient(90deg, transparent 0 7px, var(--paper) 7px 15px, transparent 15px 24px);
  background-size:24px 100%;background-position:center;
}
.site-header{border-bottom:1px solid var(--edge)}
.header-inner{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;padding:1.4rem 0}
.brand{margin-right:auto}
.site-title{margin:0;font-family:var(--slab);font-weight:700;font-size:clamp(1.7rem,4.5vw,2.7rem);text-transform:uppercase;letter-spacing:.01em;line-height:1}
.site-title a{color:var(--ink);text-decoration:none;text-shadow:1px 1px 0 var(--paper-3)}
.site-title a:hover{color:var(--oxblood)}
.site-tagline{margin:.6rem 0 0}
.custom-logo{max-height:72px;width:auto}

.primary-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:.2rem;flex-wrap:wrap}
.primary-nav a{font-family:var(--type);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;color:var(--ink);text-decoration:none;padding:.55em .7em;border:1px solid transparent;border-radius:3px;display:inline-block}
.primary-nav a:hover,.primary-nav .current-cat>a,.primary-nav .current-menu-item>a{border-color:var(--edge);background:rgba(36,26,16,.06);color:var(--oxblood)}

.nav-toggle{display:none}

.dispatch-ribbon{
  background:var(--oxblood);color:var(--paper);
  font-family:var(--type);text-transform:uppercase;letter-spacing:.22em;
  font-size:.6rem;text-align:center;padding:.55em 1em;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap;
}

/* ---------- Layout ---------- */
.site-main{padding:2.4rem 0 3rem}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:2.6rem;align-items:start}
@media(max-width:920px){.layout{grid-template-columns:1fr}}

.reel-header{margin:0 0 1.8rem;padding-bottom:1.2rem;border-bottom:3px double var(--edge)}
.reel-title{font-family:var(--slab);font-weight:700;text-transform:uppercase;font-size:clamp(1.5rem,4vw,2.2rem);margin:0;display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;line-height:1.12}
.reel-sub{font-family:var(--type);color:var(--ink-soft);margin:.7rem 0 0;font-size:.85rem}

/* ---------- Dossier cards ---------- */
.dossier-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem}
@media(max-width:620px){.dossier-grid{grid-template-columns:1fr}}
.dossier{position:relative;background:var(--paper-2);border:1px solid var(--edge);border-radius:2px;box-shadow:3px 4px 0 var(--shadow);display:flex;flex-direction:column;overflow:hidden}
.dossier__tape{position:absolute;top:-9px;left:50%;transform:translateX(-50%) rotate(-3deg);width:84px;height:22px;background:rgba(169,117,34,.32);border-left:1px dashed rgba(36,26,16,.2);border-right:1px dashed rgba(36,26,16,.2);z-index:2}
.dossier__photo{display:block;aspect-ratio:16/9;overflow:hidden;border-bottom:1px solid var(--edge);background:var(--ink)}
.dossier__photo img{width:100%;height:100%;object-fit:cover;filter:sepia(.55) contrast(1.02) brightness(.98)}
.dossier__body{padding:1.5rem 1.35rem 1.5rem;display:flex;flex-direction:column;gap:.55rem;flex:1}
.dossier__meta{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.file-no{font-family:var(--type);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}
.dossier__title{font-family:var(--slab);font-weight:700;font-size:1.28rem;line-height:1.18;margin:.15rem 0 0}
.dossier__title a{color:var(--ink);text-decoration:none}
.dossier__title a:hover{color:var(--oxblood)}
.dossier__byline{font-family:var(--type);font-size:.68rem;letter-spacing:.06em;color:var(--ink-soft);margin:0}
.dossier__excerpt{font-size:.95rem;color:var(--ink-soft);margin:0}
.dossier__excerpt p{margin:0}
.open-file{margin-top:auto;font-family:var(--type);text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;color:var(--oxblood);text-decoration:none;font-weight:700;padding-top:.5rem}
.open-file:hover{text-decoration:underline}

/* ---------- Single / page ---------- */
.case-file{background:var(--paper-2);border:1px solid var(--edge);box-shadow:4px 5px 0 var(--shadow);padding:clamp(1.4rem,4vw,2.6rem);border-radius:2px}
.case-header{border-bottom:3px double var(--edge);padding-bottom:1.2rem;margin-bottom:1.5rem}
.case-meta{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;margin-bottom:.9rem}
.case-title{font-family:var(--slab);font-weight:700;text-transform:uppercase;font-size:clamp(1.8rem,4.6vw,2.7rem);line-height:1.08;margin:0;letter-spacing:.005em}
.case-byline{font-family:var(--type);font-size:.75rem;letter-spacing:.08em;color:var(--ink-soft);margin:.8rem 0 0}
.case-photo{margin:0 0 1.6rem;border:1px solid var(--edge);padding:6px;background:var(--paper)}
.case-photo img{display:block;width:100%;height:auto;filter:sepia(.5) contrast(1.02)}
.case-body{font-size:1.06rem}
.case-body>p:first-of-type::first-letter{float:left;font-family:var(--slab);font-weight:700;font-size:4.2em;line-height:.72;padding:.06em .12em 0 0;color:var(--oxblood)}

.entry-content p{margin:0 0 1.2em}
.entry-content h2{font-family:var(--slab);text-transform:uppercase;font-size:1.5rem;letter-spacing:.01em;margin:1.7em 0 .5em;padding-bottom:.22em;border-bottom:2px solid var(--edge)}
.entry-content h3{font-family:var(--slab);font-size:1.22rem;margin:1.5em 0 .4em}
.entry-content h4{font-family:var(--slab);font-size:1.05rem;text-transform:uppercase;letter-spacing:.04em;margin:1.4em 0 .4em}
.entry-content a{color:var(--oxblood);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.entry-content a:hover{background:rgba(156,43,31,.1)}
.entry-content ul,.entry-content ol{margin:0 0 1.2em;padding-left:1.4em}
.entry-content li{margin:.35em 0}
.entry-content blockquote{margin:1.6em 0;padding:.7em 1.2em;border-left:4px solid var(--oxblood);background:rgba(169,117,34,.1);font-style:italic}
.entry-content blockquote p:last-child{margin-bottom:0}
.entry-content img{border:1px solid var(--edge);padding:5px;background:var(--paper)}
.entry-content code{font-family:var(--type);background:rgba(36,26,16,.08);padding:.1em .35em;border-radius:2px;font-size:.9em}
.entry-content pre{font-family:var(--type);background:var(--ink);color:var(--paper);padding:1em;overflow:auto;border-radius:3px}
.entry-content pre code{background:none;padding:0}
.entry-content table{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:.95rem;display:block;overflow-x:auto}
.entry-content th,.entry-content td{border:1px solid var(--edge);padding:.5em .7em;text-align:left}
.entry-content th{background:rgba(36,26,16,.09);font-family:var(--type);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem}
.entry-content tr:nth-child(even) td{background:rgba(255,255,255,.25)}

.case-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.6rem;padding-top:1.2rem;border-top:1px dashed var(--edge)}

.post-nav{display:flex;justify-content:space-between;gap:1rem;margin:1.8rem 0;font-family:var(--type);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}
.post-nav a{color:var(--ink);text-decoration:none;border:1px solid var(--edge);padding:.6em .9em;background:var(--paper-2);display:inline-block;border-radius:2px}
.post-nav a:hover{border-color:var(--oxblood);color:var(--oxblood)}
.post-nav .next{margin-left:auto;text-align:right}

/* ---------- Sidebar ---------- */
.sidebar .widget{background:var(--paper-2);border:1px solid var(--edge);box-shadow:2px 3px 0 var(--shadow);padding:1.2rem 1.2rem 1.3rem;margin:0 0 1.5rem;border-radius:2px}
.widget-title{font-family:var(--slab);text-transform:uppercase;font-size:1rem;letter-spacing:.06em;margin:0 0 .9rem;padding-bottom:.5rem;border-bottom:2px solid var(--oxblood)}
.sidebar ul{list-style:none;margin:0;padding:0}
.sidebar li{padding:.42em 0;border-bottom:1px dashed var(--edge);font-family:var(--type);font-size:.82rem}
.sidebar li:last-child{border-bottom:0}
.sidebar a{color:var(--ink);text-decoration:none}
.sidebar a:hover{color:var(--oxblood)}
.sidebar .children{padding-left:1rem}

.search-form{display:flex;gap:.4rem}
.search-field{flex:1;min-width:0;font-family:var(--type);font-size:.82rem;padding:.55em .7em;border:1px solid var(--edge);background:var(--paper);color:var(--ink);border-radius:2px}
.search-submit{font-family:var(--type);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;background:var(--oxblood);color:var(--paper);border:0;padding:0 .9em;cursor:pointer;border-radius:2px}
.search-submit:hover{background:var(--ink)}

/* ---------- Pagination ---------- */
.pagination{margin:2.4rem 0 0}
.pagination .nav-links{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center;font-family:var(--type)}
.pagination a,.pagination .current,.pagination .dots{display:inline-block;padding:.5em .8em;border:1px solid var(--edge);text-decoration:none;color:var(--ink);background:var(--paper-2);text-transform:uppercase;letter-spacing:.06em;font-size:.74rem;border-radius:2px}
.pagination .current{background:var(--oxblood);color:var(--paper);border-color:var(--oxblood)}
.pagination .dots{border-color:transparent;background:transparent}
.pagination a:hover{border-color:var(--oxblood);color:var(--oxblood)}

/* ---------- Footer ---------- */
.site-footer{background:var(--ink);color:var(--paper-3);margin-top:3rem;border-top:4px solid var(--oxblood)}
.footer-widgets{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;padding:2.6rem 0 1.6rem}
@media(max-width:760px){.footer-widgets{grid-template-columns:1fr;gap:1.4rem}}
.footer-widgets .widget-title{color:var(--paper);border-color:var(--brass)}
.footer-widgets a{color:var(--paper-3);text-decoration:none}
.footer-widgets a:hover{color:#fff}
.footer-widgets ul{list-style:none;margin:0;padding:0}
.footer-widgets li{padding:.35em 0;border-bottom:1px dashed rgba(239,228,203,.18);font-family:var(--type);font-size:.8rem}
.footer-widgets .search-field{background:#2f2416;color:var(--paper);border-color:rgba(239,228,203,.25)}
.colophon{text-align:center;padding:1.6rem 0 2.2rem;border-top:1px solid rgba(239,228,203,.14)}
.fineprint{font-family:var(--type);font-size:.72rem;letter-spacing:.05em;color:var(--ink-faint);margin:.9rem 0 0}

/* ---------- Mobile nav ---------- */
@media(max-width:920px){
  .nav-toggle{display:inline-flex;align-items:center;gap:.55rem;background:var(--paper-2);border:1px solid var(--edge);padding:.55em .8em;font-family:var(--type);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;cursor:pointer;border-radius:2px;color:var(--ink)}
  .nav-toggle .bars,.nav-toggle .bars::before,.nav-toggle .bars::after{content:"";display:block;width:18px;height:2px;background:var(--ink)}
  .nav-toggle .bars{position:relative}
  .nav-toggle .bars::before{position:absolute;top:-5px;left:0}
  .nav-toggle .bars::after{position:absolute;top:5px;left:0}
  .primary-nav{flex-basis:100%;display:none}
  .primary-nav.is-open{display:block;padding-bottom:.8rem}
  .primary-nav ul{flex-direction:column;gap:0}
  .primary-nav li{border-bottom:1px dashed var(--edge)}
  .primary-nav a{display:block;padding:.7em .4em}
}
