/*
Theme Name: GoonRooms
Theme URI: https://goonrooms.com
Author: You
Description: Black background, neon-green, terminal-style theme built to match the GoonRooms directory. Requires the "GoonRooms Directory" plugin to be active for the room listings to appear.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: goonrooms
*/


@import url('https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

:root{
	--gt-bg:#0a0a0a;
	--gt-panel:#101010;
	--gt-green:#39ff6a;
	--gt-green-dim:#1fae46;
	--gt-white:#f2f2f2;
	--gt-gray:#8a8a8a;
	--gt-gray-dim:#555;
	--gt-red:#ff4444;
	--gt-border:#2a2a2a;
}

*{ box-sizing:border-box; }

html, body{
	background:var(--gt-bg);
	color:var(--gt-white);
	margin:0;
	font-family:'IBM Plex Mono', ui-monospace, monospace;
	line-height:1.5;
}

a{ color:var(--gt-green); text-decoration:none; }
a:hover{ text-decoration:underline; }

img{ max-width:100%; height:auto; }

/* Site header (appears above the directory on every page) */
.gt-site-header{
	max-width:640px;
	margin:0 auto;
	padding:18px 20px 0;
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:10px;
}
.gt-site-title{
	font-family:'Space Mono', monospace;
	font-weight:700;
	font-size:20px;
	color:var(--gt-white) !important;
	text-decoration:none !important;
	letter-spacing:1px;
}
.gt-site-title .gt-accent{ color:var(--gt-green); }

.gt-primary-menu{ list-style:none; display:flex; gap:16px; margin:0; padding:0; }
.gt-primary-menu a{
	color:var(--gt-gray) !important;
	text-decoration:none !important;
	font-size:13px;
	text-transform:uppercase;
	letter-spacing:1px;
}
.gt-primary-menu a:hover{ color:var(--gt-green) !important; }

main{ max-width:640px; margin:0 auto; padding:0 0 40px; }

/* Fallback styling for any page not built around the [goonrooms] shortcode
   (e.g. a blog post, search results, 404) so the theme stays consistent. */
.gt-basic-content{ padding:20px; }
.gt-basic-content h1, .gt-basic-content h2{ font-family:'Space Mono', monospace; }
.gt-basic-content article{
	border:1px solid var(--gt-border);
	background:var(--gt-panel);
	padding:16px;
	margin-bottom:16px;
}

.gt-site-footer{
	max-width:640px;
	margin:0 auto;
	padding:20px;
	text-align:center;
	color:var(--gt-gray-dim);
	font-size:11px;
}

.gt-missing-plugin{
	border:1.5px solid var(--gt-red);
	color:var(--gt-white);
	padding:16px;
	margin:20px;
	font-size:13px;
}
.gt-missing-plugin b{ color:var(--gt-red); }

/* --- Blog listing --- */
.gt-blog-title{
	font-family:'Space Mono', monospace;
	padding:20px 20px 0;
	margin:0;
	font-size:24px;
}
.gt-blog-list{ padding:0 20px; }
.gt-blog-card{
	border:1px solid var(--gt-border);
	background:var(--gt-panel);
	margin:16px 0;
	overflow:hidden;
}
.gt-blog-thumb{ display:block; }
.gt-blog-thumb img{ display:block; width:100%; }
.gt-blog-card-body{ padding:16px; }
.gt-blog-card-title{
	font-family:'Space Mono', monospace;
	font-size:18px;
	margin:0 0 6px;
}
.gt-blog-card-title a{ color:var(--gt-white); }
.gt-blog-card-title a:hover{ color:var(--gt-green); }
.gt-blog-meta{ color:var(--gt-gray-dim); font-size:12px; margin:0 0 10px; }
.gt-blog-excerpt{ color:var(--gt-gray); font-size:14px; margin:0 0 10px; }
.gt-blog-readmore{ font-size:13px; font-weight:700; }
.gt-blog-empty{ padding:0 20px; color:var(--gt-gray-dim); }

.gt-blog-pagination{ display:flex; gap:8px; flex-wrap:wrap; margin-top:20px; }
.gt-blog-pagination a, .gt-blog-pagination span{
	border:1px solid var(--gt-border);
	padding:8px 12px;
	font-size:13px;
	color:var(--gt-white);
}
.gt-blog-pagination a:hover{ border-color:var(--gt-green); color:var(--gt-green); }
.gt-blog-pagination .current{ background:var(--gt-green); color:#000; border-color:var(--gt-green); font-weight:700; }

/* --- Single post --- */
.gt-single-post{ padding:20px; }
.gt-single-title{ font-family:'Space Mono', monospace; margin:0 0 6px; font-size:26px; }
.gt-single-thumb{ margin:16px 0; }
.gt-single-thumb img{ display:block; width:100%; }
.gt-single-content{ font-size:15px; line-height:1.7; }
.gt-single-content p{ margin:0 0 1em; }
.gt-back-link{ padding:0 20px 30px; font-size:13px; }

/* --- Homepage: Latest Guides section (shown beside the header on desktop) --- */
.gt-home-guides{ padding:0; border-left:1px solid var(--gt-border); padding-left:28px; }
.gt-home-guides-head{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:14px; }
.gt-home-guides-head h2{ font-family:'Space Mono', monospace; font-size:16px; margin:0; }
.gt-home-guides-viewall{ font-size:12px; font-weight:700; }
.gt-home-guides-grid{ display:flex; flex-direction:column; gap:10px; }
.gt-home-guide-card{
	display:flex; gap:10px; align-items:center;
	border:1px solid var(--gt-border);
	background:var(--gt-panel);
	color:var(--gt-white) !important;
	text-decoration:none !important;
	overflow:hidden;
	padding:6px;
}
.gt-home-guide-card:hover{ border-color:var(--gt-green); }
.gt-home-guide-thumb{ flex:none; width:64px; height:48px; display:block; background:repeating-linear-gradient(45deg,#151515,#151515 10px,#0d0d0d 10px,#0d0d0d 20px); }
.gt-home-guide-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.gt-home-guide-title{ padding:0; font-size:12px; font-weight:700; line-height:1.3; }
.gt-home-guide-date{ padding:0; font-size:11px; color:var(--gt-gray-dim); }
@media (max-width: 900px) {
	.gt-home-guides{ border-left:0; padding-left:0; border-top:1px solid var(--gt-border); padding-top:16px; margin-top:14px; }
}

.alignwide{ max-width:900px; margin-left:auto; margin-right:auto; }
.alignfull{ max-width:none; }
