/* /stylesheets/style.css */
* {
	box-sizing: border-box;
}
img {
	max-width: 100%;
	height: auto;
	display: inline-block;
}
.thumb-rounded {
	max-width: 300px; /* or whatever size you want */
	margin: 5px;
	vertical-align: middle;
	border-radius: 8px;
	float: left;
}
/* On small screens, stop floating the image */
@media (max-width: 600px) {
	.thumb-rounded {
float: none;
display: block;
margin: 0 auto 10px;
	}
}
body, p, div {
	overflow-wrap: break-word;
	word-break: break-word;
}
html {
	will-change: transform;
}
body {
	transform: translateZ(0);
}
/* New layout */
.page-body {
	padding: 15px;
}
.page-wrapper {
	width: 100%;
	padding: 0;
}
.page-inner {
	max-width: 1300px;
	margin: 0 auto;
}
.post-content {
	max-width: 1200px;
	margin: 0 auto;
}
.site-header {
	text-align: left;
}
.header-img {
	vertical-align: middle;
	max-width: 100%;
	height: auto;
}
.header-flex {
	display: flex;
	align-items: center;
	gap: 10px;
}
@media (max-width: 600px) {
	.header-flex {
flex-direction: column;
text-align: center;
	}
	.header-left,
	.header-right {
width: 80%;
max-width: 300px;
	}
}

.nav-icons img {
    vertical-align: middle;
    margin-right: 6px;
    width: 70px;   /* desktop base size */
    height: auto;
}
@media (max-width: 600px) {
    .nav-icons img {
        width: 50px;   /* mobile base size */
    }
}
.nav-icons img.icon-contact {
    width: 90px;   /* or 60px if you want it a bit smaller */
}

@media (max-width: 600px) {
    .nav-icons img.icon-contact {
        width: 80px;   /* or 40px */
    }
}

.top-nav-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
h1 {
	margin-bottom: 0.25em; /* tighten as needed */
}
.byline-ad-row h4 {
	margin-top: 0;
	margin-bottom: 0.25em; /* or 0 */
}
.byline-ad-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
}
.byline-block {
	flex: 1 1 0;
	min-width: 0;
}
.ad-wrapper {
	flex: 0 0 auto;
	max-width: 320px;
}
/* Desktop: let the ad keep its natural size */
.adsbygoogle {
	display: block !important;
}
/* Mobile: prevent takeover */
@media (max-width: 600px) {
	.adsbygoogle {
max-width: 100% !important;
width: 100% !important;
height: auto !important;
	}
}
@media (max-width: 600px) {
	.ad-wrapper {
max-width: 100%;
	}
}
.comments p {
	margin-bottom: 4px;
}
.comments hr {
	margin: 10px 0;
}
.media-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr); /* four columns */
	gap: 10px; /* spacing between images */
	margin: 10px 0;
}
.media-grid img {
	width: 100%;
	height: auto;
	border-radius: 4px;
}
.three-col {
    gap: 20px;
    justify-content: space-between;
    align-items: flex-start;
    margin: 0 auto;
    max-width: 1200px; /* tighten margins */
    padding: 0 10px;
}
.three-col .col {
    flex: 1;
    min-width: 250px; /* prevents collapsing */
}
@media (max-width: 900px) {
    .three-col {
        flex-direction: column;
    }
}
/* --- BASIC RESET --- */
* { box-sizing: border-box; }
body, html { margin: 10px; padding: 10px; }
body {
	font-family: Verdana, Geneva, sans-serif;
	font-size: 16px;
	line-height: 1.45;
	color: #222;
}
h1, h2, h3 {
	font-family: Verdana, Geneva, sans-serif;
	font-weight: bold;
	margin-top: 0.5em;
	margin-bottom: 0.35em;
}
h1 { font-size: 1.6rem; }
h2 { font-size: 1.3rem; }
h3 { font-size: 1.15rem; }
p {
	margin-top: 0.4em;
	margin-bottom: 0.8em;
}
/* --- PAGE WRAPPER --- */
.page-body { padding: 15px; }
.page-inner {
	max-width: 1300px;
	margin: 0 auto;
}
/* --- THREE COLUMN LAYOUT --- */
.three-col {
	display: flex !important;
	flex-direction: row !important;
	justify-content: space-between;
	align-items: flex-start;
	gap: 20px;
	max-width: 1300px;
	margin: 0 auto;
	padding: 0 10px;
	border: 2px solid #ddd; /* visual debugging */
}
.col {
	flex: 1 1 0 !important;
	min-width: 250px !important;
	background: #fafafa;
	padding: 10px;
	border: 1px solid #ccc; /* visual debugging */
}
/* Prevent rogue floats/clears from breaking columns */
.col * {
	float: none !important;
	clear: none !important;
	max-width: 100% !important;
}
/* --- MOBILE STACKING --- */
@media (max-width: 900px) {
	.three-col {
		flex-direction: column !important;
	}
}
a {
	text-decoration: none;
	color: inherit; /* optional: keeps link color same as text */
}
a:hover {
	text-decoration: underline; /* or remove this line if you want no underline ever */
}
.post-item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 12px;
}
.post-item img.thumb-rounded {
	flex-shrink: 0;
}
/* HAMBURGER BUTTON (mobile only) */
.mobile-menu-button {
	display: none;
	position: fixed;
	top: 10px;
	right: 12px;
	font-size: 32px;
	cursor: pointer;
	z-index: 9999;
}
/* SLIDE-DOWN PANEL */
.mobile-menu-panel {
	display: none;
	position: fixed;
	top: 50px;
	right: 10px;
	background: #fff;
	border: 2px solid #444;
	padding: 12px;
	z-index: 9998;
	width: 70%;
	max-width: 260px;
	box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}
.mobile-menu-panel a {
	display: block;
	padding: 8px 0;
	font-size: 18px;
	color: #333;
	text-decoration: none;
}
.mobile-menu-panel a:hover {
	text-decoration: underline;
}
/* MOBILE ONLY */
@media (max-width: 600px) {
	.mobile-menu-button {
	display: block;
	}
}
/* Default: desktop visible, mobile hidden */
.header-mobile {
    display: none;
}
.header-desktop {
    display: block;
}
/* Mobile: show mobile header, hide desktop header */
@media (max-width: 600px) {
    .header-mobile {
        display: block !important;
    }
    .header-desktop {
        display: none !important;
    }
}
