/* Global mobile overflow fix — prevents tables from widening the page */
html,body{max-width:100vw;overflow-x:hidden}
table{width:100%;border-collapse:collapse}
@media(max-width:768px){
  table{max-width:100%;font-size:.8rem;margin-left:0;margin-right:0}
  table th,table td{padding:6px 8px;white-space:normal;word-break:break-word}
  .sheet{padding:20px 15px !important}
  .grid{grid-template-columns:1fr !important}
  .highlight-row{grid-template-columns:1fr 1fr !important}
  .stats-grid{grid-template-columns:1fr 1fr !important}
  .comp-table,.comp{font-size:.75rem}
  .timeline{flex-wrap:wrap !important}
  .contact-grid{grid-template-columns:1fr !important}
  img{max-width:100%;height:auto}
  pre,code{overflow-x:auto;max-width:100%;word-break:break-word}
  .callout,.info-box,[class*="callout"],[class*="highlight-box"]{margin-left:0 !important;margin-right:0 !important;padding:15px !important}
}

/* Floating buttons — stacked bottom-right */
.wa-float{position:fixed;bottom:25px;right:25px;z-index:999;width:60px;height:60px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(37,211,102,0.4);transition:transform .3s,box-shadow .3s;text-decoration:none}
.wa-float:hover{transform:scale(1.1);box-shadow:0 6px 30px rgba(37,211,102,0.5)}
.wa-float svg{width:32px;height:32px;fill:#fff}
.blog-fab{position:fixed;bottom:95px;right:25px;z-index:998;width:54px;height:54px;border-radius:50%;background:linear-gradient(135deg,#1a6b5a,#12503f);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(26,107,90,0.4);cursor:pointer;transition:transform .3s,box-shadow .3s;border:none;color:#fff;font-size:1.4rem;margin-right:3px}
.blog-fab:hover{transform:scale(1.1);box-shadow:0 6px 30px rgba(26,107,90,0.5)}
.blog-sidebar{position:fixed;top:0;right:-340px;width:320px;height:100vh;z-index:1001;background:#fdfaf5;box-shadow:-4px 0 30px rgba(45,32,19,0.15);transition:right .35s ease;overflow-y:auto;padding:30px 24px}
.blog-sidebar.open{right:0}
.blog-sidebar-overlay{position:fixed;inset:0;background:rgba(45,32,19,0.4);z-index:1000;opacity:0;pointer-events:none;transition:opacity .3s}
.blog-sidebar-overlay.open{opacity:1;pointer-events:all}
.blog-sidebar .sidebar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;border-bottom:2px solid rgba(212,175,55,0.2)}
.blog-sidebar .sidebar-header h3{font-family:'Amiri',serif;font-size:1.3rem;color:#1a6b5a;margin:0}
.blog-sidebar .sidebar-close{width:32px;height:32px;border-radius:50%;border:none;background:#faf3e6;color:#5a4a35;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .3s}
.blog-sidebar .sidebar-close:hover{background:#f5e6c8}
.blog-sidebar .sidebar-section{margin-bottom:25px}
.blog-sidebar .sidebar-label{font-size:.7rem;text-transform:uppercase;letter-spacing:2px;color:#c67b5c;font-weight:700;margin-bottom:12px}
.blog-sidebar .sidebar-link{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:12px;text-decoration:none;color:#2d2013;transition:background .2s;margin-bottom:6px}
.blog-sidebar .sidebar-link:hover{background:#faf3e6}
.blog-sidebar .sidebar-link .link-icon{font-size:1.3rem;flex-shrink:0;margin-top:2px}
.blog-sidebar .sidebar-link .link-title{font-weight:600;font-size:.9rem;line-height:1.3}
.blog-sidebar .sidebar-link .link-desc{font-size:.78rem;color:#5a4a35;line-height:1.4;margin-top:3px}
.sidebar-cta-btn{display:block;width:100%;text-align:center;padding:14px;background:linear-gradient(135deg,#c67b5c,#e07a5f);color:#fff;text-decoration:none;border-radius:50px;font-weight:600;font-size:.9rem;transition:all .3s;border:none;cursor:pointer;font-family:'Inter',sans-serif}
.sidebar-cta-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(198,123,92,0.4)}
@media(max-width:480px){.blog-sidebar{width:85vw}.wa-float{bottom:18px;right:18px;width:54px;height:54px}.wa-float svg{width:28px;height:28px}.blog-fab{bottom:82px;right:18px;width:48px;height:48px;font-size:1.2rem;margin-right:3px}}
