
/* Palette */
:root{
  --navy:#1C2833; --sand:#D4A373; --sage:#7C9473; --orange:#D95D39; --off:#F4F3EE;
  --bg: var(--off); --text:#1b232a; --heading: var(--navy); --muted:#525c66;
  --card:#ffffff; --border:#e2ddd6; --shadow: 0 10px 30px rgba(28,40,51,.08); --radius:16px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--text);font-family:"Merriweather", Georgia, serif;line-height:1.75;font-size:18px;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{font-family:"Montserrat",system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.25;color:var(--heading);margin:1.4rem 0 .6rem}
a{color:var(--orange);text-decoration:none} a:hover{color:var(--sand)}
.container,.container-lg{max-width:1100px;margin:0 auto;padding:0 1rem}

/* Header */
:root { --hdr:64px; --safe-top: env(safe-area-inset-top); }
@media (max-width:1024px){ :root{ --hdr:56px; } }
.site-header{position:sticky;top:0;z-index:100;background:rgba(244,243,238,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;height:var(--hdr);padding:0 .75rem}
.site-nav ul{display:flex;list-style:none;margin:0;padding:0;gap:1rem}
.site-nav a{margin:0 .6rem;color:var(--muted)} .site-nav a:hover{color:var(--navy)}
.theme-toggle{border:1px solid var(--border);background:transparent;border-radius:999px;padding:.4rem .7rem;font:inherit;cursor:pointer}
.hamburger{display:none;width:40px;height:40px;border-radius:8px;border:1px solid var(--border);background:transparent;position:relative}
.hamburger span{display:block;height:2px;width:22px;background:var(--navy);position:absolute;left:50%;transform:translateX(-50%);transition:transform .2s ease,opacity .2s ease}
.hamburger span:nth-child(1){top:12px}.hamburger span:nth-child(2){top:19px}.hamburger span:nth-child(3){top:26px}
:root[data-theme="dark"] .hamburger span{background:var(--sand)}

@media (max-width:1024px){
  .member-cta{display:none}
  .hamburger{display:inline-block;order:2}
  .site-nav{position:fixed;top:calc(var(--hdr) + var(--safe-top));left:0;right:0;max-height:calc(100vh - var(--hdr) - var(--safe-top));overflow:auto;background:var(--bg);border-bottom:1px solid var(--border);transform:translateY(-110%);transition:transform .22s ease;z-index:1000}
  .site-nav.open{transform:translateY(0)}
  .site-nav ul{display:block;padding:1rem}
  .site-nav li{margin:.25rem 0}
  .site-nav a{display:block;padding:.65rem .85rem;font-size:1.1rem}
  .hamburger[aria-expanded="true"] span:nth-child(1){transform:translateX(-50%) rotate(45deg);top:19px}
  .hamburger[aria-expanded="true"] span:nth-child(2){opacity:0}
  .hamburger[aria-expanded="true"] span:nth-child(3){transform:translateX(-50%) rotate(-45deg);top:19px}
  .nav-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:opacity .22s ease;z-index:999}
  body.nav-open .nav-backdrop{opacity:1;pointer-events:auto}
}
body.nav-open{overflow:hidden;height:100vh}

/* Hero */
.hero{position:relative;min-height:58vh;background-size:cover;background-position:center center;display:flex;align-items:flex-end;justify-content:flex-start}
.hero-inner{max-width:720px;margin-left:clamp(1rem,6vw,8rem);margin-bottom:clamp(4rem,10vh,6rem);text-align:left}
.hero-title{color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.35);margin:0 0 .35rem 0}
.hero-subtitle{color:#eff2f4;text-shadow:0 1px 4px rgba(0,0,0,.3);margin:0 0 .75rem 0}

/* Post feed */
.post-feed{margin-top:2rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.post-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.post-card-media{margin:0;height:180px;overflow:hidden;background:#000}
.post-card-media img{width:100%;height:100%;object-fit:cover}
.post-card-content{padding:1rem 1rem 1.2rem}
.post-card-title{margin:.2rem 0 .4rem}
.post-card-excerpt{color:var(--muted)}
.post-card-meta{color:var(--muted);font-size:.9rem}

/* Post/page reading layout */
.post,.page{background:transparent;border:0;box-shadow:none;border-radius:0}
.post-header.container,.post-content.container,.post-footer.container,.page .post-header.container,.page .post-content.container{max-width:75ch;margin-left:auto;margin-right:auto;padding:0 1rem}
.post-title{color:var(--heading);margin:0 0 .35rem 0}
.post .post-meta{display:flex;align-items:center;gap:.5rem;color:var(--muted);font-size:.95rem;margin-bottom:1rem}
.post-author-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;border:1px solid var(--border)}

/* Mobile spacing for post metadata */
@media (max-width: 640px){
  .post .post-meta{gap:.75rem;flex-wrap:wrap;row-gap:.4rem}
  .post-author-avatar{width:28px;height:28px}
  .post .post-meta .dot{margin:0 .15rem}
}
.post-media img{display:block;width:100%;height:auto;border-radius:12px;border:1px solid var(--border);box-shadow:var(--shadow)}
.post-content blockquote{margin:1.5rem 0;padding:.9rem 1rem;border-left:4px solid var(--orange);background:#fff7f4;color:var(--navy);font-style:italic;border-radius:0 10px 10px 0}
:root[data-theme="dark"] .post-content blockquote{background:#1b2026;border-left-color:var(--sand);color:var(--text)}

/* Footer */
.site-footer{border-top:1px solid var(--border);background:var(--bg-2,#fff);margin-top:3rem}
.footer-minimal{display:flex;align-items:center;justify-content:space-between;padding:2rem 1rem}
.footer-left{color:var(--muted)}
.site-footer .nav{display:flex;gap:1rem;list-style:none;margin:0;padding:0}
.site-footer .nav a{color:var(--muted)} .site-footer .nav a:hover{color:var(--navy)}

/* Buttons */
.btn{display:inline-block;padding:.5rem 1.2rem;border-radius:999px;border:1px solid var(--navy)}
.btn-primary{background:var(--orange);color:#fff;border-color:var(--orange)}
.btn-primary:hover{background:var(--sand);color:var(--navy);border-color:var(--sand)}

/* Koenig widths */
.kg-width-wide{width:min(1100px,95vw);margin-left:auto;margin-right:auto}
.kg-width-full{width:100vw;margin-left:50%;transform:translateX(-50%)}
.post-content .kg-width-full img,.post-content .kg-width-full .kg-image{width:100%;max-width:100vw;border-radius:0;border:none;box-shadow:none}
.post-content .kg-card{margin:1.5rem 0}
.post-content .kg-image{width:100%;height:auto;border-radius:12px;border:1px solid var(--border);box-shadow:var(--shadow)}

/* Dark mode palette */
:root[data-theme="dark"]{--bg:#1c2026;--text:#EDEAE6;--heading:#FFFFFF;--muted:#B9B6B2;--card:#171a1e;--border:#262a2f;--shadow:0 10px 30px rgba(0,0,0,.45)}
:root[data-theme="dark"] .site-header{background:rgba(18,20,23,.85)}
:root[data-theme="dark"] a{color:var(--sand)} :root[data-theme="dark"] a:hover{color:var(--orange)}
:root[data-theme="dark"] .btn-primary{background:#E17358;border-color:#E17358;color:#fff}
:root[data-theme="dark"] .btn-primary:hover{background:var(--sand);color:var(--navy);border-color:var(--sand)}

/* Portal overrides */
.gh-portal-popup .gh-btn.gh-btn-accent,.gh-portal-popup .gh-portal-btn,.gh-portal-popup .gh-btn-accent{background:var(--orange)!important;border-color:var(--orange)!important;color:#fff!important;border-radius:999px!important;font-weight:700!important}
.gh-portal-popup .gh-btn.gh-btn-accent:hover,.gh-portal-popup .gh-portal-btn:hover,.gh-portal-popup .gh-btn-accent:hover{background:var(--sand)!important;border-color:var(--sand)!important;color:var(--navy)!important}
.gh-portal-popup a{color:var(--orange)!important}
:root[data-theme="dark"] .gh-portal-popup{background:#171a1e!important;color:var(--text)!important}
:root[data-theme="dark"] .gh-portal-popup .gh-btn.gh-btn-accent,.gh-portal-popup .gh-portal-btn,.gh-portal-popup .gh-btn-accent{background:#E17358!important;border-color:#E17358!important;color:#fff!important}
:root[data-theme="dark"] .gh-portal-popup a{color:var(--sand)!important}


/* v1.0.6 nav/toggle fixes */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;border:1px solid var(--border);background:rgba(255,255,255,.04);color:var(--heading)}
:root[data-theme="dark"] .theme-toggle{background:rgba(0,0,0,.12);color:var(--text)}
.theme-toggle svg{display:block;width:18px;height:18px;fill:currentColor;opacity:.95}
/* prevent duplicate headers rendering */



/* v1.0.8 header force */
:root { --hdr:64px; }
@media (max-width:1024px){ :root{ --hdr:56px; } }
.site-header{position:fixed;top:0;left:0;right:0;z-index:9999;background:rgba(18,20,23,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
body{padding-top:var(--hdr)}
:root[data-theme="light"] .site-header{background:rgba(244,243,238,.95)}


/* v1.0.9 header hardening */
.site-header{display:block;min-height:var(--hdr);box-shadow:0 2px 12px rgba(0,0,0,.15)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:var(--hdr)}
.brand,.brand:link,.brand:visited{color:var(--heading)}
:root[data-theme="dark"] .brand{color:var(--text)}
.gh-head-right,.member-cta{display:flex;align-items:center;gap:.5rem}



/* v1.1.0 explicit mobile header visibility */
@media (max-width:1024px){
  .site-header{display:block;position:fixed;top:0;left:0;right:0;z-index:10000;background:rgba(18,20,23,.90);border-bottom:1px solid var(--border)}
  :root[data-theme="light"] .site-header{background:rgba(244,243,238,.96)}
  .header-inner{display:flex;align-items:center;justify-content:space-between;height:var(--hdr);padding:0 12px}
  .brand-img{height:28px;width:auto}
  .brand-text{font-size:18px;font-weight:700}
  .hamburger{display:inline-flex}
  .theme-toggle{display:inline-flex}
  body{padding-top:var(--hdr)}
}



/* v1.1.1 header spacing + visibility */
:root { --hdr:64px; }
@media (max-width:1024px){ :root{ --hdr:56px; } }

/* Ensure main content never sits under the fixed header */
.site-main{margin-top:var(--hdr) !important}
.post-header.container,.page .post-header.container{padding-top:8px}

/* Smooth in-page anchor navigation */
html{scroll-padding-top:calc(var(--hdr) + 8px)}

/* Guarantee header controls are visible on mobile */
@media (max-width:1024px){
  .hamburger{display:inline-flex !important; align-items:center; justify-content:center}
  .theme-toggle{display:inline-flex !important}
  .header-inner{height:var(--hdr) !important}
}



/* v1.1.2 MOBILE HEADER OVERRIDE (temporary debug styling) */
@media (max-width:1024px){
  body{margin:0 !important;padding-top:var(--hdr) !important}
  .site-header{display:block !important; position:fixed !important; top:0; left:0; right:0; z-index:100000;
    background:rgba(17,17,19,.96) !important; border-bottom:1px solid var(--border)}
  .header-inner{height:var(--hdr) !important; padding:0 12px !important; display:flex !important; align-items:center !important; justify-content:space-between !important}
  .brand,.brand-text,.brand a{display:flex !important; align-items:center; color:var(--text) !important; font-weight:700}
  .hamburger{display:inline-flex !important}
  .theme-toggle{display:inline-flex !important}
}



/* v1.1.3 mobile menu visibility + layering */
@media (max-width:1024px){
  .header-inner{position:relative; z-index:10000}
  .site-header{z-index:10001}
  /* Hide nav by default; show only when toggled */
  .site-nav{display:none; position:fixed; top:var(--hdr); left:0; right:0; bottom:0;
    background:var(--bg); padding:16px; overflow:auto; z-index:9998;
    box-shadow:0 4px 16px rgba(0,0,0,.2)}
  .site-nav.open{display:block}
  /* Backdrop below header, above content */
  .nav-backdrop{display:none; position:fixed; top:var(--hdr); left:0; right:0; bottom:0;
    background:rgba(0,0,0,.35); z-index:9997}
  body.nav-open .nav-backdrop{display:block}
  /* Ensure toggles are visible */
  #navToggle,.theme-toggle{display:inline-flex !important}
}



/* v1.1.4 light/dark polish */
.brand-text{color:var(--heading); font-weight:700}
:root[data-theme="dark"] .brand-text{color:var(--text)}
:root[data-theme="light"] .brand-text{color:var(--heading)}
.theme-toggle{border:1px solid var(--border); background:rgba(0,0,0,.03); color:var(--heading)}
:root[data-theme="dark"] .theme-toggle{background:rgba(255,255,255,.08); color:var(--text)}
.theme-toggle svg{fill:currentColor; stroke:none; opacity:.95}



/* v1.2.0 full-screen mobile overlay menu */
@media (max-width:1024px){
  /* Hide desktop nav row on mobile */
  .site-nav{display:none !important}

  /* Full overlay below the fixed header */
  .mobile-menu{display:none; position:fixed; inset:var(--hdr) 0 0 0; 
    background:var(--bg); -webkit-backdrop-filter:saturate(120%) blur(6px); backdrop-filter:saturate(120%) blur(6px);
    padding:20px clamp(16px, 4vw, 28px); overflow:auto; z-index:9998; border-top:1px solid var(--border)}
  .mobile-menu.open{display:block}

  .mobile-menu ul{list-style:none; margin:0; padding:0}
  .mobile-menu li{border-bottom:1px solid var(--border)}
  .mobile-menu li a{display:block; padding:14px 2px; font-size:18px; font-weight:600; color:var(--heading)}
  :root[data-theme="dark"] .mobile-menu li a{color:var(--text)}

  .mobile-cta{margin-top:18px; display:grid; gap:10px}
  .mobile-cta .btn.block{display:block; width:100%; text-align:center}
}



/* v1.2.1 menu robustness */
body.nav-open{ overflow:hidden }
.nav-backdrop{ display:none; position:fixed; inset:var(--hdr) 0 0 0; background:rgba(0,0,0,.35); z-index:9997 }
body.nav-open .nav-backdrop{ display:block }



/* v1.2.2 mobile overlay bulletproof */
@media (max-width:1024px){
  .mobile-menu{display:none !important; position:fixed; top:var(--hdr); left:0; right:0; bottom:0;
    background:var(--bg); padding:20px clamp(16px,4vw,28px); overflow:auto; z-index:9998}
  .mobile-menu.open{display:block !important; min-height:calc(100vh - var(--hdr));}
  .mobile-menu ul{list-style:none; margin:0; padding:0}
  .mobile-menu li a{display:block; padding:14px 2px; font-size:18px; font-weight:600; color:var(--heading)}
  :root[data-theme="dark"] .mobile-menu li a{color:var(--text)}
}



/* v1.2.4 hide header CTAs on narrow (overlay only) */
@media (max-width:1024px){
  .site-header .header-inner a[href="#/portal/signin"],
  .site-header .header-inner a[href*="/signin"],
  .site-header .header-inner a[href="#/portal/signup"],
  .site-header .header-inner a[href*="/signup"],
  .site-header .header-inner a[href="#/portal/account"],
  .site-header .header-inner .subscribe-button,
  .site-header .header-inner .member-cta,
  .site-header .header-inner .btn-primary,
  .site-header .header-inner .btn-outline { display:none !important; }
}


/* v1.2.4 overlay desktop guard */
@media (min-width:1025px){
  .mobile-menu{display:none !important}
}

/* v1.3.0 bootstrap-style */
.mobile-menu{display:none}
@media (max-width:991px){
  .site-nav{display:none !important}
  .mobile-menu{display:none !important; position:fixed; top:var(--hdr); left:0; right:0; bottom:0;
    background:var(--bg); padding:20px clamp(16px,4vw,28px); overflow:auto; z-index:9998; border-top:1px solid var(--border)}
  .mobile-menu.open{display:block !important}
  .mobile-menu-body ul{list-style:none; margin:0; padding:0}
  .mobile-menu-body li{border-bottom:1px solid var(--border)}
  .mobile-menu-body a{display:block; padding:14px 2px; font-size:18px; font-weight:600; color:var(--heading)}
  :root[data-theme="dark"] .mobile-menu-body a{color:var(--text)}
  /* Hide header CTAs in narrow header bar */
  .site-header .header-inner a[href="#/portal/signin"],
  .site-header .header-inner a[href*="/signin"],
  .site-header .header-inner a[href="#/portal/signup"],
  .site-header .header-inner a[href*="/signup"],
  .site-header .header-inner a[href="#/portal/account"],
  .site-header .header-inner .subscribe-button,
  .site-header .header-inner .member-cta,
  .site-header .header-inner .btn-primary,
  .site-header .header-inner .btn-outline { display:none !important; }
}
@media (min-width:992px){
  .mobile-menu{display:none !important}
  .site-nav{display:flex !important}
}


/* v1.3.1 topbar consistency + spacing + tags */

/* Consistent header colors */
:root[data-theme="light"] .site-header{
  background:rgba(244,243,238,.96);
  border-bottom:1px solid var(--border);
}
:root[data-theme="dark"] .site-header{
  background:rgba(18,20,23,.90);
  border-bottom:1px solid var(--border);
}
:root[data-theme="light"] .brand-text{ color:var(--heading); }
:root[data-theme="dark"] .brand-text{ color:var(--text); }

/* Theme toggle visual parity */
.theme-toggle{border:1px solid var(--border); background:rgba(0,0,0,.03); color:var(--heading)}
:root[data-theme="dark"] .theme-toggle{background:rgba(255,255,255,.08); color:var(--text)}

/* Narrow header background shouldn't bleed dark colors in light mode */
@media (max-width:991px){
  :root[data-theme="light"] .site-header{ background:rgba(244,243,238,.98); }
}

/* Tighter spacing from top bar to page/post titles */
.site-main{ margin-top: calc(var(--hdr) - 6px); } /* was full var(--hdr) */
@media (max-width:991px){
  .site-main{ margin-top: calc(var(--hdr) - 10px); }
}
.post-header.container, .page .post-header.container{ padding-top: 0; margin-top: 4px; }

/* Post tag spacing */
.tag-list, .post-tags, .post-card-tags{ display:flex; flex-wrap:wrap; gap:8px; }
.tag-list a, .post-tags a, .post-card-tags a{ padding:2px 8px; border-radius:999px; border:1px solid var(--border); }



/* v1.3.2 header light on narrow + toggle to right */
@media (max-width:991px){
  :root[data-theme="light"] .site-header{ background:#F4F3EE !important; border-bottom:1px solid var(--border) !important; }
  /* push toggle + hamburger to the right */
  .header-inner{display:flex; align-items:center}
  .header-inner .theme-toggle{ margin-left:auto; }
  .header-inner #navToggle{ margin-left:8px; }
}

/* Figure captions (Koenig) */
.kg-image-card figcaption,
.kg-gallery-card figcaption,
.kg-embed-card figcaption{ display:block; margin-top:8px; font-size:.95rem; color:var(--text-muted); text-align:center }
:root[data-theme="dark"] .kg-image-card figcaption,
:root[data-theme="dark"] .kg-gallery-card figcaption,
:root[data-theme="dark"] .kg-embed-card figcaption{ color:var(--text-secondary) }

/* Ensure caption vars exist */
:root{ --text-muted:#555; --text-secondary:#b9bec7; }
:root[data-theme="dark"]{ --text-muted:#9aa1aa; --text-secondary:#8f96a1; }



/* v1.4.0 post extras: toc, comment count, prev/next */
.comment-count{ color: var(--text); opacity:.85 }
.comment-count:hover{ opacity:1; text-decoration:underline }

.toc{ margin: 8px auto 16px; padding:12px 16px; border:1px solid var(--border); border-radius:12px; background:rgba(0,0,0,.02) }
:root[data-theme="dark"] .toc{ background:rgba(255,255,255,.03) }
.toc nav, .toc ul{ margin:0; padding-left:1rem }
.toc li{ margin:.25rem 0 }

.post-sibling-nav{ display:flex; justify-content:space-between; gap:16px; padding:24px 0 8px; border-top:1px solid var(--border); margin-top:32px }
.post-sibling-nav a{ display:flex; flex-direction:column; max-width:48%; padding:12px 14px; border:1px solid var(--border); border-radius:12px; background:rgba(0,0,0,.02) }
:root[data-theme="dark"] .post-sibling-nav a{ background:rgba(255,255,255,.03) }
.post-sibling-nav .kicker{ font-size:.8rem; text-transform:uppercase; letter-spacing:.04em; opacity:.7 }
.post-sibling-nav .title{ font-weight:700; line-height:1.3; margin-top:2px }
@media (max-width:640px){
  .post-sibling-nav{ flex-direction:column }
  .post-sibling-nav a{ max-width:100% }
}



/* v1.4.1 member CTA logic + spacing + feature captions */
.post-tags, .tag-list{ margin-bottom: 18px; }

.post-comments.container{ margin-top: 22px; }
.post-comments.container .comments{ margin-left: auto; margin-right: auto; }

.feature-image{ margin: 0 0 14px; }
.feature-image img{ width:100%; height:auto; border-radius:16px; }
.feature-image .feature-caption{ text-align:center; margin-top:8px; font-size:.95rem; color: var(--text-muted); }

/* Keep the header light on narrow when in light mode (reinforce) */
@media (max-width:991px){
  :root[data-theme="light"] .site-header{ background:#F4F3EE !important; }
  .header-inner{ gap: 8px; }
  .header-inner .brand-text{ margin-right:auto; }
  .header-inner .theme-toggle{ margin-left:auto; }
}



/* v1.4.5 iOS horizontal overflow fixes for comments */
html, body { overflow-x: hidden; }
.post-comments, .post-comments * { box-sizing: border-box; max-width: 100%; }
.post-comments .gh-comments, 
.post-comments .gh-comments-container,
.post-comments form,
.post-comments iframe { max-width: 100% !important; width: 100% !important; }
.post-comments .gh-input, 
.post-comments textarea { max-width: 100%; width: 100%; }
.post-comments .gh-btn { max-width: 100%; }
.post-content img, .kg-image-card img, .feature-image img { max-width: 100%; height: auto; }



/* v1.4.6 Global horizontal overflow fixes + Portal modal behavior */

/* Universal box-sizing to avoid width blowouts */
*, *::before, *::after { box-sizing: border-box; }

/* Guardrails on layout wrappers */
html, body { width:100%; max-width:100%; overflow-x:hidden; }
.site-header, .site-main, .site-footer { width:100%; max-width:100%; overflow-x:clip; }
.container { max-width:1200px; width:100%; margin-inline:auto; padding-inline: clamp(14px, 3vw, 24px); }

/* Post-specific clipping; prevents children (images/galleries/iframes) from pushing width */
.post, .post .container, .post-content, .post-content * { max-width:100%; }
.post, .post-content, .post-header, .post-sibling-nav { overflow-x:clip; }

/* Koenig cards + images */
.kg-card, .kg-embed-card, .kg-gallery-card, .kg-image-card { max-width:100%; overflow-x:clip; }
.kg-image-card img, .post-content img, .feature-image img { display:block; max-width:100%; width:100%; height:auto; }

/* Comments (Ghost Portal) */
.post-comments, .post-comments * { max-width:100%; }
.post-comments .gh-comments, .post-comments .gh-comments-container, .post-comments form, .post-comments iframe { width:100% !important; max-width:100% !important; }
.post-comments .gh-btn, .post-comments .gh-input, .post-comments textarea { max-width:100%; width:100%; }

/* Prevent background page from scrolling/jerking when Portal (profile / sign-in) is open */
html.gh-portal-open, body.gh-portal-open { overflow:hidden; overscroll-behavior:contain; }
.gh-portal-root { position:fixed; inset:0; }

/* iOS momentum scroll quirks */
.post-content, .post-comments { -webkit-overflow-scrolling: touch; }

/* Defensive fix for long words/urls in captions or comments */
.post-content, .post-comments, figcaption, .feature-caption { overflow-wrap:anywhere; word-break:break-word; }



/* v1.4.7 harden iOS overflow + portal modal */

/* Never allow horizontal scrolling */
html, body { overflow-x:hidden; width:100%; max-width:100%; position:relative; }

/* Core wrappers */
.site-header, .site-main, .site-footer, .container,
.post, .post-header, .post-content, .post-sibling-nav, .post-comments {
  width:100%; max-width:100%; overflow-x:hidden;
}

/* Koenig cards and common embeds */
.kg-card, .kg-embed-card, .kg-gallery-card, .kg-image-card,
.kg-bookmark-card, .kg-video-card, .kg-audio-card, .kg-product-card {
  max-width:100%; overflow-x:hidden;
}
.kg-embed-card iframe, .kg-video-card iframe, .kg-audio-card iframe,
.post-content iframe, .post-content video, .post-content audio {
  width:100% !important; max-width:100% !important; height:auto;
  display:block;
}

/* Long content elements */
.post-content pre, .post-content code, .post-content table {
  max-width:100%; overflow:auto; display:block;
}

/* Images defensive */
.post-content img, .feature-image img, .kg-image-card img {
  width:100% !important; max-width:100% !important; height:auto;
  display:block;
}

/* Ghost Comments/Portal (auth/profile) */
.post-comments .gh-comments, .post-comments .gh-comments-container, .post-comments form,
.post-comments .gh-btn, .post-comments .gh-input, .post-comments textarea {
  width:100% !important; max-width:100% !important;
}
/* Portal overlay */
html.gh-portal-open, body.gh-portal-open { overflow:hidden; }
.gh-portal-root { position:fixed; inset:0; width:100% !important; max-width:100% !important; }
.gh-portal-root * { max-width:100% !important; }

/* Edge case: avoid fractional pixel spill due to borders/shadows */
.container{ padding-left: max(14px, env(safe-area-inset-left)); padding-right:max(14px, env(safe-area-inset-right)); }



/* ---- Nav alignment tweak (1.4.8) ---- */
.header-inner{display:flex; align-items:center; justify-content:space-between;}
.site-nav{margin-left:auto;}
.site-nav ul{display:flex; gap:1.25rem; align-items:center; margin:0; padding:0; list-style:none;}
.site-nav a{white-space:nowrap;}
@media (max-width: 800px){
  .header-inner{justify-content:space-between;}
  .site-nav ul{gap:1rem;}
}


/* --- Social icons --- */
.socials{display:flex;gap:.65rem;align-items:center;margin:0;padding:0;list-style:none}
.socials a{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;
  border:1px solid var(--border); text-decoration:none; color: var(--heading); background:transparent;
  transition:transform .08s ease, border-color .2s ease, box-shadow .2s ease}
.socials svg{width:18px;height:18px}
.socials a:hover{transform:translateY(-1px);border-color:var(--orange); box-shadow:0 6px 18px rgba(0,0,0,.10)}
:root[data-theme="dark"] .socials a{border-color:rgba(255,255,255,.14);color:#eef2f6}
/* Header alignment helper */
.header-actions{margin-left:auto;display:flex;align-items:center;gap:.75rem}

/* Theme version in footer */
.theme-version{opacity:.5;font-size:.85em;margin-left:.35rem}
