/* =====================================================
   Campus Money Basics — ITU Student Financial Literacy
   Base URL: https://web.itu.edu.tr/calise/
   ===================================================== */

:root {
  --navy:   #1c2d4a;
  --blue:   #1e5fa8;
  --teal:   #0a7c6e;
  --gold:   #c89a1c;
  --amber:  #d97706;
  --light:  #f3f7fc;
  --border: #cdd9ed;
  --text:   #1e2733;
  --gray:   #5a6474;
  --link:   #1a4da0;
  --visited:#5b21b6;
  --max-w:  880px;
  --serif:  Georgia, 'Times New Roman', serif;
  --ui:     -apple-system, 'Helvetica Neue', Arial, sans-serif;
  --r:      8px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 18px; scroll-behavior: smooth; }
body { font-family: var(--serif); color: var(--text); background: #fff; line-height: 1.8; }

.skip-link { position:absolute; top:-48px; left:0; background:var(--navy); color:#fff; padding:10px 18px; font-family:var(--ui); font-size:.83rem; z-index:1000; transition:top .2s; }
.skip-link:focus { top:0; }

/* Header */
.site-header { background:var(--navy); border-bottom:4px solid var(--gold); position:sticky; top:0; z-index:100; }
.hdr-inner { max-width:var(--max-w); margin:0 auto; padding:.6rem 1.4rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.brand { text-decoration:none; }
.brand-name { font-family:var(--ui); font-size:.96rem; font-weight:700; color:#fff; line-height:1.2; display:block; }
.brand-name span { color:var(--gold); }
.brand-sub { font-family:var(--ui); font-size:.65rem; color:#8fa9c8; letter-spacing:.07em; text-transform:uppercase; }

/* Nav */
nav.sitenav { font-family:var(--ui); font-size:.77rem; }
nav.sitenav ul { list-style:none; display:flex; flex-wrap:wrap; gap:2px; }
nav.sitenav a { display:block; padding:.3rem .58rem; color:#b8cfe8; text-decoration:none; border-radius:4px; transition:background .13s,color .13s; }
nav.sitenav a:hover, nav.sitenav a[aria-current="page"] { background:rgba(255,255,255,.13); color:#fff; }

/* Breadcrumb */
.breadcrumb { background:var(--light); border-bottom:1px solid var(--border); font-family:var(--ui); font-size:.74rem; color:var(--gray); padding:.44rem 1.4rem; }
.bc-inner { max-width:var(--max-w); margin:0 auto; }
.breadcrumb a { color:var(--blue); text-decoration:none; }
.breadcrumb a:hover { text-decoration:underline; }

/* Layout */
.page-wrap { max-width:var(--max-w); margin:0 auto; padding:2.4rem 1.4rem 4rem; }

/* Hero */
.hero { border-left:5px solid var(--teal); background:var(--light); padding:1.3rem 1.6rem; border-radius:0 var(--r) var(--r) 0; margin-bottom:2.4rem; }
.hero-tag { font-family:var(--ui); font-size:.67rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--teal); margin-bottom:.4rem; }
.hero h1 { font-size:1.85rem; line-height:1.22; color:var(--navy); margin-bottom:.5rem; }
.hero-lead { font-size:1rem; color:var(--gray); }

/* Typography */
h2 { font-size:1.3rem; color:var(--navy); margin:2.2rem 0 .62rem; padding-bottom:.3rem; border-bottom:2px solid var(--border); }
h3 { font-size:1.04rem; color:var(--navy); margin:1.5rem 0 .42rem; font-family:var(--ui); font-weight:600; }
p { margin-bottom:1.05rem; }
ul, ol { margin:.15rem 0 1.1rem 1.5rem; }
li { margin-bottom:.36rem; }
a { color:var(--link); }
a:visited { color:var(--visited); }

/* Callout */
.callout { border:1px solid var(--border); border-left:5px solid var(--blue); border-radius:0 var(--r) var(--r) 0; background:var(--light); padding:1.1rem 1.4rem; margin:1.8rem 0; font-size:.94rem; }
.callout.tip  { border-left-color:var(--teal); }
.callout.warn { border-left-color:var(--amber); }
.clabel { font-family:var(--ui); font-size:.67rem; font-weight:700; text-transform:uppercase; letter-spacing:.09em; margin-bottom:.38rem; color:var(--blue); }
.callout.tip  .clabel { color:var(--teal); }
.callout.warn .clabel { color:var(--amber); }

/* Tool card */
.tool-card { display:flex; gap:1rem; border:1px solid var(--border); border-radius:var(--r); padding:1rem 1.25rem; margin:1.4rem 0; text-decoration:none; color:inherit; box-shadow:0 1px 4px rgba(28,45,74,.07); transition:border-color .14s,box-shadow .14s; background:#fff; }
.tool-card:hover { border-color:var(--blue); box-shadow:0 3px 12px rgba(30,95,168,.11); }
.tc-icon { font-size:1.65rem; flex-shrink:0; }
.tc-body { flex:1; }
.tc-title { font-family:var(--ui); font-size:.91rem; font-weight:700; color:var(--blue); margin-bottom:.17rem; }
.tc-desc { font-family:var(--ui); font-size:.83rem; color:var(--gray); }

/* Table */
.dtable { width:100%; border-collapse:collapse; margin:1.3rem 0; font-family:var(--ui); font-size:.83rem; }
.dtable th { background:var(--navy); color:#fff; padding:.56rem .9rem; text-align:left; font-weight:600; }
.dtable td { padding:.5rem .9rem; border-bottom:1px solid var(--border); }
.dtable tr:nth-child(even) td { background:var(--light); }

/* Prev/next */
.pg-nav { display:flex; gap:1rem; margin-top:3rem; border-top:2px solid var(--border); padding-top:1.5rem; flex-wrap:wrap; }
.pg-link { flex:1 1 45%; border:1px solid var(--border); border-radius:var(--r); padding:.88rem 1.1rem; text-decoration:none; font-family:var(--ui); font-size:.83rem; color:var(--blue); transition:border-color .13s,background .13s; }
.pg-link:hover { border-color:var(--blue); background:var(--light); }
.pg-link.next { text-align:right; }
.pg-dir { font-size:.68rem; text-transform:uppercase; letter-spacing:.07em; color:var(--gray); display:block; margin-bottom:.17rem; }
.pg-title { font-weight:700; }

/* Related grid */
.rel-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:.7rem; margin:1.1rem 0; }
.rel-card { border:1px solid var(--border); border-radius:var(--r); padding:.82rem 1rem; text-decoration:none; display:block; font-family:var(--ui); font-size:.83rem; color:var(--blue); transition:border-color .13s,background .13s; }
.rel-card:hover { border-color:var(--blue); background:var(--light); }
.rel-card strong { display:block; margin-bottom:.18rem; color:var(--navy); font-size:.87rem; }

/* Footer */
.site-footer { background:var(--navy); color:#7a9ab8; font-family:var(--ui); font-size:.75rem; padding:2rem 1.4rem 1.4rem; border-top:4px solid var(--gold); margin-top:4rem; }
.ftr-inner { max-width:var(--max-w); margin:0 auto; display:flex; gap:2rem; flex-wrap:wrap; justify-content:space-between; margin-bottom:1.4rem; }
.ftr-col h4 { font-size:.76rem; font-weight:700; color:#c8ddef; text-transform:uppercase; letter-spacing:.07em; margin-bottom:.5rem; }
.ftr-col ul { list-style:none; }
.ftr-col li { margin-bottom:.26rem; }
.ftr-col a { color:#7a9ab8; text-decoration:none; }
.ftr-col a:hover { color:#fff; }
.ftr-bottom { max-width:var(--max-w); margin:0 auto; padding-top:1rem; border-top:1px solid rgba(255,255,255,.1); color:#4d6e8a; font-size:.7rem; line-height:1.7; }

@media(max-width:620px){
  html { font-size:16px; }
  .hero h1 { font-size:1.48rem; }
  .pg-link { flex:1 1 100%; }
  .ftr-inner { flex-direction:column; gap:1.1rem; }
}
