
/*
Theme Name: LabProveHub Left Sidebar
Author: ChatGPT
Version: 2.54
Description: Responsive theme with left sidebar, white footer (no top line), social sharing, visitor counter.
License: GPL-2.0-or-later
Text Domain: labprovehub-leftsidebar
*/

body{margin:0;font-family:sans-serif;background:#f9f9f9;color:#333;}
a{color:#0073aa;text-decoration:none;}
a:hover{text-decoration:underline;}
header.site-header{background:#fff;padding:1rem;border-bottom:1px solid #e1e1e1;}
.header-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;}
nav.primary-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:1rem;}
.container{max-width:1200px;margin:0 auto;padding:1rem;background:#fff;}
.layout{display:flex;gap:2rem;}
.sidebar-left{width:250px;}
.content-area{flex:1;}
.sidebar-left ul{list-style:none;padding:0;margin:0;}
.widget{margin-bottom:1.5rem;}
.widget-title{font-weight:bold;margin-bottom:0.5rem;}
.post-navigation,.page-navigation{display:flex;justify-content:space-between;margin-top:2rem;padding-top:1rem;}
/* removed top border previously here */
.share-buttons{margin:1rem 0;display:flex;gap:0.5rem;flex-wrap:wrap;}
.share-buttons a{font-size:0.9rem;border:1px solid #ccc;padding:0.3rem 0.5rem;border-radius:4px;background:#fafafa;}
.share-buttons a:hover{background:#eee;}
.visitor-counter{font-size:0.8rem;color:#666;text-align:center;margin-top:1rem;}

/* Footer */
.site-footer{background:#fff;margin-top:2rem;padding:2rem 1rem 1rem 1rem;}
.footer-widgets{display:flex;gap:2rem;flex-wrap:wrap;max-width:1200px;margin:0 auto;}
.footer-widgets .widget{flex:1 1 200px;}
.footer-bar{text-align:center;font-size:0.85rem;color:#555;margin-top:1rem;padding-top:1rem;}

/* responsive */
@media (max-width:600px){
 .header-inner{flex-direction:column;align-items:flex-start;}
 nav.primary-nav ul{flex-direction:column;gap:0.5rem;}
 .layout{flex-direction:column;}
 .sidebar-left{width:auto;}
 .footer-widgets{flex-direction:column;}
}

/* === About / Contact head-shot layout === */
.lp-about-contact .lp-bio{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:flex-start;}
.lp-bio-photo{width:160px;aspect-ratio:1/1;border-radius:50%;object-fit:cover;}
.lp-bio-text{flex:1 1 320px;line-height:1.6;}
.lp-social-bar{margin-top:1.5rem;}
.lp-social-bar a{display:inline-block;margin:0 .3rem;font-size:1.4rem;text-decoration:none;}

/* === Privacy Policy layout tweaks === */
.lp-privacy-policy .lp-entry-content{max-width:720px;margin:0 auto;}

/* === Tree Categories Sidebar ====================== */
.lph-tree-cats{margin:0;padding-left:.75rem;border-left:1px solid #ddd;}
.lph-tree-cats ul{margin:0 0 0 1.2rem;padding:0;border-left:1px solid #ddd;}
.lph-tree-cats li{list-style:none;margin:.25rem 0;position:relative;}
.lph-tree-cats li::before{
  content:'';position:absolute;left:-1.2rem;top:.7rem;width:1.2rem;height:0;
  border-top:1px solid #ddd;
}
.lph-tree-cats a{text-decoration:none;}
.lph-tree-cats .cat-level-0 > a::before{
  font-family:"Font Awesome 6 Free";font-weight:900;margin-right:.35rem;
  content:"\f07b";
}

/* === Category Badges ============================== */
.cat-badge{
  display:inline-block;padding:.1rem .5rem;border-radius:6px;
  font-size:.75rem;font-weight:600;color:#fff;margin-right:.25rem;
}
.cat-cloud-platforms{background:#0c82ff;}
.cat-containers-orchestration{background:#ff8c00;}
.cat-network-security-tools{background:#d7263d;}
.cat-infrastructure-platforms{background:#009688;}
.cat-linux-systems{background:#795548;}
.cat-pentest-distros{background:#673ab7;}
.cat-siem-observability{background:#ff4081;}
.cat-lab-series{background:#546e7a;}

/* === Series Banner ================================ */
.series-banner{
  background:#546e7a;color:#fff;padding:.5rem 1rem;margin:1rem 0;
  border-radius:8px;font-size:.9rem;font-weight:600;
}

/* === Social Share Icons === */
.lph-share{margin:1.5rem 0;font-size:0.95rem;}
.lph-share .share-icon{margin-right:.5rem;color:#0366d6;text-decoration:none;}
.lph-share .share-icon:hover{opacity:0.75;}

/* === Category Folder Icon for default widgets === */
.widget_categories > ul > li > a::before,
.wp-block-categories > ul > li > a::before{
  font-family:"Font Awesome 6 Free";
  font-weight:900;
  margin-right:.35rem;
  content:"\f07b";
}

/* === Nested Sub‑Categories ======================== */
.widget_categories ul ul,
.wp-block-categories ul ul{
  margin-left:1.25rem;
}
.widget_categories ul ul > li > a::before,
.wp-block-categories ul ul > li > a::before{
  font-family:"Font Awesome 6 Free";
  font-weight:400;
  margin-right:.3rem;
  content:"\f114"; /* file icon for subcat */
}

/* === Prism Dark “Tomorrow Night” custom tweaks ================= */
pre[class*="language-"], code[class*="language-"]{
  background:#1e1e1e!important;
  color:#d4d4d4!important;
  font-family:"Fira Code",Consolas,monospace;
  font-size:14px; line-height:1.5;
  border-radius:6px; padding:1rem 1.25rem;
  overflow:auto; box-shadow:inset 0 0 0 1px #2a2a2a;
}

/* token colours */
.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#6a9955;}
.token.punctuation{color:#d4d4d4;}
.token.property,.token.tag,.token.constant,.token.symbol,.token.deleted{color:#569cd6;}
.token.boolean,.token.number{color:#b5cea8;}
.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#ce9178;}
.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string,.token.variable{color:#d4d4d4;}
.token.atrule,.token.attr-value,.token.function,.token.class-name{color:#4ec9b0;}
.token.keyword{color:#c586c0;}

/* scrollbar */
pre::-webkit-scrollbar{height:8px;}
pre::-webkit-scrollbar-thumb{background:#3a3a3a;border-radius:4px;}

/* === Theme v1.5 enhancements === */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap');
body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  line-height:1.6;
  max-width:100%;
}
.content-area{
  max-width:70ch;
}
.sidebar-left{
  width:260px;
  position:sticky;
  top:4rem;
  height:calc(100vh - 4rem);
  overflow-y:auto;
}
h2{font-size:1.6rem;margin-top:2rem;}
h3{font-size:1.3rem;margin-top:1.5rem;}
.hero-banner{
  background:#e5f1ff;
  padding:2rem;
  margin:1rem 0 2rem;
  text-align:center;
  border-radius:8px;
}
.hero-banner h2{margin:0;font-size:2rem;}
.hero-banner p{margin:0.5rem 0 1rem;font-size:1.1rem;}
.hero-cta{
  background:#0073aa;
  color:#fff;
  padding:0.6rem 1.2rem;
  border-radius:4px;
  display:inline-block;
}
.hero-cta:hover{background:#005c87;text-decoration:none;}
/* copy-code button */
pre{position:relative;}
.copy-code{
  position:absolute;
  top:0.5rem;
  right:0.5rem;
  border:none;
  background:#0073aa;
  color:#fff;
  padding:0.2rem 0.6rem;
  border-radius:4px;
  font-size:0.7rem;
  cursor:pointer;
}
.copy-code:hover{background:#005c87;}
/* Skip link */
.skip-link{
  position:absolute;
  top:-40px;
  left:0;
  background:#000;
  color:#fff;
  padding:8px;
  z-index:100;
}
.skip-link:focus{top:0;}
/* improved spacing */
.widget{margin-bottom:2rem;}
.entry-content p{margin-bottom:1.2rem;}
@media(max-width:768px){
  .sidebar-left{
    position:static;
    width:100%;
    height:auto;
    overflow:none;
  }
  .layout{flex-direction:column;}
  .content-area{max-width:100%;}
}

@media (min-width: 1440px){.wrapper{max-width:1400px;margin-left:auto;margin-right:auto;}}

.widget_categories > ul > li.cat-item{display:block;}

.lp-social a{margin-right:10px;color:var(--accent);}
.lp-social a i{vertical-align:middle;}
.lp-social a:hover{opacity:.8;}
