/* ==============================
   THEME BASE
   ============================== */
:root{
  --brand:#ef5323;
  --brand-600:#d3441c;
  --ink:#222;
  --muted:#666;
  --line:#eee;
  --bg:#ffffff;
  --bg-soft:#f8f9fa;
  --radius:12px;
  --shadow-sm:0 2px 10px rgba(0,0,0,.06);
  --shadow-md:0 6px 18px rgba(0,0,0,.10);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:'Overpass',system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,'Noto Sans',sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.6;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img{max-width:100%;height:auto;display:block}

/* Links */
a{color:var(--brand);text-decoration:none;transition:color .2s ease,opacity .2s ease}
a:hover{color:var(--brand-600)}

/* Headings */
h1,h2,h3,h4,h5,h6{
  color:var(--ink);
  font-weight:700;
  line-height:1.25;
  margin:0 0 .5rem;
}
p{color:var(--muted);margin:0 0 1rem}

/* Utilities */
.rounded-2xl{border-radius:var(--radius)}
.shadow-soft{box-shadow:var(--shadow-sm)}
.shadow-medium{box-shadow:var(--shadow-md)}
.bg-soft{background:var(--bg-soft)}
.text-muted{color:var(--muted)!important}

/* ==============================
   HEADER & NAV
   ============================== */
.site-header{
  background:#fff;border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:2000;
}
.header-logo,
.header-logo img{
  border-radius:0 !important;
  overflow:visible !important;
  box-shadow:none !important;
}
.header-logo img{height:48px;width:auto}

.main-nav .nav-link{
  color:var(--ink);font-weight:600;letter-spacing:.2px;
  position:relative;padding:.25rem .1rem
}
.main-nav .nav-link:after{
  content:"";position:absolute;left:0;bottom:-6px;height:2px;width:0;background:var(--brand);
  transition:width .2s ease
}
.main-nav .nav-link:hover{color:var(--brand)}
.main-nav .nav-link:hover:after{width:100%}

/* Mobile overlay nav */
#menuToggle{border:none;background:none;font-size:1.9rem;color:var(--ink);line-height:1}
.mobile-overlay{
  position:fixed;inset:0;background:#fff;display:none;z-index:2000;
  padding:72px 24px 24px;overflow:auto
}
.mobile-overlay.active{display:block;animation:fadeIn .2s ease}
.mobile-overlay a{
  display:block;text-align:center;font-weight:700;color:var(--ink);
  padding:14px 0;border-bottom:1px solid var(--line)
}
.mobile-overlay a:hover{color:var(--brand);background:rgba(239,83,35,.05)}
#closeNav{display:block;margin:20px auto 0;border:none;background:none;font-size:2rem;color:var(--ink)}
@keyframes fadeIn{from{opacity:.5;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ==============================
   BUTTONS
   ============================== */
.btn{
  font-weight:700;border-radius:.55rem;padding:.6rem 1.1rem;
  transition:transform .12s ease,box-shadow .12s ease,background .2s ease
}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--brand);border:1px solid var(--brand);color:#fff}
.btn-primary:hover{background:var(--brand-600);border-color:var(--brand-600)}
.btn-outline-dark{background:transparent;border:1px solid var(--ink);color:var(--ink)}
.btn-outline-dark:hover{background:var(--ink);color:#fff}

/* Link-like button */
.btn-link{color:var(--brand);font-weight:700;padding:0}
.btn-link:hover{color:var(--brand-600);text-decoration:underline}

/* ==============================
   FORMS / SEARCH
   ============================== */
.search-form .form-control{
  height:48px;border:1px solid var(--line);border-right:none;border-radius:8px 0 0 8px;
  box-shadow:none
}
.search-form .form-control:focus{border-color:var(--brand);outline:0;box-shadow:0 0 0 .2rem rgba(239,83,35,.15)}
.search-form .btn{height:48px;border-radius:0 8px 8px 0}

/* ==============================
   CARDS
   ============================== */
.card{
  border:none;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;background:#fff
}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.card-img-wrapper{height:200px;overflow:hidden;background:#fafafa}
.card-img-wrapper img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease;display:block}
.card:hover .card-img-wrapper img{transform:scale(1.05)}
.card-body{padding:16px}

/* ==============================
   HERO / SECTIONS
   ============================== */
.section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.section-header .h4{margin:0}
.accent-bar{width:70px;height:3px;background:var(--brand);border:none;margin:10px auto 0}

/* ==============================
   BREADCRUMB
   ============================== */
.breadcrumb{
  --bs-breadcrumb-divider: "›";
  justify-content:center;background:transparent;margin:0;padding:0
}
.breadcrumb .breadcrumb-item a{color:var(--ink);font-weight:600}
.breadcrumb .breadcrumb-item a:hover{color:var(--brand)}
.breadcrumb .breadcrumb-item.active{color:var(--muted);font-weight:600}

/* ==============================
   PAGINATION
   ============================== */
.pagination .page-numbers,
.pagination .nav-links a,
.pagination .nav-links span{
  display:inline-block;margin:0 .2rem;padding:.5rem .8rem;border:1px solid var(--line);
  border-radius:.5rem;color:var(--ink);text-decoration:none
}
.pagination .current,
.pagination .page-numbers:hover{
  background:var(--brand);border-color:var(--brand);color:#fff
}

/* ==============================
   CONTENT
   ============================== */
.content, .page-content, .single-post{color:var(--ink)}
.page-content p, .single-post p{margin-bottom:1.15rem}
.page-content h2, .single-post h2{margin:1.6rem 0 .8rem}
.page-content h3, .single-post h3{margin:1.4rem 0 .6rem}
.single-post img, .page-content img{border-radius:.6rem;box-shadow:var(--shadow-sm);margin:1rem 0}

/* Code/Pre */
pre, code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}
pre{background:#0f1115;color:#e6edf3;padding:1rem;border-radius:.6rem;overflow:auto}

/* Tables */
table{width:100%;border-collapse:collapse;margin:1rem 0}
th,td{padding:.75rem;border:1px solid var(--line)}
thead th{background:#fafafa}

/* ==============================
   FOOTER
   ============================== */
.site-footer{background:#0b0f16;color:#d0d6e0}
.site-footer a{color:#d0d6e0}
.site-footer a:hover{color:var(--brand)}
.site-footer h5{font-weight:800;margin-bottom:1rem;color:#fff}
.site-footer .small{font-size:.9rem}

/* ==============================
   FORMS / CONTACT (generic)
   ============================== */
input[type="text"],input[type="email"],input[type="tel"],input[type="url"],input[type="search"],textarea,select{
  border:1px solid var(--line);border-radius:8px;padding:.65rem .8rem;width:100%;background:#fff;color:var(--ink)
}
input:focus,textarea:focus,select:focus{
  outline:0;border-color:var(--brand);box-shadow:0 0 0 .2rem rgba(239,83,35,.12)
}

/* ==============================
   RESPONSIVE TWEAKS
   ============================== */
@media (max-width: 991.98px){
  .main-nav{display:none!important}
}
@media (min-width: 992px){
  .mobile-overlay{display:none!important}
}

/* ==============================
   ACCESSIBILITY HELPERS
   ============================== */
.visually-hidden{
  position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0
}

/* ==============================
   SINGLE PAGE (ENHANCED)
   ============================== */
.single-progress{position:sticky;top:0;height:4px;background:transparent;z-index:1030}
.single-progress span{display:block;height:100%;width:0;background:var(--brand);}

.single-hero{position:relative;min-height:320px;color:#fff}
.single-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.95);z-index:0}
.single-hero__inner{position:relative;padding:48px 0;z-index:1}
.single-hero .breadcrumb{--bs-breadcrumb-divider:"›";margin:0;padding:0}
.single-hero .breadcrumb a{color:#fff;text-decoration:none}
.single-hero .breadcrumb a:hover{text-decoration:underline}

/* No-image / compact hero */
.single-hero--compact{min-height:120px;background:linear-gradient(180deg, rgba(11,15,22,.55), rgba(11,15,22,.55));}
.single-hero--compact .single-hero__bg{display:none}

/* Anchor comfort for TOC */
.entry-content h2, .entry-content h3{scroll-margin-top:90px}

/* TOC */
#toc ol{margin:0 0 0 1rem;padding:0}
#toc a{color:var(--ink);text-decoration:none}
#toc a:hover{color:var(--brand);text-decoration:underline}
