/*
Theme Name: Nevada Appellate Report
Theme URI: https://www.jeffjaeger.com/nvapp/
Author: Built for The Law Offices of Jeffrey Jaeger, CHTD
Author URI: https://www.jeffjaeger.com/
Description: A clean, editorial theme for the Nevada Appellate Report blog. Journal-style layout with a Nevada Supreme Court courthouse banner, card-based homepage, and the firm's maroon (#8E1C20) palette. Built so the previous theme can stay installed as a rollback. Activate on the nvapp subsite only.
Version: 1.0.7
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nevada-appellate-report
Tags: blog, two-columns, right-sidebar, custom-header, custom-menu, featured-images, editorial
*/

/* 1. Design tokens */
:root{
  --nar-maroon:#8E1C20;
  --nar-maroon-dark:#5a1216;
  --nar-maroon-deep:#42100f;
  --nar-ink:#242424;
  --nar-body:#33332f;
  --nar-muted:#8a8a83;
  --nar-lavender:#827D9B;
  --nar-bluegray:#D2D8E2;
  --nar-gold:#d9b46a;
  --nar-cream:#fdf6ee;
  --nar-page:#ffffff;
  --nar-soft:#faf9f7;
  --nar-card-border:#eceae6;
  --nar-line:#eeeeee;
  --nar-radius:10px;
  --nar-content:720px;
  --nar-serif:Georgia,"Times New Roman","PT Serif",serif;
  --nar-sans:"PT Sans","Trebuchet MS","Lucida Grande",Tahoma,sans-serif;
}

/* 2. Base */
*{box-sizing:border-box;}
body{margin:0;font-family:var(--nar-sans);font-size:17px;line-height:1.7;color:var(--nar-body);background:var(--nar-page);-webkit-font-smoothing:antialiased;}
a{color:var(--nar-maroon);text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%;height:auto;}
h1,h2,h3,h4{font-family:var(--nar-serif);color:var(--nar-ink);line-height:1.3;font-weight:700;}
.nar-skip-link{position:absolute;left:-9999px;}
.nar-skip-link:focus{left:8px;top:8px;background:#fff;padding:8px 14px;z-index:1000;border:2px solid var(--nar-maroon);}
.nar-container{max-width:1120px;margin:0 auto;padding:0 22px;}

/* 3. Top utility bar */
.nar-topbar{background:var(--nar-ink);color:#cfcfca;font-size:12px;letter-spacing:.04em;}
.nar-topbar .nar-container{display:flex;justify-content:space-between;align-items:center;height:38px;}
.nar-topbar a{color:#e7e7e2;}
.nar-topbar .nar-kicker{text-transform:uppercase;font-weight:700;letter-spacing:.12em;color:var(--nar-bluegray);}
.nar-topbar-logo{display:inline-flex;align-items:center;}
.nar-topbar-logo img,.nar-topbar img{max-height:26px;width:auto;}

/* 4. Header / banner */
.nar-banner{position:relative;background:var(--nar-maroon);overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;}
.nar-banner-art{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(1120px,100%);height:auto;display:block;}
.nar-banner.has-photo{background-position:center;background-size:cover;background-repeat:no-repeat;}
.nar-banner.has-photo:before{content:"";position:absolute;inset:0;background:rgba(56,12,14,.62);}
.nar-banner-inner{position:relative;z-index:2;text-align:center;padding:54px 22px 46px;}
.nar-site-title{margin:0;font-size:40px;letter-spacing:.02em;color:var(--nar-cream);text-shadow:0 1px 6px rgba(0,0,0,.28);}
.nar-site-title a{color:inherit;text-decoration:none;}
.nar-site-desc{margin:8px 0 0;font-family:var(--nar-serif);font-style:italic;font-size:16px;color:#f0d9da;}
.has-photo .nar-site-desc{color:#f3e7e7;}
.nar-custom-logo{max-height:64px;width:auto;margin-bottom:6px;}

/* 5. Navigation */
.nar-nav{background:var(--nar-soft);border-bottom:1px solid var(--nar-line);}
.nar-nav .nar-container{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:46px;}
.nar-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px;}
.nar-nav li{position:relative;}
.nar-nav a{display:block;padding:13px 16px;font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#444;text-decoration:none;}
.nar-nav a:hover,.nar-nav .current-menu-item>a{color:var(--nar-maroon);}
.nar-nav .current-menu-item>a{box-shadow:inset 0 -3px 0 var(--nar-maroon);}
.nar-nav .sub-menu{display:none;position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--nar-card-border);min-width:200px;z-index:50;box-shadow:0 8px 20px rgba(0,0,0,.08);}
.nar-nav li:hover>.sub-menu{display:block;}
.nar-nav .sub-menu a{text-transform:none;letter-spacing:0;font-weight:400;padding:9px 14px;}
.nar-menu-toggle{display:none;background:none;border:1px solid var(--nar-card-border);border-radius:6px;padding:7px 12px;font-family:var(--nar-sans);font-size:13px;cursor:pointer;}

/* 6. Layout */
.nar-layout{display:grid;grid-template-columns:1fr 296px;gap:44px;padding:38px 0 10px;}
.nar-main{min-width:0;}
@media(max-width:900px){.nar-layout{grid-template-columns:1fr;gap:34px;}}

/* 7. Homepage hero */
.nar-hero{background:var(--nar-maroon);color:#fff;border-radius:14px;padding:30px 32px;margin-bottom:28px;}
.nar-hero-kicker{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#f0c9cb;margin-bottom:10px;}
.nar-hero-title{font-size:27px;line-height:1.25;margin:0 0 10px;color:#fff;}
.nar-hero-title a{color:#fff;}
.nar-hero-title a:hover{color:#fff;text-decoration:underline;}
.nar-hero-excerpt{font-size:15.5px;line-height:1.65;color:#f4dede;margin:0 0 16px;}
.nar-hero .nar-chips .nar-chip{background:rgba(255,255,255,.16);color:#fff;border-color:transparent;}

/* 8. Post cards */
.nar-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
@media(max-width:620px){.nar-card-grid{grid-template-columns:1fr;}}
.nar-card{border:1px solid var(--nar-card-border);border-radius:var(--nar-radius);overflow:hidden;display:flex;flex-direction:column;background:#fff;transition:box-shadow .15s ease,transform .15s ease;}
.nar-card:hover{box-shadow:0 10px 26px rgba(66,16,15,.10);transform:translateY(-2px);}
.nar-card-head{display:flex;gap:13px;align-items:center;padding:14px 16px;background:#f8f2f2;border-bottom:1px solid var(--nar-line);}
.nar-datechip{flex:0 0 auto;background:var(--nar-maroon);color:#fff;border-radius:7px;padding:6px 9px;text-align:center;line-height:1.05;min-width:46px;}
.nar-datechip .m{display:block;font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;}
.nar-datechip .d{display:block;font-size:17px;font-weight:700;}
.nar-card-head h3{margin:0;font-size:16px;line-height:1.25;}
.nar-card-head h3 a{color:var(--nar-ink);}
.nar-card-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:12px;flex:1;}
.nar-card-thumb{margin:-14px -16px 0;border-bottom:1px solid var(--nar-line);}
.nar-card-thumb img{width:100%;height:158px;object-fit:cover;display:block;}
.nar-card-excerpt{font-size:13.5px;line-height:1.6;color:var(--nar-body);margin:0;}
.nar-card-meta{margin-top:auto;}
.nar-chips{display:flex;flex-wrap:wrap;gap:7px;}
.nar-chip{font-size:11px;line-height:1;padding:5px 10px;border-radius:11px;border:1px solid var(--nar-card-border);color:#666;white-space:nowrap;}
.nar-chip.is-cat{color:var(--nar-maroon);border-color:#e6cccd;}
.nar-chip.is-count{color:#fff;background:var(--nar-lavender);border-color:transparent;}

/* 9. Single post / pages */
.nar-article{max-width:var(--nar-content);}
.nar-article .nar-eyebrow{color:var(--nar-maroon);font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;}
.nar-entry-title{font-size:30px;line-height:1.25;margin:8px 0 10px;}
.nar-byline{color:var(--nar-muted);font-size:13.5px;font-style:italic;border-bottom:1px solid var(--nar-line);padding-bottom:16px;margin-bottom:22px;}
.nar-entry-content{font-size:17px;line-height:1.8;}
.nar-entry-content p{margin:0 0 1.25em;}
.nar-entry-content h2{font-size:23px;margin:1.6em 0 .5em;}
.nar-entry-content h3{font-size:19px;margin:1.4em 0 .5em;}
.nar-entry-content a{text-decoration:underline;text-decoration-color:#d9b6b7;text-underline-offset:2px;}
.nar-entry-content a:hover{text-decoration-color:var(--nar-maroon);}
.nar-entry-content ul,.nar-entry-content ol{margin:0 0 1.25em;padding-left:1.4em;}
.nar-entry-content li{margin:.35em 0;}
.nar-entry-content blockquote{margin:1.5em 0;padding:.4em 1.1em;border-left:4px solid var(--nar-gold);background:var(--nar-soft);color:var(--nar-ink);font-style:italic;}
.nar-entry-content img{height:auto;border-radius:4px;}
.nar-entry-content .alignnone,.nar-entry-content img.alignnone{display:block;margin:1.4em 0;}
.nar-entry-content .aligncenter,.nar-entry-content img.aligncenter{display:block;margin:1.4em auto;}
.nar-entry-content .alignright,.nar-entry-content img.alignright{float:right;margin:.4em 0 1.1em 1.4em;max-width:50%;}
.nar-entry-content .alignleft,.nar-entry-content img.alignleft{float:left;margin:.4em 1.4em 1.1em 0;max-width:50%;}
.nar-entry-content .wp-caption{max-width:100%;height:auto;}
.nar-entry-content .wp-caption-text,.nar-entry-content figcaption{font-size:12.5px;color:var(--nar-muted);font-style:italic;text-align:center;margin-top:6px;}
@media(max-width:600px){.nar-entry-content .alignleft,.nar-entry-content .alignright{float:none;display:block;margin:1.4em auto;max-width:100%;}}
.nar-post-footer{margin-top:30px;padding-top:18px;border-top:1px solid var(--nar-line);}
.nar-post-footer .nar-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--nar-muted);margin-right:6px;}
.nar-cta{background:var(--nar-soft);border:1px solid var(--nar-card-border);border-left:4px solid var(--nar-maroon);border-radius:0 8px 8px 0;padding:16px 20px;margin:26px 0;font-family:var(--nar-serif);}

/* 10. Sidebar */
.nar-sidebar .widget{margin-bottom:22px;overflow:hidden;}
.nar-sidebar .widget:after{content:"";display:block;clear:both;}
.nar-sidebar .widget-title,.nar-sidebar .widgettitle,.nar-sidebar h2,.nar-sidebar h3,.nar-sidebar h4{font-family:var(--nar-sans);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--nar-maroon);border-bottom:2px solid var(--nar-maroon);padding-bottom:6px;margin:0 0 8px;line-height:1.3;}
.nar-sidebar p{margin:0 0 10px;font-size:14px;}
.nar-sidebar form{margin:0;}
.nar-sidebar input[type=text],.nar-sidebar input[type=email],.nar-sidebar input[type=search],.nar-sidebar input:not([type]){display:block;width:100%;box-sizing:border-box;padding:10px 12px;margin:0 0 10px;border:1px solid var(--nar-card-border);border-radius:7px;font-family:var(--nar-sans);font-size:14px;}
.nar-sidebar input[type=submit],.nar-sidebar button[type=submit],.nar-sidebar .button{display:inline-block;background:var(--nar-maroon);color:#fff;border:none;border-radius:7px;padding:10px 18px;font-weight:700;font-family:var(--nar-sans);cursor:pointer;float:none;}
.nar-sidebar ul{list-style:none;margin:0;padding:0;}
.nar-sidebar li{padding:4px 0;border-bottom:1px solid var(--nar-line);font-size:13.5px;line-height:1.4;}
.nar-sidebar li:last-child{border-bottom:none;}
.nar-sidebar a{color:var(--nar-body);}
.nar-sidebar a:hover{color:var(--nar-maroon);}
.nar-subscribe{background:var(--nar-soft);border:1px solid var(--nar-card-border);border-radius:var(--nar-radius);padding:18px;}

/* 11. Pagination */
.nar-pagination{display:flex;justify-content:space-between;gap:12px;margin:34px 0 6px;}
.nar-pagination a,.nar-pagination .nar-page-num{display:inline-block;padding:10px 18px;border:1px solid var(--nar-card-border);border-radius:7px;font-size:13px;font-weight:700;color:var(--nar-maroon);}
.nar-pagination a:hover{background:var(--nar-maroon);color:#fff;text-decoration:none;}

/* 12. Footer */
.nar-footer{background:var(--nar-ink);color:#cbcbc6;margin-top:50px;font-size:14px;}
.nar-footer a{color:#e7e7e2;}
.nar-footer-top{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:42px 0;}
@media(max-width:760px){.nar-footer-top{grid-template-columns:1fr;gap:26px;}}
.nar-office h4{color:#fff;font-family:var(--nar-sans);font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;border-bottom:1px solid #3a3a38;padding-bottom:6px;}
.nar-office p{margin:.2em 0;line-height:1.55;}
.nar-footer-social{display:flex;gap:14px;margin-top:14px;}
.nar-footer-social a{display:inline-flex;width:34px;height:34px;border:1px solid #4a4a47;border-radius:50%;align-items:center;justify-content:center;}
.nar-footer-social svg{width:16px;height:16px;fill:#e7e7e2;}
.nar-footer-social a:hover{background:var(--nar-maroon);border-color:var(--nar-maroon);}
.nar-footer-bottom{border-top:1px solid #3a3a38;padding:22px 0 34px;font-size:12px;color:#9a9a96;line-height:1.7;}
.nar-footer-disclaimer{max-width:900px;margin:0 0 12px;}
.nar-footer-credit{color:#7d7d79;}
.nar-footer-credit a{color:#9a9a96;text-decoration:underline;}

/* 13. Responsive header */
@media(max-width:760px){
  .nar-site-title{font-size:30px;}
  .nar-banner-inner{padding:40px 18px 34px;}
  .nar-menu-toggle{display:block;margin:8px 0;}
  .nar-nav ul{display:none;width:100%;flex-direction:column;}
  .nar-nav ul.is-open{display:flex;}
  .nar-nav a{padding:11px 4px;}
  .nar-nav .sub-menu{position:static;display:block;border:none;box-shadow:none;min-width:0;background:transparent;}
  .nar-nav .sub-menu a{padding-left:18px;color:#666;}
}

/* 14. Block-widget (Links / Subscribe) tightening in the sidebar */
.nar-sidebar .widget_block{margin-bottom:4px;}
.nar-sidebar .widget_block .wp-block-heading{margin:16px 0 8px;font-family:var(--nar-sans);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--nar-maroon);border-bottom:2px solid var(--nar-maroon);padding-bottom:6px;line-height:1.3;}
.nar-sidebar .widget_block p{margin:0;line-height:1.5;}
.nar-sidebar .widget_block ul{margin:0;}
.nar-sidebar .widget_block ul li{border-bottom:none;padding:2px 0;}
.nar-sidebar .widget_recent_entries,.nar-sidebar .widget_archive,.nar-sidebar .widget_categories,.nar-sidebar .widget_nav_menu{margin-top:20px;}

/* 15. Roundup "case digest" layout (Advance Opinions posts only) */
.nar-roundup .nar-entry-content{counter-reset:nar-case;}
.nar-roundup .nar-entry-content > p:has(> a[href*="caseinfo.nvsupremecourt"]){counter-increment:nar-case;position:relative;margin:24px 0 0;padding:22px 0 0 48px;border-top:1px solid var(--nar-line);}
.nar-roundup .nar-entry-content > p:has(> a[href*="caseinfo.nvsupremecourt"])::before{content:counter(nar-case);position:absolute;left:0;top:19px;width:32px;height:32px;border-radius:50%;background:var(--nar-maroon);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--nar-serif);font-weight:700;font-size:14px;}
.nar-roundup .nar-entry-content > p:has(> a[href*="caseinfo.nvsupremecourt"]) > a{font-family:var(--nar-serif);color:var(--nar-maroon);font-size:18px;font-weight:700;text-decoration:none;line-height:1.3;}
.nar-roundup .nar-entry-content > p:has(> a[href*="caseinfo.nvsupremecourt"]) > a:hover{text-decoration:underline;}
.nar-roundup .nar-entry-content ul{list-style:none;margin:10px 0 0 48px;padding:0;}
.nar-roundup .nar-entry-content ul li{background:#faf2f2;border-left:3px solid var(--nar-maroon);border-radius:0 6px 6px 0;padding:10px 14px;margin:0 0 8px;font-size:15px;line-height:1.6;color:var(--nar-body);}
.nar-roundup .nar-entry-content ul li a{color:inherit;text-decoration:none;}
.nar-roundup .nar-entry-content ul li a:hover{color:var(--nar-maroon);text-decoration:underline;}
