/* =====================================================================
   Chaela · Unhooked — shared stylesheet
   Palette & type carried over from the hub (chaela-unhooked-hub.html)
   ===================================================================== */
*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --cream:#F5F0E6; --cream-2:#FBF7F0; --paper:#fff;
  --purple:#510562; --purple-deep:#401372; --gold:#C8A96A; --gold-deep:#A6863F;
  --ink:#2E2823; --muted:#6B6258; --line:rgba(58,42,104,.14);
}
html{-webkit-text-size-adjust:100%;}
body{
  font-family:'Work Sans',sans-serif;
  background:
    radial-gradient(760px 420px at 50% -8%, rgba(200,169,106,.18), transparent 62%),
    var(--cream);
  color:var(--ink); min-height:100vh; -webkit-font-smoothing:antialiased; line-height:1.5;
}
a{color:var(--purple);}
img{max-width:100%;}

/* ---------- shared page shell (interior pages) ---------- */
.site-header{
  display:flex; align-items:center; justify-content:space-between;
  max-width:920px; margin:0 auto; padding:22px 20px 0;
}
.brand{
  font-family:'Playfair Display',serif; font-weight:600; font-size:1.25rem;
  color:var(--purple); text-decoration:none; letter-spacing:-.01em;
}
.brand .dot{color:var(--gold-deep);}
.nav{display:flex; gap:20px; align-items:center; flex-wrap:wrap;}
.nav a{
  font-size:.82rem; letter-spacing:.6px; text-transform:uppercase;
  color:var(--purple-deep); text-decoration:none; padding-bottom:3px;
  border-bottom:1px solid transparent;
}
.nav a:hover, .nav a.active{border-bottom-color:var(--gold);}

.container{max-width:760px; margin:0 auto; padding:36px 20px 60px;}
.container-wide{max-width:920px; margin:0 auto; padding:36px 20px 60px;}

.divider{color:var(--gold); letter-spacing:8px; font-size:13px; text-align:center; margin:26px 0;}

h1.page-title{
  font-family:'Playfair Display',serif; font-weight:700; color:var(--purple);
  font-size:2.2rem; line-height:1.15; letter-spacing:-.01em;
}
h2.section-title{
  font-family:'Playfair Display',serif; font-weight:600; color:var(--purple);
  font-size:1.5rem; margin:0 0 12px;
}
.lead{font-size:1.08rem; color:var(--muted); margin-top:12px;}
.prose{font-size:1.04rem; color:var(--ink);}
.prose p{margin:0 0 1.05em;}
.prose h2,.prose h3{font-family:'Playfair Display',serif; color:var(--purple); margin:1.6em 0 .5em;}
.prose h2{font-size:1.5rem;} .prose h3{font-size:1.2rem;}
.prose blockquote{
  margin:1.4em 0; padding:.4em 0 .4em 1.1em; border-left:3px solid var(--gold);
  font-family:'Playfair Display',serif; font-style:italic; color:var(--purple); font-size:1.15rem;
}
.prose ul,.prose ol{margin:0 0 1.05em 1.3em;}
.prose img{border-radius:12px; margin:1.2em 0;}
.prose a{color:var(--gold-deep);}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:8px; cursor:pointer;
  font-family:'Work Sans',sans-serif; font-weight:600; font-size:.95rem;
  border-radius:12px; padding:12px 22px; text-decoration:none; border:1px solid transparent;
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease;
}
.btn-primary{background:var(--purple); color:#fff; box-shadow:0 14px 30px -20px rgba(44,31,80,.7);}
.btn-primary:hover{transform:translateY(-2px); background:var(--purple-deep);}
.btn-ghost{background:var(--paper); color:var(--purple); border-color:var(--line);}
.btn-ghost:hover{border-color:var(--gold);}
.btn-gold{background:var(--gold); color:#3a2f14;}
.btn-gold:hover{background:var(--gold-deep); color:#fff;}
.btn-danger{background:#fff; color:#9b2f2f; border-color:rgba(155,47,47,.35);}
.btn-danger:hover{background:#9b2f2f; color:#fff;}
.btn-sm{padding:7px 14px; font-size:.84rem; border-radius:10px;}

/* ---------- cards / memoir list ---------- */
.card{
  background:var(--paper); border:1px solid var(--line); border-radius:16px;
  box-shadow:0 12px 30px -24px rgba(44,31,80,.5);
}
.chapter-list{display:flex; flex-direction:column; gap:20px; margin-top:8px;}
.chapter-item{
  display:flex; gap:20px; align-items:stretch; overflow:hidden;
  background:var(--paper); border:1px solid var(--line); border-radius:16px;
  box-shadow:0 12px 30px -24px rgba(44,31,80,.5);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.chapter-item:hover{transform:translateY(-2px); border-color:var(--gold); box-shadow:0 20px 40px -26px rgba(44,31,80,.55);}
.chapter-thumb{flex:0 0 190px; background:var(--cream-2); overflow:hidden;}
.chapter-thumb img{width:100%; height:100%; object-fit:cover; display:block; min-height:160px;}
.chapter-body{flex:1; padding:20px 22px;}
.chapter-body .ttl{font-family:'Playfair Display',serif; font-weight:600; font-size:1.35rem; color:var(--purple); line-height:1.2; text-decoration:none; display:block;}
.chapter-body .ttl:hover{color:var(--gold-deep);}
.chapter-body .sub{font-family:'Playfair Display',serif; font-style:italic; color:var(--muted); margin-top:2px;}
.chapter-body .teaser{color:var(--ink); margin-top:10px; font-size:.98rem;}
.chapter-body .meta{color:var(--muted); font-size:.8rem; letter-spacing:.4px; margin-top:12px; text-transform:uppercase;}
.chapter-read{display:inline-block; margin-top:12px; color:var(--gold-deep); font-weight:600; text-decoration:none; font-size:.92rem;}
.chapter-read:hover{color:var(--purple);}

/* single chapter hero */
.chapter-hero-img{width:100%; max-height:420px; object-fit:cover; border-radius:16px; margin:8px 0 26px; box-shadow:0 18px 44px -30px rgba(44,31,80,.6);}

/* ---------- forms ---------- */
.form-grid{display:flex; flex-direction:column; gap:18px;}
.field label{display:block; font-weight:600; color:var(--purple); font-size:.9rem; margin-bottom:6px; letter-spacing:.2px;}
.field .hint{font-weight:400; color:var(--muted); font-size:.8rem;}
.field input[type=text], .field input[type=password], .field input[type=email], .field input[type=date], .field select, .field textarea{
  width:100%; font-family:'Work Sans',sans-serif; font-size:1rem; color:var(--ink);
  background:var(--paper); border:1px solid var(--line); border-radius:12px; padding:12px 14px;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.field input:focus, .field select:focus, .field textarea:focus{
  outline:none; border-color:var(--gold); box-shadow:0 0 0 3px rgba(200,169,106,.2);
}
.field textarea{min-height:120px; resize:vertical;}
.row{display:flex; gap:18px; flex-wrap:wrap;}
.row .field{flex:1; min-width:200px;}
.actions{display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-top:6px;}

/* newsletter signup box */
.signup{background:var(--purple); color:#fff; border-radius:20px; padding:34px 30px; text-align:center; box-shadow:0 20px 50px -30px rgba(44,31,80,.8);}
.signup h2{font-family:'Playfair Display',serif; font-weight:600; font-size:1.7rem; color:#fff; margin-bottom:8px;}
.signup p{color:rgba(245,240,230,.85); max-width:440px; margin:0 auto 18px;}
.signup .signup-form{display:flex; gap:10px; justify-content:center; flex-wrap:wrap; max-width:460px; margin:0 auto;}
.signup input[type=email]{flex:1; min-width:200px; border:none; border-radius:12px; padding:13px 15px; font-size:1rem;}

/* ---------- status pills / notices ---------- */
.pill{display:inline-block; font-size:.72rem; font-weight:600; letter-spacing:.6px; text-transform:uppercase; padding:3px 10px; border-radius:999px;}
.pill-pub{background:rgba(58,42,104,.1); color:var(--purple);}
.pill-draft{background:rgba(200,169,106,.2); color:var(--gold-deep);}
.pill-future{background:rgba(107,98,88,.14); color:var(--muted);}
.notice{border-radius:12px; padding:12px 16px; margin-bottom:18px; font-size:.95rem;}
.notice-ok{background:rgba(58,42,104,.06); border:1px solid var(--line); color:var(--purple);}
.notice-err{background:#fdecec; border:1px solid rgba(155,47,47,.3); color:#9b2f2f;}

/* ---------- admin ---------- */
.admin-bar{background:var(--purple-deep); color:#fff;}
.admin-bar .inner{max-width:1000px; margin:0 auto; padding:14px 20px; display:flex; align-items:center; justify-content:space-between;}
.admin-bar a{color:#fff; text-decoration:none;}
.admin-bar .brand{color:#fff;} .admin-bar .brand .dot{color:var(--gold);}
.admin-bar .admin-nav{display:flex; gap:18px; align-items:center; font-size:.85rem;}
.admin-bar .admin-nav a:hover{color:var(--gold);}
.admin-wrap{max-width:1000px; margin:0 auto; padding:30px 20px 60px;}
table.tbl{width:100%; border-collapse:collapse; background:var(--paper); border:1px solid var(--line); border-radius:14px; overflow:hidden;}
table.tbl th, table.tbl td{text-align:left; padding:13px 16px; border-bottom:1px solid var(--line); font-size:.94rem; vertical-align:middle;}
table.tbl th{background:var(--cream-2); color:var(--purple); font-size:.78rem; letter-spacing:.6px; text-transform:uppercase;}
table.tbl tr:last-child td{border-bottom:none;}
table.tbl td .t{font-family:'Playfair Display',serif; font-weight:600; color:var(--purple);}
.login-card{max-width:400px; margin:8vh auto; padding:34px 30px;}
.login-card h1{font-family:'Playfair Display',serif; color:var(--purple); font-size:1.6rem; margin-bottom:4px; text-align:center;}
.login-card .sub{color:var(--muted); text-align:center; margin-bottom:22px; font-size:.92rem;}
.thumb-mini{width:54px; height:40px; object-fit:cover; border-radius:6px; display:block;}

/* ---------- footer ---------- */
.site-foot{text-align:center; padding:30px 20px 40px; color:var(--muted);}
.site-foot .socials{display:flex; justify-content:center; gap:18px; margin-bottom:12px;}
.site-foot .socials a{color:var(--purple-deep); text-decoration:none; font-size:12px; letter-spacing:1px; text-transform:uppercase; border-bottom:1px solid rgba(200,169,106,.5); padding-bottom:2px;}
.site-foot .socials a:hover{color:var(--gold-deep);}
.site-foot .crown{color:var(--gold); font-size:18px; margin-bottom:6px;}
.site-foot .copyright{font-size:12px; letter-spacing:.5px;}

.muted{color:var(--muted);} .center{text-align:center;} .mt-0{margin-top:0;} .mb-0{margin-bottom:0;}

/* ---------- responsive ---------- */
@media (max-width:640px){
  h1.page-title{font-size:1.8rem;}
  .chapter-item{flex-direction:column;}
  .chapter-thumb{flex:0 0 auto;}
  .chapter-thumb img{min-height:180px; max-height:220px;}
  .site-header{flex-direction:column; gap:12px; align-items:flex-start;}
  .nav{gap:14px;}
}
