/* ============================================================
   LEGIONARIUS — Site stylesheet
   Type: Cinzel (display) + Cormorant Garamond (body)
   Color: travertine / ink / bronze (structural) + oxblood (imperial)
   ============================================================ */

:root{
  --travertine:#E4D8BE;
  --travertine-2:#D9CCAE;
  --plinth:#EFE5CD;
  --ink:#1C1812;
  --ink-2:#3B3328;
  --ink-3:#6E6049;
  --rule:#B7A782;
  --rule-2:#C9BB99;
  --bronze:#8C6A33;
  --bronze-deep:#5E4720;
  --bronze-hi:#B89254;
  --ox:#5E1A14;
  --ox-hi:#7A2118;
}

:root[data-theme="dark"]{
  --travertine:#14110C;
  --travertine-2:#221D16;
  --plinth:#1C1813;
  --ink:#E4D8BE;
  --ink-2:#B8AC8E;
  --ink-3:#7C6F58;
  --rule:#3A3127;
  --rule-2:#2A2319;
  --bronze:#C99A55;
  --bronze-deep:#8C6A33;
  --bronze-hi:#E0B575;
  --ox:#A8362A;
  --ox-hi:#C04A38;
}

*{box-sizing:border-box;}
html,body{margin:0; padding:0; background:var(--travertine); color:var(--ink);}
body{
  font-family:"Cormorant Garamond", "EB Garamond", Georgia, serif;
  font-weight:400; font-size:17px; line-height:1.55;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  background-image:
    radial-gradient(rgba(110,96,73,.06) 1px, transparent 1.4px),
    radial-gradient(rgba(110,96,73,.04) 1px, transparent 1.4px);
  background-size: 3px 3px, 7px 7px;
  background-position: 0 0, 1px 2px;
  transition:background-color .25s, color .25s;
}
:root[data-theme="dark"] body{
  background-image:
    radial-gradient(rgba(228,216,190,.05) 1px, transparent 1.4px),
    radial-gradient(rgba(228,216,190,.03) 1px, transparent 1.4px);
}
a{color:inherit;}
img{max-width:100%; display:block;}

.trajan{font-family:"Cinzel", serif; font-weight:500; letter-spacing:.14em; text-transform:uppercase;}
.serif{font-family:"Cormorant Garamond", serif;}
.ital{font-style:italic;}

/* —————— SITE CHROME —————— */
.topbar{
  display:flex; justify-content:space-between; align-items:center;
  padding:13px 48px; background:var(--ink); color:var(--travertine);
  font-family:"Cinzel",serif; font-weight:500; font-size:10.5px; letter-spacing:.34em; text-transform:uppercase;
}
.topbar .right{display:flex; align-items:center; gap:20px;}
.topbar .right .lat{color:var(--bronze-hi);}
.topbar .theme-toggle{
  background:transparent; border:1px solid var(--travertine); color:var(--travertine);
  font-family:"Cinzel",serif; font-weight:500; font-size:9.5px; letter-spacing:.26em; text-transform:uppercase;
  padding:5px 9px; cursor:pointer;
}
.topbar .theme-toggle:hover{background:var(--bronze); border-color:var(--bronze);}

.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:30px 48px 26px; border-bottom:0;
}
.nav .wordmark{display:flex; align-items:center; gap:18px; text-decoration:none; color:inherit; white-space:nowrap;}
.nav .wm-mark{width:44px; height:44px; display:grid; place-items:center;}
.nav .wm-text{line-height:1.05;}
.nav .wm-name{font-family:"Cinzel",serif; font-weight:600; font-size:22px; letter-spacing:.18em; text-transform:uppercase;}
.nav .wm-tag{font-family:"Cinzel",serif; font-weight:600; font-size:9.5px; letter-spacing:.32em; text-transform:uppercase; color:var(--ox); margin-top:4px;}
.nav .menu{display:flex; gap:34px;}
.nav .menu a{font-family:"Cinzel",serif; font-weight:500; font-size:11.5px; letter-spacing:.22em; text-transform:uppercase; text-decoration:none; color:var(--ink-2); padding-bottom:4px;}
.nav .menu a.active{color:var(--ink); border-bottom:1px solid var(--ox);}
.nav .menu a:hover{color:var(--ink);}
.nav .cta{font-family:"Cinzel",serif; font-weight:600; font-size:10.5px; letter-spacing:.28em; text-transform:uppercase; color:var(--travertine); background:var(--ox); border:1px solid var(--ox); padding:11px 18px; text-decoration:none;}
.nav .cta:hover{background:var(--ox-hi); border-color:var(--ox-hi);}
:root[data-theme="dark"] .nav .cta{color:var(--ink);}

/* —————— BUTTONS —————— */
.btn{font-family:"Cinzel",serif; font-weight:500; font-size:11px; letter-spacing:.3em; text-transform:uppercase; padding:14px 24px; text-decoration:none; display:inline-flex; align-items:center; gap:10px; border:1px solid transparent; cursor:pointer;}
.btn.primary{background:var(--ink); color:var(--travertine);}
.btn.primary:hover{background:var(--ink-2);}
.btn.ghost{border-color:var(--ink); color:var(--ink);}
.btn.ghost:hover{background:var(--ink); color:var(--travertine);}
.btn.bronze{background:var(--bronze); color:var(--travertine);}
.btn.bronze:hover{background:var(--bronze-deep);}
.btn.ox{background:var(--ox); color:var(--travertine);}
.btn.ox:hover{background:var(--ox-hi);}
:root[data-theme="dark"] .btn.ox{color:var(--ink);}
.btn.ox-outline{border-color:var(--ox); color:var(--ox);}
.btn.ox-outline:hover{background:var(--ox); color:var(--travertine);}
:root[data-theme="dark"] .btn.ox-outline:hover{color:var(--ink);}

/* —————— PAGE HEADERS ———…1763 tokens truncated…———— PROSE COLUMN —————— */
.prose{max-width:720px; margin:0 auto;}
.prose p{font-family:"Cormorant Garamond",serif; font-size:21px; line-height:1.55; color:var(--ink-2); margin:0 0 22px;}
.prose p.lead{font-size:24px; color:var(--ink); font-style:italic;}
.prose p:first-of-type:not(.lead):first-letter{
  font-family:"Cinzel",serif; font-weight:600; font-size:64px; line-height:.85;
  float:left; padding:8px 12px 0 0; color:var(--ox);
}
.prose h3{font-family:"Cinzel",serif; font-weight:500; font-size:11px; letter-spacing:.32em; text-transform:uppercase; color:var(--bronze); margin:36px 0 12px;}
.prose blockquote{border-left:2px solid var(--ox); margin:32px 0; padding:6px 0 6px 24px; font-style:italic; font-size:24px; color:var(--ink); font-family:"Cormorant Garamond",serif;}

/* —————— FORMS —————— */
.form{max-width:680px; margin:0 auto;}
.form .field{margin-bottom:22px;}
.form label{display:block; font-family:"Cinzel",serif; font-weight:500; font-size:10.5px; letter-spacing:.3em; text-transform:uppercase; color:var(--ink-3); margin-bottom:8px;}
.form input, .form select, .form textarea{
  width:100%; background:var(--plinth); border:1px solid var(--rule); padding:14px 16px;
  font-family:"Cormorant Garamond",serif; font-size:18px; color:var(--ink); border-radius:0;
  outline:none; transition:border-color .15s;
}
.form input:focus, .form select:focus, .form textarea:focus{border-color:var(--ox);}
.form textarea{min-height:160px; resize:vertical;}
.form .row{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.form-foot{margin-top:32px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;}
.form-foot .note{font-family:"Cormorant Garamond",serif; font-style:italic; font-size:15px; color:var(--ink-3); max-width:360px;}

/* —————— FOOTER —————— */
.site-foot{background:var(--ink); color:var(--travertine); padding:56px 56px 32px;}
.site-foot .top{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:32px; padding-bottom:36px; border-bottom:1px solid #2D2620;}
:root[data-theme="dark"] .site-foot .top{border-bottom-color:#C9BB99;}
.site-foot .mark-block{display:flex; flex-direction:column; gap:6px;}
.site-foot .mark-block .nm{font-family:"Cinzel",serif; font-weight:600; font-size:28px; letter-spacing:.22em; text-transform:uppercase;}
.site-foot .mark-block .latin{font-family:"Cinzel",serif; font-weight:600; font-size:11px; letter-spacing:.42em; text-transform:uppercase; color:var(--ox-hi); margin-top:10px;}
.site-foot h4{font-family:"Cinzel",serif; font-weight:500; font-size:10px; letter-spacing:.32em; text-transform:uppercase; color:var(--bronze-hi); margin:0 0 14px;}
.site-foot ul{list-style:none; padding:0; margin:0;}
.site-foot ul li{margin-bottom:10px;}
.site-foot ul a{font-family:"Cormorant Garamond",serif; font-size:17px; color:var(--travertine); text-decoration:none;}
.site-foot ul a:hover{color:var(--bronze-hi);}
.site-foot .legal{display:flex; justify-content:space-between; padding-top:24px; font-family:"Cinzel",serif; font-weight:500; font-size:10px; letter-spacing:.3em; text-transform:uppercase; color:#8C7D63;}

/* —————— LEGION MARK (the inscribed L) —————— */
.legion-mark{display:block;}
.legion-mark rect{stroke:currentColor; fill:none;}
.legion-mark line{stroke:currentColor;}
.legion-mark .L{fill:var(--ox);}

/* —————— UTILITIES —————— */
.center{text-align:center;}
.mt-1{margin-top:14px;} .mt-2{margin-top:28px;} .mt-3{margin-top:42px;} .mt-4{margin-top:56px;}
.actions{display:flex; gap:14px; justify-content:center; margin-top:32px; flex-wrap:wrap;}
.divider-tab{text-align:center; font-family:"Cinzel",serif; font-weight:500; font-size:11px; letter-spacing:.42em; text-transform:uppercase; color:var(--bronze); display:flex; align-items:center; justify-content:center; gap:14px; margin:48px 0;}
.divider-tab::before, .divider-tab::after{content:""; flex:1; height:1px; background:var(--bronze); max-width:120px;}

/* —————— RESPONSIVE —————— */
@media (max-width: 1100px){
  .nav{flex-wrap:wrap; gap:18px; padding:22px 32px;}
  .nav .menu{gap:22px; order:3; width:100%; justify-content:center; flex-wrap:wrap;}
  .nav .cta{margin-left:auto;}
}
@media (max-width: 900px){
  .nav{padding:22px;}
  .nav .menu{gap:18px;}
  .nav .wm-tag{display:none;}
  .dog-row, .dog-row.cols-2, .plinth-row{grid-template-columns:1fr;}
  .plinth{border-right:0; border-bottom:1px solid var(--ink);}
  .plinth:last-child{border-bottom:0;}
  .form .row{grid-template-columns:1fr;}
  .section, .page-header{padding-left:28px; padding-right:28px;}
  .topbar{padding:11px 22px; font-size:9.5px; letter-spacing:.26em;}
  .site-foot .top{grid-template-columns:1fr 1fr;}
}
@media (max-width: 560px){
  .topbar{flex-direction:column; gap:8px; padding:12px;}
  .nav .wordmark{flex:1; min-width:0;}
  .nav .wm-name{font-size:18px;}
  .topbar .right .lat{display:none;}
}


/* ============================================================
   GHOST OVERRIDES — keep the look native to legionariusdog.com
   ============================================================ */

/* Ghost injects navigation as an <ul>. Make it match our menu. */
.nav .menu ul{list-style:none; padding:0; margin:0; display:flex; gap:34px; flex-wrap:wrap;}
.nav .menu li{margin:0;}
.nav .menu a{
  font-family:"Cinzel",serif; font-weight:500; font-size:11.5px; letter-spacing:.22em; text-transform:uppercase;
  text-decoration:none; color:var(--ink-2); padding-bottom:4px; display:inline-block;
}
.nav .menu a.nav-current{color:var(--ink); border-bottom:1px solid var(--ox);}
.nav .menu a:hover{color:var(--ink);}

/* No underlines in the header nav (including the active link). */
.nav .menu a.active,
.nav .menu a.nav-current{border-bottom:0;}

/* Page header baseline (mirrors the site’s internal pages). */
.page-header{
  padding:64px 56px 54px;
  border-bottom:1px solid var(--ink);
  text-align:center;
}
.page-header .kicker{
  font-family:"Cinzel",serif; font-weight:500; font-size:11px; letter-spacing:.42em; text-transform:uppercase;
  color:var(--bronze);
}
.page-header h1{
  font-family:"Cinzel",serif; font-weight:600;
  font-size:clamp(44px, 6.5vw, 78px);
  line-height:1.02; letter-spacing:.08em;
  margin:24px 0 16px;
  text-transform:uppercase;
}
.page-header .lede{
  font-family:"Cormorant Garamond",serif;
  font-style:italic;
  font-size:22px;
  line-height:1.4;
  color:var(--ink-2);
  max-width:780px;
  margin:0 auto;
}

.post-hero{max-width:980px; margin:28px auto 0;}
.post-hero img{display:block; width:100%; height:auto; border:1px solid var(--rule); background:var(--plinth);}

/* Post list matches the “dispatch” rows used on the main site. */
.dispatch-row{max-width:880px; margin:0 auto;}
.post{display:grid; grid-template-columns:180px 1fr auto; gap:32px; align-items:start; padding:24px 0; border-top:1px solid var(--rule);}
.post:last-child{border-bottom:1px solid var(--rule);}
.post .pi{display:block; width:180px; aspect-ratio:4/3; overflow:hidden; border:1px solid var(--rule); background:var(--plinth);}
.post .pi img{display:block; width:100%; height:100%; object-fit:cover;}
.post .pi--empty{border-style:dashed; opacity:.25;}
.post .pc{min-width:0;}
.post .pd{font-family:"Cinzel",serif; font-weight:500; font-size:10.5px; letter-spacing:.28em; text-transform:uppercase; color:var(--bronze); line-height:1.5;}
.post .pt{font-family:"Cormorant Garamond",serif; font-size:24px; font-weight:500; line-height:1.25; color:var(--ink); text-decoration:none; display:block;}
.post .pt:hover{color:var(--ox);}
.post .px{font-family:"Cormorant Garamond",serif; font-style:italic; font-size:17px; color:var(--ink-2); margin-top:4px; line-height:1.45;}
.post .pn{font-family:"Cinzel",serif; font-weight:600; font-size:11px; letter-spacing:.3em; color:var(--ox); text-transform:uppercase; white-space:nowrap;}

/* Content styling: map Ghost’s rich content classes into our prose system. */
.gh-content{max-width:720px; margin:0 auto;}
.gh-content > *{margin-top:0; margin-bottom:22px;}
.gh-content p{font-family:"Cormorant Garamond",serif; font-size:21px; line-height:1.55; color:var(--ink-2);}
.gh-content a{color:inherit; text-decoration:underline; text-decoration-color:var(--rule);}
.gh-content a:hover{color:var(--ox); text-decoration-color:var(--ox);}
.gh-content h2, .gh-content h3, .gh-content h4{
  font-family:"Cinzel",serif; font-weight:500; letter-spacing:.18em; text-transform:uppercase;
  color:var(--ink); margin:38px 0 14px;
}
.gh-content h2{font-size:22px;}
.gh-content h3{font-size:18px;}
.gh-content h4{font-size:14px; letter-spacing:.22em;}
.gh-content blockquote{
  border-left:2px solid var(--ox);
  margin:32px 0;
  padding:6px 0 6px 24px;
  font-style:italic;
  font-size:24px;
  color:var(--ink);
  font-family:"Cormorant Garamond",serif;
}
.gh-content hr{border:0; border-top:1px solid var(--rule); margin:42px 0;}
.gh-content ul, .gh-content ol{padding-left:28px;}
.gh-content li{margin:10px 0; color:var(--ink-2); font-size:20px;}
.gh-content code, .gh-content pre{
  font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size:14px;
}
.gh-content pre{
  background:var(--plinth);
  border:1px solid var(--rule);
  padding:16px 18px;
  overflow:auto;
}

/* Ghost cards */
.kg-width-wide, .kg-width-full{max-width:980px; margin-left:auto; margin-right:auto;}
.gh-content img{height:auto;}
.kg-image-card img,
.kg-gallery-image img{
  width:100%;
  height:auto;
  border:1px solid var(--rule);
}

/* Pagination */
.pagination{
  max-width:880px;
  margin:32px auto 0;
  padding-top:22px;
  border-top:1px solid var(--rule);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.pagination a{
  font-family:"Cinzel",serif; font-weight:500; font-size:10.5px; letter-spacing:.32em; text-transform:uppercase;
  text-decoration:none;
  border:1px solid var(--ink);
  padding:10px 14px;
}
.pagination a:hover{background:var(--ink); color:var(--travertine);}
.pagination .page-number{
  font-family:"Cinzel",serif; font-weight:500; font-size:10.5px; letter-spacing:.32em; text-transform:uppercase;
  color:var(--ink-3);
}

@media (max-width:900px){
  .post{grid-template-columns:1fr;}
  .post .pi{width:100%;}
}
